Inheritance diagram for Bonmin::CutStrengthener::StrengtheningTNLP:
Public Member Functions | |
StrengtheningTNLP (SmartPtr< TMINLP > tminlp, const CoinPackedVector &cut, bool lower_bound, Index n, const Number *starting_point, const double *x_l_orig, const double *x_u_orig, Index constr_index, Index nvar_constr, const Index *jCol) | |
Contructor. | |
~StrengtheningTNLP () | |
Destructor. | |
Number | StrengthenedBound () const |
Method for asking for the strengthened bound. | |
Overloaded from TNLP | |
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 | 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). | |
Solution Methods | |
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) |
This method is called when the algorithm is complete so the TNLP can store/write the solution. | |
Private Member Functions | |
void | update_x_full (const Number *x) |
Auxilliary method for updating the full x variable. | |
Methods to block default compiler methods. | |
StrengtheningTNLP () | |
StrengtheningTNLP (const StrengtheningTNLP &) | |
StrengtheningTNLP & | operator= (const StrengtheningTNLP &) |
Private Attributes | |
const SmartPtr< TMINLP > | tminlp_ |
TMINLP (with current bounds) for which the cut it to be generated. | |
Number * | obj_grad_ |
Gradient of the (linear) objective function. | |
const Index | n_orig_ |
Dimension of original problem. | |
Index | m_orig_ |
Number of constraints in original problem. | |
Number * | starting_point_ |
Starting point. | |
Number * | x_full_ |
Full dimentional x which is used to call the TMINLP evaluation routines. | |
Number * | x_l_ |
Lower bounds for constraint variables. | |
Number * | x_u_ |
Upper bounds for constraint variables. | |
const Index | constr_index_ |
Index of the constraint. | |
const Index | nvar_constr_ |
Number of variables appearing in the constraint. | |
Index * | var_indices_ |
List of variables appearing on the constraints. | |
bool | lower_bound_ |
Flag indicating if the cut has a lower or upper bound. | |
bool | have_final_bound_ |
Flag indicating if we TNLP has been solved successfully. | |
Number | strengthened_bound_ |
Final strengthened bound. | |
Number * | grad_f_ |
space for original gradient if objective function is handled |
We assume that the cut has a lower bound.
Definition at line 38 of file BonCutStrengthener.hpp.
Bonmin::CutStrengthener::StrengtheningTNLP::StrengtheningTNLP | ( | SmartPtr< TMINLP > | tminlp, | |
const CoinPackedVector & | cut, | |||
bool | lower_bound, | |||
Index | n, | |||
const Number * | starting_point, | |||
const double * | x_l_orig, | |||
const double * | x_u_orig, | |||
Index | constr_index, | |||
Index | nvar_constr, | |||
const Index * | jCol | |||
) |
Contructor.
nvar_constr | Number of variables in constraint |
Bonmin::CutStrengthener::StrengtheningTNLP::~StrengtheningTNLP | ( | ) |
Destructor.
Bonmin::CutStrengthener::StrengtheningTNLP::StrengtheningTNLP | ( | ) | [private] |
Bonmin::CutStrengthener::StrengtheningTNLP::StrengtheningTNLP | ( | const StrengtheningTNLP & | ) | [private] |
virtual bool Bonmin::CutStrengthener::StrengtheningTNLP::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 Bonmin::CutStrengthener::StrengtheningTNLP::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).
Implements Ipopt::TNLP.
virtual bool Bonmin::CutStrengthener::StrengtheningTNLP::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).
Reimplemented from Ipopt::TNLP.
virtual void Bonmin::CutStrengthener::StrengtheningTNLP::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 | |||
) | [virtual] |
This method is called when the algorithm is complete so the TNLP can store/write the solution.
Implements Ipopt::TNLP.
Number Bonmin::CutStrengthener::StrengtheningTNLP::StrengthenedBound | ( | ) | const |
Method for asking for the strengthened bound.
StrengtheningTNLP& Bonmin::CutStrengthener::StrengtheningTNLP::operator= | ( | const StrengtheningTNLP & | ) | [private] |
void Bonmin::CutStrengthener::StrengtheningTNLP::update_x_full | ( | const Number * | x | ) | [private] |
Auxilliary method for updating the full x variable.
const SmartPtr<TMINLP> Bonmin::CutStrengthener::StrengtheningTNLP::tminlp_ [private] |
TMINLP (with current bounds) for which the cut it to be generated.
Definition at line 122 of file BonCutStrengthener.hpp.
const Index Bonmin::CutStrengthener::StrengtheningTNLP::n_orig_ [private] |
Full dimentional x which is used to call the TMINLP evaluation routines.
Definition at line 138 of file BonCutStrengthener.hpp.
const Index Bonmin::CutStrengthener::StrengtheningTNLP::constr_index_ [private] |
const Index Bonmin::CutStrengthener::StrengtheningTNLP::nvar_constr_ [private] |
Number of variables appearing in the constraint.
Definition at line 150 of file BonCutStrengthener.hpp.
List of variables appearing on the constraints.
Definition at line 153 of file BonCutStrengthener.hpp.
bool Bonmin::CutStrengthener::StrengtheningTNLP::lower_bound_ [private] |
Flag indicating if the cut has a lower or upper bound.
Definition at line 156 of file BonCutStrengthener.hpp.
Flag indicating if we TNLP has been solved successfully.
Definition at line 159 of file BonCutStrengthener.hpp.
space for original gradient if objective function is handled
Definition at line 165 of file BonCutStrengthener.hpp.