EmuKit / emukit

A Python-based toolbox of various methods in decision making, uncertainty quantification and statistical emulation: multi-fidelity, experimental design, Bayesian optimisation, Bayesian quadrature, etc.
https://emukit.github.io/emukit/
Apache License 2.0
585 stars 128 forks source link

Support constrained and multi-objective functions? #243

Open jmren168 opened 4 years ago

jmren168 commented 4 years ago

Hi there,

I'm new to this library, and would like to know if emukit supports to constrained and multi-objective functions. Hope anyone could help to answer my problem. Any comments are highly appreciated.

apaleyes commented 4 years ago

Hi, thanks for the interest.

In terms of constrained functions, Emukit supports both constraints of the input space (see https://github.com/amzn/emukit/blob/master/emukit/core/constraints.py) and acquisition constraints (see https://github.com/amzn/emukit/blob/master/emukit/bayesian_optimization/acquisitions/probability_of_feasibility.py)

As far as multi-objective goes, we haven't implemented anything yet. But it should be very straightforward to extend emukit for this use case. And we always welcome PRs!

CuriousSingularity commented 3 years ago

@jmren168 were you able to get the multi-objective going? Or did you find any other library which is cable of multi-objective optimization? Any hints would you really useful. Thank you.

DavidWalz commented 3 years ago

@CuriousSingularity BoTorch has a flexible support for multiobjective optimization https://github.com/pytorch/botorch.