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

java.lang.Object
io.jenetics.ext.MLEvolutionStrategy<G,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 Details

    • MLEvolutionStrategy

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