Plans for parallel optimization
Is there any plan for introducing parallel optimization?
For instance, scikit-optimize has an ask-tell interface that allows asking for the best N candidate points (according to the acquisition function) and then fitting the surrogate model with the new N points added.
Example here
What about creating similar ask and tell functions (or functors) one for each acquisition function with a single surrogate_optimize signature?
Actually, the tell is basically add_point! but should support Vector[T] as inputs, so we would just need to separate the ask method...
Actually, the tell is basically add_point! but should support Vector[T] as inputs, so we would just need to separate the ask method...
Yes, it just needs a vector input, and then ask is just compatible with only a few samplers (like Sobol), and would need to get implemented.
Don't get why some acquisition functions wouldn't be compatible...
Some samplers, like LatinHypercube, have to be batched all at once to guarantee some of their properties.
Ah ok! So we can create another abstract structure for parallelizable samplers and another function for parallel optimization.
If this is ok, I'll try to create a PR in a few weeks