Minotaur 0.4.1
Docs for developers
Public Member Functions | List of all members
Ipopt::IpoptFunInterface Class Reference
Inheritance diagram for Ipopt::IpoptFunInterface:
Inheritance graph
[legend]
Collaboration diagram for Ipopt::IpoptFunInterface:
Collaboration graph
[legend]

Public Member Functions

 IpoptFunInterface (Minotaur::EnvPtr env, Minotaur::ProblemPtr problem, Minotaur::IpoptSolPtr sol)
 Default constructor.
 
 ~IpoptFunInterface ()
 default destructor.
 
void copySolution (Minotaur::IpoptSolPtr sol)
 Copy the solution explicitly (without sharing pointers).
 
bool eval_f (Index n, const Number *x, bool new_x, Number &obj_value)
 Method to return the objective value.
 
bool eval_g (Index n, const Number *x, bool new_x, Index m, Number *g)
 Method to return the constraint residuals.
 
bool eval_grad_f (Index n, const Number *x, bool new_x, Number *grad_f)
 Method to return the gradient of the objective.
 
bool eval_jac_g (Index n, const Number *x, bool new_x, Index m, Index nele_jac, Index *iRow, Index *jCol, Number *values)
 
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)
 
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)
 
bool get_bounds_info (Index n, Number *x_l, Number *x_u, Index m, Number *g_l, Number *g_u)
 Method to return the bounds for my problem.
 
bool get_nlp_info (Index &n, Index &m, Index &nnz_jac_g, Index &nnz_h_lag, IndexStyleEnum &index_style)
 Method to return some info about the nlp.
 
Minotaur::IpoptSolPtr getSolution ()
 Get solution.
 
double getSolutionValue () const
 Get solution value.
 
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)
 Method to return the starting point for the algorithm.
 
void setSolution (Minotaur::IpoptSolPtr sol)
 Set solution.
 

Member Function Documentation

◆ eval_h()

bool Ipopt::IpoptFunInterface::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 
)

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 Ipopt::IpoptFunInterface::eval_jac_g ( Index  n,
const Number *  x,
bool  new_x,
Index  m,
Index  nele_jac,
Index *  iRow,
Index *  jCol,
Number *  values 
)

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 Ipopt::IpoptFunInterface::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 
)

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


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

Minotaur source code documented by Doxygen 1.9.4 on Fri Apr 25 2025