Skip to main content
Ctrl+K
Paref - Home
  • basics
  • faq
  • trouble-shooting
  • algorithms
  • demo
    • api-reference
    • sequences
    • reflections
    • theory
  • GitHub
  • basics
  • faq
  • trouble-shooting
  • algorithms
  • demo
  • api-reference
  • sequences
  • reflections
  • theory
  • GitHub
  • API Reference
  • paref.express
  • paref.expres...

paref.express.express_search#

Classes

ExpressSearch(blackbox_function[, ...])

High level MOO algorithms

class paref.express.express_search.ExpressSearch(blackbox_function: BlackboxFunction, constraints: ndarray | None = None, training_iter: int = 2000)[source]#

Bases: object

High level MOO algorithms

Paref express provides high level MOO algorithms that are easy and robust to use. The algorithms are designed to cover most frequently used MOOs and to provide a good starting point for further optimization. Those include:

  • minimal search: Determine the edges and a maximal point of the Pareto front, i.e. Pareto points laying on the

    boundary of the Pareto front and some Pareto point which is a real trade-off between all components. This algorithm should always be applied prior to any other MOO algorithm.

  • priority search: Find Pareto points which reflect your priorities of certain components. With this algorithm you

    can find Pareto points which are optimal for your specific needs.

Warning

Paref’s ExpressSearch is still under development. If you run into any problems, errors or have suggestions how to make it user-friendlier, please contact me or open an issue on GitHub. Many thanks!

Parameters:
  • blackbox_function (BlackboxFunction) – blackbox function to apply the MOO algorithm to

  • constraints (np.ndarray) – constraints for the target space i.e. what the maximal acceptable value of each component is

  • training_iter (int) – number of iterations for the underlying Gaussian Process Regressors

minimal_search(max_evaluations: int)[source]#

Determine the edges and a maximal point of the Pareto front

This algorithm provides a minimal search for the Pareto front which allow to get a feeling for the problem and which algorithms to use in the next step.

Parameters:

max_evaluations (int) – maximum number of allowed evaluations of the blackbox function

Examples

>>> from paref.express.express_search import ExpressSearch
>>> moo = ExpressSearch(bbf,)
>>> moo.minimal_search(3)  # minimal search granting 3 evaluations of the blackbox function
priority_search(priority: ndarray, max_evaluations: int)[source]#

Find Pareto points which reflect your priorities of certain components

priority must be a vector of length equal to the number of components of the target space. each entry represents how much weight is assigned to the corresponding component, i.e. the higher the value the more important the component.

Parameters:
  • priority (np.ndarray) – priority vector

  • max_evaluations (int) – maximum number of allowed evaluations of the blackbox function

Examples

>>> from paref.express.express_search import ExpressSearch
>>> moo = ExpressSearch(bbf,)
>>> moo.minimal_search(3)  # minimal search granting 3 evaluations of the blackbox function
search_for_best_real_trade_off(max_evaluations: int)[source]#

Find some Pareto point which is a real trade-off between all components

Parameters:

max_evaluations (int) – maximum number of allowed evaluations of the blackbox function

Examples

>>> from paref.express.express_search import ExpressSearch
>>> moo = ExpressSearch(bbf,)
>>> moo.search_for_best_real_trade_off(3)  # determine real-trade off in all components with 3 evaluations
search_for_minima(max_evaluations: int, component: int)[source]#

Find Pareto points minimal in some component

Parameters:
  • max_evaluations (int) – maximum number of allowed evaluations of the blackbox function

  • component (int) – component to minimize

Examples

>>> from paref.express.express_search import ExpressSearch
>>> moo = ExpressSearch(bbf,)
>>> moo.search_for_minima(max_evaluations=3, component=0)  # search for Pareto point minimal in the 0th obj
property edge_points: ndarray#

Pareto points minimal in some components

Returns:

Pareto points minimal in some components where the ith entry is the Pareto points minimal in the ith component

Return type:

np.ndarray

property max_point: ndarray#

Real trade-off closest to the theoretical global optimum

Returns:

Real trade-off closest to the theoretical global optimum

Return type:

np.ndarray

property minima_components: ndarray#

Pareto points minimal in some components

Returns:

Pareto points minimal in some components where the ith entry is the Pareto points minimal in the ith component

Return type:

np.ndarray

property priority_point: List[ndarray]#

Pareto points reflecting your priorities of certain components

Returns:

Pareto points reflecting your priorities of certain components. The ith element corresponds to the ith priority.

Return type:

List[np.ndarray]

previous

paref.express

next

paref.express.info

On this page
  • ExpressSearch
    • ExpressSearch.minimal_search()
    • ExpressSearch.priority_search()
    • ExpressSearch.search_for_best_real_trade_off()
    • ExpressSearch.search_for_minima()
    • ExpressSearch.edge_points
    • ExpressSearch.max_point
    • ExpressSearch.minima_components
    • ExpressSearch.priority_point
Show Source

© Copyright 2023, Nicolai Palm.

Created using Sphinx 7.4.7.

Built with the PyData Sphinx Theme 0.15.4.