Class SelfAdaptiveNormalVariation

java.lang.Object
org.moeaframework.algorithm.single.SelfAdaptiveNormalVariation
All Implemented Interfaces:
Configurable, Mutation, Variation

public class SelfAdaptiveNormalVariation extends Object implements Mutation
Self adaptive variation based on the normal distribution. The self adaptive parameter sigma is stored as the SelfAdaptiveNormalVariation.Sigma attribute. Each call to Mutation.evolve(Solution[]) performs the following changes:
   sigma = sigma * e^(tau * N(0,1))
   vars = vars + sigma * N(0,I)
 
where N(0,1) and N(0,I) are normally-distributed random numbers with mean 0 and standard deviation 1.
  • Constructor Details

    • SelfAdaptiveNormalVariation

      public SelfAdaptiveNormalVariation()
      Constructs a new instance of the self-adaptive variation based on the normal distribution.
  • 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.
      Specified by:
      getName in interface Variation
      Returns:
      the name of this variation operator
    • mutate

      public Solution mutate(Solution parent)
      Description copied from interface: Mutation
      Mutates the given parent to produce an offspring.
      Specified by:
      mutate in interface Mutation
      Parameters:
      parent - the parent solution
      Returns:
      the offspring