Orbital library

orbital.algorithm.evolutionary
Class IncrementalGeneticAlgorithm

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

public class IncrementalGeneticAlgorithm
extends GeneticAlgorithm

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

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

Nested Class Summary
 
Nested classes/interfaces inherited from class orbital.algorithm.evolutionary.GeneticAlgorithm
GeneticAlgorithm.Configuration
 
Constructor Summary
IncrementalGeneticAlgorithm()
          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

IncrementalGeneticAlgorithm

public IncrementalGeneticAlgorithm()
Construct a new GeneticAlgorithm.

Method Detail

getPopulationGrowth

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

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

evolve

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()

replaceGenomes

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)
Preconditions:
n.length <= population.size()
Postconditions:
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.