Class ESamplingSurvivorGenerationBasic

    • Constructor Summary

      Constructors 
      Constructor Description
      ESamplingSurvivorGenerationBasic​(java.util.Random random, EpsilonMapping epsilonMapping, EpsilonAdaptation epsilonAdaption, double epsilonSample, double epsilonSampleDelta, double epsilonSampleDeltaMax, double epsilonSampleDeltaMin)
      Basic constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.util.Set<org.opt4j.core.Individual> addDominatedSurvivors​(int survivorNumber, NonDominatedFronts fronts)
      In the case where the first non-dominated front does not suffice to create enough survivors, dominated solutions are added to the survivor pool.
      protected java.util.Set<org.opt4j.core.Individual> addNonDominatedSurvivors​(java.util.Collection<org.opt4j.core.Individual> extremeIndividuals, java.util.Collection<org.opt4j.core.Individual> firstFront, int survivorNumber)
      Creates the survivor pool by adding the ε-sampled individuals to the extreme individuals.
      protected void applyEpsilonSampling​(java.util.List<org.opt4j.core.Individual> firstFront, java.util.Set<org.opt4j.core.Individual> epsilonDominantIndividuals, java.util.Set<org.opt4j.core.Individual> epsilonDominatedIndividuals, double samplingEpsilon)
      Applies ε-sampling by dividing the given individuals into the two sets of ε-dominant and ε-dominated individuals.
      protected java.util.Set<org.opt4j.core.Individual> getExtremeIndividuals​(java.util.Collection<org.opt4j.core.Individual> firstFront)
      Returns the Individuals with the best values for the individual Objective.
      java.util.Set<org.opt4j.core.Individual> getSurvivors​(java.util.Collection<org.opt4j.core.Individual> population, int survivorNumber)
      Generates the survivors out of the input collection 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
      • adaptiveEpsilonSampling

        protected final AdaptiveEpsilon adaptiveEpsilonSampling
    • Constructor Detail

      • ESamplingSurvivorGenerationBasic

        @Inject
        public ESamplingSurvivorGenerationBasic​(java.util.Random random,
                                                EpsilonMapping epsilonMapping,
                                                EpsilonAdaptation epsilonAdaption,
                                                double epsilonSample,
                                                double epsilonSampleDelta,
                                                double epsilonSampleDeltaMax,
                                                double epsilonSampleDeltaMin)
        Basic constructor.
        Parameters:
        epsilonMapping - an EpsilonMapping that is used to enhance the Objectives during the choice of the survivors
        epsilonAdaption - an EpsilonAdaptation that adjusts the ε valued used for the choice of the survivors
        random - the Random used for the sampling
    • Method Detail

      • getSurvivors

        public java.util.Set<org.opt4j.core.Individual> getSurvivors​(java.util.Collection<org.opt4j.core.Individual> population,
                                                                     int survivorNumber)
        Description copied from interface: ESamplingSurvivorGeneration
        Generates the survivors out of the input collection of Individuals.
        Specified by:
        getSurvivors in interface ESamplingSurvivorGeneration
        Parameters:
        population - the current population (union of the parent- and the offspring-sets from the current iteration)
        survivorNumber - the number of survivors to create
        Returns:
        the survivors (used as the pool for the parent candidates for the next generation)
      • addNonDominatedSurvivors

        protected java.util.Set<org.opt4j.core.Individual> addNonDominatedSurvivors​(java.util.Collection<org.opt4j.core.Individual> extremeIndividuals,
                                                                                    java.util.Collection<org.opt4j.core.Individual> firstFront,
                                                                                    int survivorNumber)
        Creates the survivor pool by adding the ε-sampled individuals to the extreme individuals.
        Parameters:
        extremeIndividuals - the Individuals with (positively) extreme values for their Objectives
        firstFront - the Individual that are not dominated at all
        survivorNumber - the desired number of survivors
      • applyEpsilonSampling

        protected void applyEpsilonSampling​(java.util.List<org.opt4j.core.Individual> firstFront,
                                            java.util.Set<org.opt4j.core.Individual> epsilonDominantIndividuals,
                                            java.util.Set<org.opt4j.core.Individual> epsilonDominatedIndividuals,
                                            double samplingEpsilon)
        Applies ε-sampling by dividing the given individuals into the two sets of ε-dominant and ε-dominated individuals.
        Parameters:
        firstFront - the input individuals which constitute the first non-dominated front of the current population
        epsilonDominantIndividuals - the set that will be filled with the epsilon-dominant individuals
        epsilonDominatedIndividuals - the set that will be filled with epsilon-dominated individuals
        samplingEpsilon - the value used for the epsilon sampling
      • addDominatedSurvivors

        protected java.util.Set<org.opt4j.core.Individual> addDominatedSurvivors​(int survivorNumber,
                                                                                 NonDominatedFronts fronts)
        In the case where the first non-dominated front does not suffice to create enough survivors, dominated solutions are added to the survivor pool.
        Parameters:
        survivorNumber - the desired number of survivors
        fronts - the non-dominated fronts
      • getExtremeIndividuals

        protected java.util.Set<org.opt4j.core.Individual> getExtremeIndividuals​(java.util.Collection<org.opt4j.core.Individual> firstFront)
        Returns the Individuals with the best values for the individual Objective.
        Parameters:
        firstFront - the list of Individuals constituting the first non-dominated front
        Returns:
        the set of the extreme individuals