PatWie / CppNumericalSolvers

a lightweight header-only C++17 library of numerical optimization methods for nonlinear functions based on Eigen
MIT License
873 stars 201 forks source link

Constrained line search in L-BFGS-B #114

Closed bramthijssen closed 1 year ago

bramthijssen commented 5 years ago

I noticed that the L-BFGS-B calls function evaluations outside the constraints. Looking at the code, I see that the MoreThuente::linesearch calls cvsrch, but the cvsrch function only has hard-coded min/max-step sizes. The L-BFGS-P paper mentions that the line search step size should be capped to respect the boundaries (bottom of page 17).

PatWie commented 5 years ago

Confirmed.

PatWie commented 5 years ago

This is related to https://github.com/PatWie/CppNumericalSolvers/issues/116 which has been addressed.