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)

Location:
branches/2521_ProblemRefactoring/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPEvaluator.cs

    r17226 r17698  
    4040    }
    4141
    42     protected override void EvaluateTour(VRPEvaluation eval, IVRPProblemInstance instance, Tour tour, IVRPEncoding solution) {
     42    protected override void EvaluateTour(VRPEvaluation eval, IVRPProblemInstance instance, Tour tour, IVRPEncodedSolution solution) {
    4343      TourInsertionInfo tourInfo = new TourInsertionInfo(solution.GetVehicleAssignment(solution.GetTourIndex(tour)));
    4444      eval.InsertionInfo.AddTourInsertionInfo(tourInfo);
     
    9696    }
    9797
    98     protected override double GetTourInsertionCosts(IVRPProblemInstance instance, IVRPEncoding solution, TourInsertionInfo tourInsertionInfo, int index, int customer,
     98    protected override double GetTourInsertionCosts(IVRPProblemInstance instance, IVRPEncodedSolution solution, TourInsertionInfo tourInsertionInfo, int index, int customer,
    9999      out bool feasible) {
    100100      CVRPInsertionInfo insertionInfo = tourInsertionInfo.GetStopInsertionInfo(index) as CVRPInsertionInfo;
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPTW/MDCVRPPDTW/MDCVRPPDTWEvaluator.cs

    r17226 r17698  
    4242    }
    4343
    44     protected override void EvaluateTour(VRPEvaluation eval, IVRPProblemInstance instance, Tour tour, IVRPEncoding solution) {
     44    protected override void EvaluateTour(VRPEvaluation eval, IVRPProblemInstance instance, Tour tour, IVRPEncodedSolution solution) {
    4545      TourInsertionInfo tourInfo = new TourInsertionInfo(solution.GetVehicleAssignment(solution.GetTourIndex(tour)));
    4646      eval.InsertionInfo.AddTourInsertionInfo(tourInfo);
     
    182182    }
    183183
    184     protected override double GetTourInsertionCosts(IVRPProblemInstance instance, IVRPEncoding solution, TourInsertionInfo tourInsertionInfo, int index, int customer,
     184    protected override double GetTourInsertionCosts(IVRPProblemInstance instance, IVRPEncodedSolution solution, TourInsertionInfo tourInsertionInfo, int index, int customer,
    185185      out bool feasible) {
    186186      CVRPPDTWInsertionInfo insertionInfo = tourInsertionInfo.GetStopInsertionInfo(index) as CVRPPDTWInsertionInfo;
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPTW/MDCVRPTWEvaluator.cs

    r17226 r17698  
    4545    }
    4646
    47     protected override void EvaluateTour(VRPEvaluation eval, IVRPProblemInstance instance, Tour tour, IVRPEncoding solution) {
     47    protected override void EvaluateTour(VRPEvaluation eval, IVRPProblemInstance instance, Tour tour, IVRPEncodedSolution solution) {
    4848      TourInsertionInfo tourInfo = new TourInsertionInfo(solution.GetVehicleAssignment(solution.GetTourIndex(tour)));
    4949      eval.InsertionInfo.AddTourInsertionInfo(tourInfo);
     
    161161    }
    162162
    163     protected override double GetTourInsertionCosts(IVRPProblemInstance instance, IVRPEncoding solution, TourInsertionInfo tourInsertionInfo, int index, int customer,
     163    protected override double GetTourInsertionCosts(IVRPProblemInstance instance, IVRPEncodedSolution solution, TourInsertionInfo tourInsertionInfo, int index, int customer,
    164164      out bool feasible) {
    165165      CVRPTWInsertionInfo insertionInfo = tourInsertionInfo.GetStopInsertionInfo(index) as CVRPTWInsertionInfo;
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MultiDepotVRPEvaluator.cs

    r17226 r17698  
    3030  [StorableType("AFC33483-2E8A-4469-8216-1F4FEE0AEB51")]
    3131  public class MultiDepotVRPEvaluator : VRPEvaluator {
    32     protected override void EvaluateTour(VRPEvaluation eval, IVRPProblemInstance instance, Tour tour, IVRPEncoding solution) {
     32    protected override void EvaluateTour(VRPEvaluation eval, IVRPProblemInstance instance, Tour tour, IVRPEncodedSolution solution) {
    3333      TourInsertionInfo tourInfo = new TourInsertionInfo(solution.GetVehicleAssignment(solution.GetTourIndex(tour)));
    3434      eval.InsertionInfo.AddTourInsertionInfo(tourInfo);
     
    6666    }
    6767
    68     protected override double GetTourInsertionCosts(IVRPProblemInstance instance, IVRPEncoding solution, TourInsertionInfo tourInsertionInfo, int index, int customer,
     68    protected override double GetTourInsertionCosts(IVRPProblemInstance instance, IVRPEncodedSolution solution, TourInsertionInfo tourInsertionInfo, int index, int customer,
    6969      out bool feasible) {
    7070      StopInsertionInfo insertionInfo = tourInsertionInfo.GetStopInsertionInfo(index);
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MultiDepotVRPProblemInstance.cs

    r17226 r17698  
    116116    }
    117117
    118     public int GetDepot(int customer, IVRPEncoding solution) {
     118    public int GetDepot(int customer, IVRPEncodedSolution solution) {
    119119      int depot = -1;
    120120
     
    131131    }
    132132
    133     public override double GetDistance(int start, int end, IVRPEncoding solution) {
     133    public override double GetDistance(int start, int end, IVRPEncodedSolution solution) {
    134134      if (start == 0 && end == 0)
    135135        return 0;
     
    149149    }
    150150
    151     public override double GetInsertionDistance(int start, int customer, int end, IVRPEncoding solution,
     151    public override double GetInsertionDistance(int start, int customer, int end, IVRPEncodedSolution solution,
    152152      out double startDistance, out double endDistance) {
    153153      if (start == 0) {
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPEvaluator.cs

    r17226 r17698  
    4040    }
    4141
    42     protected override void EvaluateTour(VRPEvaluation eval, IVRPProblemInstance instance, Tour tour, IVRPEncoding solution) {
     42    protected override void EvaluateTour(VRPEvaluation eval, IVRPProblemInstance instance, Tour tour, IVRPEncodedSolution solution) {
    4343      TourInsertionInfo tourInfo = new TourInsertionInfo(solution.GetVehicleAssignment(solution.GetTourIndex(tour))); ;
    4444      eval.InsertionInfo.AddTourInsertionInfo(tourInfo);
     
    9898    }
    9999
    100     protected override double GetTourInsertionCosts(IVRPProblemInstance instance, IVRPEncoding solution, TourInsertionInfo tourInsertionInfo, int index, int customer,
     100    protected override double GetTourInsertionCosts(IVRPProblemInstance instance, IVRPEncodedSolution solution, TourInsertionInfo tourInsertionInfo, int index, int customer,
    101101      out bool feasible) {
    102102      CVRPInsertionInfo insertionInfo = tourInsertionInfo.GetStopInsertionInfo(index) as CVRPInsertionInfo;
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPPDTW/CVRPPDTWEvaluator.cs

    r17226 r17698  
    4242    }
    4343
    44     protected override void EvaluateTour(VRPEvaluation eval, IVRPProblemInstance instance, Tour tour, IVRPEncoding solution) {
     44    protected override void EvaluateTour(VRPEvaluation eval, IVRPProblemInstance instance, Tour tour, IVRPEncodedSolution solution) {
    4545      TourInsertionInfo tourInfo = new TourInsertionInfo(solution.GetVehicleAssignment(solution.GetTourIndex(tour)));
    4646      eval.InsertionInfo.AddTourInsertionInfo(tourInfo);
     
    167167    }
    168168
    169     protected override double GetTourInsertionCosts(IVRPProblemInstance instance, IVRPEncoding solution, TourInsertionInfo tourInsertionInfo, int index, int customer,
     169    protected override double GetTourInsertionCosts(IVRPProblemInstance instance, IVRPEncodedSolution solution, TourInsertionInfo tourInsertionInfo, int index, int customer,
    170170      out bool feasible) {
    171171      CVRPPDTWInsertionInfo insertionInfo = tourInsertionInfo.GetStopInsertionInfo(index) as CVRPPDTWInsertionInfo;
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPTWEvaluator.cs

    r17226 r17698  
    4545    }
    4646
    47     protected override void EvaluateTour(VRPEvaluation eval, IVRPProblemInstance instance, Tour tour, IVRPEncoding solution) {
     47    protected override void EvaluateTour(VRPEvaluation eval, IVRPProblemInstance instance, Tour tour, IVRPEncodedSolution solution) {
    4848      TourInsertionInfo tourInfo = new TourInsertionInfo(solution.GetVehicleAssignment(solution.GetTourIndex(tour)));
    4949      eval.InsertionInfo.AddTourInsertionInfo(tourInfo);
     
    149149    }
    150150
    151     protected override double GetTourInsertionCosts(IVRPProblemInstance instance, IVRPEncoding solution, TourInsertionInfo tourInsertionInfo, int index, int customer,
     151    protected override double GetTourInsertionCosts(IVRPProblemInstance instance, IVRPEncodedSolution solution, TourInsertionInfo tourInsertionInfo, int index, int customer,
    152152      out bool feasible) {
    153153      CVRPTWInsertionInfo insertionInfo = tourInsertionInfo.GetStopInsertionInfo(index) as CVRPTWInsertionInfo;
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/SingleDepotVRPEvaluator.cs

    r17226 r17698  
    3030  [StorableType("1E0DECD9-54BF-4F69-A743-228C481749A0")]
    3131  public class SingleDepotVRPEvaluator : VRPEvaluator {
    32     protected override void EvaluateTour(VRPEvaluation eval, IVRPProblemInstance instance, Tour tour, IVRPEncoding solution) {
     32    protected override void EvaluateTour(VRPEvaluation eval, IVRPProblemInstance instance, Tour tour, IVRPEncodedSolution solution) {
    3333      TourInsertionInfo tourInfo = new TourInsertionInfo(solution.GetVehicleAssignment(solution.GetTourIndex(tour)));
    3434      eval.InsertionInfo.AddTourInsertionInfo(tourInfo);
     
    6666    }
    6767
    68     protected override double GetTourInsertionCosts(IVRPProblemInstance instance, IVRPEncoding solution, TourInsertionInfo tourInsertionInfo, int index, int customer,
     68    protected override double GetTourInsertionCosts(IVRPProblemInstance instance, IVRPEncodedSolution solution, TourInsertionInfo tourInsertionInfo, int index, int customer,
    6969      out bool feasible) {
    7070      StopInsertionInfo insertionInfo = tourInsertionInfo.GetStopInsertionInfo(index);
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/SingleDepotVRPProblemInstance.cs

    r17226 r17698  
    2222using System.Collections.Generic;
    2323using System.Linq;
     24using HEAL.Attic;
    2425using HeuristicLab.Common;
    2526using HeuristicLab.Core;
    2627using HeuristicLab.Data;
    2728using HeuristicLab.Optimization;
    28 using HEAL.Attic;
    2929using HeuristicLab.PluginInfrastructure;
    3030using HeuristicLab.Problems.VehicleRouting.Interfaces;
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/VRPEvaluator.cs

    r17226 r17698  
    3232  [StorableType("164315D4-BCCF-4A79-B75B-11A49C56C5E1")]
    3333  public abstract class VRPEvaluator : VRPOperator, IVRPEvaluator {
    34     public ILookupParameter<IVRPEncoding> VRPToursParameter {
    35       get { return (ILookupParameter<IVRPEncoding>)Parameters["VRPTours"]; }
     34    public ILookupParameter<IVRPEncodedSolution> VRPToursParameter {
     35      get { return (ILookupParameter<IVRPEncodedSolution>)Parameters["VRPTours"]; }
    3636    }
    3737
     
    5757
    5858    public VRPEvaluator() {
    59       Parameters.Add(new LookupParameter<IVRPEncoding>("VRPTours", "The VRP tours which should be evaluated."));
     59      Parameters.Add(new LookupParameter<IVRPEncodedSolution>("VRPTours", "The VRP tours which should be evaluated."));
    6060
    6161      Parameters.Add(new LookupParameter<DoubleValue>("Quality", "The evaluated quality of the VRP solution."));
     
    7474    }
    7575
    76     protected abstract void EvaluateTour(VRPEvaluation eval, IVRPProblemInstance instance, Tour tour, IVRPEncoding solution);
     76    protected abstract void EvaluateTour(VRPEvaluation eval, IVRPProblemInstance instance, Tour tour, IVRPEncodedSolution solution);
    7777
    7878    protected virtual void InitResultParameters() {
     
    9696    }
    9797
    98     protected abstract double GetTourInsertionCosts(IVRPProblemInstance instance, IVRPEncoding solution, TourInsertionInfo tourInsertionInfo, int index, int customer, out bool feasible);
     98    protected abstract double GetTourInsertionCosts(IVRPProblemInstance instance, IVRPEncodedSolution solution, TourInsertionInfo tourInsertionInfo, int index, int customer, out bool feasible);
    9999
    100     public double GetInsertionCosts(IVRPProblemInstance instance, IVRPEncoding solution, VRPEvaluation eval, int customer, int tour, int index, out bool feasible) {
     100    public double GetInsertionCosts(IVRPProblemInstance instance, IVRPEncodedSolution solution, VRPEvaluation eval, int customer, int tour, int index, out bool feasible) {
    101101      bool tourFeasible;
    102102      double costs = GetTourInsertionCosts(
     
    112112    }
    113113
    114     public VRPEvaluation EvaluateTour(IVRPProblemInstance instance, Tour tour, IVRPEncoding solution) {
     114    public VRPEvaluation EvaluateTour(IVRPProblemInstance instance, Tour tour, IVRPEncodedSolution solution) {
    115115      VRPEvaluation evaluation = CreateTourEvaluation();
    116116      EvaluateTour(evaluation, instance, tour, solution);
     
    118118    }
    119119
    120     public virtual VRPEvaluation Evaluate(IVRPProblemInstance instance, IVRPEncoding solution) {
     120    public virtual VRPEvaluation Evaluate(IVRPProblemInstance instance, IVRPEncodedSolution solution) {
    121121      VRPEvaluation evaluation = CreateTourEvaluation();
    122122
     
    132132
    133133      VRPEvaluation evaluation = CreateTourEvaluation();
    134       IVRPEncoding solution = VRPToursParameter.ActualValue;
     134      IVRPEncodedSolution solution = VRPToursParameter.ActualValue;
    135135      foreach (Tour tour in solution.GetTours()) {
    136136        EvaluateTour(evaluation, ProblemInstance, tour, solution);
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/VRPProblemInstance.cs

    r17226 r17698  
    2323using System.Collections.Generic;
    2424using System.Linq;
     25using HEAL.Attic;
    2526using HeuristicLab.Common;
    2627using HeuristicLab.Core;
    2728using HeuristicLab.Data;
    2829using HeuristicLab.Parameters;
    29 using HEAL.Attic;
    3030using HeuristicLab.Problems.VehicleRouting.Encodings.General;
    3131using HeuristicLab.Problems.VehicleRouting.Interfaces;
     
    178178        return evaluator;
    179179      }
    180 
    181180      set {
    182181        lock (locker) {
     
    188187    }
    189188
    190     public virtual double GetDistance(int start, int end, IVRPEncoding solution) {
     189    public virtual double GetDistance(int start, int end, IVRPEncodedSolution solution) {
    191190      if (distanceMatrix == null && UseDistanceMatrix.Value) {
    192191        distanceMatrix = DistanceMatrix ?? CreateDistanceMatrix();
     
    197196    }
    198197
    199     public virtual double GetInsertionDistance(int start, int customer, int end, IVRPEncoding solution,
     198    public virtual double GetInsertionDistance(int start, int customer, int end, IVRPEncodedSolution solution,
    200199      out double startDistance, out double endDistance) {
    201200      double distance = GetDistance(start, end, solution);
     
    209208    }
    210209
    211     public bool Feasible(IVRPEncoding solution) {
     210    public bool Feasible(IVRPEncodedSolution solution) {
    212211      return evaluator.Feasible(
    213212        evaluator.Evaluate(
     
    215214    }
    216215
    217     public bool TourFeasible(Tour tour, IVRPEncoding solution) {
     216    public bool TourFeasible(Tour tour, IVRPEncodedSolution solution) {
    218217      return evaluator.Feasible(
    219218        evaluator.EvaluateTour(
     
    221220    }
    222221
    223     public VRPEvaluation Evaluate(IVRPEncoding solution) {
     222    public VRPEvaluation Evaluate(IVRPEncodedSolution solution) {
    224223      return evaluator.Evaluate(this, solution);
    225224    }
    226225
    227     public VRPEvaluation EvaluateTour(Tour tour, IVRPEncoding solution) {
     226    public VRPEvaluation EvaluateTour(Tour tour, IVRPEncodedSolution solution) {
    228227      return evaluator.EvaluateTour(this, tour, solution);
    229228    }
     
    233232    }
    234233
    235     public double GetInsertionCosts(VRPEvaluation eval, IVRPEncoding solution, int customer, int tour, int index, out bool feasible) {
     234    public double GetInsertionCosts(VRPEvaluation eval, IVRPEncodedSolution solution, int customer, int tour, int index, out bool feasible) {
    236235      return evaluator.GetInsertionCosts(this, solution, eval, customer, tour, index, out feasible);
    237236    }
Note: See TracChangeset for help on using the changeset viewer.