|
| template<typename Function > |
| VectorResult | MathOpt::BFGS (Function &theFunc, const math_Vector &theStartingPoint, const Config &theConfig=Config()) |
| | BFGS (Broyden-Fletcher-Goldfarb-Shanno) quasi-Newton method. One of the most effective algorithms for smooth unconstrained optimization.
|
| |
| template<typename Function > |
| VectorResult | MathOpt::BFGSNumerical (Function &theFunc, const math_Vector &theStartingPoint, double theGradStep=1.0e-8, const Config &theConfig=Config()) |
| | BFGS with numerical gradient. Uses central differences to approximate gradient when analytical gradient is not available.
|
| |
| template<typename Function > |
| VectorResult | MathOpt::LBFGS (Function &theFunc, const math_Vector &theStartingPoint, int theMemorySize=10, const Config &theConfig=Config()) |
| | L-BFGS (Limited-memory BFGS) for large-scale optimization. Uses only the m most recent {s, y} pairs instead of full Hessian. Memory: O(m*n) instead of O(n^2).
|
| |
| template<typename Function > |
| VectorResult | MathOpt::BFGSBounded (Function &theFunc, const math_Vector &theStartingPoint, const math_Vector &theLowerBounds, const math_Vector &theUpperBounds, const Config &theConfig=Config()) |
| | BFGS with bound constraints (box constraints).
|
| |