Public Member Functions | Private Types | Private Attributes | List of all members
corbo::IpoptWrapper Class Reference

#include <nlp_solver_ipopt_wrapper.h>

Inheritance diagram for corbo::IpoptWrapper:
Inheritance graph
[legend]

Public Member Functions

 IpoptWrapper (SolverIpopt *solver)
 
void precompute1stOrderDerivatives ()
 
void setOptimizationProblem (OptimizationProblemInterface &problem)
 
virtual ~IpoptWrapper ()
 
Overloaded from TNLP
bool get_nlp_info (Index &n, Index &m, Index &nnz_jac_g, Index &nnz_h_lag, IndexStyleEnum &index_style) override
 
bool get_bounds_info (Index n, Number *x_l, Number *x_u, Index m, Number *g_l, Number *g_u) override
 
bool get_starting_point (Index n, bool init_x, Number *x, bool init_z, Number *z_L, Number *z_U, Index m, bool init_lambda, Number *lambda) override
 
bool eval_f (Index n, const Number *x, bool new_x, Number &obj_value) override
 
bool eval_grad_f (Index n, const Number *x, bool new_x, Number *grad_f) override
 
bool eval_g (Index n, const Number *x, bool new_x, Index m, Number *g) override
 
bool eval_jac_g (Index n, const Number *x, bool new_x, Index m, Index nele_jac, Index *iRow, Index *jCol, Number *values) override
 
bool eval_h (Index n, const Number *x, bool new_x, Number obj_factor, Index m, const Number *lambda, bool new_lambda, Index nele_hess, Index *iRow, Index *jCol, Number *values) override
 
Solution Methods
void finalize_solution (SolverReturn status, Index n, const Number *x, const Number *z_L, const Number *z_U, Index m, const Number *g, const Number *lambda, Number obj_value, const IpoptData *ip_data, IpoptCalculatedQuantities *ip_cq) override
 

Private Types

using Index = Ipopt::Index
 
using IpoptCalculatedQuantities = Ipopt::IpoptCalculatedQuantities
 
using IpoptData = Ipopt::IpoptData
 
using Number = Ipopt::Number
 
using SolverReturn = Ipopt::SolverReturn
 

Private Attributes

OptimizationProblemInterface_problem = nullptr
 
SolverIpopt_solver = nullptr
 

Detailed Description

Definition at line 41 of file nlp_solver_ipopt_wrapper.h.

Member Typedef Documentation

◆ Index

using corbo::IpoptWrapper::Index = Ipopt::Index
private

Definition at line 44 of file nlp_solver_ipopt_wrapper.h.

◆ IpoptCalculatedQuantities

using corbo::IpoptWrapper::IpoptCalculatedQuantities = Ipopt::IpoptCalculatedQuantities
private

Definition at line 48 of file nlp_solver_ipopt_wrapper.h.

◆ IpoptData

using corbo::IpoptWrapper::IpoptData = Ipopt::IpoptData
private

Definition at line 47 of file nlp_solver_ipopt_wrapper.h.

◆ Number

using corbo::IpoptWrapper::Number = Ipopt::Number
private

Definition at line 45 of file nlp_solver_ipopt_wrapper.h.

◆ SolverReturn

using corbo::IpoptWrapper::SolverReturn = Ipopt::SolverReturn
private

Definition at line 46 of file nlp_solver_ipopt_wrapper.h.

Constructor & Destructor Documentation

◆ IpoptWrapper()

corbo::IpoptWrapper::IpoptWrapper ( SolverIpopt solver)
explicit

default constructor

◆ ~IpoptWrapper()

virtual corbo::IpoptWrapper::~IpoptWrapper ( )
virtual

default destructor

Member Function Documentation

◆ eval_f()

bool corbo::IpoptWrapper::eval_f ( Index  n,
const Number x,
bool  new_x,
Number obj_value 
)
override

Method to return the objective value

◆ eval_g()

bool corbo::IpoptWrapper::eval_g ( Index  n,
const Number x,
bool  new_x,
Index  m,
Number g 
)
override

Method to return the constraint residuals

◆ eval_grad_f()

bool corbo::IpoptWrapper::eval_grad_f ( Index  n,
const Number x,
bool  new_x,
Number grad_f 
)
override

Method to return the gradient of the objective

◆ eval_h()

bool corbo::IpoptWrapper::eval_h ( Index  n,
const Number x,
bool  new_x,
Number  obj_factor,
Index  m,
const Number lambda,
bool  new_lambda,
Index  nele_hess,
Index iRow,
Index jCol,
Number values 
)
override

Method to return: 1) The structure of the hessian of the lagrangian (if "values" is NULL) 2) The values of the hessian of the lagrangian (if "values" is not NULL)

◆ eval_jac_g()

bool corbo::IpoptWrapper::eval_jac_g ( Index  n,
const Number x,
bool  new_x,
Index  m,
Index  nele_jac,
Index iRow,
Index jCol,
Number values 
)
override

Method to return: 1) The structure of the jacobian (if "values" is NULL) 2) The values of the jacobian (if "values" is not NULL)

◆ finalize_solution()

void corbo::IpoptWrapper::finalize_solution ( SolverReturn  status,
Index  n,
const Number x,
const Number z_L,
const Number z_U,
Index  m,
const Number g,
const Number lambda,
Number  obj_value,
const IpoptData ip_data,
IpoptCalculatedQuantities ip_cq 
)
override

This method is called when the algorithm is complete so the TNLP can store/write the solution

◆ get_bounds_info()

bool corbo::IpoptWrapper::get_bounds_info ( Index  n,
Number x_l,
Number x_u,
Index  m,
Number g_l,
Number g_u 
)
override

Method to return the bounds for my problem

◆ get_nlp_info()

bool corbo::IpoptWrapper::get_nlp_info ( Index n,
Index m,
Index nnz_jac_g,
Index nnz_h_lag,
IndexStyleEnum &  index_style 
)
override

Method to return some info about the nlp

◆ get_starting_point()

bool corbo::IpoptWrapper::get_starting_point ( Index  n,
bool  init_x,
Number x,
bool  init_z,
Number z_L,
Number z_U,
Index  m,
bool  init_lambda,
Number lambda 
)
override

Method to return the starting point for the algorithm

◆ precompute1stOrderDerivatives()

void corbo::IpoptWrapper::precompute1stOrderDerivatives ( )

◆ setOptimizationProblem()

void corbo::IpoptWrapper::setOptimizationProblem ( OptimizationProblemInterface problem)
inline

Definition at line 57 of file nlp_solver_ipopt_wrapper.h.

Member Data Documentation

◆ _problem

OptimizationProblemInterface* corbo::IpoptWrapper::_problem = nullptr
private

Definition at line 107 of file nlp_solver_ipopt_wrapper.h.

◆ _solver

SolverIpopt* corbo::IpoptWrapper::_solver = nullptr
private

Definition at line 108 of file nlp_solver_ipopt_wrapper.h.


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


control_box_rst
Author(s): Christoph Rösmann
autogenerated on Mon Feb 28 2022 22:08:02