Class ElitismSelector

  • All Implemented Interfaces:
    Selector

    public class ElitismSelector
    extends java.lang.Object
    implements Selector
    The ElitismSelector is a single objective elitism select. If a multi-objective problem is optimized, the objectives are summed up to a single value.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      protected class  ElitismSelector.FitnessComparator
      Comparator that sorts the Individuals based on their fitness values.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.util.Map<org.opt4j.core.Individual,​java.lang.Double> fitness  
      protected java.util.Random random  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void calculateFitness​(java.util.Collection<org.opt4j.core.Individual> individuals)
      Calculates the fitness of the Individuals: the sum of all double values (these always have to be minimized) of the objectives.
      java.util.Collection<org.opt4j.core.Individual> getLames​(int lambda, java.util.Collection<org.opt4j.core.Individual> population)
      Selects a subset of lambda Individuals and returns it as a new Collection.
      java.util.Collection<org.opt4j.core.Individual> getParents​(int mu, java.util.Collection<org.opt4j.core.Individual> population)
      Selects a subset of Individuals and returns it as a new Collection.
      void init​(int maxsize)
      Sets the maximal number of Individuals.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • random

        protected final java.util.Random random
      • fitness

        protected final java.util.Map<org.opt4j.core.Individual,​java.lang.Double> fitness
    • Constructor Detail

      • ElitismSelector

        @Inject
        public ElitismSelector​(org.opt4j.core.common.random.Rand random)
        Constructs an ElitismSelector.
        Parameters:
        random - the random number generator
    • Method Detail

      • getLames

        public java.util.Collection<org.opt4j.core.Individual> getLames​(int lambda,
                                                                        java.util.Collection<org.opt4j.core.Individual> population)
        Description copied from interface: Selector
        Selects a subset of lambda Individuals and returns it as a new Collection. These individuals can be erased in the next generation.
        Specified by:
        getLames in interface Selector
        Parameters:
        lambda - the number of lames to select
        population - the list of individuals
        Returns:
        the worst lambda individuals
      • getParents

        public java.util.Collection<org.opt4j.core.Individual> getParents​(int mu,
                                                                          java.util.Collection<org.opt4j.core.Individual> population)
        Description copied from interface: Selector
        Selects a subset of Individuals and returns it as a new Collection. These so called parents can be used to form the next generation.
        Specified by:
        getParents in interface Selector
        Parameters:
        mu - the number of parents to select
        population - the list of individuals
        Returns:
        the parents
      • calculateFitness

        protected void calculateFitness​(java.util.Collection<org.opt4j.core.Individual> individuals)
        Calculates the fitness of the Individuals: the sum of all double values (these always have to be minimized) of the objectives.
        Parameters:
        individuals - the individuals to process
      • init

        public void init​(int maxsize)
        Description copied from interface: Selector
        Sets the maximal number of Individuals.
        Specified by:
        init in interface Selector
        Parameters:
        maxsize - the number of individuals