Package org.apache.commons.math.genetics
Class ElitisticListPopulation
java.lang.Object
org.apache.commons.math.genetics.ListPopulation
org.apache.commons.math.genetics.ElitisticListPopulation
- All Implemented Interfaces:
Iterable<Chromosome>
,Population
Population of chromosomes which uses elitism (certain percentace of the best
chromosomes is directly copied to the next generation).
- Since:
- 2.0
- Version:
- $Revision: 990655 $ $Date: 2010-08-29 23:49:40 +0200 (dim. 29 août 2010) $
-
Constructor Summary
ConstructorsConstructorDescriptionElitisticListPopulation
(int populationLimit, double elitismRate) Creates a new ListPopulation instance and initializes its inner chromosome list.ElitisticListPopulation
(List<Chromosome> chromosomes, int populationLimit, double elitismRate) Creates a new ElitisticListPopulation instance. -
Method Summary
Modifier and TypeMethodDescriptiondouble
Access the elitism rate.Start the population for the next generation.void
setElitismRate
(double elitismRate) Sets the elitism rate, i.e.Methods inherited from class org.apache.commons.math.genetics.ListPopulation
addChromosome, getChromosomes, getFittestChromosome, getPopulationLimit, getPopulationSize, iterator, setChromosomes, setPopulationLimit, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
ElitisticListPopulation
public ElitisticListPopulation(List<Chromosome> chromosomes, int populationLimit, double elitismRate) Creates a new ElitisticListPopulation instance.- Parameters:
chromosomes
- list of chromosomes in the populationpopulationLimit
- maximal size of the populationelitismRate
- how many best chromosomes will be directly transferred to the next generation [in %]
-
ElitisticListPopulation
public ElitisticListPopulation(int populationLimit, double elitismRate) Creates a new ListPopulation instance and initializes its inner chromosome list.- Parameters:
populationLimit
- maximal size of the populationelitismRate
- how many best chromosomes will be directly transferred to the next generation [in %]
-
-
Method Details
-
nextGeneration
Start the population for the next generation. TheelitismRate
percents of the best chromosomes are directly copied to the next generation.
- Returns:
- the beginnings of the next generation.
-
setElitismRate
public void setElitismRate(double elitismRate) Sets the elitism rate, i.e. how many best chromosomes will be directly transferred to the next generation [in %].- Parameters:
elitismRate
- how many best chromosomes will be directly transferred to the next generation [in %]
-
getElitismRate
public double getElitismRate()Access the elitism rate.- Returns:
- the elitism rate
-