Ipopt 3.12.10

- Main Page
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Protected Attributes | List of all members
MatlabProgram Class Reference

`#include <matlabprogram.hpp>`

Inheritance diagram for MatlabProgram:
[legend]

## 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. More...
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. More...
virtual bool | eval_f (int n, const double *vars, bool ignore, double &f)
| overload this method to return the value of the objective function More...
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. More...
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 More...
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. More...
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. More...
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)
Public Member Functions inherited from Ipopt::TNLP
| DECLARE_STD_EXCEPTION (INVALID_TNLP)
| TNLP ()
virtual | ~TNLP ()
| Default destructor. More...
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_value, const IpoptData *ip_data, IpoptCalculatedQuantities *ip_cq)=0
| This method is called when the algorithm is complete so the TNLP can store/write the solution. More...
virtual void | finalize_metadata (Index n, const StringMetaDataMapType &var_string_md, const IntegerMetaDataMapType &var_integer_md, const NumericMetaDataMapType &var_numeric_md, Index m, const StringMetaDataMapType &con_string_md, const IntegerMetaDataMapType &con_integer_md, const NumericMetaDataMapType &con_numeric_md)
| This method is called just before finalize_solution. More...
virtual bool | intermediate_callback (AlgorithmMode mode, Index iter, Number obj_value, Number inf_pr, Number inf_du, Number mu, Number d_norm, Number regularization_size, Number alpha_du, Number alpha_pr, Index ls_trials, const IpoptData *ip_data, IpoptCalculatedQuantities *ip_cq)
| Intermediate Callback method for the user. More...
virtual Index | get_number_of_nonlinear_variables ()
virtual bool | get_list_of_nonlinear_variables (Index num_nonlin_vars, Index *pos_nonlin_vars)
virtual bool | get_var_con_metadata (Index n, StringMetaDataMapType &var_string_md, IntegerMetaDataMapType &var_integer_md, NumericMetaDataMapType &var_numeric_md, Index m, StringMetaDataMapType &con_string_md, IntegerMetaDataMapType &con_integer_md, NumericMetaDataMapType &con_numeric_md)
| overload this method to return any meta data for the variables and the constraints More...
virtual bool | get_scaling_parameters (Number &obj_scaling, bool &use_x_scaling, Index n, Number *x_scaling, bool &use_g_scaling, Index m, Number *g_scaling)
| overload this method to return scaling parameters. More...
virtual bool | get_variables_linearity (Index n, LinearityType *var_types)
| overload this method to return the variables linearity (TNLP::LINEAR or TNLP::NON_LINEAR). More...
virtual bool | get_constraints_linearity (Index m, LinearityType *const_types)
| overload this method to return the constraint linearity. More...
virtual bool | get_warm_start_iterate (IteratesVector &warm_start_iterate)
| overload this method to provide an Ipopt iterate (already in the form Ipopt requires it internally) for a warm start. More...
Public Member Functions inherited from Ipopt::ReferencedObject
| ReferencedObject ()
virtual | ~ReferencedObject ()
Index | ReferenceCount () const
void | AddRef (const Referencer *referencer) const
void | ReleaseRef (const Referencer *referencer) const

## Protected Attributes
const Iterate & | x0
const CallbackFunctions & | funcs
const Options & | options
Iterate & | x
MatlabInfo & | info
SparseMatrix * | J
SparseMatrix * | H

## Additional Inherited Members
Public Types inherited from Ipopt::TNLP
enum | LinearityType { LINEAR, NON_LINEAR }
| Type of the constraints. More...
enum | IndexStyleEnum { C_STYLE =0, FORTRAN_STYLE =1 }
| overload this method to return the number of variables and constraints, and the number of non-zeros in the jacobian and the hessian. More...
typedef std::map< std::string, std::vector< std::string > > | StringMetaDataMapType
typedef std::map< std::string, std::vector< Index > > | IntegerMetaDataMapType
typedef std::map< std::string, std::vector< Number > > | NumericMetaDataMapType

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

const CallbackFunctions& MatlabProgram::funcs
| protected

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.

MatlabInfo& MatlabProgram::info
| protected

Definition at line 100 of file matlabprogram.hpp.

SparseMatrix* MatlabProgram::J
| protected

Definition at line 105 of file matlabprogram.hpp.

SparseMatrix* MatlabProgram::H
| protected

Definition at line 106 of file matlabprogram.hpp.

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

- contrib/MatlabInterface/src/matlabprogram.hpp