- Timestamp:
- 07/12/16 18:23:13 (8 years ago)
- Location:
- branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/BinPacking3D.cs
r14038 r14045 27 27 using HeuristicLab.Common; 28 28 using HeuristicLab.Problems.BinPacking.Dimensions; 29 using HeuristicLab.Problems.BinPacking. PackingBin;29 using HeuristicLab.Problems.BinPacking.Shapes; 30 30 31 31 namespace HeuristicLab.Encodings.PackingEncoding.PackingPlan { 32 32 [Item("BinPacking3D", "Represents a single-bin packing for a 3D bin-packing problem.")] 33 33 [StorableClass] 34 public class BinPacking3D : BinPacking<ThreeDimensionalPacking, CuboidPacking Bin, CuboidPackingItem> {35 36 public BinPacking3D(CuboidPacking BinbinMeasures)34 public class BinPacking3D : BinPacking<ThreeDimensionalPacking, CuboidPackingShape, CuboidPackingItem> { 35 36 public BinPacking3D(CuboidPackingShape binMeasures) 37 37 : base(binMeasures) { 38 38 ExtremePoints = new SortedSet<ThreeDimensionalPacking>(new EPComparer3D()); -
branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/CuboidIdenticalBinPackingProblem.cs
r14040 r14045 22 22 using HeuristicLab.Problems.BinPacking.Dimensions; 23 23 using HeuristicLab.Problems.BinPacking.Interfaces; 24 using HeuristicLab.Problems.BinPacking.PackingBin; 24 25 25 using HeuristicLab.Problems.BinPacking.PackingItem; 26 26 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; … … 36 36 using System; 37 37 using HeuristicLab.Data; 38 using HeuristicLab.Problems.BinPacking.Shapes; 38 39 39 40 namespace HeuristicLab.Problems.BinPacking.Problem { … … 42 43 [Creatable(CreatableAttribute.Categories.CombinatorialProblems, Priority = 310)] 43 44 // TODO don't support generic BPPData but only 3d BPPData 44 public class CuboidIdenticalBinPackingProblem : BinPackingProblem<ThreeDimensionalPacking, CuboidPacking Bin, CuboidPackingItem>, IProblemInstanceConsumer<BPPData>, IProblemInstanceExporter<BPPData> {45 public class CuboidIdenticalBinPackingProblem : BinPackingProblem<ThreeDimensionalPacking, CuboidPackingShape, CuboidPackingItem>, IProblemInstanceConsumer<BPPData>, IProblemInstanceExporter<BPPData> { 45 46 46 47 … … 106 107 } 107 108 public CuboidIdenticalBinPackingProblem() : base( 108 new PackingPlanEvaluationAlgorithm<Permutation, ThreeDimensionalPacking, CuboidPacking Bin, CuboidPackingItem>()) {109 new PackingPlanEvaluationAlgorithm<Permutation, ThreeDimensionalPacking, CuboidPackingShape, CuboidPackingItem>()) { 109 110 } 110 111 … … 113 114 public void Load(BPPData data) { 114 115 var realData = data as RealBPPData; 115 var binData = new CuboidPacking Bin(data.BinMeasures[0], data.BinMeasures[1], data.BinMeasures[2]);116 var binData = new CuboidPackingShape(data.BinMeasures[0], data.BinMeasures[1], data.BinMeasures[2]); 116 117 117 118 var itemData = new ItemList<CuboidPackingItem>(data.Items); 118 119 for (int j = 0; j < data.Items; j++) { 119 var bin = new CuboidPacking Bin(data.BinMeasures[0], data.BinMeasures[1], data.BinMeasures[2]);120 var bin = new CuboidPackingShape(data.BinMeasures[0], data.BinMeasures[1], data.BinMeasures[2]); 120 121 var item = new CuboidPackingItem(data.ItemMeasures[j][0], data.ItemMeasures[j][1], data.ItemMeasures[j][2], bin); 121 122 if (realData != null) { -
branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/CuboidPackingItem.cs
r13608 r14045 28 28 using HeuristicLab.Data; 29 29 using HeuristicLab.Parameters; 30 using HeuristicLab.Problems.BinPacking.PackingBin; 30 31 31 32 32 namespace HeuristicLab.Problems.BinPacking.PackingItem { … … 34 34 [StorableClass] 35 35 public class CuboidPackingItem : CuboidPackingShape, IPackingItem { 36 public IValueParameter<CuboidPacking Bin> TargetBinParameter {37 get { return (IValueParameter<CuboidPacking Bin>)Parameters["TargetBin"]; }36 public IValueParameter<CuboidPackingShape> TargetBinParameter { 37 get { return (IValueParameter<CuboidPackingShape>)Parameters["TargetBin"]; } 38 38 } 39 39 public IFixedValueParameter<DoubleValue> WeightParameter { … … 44 44 } 45 45 46 public CuboidPacking BinTargetBin {46 public CuboidPackingShape TargetBin { 47 47 get { return TargetBinParameter.Value; } 48 48 set { TargetBinParameter.Value = value; } … … 71 71 public CuboidPackingItem() 72 72 : base() { 73 Parameters.Add(new ValueParameter<CuboidPacking Bin>("TargetBin"));73 Parameters.Add(new ValueParameter<CuboidPackingShape>("TargetBin")); 74 74 Parameters.Add(new FixedValueParameter<DoubleValue>("Weight")); 75 75 Parameters.Add(new FixedValueParameter<IntValue>("Material")); … … 78 78 } 79 79 80 public CuboidPackingItem(int width, int height, int depth, CuboidPacking BintargetBin, double weight, int material)80 public CuboidPackingItem(int width, int height, int depth, CuboidPackingShape targetBin, double weight, int material) 81 81 : this() { 82 82 this.Width = width; … … 85 85 this.Weight = weight; 86 86 this.Material = material; 87 this.TargetBin = (CuboidPacking Bin)targetBin.Clone();87 this.TargetBin = (CuboidPackingShape)targetBin.Clone(); 88 88 } 89 89 90 public CuboidPackingItem(int width, int height, int depth, CuboidPacking BintargetBin)90 public CuboidPackingItem(int width, int height, int depth, CuboidPackingShape targetBin) 91 91 : this() { 92 92 this.Width = width; 93 93 this.Height = height; 94 94 this.Depth = depth; 95 this.TargetBin = (CuboidPacking Bin)targetBin.Clone();95 this.TargetBin = (CuboidPackingShape)targetBin.Clone(); 96 96 } 97 97 -
branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/CuboidPackingShape.cs
r14043 r14045 32 32 [Item("CuboidPackingShape", "Represents the cuboid measures (width, height, depth) of a three-dimensional cuboidic bin-packing object.")] 33 33 [StorableClass] 34 public abstractclass CuboidPackingShape : PackingShape<ThreeDimensionalPacking>, IComparable<CuboidPackingShape> {34 public class CuboidPackingShape : PackingShape<ThreeDimensionalPacking>, IComparable<CuboidPackingShape> { 35 35 public IFixedValueParameter<IntValue> HeightParameter { 36 36 get { return (IFixedValueParameter<IntValue>)Parameters["Height"]; } … … 64 64 RegisterEvents(); 65 65 } 66 p rotectedCuboidPackingShape()66 public CuboidPackingShape() 67 67 : base() { 68 68 Parameters.Add(new FixedValueParameter<IntValue>("Width")); … … 73 73 } 74 74 75 p rotectedCuboidPackingShape(int width, int height, int depth)75 public CuboidPackingShape(int width, int height, int depth) 76 76 : this() { 77 77 this.Width = width; 78 78 this.Height = height; 79 79 this.Depth = depth; 80 } 81 82 public override IDeepCloneable Clone(Cloner cloner) { 83 return new CuboidPackingShape(this, cloner); 80 84 } 81 85 -
branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/Decoders/DBL/DeepestBottomLeftGroupingVectorDecoder.cs
r13032 r14045 24 24 using HeuristicLab.Core; 25 25 using HeuristicLab.Problems.BinPacking.Dimensions; 26 using HeuristicLab.Problems.BinPacking.PackingBin; 26 27 27 using HeuristicLab.Problems.BinPacking.PackingItem; 28 28 using HeuristicLab.Encodings.PackingEncoding.PackingPlan; … … 30 30 using HeuristicLab.Problems.BinPacking.Interfaces; 31 31 using HeuristicLab.Encodings.PackingEncoding.GroupingVector; 32 using HeuristicLab.Problems.BinPacking.Shapes; 32 33 33 34 namespace HeuristicLab.Problems.BinPacking.Decoders { 34 35 [Item("Identical bin, three dimensional, GroupingVector-decoder", "<Description missing...>")] 35 36 [StorableClass] 36 public class DeepestBottomLeftGroupingVectorDecoder : PackingSolutionDecoder<ThreeDimensionalPacking, CuboidPacking Bin, CuboidPackingItem>, I3DGVDecoder {37 public class DeepestBottomLeftGroupingVectorDecoder : PackingSolutionDecoder<ThreeDimensionalPacking, CuboidPackingShape, CuboidPackingItem>, I3DGVDecoder { 37 38 public DeepestBottomLeftGroupingVectorDecoder() : base() {} 38 39 [StorableConstructor] … … 45 46 } 46 47 47 public override PackingPlan<ThreeDimensionalPacking, CuboidPacking Bin, CuboidPackingItem> CreatePackingPlanFromEncoding(IItem encodedSolution, CuboidPackingBinbinMeasures, ItemList<CuboidPackingItem> itemMeasures) {48 public override PackingPlan<ThreeDimensionalPacking, CuboidPackingShape, CuboidPackingItem> CreatePackingPlanFromEncoding(IItem encodedSolution, CuboidPackingShape binMeasures, ItemList<CuboidPackingItem> itemMeasures) { 48 49 var solution = encodedSolution as GroupingVectorEncoding; 49 50 if (solution == null) throw new InvalidOperationException("Encoding is not of type GroupingVector"); -
branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/Decoders/DBL/DeepestBottomLeftMultiComponentVectorDecoder.cs
r13032 r14045 24 24 using HeuristicLab.Core; 25 25 using HeuristicLab.Problems.BinPacking.Dimensions; 26 using HeuristicLab.Problems.BinPacking.PackingBin; 26 27 27 using HeuristicLab.Problems.BinPacking.PackingItem; 28 28 using HeuristicLab.Encodings.PackingEncoding.PackingPlan; … … 30 30 using HeuristicLab.Problems.BinPacking.Interfaces; 31 31 using HeuristicLab.Encodings.PackingEncoding.MultiComponentVector; 32 using HeuristicLab.Problems.BinPacking.Shapes; 32 33 33 34 namespace HeuristicLab.Problems.BinPacking.Decoders { 34 35 [Item("Identical bin, three dimensional, MultiComponentVector-decoder", "<Description missing...>")] 35 36 [StorableClass] 36 public class DeepestBottomLeftMultiComponentVectorDecoder : PackingSolutionDecoder<ThreeDimensionalPacking, CuboidPacking Bin, CuboidPackingItem>, I3DMCVDecoder {37 public class DeepestBottomLeftMultiComponentVectorDecoder : PackingSolutionDecoder<ThreeDimensionalPacking, CuboidPackingShape, CuboidPackingItem>, I3DMCVDecoder { 37 38 public DeepestBottomLeftMultiComponentVectorDecoder() : base() { } 38 39 [StorableConstructor] … … 45 46 } 46 47 47 public override PackingPlan<ThreeDimensionalPacking, CuboidPacking Bin, CuboidPackingItem> CreatePackingPlanFromEncoding(IItem encodedSolution, CuboidPackingBinbinMeasures, ItemList<CuboidPackingItem> itemMeasures) {48 public override PackingPlan<ThreeDimensionalPacking, CuboidPackingShape, CuboidPackingItem> CreatePackingPlanFromEncoding(IItem encodedSolution, CuboidPackingShape binMeasures, ItemList<CuboidPackingItem> itemMeasures) { 48 49 var solution = encodedSolution as MultiComponentVectorEncoding; 49 50 if (solution == null) throw new InvalidOperationException("Encoding is not of type MultiComponent Vector"); -
branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/Decoders/DBL/DeepestBottomLeftPackingSequenceDecoder.cs
r13032 r14045 24 24 using HeuristicLab.Core; 25 25 using HeuristicLab.Problems.BinPacking.Dimensions; 26 using HeuristicLab.Problems.BinPacking.PackingBin; 26 27 27 using HeuristicLab.Problems.BinPacking.PackingItem; 28 28 using HeuristicLab.Encodings.PackingEncoding.PackingPlan; … … 30 30 using HeuristicLab.Encodings.PackingEncoding.PackingSequence; 31 31 using HeuristicLab.Problems.BinPacking.Interfaces; 32 using HeuristicLab.Problems.BinPacking.Shapes; 32 33 33 34 namespace HeuristicLab.Problems.BinPacking.Decoders { 34 35 [Item("Identical bin, three dimensional, PackingSequence-decoder", "<Description missing...>")] 35 36 [StorableClass] 36 public class DeepestBottomLeftPackingSequenceDecoder : PackingSolutionDecoder<ThreeDimensionalPacking, CuboidPacking Bin, CuboidPackingItem>, I3DPSDecoder {37 public class DeepestBottomLeftPackingSequenceDecoder : PackingSolutionDecoder<ThreeDimensionalPacking, CuboidPackingShape, CuboidPackingItem>, I3DPSDecoder { 37 38 public DeepestBottomLeftPackingSequenceDecoder(): base() {} 38 39 [StorableConstructor] … … 45 46 } 46 47 47 public override PackingPlan<ThreeDimensionalPacking, CuboidPacking Bin, CuboidPackingItem> CreatePackingPlanFromEncoding(IItem encodedSolution, CuboidPackingBinbinMeasures, ItemList<CuboidPackingItem> itemMeasures) {48 public override PackingPlan<ThreeDimensionalPacking, CuboidPackingShape, CuboidPackingItem> CreatePackingPlanFromEncoding(IItem encodedSolution, CuboidPackingShape binMeasures, ItemList<CuboidPackingItem> itemMeasures) { 48 49 var solution = encodedSolution as PackingSequenceEncoding; 49 50 if (solution == null) throw new InvalidOperationException("Encoding is not of type PackingSequence"); -
branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/Decoders/EP/ExtremePointGroupingVectorDecoder3D.cs
r13032 r14045 24 24 using HeuristicLab.Core; 25 25 using HeuristicLab.Problems.BinPacking.Dimensions; 26 using HeuristicLab.Problems.BinPacking.PackingBin; 26 27 27 using HeuristicLab.Problems.BinPacking.PackingItem; 28 28 using HeuristicLab.Encodings.PackingEncoding.PackingPlan; … … 30 30 using HeuristicLab.Problems.BinPacking.Interfaces; 31 31 using HeuristicLab.Encodings.PackingEncoding.GroupingVector; 32 using HeuristicLab.Problems.BinPacking.Shapes; 32 33 33 34 namespace HeuristicLab.Problems.BinPacking.Decoders { 34 35 [Item("Identical bin, three dimensional, extreme points based decoder for the GroupingVector encoding.", "<Description missing...>")] 35 36 [StorableClass] 36 public class ExtremePointGroupingVectorDecoder3D : PackingSolutionDecoder<ThreeDimensionalPacking, CuboidPacking Bin, CuboidPackingItem>, I3DGVDecoder {37 public class ExtremePointGroupingVectorDecoder3D : PackingSolutionDecoder<ThreeDimensionalPacking, CuboidPackingShape, CuboidPackingItem>, I3DGVDecoder { 37 38 public ExtremePointGroupingVectorDecoder3D() : base() { } 38 39 [StorableConstructor] … … 45 46 } 46 47 47 public static PackingPlan<ThreeDimensionalPacking, CuboidPacking Bin, CuboidPackingItem> Decode(GroupingVectorEncoding solution, CuboidPackingBinbinMeasures, ItemList<CuboidPackingItem> itemMeasures, bool stackingConstraints) {48 public static PackingPlan<ThreeDimensionalPacking, CuboidPackingShape, CuboidPackingItem> Decode(GroupingVectorEncoding solution, CuboidPackingShape binMeasures, ItemList<CuboidPackingItem> itemMeasures, bool stackingConstraints) { 48 49 PackingPlan3D result = new PackingPlan3D(binMeasures, true, stackingConstraints); 49 50 result.Pack(solution, itemMeasures); … … 51 52 } 52 53 53 public override PackingPlan<ThreeDimensionalPacking, CuboidPacking Bin, CuboidPackingItem> CreatePackingPlanFromEncoding(IItem encodedSolution, CuboidPackingBinbinMeasures, ItemList<CuboidPackingItem> itemMeasures) {54 public override PackingPlan<ThreeDimensionalPacking, CuboidPackingShape, CuboidPackingItem> CreatePackingPlanFromEncoding(IItem encodedSolution, CuboidPackingShape binMeasures, ItemList<CuboidPackingItem> itemMeasures) { 54 55 var solution = encodedSolution as GroupingVectorEncoding; 55 56 if (solution == null) throw new InvalidOperationException("Encoding is not of type GroupingVector"); -
branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/Decoders/EP/ExtremePointMultiComponentVectorDecoder3D.cs
r13032 r14045 24 24 using HeuristicLab.Core; 25 25 using HeuristicLab.Problems.BinPacking.Dimensions; 26 using HeuristicLab.Problems.BinPacking.PackingBin; 26 27 27 using HeuristicLab.Problems.BinPacking.PackingItem; 28 28 using HeuristicLab.Encodings.PackingEncoding.PackingPlan; … … 30 30 using HeuristicLab.Problems.BinPacking.Interfaces; 31 31 using HeuristicLab.Encodings.PackingEncoding.MultiComponentVector; 32 using HeuristicLab.Problems.BinPacking.Shapes; 32 33 33 34 namespace HeuristicLab.Problems.BinPacking.Decoders { 34 35 [Item("Identical bin, three dimensional, extreme points based decoder for the MultiComponentVector encoding.", "<Description missing...>")] 35 36 [StorableClass] 36 public class ExtremePointMultiComponentVectorDecoder3D : PackingSolutionDecoder<ThreeDimensionalPacking, CuboidPacking Bin, CuboidPackingItem>, I3DMCVDecoder {37 public class ExtremePointMultiComponentVectorDecoder3D : PackingSolutionDecoder<ThreeDimensionalPacking, CuboidPackingShape, CuboidPackingItem>, I3DMCVDecoder { 37 38 public ExtremePointMultiComponentVectorDecoder3D () : base() { } 38 39 [StorableConstructor] … … 45 46 } 46 47 47 public static PackingPlan<ThreeDimensionalPacking, CuboidPacking Bin, CuboidPackingItem> Decode(MultiComponentVectorEncoding solution, CuboidPackingBinbinMeasures, ItemList<CuboidPackingItem> itemMeasures, bool stackingConstraints) {48 public static PackingPlan<ThreeDimensionalPacking, CuboidPackingShape, CuboidPackingItem> Decode(MultiComponentVectorEncoding solution, CuboidPackingShape binMeasures, ItemList<CuboidPackingItem> itemMeasures, bool stackingConstraints) { 48 49 PackingPlan3D result = new PackingPlan3D(binMeasures, true, stackingConstraints); 49 50 result.Pack(solution, itemMeasures); … … 51 52 } 52 53 53 public override PackingPlan<ThreeDimensionalPacking, CuboidPacking Bin, CuboidPackingItem> CreatePackingPlanFromEncoding(IItem encodedSolution, CuboidPackingBinbinMeasures, ItemList<CuboidPackingItem> itemMeasures) {54 public override PackingPlan<ThreeDimensionalPacking, CuboidPackingShape, CuboidPackingItem> CreatePackingPlanFromEncoding(IItem encodedSolution, CuboidPackingShape binMeasures, ItemList<CuboidPackingItem> itemMeasures) { 54 55 var solution = encodedSolution as MultiComponentVectorEncoding; 55 56 if (solution == null) throw new InvalidOperationException("Encoding is not of type MultiComponentVector"); -
branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/Decoders/EP/ExtremePointPackingSequenceDecoder3D.cs
r13032 r14045 25 25 using HeuristicLab.Core; 26 26 using HeuristicLab.Problems.BinPacking.Dimensions; 27 using HeuristicLab.Problems.BinPacking.PackingBin; 27 28 28 using HeuristicLab.Problems.BinPacking.PackingItem; 29 29 using HeuristicLab.Encodings.PackingEncoding.PackingPlan; … … 31 31 using HeuristicLab.Encodings.PackingEncoding.PackingSequence; 32 32 using HeuristicLab.Problems.BinPacking.Interfaces; 33 using HeuristicLab.Problems.BinPacking.Shapes; 33 34 34 35 namespace HeuristicLab.Problems.BinPacking.Decoders { 35 36 [Item("Identical bin, three dimensional, extreme points based decoder for the PackingSequence encoding.", "<Description missing...>")] 36 37 [StorableClass] 37 public class ExtremePointPackingSequenceDecoder3D : PackingSolutionDecoder<ThreeDimensionalPacking, CuboidPacking Bin, CuboidPackingItem>, I3DPSDecoder {38 public class ExtremePointPackingSequenceDecoder3D : PackingSolutionDecoder<ThreeDimensionalPacking, CuboidPackingShape, CuboidPackingItem>, I3DPSDecoder { 38 39 public ExtremePointPackingSequenceDecoder3D () : base() {} 39 40 [StorableConstructor] … … 47 48 48 49 49 public override PackingPlan<ThreeDimensionalPacking, CuboidPacking Bin, CuboidPackingItem> CreatePackingPlanFromEncoding(IItem encodedSolution, CuboidPackingBinbinMeasures, ItemList<CuboidPackingItem> itemMeasures) {50 public override PackingPlan<ThreeDimensionalPacking, CuboidPackingShape, CuboidPackingItem> CreatePackingPlanFromEncoding(IItem encodedSolution, CuboidPackingShape binMeasures, ItemList<CuboidPackingItem> itemMeasures) { 50 51 var solution = encodedSolution as PackingSequenceEncoding; 51 52 if (solution == null) throw new InvalidOperationException("Encoding is not of type PackingSequence"); -
branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/HeuristicLab.Problems.BinPacking3D-3.3.csproj
r14040 r14045 160 160 <Compile Include="BinPacking3D.cs" /> 161 161 <Compile Include="CuboidIdenticalBinPackingProblem.cs" /> 162 <Compile Include="CuboidPackingBin.cs" />163 162 <Compile Include="CuboidPackingItem.cs" /> 164 163 <Compile Include="CuboidPackingShape.cs" /> -
branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/MoveEvaluators/PackingMoveEvaluator3DGV.cs
r13608 r14045 27 27 using HeuristicLab.Problems.BinPacking.Dimensions; 28 28 using HeuristicLab.Problems.BinPacking.Interfaces; 29 using HeuristicLab.Problems.BinPacking.PackingBin; 29 30 30 using HeuristicLab.Problems.BinPacking.PackingItem; 31 using HeuristicLab.Problems.BinPacking.Shapes; 31 32 32 33 namespace HeuristicLab.Problems.BinPacking { 33 34 [Item("GroupingVectorMoveEvaluator3D", "Class for evaluating packing moves for 3dimensional problems.")] 34 35 [StorableClass] 35 public class PackingMoveEvaluator3DGV : PackingMoveEvaluator<ThreeDimensionalPacking, CuboidPacking Bin, CuboidPackingItem>, ISingleObjectiveMoveEvaluator, IGroupingVectorMoveOperator, I3DOperator {36 public class PackingMoveEvaluator3DGV : PackingMoveEvaluator<ThreeDimensionalPacking, CuboidPackingShape, CuboidPackingItem>, ISingleObjectiveMoveEvaluator, IGroupingVectorMoveOperator, I3DOperator { 36 37 [StorableConstructor] 37 38 protected PackingMoveEvaluator3DGV(bool deserializing) : base(deserializing) { } -
branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/MoveEvaluators/PackingMoveEvaluator3DMCV.cs
r13608 r14045 27 27 using HeuristicLab.Problems.BinPacking.Dimensions; 28 28 using HeuristicLab.Problems.BinPacking.Interfaces; 29 using HeuristicLab.Problems.BinPacking.PackingBin; 29 30 30 using HeuristicLab.Problems.BinPacking.PackingItem; 31 using HeuristicLab.Problems.BinPacking.Shapes; 31 32 32 33 namespace HeuristicLab.Problems.BinPacking { 33 34 [Item("MultiComponentVectorMoveEvaluator3D", "Class for evaluating packing moves for 3dimensional problems.")] 34 35 [StorableClass] 35 public class PackingMoveEvaluator3DMCV : PackingMoveEvaluator<ThreeDimensionalPacking, CuboidPacking Bin, CuboidPackingItem>, ISingleObjectiveMoveEvaluator, IMultiComponentVectorMoveOperator, I3DOperator {36 public class PackingMoveEvaluator3DMCV : PackingMoveEvaluator<ThreeDimensionalPacking, CuboidPackingShape, CuboidPackingItem>, ISingleObjectiveMoveEvaluator, IMultiComponentVectorMoveOperator, I3DOperator { 36 37 [StorableConstructor] 37 38 protected PackingMoveEvaluator3DMCV(bool deserializing) : base(deserializing) { } -
branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/MoveEvaluators/PackingMoveEvaluator3DPS.cs
r13608 r14045 27 27 using HeuristicLab.Problems.BinPacking.Dimensions; 28 28 using HeuristicLab.Problems.BinPacking.Interfaces; 29 using HeuristicLab.Problems.BinPacking.PackingBin; 29 30 30 using HeuristicLab.Problems.BinPacking.PackingItem; 31 using HeuristicLab.Problems.BinPacking.Shapes; 31 32 32 33 namespace HeuristicLab.Problems.BinPacking { 33 34 [Item("PackingSequenceMoveEvaluator3D", "Class for evaluating packing moves for 3dimensional problems.")] 34 35 [StorableClass] 35 public class PackingMoveEvaluator3DPS : PackingMoveEvaluator<ThreeDimensionalPacking, CuboidPacking Bin, CuboidPackingItem>, ISingleObjectiveMoveEvaluator, IPackingSequenceMoveOperator, I3DOperator {36 public class PackingMoveEvaluator3DPS : PackingMoveEvaluator<ThreeDimensionalPacking, CuboidPackingShape, CuboidPackingItem>, ISingleObjectiveMoveEvaluator, IPackingSequenceMoveOperator, I3DOperator { 36 37 [StorableConstructor] 37 38 protected PackingMoveEvaluator3DPS(bool deserializing) : base(deserializing) { } -
branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/PackingPlan3D.cs
r13611 r14045 4 4 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 5 5 using HeuristicLab.Problems.BinPacking.Dimensions; 6 using HeuristicLab.Problems.BinPacking.PackingBin; 6 7 7 using HeuristicLab.Problems.BinPacking.PackingItem; 8 using HeuristicLab.Problems.BinPacking.Shapes; 8 9 9 10 namespace HeuristicLab.Problems.BinPacking { 10 11 [Item("PackingPlan3D", "Represents a solution for a 3D bin packing problem.")] 11 12 [StorableClass] 12 public class PackingPlan3D : PackingPlan<ThreeDimensionalPacking, CuboidPacking Bin, CuboidPackingItem> {13 public PackingPlan3D(CuboidPacking BinbinMeasures) : this(binMeasures, false, false) { }14 public PackingPlan3D(CuboidPacking BinbinMeasures, bool useExtremePoints, bool stackingConstraints) : base(binMeasures, useExtremePoints, stackingConstraints) { }13 public class PackingPlan3D : PackingPlan<ThreeDimensionalPacking, CuboidPackingShape, CuboidPackingItem> { 14 public PackingPlan3D(CuboidPackingShape binMeasures) : this(binMeasures, false, false) { } 15 public PackingPlan3D(CuboidPackingShape binMeasures, bool useExtremePoints, bool stackingConstraints) : base(binMeasures, useExtremePoints, stackingConstraints) { } 15 16 [StorableConstructor] 16 17 protected PackingPlan3D(bool deserializing) : base(deserializing) { } … … 21 22 return new PackingPlan3D(this, cloner); 22 23 } 23 public override BinPacking<ThreeDimensionalPacking, CuboidPacking Bin, CuboidPackingItem> NewBinPacking() {24 public override BinPacking<ThreeDimensionalPacking, CuboidPackingShape, CuboidPackingItem> NewBinPacking() { 24 25 return new BinPacking3D(BinMeasures); 25 26 } -
branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/PackingRatioCuboidIdenticalBinEvaluator.cs
r13608 r14045 24 24 using HeuristicLab.Common; 25 25 using HeuristicLab.Problems.BinPacking.Dimensions; 26 using HeuristicLab.Problems.BinPacking.PackingBin; 26 27 27 using HeuristicLab.Problems.BinPacking.PackingItem; 28 using HeuristicLab.Problems.BinPacking.Shapes; 28 29 29 30 namespace HeuristicLab.Problems.BinPacking.Evaluators { 30 31 [Item("Packing-Ratio Cuboid Identical-Bin Evaluator", "Represents an evaluation-algorithm for cuboid-shaped bin-packing problems with identical bins which calculates the ratio between packed and unpacked space. Found in Falkenauer:1996")] 31 32 [StorableClass] 32 public class PackingRatioCuboidIdenticalBinEvaluator : PackingRatioRegularIdenticalBinEvaluator<ThreeDimensionalPacking, CuboidPacking Bin, CuboidPackingItem> {33 public class PackingRatioCuboidIdenticalBinEvaluator : PackingRatioRegularIdenticalBinEvaluator<ThreeDimensionalPacking, CuboidPackingShape, CuboidPackingItem> { 33 34 34 35 [StorableConstructor]
Note: See TracChangeset
for help on using the changeset viewer.