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
605 stars 128 forks source link

Combining multiple stopping conditions #273

Closed apaleyes closed 4 years ago

apaleyes commented 4 years ago

At the moment (once #272 is merged) we support combinations of stopping conditions with an "or" operation. That is, given a list of conditions the loop will continue until one of them fires, and then the loop terminates.

It would be nice to have more flexible support here, so that users could combine conditions in various ways. Example use case: i'd like to run optimization until it converges, but make at least 10 steps, and to prevent it from running indefinitely i'd like to stop after 50 steps. Our API should allow for that:

(cond1 AND cond2) OR cond3

we can consider overloading python's and and or for that.

apaleyes commented 4 years ago

implemented