pub enum LineSearchAlgorithm {
MoreThuente,
BacktrackingArmijo,
BacktrackingStrongWolfe,
BacktrackingWolfe,
}Expand description
Line search algorithms.
Variants§
MoreThuente
MoreThuente method proposd by More and Thuente. This is the default for regular LBFGS.
BacktrackingArmijo
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 * d) <= f(x) + ftol * a * g(x)^T d,
where x is the current point, d is the current search direction, and a is the step length.
BacktrackingStrongWolfe
Backtracking method with strong Wolfe condition.
The backtracking method finds the step length such that it satisfies both the Armijo condition (BacktrackingArmijo) and the following condition,
- |g(x + a * d)^T d| <= gtol * |g(x)^T d|,
where x is the current point, d is the current search direction, and a is the step length.
BacktrackingWolfe
Backtracking method with regular Wolfe condition.
The backtracking method finds the step length such that it satisfies both the Armijo condition (BacktrackingArmijo) and the curvature condition,
- g(x + a * d)^T d >= gtol * g(x)^T d,
where x is the current point, d is the current search direction, and a is the step length.
Trait Implementations§
Source§impl Clone for LineSearchAlgorithm
impl Clone for LineSearchAlgorithm
Source§fn clone(&self) -> LineSearchAlgorithm
fn clone(&self) -> LineSearchAlgorithm
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more