## org.biojavax.ga.functions
Class OrderCrossover

    java.lang.Object
      org.biojava.utils.AbstractChangeable
          org.biojavax.ga.functions.AbstractCrossOverFunction
              org.biojavax.ga.functions.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

Nested Class Summary

Nested classes/interfaces inherited from interface org.biojavax.ga.functions.CrossOverFunction
`CrossOverFunction.NoCross`

Field Summary

Fields inherited from interface org.biojavax.ga.functions.CrossOverFunction
`CROSS_PROB, DEFAULT_CROSS_PROB, DEFAULT_MAX_CROSS, MAX_CROSSES, NO_CROSS`

Constructor Summary
`OrderCrossover()` Sets the maximal number of crossover points to two and the crossover probability to 0.5 and initializes this object.

Method Summary
`GACrossResult` `performCrossOver(SymbolList chromA, SymbolList chromB)` Performs a cross between the pair of chromosomes

Methods inherited from class org.biojavax.ga.functions.AbstractCrossOverFunction
`getCrossOverProbs, getMaxCrossOvers, setCrossOverProbs, setMaxCrossOvers`

Methods inherited from class org.biojava.utils.AbstractChangeable
`addChangeListener, addChangeListener, generateChangeSupport, getChangeSupport, hasListeners, hasListeners, isUnchanging, removeChangeListener, removeChangeListener`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.biojava.utils.Changeable
`addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener`

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