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
-
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 TypeMethodDescriptiondoubleAccess the elitism rate.Start the population for the next generation.voidsetElitismRate(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, toStringMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods 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. TheelitismRatepercents 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
-