Changeset 12694 for branches/HeuristicLab.Problems.Orienteering/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/ConstraintRelaxation
- Timestamp:
- 07/09/15 13:07:30 (9 years ago)
- Location:
- branches/HeuristicLab.Problems.Orienteering
- Files:
-
- 5 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/Capacitated/CapacityRelaxationVRPAnalyzer.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("CapacityRelaxationVRPAnalyzer", "An operator for adaptively relaxing the capacity constraints.")] 37 37 [StorableClass] 38 public class CapacityRelaxationVRPAnalyzer : SingleSuccessorOperator, IAnalyzer, ICapacitatedOperator {38 public class CapacityRelaxationVRPAnalyzer : SingleSuccessorOperator, IAnalyzer, ICapacitatedOperator, ISingleObjectiveOperator { 39 39 public ILookupParameter<IVRPProblemInstance> ProblemInstanceParameter { 40 40 get { return (ILookupParameter<IVRPProblemInstance>)Parameters["ProblemInstance"]; } … … 136 136 double max = cvrp.OverloadPenalty.Value * (1 + phi); 137 137 138 cvrp. OverloadPenalty = new DoubleValue(min + (max - min) * factor);139 if (cvrp. OverloadPenalty.Value < minPenalty)140 cvrp. OverloadPenalty.Value = minPenalty;141 if (cvrp. OverloadPenalty.Value > maxPenalty)142 cvrp. OverloadPenalty.Value = maxPenalty;138 cvrp.CurrentOverloadPenalty = new DoubleValue(min + (max - min) * factor); 139 if (cvrp.CurrentOverloadPenalty.Value < minPenalty) 140 cvrp.CurrentOverloadPenalty.Value = minPenalty; 141 if (cvrp.CurrentOverloadPenalty.Value > maxPenalty) 142 cvrp.CurrentOverloadPenalty.Value = maxPenalty; 143 143 144 144 for (int j = 0; j < qualities.Length; j++) { 145 qualities[j].Value += overloads[j].Value * cvrp. OverloadPenalty.Value;145 qualities[j].Value += overloads[j].Value * cvrp.CurrentOverloadPenalty.Value; 146 146 } 147 147 148 148 if (!results.ContainsKey("Current Overload Penalty")) { 149 results.Add(new Result("Current Overload Penalty", new DoubleValue(cvrp. OverloadPenalty.Value)));149 results.Add(new Result("Current Overload Penalty", new DoubleValue(cvrp.CurrentOverloadPenalty.Value))); 150 150 } else { 151 (results["Current Overload Penalty"].Value as DoubleValue).Value = cvrp. OverloadPenalty.Value;151 (results["Current Overload Penalty"].Value as DoubleValue).Value = cvrp.CurrentOverloadPenalty.Value; 152 152 } 153 153 -
branches/HeuristicLab.Problems.Orienteering/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/ConstraintRelaxation/PickupAndDelivery/PickupViolationsRelaxationVRPAnalyzer.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("PickupViolationsRelaxationVRPAnalyzer", "An operator for adaptively relaxing the pickup constraints.")] 37 37 [StorableClass] 38 public class PickupViolationsRelaxationVRPAnalyzer : SingleSuccessorOperator, IAnalyzer, IPickupAndDeliveryOperator {38 public class PickupViolationsRelaxationVRPAnalyzer : SingleSuccessorOperator, IAnalyzer, IPickupAndDeliveryOperator, ISingleObjectiveOperator { 39 39 public ILookupParameter<IVRPProblemInstance> ProblemInstanceParameter { 40 40 get { return (ILookupParameter<IVRPProblemInstance>)Parameters["ProblemInstance"]; } … … 136 136 double max = pdp.PickupViolationPenalty.Value * (1 + phi); 137 137 138 pdp. PickupViolationPenalty = new DoubleValue(min + (max - min) * factor);139 if (pdp. PickupViolationPenalty.Value < minPenalty)140 pdp. PickupViolationPenalty.Value = minPenalty;141 if (pdp. PickupViolationPenalty.Value > maxPenalty)142 pdp. PickupViolationPenalty.Value = maxPenalty;138 pdp.CurrentPickupViolationPenalty = new DoubleValue(min + (max - min) * factor); 139 if (pdp.CurrentPickupViolationPenalty.Value < minPenalty) 140 pdp.CurrentPickupViolationPenalty.Value = minPenalty; 141 if (pdp.CurrentPickupViolationPenalty.Value > maxPenalty) 142 pdp.CurrentPickupViolationPenalty.Value = maxPenalty; 143 143 144 144 for (int j = 0; j < qualities.Length; j++) { 145 qualities[j].Value += pickupViolations[j].Value * pdp. PickupViolationPenalty.Value;145 qualities[j].Value += pickupViolations[j].Value * pdp.CurrentPickupViolationPenalty.Value; 146 146 } 147 147 148 148 if (!results.ContainsKey("Current Pickup Violation Penalty")) { 149 results.Add(new Result("Current Pickup Violation Penalty", new DoubleValue(pdp. PickupViolationPenalty.Value)));149 results.Add(new Result("Current Pickup Violation Penalty", new DoubleValue(pdp.CurrentPickupViolationPenalty.Value))); 150 150 } else { 151 (results["Current Pickup Violation Penalty"].Value as DoubleValue).Value = pdp. PickupViolationPenalty.Value;151 (results["Current Pickup Violation Penalty"].Value as DoubleValue).Value = pdp.CurrentPickupViolationPenalty.Value; 152 152 } 153 153 -
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.