Ipopt  trunk
Public Member Functions | Protected Attributes
MatlabProgram Class Reference

#include <matlabprogram.hpp>

+ Inheritance diagram for MatlabProgram:

List of all members.

Public Member Functions

 MatlabProgram (const Iterate &x0, const CallbackFunctions &funcs, const Options &options, Iterate &x, MatlabInfo &info)
virtual ~MatlabProgram ()
virtual bool get_nlp_info (int &n, int &m, int &sizeOfJ, int &sizeOfH, IndexStyleEnum &indexStyle)
virtual bool get_bounds_info (int n, double *lb, double *ub, int m, double *cl, double *cu)
 overload this method to return the information about the bound on the variables and constraints.
virtual bool get_starting_point (int n, bool initializeVars, double *vars, bool initializez, double *zl, double *zu, int m, bool initializeLambda, double *lambda)
 overload this method to return the starting point.
virtual bool eval_f (int n, const double *vars, bool ignore, double &f)
 overload this method to return the value of the objective function
virtual bool eval_grad_f (int n, const double *vars, bool ignore, double *grad)
 overload this method to return the vector of the gradient of the objective w.r.t.
virtual bool eval_g (int n, const double *vars, bool ignore, int m, double *g)
 overload this method to return the vector of constraint values
virtual bool eval_jac_g (int numVariables, const double *variables, bool ignoreThis, int numConstraints, int sizeOfJ, int *rows, int *cols, double *Jx)
 overload this method to return the jacobian of the constraints.
virtual bool eval_h (int n, const double *vars, bool ignore, double sigma, int m, const double *lambda, bool ignoretoo, int sizeOfH, int *rows, int *cols, double *Hx)
 overload this method to return the hessian of the lagrangian.
virtual void finalize_solution (SolverReturn status, int numVariables, const double *variables, const double *zl, const double *zu, int numConstraints, const double *constraints, const double *lambda, double objective, const IpoptData *ip_data, IpoptCalculatedQuantities *ip_cq)
virtual bool intermediate_callback (AlgorithmMode mode, int t, double f, double inf_pr, double inf_du, double mu, double d_norm, double regularization_size, double alpha_du, double alpha_pr, int ls_trials, const IpoptData *ip_data, IpoptCalculatedQuantities *ip_cq)

Protected Attributes

const Iteratex0
const CallbackFunctionsfuncs
const Optionsoptions
Iteratex
MatlabInfoinfo
SparseMatrixJ
SparseMatrixH

Detailed Description

Definition at line 26 of file matlabprogram.hpp.


Constructor & Destructor Documentation

MatlabProgram::MatlabProgram ( const Iterate x0,
const CallbackFunctions funcs,
const Options options,
Iterate x,
MatlabInfo info 
)
virtual MatlabProgram::~MatlabProgram ( ) [virtual]

Member Function Documentation

virtual bool MatlabProgram::get_nlp_info ( int &  n,
int &  m,
int &  sizeOfJ,
int &  sizeOfH,
IndexStyleEnum indexStyle 
) [virtual]

Implements Ipopt::TNLP.

virtual bool MatlabProgram::get_bounds_info ( int  n,
double *  x_l,
double *  x_u,
int  m,
double *  g_l,
double *  g_u 
) [virtual]

overload this method to return the information about the bound on the variables and constraints.

The value that indicates that a bound does not exist is specified in the parameters nlp_lower_bound_inf and nlp_upper_bound_inf. By default, nlp_lower_bound_inf is -1e19 and nlp_upper_bound_inf is 1e19. (see TNLPAdapter)

Implements Ipopt::TNLP.

virtual bool MatlabProgram::get_starting_point ( int  n,
bool  init_x,
double *  x,
bool  init_z,
double *  z_L,
double *  z_U,
int  m,
bool  init_lambda,
double *  lambda 
) [virtual]

overload this method to return the starting point.

The bool variables indicate whether the algorithm wants you to initialize x, z_L/z_u, and lambda, respectively. If, for some reason, the algorithm wants you to initialize these and you cannot, return false, which will cause Ipopt to stop. You will have to run Ipopt with different options then.

Implements Ipopt::TNLP.

virtual bool MatlabProgram::eval_f ( int  n,
const double *  x,
bool  new_x,
double &  obj_value 
) [virtual]

overload this method to return the value of the objective function

Implements Ipopt::TNLP.

virtual bool MatlabProgram::eval_grad_f ( int  n,
const double *  x,
bool  new_x,
double *  grad_f 
) [virtual]

overload this method to return the vector of the gradient of the objective w.r.t.

x

Implements Ipopt::TNLP.

virtual bool MatlabProgram::eval_g ( int  n,
const double *  x,
bool  new_x,
int  m,
double *  g 
) [virtual]

overload this method to return the vector of constraint values

Implements Ipopt::TNLP.

virtual bool MatlabProgram::eval_jac_g ( int  n,
const double *  x,
bool  new_x,
int  m,
int  nele_jac,
int *  iRow,
int *  jCol,
double *  values 
) [virtual]

overload this method to return the jacobian of the constraints.

The vectors iRow and jCol only need to be set once. The first call is used to set the structure only (iRow and jCol will be non-NULL, and values will be NULL) For subsequent calls, iRow and jCol will be NULL.

Implements Ipopt::TNLP.

virtual bool MatlabProgram::eval_h ( int  n,
const double *  x,
bool  new_x,
double  obj_factor,
int  m,
const double *  lambda,
bool  new_lambda,
int  nele_hess,
int *  iRow,
int *  jCol,
double *  values 
) [virtual]

overload this method to return the hessian of the lagrangian.

The vectors iRow and jCol only need to be set once (during the first call). The first call is used to set the structure only (iRow and jCol will be non-NULL, and values will be NULL) For subsequent calls, iRow and jCol will be NULL. This matrix is symmetric - specify the lower diagonal only. A default implementation is provided, in case the user wants to se quasi-Newton approximations to estimate the second derivatives and doesn't not neet to implement this method.

Reimplemented from Ipopt::TNLP.

virtual void MatlabProgram::finalize_solution ( SolverReturn  status,
int  numVariables,
const double *  variables,
const double *  zl,
const double *  zu,
int  numConstraints,
const double *  constraints,
const double *  lambda,
double  objective,
const IpoptData ip_data,
IpoptCalculatedQuantities ip_cq 
) [virtual]
virtual bool MatlabProgram::intermediate_callback ( AlgorithmMode  mode,
int  t,
double  f,
double  inf_pr,
double  inf_du,
double  mu,
double  d_norm,
double  regularization_size,
double  alpha_du,
double  alpha_pr,
int  ls_trials,
const IpoptData ip_data,
IpoptCalculatedQuantities ip_cq 
) [virtual]

Member Data Documentation

const Iterate& MatlabProgram::x0 [protected]

Definition at line 96 of file matlabprogram.hpp.

Definition at line 97 of file matlabprogram.hpp.

const Options& MatlabProgram::options [protected]

Definition at line 98 of file matlabprogram.hpp.

Iterate& MatlabProgram::x [protected]

Definition at line 99 of file matlabprogram.hpp.

Definition at line 100 of file matlabprogram.hpp.

Definition at line 105 of file matlabprogram.hpp.

Definition at line 106 of file matlabprogram.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines