smooth_feedback
Control and estimation on Lie groups
Loading...
Searching...
No Matches
Public Member Functions | List of all members
smooth::feedback::IpoptNLP< Problem > Class Template Reference

Ipopt interface to solve NLPs. More...

#include <ipopt.hpp>

Inheritance diagram for smooth::feedback::IpoptNLP< Problem >:
Inheritance graph
[legend]

Public Member Functions

 IpoptNLP (Problem &&nlp, bool use_hessian=false)
 Ipopt wrapper for NLP (rvlaue version). More...
 
 IpoptNLP (const Problem &nlp, bool use_hessian=false)
 Ipopt wrapper for NLP (lvalue version). More...
 
NLPSolutionsol ()
 Access solution. More...
 
bool get_nlp_info (Ipopt::Index &n, Ipopt::Index &m, Ipopt::Index &nnz_jac_g, Ipopt::Index &nnz_h_lag, IndexStyleEnum &index_style) override
 IPOPT info overload. More...
 
bool get_bounds_info (Ipopt::Index n, Ipopt::Number *x_l, Ipopt::Number *x_u, Ipopt::Index m, Ipopt::Number *g_l, Ipopt::Number *g_u) override
 IPOPT bounds overload. More...
 
bool get_starting_point (Ipopt::Index n, bool init_x, Ipopt::Number *x, bool init_z, Ipopt::Number *z_L, Ipopt::Number *z_U, Ipopt::Index m, bool init_lambda, Ipopt::Number *lambda) override
 IPOPT initial guess overload. More...
 
bool eval_f (Ipopt::Index n, const Ipopt::Number *x, bool new_x, Ipopt::Number &obj_value) override
 IPOPT method to define objective. More...
 
bool eval_grad_f (Ipopt::Index n, const Ipopt::Number *x, bool new_x, Ipopt::Number *grad_f) override
 IPOPT method to define gradient of objective. More...
 
bool eval_g (Ipopt::Index n, const Ipopt::Number *x, bool new_x, Ipopt::Index m, Ipopt::Number *g) override
 IPOPT method to define constraint function. More...
 
bool eval_jac_g (Ipopt::Index n, const Ipopt::Number *x, bool new_x, Ipopt::Index m, Ipopt::Index nele_jac, Ipopt::Index *iRow, Ipopt::Index *jCol, Ipopt::Number *values) override
 IPOPT method to define jacobian of constraint function. More...
 
bool eval_h (Ipopt::Index n, const Ipopt::Number *x, bool new_x, Ipopt::Number sigma, Ipopt::Index m, const Ipopt::Number *lambda, bool new_lambda, Ipopt::Index nele_hess, Ipopt::Index *iRow, Ipopt::Index *jCol, Ipopt::Number *values) override
 IPOPT method to define problem Hessian. More...
 
void finalize_solution (Ipopt::SolverReturn status, Ipopt::Index n, const Ipopt::Number *x, const Ipopt::Number *z_L, const Ipopt::Number *z_U, Ipopt::Index m, const Ipopt::Number *g, const Ipopt::Number *lambda, Ipopt::Number obj_value, const Ipopt::IpoptData *ip_data, Ipopt::IpoptCalculatedQuantities *ip_cq) override
 IPOPT method called after optimization done. More...
 

Detailed Description

template<NLP Problem>
class smooth::feedback::IpoptNLP< Problem >

Ipopt interface to solve NLPs.

See also
NLP

Definition at line 26 of file ipopt.hpp.

Constructor & Destructor Documentation

◆ IpoptNLP() [1/2]

template<NLP Problem>
smooth::feedback::IpoptNLP< Problem >::IpoptNLP ( Problem &&  nlp,
bool  use_hessian = false 
)
inline

Ipopt wrapper for NLP (rvlaue version).

Definition at line 32 of file ipopt.hpp.

◆ IpoptNLP() [2/2]

template<NLP Problem>
smooth::feedback::IpoptNLP< Problem >::IpoptNLP ( const Problem &  nlp,
bool  use_hessian = false 
)
inline

Ipopt wrapper for NLP (lvalue version).

Definition at line 37 of file ipopt.hpp.

Member Function Documentation

◆ eval_f()

template<NLP Problem>
bool smooth::feedback::IpoptNLP< Problem >::eval_f ( Ipopt::Index  n,
const Ipopt::Number *  x,
bool  new_x,
Ipopt::Number &  obj_value 
)
inlineoverride

IPOPT method to define objective.

Definition at line 122 of file ipopt.hpp.

◆ eval_g()

template<NLP Problem>
bool smooth::feedback::IpoptNLP< Problem >::eval_g ( Ipopt::Index  n,
const Ipopt::Number *  x,
bool  new_x,
Ipopt::Index  m,
Ipopt::Number *  g 
)
inlineoverride

IPOPT method to define constraint function.

Definition at line 142 of file ipopt.hpp.

◆ eval_grad_f()

template<NLP Problem>
bool smooth::feedback::IpoptNLP< Problem >::eval_grad_f ( Ipopt::Index  n,
const Ipopt::Number *  x,
bool  new_x,
Ipopt::Number *  grad_f 
)
inlineoverride

IPOPT method to define gradient of objective.

Definition at line 132 of file ipopt.hpp.

◆ eval_h()

template<NLP Problem>
bool smooth::feedback::IpoptNLP< Problem >::eval_h ( Ipopt::Index  n,
const Ipopt::Number *  x,
bool  new_x,
Ipopt::Number  sigma,
Ipopt::Index  m,
const Ipopt::Number *  lambda,
bool  new_lambda,
Ipopt::Index  nele_hess,
Ipopt::Index *  iRow,
Ipopt::Index *  jCol,
Ipopt::Number *  values 
)
inlineoverride

IPOPT method to define problem Hessian.

Definition at line 186 of file ipopt.hpp.

◆ eval_jac_g()

template<NLP Problem>
bool smooth::feedback::IpoptNLP< Problem >::eval_jac_g ( Ipopt::Index  n,
const Ipopt::Number *  x,
bool  new_x,
Ipopt::Index  m,
Ipopt::Index  nele_jac,
Ipopt::Index *  iRow,
Ipopt::Index *  jCol,
Ipopt::Number *  values 
)
inlineoverride

IPOPT method to define jacobian of constraint function.

Definition at line 152 of file ipopt.hpp.

◆ finalize_solution()

template<NLP Problem>
void smooth::feedback::IpoptNLP< Problem >::finalize_solution ( Ipopt::SolverReturn  status,
Ipopt::Index  n,
const Ipopt::Number *  x,
const Ipopt::Number *  z_L,
const Ipopt::Number *  z_U,
Ipopt::Index  m,
const Ipopt::Number *  g,
const Ipopt::Number *  lambda,
Ipopt::Number  obj_value,
const Ipopt::IpoptData *  ip_data,
Ipopt::IpoptCalculatedQuantities *  ip_cq 
)
inlineoverride

IPOPT method called after optimization done.

Definition at line 233 of file ipopt.hpp.

◆ get_bounds_info()

template<NLP Problem>
bool smooth::feedback::IpoptNLP< Problem >::get_bounds_info ( Ipopt::Index  n,
Ipopt::Number *  x_l,
Ipopt::Number *  x_u,
Ipopt::Index  m,
Ipopt::Number *  g_l,
Ipopt::Number *  g_u 
)
inlineoverride

IPOPT bounds overload.

Definition at line 80 of file ipopt.hpp.

◆ get_nlp_info()

template<NLP Problem>
bool smooth::feedback::IpoptNLP< Problem >::get_nlp_info ( Ipopt::Index &  n,
Ipopt::Index &  m,
Ipopt::Index &  nnz_jac_g,
Ipopt::Index &  nnz_h_lag,
IndexStyleEnum &  index_style 
)
inlineoverride

IPOPT info overload.

Definition at line 47 of file ipopt.hpp.

◆ get_starting_point()

template<NLP Problem>
bool smooth::feedback::IpoptNLP< Problem >::get_starting_point ( Ipopt::Index  n,
bool  init_x,
Ipopt::Number *  x,
bool  init_z,
Ipopt::Number *  z_L,
Ipopt::Number *  z_U,
Ipopt::Index  m,
bool  init_lambda,
Ipopt::Number *  lambda 
)
inlineoverride

IPOPT initial guess overload.

Definition at line 95 of file ipopt.hpp.

◆ sol()

template<NLP Problem>
NLPSolution & smooth::feedback::IpoptNLP< Problem >::sol ( )
inline

Access solution.

Definition at line 42 of file ipopt.hpp.


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