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:
java.lang.Iterable<Chromosome>,Population
public class ElitisticListPopulation extends ListPopulation
Population of chromosomes which uses elitism (certain percentace of the best chromosomes is directly copied to the next generation).- Since:
- 2.0
-
-
Constructor Summary
Constructors Constructor Description ElitisticListPopulation(int populationLimit, double elitismRate)Creates a new ListPopulation instance and initializes its inner chromosome list.ElitisticListPopulation(java.util.List<Chromosome> chromosomes, int populationLimit, double elitismRate)Creates a new ElitisticListPopulation instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description doublegetElitismRate()Access the elitism rate.PopulationnextGeneration()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, toString
-
-
-
-
Constructor Detail
-
ElitisticListPopulation
public ElitisticListPopulation(java.util.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 Detail
-
nextGeneration
public Population 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
-
-