MOEA Framework 2.12
API Specification

org.moeaframework.algorithm
Class NSGAII

java.lang.Object
  extended by org.moeaframework.algorithm.AbstractAlgorithm
      extended by org.moeaframework.algorithm.AbstractEvolutionaryAlgorithm
          extended by org.moeaframework.algorithm.NSGAII
All Implemented Interfaces:
Algorithm, EpsilonBoxEvolutionaryAlgorithm, EvolutionaryAlgorithm

public class NSGAII
extends AbstractEvolutionaryAlgorithm
implements EpsilonBoxEvolutionaryAlgorithm

Implementation of NSGA-II, with the ability to attach an optional ε-dominance archive.

References:

  1. Deb, K. et al. "A Fast Elitist Multi-Objective Genetic Algorithm: NSGA-II." IEEE Transactions on Evolutionary Computation, 6:182-197, 2000.
  2. Kollat, J. B., and Reed, P. M. "Comparison of Multi-Objective Evolutionary Algorithms for Long-Term Monitoring Design." Advances in Water Resources, 29(6):792-807, 2006.


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
NSGAII(Problem problem, NondominatedSortingPopulation population, EpsilonBoxDominanceArchive archive, Selection selection, Variation variation, Initialization initialization)
          Constructs the NSGA-II algorithm with the specified components.
 
Method Summary
 EpsilonBoxDominanceArchive getArchive()
          Returns the current non-dominated archive of the best solutions generated by this evolutionary algorithm, or null if no archive is used.
 NondominatedSortingPopulation getPopulation()
          Returns the current population of this evolutionary algorithm.
 void iterate()
          Performs one iteration of the algorithm.
 
Methods inherited from class org.moeaframework.algorithm.AbstractEvolutionaryAlgorithm
getResult, getState, initialize, 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, getResult, getState, isTerminated, setState, step, terminate
 

Constructor Detail

NSGAII

public NSGAII(Problem problem,
              NondominatedSortingPopulation population,
              EpsilonBoxDominanceArchive archive,
              Selection selection,
              Variation variation,
              Initialization initialization)
Constructs the NSGA-II algorithm with the specified components.

Parameters:
problem - the problem being solved
population - the population used to store solutions
archive - the archive used to store the result; can be null
selection - the selection operator
variation - the variation operator
initialization - the initialization method
Method Detail

iterate

public 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

getArchive

public EpsilonBoxDominanceArchive getArchive()
Description copied from interface: EvolutionaryAlgorithm
Returns the current non-dominated archive of the best solutions generated by this evolutionary algorithm, or null if no archive is used.

Specified by:
getArchive in interface EpsilonBoxEvolutionaryAlgorithm
Specified by:
getArchive in interface EvolutionaryAlgorithm
Overrides:
getArchive in class AbstractEvolutionaryAlgorithm
Returns:
the current non-dominated archive of the best solutions generated by this evolutionary algorithm, or null if no archive is used

getPopulation

public NondominatedSortingPopulation getPopulation()
Description copied from interface: EvolutionaryAlgorithm
Returns the current population of this evolutionary algorithm.

Specified by:
getPopulation in interface EvolutionaryAlgorithm
Overrides:
getPopulation in class AbstractEvolutionaryAlgorithm
Returns:
the current population of this evolutionary 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!