MOEA Framework 2.12
API Specification

org.moeaframework.core.operator.real
Class AdaptiveMetropolis

java.lang.Object
  extended by org.moeaframework.core.operator.real.AdaptiveMetropolis
All Implemented Interfaces:
Variation

public class AdaptiveMetropolis
extends Object
implements Variation

The adaptive metropolis (AM) operator. AM is a multiparent operator, allowing a user-defined number of parents and offspring. AM produces normally-distributed clusters around each parent, where the shape of the distribution is controlled by the covariance of the parents.

Internally, the Cholesky decomposition is used to update the resulting offspring distribution. Cholesky decomposition requires that its input be positive definite. In order to guarantee this condition is satisfied, all parents must be unique. In the event that the positive definite condition is not satisifed, no offspring are produced and an empty array is returned by evolve(Solution[]).

References:

  1. Vrugt, J.A., Robinson, B.A. and Hyman, J.M. "Self-Adaptive MultiMethod Search For Global Optimization in Real-Parameter Spaces." IEEE Transactions on Evolutionary Computation, pp. 1-17, 2009.
  2. Vrugt, J.A. and Robinson, B.A. "Improved Evolutionary Optimization from Genetically Adaptive Multimethod Search." Proceedings of the National Academy of Sciences of the United States of America, vol. 104, pp. 708 - 711, 2007.
  3. Gelman, A., Roberts, G.O. and Gilks, W.R. "Efficient Metropolis Jumping Rules." Bayesian Statistics, vol. 5, pp. 599-607, 1996.


Constructor Summary
AdaptiveMetropolis(int numberOfParents, int numberOfOffspring, double jumpRateCoefficient)
          Constructs an adaptive metropolis operator.
 
Method Summary
 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

AdaptiveMetropolis

public AdaptiveMetropolis(int numberOfParents,
                          int numberOfOffspring,
                          double jumpRateCoefficient)
Constructs an adaptive metropolis operator.

Parameters:
numberOfParents - the number of parents required by this operator
numberOfOffspring - the number of parents produced by this operator
jumpRateCoefficient - the jump raote coefficient, controlling the standard deviation of the covariance matrix
Method Detail

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

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

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!