Changeset 4179 for trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Manipulators
- Timestamp:
- 08/09/10 18:08:14 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Manipulators/AlbaManipulator.cs
r4177 r4179 29 29 [Item("AlbaManipulator", "An operator which manipulates an alba VRP representation.")] 30 30 [StorableClass] 31 public sealed class AlbaManipulator : VRPManipulator { 32 public IValueLookupParameter<IPermutationManipulator> PermutationManipulatorParameter {33 get { return (IValueLookupParameter<IPermutationManipulator>)Parameters[" PermutationManipulator"]; }31 public sealed class AlbaManipulator : VRPManipulator { 32 public IValueLookupParameter<IPermutationManipulator> InnerManipulatorParameter { 33 get { return (IValueLookupParameter<IPermutationManipulator>)Parameters["InnerManipulator"]; } 34 34 } 35 36 [StorableConstructor] 37 private AlbaManipulator(bool deserializing) : base(deserializing) { } 35 38 36 39 public AlbaManipulator() 37 40 : base() { 38 Parameters.Add(new ValueLookupParameter<IPermutationManipulator>("PermutationManipulator", "The permutation manipulator.", new TranslocationManipulator())); 41 Parameters.Add(new ValueLookupParameter<IPermutationManipulator>("InnerManipulator", "The permutation manipulator.", new TranslocationManipulator())); 42 43 AlbaEncoding.RemoveUnusedParameters(Parameters); 39 44 } 40 45 41 46 public override IOperation Apply() { 42 IVRPEncoding solution = VRP SolutionParameter.ActualValue;47 IVRPEncoding solution = VRPToursParameter.ActualValue; 43 48 if (!(solution is AlbaEncoding)) { 44 VRP SolutionParameter.ActualValue = AlbaEncoding.ConvertFrom(solution, VehiclesParameter.ActualValue.Value);49 VRPToursParameter.ActualValue = AlbaEncoding.ConvertFrom(solution, VehiclesParameter.ActualValue.Value); 45 50 } 46 51 47 52 OperationCollection next = new OperationCollection(base.Apply()); 48 53 49 IPermutationManipulator op = PermutationManipulatorParameter.ActualValue;54 IPermutationManipulator op = InnerManipulatorParameter.ActualValue; 50 55 if (op != null) { 51 op.PermutationParameter.ActualName = VRP SolutionParameter.ActualName;56 op.PermutationParameter.ActualName = VRPToursParameter.ActualName; 52 57 next.Insert(0, ExecutionContext.CreateOperation(op)); 53 58 }
Note: See TracChangeset
for help on using the changeset viewer.