L-BFGS-B box constrained optimizer
- Most of the code ported from LBFGS++ code.
- MoreThuente line search ported from R source and Julia LineSearches.jl
- MoreThuente can be used with strong or weak (default) Wolfe condition
- LewisOverton (experimental, don't use) line search ported from LBFGS-Lite
LBFGSBJava is implemented without any dependencies.
See org.generateme.lbfgsb.examples
for usage cases.
Each target function should implement IGradFunction
interface.
- default implementation of
gradient
uses finite differences method - implementing only
evaluate(x)
will use finite differences - there is a possibility to calculate function value and gradient in one call, implement
gradient(x,grad)
and implementin_place_gradient
to returntrue
. SeeRosenbrock
in examples.
Copyright (c) 2023 GenerateMe
The MIT Licence