rmcantin / bayesopt

BayesOpt: A toolbox for bayesian optimization, experimental design and stochastic bandits.
GNU Affero General Public License v3.0
396 stars 92 forks source link

center of search space #25

Closed MrUrq closed 2 years ago

MrUrq commented 5 years ago

When optimising multidimensional functions I find that the center of the upper and lower bounds are often sampled. This is the precise center every time which makes me think that there is a hard coded probability of sampling the center somewhere, but I've not found where.

The reason I'm asking is because I would like to benchmark this package and many of the benchmark functions have their optimum near or at the center of the search space. These are the settings I've used for benchmark purposes

sc_type = SC_MAP
l_type = L_MCMC
init_method=1
n_inner_iterations=5000
n_iter_relearn=1
l_all=1

I have also tried force_jump = 0 however I still have the same problem of sampling the precise center. For example, optimising a 20 dimensional Rosenbrock function in the full space (-5.0,5.0) for every dimension, performs better than reducing the search space to (-5.0,2.0) due to the center being sampled. Is there a way for me to turn this off to make the benchmark fairer?

Also if you have suggestions of settings (other than those I showed) for benchmark purposes I'd be happy to change them. The run time is not important, I'm interested in reducing the function value as much as possible per iteration.

rmcantin commented 4 years ago

When the model breaks down for numerical reasons, the inner optimization selects the center point by default. If the problem is properly defined, it should no happen (although it happen from time to time). Precisely, one way to avoid that would be to activate force_jump because new points might solve the numerical issues.