Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/04/13 17:51:14 (12 years ago)
Author:
jhelm
Message:

#1966: Implemented new encoding (MultiComponentVector/MCV); Implemented move-operators for MCV and GV encodings; Implemented new decoding-methods for PS, GV and MCV encodings (ExtremePoint-based packing);

Location:
branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Problem
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Problem/BinPackingProblem.cs

    r9348 r9440  
    3131using HeuristicLab.Common;
    3232using HeuristicLab.Parameters;
    33 using HeuristicLab.Problems.BinPacking.PackingPlans;
     33using HeuristicLab.Encodings.PackingEncoding.PackingPlan;
    3434using HeuristicLab.Problems.BinPacking.Evaluators;
    3535using HeuristicLab.Problems.BinPacking.Analyzers;
  • branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Problem/CuboidIdenticalBinPackingProblem.cs

    r9348 r9440  
    4343using HeuristicLab.Encodings.PackingEncoding.GroupingVector;
    4444using HeuristicLab.Problems.Instances;
     45using HeuristicLab.Encodings.PackingEncoding.MultiComponentVector;
    4546
    4647namespace HeuristicLab.Problems.BinPacking.Problem {
     
    119120    protected override void InitializeDecoder() {
    120121      if (SolutionCreator is PackingSequenceRandomCreator) {
    121         PackingSolutionDecoder = new ThreeDimensionalBottomLeftPackingSequenceDecoder();
     122        PackingSolutionDecoder = new ExtremePointPackingSequenceDecoder3D();
    122123      } else if (SolutionCreator is GroupingVectorRandomCreator) {
    123         PackingSolutionDecoder = new ThreeDimensionalBottomLeftGroupingVectorDecoder();
     124        PackingSolutionDecoder = new ExtremePointGroupingVectorDecoder3D();
     125      } else if (SolutionCreator is MultiComponentVectorRandomCreator) {
     126        PackingSolutionDecoder = new ExtremePointMultiComponentVectorDecoder3D();
    124127      } else {
    125128        string error = "The given problem does not support the selected solution-creator.";
  • branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Problem/RectangularIdenticalBinPackingProblem.cs

    r9348 r9440  
    3939using HeuristicLab.Data;
    4040using HeuristicLab.Problems.BinPacking.Decoders;
    41 using HeuristicLab.Problems.BinPacking.PackingPlans;
     41using HeuristicLab.Encodings.PackingEncoding.PackingPlan;
    4242using HeuristicLab.Encodings.PackingEncoding.PackingSequence;
    4343using HeuristicLab.Encodings.PackingEncoding.GroupingVector;
    4444using HeuristicLab.Problems.Instances;
     45using HeuristicLab.Encodings.PackingEncoding.MultiComponentVector;
    4546
    4647namespace HeuristicLab.Problems.BinPacking.Problem {
     
    114115    protected override void InitializeDecoder() {
    115116      if (SolutionCreator is PackingSequenceRandomCreator) {
    116         PackingSolutionDecoder = new TwoDimensionalBottomLeftPackingSequenceDecoder();
     117        PackingSolutionDecoder = new ExtremePointPackingSequenceDecoder2D();
    117118      } else if (SolutionCreator is GroupingVectorRandomCreator) {
    118         PackingSolutionDecoder = new TwoDimensionalBottomLeftGroupingVectorDecoder();
     119        PackingSolutionDecoder = new ExtremePointGroupingVectorDecoder2D();
     120      } else if (SolutionCreator is MultiComponentVectorRandomCreator) {
     121        PackingSolutionDecoder = new ExtremePointMultiComponentVectorDecoder2D();
    119122      } else {
    120123        string error = "The given problem does not support the selected solution-creator.";
  • branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Problem/RegularIdenticalBinPackingProblem.cs

    r9348 r9440  
    3636using HeuristicLab.PluginInfrastructure;
    3737using HeuristicLab.Data;
    38 using HeuristicLab.Problems.BinPacking.PackingPlans;
     38using HeuristicLab.Encodings.PackingEncoding.PackingPlan;
    3939using HeuristicLab.Problems.BinPacking.Analyzers;
    4040using HeuristicLab.Encodings.PackingEncoding.PackingSequence;
     
    4242using HeuristicLab.Encodings.PackingEncoding.GroupingVector;
    4343using HeuristicLab.Problems.Instances;
     44using HeuristicLab.Encodings.PackingEncoding.MultiComponentVector;
    4445
    4546namespace HeuristicLab.Problems.BinPacking.Problem {
     
    7980    }
    8081
    81     protected RegularIdenticalBinPackingProblem(IPackingPlanEvaluationAlgorithm e) : this(e, new GroupingVectorRandomCreator()) { }
     82    protected RegularIdenticalBinPackingProblem(IPackingPlanEvaluationAlgorithm e) : this(e, new MultiComponentVectorRandomCreator()) { }
    8283    protected RegularIdenticalBinPackingProblem(IPackingPlanEvaluationAlgorithm e, IPackingSolutionCreator c)
    8384      : base(e, c) {
     
    134135        Operators.AddRange(ApplicationManager.Manager.GetInstances<IGroupingVectorOperator>());
    135136        InitializeDecoder();
     137      } else if (SolutionCreator.GetType() == typeof(MultiComponentVectorRandomCreator)) {
     138        Operators.AddRange(ApplicationManager.Manager.GetInstances<IMultiComponentVectorOperator>());
     139        InitializeDecoder();
    136140      }
    137141    }
     
    192196      if (PackingSolutionDecoder != null) PackingSolutionDecoder.PackingPlanParameter.ActualNameChanged += PackingSolutionDecoder_PackingPlanParameter_ActualNameChanged;
    193197    }
     198
    194199    #endregion
    195200
Note: See TracChangeset for help on using the changeset viewer.