Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/02/13 04:26:26 (11 years ago)
Author:
jhelm
Message:

#1966: Implemented additional Operator-Wrappers for PackingSequence and GroupingVector; Implemented additional problem-class for Rosenbauer-Problemstatement; Added marker-interfaces for decoder-types;

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Analyzers/BestBinPackingSolutionAnalyzer.cs

    r9440 r9563  
    3434using HeuristicLab.Encodings.PackingEncoding.PackingPlan;
    3535using HeuristicLab.Problems.BinPacking.Shapes;
     36using HeuristicLab.Problems.BinPacking.Evaluators;
    3637
    3738namespace HeuristicLab.Problems.BinPacking.Analyzers {     
     
    4041  public class BestBinPackingSolutionAnalyzer<D, B, I> : BinPackingAnalyzer<D, B, I>, IStochasticOperator
    4142    where D : class, IPackingDimensions
    42     where B : PackingShape<D>, IPackingBin
    43     where I : PackingShape<D>, IPackingItem {
     43    where B : PackingShape<D>, IPackingBin, IRegularPackingShape
     44    where I : PackingShape<D>, IPackingItem, IRegularPackingShape {
    4445
    4546    protected BestBinPackingSolutionAnalyzer(BestBinPackingSolutionAnalyzer<D,B,I> original, Cloner cloner)
     
    9394          bestSolution.Quality.Value = qualities[i].Value;
    9495          bestSolution.PackingItemPositions = new ObservableDictionary<int, D> (solutions[i].PackingItemPositions);
     96          bestSolution.PackingBinMeasures = new ObservableDictionary<int, B>(solutions[i].PackingBinMeasures);
    9597        }
    9698      }
     99      string binUtilKey = "Overall Bin Utilization";
     100      DoubleValue binUtil = BinUtilizationRegularIdenticalBinEvaluator<D, B, I>.CalculateBinUtilization(bestSolution);
     101      if (!results.ContainsKey("Overall Bin Utilization"))
     102        results.Add(new Result(binUtilKey, binUtil));
     103      else
     104        results[binUtilKey].Value = binUtil;
    97105
    98106      return base.Apply();
Note: See TracChangeset for help on using the changeset viewer.