MOEA Framework 2.12
API Specification

org.moeaframework.core
Class FastNondominatedSorting

java.lang.Object
  extended by org.moeaframework.core.NondominatedSorting
      extended by org.moeaframework.core.FastNondominatedSorting

public class FastNondominatedSorting
extends NondominatedSorting

Fast non-dominated sorting algorithm for dominance depth ranking. Assigns the rank and crowdingDistance attributes to solutions. Solutions of rank 0 belong to the Pareto non-dominated front. Requires at worst O(MN^2) operations instead of O(MN^3) required by a naive implementation of NondominatedSorting, but tends to run slower than the naive implementation except on edge cases (e.g., for N solutions there are N fronts).

[1] does not discuss how to handle duplicate solutions. A straightforward interpretation is that duplicate solutions should have the worst crowding distance (and hence are truncated/pruned from the population first). Therefore, duplicate solutions are assigned a crowding distance of 0.

References:

  1. Deb et al (2002). "A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II." IEEE Transactions on Evolutionary Computation. 6(2):182-197.


Field Summary
 
Fields inherited from class org.moeaframework.core.NondominatedSorting
comparator, CROWDING_ATTRIBUTE, RANK_ATTRIBUTE
 
Constructor Summary
FastNondominatedSorting()
          Constructs a fast non-dominated sorting operator using Pareto dominance.
FastNondominatedSorting(DominanceComparator comparator)
          Constructs a fast non-dominated sorting operator using the specified dominance comparator.
 
Method Summary
 void evaluate(Population population)
          Performs non-dominated sorting on the specified population, assigning the rank and crowdingDistance attributes to solutions.
 
Methods inherited from class org.moeaframework.core.NondominatedSorting
getComparator, updateCrowdingDistance
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FastNondominatedSorting

public FastNondominatedSorting()
Constructs a fast non-dominated sorting operator using Pareto dominance.


FastNondominatedSorting

public FastNondominatedSorting(DominanceComparator comparator)
Constructs a fast non-dominated sorting operator using the specified dominance comparator.

Parameters:
comparator - the dominance comparator
Method Detail

evaluate

public void evaluate(Population population)
Description copied from class: NondominatedSorting
Performs non-dominated sorting on the specified population, assigning the rank and crowdingDistance attributes to solutions.

Overrides:
evaluate in class NondominatedSorting
Parameters:
population - the population whose solutions are to be evaluated

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!