Changeset 9495 for branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/MoveEvaluators/MultiComponentVectorMoveEvaluator.cs
- Timestamp:
- 05/15/13 22:23:36 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/MoveEvaluators/MultiComponentVectorMoveEvaluator.cs
r9440 r9495 39 39 [StorableClass] 40 40 public class MultiComponentVectorMoveEvaluator : PackingMoveEvaluator<ThreeDimensionalPacking, CuboidPackingBin, CuboidPackingItem>, ISingleObjectiveMoveEvaluator, IMultiComponentVectorMoveOperator{ 41 public ILookupParameter< MultiComponentVectorMove> MultiComponentVectorMoveParameter {42 get { return (ILookupParameter< MultiComponentVectorMove>)Parameters["MultiComponentVectorMove"]; }41 public ILookupParameter<IPackingMove> MultiComponentVectorMoveParameter { 42 get { return (ILookupParameter<IPackingMove>)Parameters["PackingMove"]; } 43 43 } 44 44 public ILookupParameter<MultiComponentVectorEncoding> MultiComponentVectorParameter { … … 51 51 public MultiComponentVectorMoveEvaluator() 52 52 : base() { 53 Parameters.Add(new LookupParameter<MultiComponentVectorMove>("MultiComponentVectorMove", "The move to evaluate."));53 //Parameters.Add(new LookupParameter<IPackingMove>("PackingMove", "The move to evaluate.")); 54 54 Parameters.Add(new LookupParameter<MultiComponentVectorEncoding>("MultiComponentVector", "The solution to evaluate.")); 55 55 } … … 60 60 61 61 public override IOperation Apply() { 62 MultiComponentVectorEncoding MultiComponentVector = MultiComponentVectorParameter.ActualValue;63 MultiComponentVectorMove move = MultiComponentVectorMoveParameter.ActualValue;62 //MultiComponentVectorEncoding MultiComponentVector = MultiComponentVectorParameter.ActualValue; 63 //MultiComponentVectorMove move = MultiComponentVectorMoveParameter.ActualValue as MultiComponentVectorMove; 64 64 65 MultiComponentVectorEncoding newSolution = new MultiComponentVectorEncoding(); 66 newSolution = move.GetVectorAfterMove(); 65 //MultiComponentVectorEncoding newSolution = new MultiComponentVectorEncoding(); 66 //newSolution = move.GetSolutionAfterMove() as MultiComponentVectorEncoding; 67 //CurrentScopeParameter.ActualValue.Variables.Add(new Variable("MovedSolution", newSolution)); 67 68 68 var packingPlan = ExtremePointMultiComponentVectorDecoder3D.Decode(newSolution, PackingBinMeasuresParameter.ActualValue, PackingItemMeasuresParameter.ActualValue); 69 DoubleValue quality = PackingRatioRegularIdenticalBinEvaluator<ThreeDimensionalPacking, CuboidPackingBin, CuboidPackingItem>.CalculatePackingRatio( 70 packingPlan, PackingBinMeasuresParameter.ActualValue, PackingItemMeasuresParameter.ActualValue); 69 //var packingPlan = ExtremePointMultiComponentVectorDecoder3D.Decode(newSolution, PackingBinMeasuresParameter.ActualValue, PackingItemMeasuresParameter.ActualValue); 70 //CurrentScopeParameter.ActualValue.Variables.Add(new Variable("PackingPlanAfterMove", packingPlan)); 71 71 72 double moveQuality = quality.Value; 72 //DoubleValue quality = PackingRatioRegularIdenticalBinEvaluator<ThreeDimensionalPacking, CuboidPackingBin, CuboidPackingItem>.CalculatePackingRatio( 73 // packingPlan, PackingBinMeasuresParameter.ActualValue, PackingItemMeasuresParameter.ActualValue); 73 74 74 if (MoveQualityParameter.ActualValue == null) MoveQualityParameter.ActualValue = new DoubleValue(moveQuality); 75 else MoveQualityParameter.ActualValue.Value = moveQuality; 75 //double moveQuality = quality.Value; 76 77 //if (MoveQualityParameter.ActualValue == null) MoveQualityParameter.ActualValue = new DoubleValue(moveQuality); 78 //else MoveQualityParameter.ActualValue.Value = moveQuality; 76 79 return base.Apply(); 77 80 }
Note: See TracChangeset
for help on using the changeset viewer.