Class NSGAII

  • All Implemented Interfaces:
    org.moeaframework.core.Algorithm, org.moeaframework.core.EpsilonBoxEvolutionaryAlgorithm, org.moeaframework.core.EvolutionaryAlgorithm

    public class NSGAII
    extends AEvolutionaryAlgorithm
    implements org.moeaframework.core.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.
    • 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 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 org.moeaframework.core.EpsilonBoxDominanceArchive getArchive()
        Specified by:
        getArchive in interface org.moeaframework.core.EpsilonBoxEvolutionaryAlgorithm
        Specified by:
        getArchive in interface org.moeaframework.core.EvolutionaryAlgorithm
        Overrides:
        getArchive in class AEvolutionaryAlgorithm
      • getPopulation

        public org.moeaframework.core.NondominatedSortingPopulation getPopulation()
        Specified by:
        getPopulation in interface org.moeaframework.core.EvolutionaryAlgorithm
        Overrides:
        getPopulation in class AEvolutionaryAlgorithm