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

const Pointer<MinlpProblem> IpOptProblem::prob [private]

Definition at line 28 of file ipopt2.h.

IpOpt& IpOptProblem::ipopt [private]

Definition at line 30 of file ipopt2.h.

vector<Pointer<SparsityInfo> > IpOptProblem::sparsity [private]

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 Tue Oct 21 03:12:27 2008 for LaGO by  doxygen 1.4.7