org.biojavax.ga.functions
Class OrderCrossover

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