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

#include <itkLBFGS2Optimizerv4.h>

Detailed Description

Definition at line 33 of file itkLBFGS2Optimizerv4.h.

Public Types

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

Member Enumeration Documentation

◆ LineSearchMethod

enum class itk::LBFGS2Optimizerv4Enums::LineSearchMethod : uint8_t
strong
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 40 of file itkLBFGS2Optimizerv4.h.


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