ITK  5.3.0
Insight Toolkit
Public Types | List of all members
itk::LBFGS2Optimizerv4Enums Class Reference

#include <itkLBFGS2Optimizerv4.h>

Public Types

enum  LineSearchMethod : uint8_t {
  LineSearchMethod::LINESEARCH_DEFAULT = 0,
  LineSearchMethod::LINESEARCH_MORETHUENTE = 0,
  LineSearchMethod::LINESEARCH_BACKTRACKING_ARMIJO = 1,
  LineSearchMethod::LINESEARCH_BACKTRACKING = 2,
  LineSearchMethod::LINESEARCH_BACKTRACKING_WOLFE = 2,
  LineSearchMethod::LINESEARCH_BACKTRACKING_STRONG_WOLFE = 3
}
 

Detailed Description

Definition at line 31 of file itkLBFGS2Optimizerv4.h.

Member Enumeration Documentation

◆ LineSearchMethod

Enumerator
LINESEARCH_DEFAULT 

The default algorithm (MoreThuente method).

LINESEARCH_MORETHUENTE 

MoreThuente method proposed by More and Thuente.

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 * d) <= f(x) + lbfgs_parameter_t::ftol * a * g(x)^T d,

where x is the current point, d is the current search direction, and a is the step length.

LINESEARCH_BACKTRACKING 

The backtracking method with the default (regular Wolfe) condition.

LINESEARCH_BACKTRACKING_WOLFE 

Backtracking method with regular Wolfe condition. The backtracking method finds the step length such that it satisfies both the Armijo condition (LINESEARCH_BACKTRACKING_ARMIJO) and the curvature condition,

  • g(x + a * d)^T d >= lbfgs_parameter_t::wolfe * g(x)^T d,

where x is the current point, d is the current search direction, and a is the step length.

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 (LINESEARCH_BACKTRACKING_ARMIJO) and the following condition,

  • |g(x + a * d)^T d| <= lbfgs_parameter_t::wolfe * |g(x)^T d|,

where x is the current point, d is the current search direction, and a is the step length.

Definition at line 38 of file itkLBFGS2Optimizerv4.h.


The documentation for this class was generated from the following file: