IpOptProblem Class Reference

#include <ipopt2.h>

Collaboration diagram for IpOptProblem:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 IpOptProblem (const Pointer< MinlpProblem > prob_, IpOpt &ipopt)
virtual 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.
virtual 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.
virtual 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.
virtual bool eval_f (Index n, const Number *x, bool new_x, Number &obj_value)
 Method to return the objective value.
virtual bool eval_grad_f (Index n, const Number *x, bool new_x, Number *grad_f)
 Method to return the gradient of the objective.
virtual bool eval_g (Index n, const Number *x, bool new_x, Index m, Number *g)
 Method to return the constraint residuals.
virtual bool 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).
virtual 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)
 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).
virtual 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_values, const IpoptData *data, IpoptCalculatedQuantities *cq)
 This method is called when the algorithm is complete so the TNLP can store/write the solution.

Private Member Functions

template<bool add>
void set_hessian (const SepQcFunc &func, int blocknr, Number *values, double factor, dvector &xx, dvector &y, dvector &z)
 Sets or adds the hessian of one block of a function.
template<bool add>
void set_hessianquad (const SepQcFunc &func, int blocknr, Number *values, double factor)
 Sets or adds the hessian of one block of a quadratic function multiplied by a vector.

Private Attributes

const Pointer< MinlpProblemprob
IpOptipopt
vector< Pointer< SparsityInfo > > sparsity
Index nnz_jac_g
Index nnz_h_lag

Friends

class IpOpt

Detailed Description

Definition at line 25 of file ipopt2.h.


Constructor & Destructor Documentation

IpOptProblem::IpOptProblem ( const Pointer< MinlpProblem prob_,
IpOpt ipopt 
)

Member Function Documentation

template<bool add>
void IpOptProblem::set_hessian ( const SepQcFunc func,
int  blocknr,
Number *  values,
double  factor,
dvector xx,
dvector y,
dvector z 
) [inline, private]

Sets or adds the hessian of one block of a function.

Parameters:
values Where to put the block of the hessian to.
factor Scalar factor for the hessian.
xx The vector to evaluate the hessian in.
y Scratch vector.
z Scratch vector.
template<bool add>
void IpOptProblem::set_hessianquad ( const SepQcFunc func,
int  blocknr,
Number *  values,
double  factor 
) [inline, private]

Sets or adds the hessian of one block of a quadratic function multiplied by a vector.

Parameters:
values Where to put the block of the hessian to.
factor Scalar factor for the hessian.
virtual bool IpOptProblem::get_nlp_info ( Index &  n,
Index &  m,
Index &  nnz_jac_g,
Index &  nnz_h_lag,
IndexStyleEnum &  index_style 
) [virtual]

Method to return some info about the nlp.

virtual bool IpOptProblem::get_bounds_info ( Index  n,
Number *  x_l,
Number *  x_u,
Index  m,
Number *  g_l,
Number *  g_u 
) [virtual]

Method to return the bounds for my problem.

virtual bool IpOptProblem::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 
) [virtual]

Method to return the starting point for the algorithm.

virtual bool IpOptProblem::eval_f ( Index  n,
const Number *  x,
bool  new_x,
Number &  obj_value 
) [virtual]

Method to return the objective value.

virtual bool IpOptProblem::eval_grad_f ( Index  n,
const Number *  x,
bool  new_x,
Number *  grad_f 
) [virtual]

Method to return the gradient of the objective.

virtual bool IpOptProblem::eval_g ( Index  n,
const Number *  x,
bool  new_x,
Index  m,
Number *  g 
) [virtual]

Method to return the constraint residuals.

virtual bool IpOptProblem::eval_jac_g ( Index  n,
const Number *  x,
bool  new_x,
Index  m,
Index  nele_jac,
Index *  iRow,
Index *  jCol,
Number *  values 
) [virtual]

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

virtual bool IpOptProblem::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 
) [virtual]

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).

virtual void IpOptProblem::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_values,
const IpoptData *  data,
IpoptCalculatedQuantities *  cq 
) [virtual]

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


Friends And Related Function Documentation

friend class IpOpt [friend]

Definition at line 26 of file ipopt2.h.


Member Data Documentation

Definition at line 28 of file ipopt2.h.

Definition at line 30 of file ipopt2.h.

Definition at line 32 of file ipopt2.h.

Index IpOptProblem::nnz_jac_g [private]

Definition at line 33 of file ipopt2.h.

Index IpOptProblem::nnz_h_lag [private]

Definition at line 34 of file ipopt2.h.


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

Generated on 10 Mar 2013 for LaGO by  doxygen 1.6.1