Changeset 12694 for branches/HeuristicLab.Problems.Orienteering/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/ConstraintRelaxation/TimeWindowed/TimeWindowRelaxationVRPAnalyzer.cs
- Timestamp:
- 07/09/15 13:07:30 (9 years ago)
- Location:
- branches/HeuristicLab.Problems.Orienteering
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Problems.Orienteering
- Property svn:mergeinfo changed
-
Property
svn:global-ignores
set to
*.nuget
packages
-
branches/HeuristicLab.Problems.Orienteering/HeuristicLab.Problems.VehicleRouting
- Property svn:mergeinfo changed
-
branches/HeuristicLab.Problems.Orienteering/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/ConstraintRelaxation/TimeWindowed/TimeWindowRelaxationVRPAnalyzer.cs
r11185 r12694 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 4Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 36 36 [Item("TimeWindowRelaxationVRPAnalyzer", "An operator for adaptively relaxing the time window constraints.")] 37 37 [StorableClass] 38 public class TimeWindowRelaxationVRPAnalyzer : SingleSuccessorOperator, IAnalyzer, ITimeWindowedOperator {38 public class TimeWindowRelaxationVRPAnalyzer : SingleSuccessorOperator, IAnalyzer, ITimeWindowedOperator, ISingleObjectiveOperator { 39 39 public ILookupParameter<IVRPProblemInstance> ProblemInstanceParameter { 40 40 get { return (ILookupParameter<IVRPProblemInstance>)Parameters["ProblemInstance"]; } … … 136 136 double max = vrptw.TardinessPenalty.Value * (1 + phi); 137 137 138 vrptw. TardinessPenalty = new DoubleValue(min + (max - min) * factor);139 if (vrptw. TardinessPenalty.Value < minPenalty)140 vrptw. TardinessPenalty.Value = minPenalty;141 if (vrptw. TardinessPenalty.Value > maxPenalty)142 vrptw. TardinessPenalty.Value = maxPenalty;138 vrptw.CurrentTardinessPenalty = new DoubleValue(min + (max - min) * factor); 139 if (vrptw.CurrentTardinessPenalty.Value < minPenalty) 140 vrptw.CurrentTardinessPenalty.Value = minPenalty; 141 if (vrptw.CurrentTardinessPenalty.Value > maxPenalty) 142 vrptw.CurrentTardinessPenalty.Value = maxPenalty; 143 143 144 144 for (int j = 0; j < qualities.Length; j++) { 145 qualities[j].Value += tardiness[j].Value * vrptw. TardinessPenalty.Value;145 qualities[j].Value += tardiness[j].Value * vrptw.CurrentTardinessPenalty.Value; 146 146 } 147 147 148 148 if (!results.ContainsKey("Current Tardiness Penalty")) { 149 results.Add(new Result("Current Tardiness Penalty", new DoubleValue(vrptw. TardinessPenalty.Value)));149 results.Add(new Result("Current Tardiness Penalty", new DoubleValue(vrptw.CurrentTardinessPenalty.Value))); 150 150 } else { 151 (results["Current Tardiness Penalty"].Value as DoubleValue).Value = vrptw. TardinessPenalty.Value;151 (results["Current Tardiness Penalty"].Value as DoubleValue).Value = vrptw.CurrentTardinessPenalty.Value; 152 152 } 153 153
Note: See TracChangeset
for help on using the changeset viewer.