#include <SmagNLP.hpp>
Public Member Functions | |
| SMAG_NLP (smagHandle_t prob) | |
| Contructor. | |
| virtual | ~SMAG_NLP () |
| Default destructor. | |
| 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 | get_scaling_parameters (Number &obj_scaling, bool &use_x_scaling, Index n, Number *x_scaling, bool &use_g_scaling, Index m, Number *g_scaling) |
| virtual bool | get_variables_linearity (Index n, LinearityType *var_types) |
| Method to return the variables linearity. | |
| virtual bool | get_constraints_linearity (Index m, LinearityType *const_types) |
| Method to return the constraint linearity. | |
| 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 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) |
| Method called by the solver at each iteration. | |
| 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 *data, IpoptCalculatedQuantities *cq) |
| This method is called when the algorithm is complete so the TNLP can store/write the solution. | |
Public Attributes | |
| double | div_iter_tol |
| double | scaled_conviol_tol |
| double | unscaled_conviol_tol |
Private Member Functions | |
| SMAG_NLP () | |
| SMAG_NLP (const SMAG_NLP &) | |
| SMAG_NLP & | operator= (const SMAG_NLP &) |
Private Attributes | |
| smagHandle_t | prob |
| double | clockStart |
| double * | negLambda |
| double | isMin |
| double | timelimit |
| int | domviollimit |
| long int | domviolations |
Definition at line 30 of file SmagNLP.hpp.
| SMAG_NLP::SMAG_NLP | ( | smagHandle_t | prob | ) |
Contructor.
| prob | The SMAG handle for the problem. |
| virtual SMAG_NLP::~SMAG_NLP | ( | ) | [virtual] |
Default destructor.
| SMAG_NLP::SMAG_NLP | ( | ) | [private] |
| SMAG_NLP::SMAG_NLP | ( | const SMAG_NLP & | ) | [private] |
| virtual bool SMAG_NLP::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 SMAG_NLP::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 SMAG_NLP::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 SMAG_NLP::get_scaling_parameters | ( | Number & | obj_scaling, | |
| bool & | use_x_scaling, | |||
| Index | n, | |||
| Number * | x_scaling, | |||
| bool & | use_g_scaling, | |||
| Index | m, | |||
| Number * | g_scaling | |||
| ) | [virtual] |
| virtual bool SMAG_NLP::get_variables_linearity | ( | Index | n, | |
| LinearityType * | var_types | |||
| ) | [virtual] |
Method to return the variables linearity.
| virtual bool SMAG_NLP::get_constraints_linearity | ( | Index | m, | |
| LinearityType * | const_types | |||
| ) | [virtual] |
Method to return the constraint linearity.
| virtual bool SMAG_NLP::eval_f | ( | Index | n, | |
| const Number * | x, | |||
| bool | new_x, | |||
| Number & | obj_value | |||
| ) | [virtual] |
Method to return the objective value.
| virtual bool SMAG_NLP::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 SMAG_NLP::eval_g | ( | Index | n, | |
| const Number * | x, | |||
| bool | new_x, | |||
| Index | m, | |||
| Number * | g | |||
| ) | [virtual] |
Method to return the constraint residuals.
| virtual bool SMAG_NLP::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 SMAG_NLP::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 bool SMAG_NLP::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 | |||
| ) | [virtual] |
Method called by the solver at each iteration.
Checks the domain violation limit and time limit and stops the solver in case of limit exceedance.
| virtual void SMAG_NLP::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 * | data, | |||
| IpoptCalculatedQuantities * | cq | |||
| ) | [virtual] |
This method is called when the algorithm is complete so the TNLP can store/write the solution.
| double SMAG_NLP::div_iter_tol |
Definition at line 104 of file SmagNLP.hpp.
| double SMAG_NLP::scaled_conviol_tol |
Definition at line 105 of file SmagNLP.hpp.
Definition at line 106 of file SmagNLP.hpp.
smagHandle_t SMAG_NLP::prob [private] |
Definition at line 111 of file SmagNLP.hpp.
double SMAG_NLP::clockStart [private] |
Definition at line 112 of file SmagNLP.hpp.
double* SMAG_NLP::negLambda [private] |
Definition at line 113 of file SmagNLP.hpp.
double SMAG_NLP::isMin [private] |
Definition at line 114 of file SmagNLP.hpp.
double SMAG_NLP::timelimit [private] |
Definition at line 115 of file SmagNLP.hpp.
int SMAG_NLP::domviollimit [private] |
Definition at line 116 of file SmagNLP.hpp.
long int SMAG_NLP::domviolations [private] |
Definition at line 117 of file SmagNLP.hpp.
1.4.7