LBFGS++
|
#include <LBFGSB.h>
Public Member Functions | |
LBFGSBSolver (const LBFGSBParam< Scalar > ¶m) | |
template<typename Foo > | |
int | minimize (Foo &f, Vector &x, Scalar &fx, const Vector &lb, const Vector &ub) |
const Vector & | final_grad () const |
Scalar | final_grad_norm () const |
L-BFGS-B solver for box-constrained numerical optimization
|
inline |
Constructor for the L-BFGS-B solver.
param | An object of LBFGSParam to store parameters for the algorithm |
|
inline |
Minimizing a multivariate function subject to box constraints, using the L-BFGS-B algorithm. Exceptions will be thrown if error occurs.
f | A function object such that f(x, grad) returns the objective function value at x , and overwrites grad with the gradient. |
x | In: An initial guess of the optimal point. Out: The best point found. |
fx | Out: The objective function value at x . |
lb | Lower bounds for x . |
ub | Upper bounds for x . |
|
inline |
Returning the gradient vector on the last iterate. Typically used to debug and test convergence. Should only be called after the minimize()
function.
|
inline |
Returning the infinity norm of the final projected gradient. The projected gradient is defined as \(P(x-g,l,u)-x\), where \(P(v,l,u)\) stands for the projection of a vector \(v\) onto the box specified by the lower bound vector \(l\) and upper bound vector \(u\).