proxsuite-nlp  0.10.0
A primal-dual augmented Lagrangian-type solver for nonlinear programming on manifolds.
Loading...
Searching...
No Matches
proxsuite::nlp::ArmijoLinesearch< Scalar > Class Template Referencefinal

Basic backtracking Armijo line-search strategy. More...

#include <proxsuite-nlp/linesearch-armijo.hpp>

Inheritance diagram for proxsuite::nlp::ArmijoLinesearch< Scalar >:
[legend]
Collaboration diagram for proxsuite::nlp::ArmijoLinesearch< Scalar >:
[legend]

Public Types

using Base = Linesearch<Scalar>
 
using FunctionSample = typename Base::FunctionSample
 
using Polynomial = PolynomialTpl<Scalar>
 
using VectorXs = typename math_types<Scalar>::VectorXs
 
using Matrix2s = Eigen::Matrix<Scalar, 2, 2>
 
using Vector2s = Eigen::Matrix<Scalar, 2, 1>
 
using fun_t = std::function<Scalar(Scalar)>
 

Public Member Functions

 ArmijoLinesearch (const typename Base::Options &options)
 
Scalar run (fun_t phi, const Scalar phi0, const Scalar dphi0, Scalar &alpha_try)
 
Scalar minimize_interpolant (LSInterpolation strat, Scalar min_step_size, Scalar max_step_size)
 Propose a new candidate step size through safeguarded interpolation.
 
- Public Member Functions inherited from proxsuite::nlp::Linesearch< Scalar >
 Linesearch (const Linesearch::Options &options)
 
 ~Linesearch ()
 
void setOptions (const Linesearch::Options &options)
 
void reset ()
 

Protected Attributes

Polynomial interpolant
 
std::vector< FunctionSamplesamples
 

Additional Inherited Members

- Public Attributes inherited from proxsuite::nlp::Linesearch< Scalar >
Linesearch::Options options_
 

Detailed Description

template<typename Scalar>
class proxsuite::nlp::ArmijoLinesearch< Scalar >

Basic backtracking Armijo line-search strategy.

Definition at line 45 of file linesearch-armijo.hpp.

Member Typedef Documentation

◆ Base

template<typename Scalar >
using proxsuite::nlp::ArmijoLinesearch< Scalar >::Base = Linesearch<Scalar>

Definition at line 47 of file linesearch-armijo.hpp.

◆ FunctionSample

template<typename Scalar >
using proxsuite::nlp::ArmijoLinesearch< Scalar >::FunctionSample = typename Base::FunctionSample

Definition at line 49 of file linesearch-armijo.hpp.

◆ Polynomial

template<typename Scalar >
using proxsuite::nlp::ArmijoLinesearch< Scalar >::Polynomial = PolynomialTpl<Scalar>

Definition at line 50 of file linesearch-armijo.hpp.

◆ VectorXs

template<typename Scalar >
using proxsuite::nlp::ArmijoLinesearch< Scalar >::VectorXs = typename math_types<Scalar>::VectorXs

Definition at line 51 of file linesearch-armijo.hpp.

◆ Matrix2s

template<typename Scalar >
using proxsuite::nlp::ArmijoLinesearch< Scalar >::Matrix2s = Eigen::Matrix<Scalar, 2, 2>

Definition at line 52 of file linesearch-armijo.hpp.

◆ Vector2s

template<typename Scalar >
using proxsuite::nlp::ArmijoLinesearch< Scalar >::Vector2s = Eigen::Matrix<Scalar, 2, 1>

Definition at line 53 of file linesearch-armijo.hpp.

◆ fun_t

template<typename Scalar >
using proxsuite::nlp::ArmijoLinesearch< Scalar >::fun_t = std::function<Scalar(Scalar)>

Definition at line 57 of file linesearch-armijo.hpp.

Constructor & Destructor Documentation

◆ ArmijoLinesearch()

template<typename Scalar >
proxsuite::nlp::ArmijoLinesearch< Scalar >::ArmijoLinesearch ( const typename Base::Options & options)
inline

Definition at line 55 of file linesearch-armijo.hpp.

Member Function Documentation

◆ run()

template<typename Scalar >
Scalar proxsuite::nlp::ArmijoLinesearch< Scalar >::run ( fun_t phi,
const Scalar phi0,
const Scalar dphi0,
Scalar & alpha_try )
inline

Definition at line 59 of file linesearch-armijo.hpp.

◆ minimize_interpolant()

template<typename Scalar >
Scalar proxsuite::nlp::ArmijoLinesearch< Scalar >::minimize_interpolant ( LSInterpolation strat,
Scalar min_step_size,
Scalar max_step_size )
inline

Propose a new candidate step size through safeguarded interpolation.

Solver for the 2x2 linear system

Definition at line 150 of file linesearch-armijo.hpp.

Member Data Documentation

◆ interpolant

template<typename Scalar >
Polynomial proxsuite::nlp::ArmijoLinesearch< Scalar >::interpolant
protected

Definition at line 225 of file linesearch-armijo.hpp.

◆ samples

template<typename Scalar >
std::vector<FunctionSample> proxsuite::nlp::ArmijoLinesearch< Scalar >::samples
protected

Definition at line 226 of file linesearch-armijo.hpp.


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