JAGA Homepage

Class SimpleBinaryXOver

  extended by org.jaga.reproduction.XOver
      extended by org.jaga.reproduction.greycodedNumbers.SimpleBinaryXOver
All Implemented Interfaces:

public class SimpleBinaryXOver
extends XOver

TODO: Complete these comments.

Project: JAGA - Java API for Genetic Algorithms.

Company: University College London and JAGA.Org (http://www.jaga.org).

Copyright: (c) 2004 by G. Paperin.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, ONLY if you include a note of the original author(s) in any redistributed/modified copy.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA or see http://www.gnu.org/licenses/gpl.html

JAGA public release 1.0 beta
Greg Paperin (greg@jaga.org)

Field Summary
private static java.lang.Class applicableClass
Constructor Summary
SimpleBinaryXOver(double xOverProb)
Method Summary
private  int checkParentsTypeAndLength(Individual[] parents)
private  NDecimalsIndividual[] createKidsFromEncoding(GAParameterSet params, BitString c1, BitString c2)
 java.lang.Class getApplicableClass()
          Returns the class of individuals handled by this reproduction algorithm.
private  boolean kidsSatisfyConstraints(NDecimalsIndividual[] kids, GAParameterSet params)
protected  Individual[] makeCopyOfParents(Individual[] parents, GAParameterSet params)
 Individual[] reproduce(Individual[] parents, GAParameterSet params)
          Reproduces the specified individuals.
Methods inherited from class org.jaga.reproduction.XOver
getRequiredNumberOfParents, getXOverProbability, setXOverProbability
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail


private static final java.lang.Class applicableClass
Constructor Detail


public SimpleBinaryXOver()


public SimpleBinaryXOver(double xOverProb)
Method Detail


public java.lang.Class getApplicableClass()
Description copied from interface: ReproductionAlgorithm
Returns the class of individuals handled by this reproduction algorithm.

Specified by:
getApplicableClass in interface ReproductionAlgorithm
Specified by:
getApplicableClass in class XOver
The required type of the array-members in the parameter parents to the method ReproductionAlgorithm.reproduce.


public Individual[] reproduce(Individual[] parents,
                              GAParameterSet params)
Description copied from interface: ReproductionAlgorithm
Reproduces the specified individuals.

Specified by:
reproduce in interface ReproductionAlgorithm
Specified by:
reproduce in class XOver
parents - The individuals to reproduce. The type of objects in this array must be the class returned by getApplicableClass. The number of objects in this array must be the same as returned by getRequiredNumberOfParents.
params - Experiment parameters.
The children - i.e. the result of the reproduction of parents.


protected Individual[] makeCopyOfParents(Individual[] parents,
                                         GAParameterSet params)


private int checkParentsTypeAndLength(Individual[] parents)
                               throws java.lang.IllegalArgumentException


private boolean kidsSatisfyConstraints(NDecimalsIndividual[] kids,
                                       GAParameterSet params)


private NDecimalsIndividual[] createKidsFromEncoding(GAParameterSet params,
                                                     BitString c1,
                                                     BitString c2)

JAGA Homepage

Go to JAGA Homepage