I am trying to find the global minimum of an objective function using basinhopping
, but for a majority of the time it is stuck at a local minimum. I read through the document for basinhopping
, and found the interval
and accept_test
might be helpful, but now the question is what values to give them, e.g. I want my objective function to go as close to 0 as possible (1e-5 close) without spending too much time at very large values like 4 or 5. As for interval
how does one know how often a stepsize is being updated?
Here is how i'm looking for a "global" minimum:
np.random.seed(555) # Seeded to allow replication.
minimizer_kwargs = {"method": "L-BFGS-B", "bounds": bnds,, tol=1e-4}
ret = basinhopping(merit_function, abcdex, minimizer_kwargs=minimizer_kwargs, niter=10)
zoom = ret['x']
res = minimize(merit_function, zoom, method = 'L-BFGS-B', bounds=bnds, tol=1e-9)
print res