- Timestamp:
- 11/28/08 10:32:20 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Permutation/AbsolutePositionTopologicalCrossover.cs
r2 r850 27 27 28 28 namespace HeuristicLab.Permutation { 29 /// <summary> 30 /// Performs a cross over permutation between two permutation arrays by taking 31 /// the entries with the same index (starting at position 0) from both parents 32 /// (minding already inserted values). 33 /// </summary> 34 /// <example>First take the value at position 0 from parent1 then take the value at position 0 35 /// from parent2 if it has not already been inserted, afterwards take the value at position 1 from 36 /// parent1 if it has not already been inserted, then from parent2 and so on.</example> 29 37 public class AbsolutePositionTopologicalCrossover : PermutationCrossoverBase { 38 /// <inheritdoc select="summary"/> 30 39 public override string Description { 31 40 get { return @"TODO\r\nOperator description still missing ..."; } 32 41 } 33 42 43 /// <summary> 44 /// Performs a cross over permutation of <paramref name="parent1"/> and <paramref name="parent2"/> 45 /// by taking the values from both parents one by one with the same index starting at position 0. 46 /// </summary> 47 /// <example>First take the value at position 0 from parent1 then take the value at position 0 48 /// from parent2 if it has not already been inserted, afterwards take the value at position 1 from 49 /// parent1 if it has not already been inserted, then from parent2 and so on.</example> 50 /// <param name="random">A random number generator.</param> 51 /// <param name="parent1">The parent scope 1 to cross over.</param> 52 /// <param name="parent2">The parent scope 2 to cross over.</param> 53 /// <returns>The created cross over permutation as int array.</returns> 34 54 public static int[] Apply(IRandom random, int[] parent1, int[] parent2) { 35 55 int length = parent1.Length; … … 54 74 } 55 75 76 /// <summary> 77 /// Performs a cross over permutation of <paramref name="parent1"/> and <paramref name="parent2"/> 78 /// by taking the values from both parents one by one with the same index. 79 /// </summary> 80 /// <remarks>Calls <see cref="Apply"/>.</remarks> 81 /// <param name="scope">The current scope.</param> 82 /// <param name="random">A random number generator.</param> 83 /// <param name="parent1">The parent scope 1 to cross over.</param> 84 /// <param name="parent2">The parent scope 2 to cross over.</param> 85 /// <returns>The created cross over permutation as int array.</returns> 56 86 protected override int[] Cross(IScope scope, IRandom random, int[] parent1, int[] parent2) { 57 87 return Apply(random, parent1, parent2);
Note: See TracChangeset
for help on using the changeset viewer.