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/CVRPTW/CVRPPDTW/CVRPPDTWEvaluator.cs

    r6838 r6851  
    8585
    8686        //drive there
    87         double currentDistace = vrptw.GetDistance(start, end);
     87        double currentDistace = vrptw.GetDistance(start, end, solution);
    8888        time += currentDistace;
    8989        distance += currentDistace;
     
    166166    }
    167167
    168     protected override double GetTourInsertionCosts(IVRPProblemInstance instance, TourInsertionInfo tourInsertionInfo, int index, int customer,
     168    protected override double GetTourInsertionCosts(IVRPProblemInstance instance, IVRPEncoding solution, TourInsertionInfo tourInsertionInfo, int index, int customer,
    169169      out bool feasible) {
    170170      CVRPPDTWInsertionInfo insertionInfo = tourInsertionInfo.GetStopInsertionInfo(index) as CVRPPDTWInsertionInfo;
     
    187187      double pickupPenalty = pdp.PickupViolationPenalty.Value;
    188188
    189       double distance = instance.GetDistance(insertionInfo.Start, insertionInfo.End);
     189      double distance = instance.GetDistance(insertionInfo.Start, insertionInfo.End, solution);
    190190      double newDistance =
    191         instance.GetDistance(insertionInfo.Start, customer) +
    192         instance.GetDistance(customer, insertionInfo.End);
     191        instance.GetDistance(insertionInfo.Start, customer, solution) +
     192        instance.GetDistance(customer, insertionInfo.End, solution);
    193193      costs += instance.DistanceFactor.Value * (newDistance - distance);
    194194
     
    215215      if (index > 0)
    216216        time = (tourInsertionInfo.GetStopInsertionInfo(index - 1) as CVRPTWInsertionInfo).LeaveTime;
    217       time += instance.GetDistance(insertionInfo.Start, customer);
     217      time += instance.GetDistance(insertionInfo.Start, customer, solution);
    218218      if (time > dueTime[customer]) {
    219219        tardiness += time - dueTime[customer];
     
    222222        time += readyTime[customer] - time;
    223223      time += serviceTimes[customer];
    224       time += instance.GetDistance(customer, insertionInfo.End);
     224      time += instance.GetDistance(customer, insertionInfo.End, solution);
    225225
    226226      double additionalTime = time - (tourInsertionInfo.GetStopInsertionInfo(index) as CVRPTWInsertionInfo).ArrivalTime;
Note: See TracChangeset for help on using the changeset viewer.