Class NonUniformMutation

java.lang.Object
org.uma.jmetal.operator.mutation.impl.NonUniformMutation
All Implemented Interfaces:
Serializable, MutationOperator<DoubleSolution>, Operator<DoubleSolution,DoubleSolution>

public class NonUniformMutation extends Object implements MutationOperator<DoubleSolution>
This class implements a non-uniform mutation operator.
Author:
Antonio J. Nebro <antonio@lcc.uma.es>, Juan J. Durillo
See Also:
  • Constructor Details

    • NonUniformMutation

      public NonUniformMutation(double mutationProbability, double perturbation, int maxIterations)
      Constructor
    • NonUniformMutation

      public NonUniformMutation(double mutationProbability, double perturbation, int maxIterations, RepairDoubleSolution solutionRepair)
      Constructor
    • NonUniformMutation

      public NonUniformMutation(double mutationProbability, double perturbation, int maxIterations, RepairDoubleSolution solutionRepair, RandomGenerator<Double> randomGenenerator)
      Constructor
  • Method Details

    • getPerturbation

      public double getPerturbation()
    • getMaxIterations

      public int getMaxIterations()
    • mutationProbability

      public double mutationProbability()
      Specified by:
      mutationProbability in interface MutationOperator<DoubleSolution>
    • getCurrentIteration

      public int getCurrentIteration()
    • setCurrentIteration

      public void setCurrentIteration(int currentIteration)
    • setPerturbation

      public void setPerturbation(double perturbation)
    • setMaxIterations

      public void setMaxIterations(int maxIterations)
    • setMutationProbability

      public void setMutationProbability(double mutationProbability)
    • execute

      public DoubleSolution execute(DoubleSolution solution)
      Execute() method
      Specified by:
      execute in interface MutationOperator<DoubleSolution>
      Specified by:
      execute in interface Operator<DoubleSolution,DoubleSolution>
      Parameters:
      solution - The data to process
    • doMutation

      public void doMutation(double probability, DoubleSolution solution)
      Perform the mutation operation
      Parameters:
      probability - Mutation setProbability
      solution - The solution to mutate