78 double search(
double init_val,
const VectorXd& init_x,
const VectorXd& init_g,
79 const VectorXd& direction);
144 double search(
double init_val,
const VectorXd& init_x,
const VectorXd& init_g,
145 const VectorXd& direction);
Implementation of Armijo approximate line search algorithm.
Implementation of Armijo approximate line search algorithm.
double search(double init_val, const VectorXd &init_x, const VectorXd &init_g, const VectorXd &direction)
Performs a line search to find the alpha (step size) that satifies the armijo rule.
function< int(const VectorXd &x, VectorXd &g)> GradFunc
Gradient Only Computation Function.
double opt_c2
Theshold for stopping based on curvature.
function< int(const VectorXd &x, double &v)> ValFunc
Value Only Computation Function.
int opt_maxIt
Maximum number of iterations.
Wolfe(const ValFunc &valFunc, const GradFunc &gradFunc)
Constructs a line search that satisfies the wolfe conditions (Armijo and curvature condition)...
double opt_c1
Theshold for stopping based on function values.
int opt_maxIt
Maximum number of iterations.
double opt_s
Maximum step.
double opt_minstep
Minimum non-zero step, once alpha drops below this, returns 0.
double opt_beta
Power function base, values closer to 0 will decrease step size faster than ones close to 1...
double opt_sigma
Theshold for stopping.
double opt_beta
Power function base, values closer to 0 will decrease step size faster than ones close to 1...
Armijo(const ValFunc &valFunc)
double opt_minstep
Minimum non-zero step, once alpha drops below this, returns 0.
double opt_s
Maximum step.
double search(double init_val, const VectorXd &init_x, const VectorXd &init_g, const VectorXd &direction)
Performs a line search to find the alpha (step size) that satifies the armijo rule.