MOEA Framework 2.12
API Specification


  extended by org.moeaframework.algorithm.AbstractAlgorithm
      extended by org.moeaframework.algorithm.AbstractEvolutionaryAlgorithm
          extended by org.moeaframework.algorithm.SMSEMOA
All Implemented Interfaces:
Algorithm, EvolutionaryAlgorithm

public class SMSEMOA
extends AbstractEvolutionaryAlgorithm

Implementation of the S-metric Selection MOEA (SMS-MOEA). The S metric is also known as the hypervolume indicator.


  1. Emmerich, M., N. Beume, and B. Naujoks (2007). An EMO Algorithm Using the Hypervolume Measure as Selection Criterion. European Journal of Operational Research, 3:1653-1669.

    Field Summary
    Fields inherited from class org.moeaframework.algorithm.AbstractEvolutionaryAlgorithm
    archive, initialization, population
    Fields inherited from class org.moeaframework.algorithm.AbstractAlgorithm
    initialized, numberOfEvaluations, problem, terminated
    Constructor Summary
    SMSEMOA(Problem problem, Initialization initialization, Variation variation, FitnessEvaluator fitnessEvaluator)
              Constructs a new SMS-EMOA instance.
    Method Summary
    protected  void initialize()
              Performs any initialization that is required by this algorithm.
    protected  void iterate()
              Performs one iteration of the algorithm.
    Methods inherited from class org.moeaframework.algorithm.AbstractEvolutionaryAlgorithm
    getArchive, getPopulation, getResult, getState, setState
    Methods inherited from class org.moeaframework.algorithm.AbstractAlgorithm
    evaluate, evaluateAll, evaluateAll, finalize, getNumberOfEvaluations, getProblem, isInitialized, isTerminated, step, terminate
    Methods inherited from class java.lang.Object
    clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    Methods inherited from interface org.moeaframework.core.Algorithm
    evaluate, getNumberOfEvaluations, getProblem, isTerminated, step, terminate

    Constructor Detail


    public SMSEMOA(Problem problem,
                   Initialization initialization,
                   Variation variation,
                   FitnessEvaluator fitnessEvaluator)
    Constructs a new SMS-EMOA instance.

    problem - the problem
    initialization - the initialization operator
    variation - the variation operator
    fitnessEvaluator - the fitness evaluator
    Method Detail


    protected void initialize()
    Description copied from class: AbstractAlgorithm
    Performs any initialization that is required by this algorithm. This method is called automatically by the first invocation of AbstractAlgorithm.step(), but may also be called manually prior to any invocations of step. Implementations should always invoke super.initialize() to ensure the hierarchy is initialized correctly.

    initialize in class AbstractEvolutionaryAlgorithm


    protected void iterate()
    Description copied from class: AbstractAlgorithm
    Performs one iteration of the algorithm. This method should be overridden by implementations to perform each logical iteration of the algorithm.

    Specified by:
    iterate in class AbstractAlgorithm

    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!