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=1e4, 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 = 1e4 , 


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 = 1e4. 
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: