Changeset 13368 for branches/PersistenceOverhaul/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/MaximalPreservativeCrossover.cs
- Timestamp:
- 11/24/15 17:08:13 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/PersistenceOverhaul/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/MaximalPreservativeCrossover.cs
r12012 r13368 30 30 /// Performs a crossover between two permuation arrays by preserving a large number of edges in both parents. 31 31 /// The operator also maintains the position in the arrays to some extent. 32 /// It is implemented as described in M ühlenbein, H. 1991. Evolution in time and space - the parallel genetic algorithm. FOUNDATIONS OF GENETIC ALGORITHMS, pp. 316-337. Morgan Kaufmann.<br /><br />32 /// It is implemented as described in Mï¿œhlenbein, H. 1991. Evolution in time and space - the parallel genetic algorithm. FOUNDATIONS OF GENETIC ALGORITHMS, pp. 316-337. Morgan Kaufmann.<br /><br /> 33 33 /// The length of the segment copied from the first parent to the offspring is uniformly distributed in the interval [3;N/3) with N = length of the permutation. 34 /// This recommendation is mentioned in Pohlheim, H. 1999. Evolution äre Algorithmen: Verfahren, Operatoren und Hinweise für die Praxis, p. 44, Springer.34 /// This recommendation is mentioned in Pohlheim, H. 1999. Evolutionï¿œre Algorithmen: Verfahren, Operatoren und Hinweise fï¿œr die Praxis, p. 44, Springer. 35 35 /// If the length of the permutation is smaller than 15, the size of the segment is always equal to 3. 36 36 /// </remarks> 37 [Item("MaximalPreservativeCrossover", "An operator which performs the maximal preservative crossover on two permutations. It is implemented as described in M ühlenbein, H. 1991. Evolution in time and space - the parallel genetic algorithm. FOUNDATIONS OF GENETIC ALGORITHMS, pp. 316-337. Morgan Kaufmann.")]38 [StorableClass ]37 [Item("MaximalPreservativeCrossover", "An operator which performs the maximal preservative crossover on two permutations. It is implemented as described in Mï¿œhlenbein, H. 1991. Evolution in time and space - the parallel genetic algorithm. FOUNDATIONS OF GENETIC ALGORITHMS, pp. 316-337. Morgan Kaufmann.")] 38 [StorableClass("5F971E2A-6209-42F4-856D-8ED7C47345EC")] 39 39 public class MaximalPreservativeCrossover : PermutationCrossover { 40 40 [StorableConstructor] … … 71 71 int breakPoint1, breakPoint2, subsegmentLength, index; 72 72 73 subsegmentLength = random.Next(3, Math.Max(length / 3, 4)); // as mentioned in Pohlheim, H. Evolution äre Algorithmen: Verfahren, Operatoren und Hinweise für die Praxis, 1999, p.44, Springer.73 subsegmentLength = random.Next(3, Math.Max(length / 3, 4)); // as mentioned in Pohlheim, H. Evolutionï¿œre Algorithmen: Verfahren, Operatoren und Hinweise fï¿œr die Praxis, 1999, p.44, Springer. 74 74 breakPoint1 = random.Next(length); 75 75 breakPoint2 = breakPoint1 + subsegmentLength;
Note: See TracChangeset
for help on using the changeset viewer.