aligator  0.14.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 Member Functions inherited from aligator::Linesearch< Scalar >
 Linesearch (const Linesearch::Options &options)
 
 ~Linesearch ()
 
void setOptions (const Linesearch::Options &options)
 
void reset ()
 
 Linesearch (const Linesearch::Options &options)
 
 ~Linesearch ()
 
void setOptions (const Linesearch::Options &options)
 
void reset ()
 

Public Attributes

Scalar avg_eta = 0.85
 Weight for moving average.
 
Scalar beta_dec = 0.5
 
- Public Attributes inherited from aligator::Linesearch< Scalar >
Linesearch::Options options_
 
Linesearch::Options options_
 

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 11 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 14 of file linesearch-nonmonotone.hpp.

Constructor & Destructor Documentation

◆ NonmonotoneLinesearch()

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

Definition at line 34 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 19 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 25 of file linesearch-nonmonotone.hpp.

◆ beta_dec

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

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


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