Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/20/11 13:36:49 (13 years ago)
Author:
svonolfe
Message:

Improved performance of many VRP operators by optimizing the parameter lookup (#1561)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Potvin/Manipulators/PotvinManipulator.cs

    r5445 r6449  
    2525using HeuristicLab.Parameters;
    2626using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     27using HeuristicLab.Data;
    2728
    2829namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
     
    4546    protected abstract void Manipulate(IRandom random, PotvinEncoding individual);
    4647
    47     protected int SelectRandomTourBiasedByLength(IRandom random, PotvinEncoding individual) {
     48    protected static int SelectRandomTourBiasedByLength(IRandom random, PotvinEncoding individual) {
    4849      int tourIndex = -1;
    4950
     
    5152      double[] probabilities = new double[individual.Tours.Count];
    5253      for (int i = 0; i < individual.Tours.Count; i++) {
    53         probabilities[i] = 1.0 / ((double)individual.Tours[i].Cities.Count / (double)Cities);
     54        probabilities[i] = 1.0 / ((double)individual.Tours[i].Cities.Count / (double)individual.Cities);
    5455        sum += probabilities[i];
    5556      }
     
    7273    }
    7374
    74     protected bool FindInsertionPlace(PotvinEncoding individual, int city, int routeToAvoid, out int route, out int place) {
     75    protected static bool FindInsertionPlace(PotvinEncoding individual, int city, int routeToAvoid,
     76      DoubleArray dueTime, DoubleArray serviceTime, DoubleArray readyTime, DoubleArray demand,
     77      DoubleValue capacity, DistanceMatrix distMatrix,
     78      out int route, out int place) {
    7579      return individual.FindInsertionPlace(
    76         DueTimeParameter.ActualValue, ServiceTimeParameter.ActualValue, ReadyTimeParameter.ActualValue,
    77         DemandParameter.ActualValue, CapacityParameter.ActualValue, CoordinatesParameter.ActualValue,
    78         DistanceMatrixParameter, UseDistanceMatrixParameter.ActualValue,
     80        dueTime, serviceTime, readyTime,
     81        demand, capacity, distMatrix,
    7982        city, routeToAvoid, out route, out place);
    8083    }
     84     
    8185
    8286    public override IOperation Apply() {
Note: See TracChangeset for help on using the changeset viewer.