Class MLEvolutionStrategy<G extends Gene<?,​G>,​C extends Comparable<? super C>>

  • Type Parameters:
    G - the gene type
    C - the fitness result type
    All Implemented Interfaces:
    Engine.Setup<G,​C>

    public final class MLEvolutionStrategy<G extends Gene<?,​G>,​C extends Comparable<? super C>>
    extends Object
    implements Engine.Setup<G,​C>
    Setup for a (μ, λ)-Evolution Strategy. Applying this setup is done in the following way.
    final var engine = Engine.builder(problem) .setup(new MLEvolutionStrategy<>(μ, λ, p) .build();
    And is equivalent to the following builder setup.
    final var engine = Engine.builder(problem) .populationSize(λ) .survivorsSize(0) .offspringSelector(new TruncationSelector<>(μ)) .alterers(new Mutator<>(p)) .build();
    Since:
    6.0
    Version:
    6.0
    • Constructor Detail

      • MLEvolutionStrategy

        public MLEvolutionStrategy​(int mu,
                                   int lambda,
                                   double mutationProbability)
        Create a new (μ, λ)-Evolution Strategy with the given parameters.
        Parameters:
        mu - the number of fittest individuals to be selected
        lambda - the population count
        mutationProbability - the mutation probability
        Throws:
        IllegalArgumentException - if mu < 2 or lambda < mu or mutationProbability not in [0, 1]
      • MLEvolutionStrategy

        public MLEvolutionStrategy​(int mu,
                                   int lambda)
        Create a new (μ, λ)-Evolution Strategy with the given parameters. The mutation probability is set to Alterer.DEFAULT_ALTER_PROBABILITY.
        Parameters:
        mu - the number of fittest individuals to be selected
        lambda - the population count
        Throws:
        IllegalArgumentException - if mu < 2 or lambda < mu or mutationProbability not in [0, 1]