Changeset 9593 for branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Decoders/3D/EP/ExtremePointMultiComponentVectorDecoder3D.cs
- Timestamp:
- 06/06/13 03:12:42 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Decoders/3D/EP/ExtremePointMultiComponentVectorDecoder3D.cs
r9563 r9593 38 38 using HeuristicLab.Encodings.PackingEncoding.GroupingVector; 39 39 using HeuristicLab.Encodings.PackingEncoding.MultiComponentVector; 40 using HeuristicLab.Parameters; 40 41 41 42 namespace HeuristicLab.Problems.BinPacking.Decoders { … … 47 48 CuboidPackingItem>, I3DMCVDecoder { 48 49 50 public ValueParameter<BoolValue> StackingConstraintsParameter { 51 get { return (ValueParameter<BoolValue>)Parameters["StackingConstraint"]; } 52 } 53 49 54 public ExtremePointMultiComponentVectorDecoder3D () 50 55 : base() { 56 Parameters.Add(new ValueParameter<BoolValue>("StackingConstraint", "A flag determining whether stackingconstraints should be enforced or not.")); 51 57 } 52 58 [StorableConstructor] … … 59 65 } 60 66 61 public static PackingPlan<ThreeDimensionalPacking, CuboidPackingBin, CuboidPackingItem> Decode(MultiComponentVectorEncoding solution, CuboidPackingBin binMeasures, ItemList<CuboidPackingItem> itemMeasures ) {67 public static PackingPlan<ThreeDimensionalPacking, CuboidPackingBin, CuboidPackingItem> Decode(MultiComponentVectorEncoding solution, CuboidPackingBin binMeasures, ItemList<CuboidPackingItem> itemMeasures, bool stackingConstraints) { 62 68 PackingPlan<ThreeDimensionalPacking, CuboidPackingBin, CuboidPackingItem> result = 63 new PackingPlan<ThreeDimensionalPacking, CuboidPackingBin, CuboidPackingItem>(binMeasures , itemMeasures);69 new PackingPlan<ThreeDimensionalPacking, CuboidPackingBin, CuboidPackingItem>(binMeasures); 64 70 65 result. PackingItemPositions = ExtremePointsFunctions3D.ExtremePointBasedPacking(ref solution, itemMeasures, binMeasures);71 result.BinPackings = ThreeDimensionalPackingFunctions.ExtremePointBasedPacking(solution, itemMeasures, binMeasures, stackingConstraints); 66 72 67 73 return result; … … 73 79 if (solution == null) throw new InvalidOperationException("Encoding is not of type MultiComponentVector"); 74 80 75 return Decode(solution, binMeasures, itemMeasures );81 return Decode(solution, binMeasures, itemMeasures, StackingConstraintsParameter.Value.Value); 76 82 } 77 83 }
Note: See TracChangeset
for help on using the changeset viewer.