Pareto reflections#
What are Pareto reflections? On a top level, Pareto reflections are functions which reflect certain properties of Pareto points.
Why do we use Pareto reflections? Pareto reflections allow us to construct MOO algorithms targeting certain properties of Pareto points. In other words, the Pareto optimal solutions of some Pareto reflection corresponding to some properties are those Pareto points that fit the properties best.
How do we use Pareto reflections in Paref?
This is done by calling the apply_to_sequence method of some MOO algorithm (implemented in ParefMOO interface)
to the Pareto reflection.
from paref.moo_algorithms.minimizer.gpr_minimizer import GPRMinimizer
from paref.moo_algorithms.stopping_criteria.max_iterations_reached import MaxIterationsReached
from paref.pareto_reflections.find_edge_points import FindEdgePoints
moo = GPRMinimizer()
reflection = FindEdgePoints(dimension=0,
blackbox_function=bbf)
stopping_criteria = MaxIterationsReached(max_iterations=1)
moo.apply_to_sequence(blackbox_function=bbf,
sequence_pareto_reflections=reflection,
stopping_criteria=stopping_criteria)
All reflections are found within the paref.pareto_reflections module.
You can access the Pareto points fitting the properties best by calling the best_fits attribute.
Currently, Paref includes implementations of the following Pareto reflections
(illustrated by their corresponding property):
Property |
Graphic |
Pareto reflection |
Supported target space dimension |
Note |
|---|---|---|---|---|
Being an edge point |
|
All |
||
Being Pareto optimal among all points minimizing some function |
|
All |
The points this Pareto reflection returns are n.n. Pareto optimal. They are if the Pareto points among the points minimizing |
|
Filling a gap |
|
All |
This reflection works best if the gap defining points are Pareto optimal |
|
Having minimum (weighted) distance to some utopia point |
|
All |
||
Being constrained to a defined area |
|
All |
Be careful with this Pareto reflection. If the Restricting point is too restrictive the optimization is most likely to fail. |
|
Reflecting a user defined priority of the objectives |
|
|
All |
This Pareto reflection requires an edge point of each component |
