#include <matlabprogram.hpp>
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) | |
MatlabProgram & | operator= (const MatlabProgram &source) |
Protected Attributes | |
const Iterate & | x0 |
const CallbackFunctions & | funcs |
const Options & | options |
Iterate & | x |
const mxArray * | auxdata |
MatlabInfo & | info |
SparseMatrix * | J |
SparseMatrix * | H |
const ArrayOfMatrices & | x0 |
const ArrayOfMatrices & | lb |
const ArrayOfMatrices & | ub |
const Matrix & | constraintlb |
const Matrix & | constraintub |
const mxArray * | auxData |
ArrayOfMatrices & | xsol |
ArrayOfMatrices * | x |
Multipliers * | initialMultipliers |
Multipliers * | multipliers |
Array< double > * | lambda |
int | numiter |
mxArray ** | prhs |
mxArray * | lambdarhs |
bool | useQuasiNewton |
SparseMatrixStructure * | JacobianStructure |
SparseMatrixStructure * | HessianStructure |
const MatlabFunctionHandle & | objFunc |
const MatlabFunctionHandle & | gradFunc |
const MatlabFunctionHandle & | constraintFunc |
const MatlabFunctionHandle & | jacobianFunc |
const MatlabFunctionHandle & | hessianFunc |
const MatlabFunctionHandle & | iterFunc |
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) |
Definition at line 26 of file matlabprogram.hpp.
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] |
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] |
const Iterate& MatlabProgram::x0 [protected] |
Definition at line 97 of file matlabprogram.hpp.
const CallbackFunctions& MatlabProgram::funcs [protected] |
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.
MatlabInfo& MatlabProgram::info [protected] |
Definition at line 102 of file matlabprogram.hpp.
SparseMatrix* MatlabProgram::J [protected] |
Definition at line 107 of file matlabprogram.hpp.
SparseMatrix* MatlabProgram::H [protected] |
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.
ArrayOfMatrices& MatlabProgram::xsol [protected] |
Definition at line 135 of file matlabprogram.h.
ArrayOfMatrices* MatlabProgram::x [protected] |
Definition at line 136 of file matlabprogram.h.
Multipliers* MatlabProgram::initialMultipliers [protected] |
Definition at line 139 of file matlabprogram.h.
Multipliers* MatlabProgram::multipliers [protected] |
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.
bool MatlabProgram::useQuasiNewton [protected] |
Definition at line 156 of file matlabprogram.h.
SparseMatrixStructure* MatlabProgram::JacobianStructure [protected] |
Definition at line 161 of file matlabprogram.h.
SparseMatrixStructure* MatlabProgram::HessianStructure [protected] |
Definition at line 162 of file matlabprogram.h.
const MatlabFunctionHandle& MatlabProgram::objFunc [protected] |
Definition at line 165 of file matlabprogram.h.
const MatlabFunctionHandle& MatlabProgram::gradFunc [protected] |
Definition at line 166 of file matlabprogram.h.
const MatlabFunctionHandle& MatlabProgram::constraintFunc [protected] |
Definition at line 167 of file matlabprogram.h.
const MatlabFunctionHandle& MatlabProgram::jacobianFunc [protected] |
Definition at line 168 of file matlabprogram.h.
const MatlabFunctionHandle& MatlabProgram::hessianFunc [protected] |
Definition at line 169 of file matlabprogram.h.
const MatlabFunctionHandle& MatlabProgram::iterFunc [protected] |
Definition at line 170 of file matlabprogram.h.