Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
07/24/20 00:58:42 (4 years ago)
Author:
abeham
Message:

#2521: working on VRP (WIP)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/LocalImprovement/AlbaLambdaInterchangeLocalImprovementOperator.cs

    r17226 r17698  
    4545    }
    4646
    47     public ILookupParameter<IVRPEncoding> VRPToursParameter {
    48       get { return (ILookupParameter<IVRPEncoding>)Parameters["VRPTours"]; }
     47    public ILookupParameter<IVRPEncodedSolution> VRPToursParameter {
     48      get { return (ILookupParameter<IVRPEncodedSolution>)Parameters["VRPTours"]; }
    4949    }
    5050
     
    7575      Parameters.Add(new LookupParameter<IntValue>("EvaluatedSolutions", "The amount of evaluated solutions (here a move is counted only as 4/n evaluated solutions with n being the length of the permutation)."));
    7676      Parameters.Add(new LookupParameter<ResultCollection>("Results", "The collection where to store results."));
    77       Parameters.Add(new LookupParameter<IVRPEncoding>("VRPTours", "The VRP tours to be manipulated."));
     77      Parameters.Add(new LookupParameter<IVRPEncodedSolution>("VRPTours", "The VRP tours to be manipulated."));
    7878      Parameters.Add(new LookupParameter<DoubleValue>("Quality", "The quality value of the assignment."));
    7979      Parameters.Add(new ValueParameter<IntValue>("Lambda", "The lambda value.", new IntValue(1)));
     
    8686    }
    8787
    88     public static void Apply(AlbaEncoding solution, int maxIterations,
     88    public static void Apply(AlbaEncodedSolution solution, int maxIterations,
    8989      int lambda, int samples, IRandom random, IVRPProblemInstance problemInstance, ref double quality, out int evaluatedSolutions) {
    9090      evaluatedSolutions = 0;
     
    9393        AlbaLambdaInterchangeMove bestMove = null;
    9494        foreach (AlbaLambdaInterchangeMove move in AlbaStochasticLambdaInterchangeMultiMoveGenerator.GenerateAllMoves(solution, problemInstance, lambda, samples, random)) {
    95           AlbaEncoding newSolution = solution.Clone() as AlbaEncoding;
     95          AlbaEncodedSolution newSolution = solution.Clone() as AlbaEncodedSolution;
    9696          AlbaLambdaInterchangeMoveMaker.Apply(newSolution, move);
    9797          double moveQuality =
     
    111111    public override IOperation InstrumentedApply() {
    112112      int maxIterations = MaximumIterationsParameter.ActualValue.Value;
    113       AlbaEncoding solution = null;
     113      AlbaEncodedSolution solution = null;
    114114
    115       if (VRPToursParameter.ActualValue is AlbaEncoding)
    116         solution = VRPToursParameter.ActualValue as AlbaEncoding;
     115      if (VRPToursParameter.ActualValue is AlbaEncodedSolution)
     116        solution = VRPToursParameter.ActualValue as AlbaEncodedSolution;
    117117      else
    118         VRPToursParameter.ActualValue = solution = AlbaEncoding.ConvertFrom(VRPToursParameter.ActualValue, ProblemInstance);
     118        VRPToursParameter.ActualValue = solution = AlbaEncodedSolution.ConvertFrom(VRPToursParameter.ActualValue, ProblemInstance);
    119119
    120120      int lambda = LambdaParameter.Value.Value;
Note: See TracChangeset for help on using the changeset viewer.