Changeset 4346


Ignore:
Timestamp:
08/31/10 14:03:12 (9 years ago)
Author:
svonolfe
Message:

Renamed operators, added comments according to code review (#1039)

Location:
branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3
Files:
13 edited
37 moved

Legend:

Unmodified
Added
Removed
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Crossovers/AlbaPermutationCrossover.cs

    r4341 r4346  
    2727
    2828namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
    29   [Item("PermutationCrossover", "An operator which crosses two VRP representations using a standard permutation operator.")]
     29  [Item("AlbaPermutationCrossover", "An operator which crosses two VRP representations using a standard permutation operator.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
    3030  [StorableClass]
    31   public sealed class PermutationCrossover : AlbaCrossover {   
     31  public sealed class AlbaPermutationCrossover : AlbaCrossover {   
    3232    public IValueLookupParameter<IPermutationCrossover> InnerCrossoverParameter {
    3333      get { return (IValueLookupParameter<IPermutationCrossover>)Parameters["InnerCrossover"]; }
     
    3535
    3636    [StorableConstructor]
    37     private PermutationCrossover(bool deserializing) : base(deserializing) { }
     37    private AlbaPermutationCrossover(bool deserializing) : base(deserializing) { }
    3838
    39     public PermutationCrossover()
     39    public AlbaPermutationCrossover()
    4040      : base() {
    4141      Parameters.Add(new ValueLookupParameter<IPermutationCrossover>("InnerCrossover", "The permutation crossover.", new EdgeRecombinationCrossover()));
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Manipulators/AlbaCustomerInsertionManipulator.cs

    r4341 r4346  
    2727
    2828namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
    29   [Item("CustomerInsertionManipulator", "An operator which manipulates a VRP representation by inserting a customer in another place.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
     29  [Item("AlbaCustomerInsertionManipulator", "An operator which manipulates a VRP representation by inserting a customer in another place.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
    3030  [StorableClass]
    31   public sealed class CustomerInsertionManipulator : AlbaManipulator {
     31  public sealed class AlbaCustomerInsertionManipulator : AlbaManipulator {
    3232    [StorableConstructor]
    33     private CustomerInsertionManipulator(bool deserializing) : base(deserializing) { }
     33    private AlbaCustomerInsertionManipulator(bool deserializing) : base(deserializing) { }
    3434
    35     public CustomerInsertionManipulator()
     35    public AlbaCustomerInsertionManipulator()
    3636      : base() {
    3737    }
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Manipulators/AlbaCustomerInversionManipulator.cs

    r4341 r4346  
    2828
    2929namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
    30   [Item("CustomerInversionManipulator", "An operator which manipulates a VRP representation by inverting the order the customers are visited.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
     30  [Item("AlbaCustomerInversionManipulator", "An operator which manipulates a VRP representation by inverting the order the customers are visited.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
    3131  [StorableClass]
    32   public sealed class CustomerInversionManipulator : AlbaManipulator {
     32  public sealed class AlbaCustomerInversionManipulator : AlbaManipulator {
    3333    [StorableConstructor]
    34     private CustomerInversionManipulator(bool deserializing) : base(deserializing) { }
     34    private AlbaCustomerInversionManipulator(bool deserializing) : base(deserializing) { }
    3535
    36     public CustomerInversionManipulator()
     36    public AlbaCustomerInversionManipulator()
    3737      : base() {
    3838    }
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Manipulators/AlbaCustomerSwapManipulator.cs

    r4341 r4346  
    2727
    2828namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
    29   [Item("CustomerSwapManipulator", "An operator which manipulates a VRP representation by swapping two customers.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
     29  [Item("AlbaCustomerSwapManipulator", "An operator which manipulates a VRP representation by swapping two customers.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
    3030  [StorableClass]
    31   public sealed class CustomerSwapManipulator : AlbaManipulator {
     31  public sealed class AlbaCustomerSwapManipulator : AlbaManipulator {
    3232    [StorableConstructor]
    33     private CustomerSwapManipulator(bool deserializing) : base(deserializing) { }
     33    private AlbaCustomerSwapManipulator(bool deserializing) : base(deserializing) { }
    3434
    35     public CustomerSwapManipulator()
     35    public AlbaCustomerSwapManipulator()
    3636      : base() {
    3737    }
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Manipulators/AlbaIntraRouteInversionManipulator.cs

    r4341 r4346  
    2929
    3030namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
    31   [Item("IntraRouteInversionManipulator", "An operator which applies the SLS operation to a VRP representation. It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
     31  [Item("AlbaIntraRouteInversionManipulator", "An operator which applies the SLS operation to a VRP representation. It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
    3232  [StorableClass]
    33   public sealed class IntraRouteInversionManipulator : AlbaManipulator {   
     33  public sealed class AlbaIntraRouteInversionManipulator : AlbaManipulator {   
    3434    [StorableConstructor]
    35     private IntraRouteInversionManipulator(bool deserializing) : base(deserializing) { }
     35    private AlbaIntraRouteInversionManipulator(bool deserializing) : base(deserializing) { }
    3636
    37     public IntraRouteInversionManipulator()
     37    public AlbaIntraRouteInversionManipulator()
    3838      : base() {
    3939     }
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Manipulators/AlbaLambdaInterchangeManipulator.cs

    r4341 r4346  
    2929
    3030namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
    31   [Item("LambdaInterchangeManipulator", "An operator which applies the lambda interchange operation to a VRP representation. It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
     31  [Item("AlbaLambdaInterchangeManipulator", "An operator which applies the lambda interchange operation to a VRP representation. It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
    3232  [StorableClass]
    33   public sealed class LambdaInterchangeManipulator : AlbaManipulator {
     33  public sealed class AlbaLambdaInterchangeManipulator : AlbaManipulator {
    3434    public IValueParameter<IntValue> LambdaParameter {
    3535      get { return (IValueParameter<IntValue>)Parameters["Lambda"]; }
     
    3737   
    3838    [StorableConstructor]
    39     private LambdaInterchangeManipulator(bool deserializing) : base(deserializing) { }
     39    private AlbaLambdaInterchangeManipulator(bool deserializing) : base(deserializing) { }
    4040
    41     public LambdaInterchangeManipulator()
     41    public AlbaLambdaInterchangeManipulator()
    4242      : base() {
    4343        Parameters.Add(new ValueParameter<IntValue>("Lambda", "The lambda value.", new IntValue(1)));
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Manipulators/AlbaPermutationManipulator.cs

    r4341 r4346  
    2727
    2828namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
    29   [Item("PermutationManipulator", "An operator which manipulates a VRP representation by using a standard permutation manipulator.")]
     29  [Item("PermutationManipulator", "An operator which manipulates a VRP representation by using a standard permutation manipulator.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
    3030  [StorableClass]
    31   public sealed class PermutationManipualtor : AlbaManipulator {
     31  public sealed class AlbaPermutationManipualtor : AlbaManipulator {
    3232    public IValueLookupParameter<IPermutationManipulator> InnerManipulatorParameter {
    3333      get { return (IValueLookupParameter<IPermutationManipulator>)Parameters["InnerManipulator"]; }
     
    3535
    3636    [StorableConstructor]
    37     private PermutationManipualtor(bool deserializing) : base(deserializing) { }
     37    private AlbaPermutationManipualtor(bool deserializing) : base(deserializing) { }
    3838
    39     public PermutationManipualtor()
     39    public AlbaPermutationManipualtor()
    4040      : base() {
    4141        Parameters.Add(new ValueLookupParameter<IPermutationManipulator>("InnerManipulator", "The permutation manipulator.", new TranslocationManipulator()));
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Moves/AlbaMoveMaker.cs

    r4208 r4346  
    2626
    2727namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
    28   [Item("PermutationTranslocationMoveMaker", "An operator which makes translocation moves for the Alba representation.")]
     28  [Item("AlbaTranslocationMoveMaker", "An operator which makes translocation moves for the Alba representation.")]
    2929  [StorableClass]
    3030  public abstract class AlbaMoveMaker : AlbaMoveOperator {
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Moves/AlbaPermutationMoveOperator.cs

    r4341 r4346  
    2727
    2828namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
    29   [Item("PermutationMoveOperator", "A move operator for an Alba VRP representation using an inner permutation move operator.")]
     29  [Item("AlbaPermutationMoveOperator", "A move operator for an Alba VRP representation using an inner permutation move operator.")]
    3030  [StorableClass]
    31   public abstract class PermutationMoveOperator : AlbaMoveOperator {   
     31  public abstract class AlbaPermutationMoveOperator : AlbaMoveOperator {   
    3232    [Storable]
    3333    protected abstract IPermutationMoveOperator PermutationMoveOperatorParameter { get; set; }
    3434
    3535    [StorableConstructor]
    36     protected PermutationMoveOperator(bool deserializing) : base(deserializing) { }
     36    protected AlbaPermutationMoveOperator(bool deserializing) : base(deserializing) { }
    3737
    38     public PermutationMoveOperator()
     38    public AlbaPermutationMoveOperator()
    3939      : base()
    4040    {
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Moves/Interfaces/IAlbaIntraRouteInversionMoveOperator.cs

    r4206 r4346  
    2626namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
    2727  public interface IAlbaIntraRouteInversionMoveOperator : IVRPMoveOperator {
    28     ILookupParameter<IntraRouteInversionMove> IntraRouteInversionMoveParameter { get; }
     28    ILookupParameter<AlbaIntraRouteInversionMove> IntraRouteInversionMoveParameter { get; }
    2929  }
    3030}
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Moves/Interfaces/IAlbaLambdaInterchangeMoveOperator.cs

    r4204 r4346  
    2626namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
    2727  public interface IAlbaLambdaInterchangeMoveOperator : IVRPMoveOperator {
    28     ILookupParameter<LambdaInterchangeMove> LambdaInterchangeMoveParameter { get; }
     28    ILookupParameter<AlbaLambdaInterchangeMove> LambdaInterchangeMoveParameter { get; }
    2929  }
    3030}
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Moves/IntraRouteInversion/AlbaExhaustiveIntraRouteInversionMoveGenerator.cs

    r4341 r4346  
    2929
    3030namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
    31   [Item("ExhaustiveIntraRouteInversionGenerator", "Generates all possible intra route inversion moves from a given VRP encoding.")]
     31  [Item("AlbaExhaustiveIntraRouteInversionGenerator", "Generates all possible intra route inversion moves 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.")]
    3232  [StorableClass]
    33   public sealed class ExhaustiveIntraRouteInversionGenerator : IntraRouteInversionMoveGenerator, IExhaustiveMoveGenerator, IAlbaIntraRouteInversionMoveOperator {
     33  public sealed class AlbaExhaustiveIntraRouteInversionGenerator : AlbaIntraRouteInversionMoveGenerator, IExhaustiveMoveGenerator, IAlbaIntraRouteInversionMoveOperator {
    3434    [StorableConstructor]
    35     private ExhaustiveIntraRouteInversionGenerator(bool deserializing) : base(deserializing) { }
     35    private AlbaExhaustiveIntraRouteInversionGenerator(bool deserializing) : base(deserializing) { }
    3636
    37     public ExhaustiveIntraRouteInversionGenerator()
     37    public AlbaExhaustiveIntraRouteInversionGenerator()
    3838      : base() {
    3939    }
    4040
    41     protected override IntraRouteInversionMove[] GenerateMoves(AlbaEncoding individual) {
    42       List<IntraRouteInversionMove> moves = new List<IntraRouteInversionMove>();
     41    protected override AlbaIntraRouteInversionMove[] GenerateMoves(AlbaEncoding individual) {
     42      List<AlbaIntraRouteInversionMove> moves = new List<AlbaIntraRouteInversionMove>();
    4343
    4444      int currentTourStart = 0;
     
    5555          for (int i = 0; i <= tourLength - 4; i++ ) {
    5656            for (int j = i + 2; j <= tourLength - 2; j++) {
    57               IntraRouteInversionMove move = new IntraRouteInversionMove(
     57              AlbaIntraRouteInversionMove move = new AlbaIntraRouteInversionMove(
    5858                currentTourStart + i,
    5959                currentTourStart + j,
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Moves/IntraRouteInversion/AlbaIntraRouteInversionEvaluator.cs

    r4341 r4346  
    2828
    2929namespace HeuristicLab.Problems.VehicleRouting {
    30   [Item("IntraRouteInversionMoveEvaluator", "Evaluates a intra route inversion move for a VRP representation.")]
     30  [Item("AlbaIntraRouteInversionMoveEvaluator", "Evaluates a intra route inversion move for a VRP representation.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
    3131  [StorableClass]
    32   public sealed class IntraRouteInversionMoveEvaluator : VRPMoveEvaluator, IAlbaIntraRouteInversionMoveOperator {
    33     public ILookupParameter<IntraRouteInversionMove> IntraRouteInversionMoveParameter {
    34       get { return (ILookupParameter<IntraRouteInversionMove>)Parameters["IntraRouteInversionMove"]; }
     32  public sealed class AlbaIntraRouteInversionMoveEvaluator : VRPMoveEvaluator, IAlbaIntraRouteInversionMoveOperator {
     33    public ILookupParameter<AlbaIntraRouteInversionMove> IntraRouteInversionMoveParameter {
     34      get { return (ILookupParameter<AlbaIntraRouteInversionMove>)Parameters["AlbaIntraRouteInversionMove"]; }
    3535    }
    3636
    3737    [StorableConstructor]
    38     private IntraRouteInversionMoveEvaluator(bool deserializing) : base(deserializing) { }
     38    private AlbaIntraRouteInversionMoveEvaluator(bool deserializing) : base(deserializing) { }
    3939
    40     public IntraRouteInversionMoveEvaluator()
     40    public AlbaIntraRouteInversionMoveEvaluator()
    4141      : base() {
    42         Parameters.Add(new LookupParameter<IntraRouteInversionMove>("IntraRouteInversionMove", "The move to evaluate."));
     42        Parameters.Add(new LookupParameter<AlbaIntraRouteInversionMove>("AlbaIntraRouteInversionMove", "The move to evaluate."));
    4343    }
    4444
    45     public static TourEvaluation GetMoveQuality(AlbaEncoding individual, IntraRouteInversionMove move,
     45    public static TourEvaluation GetMoveQuality(AlbaEncoding individual, AlbaIntraRouteInversionMove move,
    4646      IntValue vehicles,
    4747      DoubleArray dueTimeArray, DoubleArray serviceTimeArray, DoubleArray readyTimeArray,
     
    5151      ILookupParameter<DoubleMatrix> distanceMatrix, Data.BoolValue useDistanceMatrix) {
    5252      AlbaEncoding newSolution = individual.Clone() as AlbaEncoding;
    53       IntraRouteInversionMoveMaker.Apply(newSolution, move);
     53      AlbaIntraRouteInversionMoveMaker.Apply(newSolution, move);
    5454
    5555      return VRPEvaluator.Evaluate(
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Moves/IntraRouteInversion/AlbaIntraRouteInversionMove.cs

    r4341 r4346  
    2828
    2929namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
    30   [Item("InversionMove", "Item that describes an intra route inversion move on a VRP representation.")]
     30  [Item("InversionMove", "Item that describes an intra route inversion move on a VRP representation.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
    3131  [StorableClass]
    32   public class IntraRouteInversionMove : TwoIndexMove, IVRPMove {
     32  public class AlbaIntraRouteInversionMove : TwoIndexMove, IVRPMove {
    3333    public IVRPEncoding Individual { get { return Permutation as AlbaEncoding; } }
    3434   
    35     public IntraRouteInversionMove()
     35    public AlbaIntraRouteInversionMove()
    3636      : base() {
    3737    }
    3838
    39     public IntraRouteInversionMove(int index1, int index2)
     39    public AlbaIntraRouteInversionMove(int index1, int index2)
    4040      : base(index1, index2, null) {
    4141    }
    4242
    43     public IntraRouteInversionMove(int index1, int index2, AlbaEncoding permutation)
     43    public AlbaIntraRouteInversionMove(int index1, int index2, AlbaEncoding permutation)
    4444      : base(index1, index2, permutation) {
    4545        this.Permutation = permutation.Clone() as AlbaEncoding;
     
    4747
    4848    public override IDeepCloneable Clone(HeuristicLab.Common.Cloner cloner) {
    49       IntraRouteInversionMove clone = new IntraRouteInversionMove(
     49      AlbaIntraRouteInversionMove clone = new AlbaIntraRouteInversionMove(
    5050        Index1, Index2);
    5151
     
    6666      DoubleValue overloadPenalty, DoubleValue tardinessPenalty,
    6767      ILookupParameter<DoubleMatrix> distanceMatrix, Data.BoolValue useDistanceMatrix) {
    68         return IntraRouteInversionMoveEvaluator.GetMoveQuality(Permutation as AlbaEncoding, this, vehicles,
     68        return AlbaIntraRouteInversionMoveEvaluator.GetMoveQuality(Permutation as AlbaEncoding, this, vehicles,
    6969          dueTimeArray, serviceTimeArray, readyTimeArray, demandArray, capacity,
    7070          coordinates, fleetUsageFactor, timeFactor, distanceFactor,
     
    7373
    7474    public IVRPEncoding MakeMove() {
    75       IntraRouteInversionMoveMaker.Apply(Individual as AlbaEncoding, this);
     75      AlbaIntraRouteInversionMoveMaker.Apply(Individual as AlbaEncoding, this);
    7676
    7777      return Individual;
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Moves/IntraRouteInversion/AlbaIntraRouteInversionMoveGenerator.cs

    r4341 r4346  
    2929
    3030namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
    31   [Item("IntraRouteInversionMoveGenerator", "Generates intra route inversion moves from a given VRP encoding.")]
     31  [Item("AlbaIntraRouteInversionMoveGenerator", "Generates intra route inversion moves 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.")]
    3232  [StorableClass]
    33   public abstract class IntraRouteInversionMoveGenerator : AlbaMoveOperator, IExhaustiveMoveGenerator, IAlbaIntraRouteInversionMoveOperator {
    34     public ILookupParameter<IntraRouteInversionMove> IntraRouteInversionMoveParameter {
    35       get { return (ILookupParameter<IntraRouteInversionMove>)Parameters["IntraRouteInversionMove"]; }
     33  public abstract class AlbaIntraRouteInversionMoveGenerator : AlbaMoveOperator, IExhaustiveMoveGenerator, IAlbaIntraRouteInversionMoveOperator {
     34    public ILookupParameter<AlbaIntraRouteInversionMove> IntraRouteInversionMoveParameter {
     35      get { return (ILookupParameter<AlbaIntraRouteInversionMove>)Parameters["AlbaIntraRouteInversionMove"]; }
    3636    }
    3737
     
    4141
    4242    [StorableConstructor]
    43     protected IntraRouteInversionMoveGenerator(bool deserializing) : base(deserializing) { }
     43    protected AlbaIntraRouteInversionMoveGenerator(bool deserializing) : base(deserializing) { }
    4444
    45     public IntraRouteInversionMoveGenerator()
     45    public AlbaIntraRouteInversionMoveGenerator()
    4646      : base() {
    47         Parameters.Add(new LookupParameter<IntraRouteInversionMove>("IntraRouteInversionMove", "The moves that should be generated in subscopes."));
     47        Parameters.Add(new LookupParameter<AlbaIntraRouteInversionMove>("AlbaIntraRouteInversionMove", "The moves that should be generated in subscopes."));
    4848        Parameters.Add(new ScopeParameter("CurrentScope", "The current scope where the moves should be added as subscopes."));
    4949    }
    5050
    51     protected abstract IntraRouteInversionMove[] GenerateMoves(AlbaEncoding individual);
     51    protected abstract AlbaIntraRouteInversionMove[] GenerateMoves(AlbaEncoding individual);
    5252
    5353    public override IOperation Apply() {
     
    5555
    5656      AlbaEncoding individual = VRPToursParameter.ActualValue as AlbaEncoding;
    57       IntraRouteInversionMove[] moves = GenerateMoves(individual);
     57      AlbaIntraRouteInversionMove[] moves = GenerateMoves(individual);
    5858      Scope[] moveScopes = new Scope[moves.Length];
    5959      for (int i = 0; i < moveScopes.Length; i++) {
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Moves/IntraRouteInversion/AlbaIntraRouteInversionMoveMaker.cs

    r4341 r4346  
    2828
    2929namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
    30   [Item("IntraRouteInversionMoveMaker", "Peforms the SLS move on a given VRP encoding and updates the quality.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
     30  [Item("AlbaIntraRouteInversionMoveMaker", "Peforms the SLS move on a given VRP encoding and updates the quality.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
    3131  [StorableClass]
    32   public class IntraRouteInversionMoveMaker : AlbaMoveMaker, IAlbaIntraRouteInversionMoveOperator, IMoveMaker {
     32  public class AlbaIntraRouteInversionMoveMaker : AlbaMoveMaker, IAlbaIntraRouteInversionMoveOperator, IMoveMaker {
    3333    public override bool CanChangeName {
    3434      get { return false; }
     
    4040      get { return (ILookupParameter<DoubleValue>)Parameters["MoveQuality"]; }
    4141    }
    42     public ILookupParameter<IntraRouteInversionMove> IntraRouteInversionMoveParameter {
    43       get { return (ILookupParameter<IntraRouteInversionMove>)Parameters["IntraRouteInversionMove"]; }
     42    public ILookupParameter<AlbaIntraRouteInversionMove> IntraRouteInversionMoveParameter {
     43      get { return (ILookupParameter<AlbaIntraRouteInversionMove>)Parameters["AlbaIntraRouteInversionMove"]; }
    4444    }
    4545
    4646    [StorableConstructor]
    47     private IntraRouteInversionMoveMaker(bool deserializing) : base(deserializing) { }
     47    private AlbaIntraRouteInversionMoveMaker(bool deserializing) : base(deserializing) { }
    4848
    49     public IntraRouteInversionMoveMaker()
     49    public AlbaIntraRouteInversionMoveMaker()
    5050      : base() {
    5151      Parameters.Add(new LookupParameter<DoubleValue>("Quality", "The quality of the solution."));
    52       Parameters.Add(new LookupParameter<IntraRouteInversionMove>("IntraRouteInversionMove", "The move to make."));
     52      Parameters.Add(new LookupParameter<AlbaIntraRouteInversionMove>("AlbaIntraRouteInversionMove", "The move to make."));
    5353      Parameters.Add(new LookupParameter<DoubleValue>("MoveQuality", "The relative quality of the move."));
    5454    }
    5555
    56     public static void Apply(AlbaEncoding solution, IntraRouteInversionMove move) {
    57       IntraRouteInversionManipulator.Apply(solution, move.Index1, move.Index2);
     56    public static void Apply(AlbaEncoding solution, AlbaIntraRouteInversionMove move) {
     57      AlbaIntraRouteInversionManipulator.Apply(solution, move.Index1, move.Index2);
    5858    }
    5959
     
    6161      IOperation next = base.Apply();
    6262     
    63       IntraRouteInversionMove move = IntraRouteInversionMoveParameter.ActualValue;
     63      AlbaIntraRouteInversionMove move = IntraRouteInversionMoveParameter.ActualValue;
    6464      DoubleValue moveQuality = MoveQualityParameter.ActualValue;
    6565      DoubleValue quality = QualityParameter.ActualValue;
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Moves/IntraRouteInversion/AlbaStochasticIntraRouteInversionMutliMoveGenerator.cs

    r4341 r4346  
    3030
    3131namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
    32   [Item("StochasticIntraRouteInversionMultiMoveGenerator", "Generates multiple random intra route inversion moves from a given VRP encoding.")]
     32  [Item("AlbaStochasticIntraRouteInversionMultiMoveGenerator", "Generates multiple random intra route inversion moves 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.")]
    3333  [StorableClass]
    34   public sealed class StochasticIntraRouteInversionMultiMoveGenerator : IntraRouteInversionMoveGenerator, IStochasticOperator, IMultiMoveGenerator, IAlbaIntraRouteInversionMoveOperator {
     34  public sealed class AlbaStochasticIntraRouteInversionMultiMoveGenerator : AlbaIntraRouteInversionMoveGenerator, IStochasticOperator, IMultiMoveGenerator, IAlbaIntraRouteInversionMoveOperator {
    3535    public ILookupParameter<IRandom> RandomParameter {
    3636      get { return (ILookupParameter<IRandom>)Parameters["Random"]; }
     
    4242   
    4343    [StorableConstructor]
    44     private StochasticIntraRouteInversionMultiMoveGenerator(bool deserializing) : base(deserializing) { }
     44    private AlbaStochasticIntraRouteInversionMultiMoveGenerator(bool deserializing) : base(deserializing) { }
    4545
    46     public StochasticIntraRouteInversionMultiMoveGenerator()
     46    public AlbaStochasticIntraRouteInversionMultiMoveGenerator()
    4747      : base() {
    4848        Parameters.Add(new LookupParameter<IRandom>("Random", "The random number generator."));
     
    5050    }
    5151
    52     protected override IntraRouteInversionMove[] GenerateMoves(AlbaEncoding individual) {
     52    protected override AlbaIntraRouteInversionMove[] GenerateMoves(AlbaEncoding individual) {
    5353      int sampleSize = SampleSizeParameter.ActualValue.Value;
    5454
    55       IntraRouteInversionMove[] moves = new IntraRouteInversionMove[sampleSize];
     55      AlbaIntraRouteInversionMove[] moves = new AlbaIntraRouteInversionMove[sampleSize];
    5656      for (int i = 0; i < sampleSize; i++) {
    57         moves[i] = StochasticIntraRouteInversionSingleMoveGenerator.Apply(
     57        moves[i] = AlbaStochasticIntraRouteInversionSingleMoveGenerator.Apply(
    5858          individual, Cities, RandomParameter.ActualValue);
    5959      }
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Moves/IntraRouteInversion/AlbaStochasticIntraRouteInversionSingleMoveGenerator.cs

    r4341 r4346  
    3030
    3131namespace 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.")]
    3333  [StorableClass]
    34   public sealed class StochasticIntraRouteInversionSingleMoveGenerator : IntraRouteInversionMoveGenerator,
     34  public sealed class AlbaStochasticIntraRouteInversionSingleMoveGenerator : AlbaIntraRouteInversionMoveGenerator,
    3535    IStochasticOperator, ISingleMoveGenerator, IAlbaIntraRouteInversionMoveOperator, IMultiVRPMoveGenerator {
    3636    #region IMultiVRPMoveOperator Members
    3737
    3838    public ILookupParameter VRPMoveParameter {
    39       get { return (ILookupParameter)Parameters["IntraRouteInversionMove"]; }
     39      get { return (ILookupParameter)Parameters["AlbaIntraRouteInversionMove"]; }
    4040    }
    4141
     
    4747   
    4848    [StorableConstructor]
    49     private StochasticIntraRouteInversionSingleMoveGenerator(bool deserializing) : base(deserializing) { }
     49    private AlbaStochasticIntraRouteInversionSingleMoveGenerator(bool deserializing) : base(deserializing) { }
    5050
    51     public StochasticIntraRouteInversionSingleMoveGenerator()
     51    public AlbaStochasticIntraRouteInversionSingleMoveGenerator()
    5252      : base() {
    5353        Parameters.Add(new LookupParameter<IRandom>("Random", "The random number generator."));
    5454    }
    5555
    56     public static IntraRouteInversionMove Apply(AlbaEncoding individual, int cities, IRandom rand) {
     56    public static AlbaIntraRouteInversionMove Apply(AlbaEncoding individual, int cities, IRandom rand) {
    5757      int index1 = -1;
    5858      int index2 = -1;
     
    8686      }
    8787
    88       return new IntraRouteInversionMove(index1, index2, individual);
     88      return new AlbaIntraRouteInversionMove(index1, index2, individual);
    8989    }
    9090
    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>();
    9393
    94       IntraRouteInversionMove move = Apply(individual, Cities, RandomParameter.ActualValue);
     94      AlbaIntraRouteInversionMove move = Apply(individual, Cities, RandomParameter.ActualValue);
    9595      if(move != null)
    9696        moves.Add(move);
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Moves/LambdaInterchange/AlbaExhaustiveLambdaInterchangeMoveGenerator.cs

    r4341 r4346  
    2929
    3030namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
    31   [Item("ExhaustiveLambdaInterchangeMoveGenerator", "Generates all possible lambda interchange moves from a given VRP encoding.")]
     31  [Item("AlbaExhaustiveLambdaInterchangeMoveGenerator", "Generates all possible lambda interchange moves 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.")]
    3232  [StorableClass]
    33   public sealed class ExhaustiveLambdaInterchangeMoveGenerator : LambdaInterchangeMoveGenerator, IExhaustiveMoveGenerator, IAlbaLambdaInterchangeMoveOperator {
     33  public sealed class AlbaExhaustiveLambdaInterchangeMoveGenerator : AlbaLambdaInterchangeMoveGenerator, IExhaustiveMoveGenerator, IAlbaLambdaInterchangeMoveOperator {
    3434    [StorableConstructor]
    35     private ExhaustiveLambdaInterchangeMoveGenerator(bool deserializing) : base(deserializing) { }
     35    private AlbaExhaustiveLambdaInterchangeMoveGenerator(bool deserializing) : base(deserializing) { }
    3636
    37     public ExhaustiveLambdaInterchangeMoveGenerator()
     37    public AlbaExhaustiveLambdaInterchangeMoveGenerator()
    3838      : base() {
    3939    }
    4040
    41     protected override LambdaInterchangeMove[] GenerateMoves(AlbaEncoding individual, int lambda) {
    42       List<LambdaInterchangeMove> moves = new List<LambdaInterchangeMove>();
     41    protected override AlbaLambdaInterchangeMove[] GenerateMoves(AlbaEncoding individual, int lambda) {
     42      List<AlbaLambdaInterchangeMove> moves = new List<AlbaLambdaInterchangeMove>();
    4343
    4444      List<Tour> tours = individual.GetTours();
     
    5454                for(int index1 = 0; index1 < tour1.Cities.Count - length1 + 1; index1++) {
    5555                  for(int index2 = 0; index2 < tour2.Cities.Count - length2 + 1; index2++) {
    56                     moves.Add(new LambdaInterchangeMove(tour1Index, index1, length1,
     56                    moves.Add(new AlbaLambdaInterchangeMove(tour1Index, index1, length1,
    5757                      tour2Index, index2, length2, individual));
    5858                  }
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Moves/LambdaInterchange/AlbaLambdaInterchangeMove.cs

    r4341 r4346  
    2929
    3030namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
    31   [Item("InversionMove", "Item that describes a lambda move on a VRP representation.")]
     31  [Item("InversionMove", "Item that describes a lambda move on a VRP representation.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
    3232  [StorableClass]
    33   public class LambdaInterchangeMove: Item, IVRPMove {
     33  public class AlbaLambdaInterchangeMove: Item, IVRPMove {
    3434    [Storable]
    3535    public IVRPEncoding Individual { get; protected set; }
     
    5353    public int Length2 { get; protected set; }
    5454   
    55     public LambdaInterchangeMove(): base() {
     55    public AlbaLambdaInterchangeMove(): base() {
    5656      Tour1 = -1;
    5757      Position1 = -1;
     
    6565    }
    6666
    67     public LambdaInterchangeMove(int tour1, int position1, int length1,
     67    public AlbaLambdaInterchangeMove(int tour1, int position1, int length1,
    6868      int tour2, int position2, int length2, AlbaEncoding permutation) {
    6969        Tour1 = tour1;
     
    7979
    8080    public override IDeepCloneable Clone(HeuristicLab.Common.Cloner cloner) {
    81       LambdaInterchangeMove clone = new LambdaInterchangeMove();
     81      AlbaLambdaInterchangeMove clone = new AlbaLambdaInterchangeMove();
    8282
    8383      clone.Tour1 = Tour1;
     
    105105      DoubleValue overloadPenalty, DoubleValue tardinessPenalty,
    106106      ILookupParameter<DoubleMatrix> distanceMatrix, Data.BoolValue useDistanceMatrix) {
    107         return LambdaInterchangeMoveEvaluator.GetMoveQuality(Individual as AlbaEncoding, this, vehicles,
     107        return AlbaLambdaInterchangeMoveEvaluator.GetMoveQuality(Individual as AlbaEncoding, this, vehicles,
    108108          dueTimeArray, serviceTimeArray, readyTimeArray, demandArray, capacity,
    109109          coordinates, fleetUsageFactor, timeFactor, distanceFactor,
     
    112112
    113113    public IVRPEncoding MakeMove() {
    114       LambdaInterchangeMoveMaker.Apply(Individual as AlbaEncoding, this);
     114      AlbaLambdaInterchangeMoveMaker.Apply(Individual as AlbaEncoding, this);
    115115
    116116      return Individual;
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Moves/LambdaInterchange/AlbaLambdaInterchangeMoveEvaluator.cs

    r4341 r4346  
    2828
    2929namespace HeuristicLab.Problems.VehicleRouting {
    30   [Item("LambdaInterchangeMoveEvaluator", "Evaluates a lamnbda interchange move for a VRP representation.")]
     30  [Item("AlbaLambdaInterchangeMoveEvaluator", "Evaluates a lamnbda interchange move for a VRP representation.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
    3131  [StorableClass]
    32   public sealed class LambdaInterchangeMoveEvaluator : VRPMoveEvaluator, IAlbaLambdaInterchangeMoveOperator {
    33     public ILookupParameter<LambdaInterchangeMove> LambdaInterchangeMoveParameter {
    34       get { return (ILookupParameter<LambdaInterchangeMove>)Parameters["LambdaInterchangeMove"]; }
     32  public sealed class AlbaLambdaInterchangeMoveEvaluator : VRPMoveEvaluator, IAlbaLambdaInterchangeMoveOperator {
     33    public ILookupParameter<AlbaLambdaInterchangeMove> LambdaInterchangeMoveParameter {
     34      get { return (ILookupParameter<AlbaLambdaInterchangeMove>)Parameters["AlbaLambdaInterchangeMove"]; }
    3535    }
    3636
    3737    [StorableConstructor]
    38     private LambdaInterchangeMoveEvaluator(bool deserializing) : base(deserializing) { }
     38    private AlbaLambdaInterchangeMoveEvaluator(bool deserializing) : base(deserializing) { }
    3939
    40     public LambdaInterchangeMoveEvaluator()
     40    public AlbaLambdaInterchangeMoveEvaluator()
    4141      : base() {
    42       Parameters.Add(new LookupParameter<LambdaInterchangeMove>("LambdaInterchangeMove", "The move to evaluate."));
     42      Parameters.Add(new LookupParameter<AlbaLambdaInterchangeMove>("AlbaLambdaInterchangeMove", "The move to evaluate."));
    4343    }
    4444
    45     public static TourEvaluation GetMoveQuality(AlbaEncoding individual, LambdaInterchangeMove move,
     45    public static TourEvaluation GetMoveQuality(AlbaEncoding individual, AlbaLambdaInterchangeMove move,
    4646      IntValue vehicles,
    4747      DoubleArray dueTimeArray, DoubleArray serviceTimeArray, DoubleArray readyTimeArray,
     
    5151      ILookupParameter<DoubleMatrix> distanceMatrix, Data.BoolValue useDistanceMatrix) {
    5252      AlbaEncoding newSolution = individual.Clone() as AlbaEncoding;
    53       LambdaInterchangeMoveMaker.Apply(newSolution, move);
     53      AlbaLambdaInterchangeMoveMaker.Apply(newSolution, move);
    5454
    5555      return VRPEvaluator.Evaluate(
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Moves/LambdaInterchange/AlbaLambdaInterchangeMoveGenerator.cs

    r4341 r4346  
    3030
    3131namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
    32   [Item("LambdaInterchangeMoveGenerator", "Generates lambda interchange moves from a given VRP encoding.")]
     32  [Item("AlbaLambdaInterchangeMoveGenerator", "Generates lambda interchange moves 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.")]
    3333  [StorableClass]
    34   public abstract class LambdaInterchangeMoveGenerator : AlbaMoveOperator, IExhaustiveMoveGenerator, IAlbaLambdaInterchangeMoveOperator {
     34  public abstract class AlbaLambdaInterchangeMoveGenerator : AlbaMoveOperator, IExhaustiveMoveGenerator, IAlbaLambdaInterchangeMoveOperator {
    3535    #region IAlbaLambdaInterchangeMoveOperator Members
    3636
    37     public ILookupParameter<LambdaInterchangeMove> LambdaInterchangeMoveParameter {
    38       get { return (ILookupParameter<LambdaInterchangeMove>)Parameters["LambdaInterchangeMove"]; }
     37    public ILookupParameter<AlbaLambdaInterchangeMove> LambdaInterchangeMoveParameter {
     38      get { return (ILookupParameter<AlbaLambdaInterchangeMove>)Parameters["AlbaLambdaInterchangeMove"]; }
    3939    }
    4040
     
    5050
    5151    [StorableConstructor]
    52     protected LambdaInterchangeMoveGenerator(bool deserializing) : base(deserializing) { }
     52    protected AlbaLambdaInterchangeMoveGenerator(bool deserializing) : base(deserializing) { }
    5353
    54     public LambdaInterchangeMoveGenerator()
     54    public AlbaLambdaInterchangeMoveGenerator()
    5555      : base() {
    56         Parameters.Add(new LookupParameter<LambdaInterchangeMove>("LambdaInterchangeMove", "The moves that should be generated in subscopes."));
     56        Parameters.Add(new LookupParameter<AlbaLambdaInterchangeMove>("AlbaLambdaInterchangeMove", "The moves that should be generated in subscopes."));
    5757        Parameters.Add(new ScopeParameter("CurrentScope", "The current scope where the moves should be added as subscopes."));
    5858        Parameters.Add(new ValueParameter<IntValue>("Lambda", "The lambda value.", new IntValue(1)));
    5959    }
    6060
    61     protected abstract LambdaInterchangeMove[] GenerateMoves(AlbaEncoding individual, int lambda);
     61    protected abstract AlbaLambdaInterchangeMove[] GenerateMoves(AlbaEncoding individual, int lambda);
    6262
    6363    public override IOperation Apply() {
     
    6565
    6666      AlbaEncoding individual = VRPToursParameter.ActualValue as AlbaEncoding;
    67       LambdaInterchangeMove[] moves = GenerateMoves(individual, LambdaParameter.Value.Value);
     67      AlbaLambdaInterchangeMove[] moves = GenerateMoves(individual, LambdaParameter.Value.Value);
    6868      Scope[] moveScopes = new Scope[moves.Length];
    6969      for (int i = 0; i < moveScopes.Length; i++) {
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Moves/LambdaInterchange/AlbaLambdaInterchangeMoveMaker.cs

    r4341 r4346  
    2929
    3030namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
    31   [Item("LambdaInterchangeMoveMaker", "Peforms a lambda interchange moves on a given VRP encoding and updates the quality. It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
     31  [Item("AlbaLambdaInterchangeMoveMaker", "Peforms a lambda interchange moves on a given VRP encoding and updates the quality. It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
    3232  [StorableClass]
    33   public class LambdaInterchangeMoveMaker : AlbaMoveMaker, IAlbaLambdaInterchangeMoveOperator, IMoveMaker {
     33  public class AlbaLambdaInterchangeMoveMaker : AlbaMoveMaker, IAlbaLambdaInterchangeMoveOperator, IMoveMaker {
    3434    public override bool CanChangeName {
    3535      get { return false; }
     
    4141      get { return (ILookupParameter<DoubleValue>)Parameters["MoveQuality"]; }
    4242    }
    43     public ILookupParameter<LambdaInterchangeMove> LambdaInterchangeMoveParameter {
    44       get { return (ILookupParameter<LambdaInterchangeMove>)Parameters["LambdaInterchangeMove"]; }
     43    public ILookupParameter<AlbaLambdaInterchangeMove> LambdaInterchangeMoveParameter {
     44      get { return (ILookupParameter<AlbaLambdaInterchangeMove>)Parameters["AlbaLambdaInterchangeMove"]; }
    4545    }
    4646
    4747    [StorableConstructor]
    48     private LambdaInterchangeMoveMaker(bool deserializing) : base(deserializing) { }
     48    private AlbaLambdaInterchangeMoveMaker(bool deserializing) : base(deserializing) { }
    4949
    50     public LambdaInterchangeMoveMaker()
     50    public AlbaLambdaInterchangeMoveMaker()
    5151      : base() {
    5252      Parameters.Add(new LookupParameter<DoubleValue>("Quality", "The quality of the solution."));
    53       Parameters.Add(new LookupParameter<LambdaInterchangeMove>("LambdaInterchangeMove", "The move to make."));
     53      Parameters.Add(new LookupParameter<AlbaLambdaInterchangeMove>("AlbaLambdaInterchangeMove", "The move to make."));
    5454      Parameters.Add(new LookupParameter<DoubleValue>("MoveQuality", "The relative quality of the move."));
    5555    }
    5656
    57     public static void Apply(AlbaEncoding solution, LambdaInterchangeMove move) {
    58       LambdaInterchangeManipulator.Apply(
     57    public static void Apply(AlbaEncoding solution, AlbaLambdaInterchangeMove move) {
     58      AlbaLambdaInterchangeManipulator.Apply(
    5959        solution,
    6060        move.Tour1, move.Position1, move.Length1,
     
    6565      IOperation next = base.Apply();
    6666     
    67       LambdaInterchangeMove move = LambdaInterchangeMoveParameter.ActualValue;
     67      AlbaLambdaInterchangeMove move = LambdaInterchangeMoveParameter.ActualValue;
    6868      DoubleValue moveQuality = MoveQualityParameter.ActualValue;
    6969      DoubleValue quality = QualityParameter.ActualValue;
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Moves/LambdaInterchange/AlbaStochasticLambdaInterchangeMutliMoveGenerator.cs

    r4341 r4346  
    3030
    3131namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
    32   [Item("StochasticLambdaInterchangeMultiMoveGenerator", "Generates multiple random lambda interchange moves from a given VRP encoding.")]
     32  [Item("AlbaStochasticLambdaInterchangeMultiMoveGenerator", "Generates multiple random lambda interchange moves 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.")]
    3333  [StorableClass]
    34   public sealed class StochasticLambdaInterchangeMultiMoveGenerator : LambdaInterchangeMoveGenerator, IStochasticOperator, IMultiMoveGenerator, IAlbaLambdaInterchangeMoveOperator {
     34  public sealed class AlbaStochasticLambdaInterchangeMultiMoveGenerator : AlbaLambdaInterchangeMoveGenerator, IStochasticOperator, IMultiMoveGenerator, IAlbaLambdaInterchangeMoveOperator {
    3535    public ILookupParameter<IRandom> RandomParameter {
    3636      get { return (ILookupParameter<IRandom>)Parameters["Random"]; }
     
    4242   
    4343    [StorableConstructor]
    44     private StochasticLambdaInterchangeMultiMoveGenerator(bool deserializing) : base(deserializing) { }
     44    private AlbaStochasticLambdaInterchangeMultiMoveGenerator(bool deserializing) : base(deserializing) { }
    4545
    46     public StochasticLambdaInterchangeMultiMoveGenerator()
     46    public AlbaStochasticLambdaInterchangeMultiMoveGenerator()
    4747      : base() {
    4848        Parameters.Add(new LookupParameter<IRandom>("Random", "The random number generator."));
     
    5050    }
    5151
    52     protected override LambdaInterchangeMove[] GenerateMoves(AlbaEncoding individual, int lambda) {
     52    protected override AlbaLambdaInterchangeMove[] GenerateMoves(AlbaEncoding individual, int lambda) {
    5353      int sampleSize = SampleSizeParameter.ActualValue.Value;
    5454
    55       LambdaInterchangeMove[] moves = new LambdaInterchangeMove[sampleSize];
     55      AlbaLambdaInterchangeMove[] moves = new AlbaLambdaInterchangeMove[sampleSize];
    5656      for (int i = 0; i < sampleSize; i++) {
    57         moves[i] = StochasticLambdaInterchangeSingleMoveGenerator.Apply(
     57        moves[i] = AlbaStochasticLambdaInterchangeSingleMoveGenerator.Apply(
    5858          individual, Cities, lambda, RandomParameter.ActualValue);
    5959      }
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Moves/LambdaInterchange/AlbaStochasticLambdaInterchangeSingleMoveGenerator.cs

    r4341 r4346  
    3030
    3131namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
    32   [Item("StochasticLambdaInterchangeSingleMoveGenerator", "Generates one random lambda interchange move from a given VRP encoding.")]
     32  [Item("AlbaStochasticLambdaInterchangeSingleMoveGenerator", "Generates one random lambda interchange 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.")]
    3333  [StorableClass]
    34   public sealed class StochasticLambdaInterchangeSingleMoveGenerator : LambdaInterchangeMoveGenerator,
     34  public sealed class AlbaStochasticLambdaInterchangeSingleMoveGenerator : AlbaLambdaInterchangeMoveGenerator,
    3535    IStochasticOperator, ISingleMoveGenerator, IAlbaLambdaInterchangeMoveOperator, IMultiVRPMoveGenerator {
    3636    #region IMultiVRPMoveOperator Members
    3737
    3838    public ILookupParameter VRPMoveParameter {
    39       get { return (ILookupParameter)Parameters["LambdaInterchangeMove"]; }
     39      get { return (ILookupParameter)Parameters["AlbaLambdaInterchangeMove"]; }
    4040    }
    4141
     
    4747   
    4848    [StorableConstructor]
    49     private StochasticLambdaInterchangeSingleMoveGenerator(bool deserializing) : base(deserializing) { }
     49    private AlbaStochasticLambdaInterchangeSingleMoveGenerator(bool deserializing) : base(deserializing) { }
    5050
    51     public StochasticLambdaInterchangeSingleMoveGenerator()
     51    public AlbaStochasticLambdaInterchangeSingleMoveGenerator()
    5252      : base() {
    5353        Parameters.Add(new LookupParameter<IRandom>("Random", "The random number generator."));
    5454    }
    5555
    56     public static LambdaInterchangeMove Apply(AlbaEncoding individual, int cities, int lambda, IRandom rand) {
     56    public static AlbaLambdaInterchangeMove Apply(AlbaEncoding individual, int cities, int lambda, IRandom rand) {
    5757      List<Tour> tours = individual.GetTours();
    5858
     
    7474      int index2 = rand.Next(route2.Cities.Count - length2 + 1);
    7575
    76       return new LambdaInterchangeMove(route1Index, index1, length1, route2Index, index2, length2, individual);
     76      return new AlbaLambdaInterchangeMove(route1Index, index1, length1, route2Index, index2, length2, individual);
    7777    }
    7878
    79     protected override LambdaInterchangeMove[] GenerateMoves(AlbaEncoding individual, int lambda) {
    80       List<LambdaInterchangeMove> moves = new List<LambdaInterchangeMove>();
     79    protected override AlbaLambdaInterchangeMove[] GenerateMoves(AlbaEncoding individual, int lambda) {
     80      List<AlbaLambdaInterchangeMove> moves = new List<AlbaLambdaInterchangeMove>();
    8181
    82       LambdaInterchangeMove move = Apply(individual, Cities, lambda, RandomParameter.ActualValue);
     82      AlbaLambdaInterchangeMove move = Apply(individual, Cities, lambda, RandomParameter.ActualValue);
    8383      if(move != null)
    8484        moves.Add(move);
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMoveEvaluator.cs

    r4341 r4346  
    2727
    2828namespace HeuristicLab.Problems.VehicleRouting {
    29   [Item("PermutationTranslocationMoveEvaluator", "Evaluates a translocation or insertion move (3-opt) for a VRP representation.")]
     29  [Item("AlbaTranslocationMoveEvaluator", "Evaluates a translocation or insertion move (3-opt) for a VRP representation.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
    3030  [StorableClass]
    31   public sealed class PermutationTranslocationMoveEvaluator : VRPMoveEvaluator, IAlbaTranslocationMoveOperator {
     31  public sealed class AlbaTranslocationMoveEvaluator : VRPMoveEvaluator, IAlbaTranslocationMoveOperator {
    3232    public ILookupParameter<TranslocationMove> TranslocationMoveParameter {
    3333      get { return (ILookupParameter<TranslocationMove>)Parameters["TranslocationMove"]; }
     
    3636
    3737    [StorableConstructor]
    38     private PermutationTranslocationMoveEvaluator(bool deserializing) : base(deserializing) { }
     38    private AlbaTranslocationMoveEvaluator(bool deserializing) : base(deserializing) { }
    3939
    40     public PermutationTranslocationMoveEvaluator()
     40    public AlbaTranslocationMoveEvaluator()
    4141      : base() {
    4242      Parameters.Add(new LookupParameter<TranslocationMove>("TranslocationMove", "The move to evaluate."));
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMoveGenerator.cs

    r4341 r4346  
    2929
    3030namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
    31   [Item("PermutationTranslocationMoveGenerator", "An operator which generates translocation moves for a VRP representation.")]
     31  [Item("AlbaTranslocationMoveGenerator", "An operator which generates translocation moves for a VRP representation.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
    3232  [StorableClass]
    33   public sealed class PermutationTranslocationMoveGenerator : PermutationMoveOperator, IAlbaTranslocationMoveOperator, IMultiMoveGenerator {
     33  public sealed class AlbaTranslocationMoveGenerator : AlbaPermutationMoveOperator, IAlbaTranslocationMoveOperator, IMultiMoveGenerator {
    3434    public IValueLookupParameter<TranslocationMoveGenerator> TranslocationMoveGeneratorParameter {
    3535      get { return (IValueLookupParameter<TranslocationMoveGenerator>)Parameters["TranslocationMoveGenerator"]; }
     
    6969
    7070    [StorableConstructor]
    71     private PermutationTranslocationMoveGenerator(bool deserializing) : base(deserializing) { }
     71    private AlbaTranslocationMoveGenerator(bool deserializing) : base(deserializing) { }
    7272
    73     public PermutationTranslocationMoveGenerator()
     73    public AlbaTranslocationMoveGenerator()
    7474      : base() {
    7575      Parameters.Add(new ValueLookupParameter<TranslocationMoveGenerator>("TranslocationMoveGenerator", "The move generator.",
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMoveHardTabuCriterion.cs

    r4341 r4346  
    2727
    2828namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
    29   [Item("PermutationTranslocationMoveHardTabuCriterion", "An operator which checks if translocation moves are tabu using a hard criterion for a VRP representation.")]
     29  [Item("AlbaTranslocationMoveHardTabuCriterion", "An operator which checks if translocation moves are tabu using a hard criterion for a VRP representation.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
    3030  [StorableClass]
    31   public sealed class PermutationTranslocationMoveHardTabuCriterion : PermutationMoveOperator, IAlbaTranslocationMoveOperator, ITabuChecker {
     31  public sealed class AlbaTranslocationMoveHardTabuCriterion : AlbaPermutationMoveOperator, IAlbaTranslocationMoveOperator, ITabuChecker {
    3232    private TranslocationMoveHardTabuCriterion tabuChecker;
    3333    protected override IPermutationMoveOperator PermutationMoveOperatorParameter {
     
    5757
    5858    [StorableConstructor]
    59     private PermutationTranslocationMoveHardTabuCriterion(bool deserializing) : base(deserializing) { }
     59    private AlbaTranslocationMoveHardTabuCriterion(bool deserializing) : base(deserializing) { }
    6060
    61     public PermutationTranslocationMoveHardTabuCriterion()
     61    public AlbaTranslocationMoveHardTabuCriterion()
    6262      : base() {
    6363      tabuChecker = new TranslocationMoveHardTabuCriterion();
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMoveMaker.cs

    r4341 r4346  
    2727
    2828namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
    29   [Item("PermutationTranslocationMoveMaker", "An operator which makes translocation moves for a VRP representation.")]
     29  [Item("AlbaTranslocationMoveMaker", "An operator which makes translocation moves for a VRP representation.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
    3030  [StorableClass]
    31   public sealed class PermutationTranslocationMoveMaker : AlbaMoveMaker, IAlbaTranslocationMoveOperator, IVRPMoveMaker {
     31  public sealed class AlbaTranslocationMoveMaker : AlbaMoveMaker, IAlbaTranslocationMoveOperator, IVRPMoveMaker {
    3232    private TranslocationMoveMaker moveMaker;
    3333
     
    4949
    5050    [StorableConstructor]
    51     private PermutationTranslocationMoveMaker(bool deserializing) : base(deserializing) { }
     51    private AlbaTranslocationMoveMaker(bool deserializing) : base(deserializing) { }
    5252
    53     public PermutationTranslocationMoveMaker()
     53    public AlbaTranslocationMoveMaker()
    5454      : base() {
    5555      moveMaker = new TranslocationMoveMaker();
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMoveSoftTabuCriterion.cs

    r4341 r4346  
    2727
    2828namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
    29   [Item("PermutationTranslocationMoveSoftTabuCriterion", "An operator which checks if translocation moves are tabu using a soft criterion for a VRP representation.")]
     29  [Item("AlbaTranslocationMoveSoftTabuCriterion", "An operator which checks if translocation moves are tabu using a soft criterion for a VRP representation.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
    3030  [StorableClass]
    31   public sealed class PermutationTranslocationMoveSoftTabuCriterion : PermutationMoveOperator, IAlbaTranslocationMoveOperator, ITabuChecker {
     31  public sealed class AlbaTranslocationMoveSoftTabuCriterion : AlbaPermutationMoveOperator, IAlbaTranslocationMoveOperator, ITabuChecker {
    3232    private TranslocationMoveSoftTabuCriterion tabuChecker;
    3333    protected override IPermutationMoveOperator PermutationMoveOperatorParameter {
     
    5757
    5858    [StorableConstructor]
    59     private PermutationTranslocationMoveSoftTabuCriterion(bool deserializing) : base(deserializing) { }
     59    private AlbaTranslocationMoveSoftTabuCriterion(bool deserializing) : base(deserializing) { }
    6060
    61     public PermutationTranslocationMoveSoftTabuCriterion()
     61    public AlbaTranslocationMoveSoftTabuCriterion()
    6262      : base() {
    6363      tabuChecker = new TranslocationMoveSoftTabuCriterion();
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMoveTabuMaker.cs

    r4341 r4346  
    2727
    2828namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
    29   [Item("PermutationTranslocationMoveTabuMaker", "An operator which makes translocation moves tabu for a VRP representation.")]
     29  [Item("AlbaTranslocationMoveTabuMaker", "An operator which makes translocation moves tabu for a VRP representation.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
    3030  [StorableClass]
    31   public sealed class PermutationTranslocationMoveTabuMaker : PermutationMoveOperator, IAlbaTranslocationMoveOperator, ITabuMaker {
     31  public sealed class AlbaTranslocationMoveTabuMaker : AlbaPermutationMoveOperator, IAlbaTranslocationMoveOperator, ITabuMaker {
    3232    private TranslocationMoveTabuMaker moveTabuMaker;
    3333    protected override IPermutationMoveOperator PermutationMoveOperatorParameter {
     
    5757
    5858    [StorableConstructor]
    59     private PermutationTranslocationMoveTabuMaker(bool deserializing) : base(deserializing) { }
     59    private AlbaTranslocationMoveTabuMaker(bool deserializing) : base(deserializing) { }
    6060
    61     public PermutationTranslocationMoveTabuMaker()
     61    public AlbaTranslocationMoveTabuMaker()
    6262      : base() {
    6363      moveTabuMaker = new TranslocationMoveTabuMaker();
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/GVR/Crossovers/GVRCrossover.cs

    r4268 r4346  
    2929
    3030namespace HeuristicLab.Problems.VehicleRouting.Encodings.GVR {
    31   [Item("GVRCrossover", "The GVR crossover operation.")]
     31  [Item("GVRCrossover", "The GVR crossover operation. It is implemented as described in Pereira, F.B. et al (2002). GVR: a New Genetic Representation for the Vehicle Routing Problem. AICS 2002, LNAI 2464, pp. 95-102.")]
    3232  [StorableClass]
    3333  public sealed class GVRCrossover : VRPCrossover, IStochasticOperator {
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/GVR/Manipulators/GVRDisplacementManipulator.cs

    r4231 r4346  
    2828
    2929namespace HeuristicLab.Problems.VehicleRouting.Encodings.GVR {
    30   [Item("GVRDisplacementManipulator", "An operator which manipulates a GVR representation by applying a displacement operation. ")]
     30  [Item("GVRDisplacementManipulator", "An operator which manipulates a GVR representation by applying a displacement operation. It is implemented as described in Pereira, F.B. et al (2002). GVR: a New Genetic Representation for the Vehicle Routing Problem. AICS 2002, LNAI 2464, pp. 95-102.")]
    3131  [StorableClass]
    3232  public sealed class GVRDisplacementManipulator : GVRManipulator {
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/GVR/Manipulators/GVRInsertionManipulator.cs

    r4270 r4346  
    2727
    2828namespace HeuristicLab.Problems.VehicleRouting.Encodings.GVR {
    29   [Item("GVRInsertionManipulator", "An operator which manipulates a GVR representation by inserting a customer at another location. ")]
     29  [Item("GVRInsertionManipulator", "An operator which manipulates a GVR representation by inserting a customer at another location. It is implemented as described in Pereira, F.B. et al (2002). GVR: a New Genetic Representation for the Vehicle Routing Problem. AICS 2002, LNAI 2464, pp. 95-102.")]
    3030  [StorableClass]
    3131  public sealed class GVRInsertionManipulator : GVRManipulator {
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/GVR/Manipulators/GVRInversionManipulator.cs

    r4230 r4346  
    2727
    2828namespace HeuristicLab.Problems.VehicleRouting.Encodings.GVR {
    29   [Item("GVRInversionManipulator", "An operator which manipulates a GVR representation by inverting a subroute. ")]
     29  [Item("GVRInversionManipulator", "An operator which manipulates a GVR representation by inverting a subroute. It is implemented as described in Pereira, F.B. et al (2002). GVR: a New Genetic Representation for the Vehicle Routing Problem. AICS 2002, LNAI 2464, pp. 95-102.")]
    3030  [StorableClass]
    3131  public sealed class GVRInversionManipulator : GVRManipulator {
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/GVR/Manipulators/GVRSwapManipulator.cs

    r4230 r4346  
    2727
    2828namespace HeuristicLab.Problems.VehicleRouting.Encodings.GVR {
    29   [Item("GVRSwapManipulator", "An operator which manipulates a GVR representation by swapping two customers. ")]
     29  [Item("GVRSwapManipulator", "An operator which manipulates a GVR representation by swapping two customers. It is implemented as described in Pereira, F.B. et al (2002). GVR: a New Genetic Representation for the Vehicle Routing Problem. AICS 2002, LNAI 2464, pp. 95-102.")]
    3030  [StorableClass]
    3131  public sealed class GVRSwapManipulator : GVRManipulator {
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/General/Creators/MultiVRPSolutionCreator.cs

    r4341 r4346  
    3232
    3333namespace HeuristicLab.Problems.VehicleRouting.Encodings.General {
    34   [Item("MultiVRPCreator", "Randomly selects and applies one of its creator every time it is called.")]
     34  [Item("MultiVRPSolutionCreator", "Randomly selects and applies one of its creator every time it is called.")]
    3535  [StorableClass]
    36   public class MultiVRPCreator : StochasticMultiBranch<IVRPCreator>, IVRPCreator, IStochasticOperator {
     36  public class MultiVRPSolutionCreator : StochasticMultiBranch<IVRPCreator>, IVRPCreator, IStochasticOperator {
    3737    public override bool CanChangeName {
    3838      get { return false; }
     
    7878
    7979    [StorableConstructor]
    80     private MultiVRPCreator(bool deserializing) : base(deserializing) { }
    81     public MultiVRPCreator()
     80    private MultiVRPSolutionCreator(bool deserializing) : base(deserializing) { }
     81    public MultiVRPSolutionCreator()
    8282      : base() {
    8383        Parameters.Add(new LookupParameter<IVRPEncoding>("VRPTours", "The new VRP tours."));
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/General/Crossovers/MultiVRPSolutionCrossover.cs

    r4341 r4346  
    3232
    3333namespace HeuristicLab.Problems.VehicleRouting.Encodings.General {
    34   [Item("MultiVRPCrossover", "Randomly selects and applies one of its crossovers every time it is called.")]
     34  [Item("MultiVRPSolutionCrossover", "Randomly selects and applies one of its crossovers every time it is called.")]
    3535  [StorableClass]
    36   public class MultiVRPCrossover : StochasticMultiBranch<IVRPCrossover>, IVRPCrossover, IStochasticOperator {
     36  public class MultiVRPSolutionCrossover : StochasticMultiBranch<IVRPCrossover>, IVRPCrossover, IStochasticOperator {
    3737    public override bool CanChangeName {
    3838      get { return false; }
     
    8282
    8383    [StorableConstructor]
    84     private MultiVRPCrossover(bool deserializing) : base(deserializing) { }
    85     public MultiVRPCrossover()
     84    private MultiVRPSolutionCrossover(bool deserializing) : base(deserializing) { }
     85    public MultiVRPSolutionCrossover()
    8686      : base() {
    8787       Parameters.Add(new ScopeTreeLookupParameter<IVRPEncoding>("Parents", "The parent permutations which should be crossed."));
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/General/Crossovers/RandomParentCloneCrossover.cs

    r4341 r4346  
    3030
    3131namespace HeuristicLab.Problems.VehicleRouting.Encodings.General.Crossovers {
    32   [Item("EmptyVRPCrossover", "An operator which randomly chooses one parent and returns a clone.")]
     32  [Item("RandomParentCloneCrossover", "An operator which randomly chooses one parent and returns a clone.")]
    3333  [StorableClass]
    34   public sealed class EmptyVRPCrossover : VRPCrossover, IStochasticOperator {
     34  public sealed class RandomParentCloneCrossover : VRPCrossover, IStochasticOperator {
    3535    public ILookupParameter<IRandom> RandomParameter {
    3636      get { return (LookupParameter<IRandom>)Parameters["Random"]; }
     
    3838
    3939    [StorableConstructor]
    40     private EmptyVRPCrossover(bool deserializing) : base(deserializing) { }
     40    private RandomParentCloneCrossover(bool deserializing) : base(deserializing) { }
    4141
    42     public EmptyVRPCrossover()
     42    public RandomParentCloneCrossover()
    4343      : base() {
    4444      Parameters.Add(new LookupParameter<IRandom>("Random", "The pseudo random number generator which should be used for stochastic manipulation operators."));
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/General/Manipulators/MultiVRPSolutionManipulator.cs

    r4341 r4346  
    3232
    3333namespace HeuristicLab.Problems.VehicleRouting.Encodings.General {
    34   [Item("MultiVRPManipulator", "Randomly selects and applies one of its manipulators every time it is called.")]
     34  [Item("MultiVRPSolutionManipulator", "Randomly selects and applies one of its manipulators every time it is called.")]
    3535  [StorableClass]
    36   public class MultiVRPManipulator : StochasticMultiBranch<IVRPManipulator>, IVRPManipulator, IStochasticOperator {
     36  public class MultiVRPSolutionManipulator : StochasticMultiBranch<IVRPManipulator>, IVRPManipulator, IStochasticOperator {
    3737    public override bool CanChangeName {
    3838      get { return false; }
     
    7878
    7979    [StorableConstructor]
    80     private MultiVRPManipulator(bool deserializing) : base(deserializing) { }
    81     public MultiVRPManipulator()
     80    private MultiVRPSolutionManipulator(bool deserializing) : base(deserializing) { }
     81    public MultiVRPSolutionManipulator()
    8282      : base() {
    8383      Parameters.Add(new LookupParameter<IVRPEncoding>("VRPTours", "The VRP tours to be manipulated."));
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Potvin/Crossovers/PotvinRouteBasedCrossover.cs

    r4341 r4346  
    2727
    2828namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
    29   [Item("RouteBasedCrossover", "The RBX crossover for a VRP representations.  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  [Item("PotvinRouteBasedCrossover", "The RBX crossover for a VRP representations.  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.")]
    3030  [StorableClass]
    31   public sealed class RouteBasedCrossover : PotvinCrossover {
     31  public sealed class PotvinRouteBasedCrossover : PotvinCrossover {
    3232    [StorableConstructor]
    33     private RouteBasedCrossover(bool deserializing) : base(deserializing) { }
     33    private PotvinRouteBasedCrossover(bool deserializing) : base(deserializing) { }
    3434
    35     public RouteBasedCrossover()
     35    public PotvinRouteBasedCrossover()
    3636      : base() { }
    3737     
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Potvin/Crossovers/PotvinSequenceBasedCrossover.cs

    r4341 r4346  
    2727
    2828namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
    29   [Item("SequenceBasedCrossover", "The SBX crossover for a VRP representations.  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  [Item("PotvinSequenceBasedCrossover", "The SBX crossover for a VRP representations.  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.")]
    3030  [StorableClass]
    31   public sealed class SequenceBasedCrossover : PotvinCrossover {
     31  public sealed class PotvinSequenceBasedCrossover : PotvinCrossover {
    3232    [StorableConstructor]
    33     private SequenceBasedCrossover(bool deserializing) : base(deserializing) { }
     33    private PotvinSequenceBasedCrossover(bool deserializing) : base(deserializing) { }
    3434
    35     public SequenceBasedCrossover()
     35    public PotvinSequenceBasedCrossover()
    3636      : base() { }
    3737       
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Potvin/Manipulators/PotvinLocalSearchManipulator.cs

    r4341 r4346  
    2828
    2929namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
    30   [Item("LocalSearchManipulator", "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.")]
     30  [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.")]
    3131  [StorableClass]
    32   public sealed class LocalSearchManipulator : PotvinManipulator {
     32  public sealed class PotvinLocalSearchManipulator : PotvinManipulator {
    3333    public IValueParameter<IntValue> Iterations {
    3434      get { return (IValueParameter<IntValue>)Parameters["Iterations"]; }
     
    3636
    3737    [StorableConstructor]
    38     private LocalSearchManipulator(bool deserializing) : base(deserializing) { }
     38    private PotvinLocalSearchManipulator(bool deserializing) : base(deserializing) { }
    3939
    40     public LocalSearchManipulator() : base() {
     40    public PotvinLocalSearchManipulator() : base() {
    4141      Parameters.Add(new ValueParameter<IntValue>("Iterations", "The number of max iterations.", new IntValue(100)));
    4242    }
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Potvin/Manipulators/PotvinOneLevelExchangeManipulator.cs

    r4341 r4346  
    2828
    2929namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
    30   [Item("OneLevelExchangeMainpulator", "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.")]
     30  [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.")]
    3131  [StorableClass]
    32   public sealed class OneLevelExchangeMainpulator : PotvinManipulator {
     32  public sealed class PotvinOneLevelExchangeMainpulator : PotvinManipulator {
    3333    [StorableConstructor]
    34     private OneLevelExchangeMainpulator(bool deserializing) : base(deserializing) { }
     34    private PotvinOneLevelExchangeMainpulator(bool deserializing) : base(deserializing) { }
    3535
    36     public OneLevelExchangeMainpulator() : base() { }
     36    public PotvinOneLevelExchangeMainpulator() : base() { }
    3737   
    3838    protected override void Manipulate(IRandom random, PotvinEncoding individual) {
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Potvin/Manipulators/PotvinTwoLevelExchangeManipulator.cs

    r4341 r4346  
    2828
    2929namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
    30   [Item("TwoLevelExchangeManipulator", "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.")]
     30  [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.")]
    3131  [StorableClass]
    32   public sealed class TwoLevelExchangeManipulator : PotvinManipulator {
     32  public sealed class PotvinTwoLevelExchangeManipulator : PotvinManipulator {
    3333    [StorableConstructor]
    34     private TwoLevelExchangeManipulator(bool deserializing) : base(deserializing) { }
     34    private PotvinTwoLevelExchangeManipulator(bool deserializing) : base(deserializing) { }
    3535
    36     public TwoLevelExchangeManipulator() : base() { }
     36    public PotvinTwoLevelExchangeManipulator() : base() { }
    3737   
    3838    protected override void Manipulate(IRandom random, PotvinEncoding individual) {
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Prins/Crossovers/PrinsPermutationCrossover.cs

    r4268 r4346  
    2727
    2828namespace HeuristicLab.Problems.VehicleRouting.Encodings.Prins {
    29   [Item("PrinsPermutationCrossover", "An operator which crosses two VRP representations using a standard permutation operator.")]
     29  [Item("PrinsPermutationCrossover", "An operator which crosses two VRP representations using a standard permutation operator.  It is implemented as described in Prins, C. (2004). A simple and effective evolutionary algorithm for the vehicle routing problem. Computers & Operations Research, 12:1985-2002.")]
    3030  [StorableClass]
    3131  public sealed class PrinsPermutationCrossover : PrinsCrossover, IPrinsOperator {   
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Prins/Manipulators/PrinsPermutationManipulator.cs

    r4268 r4346  
    2727
    2828namespace HeuristicLab.Problems.VehicleRouting.Encodings.Prins {
    29   [Item("PrinsPermutationManipulator", "An operator which manipulates a VRP representation by using a standard permutation manipulator.")]
     29  [Item("PrinsPermutationManipulator", "An operator which manipulates a VRP representation by using a standard permutation manipulator. It is implemented as described in Prins, C. (2004). A simple and effective evolutionary algorithm for the vehicle routing problem. Computers & Operations Research, 12:1985-2002.")]
    3030  [StorableClass]
    3131  public sealed class PrinsPermutationManipulator : PrinsManipulator {
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Zhu/Crossovers/ZhuPermutationCrossover.cs

    r4293 r4346  
    2727
    2828namespace HeuristicLab.Problems.VehicleRouting.Encodings.Zhu {
    29   [Item("ZhuPermutationCrossover", "An operator which crosses two VRP representations using a standard permutation operator.")]
     29  [Item("ZhuPermutationCrossover", "An operator which crosses two VRP representations using a standard permutation operator. It is implemented as described in Zhu, K.Q. (2000). A New Genetic Algorithm For VRPTW. Proceedings of the International Conference on Artificial Intelligence.")]
    3030  [StorableClass]
    3131  public sealed class PrinsPermutationCrossover : ZhuCrossover {   
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Zhu/Manipulators/ZhuPermutationManipulator.cs

    r4293 r4346  
    2727
    2828namespace HeuristicLab.Problems.VehicleRouting.Encodings.Zhu {
    29   [Item("ZhuPermutationManipulator", "An operator which manipulates a VRP representation by using a standard permutation manipulator.")]
     29  [Item("ZhuPermutationManipulator", "An operator which manipulates a VRP representation by using a standard permutation manipulator. It is implemented as described in Zhu, K.Q. (2000). A New Genetic Algorithm For VRPTW. Proceedings of the International Conference on Artificial Intelligence.")]
    3030  [StorableClass]
    3131  public sealed class ZhuPermutationManipulator : ZhuManipulator {
  • branches/VRP/HeuristicLab.Problems.VehicleRouting/3.3/HeuristicLab.Problems.VehicleRouting-3.3.csproj

    r4319 r4346  
    110110    <Compile Include="Analyzers\BestVRPToursMemorizer.cs" />
    111111    <Compile Include="Analyzers\BestVRPSolutionAnalyzer.cs" />
    112     <Compile Include="Encodings\Alba\Crossovers\PermutationCrossover.cs" />
    113     <Compile Include="Encodings\Alba\Manipulators\IntraRouteInversionManipulator.cs" />
    114     <Compile Include="Encodings\Alba\Manipulators\LambdaInterchangeManipulator.cs" />
     112    <Compile Include="Encodings\Alba\Crossovers\AlbaPermutationCrossover.cs" />
     113    <Compile Include="Encodings\Alba\Manipulators\AlbaIntraRouteInversionManipulator.cs" />
     114    <Compile Include="Encodings\Alba\Manipulators\AlbaLambdaInterchangeManipulator.cs" />
    115115    <Compile Include="Encodings\Alba\Moves\Interfaces\IAlbaLambdaInterchangeMoveOperator.cs" />
    116116    <Compile Include="Encodings\Alba\Moves\Interfaces\IAlbaIntraRouteInversionMoveOperator.cs" />
    117     <Compile Include="Encodings\Alba\Manipulators\CustomerInversionManipulator.cs" />
    118     <Compile Include="Encodings\Alba\Manipulators\CustomerSwapManipulator.cs" />
    119     <Compile Include="Encodings\Alba\Manipulators\CustomerInsertionManipulator.cs" />
    120     <Compile Include="Encodings\Alba\Manipulators\PermutationManipulator.cs" />
    121     <Compile Include="Encodings\Alba\Moves\LambdaInterchange\ExhaustiveLambdaInterchangeMoveGenerator.cs" />
    122     <Compile Include="Encodings\Alba\Moves\LambdaInterchange\LambdaInterchangeMove.cs" />
    123     <Compile Include="Encodings\Alba\Moves\LambdaInterchange\LambdaInterchangeMoveGenerator.cs" />
    124     <Compile Include="Encodings\Alba\Moves\LambdaInterchange\LambdaInterchangeMoveEvaluator.cs" />
    125     <Compile Include="Encodings\Alba\Moves\LambdaInterchange\LambdaInterchangeMoveMaker.cs" />
    126     <Compile Include="Encodings\Alba\Moves\LambdaInterchange\StochasticLambdaInterchangeSingleMoveGenerator.cs" />
    127     <Compile Include="Encodings\Alba\Moves\LambdaInterchange\StochasticLambdaInterchangeMutliMoveGenerator.cs" />
    128     <Compile Include="Encodings\Alba\Moves\PermutationMoveOperator.cs" />
    129     <Compile Include="Encodings\Alba\Moves\IntraRouteInversion\StochasticIntraRouteInversionMutliMoveGenerator.cs" />
    130     <Compile Include="Encodings\Alba\Moves\IntraRouteInversion\StochasticIntraRouteInversionSingleMoveGenerator.cs" />
    131     <Compile Include="Encodings\Alba\Moves\IntraRouteInversion\IntraRouteInversionMoveGenerator.cs" />
    132     <Compile Include="Encodings\Alba\Moves\IntraRouteInversion\IntraRouteInversionEvaluator.cs" />
    133     <Compile Include="Encodings\Alba\Moves\IntraRouteInversion\ExhaustiveIntraRouteInversionMoveGenerator.cs" />
    134     <Compile Include="Encodings\Alba\Moves\IntraRouteInversion\IntraRouteInversionMoveMaker.cs" />
    135     <Compile Include="Encodings\Alba\Moves\IntraRouteInversion\IntraRouteInversionMove.cs" />
    136     <Compile Include="Encodings\General\Crossovers\EmptyVRPCrossover.cs" />
     117    <Compile Include="Encodings\Alba\Manipulators\AlbaCustomerInversionManipulator.cs" />
     118    <Compile Include="Encodings\Alba\Manipulators\AlbaCustomerSwapManipulator.cs" />
     119    <Compile Include="Encodings\Alba\Manipulators\AlbaCustomerInsertionManipulator.cs" />
     120    <Compile Include="Encodings\Alba\Manipulators\AlbaPermutationManipulator.cs" />
     121    <Compile Include="Encodings\Alba\Moves\LambdaInterchange\AlbaExhaustiveLambdaInterchangeMoveGenerator.cs" />
     122    <Compile Include="Encodings\Alba\Moves\LambdaInterchange\AlbaLambdaInterchangeMove.cs" />
     123    <Compile Include="Encodings\Alba\Moves\LambdaInterchange\AlbaLambdaInterchangeMoveGenerator.cs" />
     124    <Compile Include="Encodings\Alba\Moves\LambdaInterchange\AlbaLambdaInterchangeMoveEvaluator.cs" />
     125    <Compile Include="Encodings\Alba\Moves\LambdaInterchange\AlbaLambdaInterchangeMoveMaker.cs" />
     126    <Compile Include="Encodings\Alba\Moves\LambdaInterchange\AlbaStochasticLambdaInterchangeSingleMoveGenerator.cs" />
     127    <Compile Include="Encodings\Alba\Moves\LambdaInterchange\AlbaStochasticLambdaInterchangeMutliMoveGenerator.cs" />
     128    <Compile Include="Encodings\Alba\Moves\AlbaPermutationMoveOperator.cs" />
     129    <Compile Include="Encodings\Alba\Moves\IntraRouteInversion\AlbaStochasticIntraRouteInversionMutliMoveGenerator.cs" />
     130    <Compile Include="Encodings\Alba\Moves\IntraRouteInversion\AlbaStochasticIntraRouteInversionSingleMoveGenerator.cs" />
     131    <Compile Include="Encodings\Alba\Moves\IntraRouteInversion\AlbaIntraRouteInversionMoveGenerator.cs" />
     132    <Compile Include="Encodings\Alba\Moves\IntraRouteInversion\AlbaIntraRouteInversionEvaluator.cs" />
     133    <Compile Include="Encodings\Alba\Moves\IntraRouteInversion\AlbaExhaustiveIntraRouteInversionMoveGenerator.cs" />
     134    <Compile Include="Encodings\Alba\Moves\IntraRouteInversion\AlbaIntraRouteInversionMoveMaker.cs" />
     135    <Compile Include="Encodings\Alba\Moves\IntraRouteInversion\AlbaIntraRouteInversionMove.cs" />
     136    <Compile Include="Encodings\General\Crossovers\RandomParentCloneCrossover.cs" />
    137137    <Compile Include="Encodings\General\PermutationEncoding.cs" />
    138     <Compile Include="Encodings\General\Creators\MultiVRPCreator.cs" />
    139     <Compile Include="Encodings\General\Manipulators\MultiVRPManipulator.cs" />
    140     <Compile Include="Encodings\General\Crossovers\MultiVRPCrossover.cs" />
     138    <Compile Include="Encodings\General\Creators\MultiVRPSolutionCreator.cs" />
     139    <Compile Include="Encodings\General\Manipulators\MultiVRPSolutionManipulator.cs" />
     140    <Compile Include="Encodings\General\Crossovers\MultiVRPSolutionCrossover.cs" />
    141141    <Compile Include="Encodings\General\Creators\RandomCreator.cs" />
    142142    <Compile Include="Encodings\General\Moves\Interfaces\IMultiVRPMoveGenerator.cs" />
     
    154154    <Compile Include="Encodings\GVR\Manipulators\GVRSwapManipulator.cs" />
    155155    <Compile Include="Encodings\GVR\Manipulators\GVRManipulator.cs" />
    156     <Compile Include="Encodings\Potvin\Crossovers\RouteBasedCrossover.cs" />
    157     <Compile Include="Encodings\Potvin\Crossovers\SequenceBasedCrossover.cs" />
     156    <Compile Include="Encodings\Potvin\Crossovers\PotvinRouteBasedCrossover.cs" />
     157    <Compile Include="Encodings\Potvin\Crossovers\PotvinSequenceBasedCrossover.cs" />
    158158    <Compile Include="Encodings\Potvin\Crossovers\PotvinCrossover.cs" />
    159     <Compile Include="Encodings\Potvin\Manipulators\LocalSearchManipulator.cs" />
    160     <Compile Include="Encodings\Potvin\Manipulators\TwoLevelExchangeManipulator.cs" />
    161     <Compile Include="Encodings\Potvin\Manipulators\OneLevelExchangeManipulator.cs" />
     159    <Compile Include="Encodings\Potvin\Manipulators\PotvinLocalSearchManipulator.cs" />
     160    <Compile Include="Encodings\Potvin\Manipulators\PotvinTwoLevelExchangeManipulator.cs" />
     161    <Compile Include="Encodings\Potvin\Manipulators\PotvinOneLevelExchangeManipulator.cs" />
    162162    <Compile Include="Encodings\Potvin\Manipulators\PotvinManipulator.cs" />
    163163    <Compile Include="Encodings\Prins\Crossovers\PrinsCrossover.cs" />
     
    191191    <Compile Include="Encodings\Alba\Moves\AlbaMoveOperator.cs" />
    192192    <Compile Include="Encodings\Alba\Moves\AlbaMoveMaker.cs" />
    193     <Compile Include="Encodings\Alba\Moves\ThreeOpt\PermutationTranslocationMoveGenerator.cs" />
    194     <Compile Include="Encodings\Alba\Moves\ThreeOpt\PermutationTranslocationMoveMaker.cs" />
    195     <Compile Include="Encodings\Alba\Moves\ThreeOpt\PermutationTranslocationMoveTabuMaker.cs" />
    196     <Compile Include="Encodings\Alba\Moves\ThreeOpt\PermutationTranslocationMoveSoftTabuCriterion.cs" />
    197     <Compile Include="Encodings\Alba\Moves\ThreeOpt\PermutationTranslocationMoveHardTabuCriterion.cs" />
     193    <Compile Include="Encodings\Alba\Moves\ThreeOpt\AlbaTranslocationMoveGenerator.cs" />
     194    <Compile Include="Encodings\Alba\Moves\ThreeOpt\AlbaTranslocationMoveMaker.cs" />
     195    <Compile Include="Encodings\Alba\Moves\ThreeOpt\AlbaTranslocationMoveTabuMaker.cs" />
     196    <Compile Include="Encodings\Alba\Moves\ThreeOpt\AlbaTranslocationMoveSoftTabuCriterion.cs" />
     197    <Compile Include="Encodings\Alba\Moves\ThreeOpt\AlbaTranslocationMoveHardTabuCriterion.cs" />
    198198    <Compile Include="Encodings\Potvin\PotvinEncoding.cs" />
    199199    <Compile Include="Encodings\VRPMoveOperator.cs" />
     
    213213    <Compile Include="Interfaces\IVRPCreator.cs" />
    214214    <Compile Include="Interfaces\IVRPOperator.cs" />
    215     <Compile Include="Encodings\Alba\Moves\ThreeOpt\PermutationTranslocationMoveEvaluator.cs" />
     215    <Compile Include="Encodings\Alba\Moves\ThreeOpt\AlbaTranslocationMoveEvaluator.cs" />
    216216    <Compile Include="MoveEvaluators\VRPMoveEvaluator.cs" />
    217217    <Compile Include="VRPSolution.cs" />
Note: See TracChangeset for help on using the changeset viewer.