
MOEA Framework 2.12 API Specification 

PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 
java.lang.Object org.moeaframework.core.operator.real.PM
public class PM
Polynomial mutation (PM) operator. PM attempts to simulate the offspring distribution of binaryencoded bitflip mutation on realvalued decision variables. Similar to SBX, PM favors offspring nearer to the parent.
The distribution index controls the shape of the offspring distribution. Larger values for the distribution index generates offspring closer to the parents.
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 typesafe.
References:
Constructor Summary  

PM(double probability,
double distributionIndex)
Constructs a polynomial mutation operator with the specified probability and distribution index. 
Method Summary  

static void 
evolve(RealVariable v,
double distributionIndex)
Mutates the specified variable using polynomial mutation. 
Solution[] 
evolve(Solution[] parents)
Evolves one or more parent solutions (specified by getArity ) and
produces one or more child solutions. 
int 
getArity()
Returns the number of solutions that must be supplied to the evolve method. 
double 
getDistributionIndex()
Returns the distribution index controlling the shape of the polynomial mutation. 
double 
getProbability()
Returns the probability this operator is applied to each decision variable. 
Methods inherited from class java.lang.Object 

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 
Constructor Detail 

public PM(double probability, double distributionIndex)
probability
 the probability this operator is applied to each
decision variabledistributionIndex
 the distribution index controlling the shape of
the polynomial mutation.Method Detail 

public double getProbability()
public double getDistributionIndex()
public Solution[] evolve(Solution[] parents)
Variation
getArity
) and
produces one or more child solutions. By contract, the parents must not
be modified. The copy constructor should be used to create copies of the
parents with these copies subsequently modified.
evolve
in interface Variation
parents
 the array of parent solutions
public static void evolve(RealVariable v, double distributionIndex)
v
 the variable to be mutateddistributionIndex
 the distribution index controlling the shape of
the polynomial mutationpublic int getArity()
Variation
evolve
method.
getArity
in interface Variation
evolve
method

MOEA Framework 2.12 API Specification 

PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 