Package org.moeaframework.core
Class FastNondominatedSorting
java.lang.Object
org.moeaframework.core.NondominatedSorting
org.moeaframework.core.FastNondominatedSorting
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:
- 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
-
Constructor Summary
ConstructorDescriptionConstructs 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
Modifier and TypeMethodDescriptionvoid
evaluate
(Population population) Performs non-dominated sorting on the specified population, assigning therank
andcrowdingDistance
attributes to solutions.Methods inherited from class org.moeaframework.core.NondominatedSorting
getComparator, updateCrowdingDistance
-
Constructor Details
-
FastNondominatedSorting
public FastNondominatedSorting()Constructs a fast non-dominated sorting operator using Pareto dominance. -
FastNondominatedSorting
Constructs a fast non-dominated sorting operator using the specified dominance comparator.- Parameters:
comparator
- the dominance comparator
-
-
Method Details
-
evaluate
Description copied from class:NondominatedSorting
Performs non-dominated sorting on the specified population, assigning therank
andcrowdingDistance
attributes to solutions.- Overrides:
evaluate
in classNondominatedSorting
- Parameters:
population
- the population whose solutions are to be evaluated
-