Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
09/29/11 15:51:56 (13 years ago)
Author:
svonolfe
Message:

Added support for multi depot CVRP instances (#1177)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPEvaluator.cs

    r6838 r6851  
    3838  [Item("CVRPEvaluator", "Represents a single depot CVRP evaluator.")]
    3939  [StorableClass]
    40   public class CVRPEvaluator: SingleDepotVRPEvaluator {
     40  public class CVRPEvaluator: VRPEvaluator {
    4141    public ILookupParameter<DoubleValue> OverloadParameter {
    4242      get { return (ILookupParameter<DoubleValue>)Parameters["Overload"]; }
     
    7979
    8080        //drive there
    81         double currentDistace = instance.GetDistance(start, end);
     81        double currentDistace = instance.GetDistance(start, end, solution);
    8282        distance += currentDistace;
    8383
     
    103103    }
    104104
    105     protected override double GetTourInsertionCosts(IVRPProblemInstance instance, TourInsertionInfo tourInsertionInfo, int index, int customer,
     105    protected override double GetTourInsertionCosts(IVRPProblemInstance instance, IVRPEncoding solution, TourInsertionInfo tourInsertionInfo, int index, int customer,
    106106      out bool feasible) {
    107107      CVRPInsertionInfo insertionInfo = tourInsertionInfo.GetStopInsertionInfo(index) as CVRPInsertionInfo;
     
    113113      double overloadPenalty = cvrp.OverloadPenalty.Value;
    114114
    115       double distance = instance.GetDistance(insertionInfo.Start, insertionInfo.End);
     115      double distance = instance.GetDistance(insertionInfo.Start, insertionInfo.End, solution);
    116116      double newDistance =
    117         instance.GetDistance(insertionInfo.Start, customer) +
    118         instance.GetDistance(customer, insertionInfo.End);
     117        instance.GetDistance(insertionInfo.Start, customer, solution) +
     118        instance.GetDistance(customer, insertionInfo.End, solution);
    119119      costs += instance.DistanceFactor.Value * (newDistance - distance);
    120120
Note: See TracChangeset for help on using the changeset viewer.