Package org.moeaframework.algorithm
Class UNSGAIII
- All Implemented Interfaces:
Algorithm,EpsilonBoxEvolutionaryAlgorithm,EvolutionaryAlgorithm,Extensible,Configurable,Named,Stateful
Implementation of the "unified" NSGA-III, or U-NSGA-III, which improves selection pressure by replacing the random
selection of NSGA-III with tournament selection.
References:
- H. Seada and K. Deb. "A Unified Evolutionary Optimization Procedure for Single, Multiple, and Many Objectives." IEEE Transactions on Evolutionary Computation, 20(3):358–369, June 2016.
- H. Saeda and K. Deb. "U-NSGA-III: A Univied Evolutionary Algorithm for Single, Multiple, and Many-Objective Optimization." COIN Report Number 2014022.
-
Field Summary
Fields inherited from class org.moeaframework.algorithm.AbstractAlgorithm
initialized, numberOfEvaluations, problem, terminated -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new U-NSGA-III instance with default settings.UNSGAIII(Problem problem, int initialPopulationSize, ReferencePointNondominatedSortingPopulation population, Selection selection, Variation variation, Initialization initialization) Constructs a new U-NSGA-III instance with the specified components.UNSGAIII(Problem problem, NormalBoundaryDivisions divisions) Creates a new U-NSGA-III instance with the given number of reference point divisions. -
Method Summary
Modifier and TypeMethodDescriptiongetName()Returns the name of this algorithm.voidPerforms any initialization that is required by this algorithm.Methods inherited from class org.moeaframework.algorithm.NSGAIII
applyConfiguration, fixDefaultParameters, getConfiguration, getDefaultSelection, getDefaultVariation, getInitialPopulationSize, getPopulation, setPopulationMethods inherited from class org.moeaframework.algorithm.NSGAII
getArchive, iterate, setArchive, setInitialPopulationSize, setVariationMethods inherited from class org.moeaframework.algorithm.AbstractEvolutionaryAlgorithm
getInitialization, getInitialPopulationSize, getResult, getVariation, loadState, saveState, setArchive, setInitialization, setPopulationMethods inherited from class org.moeaframework.algorithm.AbstractAlgorithm
assertNotInitialized, evaluate, getExtensions, getNumberOfEvaluations, getProblem, isInitialized, isTerminated, step, terminateMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.moeaframework.algorithm.Algorithm
evaluate, evaluateAll, evaluateAll, getNumberOfEvaluations, getProblem, getResult, isInitialized, isTerminated, run, run, step, terminateMethods inherited from interface org.moeaframework.algorithm.extension.Extensible
addExtension, getExtensions, removeExtension
-
Constructor Details
-
UNSGAIII
Creates a new U-NSGA-III instance with default settings.- Parameters:
problem- the problem to solve
-
UNSGAIII
Creates a new U-NSGA-III instance with the given number of reference point divisions.- Parameters:
problem- the problem to solvedivisions- the number of divisions for generating reference points
-
UNSGAIII
public UNSGAIII(Problem problem, int initialPopulationSize, ReferencePointNondominatedSortingPopulation population, Selection selection, Variation variation, Initialization initialization) Constructs a new U-NSGA-III instance with the specified components.- Parameters:
problem- the problem being solvedinitialPopulationSize- the initial population sizepopulation- the reference point population used to store solutionsselection- the selection operatorvariation- the variation operatorinitialization- the initialization method
-
-
Method Details
-
getName
Description copied from interface:AlgorithmReturns the name of this algorithm. Whenever possible, this name should match the name recognized byAlgorithmFactory. -
initialize
public void initialize()Description copied from interface:AlgorithmPerforms any initialization that is required by this algorithm. This method should only be called once, though the specific implementation may choose to no-op or throwAlgorithmInitializationExceptionif called multiple times.Implementations should always call
super.initialize()to ensure the algorithm is initialized correctly.- Specified by:
initializein interfaceAlgorithm- Overrides:
initializein classAbstractEvolutionaryAlgorithm
-