paref.pareto_reflections.restrict_by_point#
Classes
|
Restrict the Pareto points in the target space by demanding each component to be lower than some value |
- class paref.pareto_reflections.restrict_by_point.RestrictByPoint(nadir: ndarray, restricting_point: ndarray)[source]#
Bases:
ParetoReflectionRestrict the Pareto points in the target space by demanding each component to be lower than some value
When to use#
This Pareto reflection should be used if Pareto points are desired which dominate a certain point, i.e. when every component of a found Pareto points \(x\) must satisfy \(x_i\le r_i\) for some \(r_i \in \mathbb{R}\).
What it does#
The Pareto points of this map are all the Pareto points which dominate that point.
Mathematical formula#
Denote by d the point which should be dominated and n some nadir (i.e. n dominated by all points). Then,
\[p(x) = x\]if x dominates or is equal to d and
\[p(x) = n\]else.
Examples
Define the nadir and the point which should be dominated
>>> import numpy as np >>> nadir, restricting_point = np.array([3,7]),np.zeros(2)
Initialize the Restricting
>>> pareto_reflection = RestrictByPoint(nadir=nadir,restricting_point=restricting_point)
Calling it to (1,1), i.e. calculating
\[p(1,1)=(3,7)\]yields:
>>> pareto_reflection(np.ones(2)) array([3, 7])
Specify the nadir and the to be dominated point
- param nadir:
- param np.ndarray:
nadir (dominated by all points) stored in 1 dimensional array of length n
- param restricting_point:
- param np.ndarray:
point to be dominated stored in 1 dimensional array of length n
- __call__(x: ndarray) ndarray[source]#
Calculate the RestrictByPoint function
- Parameters:
x –
np.ndarray – input vector stored in 1 dimensional array of length n
- Returns:
value of the restricting function
- Return type:
float
- property dimension_codomain: int#
- property dimension_domain: int#