LBFGS++
Enumerations

Enumeration types for line search. More...

## Enumerations

enum  LBFGSpp::LINE_SEARCH_TERMINATION_CONDITION {
LBFGSpp::LBFGS_LINESEARCH_BACKTRACKING_ARMIJO = 1,
LBFGSpp::LBFGS_LINESEARCH_BACKTRACKING = 2,
LBFGSpp::LBFGS_LINESEARCH_BACKTRACKING_WOLFE = 2,
LBFGSpp::LBFGS_LINESEARCH_BACKTRACKING_STRONG_WOLFE = 3
}

## Detailed Description

Enumeration types for line search.

## ◆ LINE_SEARCH_TERMINATION_CONDITION

The enumeration of line search termination conditions.

Enumerator
LBFGS_LINESEARCH_BACKTRACKING_ARMIJO

Backtracking method with the Armijo condition. The backtracking method finds the step length such that it satisfies the sufficient decrease (Armijo) condition, $$f(x + a \cdot d) \le f(x) + \beta' \cdot a \cdot g(x)^T d$$, where $$x$$ is the current point, $$d$$ is the current search direction, $$a$$ is the step length, and $$\beta'$$ is the value specified by LBFGSParam::ftol. $$f$$ and $$g$$ are the function and gradient values respectively.

LBFGS_LINESEARCH_BACKTRACKING

The backtracking method with the defualt (regular Wolfe) condition. An alias of LBFGS_LINESEARCH_BACKTRACKING_WOLFE.

LBFGS_LINESEARCH_BACKTRACKING_WOLFE

Backtracking method with regular Wolfe condition. The backtracking method finds the step length such that it satisfies both the Armijo condition (LBFGS_LINESEARCH_BACKTRACKING_ARMIJO) and the curvature condition, $$g(x + a \cdot d)^T d \ge \beta \cdot g(x)^T d$$, where $$\beta$$ is the value specified by LBFGSParam::wolfe.

LBFGS_LINESEARCH_BACKTRACKING_STRONG_WOLFE

Backtracking method with strong Wolfe condition. The backtracking method finds the step length such that it satisfies both the Armijo condition (LBFGS_LINESEARCH_BACKTRACKING_ARMIJO) and the following condition, $$\vert g(x + a \cdot d)^T d\vert \le \beta \cdot \vert g(x)^T d\vert$$, where $$\beta$$ is the value specified by LBFGSParam::wolfe.

Definition at line 25 of file Param.h.