MOEA Framework 2.12
API Specification

org.moeaframework.core.operator.permutation
Class PMX

java.lang.Object
  extended by org.moeaframework.core.operator.permutation.PMX
All Implemented Interfaces:
Variation

public class PMX
extends Object
implements Variation

Partially mapped crossover (PMX) operator. PMX is similar to two-point crossover, but includes a repair operator to ensure the offspring are valid permutations.

This variation operator is type-safe.

References:

  1. Goldberg, D. and Lingle, R. Jr. "Alleles, Loci, and the Traveling Salesman Problem." Proceedings of the 1st International Conference on Genetic Algorithms and Their Applications. 1985.


Constructor Summary
PMX(double probability)
          Constructs a PMX operator with the specified probability.
 
Method Summary
static void evolve(Permutation p1, Permutation p2)
          Evolves the specified permutations using the PMX operator.
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PMX

public PMX(double probability)
Constructs a PMX operator with the specified probability.

Parameters:
probability - the probability of applying this operator
Method Detail

evolve

public static void evolve(Permutation p1,
                          Permutation p2)
Evolves the specified permutations using the PMX operator.

Parameters:
p1 - the first permutation
p2 - the second permutation
Throws:
VariationException - if the permutations are not the same size

evolve

public Solution[] evolve(Solution[] parents)
Description copied from interface: Variation
Evolves one or more parent solutions (specified by 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.

Specified by:
evolve in interface Variation
Parameters:
parents - the array of parent solutions
Returns:
an array of child solutions

getArity

public int getArity()
Description copied from interface: Variation
Returns the number of solutions that must be supplied to the evolve method.

Specified by:
getArity in interface Variation
Returns:
the number of solutions that must be supplied to the evolve method

MOEA Framework 2.12
API Specification

Copyright 2009-2016 MOEA Framework. All rights reserved.
Licensed under the GNU Lesser General Public License.
Return to the MOEA Framework homepage. Visit us on Github!