Class MutateDoubleNonUniform

All Implemented Interfaces:
Operator<DoubleGenotype>, Mutate<DoubleGenotype>

public class MutateDoubleNonUniform extends MutateDoubleUniform
The MutateDoubleNonUniform non-uniformly mutates a DoubleGenotype elementwise.
  • Field Details

    • iteration

      protected final Iteration iteration
  • Constructor Details

    • MutateDoubleNonUniform

      @Inject public MutateDoubleNonUniform(Rand random, NormalizeDouble normalize, Iteration iteration, double perturbation)
      Parameters:
      random - the random number generator
      normalize - the normalize operator
      iteration - the iteration counter
      perturbation - the perturbation index
  • Method Details

    • mutateElement

      protected double mutateElement(double x, double lb, double ub, double p)
      Description copied from class: MutateDoubleElementwise
      Mutate one element of the list.
      Overrides:
      mutateElement in class MutateDoubleUniform
      Parameters:
      x - the element
      lb - the lower bound
      ub - the upper bound
      p - the mutation rate
      Returns:
      the mutated element
    • delta

      protected double delta(double perturbation)
      Calculates the delta value for the non-uniform mutation.
      Parameters:
      perturbation - the perturbation value
      Returns:
      the delta value