Class OnePointCrossover<T>

  • Type Parameters:
    T - generic type of the AbstractListChromosomes for crossover
    All Implemented Interfaces:
    CrossoverPolicy

    public class OnePointCrossover<T>
    extends Object
    implements CrossoverPolicy
    One point crossover policy. A random crossover point is selected and the first part from each parent is copied to the corresponding child, and the second parts are copied crosswise. Example:
     -C- denotes a crossover point
                       -C-                                 -C-
     p1 = (1 0 1 0 0 1  | 0 1 1)    X    p2 = (0 1 1 0 1 0  | 1 1 1)
          \------------/ \-----/              \------------/ \-----/
                ||         (*)                       ||        (**)
                VV         (**)                      VV        (*)
          /------------\ /-----\              /------------\ /-----\
     c1 = (1 0 1 0 0 1  | 1 1 1)    X    c2 = (0 1 1 0 1 0  | 0 1 1)
     
    This policy works only on AbstractListChromosome, and therefore it is parameterized by T. Moreover, the chromosomes must have same lengths.
    Since:
    2.0