Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
08/12/10 18:42:54 (12 years ago)
Author:
svonolfe
Message:

Added MultiVRPMove (#1039)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Moves/LambdaInterchange/LambdaInterchangeMove.cs

    r4204 r4205  
    2525using HeuristicLab.Common;
    2626using System.Collections.Generic;
     27using HeuristicLab.Problems.VehicleRouting.Encodings.General;
     28using HeuristicLab.Data;
    2729
    2830namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
    2931  [Item("InversionMove", "Item that describes a lambda move on an Alba VRP representation.")]
    3032  [StorableClass]
    31   public class LambdaInterchangeMove: Item {
     33  public class LambdaInterchangeMove: Item, IVRPMove {
    3234    [Storable]
    3335    public int Tour1 { get; protected set; }
     
    8385      return clone;
    8486    }
     87
     88    #region IVRPMove Members
     89
     90    public TourEvaluation GetMoveQuality(
     91      IVRPEncoding individual,
     92      DoubleArray dueTimeArray, DoubleArray serviceTimeArray, DoubleArray readyTimeArray,
     93      DoubleArray demandArray, DoubleValue capacity, DoubleMatrix coordinates,
     94      DoubleValue fleetUsageFactor, DoubleValue timeFactor, DoubleValue distanceFactor,
     95      DoubleValue overloadPenalty, DoubleValue tardinessPenalty,
     96      ILookupParameter<DoubleMatrix> distanceMatrix, Data.BoolValue useDistanceMatrix) {
     97        return LambdaInterchangeMoveEvaluator.GetMoveQuality(individual as AlbaEncoding, this,
     98          dueTimeArray, serviceTimeArray, readyTimeArray, demandArray, capacity,
     99          coordinates, fleetUsageFactor, timeFactor, distanceFactor,
     100          overloadPenalty, tardinessPenalty, distanceMatrix, useDistanceMatrix);
     101    }
     102
     103    public void MakeMove(IRandom random, IVRPEncoding individual) {
     104      LambdaInterchangeMoveMaker.Apply(individual as AlbaEncoding, this);
     105    }
     106
     107    #endregion
    85108  }
    86109}
Note: See TracChangeset for help on using the changeset viewer.