Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/19/12 17:33:28 (13 years ago)
Author:
abeham
Message:

#1614: Worked on GQAP

Location:
branches/GeneralizedQAP/HeuristicLab.Problems.GeneralizedQuadraticAssignment/3.3
Files:
4 added
3 edited

Legend:

Unmodified
Added
Removed
  • branches/GeneralizedQAP/HeuristicLab.Problems.GeneralizedQuadraticAssignment/3.3/GeneralizedQuadraticAssignmentProblem.cs

    r7319 r7373  
    3636  [Creatable("Problems")]
    3737  [StorableClass]
    38   public sealed class GeneralizedQuadraticAssignmentProblem : SingleObjectiveHeuristicOptimizationProblem<IGQAPEvaluator, IIntegerVectorCreator>, IStorableContent {
     38  public sealed class GeneralizedQuadraticAssignmentProblem : SingleObjectiveHeuristicOptimizationProblem<IGQAPEvaluator, IGQAPSolutionCreator>, IStorableContent {
    3939    public override Image ItemImage {
    4040      get { return HeuristicLab.Common.Resources.VSImageLibrary.Type; }
     
    109109    }
    110110    public GeneralizedQuadraticAssignmentProblem()
    111       : base(new GQAPEvaluator(), new UniformRandomIntegerVectorCreator()) {
     111      : base(new GQAPEvaluator(), new RandomSolutionCreator()) {
    112112      Parameters.Add(new ValueParameter<DoubleMatrix>("Weights", "The weights matrix describes the flows between the equipments.", new DoubleMatrix()));
    113113      Parameters.Add(new ValueParameter<DoubleMatrix>("Distances", "The distances matrix describes the distances between the locations at which the equipment can be installed.", new DoubleMatrix()));
     
    146146      Capacities[0] = 4; Capacities[1] = 1; Capacities[2] = 4;
    147147
    148       SolutionCreator.IntegerVectorParameter.ActualName = "Assignment";
     148      SolutionCreator.AssignmentParameter.ActualName = "Assignment";
    149149      Parameterize();
    150150
     
    184184    [StorableHook(HookType.AfterDeserialization)]
    185185    private void AfterDeserializationHook() {
    186       // BackwardsCompatibility3.3
    187       #region Backwards compatible code, remove with 3.4
    188       if (!Parameters.ContainsKey("EquipmentNames"))
    189         Parameters.Add(new OptionalValueParameter<StringArray>("EquipmentNames", "Optional: A list of names that describes the equipments.", null, false));
    190       if (!Parameters.ContainsKey("LocationNames"))
    191         Parameters.Add(new OptionalValueParameter<StringArray>("LocationNames", "Optional: A list of names that describes the locations.", null, false));
    192       #endregion
    193186      AttachEventHandlers();
    194187    }
     
    196189    private void AttachEventHandlers() {
    197190      Evaluator.QualityParameter.ActualNameChanged += new System.EventHandler(Evaluator_QualityParameter_ActualNameChanged);
    198       SolutionCreator.IntegerVectorParameter.ActualNameChanged += new EventHandler(SolutionCreator_IntegerVectorParameter_ActualNameChanged);
     191      SolutionCreator.AssignmentParameter.ActualNameChanged += new EventHandler(SolutionCreator_IntegerVectorParameter_ActualNameChanged);
    199192    }
    200193
     
    214207      Evaluator.DemandsParameter.ActualName = DemandsParameter.Name;
    215208      Evaluator.CapacitiesParameter.ActualName = CapacitiesParameter.Name;
    216       Evaluator.AssignmentParameter.ActualName = SolutionCreator.IntegerVectorParameter.ActualName;
    217 
    218       SolutionCreator.LengthParameter.Value = new IntValue(Demands.Length);
    219       SolutionCreator.MinimumParameter.Value = new IntValue(0);
    220       SolutionCreator.MaximumParameter.Value = new IntValue(Capacities.Length);
     209      Evaluator.AssignmentParameter.ActualName = SolutionCreator.AssignmentParameter.ActualName;
     210
     211      SolutionCreator.DemandsParameter.ActualName = DemandsParameter.Name;
     212      SolutionCreator.CapacitiesParameter.ActualName = CapacitiesParameter.Name;
    221213
    222214      foreach (var op in Operators.OfType<IIntegerVectorCrossover>()) {
    223         op.ParentsParameter.ActualName = SolutionCreator.IntegerVectorParameter.ActualName;
    224         op.ChildParameter.ActualName = SolutionCreator.IntegerVectorParameter.ActualName;
     215        op.ParentsParameter.ActualName = SolutionCreator.AssignmentParameter.ActualName;
     216        op.ChildParameter.ActualName = SolutionCreator.AssignmentParameter.ActualName;
    225217      }
    226218      foreach (var op in Operators.OfType<IIntegerVectorManipulator>()) {
    227         op.IntegerVectorParameter.ActualName = SolutionCreator.IntegerVectorParameter.ActualName;
     219        op.IntegerVectorParameter.ActualName = SolutionCreator.AssignmentParameter.ActualName;
    228220      }
    229221      foreach (var op in Operators.OfType<IGQAPCrossover>()) {
    230         op.ParentsParameter.ActualName = SolutionCreator.IntegerVectorParameter.ActualName;
    231         op.ChildParameter.ActualName = SolutionCreator.IntegerVectorParameter.ActualName;
     222        op.ParentsParameter.ActualName = SolutionCreator.AssignmentParameter.ActualName;
     223        op.ChildParameter.ActualName = SolutionCreator.AssignmentParameter.ActualName;
    232224      }
    233225      foreach (var op in Operators.OfType<IGQAPManipulator>()) {
    234         op.IntegerVectorParameter.ActualName = SolutionCreator.IntegerVectorParameter.ActualName;
     226        op.IntegerVectorParameter.ActualName = SolutionCreator.AssignmentParameter.ActualName;
    235227      }
    236228      foreach (var op in Operators.OfType<ILocationAwareGQAPOperator>()) {
    237229        op.CapacitiesParameter.ActualName = CapacitiesParameter.Name;
    238230      }
    239       foreach (var op in Operators.OfType<IEquipmentAwareGQAPManipulator>()) {
     231      foreach (var op in Operators.OfType<IEquipmentAwareGQAPOperator>()) {
    240232        op.DemandsParameter.ActualName = DemandsParameter.Name;
    241233      }
     
    245237        BestSolutionAnalyzer.DistancesParameter.ActualName = DistancesParameter.Name;
    246238        BestSolutionAnalyzer.WeightsParameter.ActualName = WeightsParameter.Name;
    247         BestSolutionAnalyzer.AssignmentParameter.ActualName = SolutionCreator.IntegerVectorParameter.ActualName;
     239        BestSolutionAnalyzer.AssignmentParameter.ActualName = SolutionCreator.AssignmentParameter.ActualName;
    248240        BestSolutionAnalyzer.ResultsParameter.ActualName = "Results";
    249241        BestSolutionAnalyzer.BestKnownQualityParameter.ActualName = BestKnownQualityParameter.Name;
  • branches/GeneralizedQAP/HeuristicLab.Problems.GeneralizedQuadraticAssignment/3.3/Interfaces/IEquipmentAwareGQAPOperator.cs

    r7319 r7373  
    2424
    2525namespace HeuristicLab.Problems.GeneralizedQuadraticAssignment {
    26   public interface IEquipmentAwareGQAPManipulator : IGQAPManipulator {
     26  public interface IEquipmentAwareGQAPOperator : IGQAPOperator {
    2727    ILookupParameter<DoubleArray> DemandsParameter { get; }
    2828  }
  • branches/GeneralizedQAP/HeuristicLab.Problems.GeneralizedQuadraticAssignment/3.3/Operators/DemandEquivalentSwapEquipmentManipluator.cs

    r7319 r7373  
    3434  [Item("DemandEquivalentSwapEquipmentManipluator", "Swaps equipment X from location A with as much equipments from location B that the demand of X is less than or equal to the demand of the swapped equipments in B.")]
    3535  [StorableClass]
    36   public class DemandEquivalentSwapEquipmentManipluator : GQAPManipulator, ILocationAwareGQAPOperator, IEquipmentAwareGQAPManipulator {
    37    
     36  public class DemandEquivalentSwapEquipmentManipluator : GQAPManipulator, ILocationAwareGQAPOperator, IEquipmentAwareGQAPOperator {
     37
    3838    public ILookupParameter<DoubleArray> CapacitiesParameter {
    3939      get { return (ILookupParameter<DoubleArray>)Parameters["Capacities"]; }
Note: See TracChangeset for help on using the changeset viewer.