public final class Pareto extends Object
| Modifier and Type | Method and Description |
|---|---|
static <T> double[] |
crowdingDistance(Seq<? extends T> set,
ElementComparator<? super T> comparator,
ElementDistance<? super T> distance,
ToIntFunction<? super T> dimension)
The crowding distance value of a solution provides an estimate of the
density of solutions surrounding that solution.
|
static <T> double[] |
crowdingDistance(Seq<? extends Vec<T>> set)
The crowding distance value of a solution provides an estimate of the
density of solutions surrounding that solution.
|
static <C extends Comparable<? super C>> |
dominance(C[] u,
C[] v)
Calculates the
Pareto Dominance of the two vectors u and v.
|
static int |
dominance(double[] u,
double[] v)
Calculates the
Pareto Dominance of the two vectors u and v.
|
static int |
dominance(int[] u,
int[] v)
Calculates the
Pareto Dominance of the two vectors u and v.
|
static int |
dominance(long[] u,
long[] v)
Calculates the
Pareto Dominance of the two vectors u and v.
|
static <T> int |
dominance(T[] u,
T[] v,
Comparator<? super T> comparator)
Calculates the
Pareto Dominance of the two vectors u and v.
|
static <T> ISeq<T> |
front(Seq<? extends T> set,
Comparator<? super T> dominance)
Return the elements, from the given input
set, which are part of
the pareto front. |
static <T> ISeq<Vec<T>> |
front(Seq<? extends Vec<T>> set)
Return the elements, from the given input
set, which are part of
the pareto front. |
static <T> int[] |
rank(Seq<? extends T> set,
Comparator<? super T> dominance)
Calculates the non-domination rank of the given input
set,
using the given dominance comparator. |
static <T> int[] |
rank(Seq<? extends Vec<T>> set)
Calculates the non-domination rank of the given input
set,
using the natural order of the elements as dominance
measure. |
public static <T> double[] crowdingDistance(Seq<? extends Vec<T>> set)
T - the vector typeset - the point set used for calculating the crowding distanceset pointsNullPointerException - if the input set is nullIllegalArgumentException - if set.get(0).length() < 2crowdingDistance(Seq, ElementComparator, ElementDistance, ToIntFunction)O(d*n*log(n)), where d is the number of dimensions and
n the set size.public static <T> double[] crowdingDistance(Seq<? extends T> set, ElementComparator<? super T> comparator, ElementDistance<? super T> distance, ToIntFunction<? super T> dimension)
T - the vector typeset - the point set used for calculating the crowding distancecomparator - the comparator which defines the (total) order of the
vector elements of Tdistance - the distance of two vector elementsdimension - the dimension of vector type Tset pointsNullPointerException - if one of the arguments is nullcrowdingDistance(Seq)O(d*n*log(n)), where d is the number of dimensions and
n the set size.public static <T> int[] rank(Seq<? extends Vec<T>> set)
set,
using the natural order of the elements as dominance
measure.T - the element typeset - the input setsetO(n^2, where
n the set size.
Reference: Kalyanmoy Deb, Associate Member, IEEE, Amrit Pratap, Sameer Agarwal, and T. Meyarivan. A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II, IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION, VOL. 6, NO. 2, APRIL 2002.
public static <T> int[] rank(Seq<? extends T> set, Comparator<? super T> dominance)
set,
using the given dominance comparator.T - the element typeset - the input setdominance - the dominance comparator usedsetO(n^2,
where n the set size.
Reference: Kalyanmoy Deb, Associate Member, IEEE, Amrit Pratap, Sameer Agarwal, and T. Meyarivan. A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II, IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION, VOL. 6, NO. 2, APRIL 2002.
public static <T> ISeq<Vec<T>> front(Seq<? extends Vec<T>> set)
set, which are part of
the pareto front. The Comparable interface defines the dominance
measure of the elements, used for calculating the pareto front.
Reference: E. Zitzler and L. Thiele. Multiobjective Evolutionary Algorithms: A Comparative Case Study and the Strength Pareto Approach, IEEE Transactions on Evolutionary Computation, vol. 3, no. 4, pp. 257-271, 1999.
T - the element typeset - the input setNullPointerException - if one of the arguments is nullpublic static <T> ISeq<T> front(Seq<? extends T> set, Comparator<? super T> dominance)
set, which are part of
the pareto front.
Reference: E. Zitzler and L. Thiele. Multiobjective Evolutionary Algorithms: A Comparative Case Study and the Strength Pareto Approach, IEEE Transactions on Evolutionary Computation, vol. 3, no. 4, pp. 257-271, 1999.
T - the element typeset - the input setdominance - the dominance comparator usedNullPointerException - if one of the arguments is nullpublic static <C extends Comparable<? super C>> int dominance(C[] u, C[] v)
C - the element type of vector u and vu - the first vectorv - the second vector1 if u ≻ v, -1 if v ≻
u and 0 otherwiseNullPointerException - if one of the arguments is nullIllegalArgumentException - if u.length != v.lengthVec.dominance(Comparable[], Comparable[])public static <T> int dominance(T[] u, T[] v, Comparator<? super T> comparator)
T - the element type of vector u and vu - the first vectorv - the second vectorcomparator - the element comparator which is used for calculating
the dominance1 if u ≻ v, -1 if v ≻
u and 0 otherwiseNullPointerException - if one of the arguments is nullIllegalArgumentException - if u.length != v.lengthVec.dominance(Object[], Object[], Comparator)public static int dominance(int[] u, int[] v)
u - the first vectorv - the second vector1 if u ≻ v, -1 if v ≻
u and 0 otherwiseNullPointerException - if one of the arguments is nullIllegalArgumentException - if u.length != v.lengthVec.dominance(int[], int[])public static int dominance(long[] u, long[] v)
u - the first vectorv - the second vector1 if u ≻ v, -1 if v ≻
u and 0 otherwiseNullPointerException - if one of the arguments is nullIllegalArgumentException - if u.length != v.lengthVec.dominance(long[], long[])public static int dominance(double[] u, double[] v)
u - the first vectorv - the second vector1 if u ≻ v, -1 if v ≻
u and 0 otherwiseNullPointerException - if one of the arguments is nullIllegalArgumentException - if u.length != v.lengthVec.dominance(double[], double[])© 2007-2019 Franz Wilhelmstötter (2019-11-18 20:30)