What is a good stopping criteria for blackbox optimization?
Right now, I just let it run it upto max_iter
We might add something like an improvement threshold between consecutive iterations, but this may be tricky to get correctly, since BO trades off exploitation for exploitation, and therefore it is far from guaranteed that the best optimum found so far will improve from one iteration to another.
Most implementations of CMA-ES (another black-box optimizer) use the following stopping criteria (e.g. this one):
Came up in #324. When working on this we should also investigate why there are so many warnings about a point already being evaluated in the unittests. My guess would be that with a convergence criteria like proposed here we would stop instead of continuing to evaluate the objective.
I will investigate this a bit and open a PR.
Most helpful comment
Most implementations of CMA-ES (another black-box optimizer) use the following stopping criteria (e.g. this one):