Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions

MatlabProgram Class Reference

#include <matlabprogram.hpp>

Inheritance diagram for MatlabProgram:
Ipopt::TNLP Ipopt::TNLP Ipopt::ReferencedObject Ipopt::ReferencedObject

List of all members.

Public Member Functions

 MatlabProgram (const Iterate &x0, const CallbackFunctions &funcs, const Options &options, Iterate &x, const mxArray *auxdata, 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)
virtual bool get_starting_point (int n, bool initializeVars, double *vars, bool initializez, double *zl, double *zu, int m, bool initializeLambda, double *lambda)
virtual bool eval_f (int n, const double *vars, bool ignore, double &f)
virtual bool eval_grad_f (int n, const double *vars, bool ignore, double *grad)
virtual bool eval_g (int n, const double *vars, bool ignore, int m, double *g)
virtual bool eval_jac_g (int numVariables, const double *variables, bool ignoreThis, int numConstraints, int sizeOfJ, int *rows, int *cols, double *Jx)
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)
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_ize, double alpha_du, double alpha_pr, int ls_trials, const IpoptData *ip_data, IpoptCalculatedQuantities *ip_cq)
 MatlabProgram (const ArrayOfMatrices &x0, const ArrayOfMatrices &lb, const ArrayOfMatrices &ub, const Matrix &constraintlb, const Matrix &constraintub, const MatlabFunctionHandle &objFunc, const MatlabFunctionHandle &gradFunc, const MatlabFunctionHandle &constraintFunc, const MatlabFunctionHandle &jacobianFunc, const MatlabFunctionHandle &hessianFunc, const MatlabFunctionHandle &iterFunc, const mxArray *auxData, ArrayOfMatrices &xsol, bool useQuasiNewton, Multipliers *initialMultipliers=0, Multipliers *multipliers=0)
virtual ~MatlabProgram ()
char * geterrormsg () const
int getnumiterations () const
virtual bool get_nlp_info (int &numVariables, int &numConstraints, int &sizeOfJ, int &sizeOfH, IndexStyleEnum &indexStyle)
virtual bool get_bounds_info (int numVariables, double *lbptr, double *ubptr, int numConstraints, double *clbptr, double *cubptr)
virtual bool get_starting_point (int numVariables, bool initializeVars, double *variables, bool initializez, double *zl, double *zu, int numConstraints, bool initializeLambda, double *lambda)
virtual bool eval_f (int numVariables, const double *variables, bool ignoreThis, double &objective)
virtual bool eval_grad_f (int numVariables, const double *variables, bool ignoreThis, double *gradient)
virtual bool eval_g (int numVariables, const double *variables, bool ignoreThis, int numConstraints, double *constraints)
virtual bool eval_jac_g (int numVariables, const double *variables, bool ignoreThis, int numConstraints, int sizeOfJ, int *rows, int *cols, double *Jacobian)
virtual bool eval_h (int numVariables, const double *variables, bool ignoreThis, double sigma, int numConstraints, const double *multipliers, bool ignoreThisToo, int sizeOfH, int *rows, int *cols, double *Hessian)
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 iteration, double objective, double inf_pr, double inf_du, double mu, double d_norm, double regularization_ize, double alpha_du, double alpha_pr, int ls_trials, const IpoptData *ip_data, IpoptCalculatedQuantities *ip_cq)

Protected Member Functions

 MatlabProgram (const MatlabProgram &source)
MatlabProgramoperator= (const MatlabProgram &source)

Protected Attributes

const Iteratex0
const CallbackFunctionsfuncs
const Optionsoptions
Iteratex
const mxArray * auxdata
MatlabInfoinfo
SparseMatrixJ
SparseMatrixH
const ArrayOfMatricesx0
const ArrayOfMatriceslb
const ArrayOfMatricesub
const Matrixconstraintlb
const Matrixconstraintub
const mxArray * auxData
ArrayOfMatricesxsol
ArrayOfMatricesx
MultipliersinitialMultipliers
Multipliersmultipliers
Array< double > * lambda
int numiter
mxArray ** prhs
mxArray * lambdarhs
bool useQuasiNewton
SparseMatrixStructureJacobianStructure
SparseMatrixStructureHessianStructure
const MatlabFunctionHandleobjFunc
const MatlabFunctionHandlegradFunc
const MatlabFunctionHandleconstraintFunc
const MatlabFunctionHandlejacobianFunc
const MatlabFunctionHandlehessianFunc
const MatlabFunctionHandleiterFunc

Private Member Functions

double computeObjective (const ArrayOfMatrices &x)
void computeGradient (const ArrayOfMatrices &x, ArrayOfMatrices &grad)
void computeConstraints (const ArrayOfMatrices &x, Array< double > &g)
void computeJacobian (const ArrayOfMatrices &x, double *Jacobian)
void computeHessian (const ArrayOfMatrices &x, const Array< double > &lambda, double sigma, double *Hessian)
mxArray * callMatlabJacobianRoutine (const ArrayOfMatrices &x, bool returnStructureOnly=true)
mxArray * callMatlabHessianRoutine (const ArrayOfMatrices &x, const Array< double > &lambda, bool returnStructureOnly=true, double sigma=0)

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,
const mxArray *  auxdata,
MatlabInfo info 
)
virtual MatlabProgram::~MatlabProgram (  )  [virtual]
MatlabProgram::MatlabProgram ( const ArrayOfMatrices x0,
const ArrayOfMatrices lb,
const ArrayOfMatrices ub,
const Matrix constraintlb,
const Matrix constraintub,
const MatlabFunctionHandle objFunc,
const MatlabFunctionHandle gradFunc,
const MatlabFunctionHandle constraintFunc,
const MatlabFunctionHandle jacobianFunc,
const MatlabFunctionHandle hessianFunc,
const MatlabFunctionHandle iterFunc,
const mxArray *  auxData,
ArrayOfMatrices xsol,
bool  useQuasiNewton,
Multipliers initialMultipliers = 0,
Multipliers multipliers = 0 
)
virtual MatlabProgram::~MatlabProgram (  )  [virtual]
MatlabProgram::MatlabProgram ( const MatlabProgram source  )  [protected]

Member Function Documentation

virtual bool MatlabProgram::get_nlp_info ( int &  n,
int &  m,
int &  sizeOfJ,
int &  sizeOfH,
IndexStyleEnum indexStyle 
) [virtual]
virtual bool MatlabProgram::get_bounds_info ( int  n,
double *  lb,
double *  ub,
int  m,
double *  cl,
double *  cu 
) [virtual]
virtual bool MatlabProgram::get_starting_point ( int  n,
bool  initializeVars,
double *  vars,
bool  initializez,
double *  zl,
double *  zu,
int  m,
bool  initializeLambda,
double *  lambda 
) [virtual]
virtual bool MatlabProgram::eval_f ( int  n,
const double *  vars,
bool  ignore,
double &  f 
) [virtual]
virtual bool MatlabProgram::eval_grad_f ( int  n,
const double *  vars,
bool  ignore,
double *  grad 
) [virtual]
virtual bool MatlabProgram::eval_g ( int  n,
const double *  vars,
bool  ignore,
int  m,
double *  g 
) [virtual]
virtual bool MatlabProgram::eval_jac_g ( int  numVariables,
const double *  variables,
bool  ignoreThis,
int  numConstraints,
int  sizeOfJ,
int *  rows,
int *  cols,
double *  Jx 
) [virtual]
virtual bool MatlabProgram::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 
) [virtual]
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_ize,
double  alpha_du,
double  alpha_pr,
int  ls_trials,
const IpoptData ip_data,
IpoptCalculatedQuantities ip_cq 
) [virtual]
char* MatlabProgram::geterrormsg (  )  const
int MatlabProgram::getnumiterations (  )  const [inline]

Definition at line 57 of file matlabprogram.h.

virtual bool MatlabProgram::get_nlp_info ( int &  numVariables,
int &  numConstraints,
int &  sizeOfJ,
int &  sizeOfH,
IndexStyleEnum indexStyle 
) [virtual]
virtual bool MatlabProgram::get_bounds_info ( int  numVariables,
double *  lbptr,
double *  ubptr,
int  numConstraints,
double *  clbptr,
double *  cubptr 
) [virtual]
virtual bool MatlabProgram::get_starting_point ( int  numVariables,
bool  initializeVars,
double *  variables,
bool  initializez,
double *  zl,
double *  zu,
int  numConstraints,
bool  initializeLambda,
double *  lambda 
) [virtual]
virtual bool MatlabProgram::eval_f ( int  numVariables,
const double *  variables,
bool  ignoreThis,
double &  objective 
) [virtual]
virtual bool MatlabProgram::eval_grad_f ( int  numVariables,
const double *  variables,
bool  ignoreThis,
double *  gradient 
) [virtual]
virtual bool MatlabProgram::eval_g ( int  numVariables,
const double *  variables,
bool  ignoreThis,
int  numConstraints,
double *  constraints 
) [virtual]
virtual bool MatlabProgram::eval_jac_g ( int  numVariables,
const double *  variables,
bool  ignoreThis,
int  numConstraints,
int  sizeOfJ,
int *  rows,
int *  cols,
double *  Jacobian 
) [virtual]
virtual bool MatlabProgram::eval_h ( int  numVariables,
const double *  variables,
bool  ignoreThis,
double  sigma,
int  numConstraints,
const double *  multipliers,
bool  ignoreThisToo,
int  sizeOfH,
int *  rows,
int *  cols,
double *  Hessian 
) [virtual]
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  iteration,
double  objective,
double  inf_pr,
double  inf_du,
double  mu,
double  d_norm,
double  regularization_ize,
double  alpha_du,
double  alpha_pr,
int  ls_trials,
const IpoptData ip_data,
IpoptCalculatedQuantities ip_cq 
) [virtual]
MatlabProgram& MatlabProgram::operator= ( const MatlabProgram source  )  [inline, protected]

Definition at line 175 of file matlabprogram.h.

double MatlabProgram::computeObjective ( const ArrayOfMatrices x  )  [private]
void MatlabProgram::computeGradient ( const ArrayOfMatrices x,
ArrayOfMatrices grad 
) [private]
void MatlabProgram::computeConstraints ( const ArrayOfMatrices x,
Array< double > &  g 
) [private]
void MatlabProgram::computeJacobian ( const ArrayOfMatrices x,
double *  Jacobian 
) [private]
void MatlabProgram::computeHessian ( const ArrayOfMatrices x,
const Array< double > &  lambda,
double  sigma,
double *  Hessian 
) [private]
mxArray* MatlabProgram::callMatlabJacobianRoutine ( const ArrayOfMatrices x,
bool  returnStructureOnly = true 
) [private]
mxArray* MatlabProgram::callMatlabHessianRoutine ( const ArrayOfMatrices x,
const Array< double > &  lambda,
bool  returnStructureOnly = true,
double  sigma = 0 
) [private]

Member Data Documentation

const Iterate& MatlabProgram::x0 [protected]

Definition at line 97 of file matlabprogram.hpp.

Definition at line 98 of file matlabprogram.hpp.

const Options& MatlabProgram::options [protected]

Definition at line 99 of file matlabprogram.hpp.

Iterate& MatlabProgram::x [protected]

Definition at line 100 of file matlabprogram.hpp.

const mxArray* MatlabProgram::auxdata [protected]

Definition at line 101 of file matlabprogram.hpp.

Definition at line 102 of file matlabprogram.hpp.

Definition at line 107 of file matlabprogram.hpp.

Definition at line 108 of file matlabprogram.hpp.

const ArrayOfMatrices& MatlabProgram::x0 [protected]

Definition at line 128 of file matlabprogram.h.

const ArrayOfMatrices& MatlabProgram::lb [protected]

Definition at line 129 of file matlabprogram.h.

const ArrayOfMatrices& MatlabProgram::ub [protected]

Definition at line 130 of file matlabprogram.h.

const Matrix& MatlabProgram::constraintlb [protected]

Definition at line 131 of file matlabprogram.h.

const Matrix& MatlabProgram::constraintub [protected]

Definition at line 132 of file matlabprogram.h.

const mxArray* MatlabProgram::auxData [protected]

Definition at line 133 of file matlabprogram.h.

Definition at line 135 of file matlabprogram.h.

Definition at line 136 of file matlabprogram.h.

Definition at line 139 of file matlabprogram.h.

Definition at line 141 of file matlabprogram.h.

Array<double>* MatlabProgram::lambda [protected]

Definition at line 144 of file matlabprogram.h.

int MatlabProgram::numiter [protected]

Definition at line 148 of file matlabprogram.h.

mxArray** MatlabProgram::prhs [protected]

Definition at line 152 of file matlabprogram.h.

mxArray* MatlabProgram::lambdarhs [protected]

Definition at line 153 of file matlabprogram.h.

Definition at line 156 of file matlabprogram.h.

Definition at line 165 of file matlabprogram.h.

Definition at line 166 of file matlabprogram.h.

Definition at line 167 of file matlabprogram.h.

Definition at line 168 of file matlabprogram.h.

Definition at line 169 of file matlabprogram.h.

Definition at line 170 of file matlabprogram.h.


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