Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/06/10 01:56:04 (14 years ago)
Author:
swagner
Message:

Merged cloning refactoring branch back into trunk (#922)

Location:
trunk/sources
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources

  • trunk/sources/HeuristicLab.Problems.VehicleRouting

  • trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Manipulators/AlbaIntraRouteInversionManipulator.cs

    r4352 r4722  
    2020#endregion
    2121
     22using System.Collections.Generic;
     23using HeuristicLab.Common;
    2224using HeuristicLab.Core;
    23 using HeuristicLab.Encodings.PermutationEncoding;
    24 using HeuristicLab.Parameters;
    2525using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    26 using HeuristicLab.Data;
    27 using System;
    28 using System.Collections.Generic;
    2926
    3027namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
    3128  [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.")]
    3229  [StorableClass]
    33   public sealed class AlbaIntraRouteInversionManipulator : AlbaManipulator {   
     30  public sealed class AlbaIntraRouteInversionManipulator : AlbaManipulator {
    3431    [StorableConstructor]
    3532    private AlbaIntraRouteInversionManipulator(bool deserializing) : base(deserializing) { }
    36 
     33    private AlbaIntraRouteInversionManipulator(AlbaIntraRouteInversionManipulator original, Cloner cloner) : base(original, cloner) { }
    3734    public AlbaIntraRouteInversionManipulator()
    3835      : base() {
    39      }
     36    }
     37
     38    public override IDeepCloneable Clone(Cloner cloner) {
     39      return new AlbaIntraRouteInversionManipulator(this, cloner);
     40    }
    4041
    4142    public static void Apply(AlbaEncoding individual, int index1, int index2) {
     
    7273
    7374        int currentTourEnd = currentTourStart;
    74         while (currentTourEnd < individual.Length && 
     75        while (currentTourEnd < individual.Length &&
    7576          individual[currentTourEnd] < individual.Cities) {
    7677          currentTourEnd++;
Note: See TracChangeset for help on using the changeset viewer.