Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/15/13 22:23:36 (11 years ago)
Author:
jhelm
Message:

#1966: Did some major refactoring in Decoder-classes; Added MoveEvaluator classes for different encodings and dimensions; Added new crossover-class for MCV encoding;

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/MoveEvaluators/MultiComponentVectorMoveEvaluator.cs

    r9440 r9495  
    3939  [StorableClass]
    4040  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"]; } 
    4343    }               
    4444    public ILookupParameter<MultiComponentVectorEncoding> MultiComponentVectorParameter {
     
    5151    public MultiComponentVectorMoveEvaluator()
    5252      : base() {
    53       Parameters.Add(new LookupParameter<MultiComponentVectorMove>("MultiComponentVectorMove", "The move to evaluate."));
     53        //Parameters.Add(new LookupParameter<IPackingMove>("PackingMove", "The move to evaluate."));
    5454      Parameters.Add(new LookupParameter<MultiComponentVectorEncoding>("MultiComponentVector", "The solution to evaluate."));
    5555    }
     
    6060
    6161    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;
    6464
    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));
    6768
    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));
    7171
    72       double moveQuality = quality.Value;
     72      //DoubleValue quality = PackingRatioRegularIdenticalBinEvaluator<ThreeDimensionalPacking, CuboidPackingBin, CuboidPackingItem>.CalculatePackingRatio(
     73      //  packingPlan, PackingBinMeasuresParameter.ActualValue, PackingItemMeasuresParameter.ActualValue);
    7374
    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;
    7679      return base.Apply();
    7780    }
Note: See TracChangeset for help on using the changeset viewer.