BFGS is a class including the BFGS minimization algorithm.
More...
#include <BFGS.hpp>
|
static int | optimizer (vector &startguess, BFGS_function_struct function, double tolerance, unsigned int iterationLimit, double initialStepsize=1.0, double c1=1e-4, double c2=0.9, double alphamax=1.0) |
| Minimize a function using the BFGS algorithm. More...
|
|
BFGS is a class including the BFGS minimization algorithm.
The BFGS minimization algorithm has been implemented as described in "Numerical Optimization
- by Jorge Nocedal and Stephen J. Wright" chapter 6+3.
- See also
- ../example/bfgsApp/bfgsExample.cpp
◆ OPTM_STATUS
Optimization status.
Enumerator |
---|
GRADIENTWARNING | Indicating a problem with the numerical precision when evaluating the gradient.
|
SUCCESS | Indicating a successfully minimization.
|
◆ optimizer()
static int optimizer |
( |
vector & |
startguess, |
|
|
BFGS_function_struct |
function, |
|
|
double |
tolerance, |
|
|
unsigned int |
iterationLimit, |
|
|
double |
initialStepsize = 1.0 , |
|
|
double |
c1 = 1e-4 , |
|
|
double |
c2 = 0.9 , |
|
|
double |
alphamax = 1.0 |
|
) |
| |
|
static |
Minimize a function using the BFGS algorithm.
- Parameters
-
startguess | Start guess for the minimizer parameters. Replaced with minima solution at end of minimization. |
function | BFGS_function_struct including pointers to the minimization function f, df and a void pointer to other data for the minimization function. |
tolerance | Indicating when an acceptable minima has been found by evaluating if \( tolerance>||\Delta f(x)||_2 \). |
iterationLimit | Maximum number of iterations for the BFGS algorithm. |
initialStepsize | Initial step size for the BFGS algorithm. |
c1 | Value used to ensure the "strong Wolfe conditions" are satisfied with the value c1. See "Numerical Optimization - by Jorge Nocedal and Stephen J. Wright" chapter 3. Typical value = 1e-4. |
c2 | Value used to ensure the "strong Wolfe conditions" are satisfied with the value c2. See "Numerical Optimization - by Jorge Nocedal and Stephen J. Wright" chapter 3. Typical value = 0.9. |
alphamax | Maximum stepsize used in iterations. Typical value of 1.0 is used to produce superlinear convergence of the overall algorithm. |
- Returns
- GRADIENTWARNING on numerically precision problems SUCCESS when a minima is found.
- Examples
- bfgsExample.cpp.
The documentation for this class was generated from the following file: