BayesianOptimization icon indicating copy to clipboard operation
BayesianOptimization copied to clipboard

Different algorithms for maximizing the acquisition function

Open osullivryan opened this issue 5 years ago • 1 comments

Hello BayesianOptimization team,

Have you any thoughts on an additional option for different optimization routines when calling acq_max?

My thought was something like this:

def acq_max(ac, gp, y_max, bounds, random_state, n_warmup=10000, n_iter=10, optimization_routine="L-BFGS-B"):

    :optimization_routine str optional(default="L-BFGS-B"): The algorithm used for finding the maximum of the acquisition function
        Possible options are:
            "L-BFGS-B"
            "Nelder-Mead"
           ...
           "differential-evolution"
           "basinhopping"

Then later on in the function have a case depending on the argument's value. My thought is options like differential-evolution won't need the random restarts, and might perform better.

I can work on this, just wanted to shoot it past you all.

Ryan

osullivryan avatar Sep 26 '20 15:09 osullivryan

Hi @osullivryan , yes that sounds like a great idea. Given how time constraint I've been these days I won't be able to work on this feature anytime soon, but PRs are more than appreciated =)

fmfn avatar Dec 19 '20 22:12 fmfn