aligator  0.10.0
A primal-dual augmented Lagrangian-type solver for nonlinear trajectory optimization.
Loading...
Searching...
No Matches
aligator::NonmonotoneLinesearch< Scalar > Struct Template Reference

Nonmonotone Linesearch algorithm. Modifies the Armijo condition with a moving average of function values. More...

#include <aligator/core/linesearch-nonmonotone.hpp>

Inheritance diagram for aligator::NonmonotoneLinesearch< Scalar >:
[legend]
Collaboration diagram for aligator::NonmonotoneLinesearch< Scalar >:
[legend]

Public Types

using fun_t = std::function<Scalar(Scalar)>
 

Public Member Functions

Scalar run (fun_t f, Scalar phi0, Scalar dphi0, Scalar &a_opt)
 
 NonmonotoneLinesearch (const Options &options)
 
void reset ()
 

Public Attributes

Scalar avg_eta = 0.85
 Weight for moving average.
 
Scalar beta_dec = 0.5
 

Detailed Description

template<typename Scalar>
struct aligator::NonmonotoneLinesearch< Scalar >

Nonmonotone Linesearch algorithm. Modifies the Armijo condition with a moving average of function values.

This is the algorithm from Zhang and Hager, SiOpt 2004.

Definition at line 13 of file linesearch-nonmonotone.hpp.

Member Typedef Documentation

◆ fun_t

template<typename Scalar >
using aligator::NonmonotoneLinesearch< Scalar >::fun_t = std::function<Scalar(Scalar)>

Definition at line 16 of file linesearch-nonmonotone.hpp.

Constructor & Destructor Documentation

◆ NonmonotoneLinesearch()

template<typename Scalar >
aligator::NonmonotoneLinesearch< Scalar >::NonmonotoneLinesearch ( const Options & options)

Definition at line 36 of file linesearch-nonmonotone.hpp.

Member Function Documentation

◆ run()

template<typename Scalar >
Scalar aligator::NonmonotoneLinesearch< Scalar >::run ( fun_t f,
Scalar phi0,
Scalar dphi0,
Scalar & a_opt )

Definition at line 40 of file linesearch-nonmonotone.hpp.

◆ reset()

template<typename Scalar >
void aligator::NonmonotoneLinesearch< Scalar >::reset ( )
inline

Definition at line 21 of file linesearch-nonmonotone.hpp.

Member Data Documentation

◆ avg_eta

template<typename Scalar >
Scalar aligator::NonmonotoneLinesearch< Scalar >::avg_eta = 0.85

Weight for moving average.

Definition at line 27 of file linesearch-nonmonotone.hpp.

◆ beta_dec

template<typename Scalar >
Scalar aligator::NonmonotoneLinesearch< Scalar >::beta_dec = 0.5

Definition at line 28 of file linesearch-nonmonotone.hpp.


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