org.jgap
Interface GeneticOperator

All Superinterfaces:
java.io.Serializable
All Known Implementing Classes:
AveragingCrossoverOperator, CrossoverOperator, GaussianMutationOperator, GreedyCrossover, MutationOperator, ReproductionOperator

public interface GeneticOperator
extends java.io.Serializable

A GeneticOperator represents an operation that takes place on a population of Chromosomes during the evolution process. Examples of genetic operators include reproduction, crossover, and mutation. This interface contains only one method--operate()--which is responsible for performing the genetic operation on the current population of Chromosomes.

Since:
1.0
Author:
Neil Rotstan, Klaus Meffert

Field Summary
static java.lang.String CVS_REVISION
          String containing the CVS revision.
 
Method Summary
 void operate(Population a_population, java.util.List a_candidateChromosomes)
          The operate method will be invoked on each of the genetic operators referenced by the current Configuration object during the evolution phase.
 

Field Detail

CVS_REVISION

public static final java.lang.String CVS_REVISION
String containing the CVS revision. Read out via reflection!

See Also:
Constant Field Values
Method Detail

operate

public void operate(Population a_population,
                    java.util.List a_candidateChromosomes)
The operate method will be invoked on each of the genetic operators referenced by the current Configuration object during the evolution phase. Operators are given an opportunity to run in the order that they are added to the Configuration. Implementations of this method may reference the population of Chromosomes as it was at the beginning of the evolutionary phase and/or they may instead reference the candidate Chromosomes, which are the results of prior genetic operators. In either case, only Chromosomes added to the list of candidate chromosomes will be considered for natural selection. Implementations should never modify the original population, but should first make copies of the Chromosomes selected for modification and operate upon the copies.

Parameters:
a_population - The population of chromosomes from the current evolution prior to exposure to any genetic operators. Chromosomes in this array should never be modified.
a_candidateChromosomes - The pool of chromosomes that have been selected for the next evolved population.
Since:
2.0 (earlier versions referenced the Configuration object)