Package org.biojavax.ga.impl
Class SimpleGeneticAlgorithm
- java.lang.Object
-
- org.biojava.utils.AbstractChangeable
-
- org.biojavax.ga.impl.AbstractGeneticAlgorithm
-
- org.biojavax.ga.impl.SimpleGeneticAlgorithm
-
- All Implemented Interfaces:
Changeable
,GeneticAlgorithm
public final class SimpleGeneticAlgorithm extends AbstractGeneticAlgorithm
A simple implementation of theGeneticAlgorithm
interface it is not intended that this class be overidden, hence it is final. It is much better to overideAbstractGeneticAlgorithm
.- Since:
- 1.5
- Version:
- 1.1
- Author:
- Mark Schreiber, Susanne Merz, Andreas Dräger
-
-
Field Summary
-
Fields inherited from class org.biojavax.ga.impl.AbstractGeneticAlgorithm
population
-
Fields inherited from interface org.biojavax.ga.GeneticAlgorithm
CROSS_OVER_FUNCTION, FITNESS_FUNCTION, FUNCTION, MUTATION_FUNCTION, POPULATION, SELECTION_FUNCTION
-
-
Constructor Summary
Constructors Constructor Description SimpleGeneticAlgorithm()
SimpleGeneticAlgorithm(Population pop, MutationFunction mutFunc, CrossOverFunction xFunc, SelectionFunction selFunc)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List
getCrossResults()
Get a List containing details of all the cross over events during the run.int
getGeneration()
The current generationvoid
run(GAStoppingCriteria stoppingCriteria)
Iterates the Algorithm until the stopping criteria are met.-
Methods inherited from class org.biojavax.ga.impl.AbstractGeneticAlgorithm
getCrossOverFunction, getFitnessFunction, getMutationFunction, getPopulation, getSelectionFunction, initPopulation, setCrossOverFunction, setFitnessFunction, setMutationFunction, setPopulation, setSelectionFunction
-
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
-
SimpleGeneticAlgorithm
public SimpleGeneticAlgorithm()
-
SimpleGeneticAlgorithm
public SimpleGeneticAlgorithm(Population pop, MutationFunction mutFunc, CrossOverFunction xFunc, SelectionFunction selFunc)
-
-
Method Detail
-
getGeneration
public int getGeneration()
The current generation- Returns:
- an int giving the generation number
-
getCrossResults
public List getCrossResults()
Get a List containing details of all the cross over events during the run. Ifrun(GAStoppingCriteria stoppingCriteria) has not yet been called the list will be empty
. This implementation only stores a buffer of the last 100 crosses for memory reasons.- Returns:
- a
List
of GACrossResult objects.
-
run
public void run(GAStoppingCriteria stoppingCriteria) throws ChangeVetoException, IllegalAlphabetException, IllegalSymbolException
Description copied from interface:GeneticAlgorithm
Iterates the Algorithm until the stopping criteria are met. For saftey implementations should synchronize on this method.- Parameters:
stoppingCriteria
- determines when to stop.- Throws:
ChangeVetoException
- if the Population being modified is lockedIllegalAlphabetException
- if the MutationFunction chosen attempts to modify a Symbol from one of the Chromosomes to a Symbol outside of its Alphabet.IllegalSymbolException
- if the MutationFunction chosen is using the wrong Alphabet.
-
-