Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/07/13 01:20:12 (11 years ago)
Author:
jhelm
Message:

#1966: More refactoring; Added more sophisticated structures for packing-plan and bin-packing representation; Transferred parts of the decoding-algorithms to these structures; Did some more refactoring and cleanup;

Location:
branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Decoders/3D/DBL
Files:
1 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Decoders/3D/DBL/DeepestBottomLeftGroupingVectorDecoder.cs

    r9593 r9596  
    3838
    3939namespace HeuristicLab.Problems.BinPacking.Decoders {
    40   [Item("Identical bin three dimensional direct grouping vector decoder", "<Description missing...>")]
     40  [Item("Identical bin, three dimensional, GroupingVector-decoder", "<Description missing...>")]
    4141  [StorableClass]
    42   public class DeepestBottomLeftGroupingVectorDecoder : PackingSolutionDecoder<
    43       ThreeDimensionalPacking,
    44       CuboidPackingBin,
    45       CuboidPackingItem>, I3DGVDecoder {
    46 
    47     public DeepestBottomLeftGroupingVectorDecoder()
    48       : base() {
    49         //EncodedSolutionParameter.ActualName = "EncodedSolution";
    50     }
     42  public class DeepestBottomLeftGroupingVectorDecoder : PackingSolutionDecoder<ThreeDimensionalPacking, CuboidPackingBin, CuboidPackingItem>, I3DGVDecoder {
     43    public DeepestBottomLeftGroupingVectorDecoder() : base() {}
    5144    [StorableConstructor]
    5245    protected DeepestBottomLeftGroupingVectorDecoder(bool deserializing) : base(deserializing) { }
     
    5851    }
    5952
    60 
    6153    public override PackingPlan<ThreeDimensionalPacking, CuboidPackingBin, CuboidPackingItem> CreatePackingPlanFromEncoding(IItem encodedSolution, CuboidPackingBin binMeasures, ItemList<CuboidPackingItem> itemMeasures) {
    62 
    6354      var solution = encodedSolution as GroupingVectorEncoding;
    6455      if (solution == null) throw new InvalidOperationException("Encoding is not of type GroupingVector");
    65 
    66       PackingPlan<ThreeDimensionalPacking, CuboidPackingBin, CuboidPackingItem> result = new PackingPlan<ThreeDimensionalPacking, CuboidPackingBin, CuboidPackingItem>(binMeasures);
    67 
    68       result.BinPackings = ThreeDimensionalPackingFunctions.DeepestLeftBottomPacking(solution, binMeasures, itemMeasures);
    69 
     56      PackingPlan3D result = new PackingPlan3D(binMeasures);
     57      result.Pack(solution, itemMeasures);
    7058      return result;
    7159    }
  • branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Decoders/3D/DBL/DeepestBottomLeftMultiComponentVectorDecoder.cs

    r9593 r9596  
    3939
    4040namespace HeuristicLab.Problems.BinPacking.Decoders {
    41   [Item("Identical bin three dimensional multi component vector decoder", "<Description missing...>")]
     41  [Item("Identical bin, three dimensional, MultiComponentVector-decoder", "<Description missing...>")]
    4242  [StorableClass]
    43   public class DeepestBottomLeftMultiComponentVectorDecoder : PackingSolutionDecoder<
    44       ThreeDimensionalPacking,
    45       CuboidPackingBin,
    46       CuboidPackingItem>, I3DMCVDecoder {
    47 
    48     public DeepestBottomLeftMultiComponentVectorDecoder()
    49       : base() {
    50         //EncodedSolutionParameter.ActualName = "EncodedSolution";
    51     }
     43  public class DeepestBottomLeftMultiComponentVectorDecoder : PackingSolutionDecoder<ThreeDimensionalPacking, CuboidPackingBin, CuboidPackingItem>, I3DMCVDecoder {
     44    public DeepestBottomLeftMultiComponentVectorDecoder() : base() { }
    5245    [StorableConstructor]
    5346    protected DeepestBottomLeftMultiComponentVectorDecoder(bool deserializing) : base(deserializing) { }
     
    5952    }
    6053
    61 
    6254    public override PackingPlan<ThreeDimensionalPacking, CuboidPackingBin, CuboidPackingItem> CreatePackingPlanFromEncoding(IItem encodedSolution, CuboidPackingBin binMeasures, ItemList<CuboidPackingItem> itemMeasures) {
    63 
    6455      var solution = encodedSolution as MultiComponentVectorEncoding;
    6556      if (solution == null) throw new InvalidOperationException("Encoding is not of type MultiComponent Vector");
    66 
    67       PackingPlan<ThreeDimensionalPacking, CuboidPackingBin, CuboidPackingItem> result =
    68         new PackingPlan<ThreeDimensionalPacking, CuboidPackingBin, CuboidPackingItem>(binMeasures);
    69 
    70       result.BinPackings = ThreeDimensionalPackingFunctions.DeepestLeftBottomPacking(solution, binMeasures, itemMeasures);
    71 
     57      PackingPlan3D result = new PackingPlan3D(binMeasures);
     58      result.Pack(solution, itemMeasures);
    7259      return result;
    7360    }
  • branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Decoders/3D/DBL/DeepestBottomLeftPackingSequenceDecoder.cs

    r9593 r9596  
    3838
    3939namespace HeuristicLab.Problems.BinPacking.Decoders {
    40   [Item("Identical bin, three dimensional, direct permutation decoder", "<Description missing...>")]
     40  [Item("Identical bin, three dimensional, PackingSequence-decoder", "<Description missing...>")]
    4141  [StorableClass]
    42   public class DeepestBottomLeftPackingSequenceDecoder : PackingSolutionDecoder<
    43       ThreeDimensionalPacking,
    44       CuboidPackingBin,
    45       CuboidPackingItem>, I3DPSDecoder {
    46 
    47     public DeepestBottomLeftPackingSequenceDecoder()
    48       : base() {
    49         //EncodedSolutionParameter.ActualName = "EncodedSolution";
    50     }
     42  public class DeepestBottomLeftPackingSequenceDecoder : PackingSolutionDecoder<ThreeDimensionalPacking, CuboidPackingBin, CuboidPackingItem>, I3DPSDecoder {
     43    public DeepestBottomLeftPackingSequenceDecoder(): base() {}
    5144    [StorableConstructor]
    5245    protected DeepestBottomLeftPackingSequenceDecoder(bool deserializing) : base(deserializing) { }
     
    5851    }
    5952
    60 
    6153    public override PackingPlan<ThreeDimensionalPacking, CuboidPackingBin, CuboidPackingItem> CreatePackingPlanFromEncoding(IItem encodedSolution, CuboidPackingBin binMeasures, ItemList<CuboidPackingItem> itemMeasures) {
    62 
    6354      var solution = encodedSolution as PackingSequenceEncoding;
    6455      if (solution == null) throw new InvalidOperationException("Encoding is not of type PackingSequence");
    65 
    66       PackingPlan<ThreeDimensionalPacking, CuboidPackingBin, CuboidPackingItem> result =
    67         new PackingPlan<ThreeDimensionalPacking, CuboidPackingBin, CuboidPackingItem>(binMeasures);
    68 
    69       result.BinPackings = ThreeDimensionalPackingFunctions.DeepestLeftBottomPacking(solution, binMeasures, itemMeasures);
    70 
     56      PackingPlan3D result = new PackingPlan3D(binMeasures);
     57      result.Pack(solution, itemMeasures);
    7158      return result;
    7259    }
Note: See TracChangeset for help on using the changeset viewer.