Class NSGAII
- java.lang.Object
-
- ai.libs.jaicore.ea.algorithm.moea.moeaframework.AbstractAlgorithm
-
- ai.libs.jaicore.ea.algorithm.moea.moeaframework.AbstractEvolutionaryAlgorithm
-
- ai.libs.jaicore.ea.algorithm.moea.moeaframework.NSGAII
-
- All Implemented Interfaces:
org.moeaframework.core.Algorithm,org.moeaframework.core.EpsilonBoxEvolutionaryAlgorithm,org.moeaframework.core.EvolutionaryAlgorithm
public class NSGAII extends AbstractEvolutionaryAlgorithm implements org.moeaframework.core.EpsilonBoxEvolutionaryAlgorithm
Implementation of NSGA-II, with the ability to attach an optional ε-dominance archive.References:
- Deb, K. et al. "A Fast Elitist Multi-Objective Genetic Algorithm: NSGA-II." IEEE Transactions on Evolutionary Computation, 6:182-197, 2000.
- 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 ai.libs.jaicore.ea.algorithm.moea.moeaframework.AbstractEvolutionaryAlgorithm
archive, initialization, population
-
Fields inherited from class ai.libs.jaicore.ea.algorithm.moea.moeaframework.AbstractAlgorithm
initialized, numberOfEvaluations, problem, terminated
-
-
Constructor Summary
Constructors Constructor Description NSGAII(org.moeaframework.core.Problem problem, org.moeaframework.core.NondominatedSortingPopulation population, org.moeaframework.core.EpsilonBoxDominanceArchive archive, org.moeaframework.core.Selection selection, org.moeaframework.core.Variation variation, org.moeaframework.core.Initialization initialization)Constructs the NSGA-II algorithm with the specified components.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.moeaframework.core.EpsilonBoxDominanceArchivegetArchive()org.moeaframework.core.NondominatedSortingPopulationgetPopulation()voiditerate()Performs one iteration of the algorithm.-
Methods inherited from class ai.libs.jaicore.ea.algorithm.moea.moeaframework.AbstractEvolutionaryAlgorithm
getResult, getState, initialize, setState
-
Methods inherited from class ai.libs.jaicore.ea.algorithm.moea.moeaframework.AbstractAlgorithm
evaluate, evaluateAll, evaluateAll, getNumberOfEvaluations, getProblem, isInitialized, isTerminated, step, terminate
-
-
-
-
Constructor Detail
-
NSGAII
public NSGAII(org.moeaframework.core.Problem problem, org.moeaframework.core.NondominatedSortingPopulation population, org.moeaframework.core.EpsilonBoxDominanceArchive archive, org.moeaframework.core.Selection selection, org.moeaframework.core.Variation variation, org.moeaframework.core.Initialization initialization)Constructs the NSGA-II algorithm with the specified components.- Parameters:
problem- the problem being solvedpopulation- the population used to store solutionsarchive- the archive used to store the result; can benullselection- the selection operatorvariation- the variation operatorinitialization- the initialization method
-
-
Method Detail
-
iterate
public void iterate()
Description copied from class:AbstractAlgorithmPerforms one iteration of the algorithm. This method should be overridden by implementations to perform each logical iteration of the algorithm.- Specified by:
iteratein classAbstractAlgorithm
-
getArchive
public org.moeaframework.core.EpsilonBoxDominanceArchive getArchive()
- Specified by:
getArchivein interfaceorg.moeaframework.core.EpsilonBoxEvolutionaryAlgorithm- Specified by:
getArchivein interfaceorg.moeaframework.core.EvolutionaryAlgorithm- Overrides:
getArchivein classAbstractEvolutionaryAlgorithm
-
getPopulation
public org.moeaframework.core.NondominatedSortingPopulation getPopulation()
- Specified by:
getPopulationin interfaceorg.moeaframework.core.EvolutionaryAlgorithm- Overrides:
getPopulationin classAbstractEvolutionaryAlgorithm
-
-