Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
09/15/11 16:26:41 (13 years ago)
Author:
svonolfe
Message:

Corrected behavior of various operators when a solution contains more tours than vehicles (#1177)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/PotvinEncoding.cs

    r6752 r6771  
    7878    }
    7979
    80     public int FindBestInsertionPlace(Tour tour, int city) {
     80    public int FindBestInsertionPlace(Tour tour, int city, int positionToAvoid = -1) {
    8181      int place = -1;
    8282      double minQuality = -1;
     
    8585
    8686      for (int i = 0; i <= tour.Stops.Count; i++) {
    87         bool feasible;
    88         double quality = ProblemInstance.GetInsertionCosts(eval, city, 0, i, out feasible);
    89         if (place < 0 || quality < minQuality) {
    90           place = i;
    91           minQuality = quality;
     87        if (positionToAvoid != i) {
     88          bool feasible;
     89          double quality = ProblemInstance.GetInsertionCosts(eval, city, 0, i, out feasible);
     90          if (place < 0 || quality < minQuality) {
     91            place = i;
     92            minQuality = quality;
     93          }
    9294        }
    9395      }
Note: See TracChangeset for help on using the changeset viewer.