Orbital library

Class IncrementalGeneticAlgorithm

  extended by orbital.algorithm.evolutionary.GeneticAlgorithm
      extended by orbital.algorithm.evolutionary.IncrementalGeneticAlgorithm
All Implemented Interfaces:
java.io.Serializable, AlgorithmicTemplate, ProbabilisticAlgorithm
Direct Known Subclasses:

public class IncrementalGeneticAlgorithm
extends GeneticAlgorithm

An incremental genetic algorithm with overlapping populations and only one reproduction per generation.

André Platzer
See Also:
Serialized Form
delegate population:Population, delegate selection:Function

Nested Class Summary
Nested classes/interfaces inherited from class orbital.algorithm.evolutionary.GeneticAlgorithm
Constructor Summary
          Construct a new GeneticAlgorithm.
Method Summary
 void evolve()
          evolves to the next generation for this population.
 double getPopulationGrowth()
          Get the population growth factor.
protected  void replaceGenomes(Genome[] n)
          Replaces a list of Genomes by removing one and merging the new ones.
Methods inherited from class orbital.algorithm.evolutionary.GeneticAlgorithm
clone, complexity, equals, getEvaluation, getPopulation, getRandom, getSelection, hashCode, isCorrect, setEvaluation, setPopulation, setRandom, setSelection, solve, spaceComplexity, toString
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait

Constructor Detail


public IncrementalGeneticAlgorithm()
Construct a new GeneticAlgorithm.

Method Detail


public double getPopulationGrowth()
Description copied from class: GeneticAlgorithm
Get the population growth factor.

Specified by:
getPopulationGrowth in class GeneticAlgorithm
the factor by which the population size increases with each generation (or decreases if < 1).


public void evolve()
Description copied from class: GeneticAlgorithm
evolves to the next generation for this population. Parents are selected and will recombine and mutate to produce children genomes who will replace some genomes in this population. This operation is sometimes called breeding.

Specified by:
evolve in class GeneticAlgorithm
See Also:
GeneticAlgorithm.selection, Genome.recombine(Gene[],int,double), PopulationImpl.getMaximumRecombination(), PopulationImpl.getMaximumMutation()


protected void replaceGenomes(Genome[] n)
Replaces a list of Genomes by removing one and merging the new ones.

Will remove the required number of Genomes first and then insert which makes sure that no Genome is removed immediately after insertion.

See Also:
selectRemove(), Population.add(Object)
n.length <= population.size()
n.length Genomes in population selected by selectRemove() are removed, and those in n are added instead

Orbital library
1.3.0: 11 Apr 2009

Copyright © 1996-2009 André Platzer
All Rights Reserved.