Changeset 4722 for trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Zhu/Crossovers/ZhuHeuristicCrossover2.cs
- Timestamp:
- 11/06/10 01:56:04 (13 years ago)
- Location:
- trunk/sources
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources
- Property svn:mergeinfo changed
/branches/CloningRefactoring (added) merged: 4656-4693,4696-4697,4711-4714,4718-4719
- Property svn:mergeinfo changed
-
trunk/sources/HeuristicLab.Problems.VehicleRouting
- Property svn:mergeinfo changed
/branches/CloningRefactoring/HeuristicLab.Problems.VehicleRouting (added) merged: 4686-4687,4689-4693,4696-4697
- Property svn:mergeinfo changed
-
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Zhu/Crossovers/ZhuHeuristicCrossover2.cs
r4352 r4722 20 20 #endregion 21 21 22 using System.Collections.Generic; 23 using HeuristicLab.Common; 22 24 using HeuristicLab.Core; 23 using HeuristicLab.Encodings.PermutationEncoding;24 using HeuristicLab.Parameters;25 25 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 26 using HeuristicLab.Data;27 using System.Collections.Generic;28 26 29 27 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Zhu { 30 28 [Item("ZhuHeuristicCrossover2", "The Zhu Heuristic Crossover (Version 2). It is implemented as described in Zhu, K.Q. (2000). A New Genetic Algorithm For VRPTW. Proceedings of the International Conference on Artificial Intelligence.")] 31 29 [StorableClass] 32 public sealed class ZhuHeuristicCrossover2 : ZhuCrossover { 30 public sealed class ZhuHeuristicCrossover2 : ZhuCrossover { 33 31 [StorableConstructor] 34 32 private ZhuHeuristicCrossover2(bool deserializing) : base(deserializing) { } 35 33 private ZhuHeuristicCrossover2(ZhuHeuristicCrossover2 original, Cloner cloner) 34 : base(original, cloner) { 35 } 36 public override IDeepCloneable Clone(Cloner cloner) { 37 return new ZhuHeuristicCrossover2(this, cloner); 38 } 36 39 public ZhuHeuristicCrossover2() 37 40 : base() { … … 49 52 if (predecessor < 0) 50 53 predecessor = predecessor + child.Length; 51 54 52 55 int parent1Index = i; 53 56 int parent2Index = i; … … 56 59 if (i == breakPoint) { 57 60 child[i] = p1[parent1Index]; 58 61 59 62 p1.Remove(child[i]); 60 63 if (parent1Index >= p1.Count)
Note: See TracChangeset
for help on using the changeset viewer.