Changeset 9563 for branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Evaluators/Abstract/PackingRatioRegularIdenticalBinEvaluator.cs
- Timestamp:
- 06/02/13 04:26:26 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Evaluators/Abstract/PackingRatioRegularIdenticalBinEvaluator.cs
r9473 r9563 66 66 67 67 //if (itemPositionsAreValid) 68 return CalculatePackingRatio(plan as PackingPlan<D, B, I> , binMeasure, itemMeasures);68 return CalculatePackingRatio(plan as PackingPlan<D, B, I>); 69 69 70 70 //return quality; … … 80 80 k.......a constant, k>1. 81 81 */ 82 public static DoubleValue CalculatePackingRatio(PackingPlan<D, B, I> plan , B binMeasure, ItemList<I> itemMeasures) {82 public static DoubleValue CalculatePackingRatio(PackingPlan<D, B, I> plan) { 83 83 int nrOfBins = plan.NrOfBins; 84 84 double result = 0; 85 85 86 86 //C 87 double usableSpace = binMeasure.MultipliedMeasures;87 //double usableSpace = binMeasure.MultipliedMeasures; 88 88 //nrOfBins = N 89 89 for (int i = 0; i < nrOfBins; i++) { 90 //C 91 double usableSpace = plan.GetPackingBinMeasuresForBinNr(0).MultipliedMeasures;//plan.GetPackingBinMeasuresForBinNr(i).MultipliedMeasures; 90 92 var indexes = plan.PackingItemPositions.Select((Value, Index) => new { Value, Index }).Where(s => s.Value.Value.AssignedBin == i).Select(s => s.Index); 91 var packedItemsInThisBin = itemMeasures.Select((Value, Index) => new { Value, Index }).Where(s => indexes.Contains(s.Index));93 var packedItemsInThisBin = plan.PackingItemMeasures.Select((Value, Index) => new { Value, Index }).Where(s => indexes.Contains(s.Index)); 92 94 //Fi 93 95 double usedSpaceInThisBin = packedItemsInThisBin.Select(s => s.Value.MultipliedMeasures).Sum();
Note: See TracChangeset
for help on using the changeset viewer.