- Timestamp:
- 01/07/14 15:05:58 (11 years ago)
- Location:
- trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings
- Files:
-
- 38 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Creators/AlbaCreator.cs
r9456 r10298 45 45 } 46 46 47 public override IOperation Apply() {47 public override IOperation InstrumentedApply() { 48 48 (VRPToursParameter.ActualValue as AlbaEncoding).Repair(); 49 49 50 return base. Apply();50 return base.InstrumentedApply(); 51 51 } 52 52 } -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Creators/RandomCreator.cs
r9456 r10298 86 86 } 87 87 88 public override IOperation Apply() {88 public override IOperation InstrumentedApply() { 89 89 //choose default encoding here 90 90 VRPToursParameter.ActualValue = AlbaEncoding.ConvertFrom(CreateSolution(), ProblemInstance); 91 91 92 return base. Apply();92 return base.InstrumentedApply(); 93 93 } 94 94 } -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Crossovers/AlbaCrossover.cs
r9456 r10298 52 52 protected abstract AlbaEncoding Crossover(IRandom random, AlbaEncoding parent1, AlbaEncoding parent2); 53 53 54 public override IOperation Apply() {54 public override IOperation InstrumentedApply() { 55 55 ItemArray<IVRPEncoding> parents = new ItemArray<IVRPEncoding>(ParentsParameter.ActualValue.Length); 56 56 for (int i = 0; i < ParentsParameter.ActualValue.Length; i++) { … … 69 69 (ChildParameter.ActualValue as AlbaEncoding).Repair(); 70 70 71 return base. Apply();71 return base.InstrumentedApply(); 72 72 } 73 73 } -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/LocalImprovement/AlbaLambdaInterchangeLocalImprovementOperator.cs
r9462 r10298 125 125 } 126 126 127 public override IOperation Apply() {127 public override IOperation InstrumentedApply() { 128 128 int maxIterations = MaximumIterationsParameter.ActualValue.Value; 129 129 AlbaEncoding solution = null; … … 146 146 QualityParameter.ActualValue.Value = quality; 147 147 148 return base. Apply();148 return base.InstrumentedApply(); 149 149 } 150 150 } -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Manipulators/AlbaManipulator.cs
r9456 r10298 62 62 } 63 63 64 public override IOperation Apply() {64 public override IOperation InstrumentedApply() { 65 65 IVRPEncoding solution = VRPToursParameter.ActualValue; 66 66 if (!(solution is AlbaEncoding)) { … … 71 71 (VRPToursParameter.ActualValue as AlbaEncoding).Repair(); 72 72 73 return base. Apply();73 return base.InstrumentedApply(); 74 74 } 75 75 } -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/AlbaMoveGenerator.cs
r9456 r10298 41 41 } 42 42 43 public override IOperation Apply() {43 public override IOperation InstrumentedApply() { 44 44 IVRPEncoding solution = VRPToursParameter.ActualValue; 45 45 if (!(solution is AlbaEncoding)) { … … 47 47 } 48 48 49 return base. Apply();49 return base.InstrumentedApply(); 50 50 } 51 51 } -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/IntraRouteInversion/AlbaIntraRouteInversionMoveGenerator.cs
r9456 r10298 58 58 protected abstract AlbaIntraRouteInversionMove[] GenerateMoves(AlbaEncoding individual, IVRPProblemInstance problemInstance); 59 59 60 public override IOperation Apply() {61 IOperation next = base. Apply();60 public override IOperation InstrumentedApply() { 61 IOperation next = base.InstrumentedApply(); 62 62 63 63 AlbaEncoding individual = VRPToursParameter.ActualValue as AlbaEncoding; -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/LambdaInterchange/AlbaLambdaInterchangeMoveGenerator.cs
r9456 r10298 68 68 protected abstract AlbaLambdaInterchangeMove[] GenerateMoves(AlbaEncoding individual, IVRPProblemInstance problemInstance, int lambda); 69 69 70 public override IOperation Apply() {71 IOperation next = base. Apply();70 public override IOperation InstrumentedApply() { 71 IOperation next = base.InstrumentedApply(); 72 72 73 73 AlbaEncoding individual = VRPToursParameter.ActualValue as AlbaEncoding; -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaStochasticTranslocationSingleMoveGenerator.cs
r9456 r10298 69 69 } 70 70 71 public override IOperation Apply() {72 IOperation next = base. Apply();71 public override IOperation InstrumentedApply() { 72 IOperation next = base.InstrumentedApply(); 73 73 74 74 IVRPEncoding solution = VRPToursParameter.ActualValue; -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMoveGenerator.cs
r9456 r10298 93 93 } 94 94 95 public override IOperation Apply() {96 IOperation next = base. Apply();95 public override IOperation InstrumentedApply() { 96 IOperation next = base.InstrumentedApply(); 97 97 98 98 IVRPEncoding solution = VRPToursParameter.ActualValue; -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMoveHardTabuCriterion.cs
r9456 r10298 81 81 } 82 82 83 public override IOperation Apply() {84 IOperation next = base. Apply();83 public override IOperation InstrumentedApply() { 84 IOperation next = base.InstrumentedApply(); 85 85 86 86 IVRPEncoding solution = VRPToursParameter.ActualValue; -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMoveSoftTabuCriterion.cs
r9456 r10298 81 81 } 82 82 83 public override IOperation Apply() {84 IOperation next = base. Apply();83 public override IOperation InstrumentedApply() { 84 IOperation next = base.InstrumentedApply(); 85 85 86 86 IVRPEncoding solution = VRPToursParameter.ActualValue; -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMoveTabuMaker.cs
r9456 r10298 81 81 } 82 82 83 public override IOperation Apply() {84 IOperation next = base. Apply();83 public override IOperation InstrumentedApply() { 84 IOperation next = base.InstrumentedApply(); 85 85 86 86 IVRPEncoding solution = VRPToursParameter.ActualValue; -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/GVR/Crossovers/GVRCrossover.cs
r9456 r10298 103 103 } 104 104 105 public override IOperation Apply() {105 public override IOperation InstrumentedApply() { 106 106 ItemArray<IVRPEncoding> parents = new ItemArray<IVRPEncoding>(ParentsParameter.ActualValue.Length); 107 107 for (int i = 0; i < ParentsParameter.ActualValue.Length; i++) { … … 117 117 ChildParameter.ActualValue = Crossover(RandomParameter.ActualValue, parents[0] as GVREncoding, parents[1] as GVREncoding); 118 118 119 return base. Apply();119 return base.InstrumentedApply(); 120 120 } 121 121 } -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/GVR/Manipulators/GVRManipulator.cs
r9456 r10298 49 49 protected abstract void Manipulate(IRandom random, GVREncoding individual); 50 50 51 public override IOperation Apply() {51 public override IOperation InstrumentedApply() { 52 52 IVRPEncoding solution = VRPToursParameter.ActualValue; 53 53 if (!(solution is GVREncoding)) { … … 57 57 Manipulate(RandomParameter.ActualValue, VRPToursParameter.ActualValue as GVREncoding); 58 58 59 return base. Apply();59 return base.InstrumentedApply(); 60 60 } 61 61 } -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Crossovers/BiasedMultiVRPSolutionCrossover.cs
r10295 r10298 131 131 } 132 132 133 return base.InstrumentedApply(); 133 //////////////// 134 IRandom random = RandomParameter.ActualValue; 135 DoubleArray probabilities = ActualProbabilitiesParameter.ActualValue; 136 if (probabilities.Length != Operators.Count) { 137 throw new InvalidOperationException(Name + ": The list of probabilities has to match the number of operators"); 138 } 139 var checkedOperators = Operators.CheckedItems; 140 if (checkedOperators.Count() > 0) { 141 // select a random operator from the checked operators 142 double sum = (from indexedItem in checkedOperators select probabilities[indexedItem.Index]).Sum(); 143 if (sum == 0) throw new InvalidOperationException(Name + ": All selected operators have zero probability."); 144 double r = random.NextDouble() * sum; 145 sum = 0; 146 foreach (var indexedItem in checkedOperators) { 147 sum += probabilities[indexedItem.Index]; 148 if (sum > r) { 149 successor = indexedItem.Value; 150 break; 151 } 152 } 153 } 154 155 IOperation successorOp = null; 156 if (Successor != null) 157 successorOp = ExecutionContext.CreateOperation(Successor); 158 OperationCollection next = new OperationCollection(successorOp); 159 if (successor != null) { 160 SelectedOperatorParameter.ActualValue = new StringValue(successor.Name); 161 162 if (CreateChildOperation) 163 next.Insert(0, ExecutionContext.CreateChildOperation(successor)); 164 else next.Insert(0, ExecutionContext.CreateOperation(successor)); 165 } else { 166 SelectedOperatorParameter.ActualValue = new StringValue(""); 167 } 168 169 return next; 134 170 } 135 171 } -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Crossovers/RandomParentCloneCrossover.cs
r9456 r10298 65 65 } 66 66 67 public override IOperation Apply() {67 public override IOperation InstrumentedApply() { 68 68 if (RandomParameter.ActualValue.Next() < 0.5) 69 69 ChildParameter.ActualValue = ParentsParameter.ActualValue[0].Clone() as IVRPEncoding; … … 71 71 ChildParameter.ActualValue = ParentsParameter.ActualValue[1].Clone() as IVRPEncoding; 72 72 73 return base. Apply();73 return base.InstrumentedApply(); 74 74 } 75 75 } -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Manipulators/BiasedMultiVRPSolutionManipulator.cs
r10295 r10298 131 131 } 132 132 133 return base.InstrumentedApply(); 133 //////////////// 134 IRandom random = RandomParameter.ActualValue; 135 DoubleArray probabilities = ActualProbabilitiesParameter.ActualValue; 136 if (probabilities.Length != Operators.Count) { 137 throw new InvalidOperationException(Name + ": The list of probabilities has to match the number of operators"); 138 } 139 var checkedOperators = Operators.CheckedItems; 140 if (checkedOperators.Count() > 0) { 141 // select a random operator from the checked operators 142 double sum = (from indexedItem in checkedOperators select probabilities[indexedItem.Index]).Sum(); 143 if (sum == 0) throw new InvalidOperationException(Name + ": All selected operators have zero probability."); 144 double r = random.NextDouble() * sum; 145 sum = 0; 146 foreach (var indexedItem in checkedOperators) { 147 sum += probabilities[indexedItem.Index]; 148 if (sum > r) { 149 successor = indexedItem.Value; 150 break; 151 } 152 } 153 } 154 155 IOperation successorOp = null; 156 if (Successor != null) 157 successorOp = ExecutionContext.CreateOperation(Successor); 158 OperationCollection next = new OperationCollection(successorOp); 159 if (successor != null) { 160 SelectedOperatorParameter.ActualValue = new StringValue(successor.Name); 161 162 if (CreateChildOperation) 163 next.Insert(0, ExecutionContext.CreateChildOperation(successor)); 164 else next.Insert(0, ExecutionContext.CreateOperation(successor)); 165 } else { 166 SelectedOperatorParameter.ActualValue = new StringValue(""); 167 } 168 169 return next; 134 170 } 135 171 } -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/MultiVRPMoveOperator/MultiVRPMoveEvaluator.cs
r9456 r10298 53 53 protected override void EvaluateMove() { } 54 54 55 public override IOperation Apply() {55 public override IOperation InstrumentedApply() { 56 56 IVRPMove move = VRPMoveParameter.ActualValue as IVRPMove; 57 57 … … 59 59 moveEvaluator.VRPMoveParameter.ActualName = VRPMoveParameter.Name; 60 60 61 OperationCollection next = new OperationCollection(base. Apply());61 OperationCollection next = new OperationCollection(base.InstrumentedApply()); 62 62 next.Insert(0, ExecutionContext.CreateOperation(moveEvaluator)); 63 63 -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/VRPMoveEvaluator.cs
r9456 r10298 76 76 protected abstract void EvaluateMove(); 77 77 78 public override IOperation Apply() {78 public override IOperation InstrumentedApply() { 79 79 EvaluateMove(); 80 80 81 return base. Apply();81 return base.InstrumentedApply(); 82 82 } 83 83 } -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/VRPMoveMaker.cs
r9456 r10298 99 99 } 100 100 101 public override IOperation Apply() {101 public override IOperation InstrumentedApply() { 102 102 PerformMove(); 103 103 UpdateMoveEvaluation(); 104 104 105 return base. Apply();105 return base.InstrumentedApply(); 106 106 } 107 107 } -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Creators/IterativeInsertionCreator.cs
r9456 r10298 140 140 } 141 141 142 public override IOperation Apply() {142 public override IOperation InstrumentedApply() { 143 143 VRPToursParameter.ActualValue = CreateSolution(ProblemInstance, RandomParameter.ActualValue, AdhereTimeWindowsParameter.Value.Value); 144 144 145 return base. Apply();145 return base.InstrumentedApply(); 146 146 } 147 147 } -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Creators/PushForwardInsertionCreator.cs
r9456 r10298 373 373 } 374 374 375 public override IOperation Apply() {375 public override IOperation InstrumentedApply() { 376 376 VRPToursParameter.ActualValue = CreateSolution(ProblemInstance, RandomParameter.ActualValue, 377 377 Alpha.Value.Value, Beta.Value.Value, Gamma.Value.Value, 378 378 AlphaVariance.Value.Value, BetaVariance.Value.Value, GammaVariance.Value.Value); 379 379 380 return base. Apply();380 return base.InstrumentedApply(); 381 381 } 382 382 } -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Crossovers/PotvinCrossover.cs
r9456 r10298 144 144 } 145 145 146 public override IOperation Apply() {146 public override IOperation InstrumentedApply() { 147 147 ItemArray<IVRPEncoding> parents = new ItemArray<IVRPEncoding>(ParentsParameter.ActualValue.Length); 148 148 for (int i = 0; i < ParentsParameter.ActualValue.Length; i++) { … … 160 160 (ChildParameter.ActualValue as PotvinEncoding).Repair(); 161 161 162 return base. Apply();162 return base.InstrumentedApply(); 163 163 } 164 164 } -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinManipulator.cs
r9456 r10298 87 87 } 88 88 89 public override IOperation Apply() {89 public override IOperation InstrumentedApply() { 90 90 IVRPEncoding solution = VRPToursParameter.ActualValue; 91 91 if (!(solution is PotvinEncoding)) { … … 96 96 (VRPToursParameter.ActualValue as PotvinEncoding).Repair(); 97 97 98 return base. Apply();98 return base.InstrumentedApply(); 99 99 } 100 100 } -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinVehicleAssignmentManipulator.cs
r9456 r10298 60 60 } 61 61 62 public override IOperation Apply() {62 public override IOperation InstrumentedApply() { 63 63 IVRPEncoding solution = VRPToursParameter.ActualValue; 64 64 if (!(solution is PotvinEncoding)) { … … 66 66 } 67 67 68 OperationCollection next = new OperationCollection(base. Apply());68 OperationCollection next = new OperationCollection(base.InstrumentedApply()); 69 69 70 70 VehicleAssignmentParameter.ActualValue = (VRPToursParameter.ActualValue as PotvinEncoding).VehicleAssignment; -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationMoveGenerator.cs
r9456 r10298 57 57 protected abstract PotvinCustomerRelocationMove[] GenerateMoves(PotvinEncoding individual, IVRPProblemInstance problemInstance); 58 58 59 public override IOperation Apply() {60 IOperation next = base. Apply();59 public override IOperation InstrumentedApply() { 60 IOperation next = base.InstrumentedApply(); 61 61 62 62 PotvinEncoding individual = VRPToursParameter.ActualValue as PotvinEncoding; -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/PotvinPDExchangeMoveGenerator.cs
r9456 r10298 57 57 protected abstract PotvinPDExchangeMove[] GenerateMoves(PotvinEncoding individual, IVRPProblemInstance problemInstance); 58 58 59 public override IOperation Apply() {60 IOperation next = base. Apply();59 public override IOperation InstrumentedApply() { 60 IOperation next = base.InstrumentedApply(); 61 61 62 62 PotvinEncoding individual = VRPToursParameter.ActualValue as PotvinEncoding; -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/PotvinPDRearrangeMoveGenerator.cs
r9456 r10298 57 57 protected abstract PotvinPDRearrangeMove[] GenerateMoves(PotvinEncoding individual, IVRPProblemInstance problemInstance); 58 58 59 public override IOperation Apply() {60 IOperation next = base. Apply();59 public override IOperation InstrumentedApply() { 60 IOperation next = base.InstrumentedApply(); 61 61 62 62 PotvinEncoding individual = VRPToursParameter.ActualValue as PotvinEncoding; -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/PotvinPDShiftMoveGenerator.cs
r9456 r10298 57 57 protected abstract PotvinPDShiftMove[] GenerateMoves(PotvinEncoding individual, IVRPProblemInstance problemInstance); 58 58 59 public override IOperation Apply() {60 IOperation next = base. Apply();59 public override IOperation InstrumentedApply() { 60 IOperation next = base.InstrumentedApply(); 61 61 62 62 PotvinEncoding individual = VRPToursParameter.ActualValue as PotvinEncoding; -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PotvinMoveGenerator.cs
r9456 r10298 41 41 } 42 42 43 public override IOperation Apply() {43 public override IOperation InstrumentedApply() { 44 44 IVRPEncoding solution = VRPToursParameter.ActualValue; 45 45 if (!(solution is PotvinEncoding)) { … … 47 47 } 48 48 49 return base. Apply();49 return base.InstrumentedApply(); 50 50 } 51 51 } -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarMoveGenerator.cs
r9456 r10298 57 57 protected abstract PotvinTwoOptStarMove[] GenerateMoves(PotvinEncoding individual, IVRPProblemInstance problemInstance); 58 58 59 public override IOperation Apply() {60 IOperation next = base. Apply();59 public override IOperation InstrumentedApply() { 60 IOperation next = base.InstrumentedApply(); 61 61 62 62 PotvinEncoding individual = VRPToursParameter.ActualValue as PotvinEncoding; -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentMoveGenerator.cs
r9456 r10298 57 57 protected abstract PotvinVehicleAssignmentMove[] GenerateMoves(PotvinEncoding individual, IVRPProblemInstance problemInstance); 58 58 59 public override IOperation Apply() {60 IOperation next = base. Apply();59 public override IOperation InstrumentedApply() { 60 IOperation next = base.InstrumentedApply(); 61 61 62 62 PotvinEncoding individual = VRPToursParameter.ActualValue as PotvinEncoding; -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/Crossovers/PrinsCrossover.cs
r9456 r10298 51 51 protected abstract PrinsEncoding Crossover(IRandom random, PrinsEncoding parent1, PrinsEncoding parent2); 52 52 53 public override IOperation Apply() {53 public override IOperation InstrumentedApply() { 54 54 ItemArray<IVRPEncoding> parents = new ItemArray<IVRPEncoding>(ParentsParameter.ActualValue.Length); 55 55 for (int i = 0; i < ParentsParameter.ActualValue.Length; i++) { … … 67 67 Crossover(RandomParameter.ActualValue, parents[0] as PrinsEncoding, parents[1] as PrinsEncoding); 68 68 69 return base. Apply();69 return base.InstrumentedApply(); 70 70 } 71 71 } -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/Manipulators/PrinsManipulator.cs
r9456 r10298 50 50 protected abstract void Manipulate(IRandom random, PrinsEncoding individual); 51 51 52 public override IOperation Apply() {52 public override IOperation InstrumentedApply() { 53 53 IVRPEncoding solution = VRPToursParameter.ActualValue; 54 54 if (!(solution is PrinsEncoding)) { … … 58 58 Manipulate(RandomParameter.ActualValue, VRPToursParameter.ActualValue as PrinsEncoding); 59 59 60 return base. Apply();60 return base.InstrumentedApply(); 61 61 } 62 62 } -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/VRPOperator.cs
r9456 r10298 30 30 [Item("VRPOperator", "Represents a VRP operator.")] 31 31 [StorableClass] 32 public abstract class VRPOperator : SingleSuccessorOperator, IVRPOperator {32 public abstract class VRPOperator : InstrumentedOperator, IVRPOperator { 33 33 public ILookupParameter<IVRPProblemInstance> ProblemInstanceParameter { 34 34 get { return (LookupParameter<IVRPProblemInstance>)Parameters["ProblemInstance"]; } -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/Crossovers/ZhuCrossover.cs
r9456 r10298 50 50 protected abstract ZhuEncoding Crossover(IRandom random, ZhuEncoding parent1, ZhuEncoding parent2); 51 51 52 public override IOperation Apply() {52 public override IOperation InstrumentedApply() { 53 53 ItemArray<IVRPEncoding> parents = new ItemArray<IVRPEncoding>(ParentsParameter.ActualValue.Length); 54 54 for (int i = 0; i < ParentsParameter.ActualValue.Length; i++) { … … 66 66 Crossover(RandomParameter.ActualValue, parents[0] as ZhuEncoding, parents[1] as ZhuEncoding); 67 67 68 return base. Apply();68 return base.InstrumentedApply(); 69 69 } 70 70 } -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/Manipulators/ZhuManipulator.cs
r9456 r10298 50 50 protected abstract void Manipulate(IRandom random, ZhuEncoding individual); 51 51 52 public override IOperation Apply() {52 public override IOperation InstrumentedApply() { 53 53 IVRPEncoding solution = VRPToursParameter.ActualValue; 54 54 if (!(solution is ZhuEncoding)) { … … 58 58 Manipulate(RandomParameter.ActualValue, VRPToursParameter.ActualValue as ZhuEncoding); 59 59 60 return base. Apply();60 return base.InstrumentedApply(); 61 61 } 62 62 }
Note: See TracChangeset
for help on using the changeset viewer.