Changeset 4346 for branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Moves/IntraRouteInversion/AlbaStochasticIntraRouteInversionSingleMoveGenerator.cs
- Timestamp:
- 08/31/10 14:03:12 (14 years ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Moves/IntraRouteInversion/AlbaStochasticIntraRouteInversionSingleMoveGenerator.cs
r4341 r4346 30 30 31 31 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba { 32 [Item(" StochasticIntraRouteInversionSingleMoveGenerator", "Generates one random intra route inversion move from a given VRP encoding.")]32 [Item("AlbaStochasticIntraRouteInversionSingleMoveGenerator", "Generates one random intra route inversion move from a given VRP encoding. It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")] 33 33 [StorableClass] 34 public sealed class StochasticIntraRouteInversionSingleMoveGenerator :IntraRouteInversionMoveGenerator,34 public sealed class AlbaStochasticIntraRouteInversionSingleMoveGenerator : AlbaIntraRouteInversionMoveGenerator, 35 35 IStochasticOperator, ISingleMoveGenerator, IAlbaIntraRouteInversionMoveOperator, IMultiVRPMoveGenerator { 36 36 #region IMultiVRPMoveOperator Members 37 37 38 38 public ILookupParameter VRPMoveParameter { 39 get { return (ILookupParameter)Parameters[" IntraRouteInversionMove"]; }39 get { return (ILookupParameter)Parameters["AlbaIntraRouteInversionMove"]; } 40 40 } 41 41 … … 47 47 48 48 [StorableConstructor] 49 private StochasticIntraRouteInversionSingleMoveGenerator(bool deserializing) : base(deserializing) { }49 private AlbaStochasticIntraRouteInversionSingleMoveGenerator(bool deserializing) : base(deserializing) { } 50 50 51 public StochasticIntraRouteInversionSingleMoveGenerator()51 public AlbaStochasticIntraRouteInversionSingleMoveGenerator() 52 52 : base() { 53 53 Parameters.Add(new LookupParameter<IRandom>("Random", "The random number generator.")); 54 54 } 55 55 56 public static IntraRouteInversionMove Apply(AlbaEncoding individual, int cities, IRandom rand) {56 public static AlbaIntraRouteInversionMove Apply(AlbaEncoding individual, int cities, IRandom rand) { 57 57 int index1 = -1; 58 58 int index2 = -1; … … 86 86 } 87 87 88 return new IntraRouteInversionMove(index1, index2, individual);88 return new AlbaIntraRouteInversionMove(index1, index2, individual); 89 89 } 90 90 91 protected override IntraRouteInversionMove[] GenerateMoves(AlbaEncoding individual) {92 List< IntraRouteInversionMove> moves = new List<IntraRouteInversionMove>();91 protected override AlbaIntraRouteInversionMove[] GenerateMoves(AlbaEncoding individual) { 92 List<AlbaIntraRouteInversionMove> moves = new List<AlbaIntraRouteInversionMove>(); 93 93 94 IntraRouteInversionMove move = Apply(individual, Cities, RandomParameter.ActualValue);94 AlbaIntraRouteInversionMove move = Apply(individual, Cities, RandomParameter.ActualValue); 95 95 if(move != null) 96 96 moves.Add(move);
Note: See TracChangeset
for help on using the changeset viewer.