All Implemented Interfaces:
Configurable, Mutation, Variation

public class UM extends TypeSafeMutation<RealVariable>
Uniform mutation (UM) operator. Each decision variable is mutated by selecting a new value within its bounds uniformly at random. The figure below depicts the offspring distribution.

Example UM operator distribution

It is recommended each decision variable is mutated with a probability of 1 / L, where L is the number of decision variables. This results in one mutation per offspring on average.

This operator is type-safe.

  • Constructor Details

    • UM

      public UM()
      Constructs a uniform mutation operator with default settings.
    • UM

      public UM(double probability)
      Constructs a uniform mutation operator.
      Parameters:
      probability - the probability of mutating each variable in a solution
  • Method Details

    • getName

      public String getName()
      Description copied from interface: Variation
      Returns the name of this variation operator. This name should also be used as the prefix for any parameters. As such, the name should only contain alphanumeric characters, avoid using whitespace and other symbols.
      Returns:
      the name of this variation operator
    • mutate

      public void mutate(RealVariable variable)
      Mutates the specified variable using uniform mutation.
      Specified by:
      mutate in class TypeSafeMutation<RealVariable>
      Parameters:
      variable - the variable to be mutated