Changeset 6772
- Timestamp:
- 09/15/11 16:32:43 (13 years ago)
- Location:
- branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4
- Files:
-
- 2 added
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/IntraRouteInversion/AlbaIntraRouteInversionMove.cs
r5867 r6772 27 27 using HeuristicLab.Data; 28 28 using HeuristicLab.Problems.VehicleRouting.Interfaces; 29 using HeuristicLab.Optimization; 29 30 30 31 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba { … … 68 69 } 69 70 71 public ITabuMaker GetTabuMaker() { 72 return null; 73 } 74 75 public ITabuChecker GetTabuChecker() { 76 return null; 77 } 78 79 public ITabuChecker GetSoftTabuChecker() { 80 return null; 81 } 82 70 83 #endregion 71 84 } -
branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/LambdaInterchange/AlbaLambdaInterchangeMove.cs
r4752 r6772 28 28 using HeuristicLab.Data; 29 29 using HeuristicLab.Problems.VehicleRouting.Interfaces; 30 using HeuristicLab.Optimization; 30 31 31 32 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba { … … 106 107 } 107 108 109 public ITabuMaker GetTabuMaker() { 110 return null; 111 } 112 113 public ITabuChecker GetTabuChecker() { 114 return null; 115 } 116 117 public ITabuChecker GetSoftTabuChecker() { 118 return null; 119 } 120 108 121 #endregion 109 122 } -
branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMove.cs
r4752 r6772 28 28 using HeuristicLab.Data; 29 29 using HeuristicLab.Problems.VehicleRouting.Interfaces; 30 using HeuristicLab.Optimization; 30 31 31 32 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba { … … 69 70 } 70 71 72 public ITabuMaker GetTabuMaker() { 73 return new AlbaTranslocationMoveTabuMaker(); 74 } 75 76 public ITabuChecker GetTabuChecker() { 77 return new AlbaTranslocationMoveHardTabuCriterion(); 78 } 79 80 public ITabuChecker GetSoftTabuChecker() { 81 return new AlbaTranslocationMoveSoftTabuCriterion(); 82 } 83 71 84 #endregion 72 85 } -
branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/Interfaces/IVRPMove.cs
r4370 r6772 30 30 VRPMoveEvaluator GetMoveEvaluator(); 31 31 VRPMoveMaker GetMoveMaker(); 32 ITabuMaker GetTabuMaker(); 33 ITabuChecker GetTabuChecker(); 34 ITabuChecker GetSoftTabuChecker(); 32 35 } 33 36 } -
branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/MultiVRPMoveOperator/MultiVRPMoveEvaluator.cs
r5867 r6772 52 52 } 53 53 54 protected override void EvaluateMove() { 54 protected override void EvaluateMove() { } 55 56 public override IOperation Apply() { 55 57 IVRPMove move = VRPMoveParameter.ActualValue as IVRPMove; 56 58 57 59 VRPMoveEvaluator moveEvaluator = move.GetMoveEvaluator(); 58 60 moveEvaluator.VRPMoveParameter.ActualName = VRPMoveParameter.Name; 59 IAtomicOperation op = this.ExecutionContext.CreateOperation(moveEvaluator); 60 op.Operator.Execute((IExecutionContext)op, CancellationToken); 61 62 OperationCollection next = new OperationCollection(base.Apply()); 63 next.Insert(0, ExecutionContext.CreateOperation(moveEvaluator)); 64 65 return next; 61 66 } 62 67 } -
branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/MultiVRPMoveOperator/MultiVRPMoveGenerator.cs
r4752 r6772 39 39 [StorableClass] 40 40 public class MultiVRPMoveGenerator : CheckedMultiOperator<IMultiVRPMoveGenerator>, IMultiVRPMoveOperator, 41 IStochasticOperator, IM ultiMoveGenerator, IGeneralVRPOperator, IMultiVRPOperator{41 IStochasticOperator, IMoveGenerator, IGeneralVRPOperator, IMultiVRPOperator { 42 42 public override bool CanChangeName { 43 43 get { return false; } 44 44 } 45 45 46 public IValueLookupParameter<IntValue> S ampleSizeParameter {47 get { return (IValueLookupParameter<IntValue>)Parameters["S ampleSize"]; }46 public IValueLookupParameter<IntValue> SelectedOperatorsParameter { 47 get { return (IValueLookupParameter<IntValue>)Parameters["SelectedOperators"]; } 48 48 } 49 49 … … 80 80 public MultiVRPMoveGenerator() 81 81 : base() { 82 Parameters.Add(new ValueLookupParameter<IntValue>("S ampleSize", "The number of moves to generate."));82 Parameters.Add(new ValueLookupParameter<IntValue>("SelectedOperators", "The number of selected operators.", new IntValue(1))); 83 83 Parameters.Add(new LookupParameter<IRandom>("Random", "The pseudo random number generator which should be used for stochastic manipulation operators.")); 84 84 Parameters.Add(new ValueLookupParameter<DoubleArray>("Probabilities", "The array of relative probabilities for each operator.", new DoubleArray())); … … 158 158 OperationCollection next = new OperationCollection(base.Apply()); 159 159 160 for (int i = 0; i < S ampleSizeParameter.ActualValue.Value; i++) {160 for (int i = 0; i < SelectedOperatorsParameter.ActualValue.Value; i++) { 161 161 IRandom random = RandomParameter.ActualValue; 162 162 DoubleArray probabilities = ProbabilitiesParameter.ActualValue; -
branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationMove.cs
r6751 r6772 28 28 using HeuristicLab.Data; 29 29 using HeuristicLab.Problems.VehicleRouting.Interfaces; 30 using HeuristicLab.Optimization; 30 31 31 32 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin { … … 83 84 } 84 85 86 public ITabuMaker GetTabuMaker() { 87 return new PotvinCustomerRelocationMoveTabuMaker(); 88 } 89 90 public ITabuChecker GetTabuChecker() { 91 return new PotvinCustomerRelocationMoveTabuCriterion(); 92 } 93 94 public ITabuChecker GetSoftTabuChecker() { 95 PotvinCustomerRelocationMoveTabuCriterion tabuChecker = new PotvinCustomerRelocationMoveTabuCriterion(); 96 tabuChecker.UseAspirationCriterion.Value = true; 97 98 return tabuChecker; 99 } 100 85 101 #endregion 86 102 } -
branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationMoveTabuCriterion.cs
r5127 r6772 32 32 [Item("PotvinCustomerRelocationTabuCriterion", @"Checks if a certain customer relocation move is tabu.")] 33 33 [StorableClass] 34 public class PotvinCustomerRelocationMoveTabuCriterion : SingleSuccessorOperator, IPotvinCustomerRelocationMoveOperator, ITabuChecker, IPotvinOperator {34 public class PotvinCustomerRelocationMoveTabuCriterion : SingleSuccessorOperator, IPotvinCustomerRelocationMoveOperator, ITabuChecker, IPotvinOperator, IVRPMoveOperator { 35 35 public override bool CanChangeName { 36 36 get { return false; } -
branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/HeuristicLab.Problems.VehicleRouting-3.4.csproj
r6753 r6772 183 183 <Compile Include="Encodings\General\Moves\Interfaces\IMultiVRPMoveOperator.cs" /> 184 184 <Compile Include="Encodings\General\Moves\Interfaces\IVRPMove.cs" /> 185 <Compile Include="Encodings\General\Moves\MultiVRPMoveOperator\MultiVRPMoveTabuMaker.cs" /> 186 <Compile Include="Encodings\General\Moves\MultiVRPMoveOperator\MultiVRPMoveTabuChecker.cs" /> 185 187 <Compile Include="Encodings\General\Moves\MultiVRPMoveOperator\MultiVRPMoveEvaluator.cs" /> 186 188 <Compile Include="Encodings\General\Moves\MultiVRPMoveOperator\MultiVRPMoveGenerator.cs" />
Note: See TracChangeset
for help on using the changeset viewer.