Class OrderCrossover

  • All Implemented Interfaces:
    Changeable, CrossOverFunction

    public class OrderCrossover
    extends AbstractCrossOverFunction
    This does a 2-point-crossover on two chromosomes keeping the Symbols in each chromosome constant. The method is commonly named OX - operator
    Author:
    Susanne Merz
    • Constructor Detail

      • OrderCrossover

        public OrderCrossover()
        Sets the maximal number of crossover points to two and the crossover probability to 0.5 and initializes this object.
    • Method Detail

      • performCrossOver

        public GACrossResult performCrossOver​(SymbolList chromA,
                                              SymbolList chromB)
                                       throws ChangeVetoException
        Description copied from interface: CrossOverFunction
        Performs a cross between the pair of chromosomes
        Parameters:
        chromA - The first chromosome in the cross
        chromB - The second chromosome in the cross
        Returns:
        A GACross that holds the results of the cross
        Throws:
        ChangeVetoException - if the chromosomes are unmodifiable