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 double
getElitismRate()
Access the elitism rate.Population
nextGeneration()
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
-
-
-
-
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. 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
-
-