Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
02/26/10 13:33:45 (14 years ago)
Author:
abeham
Message:

readded references to operator descriptions and updated documentation
added OrderCrossover2 to implement the behavior described in our book (this was the behavior of the former OrderCrossover)
added CyclicCrossover2 to implement the behavior described in our book (this was the behavior of the former CyclicCrossover)
implemented unit tests for the new variants
#889

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Permutation/3.3/CosaCrossover.cs

    r2865 r2871  
    3030  /// it in the child on different positions depending on the second permutation array.
    3131  /// </summary>
    32   /// <remarks>It is implemented as described in Wendt, O. 1994. COSA: COoperative Simulated Annealing - Integration von Genetischen Algorithmen und Simulated Annealing am Beispiel der Tourenplanung. Dissertation Thesis.<br />
     32  /// <remarks>It is implemented as described in Wendt, O. 1994. COSA: COoperative Simulated Annealing - Integration von Genetischen Algorithmen und Simulated Annealing am Beispiel der Tourenplanung. Dissertation Thesis. IWI Frankfurt.<br />
    3333  /// </remarks>
    34   [Item("CosaCrossover", "An operator which performs a crossover operation between two permutation arrays by taking randomly chosen reverse and forward intervals from the first permutation array inserting it in the child on different positions depending on the second permutation array.")]
     34  [Item("CosaCrossover", "An operator which performs a crossover operation between two permutation arrays by taking randomly chosen reverse and forward intervals from the first permutation array inserting it in the child on different positions depending on the second permutation array. It is implemented as described in Wendt, O. 1994. COSA: COoperative Simulated Annealing - Integration von Genetischen Algorithmen und Simulated Annealing am Beispiel der Tourenplanung. Dissertation Thesis. IWI Frankfurt.")]
    3535  [EmptyStorableClass]
    3636  [Creatable("Test")]
     
    8686
    8787    /// <summary>
    88     /// Performs a COSA crossover operation for two given parent permutations.
     88    /// Checks number of parents and calls <see cref="Apply(IRandom, Permutation, Permutation)"/>.
    8989    /// </summary>
    9090    /// <exception cref="InvalidOperationException">Thrown if there are not exactly two parents.</exception>
     
    9393    /// <returns>The newly created permutation, resulting from the crossover operation.</returns>
    9494    protected override Permutation Cross(IRandom random, ItemArray<Permutation> parents) {
    95       if (parents.Length != 2) throw new InvalidOperationException("ERROR in CosaCrossover: The number of parents is not equal to 2");
     95      if (parents.Length != 2) throw new InvalidOperationException("CosaCrossover: The number of parents is not equal to 2");
    9696      return Apply(random, parents[0], parents[1]);
    9797    }
Note: See TracChangeset for help on using the changeset viewer.