Metrics
crowding_distance(A)
Crowding distance indicator.
The crowding distance is defined for each point in a Pareto front as the average side length of the cuboid formed by the neighbouring points.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
A
|
2D-array
|
Set of points representing a Pareto front. Pareto-efficiency is assumed but not checked. |
required |
Returns:
Name | Type | Description |
---|---|---|
array |
Crowding distance indicator for each point in the front. |
Source code in opti/metric.py
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
|
generational_distance(A, R, p=1, clip=True)
Generational distance indicator.
The generational distance (GD) is defined as the average distance of points in the approximate front A to a reference front R. .. math:: \mathrm{GD}(A, R) = (\sum\limits_{a \in A} d(a, R)^p)^{1/p} / N_A where d(a, R) is the euclidean distance of point a to the reference front, N_A is the number of points in A. GD is a measure of convergence.
Reference
David Van Veldhuizen+ (2000) Multiobjective Evolutionary Algorithms: Analyzing the State-of-the-Art
Parameters:
Name | Type | Description | Default |
---|---|---|---|
A
|
2D-array
|
Set of points representing an approximate Pareto front. |
required |
R
|
2D-array
|
Set of points representing a reference Pareto front. |
required |
p
|
int
|
Order of the p-norm for averaging over distances. Defaults to 1, yielding the standard average. |
1
|
clip
|
bool
|
Flag for using the modfied generational distance, which prevents negative values for points that are non-dominated by the reference front. |
True
|
Returns:
Name | Type | Description |
---|---|---|
float |
float
|
Generational distance indicator. |
Source code in opti/metric.py
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
|
inverted_generational_distance(A, R, p=1)
Inverted generational distance indicator.
The inverted generational distance (IGD) is defined as the average distance of points in the reference front R to an approximate front A. IGD is a measure of convergence, spread and distribution of the approximate front.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
A
|
2D-array
|
Set of points representing an approximate Pareto front. |
required |
R
|
2D-array
|
Set of points representing a reference Pareto front. |
required |
p
|
int
|
Order of the p-norm for averaging over distances. Defaults to 1, yielding the standard average. |
1
|
Returns:
Name | Type | Description |
---|---|---|
float |
float
|
Inverted generational distance indicator. |
Source code in opti/metric.py
115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 |
|
is_pareto_efficient(A)
Find the Pareto-efficient points in a set of objective vectors.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
A
|
2D-array, shape=(samples, dimension
|
Objective vectors. |
required |
Returns:
Type | Description |
---|---|
ndarray
|
1D-array of bools: Boolean mask for the Pareto efficient points in A. |
Source code in opti/metric.py
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
pareto_front(A)
Find the Pareto-efficient points in a set of objective vectors.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
A
|
2D-array, shape=(samples, dimension
|
Objective vectors. |
required |
Returns:
Type | Description |
---|---|
ndarray
|
2D-array: Pareto efficient points in A. |
Source code in opti/metric.py
23 24 25 26 27 28 29 30 31 32 |
|