MOEA Framework 2.12
API Specification

org.moeaframework.algorithm
Class StandardAlgorithms

java.lang.Object
  extended by org.moeaframework.core.spi.AlgorithmProvider
      extended by org.moeaframework.algorithm.StandardAlgorithms

public class StandardAlgorithms
extends AlgorithmProvider

A provider of standard algorithms. The following table contains all available algorithms and the customizable properties. These properties are tailored for real-valued operators. If using a different representation, see OperatorFactory for the appropriate parameters. See the user manual for a more detailed description of the algorithms and parameters.

For a more detailed description of each algorithm, their properties, and their default values, please refer to Appendix A in the Beginner's Guide to the MOEA Framework.

Name Type Properties
CMA-ES Real lambda, cc, cs, damps, ccov, ccovsep, sigma, diagonalIterations, indicator, initialSearchPoint
DBEA Any divisions, sbx.rate, sbx.distributionIndex, pm.rate, pm.distributionIndex (for the two-layer approach, replace divisions by divisionsOuter and divisionsInner)
eMOEA Any populationSize, epsilon, sbx.rate, sbx.distributionIndex, pm.rate, pm.distributionIndex
eNSGAII Any populationSize, epsilon, sbx.rate, sbx.distributionIndex, pm.rate, pm.distributionIndex, injectionRate, windowSize, maxWindowSize, minimumPopulationSize, maximumPopulationSize
GDE3 Real populationSize, de.crossoverRate, de.stepSize
IBEA Any populationSize, sbx.rate, sbx.distributionIndex, pm.rate, pm.distributionIndex, indicator
MOEAD Real populationSize, de.crossoverRate, de.stepSize, pm.rate, pm.distributionIndex, neighborhoodSize, delta, eta, updateUtility
MSOPS Real populationSize, numberOfWeights, de.crossoverRate, de.stepSize
NSGAII Any populationSize, sbx.rate, sbx.distributionIndex, pm.rate, pm.distributionIndex, withReplacement
NSGAIII Any populationSize, divisions, sbx.rate, sbx.distributionIndex, pm.rate, pm.distributionIndex (for the two-layer approach, replace divisions by divisionsOuter and divisionsInner)
OMOPSO Real populationSize, archiveSize, maxEvaluations, mutationProbability, perturbationIndex, epsilon
PAES Any archiveSize, bisections, pm.rate, pm.distributionIndex
PESA2 Any populationSize, archiveSize, bisections, sbx.rate, sbx.distributionIndex, pm.rate, pm.distributionIndex
Random Any populationSize, epsilon
RVEA Any populationSize, divisions, alpha, maxEvaluations, adaptFrequency, sbx.rate, sbx.distributionIndex, pm.rate, pm.distributionIndex (for the two-layer approach, replace divisions by divisionsOuter and divisionsInner)
SMPSO Real populationSize, archiveSize, pm.rate, pm.distributionIndex
SMS-EMOA Any populationSize, offset, sbx.rate, sbx.distributionIndex, pm.rate, pm.distributionIndex
SPEA2 Any populationSize, offspringSize, k, sbx.rate, sbx.distributionIndex, pm.rate, pm.distributionIndex
VEGA Any populationSize, sbx.rate, sbx.distributionIndex, pm.rate, pm.distributionIndex

Several single-objective algorithms are also supported. These single-objective algorithms support an optional weighting method, which can be either "linear" or "min-max".

Name Type Properties
GA Any populationSize, method, weights, sbx.rate, sbx.distributionIndex, pm.rate, pm.distributionIndex
ES Real populationSize, method, weights
DE Real populationSize, method, weights, de.crossoverRate, de.stepSize

Lastly, the Repeated Single Objective (RSO) algorithm is a special case that runs a single-objective algorithm multiple times while aggregating the result. For example, you can create the algorithm RSO(GA) to run the single-objective genetic algorithm (GA) multiple times. The instances property controls the number of repeated runs.


Constructor Summary
StandardAlgorithms()
          Constructs the standard algorithm provider.
 
Method Summary
 Algorithm getAlgorithm(String name, Properties properties, Problem problem)
          Returns the algorithm with the specified name, or null if this provider does not support the algorithm.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StandardAlgorithms

public StandardAlgorithms()
Constructs the standard algorithm provider.

Method Detail

getAlgorithm

public Algorithm getAlgorithm(String name,
                              Properties properties,
                              Problem problem)
Description copied from class: AlgorithmProvider
Returns the algorithm with the specified name, or null if this provider does not support the algorithm. An optional set of properties may be provided to further define the algorithm; however, the provider is expected to supply default properties if none are provided.

Specified by:
getAlgorithm in class AlgorithmProvider
Parameters:
name - the algorithm name
properties - optional properties for the algorithm
problem - the problem
Returns:
the algorithm with the specified name, or null if this provider does not support the algorithm

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!