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.

Enumeration Type Documentation

◆ 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.