Changeset 14927 for branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators
- Timestamp:
- 05/04/17 17:19:35 (8 years ago)
- Location:
- branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinLocalSearchManipulator.cs
r14185 r14927 25 25 using HeuristicLab.Data; 26 26 using HeuristicLab.Parameters; 27 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;27 using HeuristicLab.Persistence; 28 28 using HeuristicLab.Problems.VehicleRouting.Interfaces; 29 29 30 30 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin { 31 31 [Item("PotvinLocalSearchManipulator", "The LSM operator which manipulates a VRP representation. It is implemented as described in Potvin, J.-Y. and Bengio, S. (1996). The Vehicle Routing Problem with Time Windows - Part II: Genetic Search. INFORMS Journal of Computing, 8:165–172.")] 32 [Storable Class]32 [StorableType("353397c3-f3b0-452d-84a6-674aca59ed5d")] 33 33 public sealed class PotvinLocalSearchManipulator : PotvinManipulator, IVRPLocalSearchManipulator { 34 34 public IValueParameter<IntValue> Iterations { … … 139 139 } 140 140 } 141 141 142 142 143 143 protected override void Manipulate(IRandom random, PotvinEncoding individual) { 144 ApplyManipulation(random, individual, ProblemInstance, Iterations.Value.Value); 144 ApplyManipulation(random, individual, ProblemInstance, Iterations.Value.Value); 145 145 } 146 146 } -
branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinManipulator.cs
r14185 r14927 25 25 using HeuristicLab.Optimization; 26 26 using HeuristicLab.Parameters; 27 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;27 using HeuristicLab.Persistence; 28 28 using HeuristicLab.Problems.VehicleRouting.Encodings.General; 29 29 using HeuristicLab.Problems.VehicleRouting.Interfaces; … … 31 31 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin { 32 32 [Item("PotvinManipulator", "A VRP manipulation operation.")] 33 [Storable Class]33 [StorableType("0e157395-801e-4247-bc97-777c1fb181b1")] 34 34 public abstract class PotvinManipulator : VRPManipulator, IStochasticOperator, IPotvinOperator { 35 35 public ILookupParameter<IRandom> RandomParameter { -
branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinOneLevelExchangeManipulator.cs
r14185 r14927 22 22 using HeuristicLab.Common; 23 23 using HeuristicLab.Core; 24 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;24 using HeuristicLab.Persistence; 25 25 using HeuristicLab.Problems.VehicleRouting.Interfaces; 26 26 27 27 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin { 28 28 [Item("PotvinOneLevelExchangeMainpulator", "The 1M operator which manipulates a VRP representation. It is implemented as described in Potvin, J.-Y. and Bengio, S. (1996). The Vehicle Routing Problem with Time Windows - Part II: Genetic Search. INFORMS Journal of Computing, 8:165–172.")] 29 [Storable Class]29 [StorableType("7d5ebc64-735e-4e88-acb6-b3a35c7612e2")] 30 30 public sealed class PotvinOneLevelExchangeMainpulator : PotvinManipulator { 31 31 [StorableConstructor] … … 70 70 protected override void Manipulate(IRandom random, PotvinEncoding individual) { 71 71 bool allowInfeasible = AllowInfeasibleSolutions.Value.Value; 72 ApplyManipulation(random, individual, ProblemInstance, allowInfeasible); 72 ApplyManipulation(random, individual, ProblemInstance, allowInfeasible); 73 73 } 74 74 } -
branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinPairwiseOneLevelExchangeManipulator.cs
r14185 r14927 22 22 using HeuristicLab.Common; 23 23 using HeuristicLab.Core; 24 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;24 using HeuristicLab.Persistence; 25 25 using HeuristicLab.Problems.VehicleRouting.ProblemInstances; 26 26 using HeuristicLab.Problems.VehicleRouting.Variants; … … 29 29 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin { 30 30 [Item("PotvinPairwiseOneLevelExchangeMainpulator", "The 1M operator which manipulates a PDP representation. It has been adapted to pickup and delivery from Potvin, J.-Y. and Bengio, S. (1996). The Vehicle Routing Problem with Time Windows - Part II: Genetic Search. INFORMS Journal of Computing, 8:165–172. It was adapted to the PDP formulation.")] 31 [Storable Class]31 [StorableType("57e7f96a-9119-4bf4-8d4e-c53e13983ab7")] 32 32 public sealed class PotvinPairwiseOneLevelExchangeMainpulator : PotvinManipulator { 33 33 [StorableConstructor] -
branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinPairwiseTwoLevelExchangeManipulator.cs
r14185 r14927 23 23 using HeuristicLab.Core; 24 24 using HeuristicLab.Encodings.PermutationEncoding; 25 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;25 using HeuristicLab.Persistence; 26 26 using HeuristicLab.Problems.VehicleRouting.ProblemInstances; 27 27 using HeuristicLab.Problems.VehicleRouting.Variants; … … 30 30 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin { 31 31 [Item("PotvinPairwiseTwoLevelExchangeManipulator", "The 2M operator which manipulates a VRP representation. It has been adapted to pickup and delivery from Potvin, J.-Y. and Bengio, S. (1996). The Vehicle Routing Problem with Time Windows - Part II: Genetic Search. INFORMS Journal of Computing, 8:165–172. It was adapted to the PDP formulation.")] 32 [Storable Class]32 [StorableType("362c5c70-0f8b-46b0-afce-e55e16e32f38")] 33 33 public sealed class PotvinPairwiseTwoLevelExchangeManipulator : PotvinManipulator { 34 34 [StorableConstructor] … … 130 130 public static PotvinEncoding ApplyManipulation(IRandom random, PotvinEncoding individual, IPickupAndDeliveryProblemInstance pdp, bool allowInfeasible) { 131 131 PotvinEncoding result = null; 132 132 133 133 int selectedIndex = SelectRandomTourBiasedByLength(random, individual, pdp); 134 134 if (selectedIndex >= 0) { … … 190 190 if (result != null) { 191 191 VRPToursParameter.ActualValue = result; 192 } 192 } 193 193 } 194 194 } -
branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinTwoLevelExchangeManipulator.cs
r14185 r14927 22 22 using HeuristicLab.Common; 23 23 using HeuristicLab.Core; 24 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;24 using HeuristicLab.Persistence; 25 25 using HeuristicLab.Problems.VehicleRouting.Interfaces; 26 26 27 27 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin { 28 28 [Item("PotvinTwoLevelExchangeManipulator", "The 2M operator which manipulates a VRP representation. It is implemented as described in Potvin, J.-Y. and Bengio, S. (1996). The Vehicle Routing Problem with Time Windows - Part II: Genetic Search. INFORMS Journal of Computing, 8:165–172.")] 29 [Storable Class]29 [StorableType("e1bfaee1-5c92-4239-a4fc-a13fe3080010")] 30 30 public sealed class PotvinTwoLevelExchangeManipulator : PotvinManipulator { 31 31 [StorableConstructor] … … 91 91 } 92 92 } 93 93 94 94 95 95 protected override void Manipulate(IRandom random, PotvinEncoding individual) { -
branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinVehicleAssignmentManipulator.cs
r14185 r14927 24 24 using HeuristicLab.Encodings.PermutationEncoding; 25 25 using HeuristicLab.Parameters; 26 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;26 using HeuristicLab.Persistence; 27 27 using HeuristicLab.Problems.VehicleRouting.Encodings.General; 28 28 using HeuristicLab.Problems.VehicleRouting.Interfaces; … … 31 31 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin { 32 32 [Item("PotvinVehicleAssignmentMainpulator", "A manipulator that changes the vehicle assignment")] 33 [Storable Class]33 [StorableType("75e852c4-61c5-4dd6-9049-af183d5e5ed9")] 34 34 public sealed class PotvinVehicleAssignmentMainpulator : VRPManipulator, ITimeWindowedOperator, 35 35 IMultiDepotOperator, IHeterogenousCapacitatedOperator {
Note: See TracChangeset
for help on using the changeset viewer.