Scipy.optimize.dual_annealing not respecting bounds on variables

Viewed 386

scipy.optimize.dual_annealing is not respecting the bounds on variables. I am optimizng a five-variable function; the variables at issue("nu", "vBar") are the third and fifth. python version 3.6.0, scipy version 1.4.1.

command: bounds = ( (-1.0 / np.sqrt(2), -epsRho), (0.0 + epsH, 0.5 - epsH), (0.0 + epsNu, 1.0), (0.0, 5.0), (0.0, 1.0))

res = sp.optimize.dual_annealing(minFuncExact, bounds=bounds, args=args, x0=np.asarray(x0), seed=20200220, local_search_options={"method": "L-BFGS-B"})

output from running program: rho is 0.05421130947051514 H is 0.19431094432639348 nu is 2.446853627283776 kappa is 0.21658987615448913 vBar is -0.3671109297261478

Initial condition x0 consists of the midpoints of the bounds intervals. Text in bold shows the issue.

0 Answers
Related