Changeset 5127
- Timestamp:
- 12/17/10 13:42:53 (14 years ago)
- Location:
- branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4
- Files:
-
- 20 added
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/VRPSolution.cs
r4752 r5127 106 106 private VRPSolution(VRPSolution original, Cloner cloner) 107 107 : base(original, cloner) { 108 this.problemInstance = (IVRPProblemInstance)cloner.Clone(original.problemInstance);108 this.problemInstance = original.problemInstance; 109 109 this.solution = (IVRPEncoding)cloner.Clone(original.solution); 110 110 this.quality = (DoubleValue)cloner.Clone(original.quality); -
branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/VRPMoveEvaluator.cs
r4752 r5127 44 44 get { return (ILookupParameter<DoubleValue>)Parameters["MoveQuality"]; } 45 45 } 46 public ILookupParameter<DoubleValue> MovePenaltyParameter { 47 get { return (ILookupParameter<DoubleValue>)Parameters["MovePenalty"]; } 48 } 46 49 47 50 [StorableConstructor] … … 52 55 Parameters.Add(new LookupParameter<DoubleValue>("Quality", "The quality of the solution.")); 53 56 Parameters.Add(new LookupParameter<DoubleValue>("MoveQuality", "The relative quality of the move.")); 57 Parameters.Add(new LookupParameter<DoubleValue>("MovePenalty", "The penalty applied to the move.")); 54 58 } 55 59 -
branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/VRPMoveMaker.cs
r4752 r5127 42 42 get { return (ILookupParameter<DoubleValue>)Parameters["MoveQuality"]; } 43 43 } 44 public ILookupParameter<DoubleValue> MovePenaltyParameter { 45 get { return (ILookupParameter<DoubleValue>)Parameters["MovePenalty"]; } 46 } 44 47 45 48 [StorableConstructor] … … 50 53 Parameters.Add(new LookupParameter<DoubleValue>("Quality", "The quality of the solution.")); 51 54 Parameters.Add(new LookupParameter<DoubleValue>("MoveQuality", "The relative quality of the move.")); 55 Parameters.Add(new LookupParameter<DoubleValue>("MovePenalty", "The penalty applied to the move.")); 52 56 } 53 57 -
branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/TourEncoding.cs
r4899 r5127 39 39 #region IVRPEncoding Members 40 40 public virtual List<Tour> GetTours() { 41 List<Tour> result = new List<Tour>(Tours); 41 List<Tour> result = new List<Tour>(); 42 43 foreach(Tour tour in Tours) { 44 if (tour.Stops.Count > 0) 45 result.Add(tour); 46 } 42 47 43 48 while (result.Count > ProblemInstance.Vehicles.Value) { -
branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/PotvinEncoding.cs
r4752 r5127 39 39 public List<int> Unrouted { get; set; } 40 40 41 [Storable] 42 public double PenaltyFactor { get; set; } 43 41 44 public PotvinEncoding(IVRPProblemInstance instance) 42 45 : base(instance) { 43 46 Unrouted = new List<int>(); 47 PenaltyFactor = 1; 44 48 } 45 49 … … 56 60 : base(original, cloner) { 57 61 this.Unrouted = new List<int>(original.Unrouted); 62 this.PenaltyFactor = original.PenaltyFactor; 58 63 } 59 64 … … 72 77 73 78 return solution; 79 } 80 81 public double EvaluateTour(Tour tour) { 82 return ProblemInstance.Evaluate(tour); 74 83 } 75 84 … … 91 100 92 101 return length; 102 } 103 104 public int FindBestInsertionPlace(Tour tour, int city) { 105 int place = -1; 106 double minQuality = -1; 107 108 for (int i = 0; i <= tour.Stops.Count; i++) { 109 tour.Stops.Insert(i, city); 110 111 double quality = EvaluateTour(tour); 112 113 if (place < 0 || quality < minQuality) { 114 place = i; 115 minQuality = quality; 116 } 117 118 tour.Stops.RemoveAt(i); 119 } 120 121 if (place == -1) 122 place = 0; 123 124 return place; 93 125 } 94 126 -
branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/HeuristicLab.Problems.VehicleRouting-3.4.csproj
r4860 r5127 189 189 <Compile Include="Encodings\GVR\Manipulators\GVRManipulator.cs" /> 190 190 <Compile Include="Encodings\GVR\Manipulators\GVRSwapManipulator.cs" /> 191 <Compile Include="Encodings\Potvin\Creators\PotvinCreator.cs" /> 192 <Compile Include="Encodings\Potvin\Creators\IterativeInsertionCreator.cs" /> 191 193 <Compile Include="Encodings\Potvin\Crossovers\PotvinCrossover.cs" /> 192 194 <Compile Include="Encodings\Potvin\Crossovers\PotvinRouteBasedCrossover.cs" /> … … 197 199 <Compile Include="Encodings\Potvin\Manipulators\PotvinOneLevelExchangeManipulator.cs" /> 198 200 <Compile Include="Encodings\Potvin\Manipulators\PotvinTwoLevelExchangeManipulator.cs" /> 201 <Compile Include="Encodings\General\Moves\VRPMoveAttribute.cs" /> 202 <Compile Include="Encodings\Potvin\Moves\CustomerRelocation\PotvinCustomerRelocationMoveTabuMaker.cs" /> 203 <Compile Include="Encodings\Potvin\Moves\CustomerRelocation\PotvinCustomerRelocationSingleMoveGenerator.cs" /> 204 <Compile Include="Encodings\Potvin\Moves\CustomerRelocation\PotvinCustomerRelocationMultiMoveGenerator.cs" /> 205 <Compile Include="Encodings\Potvin\Moves\CustomerRelocation\PotvinCustomerRelocationExhaustiveMoveGenerator.cs" /> 206 <Compile Include="Encodings\Potvin\Moves\CustomerRelocation\PotvinCustomerRelocationMoveEvaluator.cs" /> 207 <Compile Include="Encodings\Potvin\Moves\CustomerRelocation\PotvinCustomerRelocationMoveMaker.cs" /> 208 <Compile Include="Encodings\Potvin\Moves\CustomerRelocation\IPotvinCustomerRelocationMoveOperator.cs" /> 209 <Compile Include="Encodings\Potvin\Moves\CustomerRelocation\PotvinCustomerRelocationMoveAttribute.cs" /> 210 <Compile Include="Encodings\Potvin\Moves\CustomerRelocation\PotvinCustomerRelocationMoveTabuCriterion.cs" /> 211 <Compile Include="Encodings\Potvin\Moves\PotvinMoveEvaluator.cs" /> 212 <Compile Include="Encodings\Potvin\Moves\PotvinMoveGenerator.cs" /> 213 <Compile Include="Encodings\Potvin\Moves\PotvinMoveMaker.cs" /> 214 <Compile Include="Encodings\Potvin\Moves\CustomerRelocation\PotvinCustomerRelocationMoveGenerator.cs" /> 215 <Compile Include="Encodings\Potvin\Moves\CustomerRelocation\PotvinCustomerRelocationMove.cs" /> 199 216 <Compile Include="Encodings\Potvin\PotvinEncoding.cs" /> 200 217 <Compile Include="Encodings\Prins\Crossovers\PrinsCrossover.cs" /> -
branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPProblemInstance.cs
r4860 r5127 76 76 public CVRPProblemInstance() { 77 77 Parameters.Add(new ValueParameter<DoubleValue>("Capacity", "The capacity of each vehicle.", new DoubleValue(0))); 78 Parameters.Add(new ValueParameter<DoubleValue>("EvalOverloadPenalty", "The overload penalty considered in the evaluation.", new DoubleValue(1 00)));78 Parameters.Add(new ValueParameter<DoubleValue>("EvalOverloadPenalty", "The overload penalty considered in the evaluation.", new DoubleValue(1))); 79 79 80 80 AttachEventHandlers(); -
branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPTWProblemInstance.cs
r4860 r5127 102 102 103 103 Parameters.Add(new ValueParameter<DoubleValue>("EvalTimeFactor", "The time factor considered in the evaluation.", new DoubleValue(0))); 104 Parameters.Add(new ValueParameter<DoubleValue>("EvalTardinessPenalty", "The tardiness penalty considered in the evaluation.", new DoubleValue(1 00)));104 Parameters.Add(new ValueParameter<DoubleValue>("EvalTardinessPenalty", "The tardiness penalty considered in the evaluation.", new DoubleValue(1))); 105 105 106 106 AttachEventHandlers(); -
branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/VRPEvaluator.cs
r4752 r5127 55 55 get { return (ILookupParameter<DoubleValue>)Parameters["VehiclesUtilized"]; } 56 56 } 57 58 public ILookupParameter<DoubleValue> PenaltyParameter { 59 get { return (ILookupParameter<DoubleValue>)Parameters["Penalty"]; } 60 } 57 61 58 62 [StorableConstructor] … … 65 69 Parameters.Add(new LookupParameter<DoubleValue>("Distance", "The distance.")); 66 70 Parameters.Add(new LookupParameter<DoubleValue>("VehiclesUtilized", "The number of vehicles utilized.")); 71 72 Parameters.Add(new LookupParameter<DoubleValue>("Penalty", "The applied penalty.")); 67 73 } 68 74 … … 81 87 VehcilesUtilizedParameter.ActualValue = new DoubleValue(0); 82 88 DistanceParameter.ActualValue = new DoubleValue(0); 89 PenaltyParameter.ActualValue = new DoubleValue(0); 83 90 } 84 91 … … 87 94 VehcilesUtilizedParameter.ActualValue.Value = tourEvaluation.VehicleUtilization; 88 95 DistanceParameter.ActualValue.Value = tourEvaluation.Distance; 96 PenaltyParameter.ActualValue.Value = tourEvaluation.Penalty; 89 97 } 90 98 -
branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/VRPProblemInstance.cs
r4895 r5127 221 221 Parameters.Add(new ValueParameter<DoubleArray>("Demand", "The demand of each customer.", new DoubleArray())); 222 222 223 Parameters.Add(new ValueParameter<DoubleValue>("EvalFleetUsageFactor", "The fleet usage factor considered in the evaluation.", new DoubleValue( 100)));223 Parameters.Add(new ValueParameter<DoubleValue>("EvalFleetUsageFactor", "The fleet usage factor considered in the evaluation.", new DoubleValue(0))); 224 224 Parameters.Add(new ValueParameter<DoubleValue>("EvalDistanceFactor", "The distance factor considered in the evaluation.", new DoubleValue(1))); 225 225
Note: See TracChangeset
for help on using the changeset viewer.