Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
09/06/11 13:00:12 (13 years ago)
Author:
svonolfe
Message:

Added support for pickups and deliveries (#1177)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestSolution/Capacitated/BestCapacitatedVRPSolutionAnalyzer.cs

    r4752 r6710  
    7070        Parameters.Add(new ScopeTreeLookupParameter<DoubleValue>("Overload", "The overloads of the VRP solutions which should be analyzed."));
    7171
    72         Parameters.Add(new LookupParameter<VRPSolution>("BestSolution", "The best TSP solution."));
     72        Parameters.Add(new LookupParameter<VRPSolution>("BestSolution", "The best VRP solution."));
    7373        Parameters.Add(new ValueLookupParameter<ResultCollection>("Results", "The result collection where the best VRP solution should be stored."));
    7474    }
     
    9191      int i = qualities.Select((x, index) => new { index, x.Value }).OrderBy(x => x.Value).First().index;
    9292
    93       IVRPEncoding best = solutions[i] as IVRPEncoding;
    9493      VRPSolution solution = BestSolutionParameter.ActualValue;
    95       if (!results.ContainsKey("Best VRP Solution Overload")) {
    96         results.Add(new Result("Best VRP Solution Overload", new DoubleValue(overloads[i].Value)));
    97       } else {
    98         if (qualities[i].Value <= solution.Quality.Value) {
    99           (results["Best VRP Solution Overload"].Value as DoubleValue).Value = overloads[i].Value;
     94      if (solution != null) {
     95        if (!results.ContainsKey("Best VRP Solution Overload")) {
     96          results.Add(new Result("Best VRP Solution Overload", new DoubleValue(overloads[i].Value)));
     97        } else {
     98          if (qualities[i].Value <= solution.Quality.Value) {
     99            (results["Best VRP Solution Overload"].Value as DoubleValue).Value = overloads[i].Value;
     100          }
    100101        }
    101102      }
Note: See TracChangeset for help on using the changeset viewer.