Class 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
    Version:
    $Revision: 990655 $ $Date: 2010-08-29 23:49:40 +0200 (dim. 29 août 2010) $
    • 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 population
        populationLimit - maximal size of the population
        elitismRate - 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 population
        elitismRate - 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. The elitismRate 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