Changeset 12694 for branches/HeuristicLab.Problems.Orienteering/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/ConstraintRelaxation/PickupAndDelivery
- 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/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
Note: See TracChangeset
for help on using the changeset viewer.