Bonmin 1.4trunk
|
Class implementing the TNLP for strengthening one cut. More...
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 |
Class implementing the TNLP for strengthening one cut.
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::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 Bonmin::CutStrengthener::StrengtheningTNLP::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 Bonmin::CutStrengthener::StrengtheningTNLP::eval_f | ( | Index | n, |
const Number * | x, | ||
bool | new_x, | ||
Number & | obj_value | ||
) | [virtual] |
Method to return the objective value.
virtual bool Bonmin::CutStrengthener::StrengtheningTNLP::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 Bonmin::CutStrengthener::StrengtheningTNLP::eval_g | ( | Index | n, |
const Number * | x, | ||
bool | new_x, | ||
Index | m, | ||
Number * | g | ||
) | [virtual] |
Method to return the constraint residuals.
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)
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)
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.
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.
Number* Bonmin::CutStrengthener::StrengtheningTNLP::obj_grad_ [private] |
Gradient of the (linear) objective function.
Definition at line 125 of file BonCutStrengthener.hpp.
const Index Bonmin::CutStrengthener::StrengtheningTNLP::n_orig_ [private] |
Dimension of original problem.
Definition at line 128 of file BonCutStrengthener.hpp.
Index Bonmin::CutStrengthener::StrengtheningTNLP::m_orig_ [private] |
Number of constraints in original problem.
Definition at line 131 of file BonCutStrengthener.hpp.
Number* Bonmin::CutStrengthener::StrengtheningTNLP::starting_point_ [private] |
Starting point.
Definition at line 134 of file BonCutStrengthener.hpp.
Number* Bonmin::CutStrengthener::StrengtheningTNLP::x_full_ [private] |
Full dimentional x which is used to call the TMINLP evaluation routines.
Definition at line 138 of file BonCutStrengthener.hpp.
Number* Bonmin::CutStrengthener::StrengtheningTNLP::x_l_ [private] |
Lower bounds for constraint variables.
Definition at line 141 of file BonCutStrengthener.hpp.
Number* Bonmin::CutStrengthener::StrengtheningTNLP::x_u_ [private] |
Upper bounds for constraint variables.
Definition at line 144 of file BonCutStrengthener.hpp.
const Index Bonmin::CutStrengthener::StrengtheningTNLP::constr_index_ [private] |
Index of the constraint.
Definition at line 147 of file BonCutStrengthener.hpp.
const Index Bonmin::CutStrengthener::StrengtheningTNLP::nvar_constr_ [private] |
Number of variables appearing in the constraint.
Definition at line 150 of file BonCutStrengthener.hpp.
Index* Bonmin::CutStrengthener::StrengtheningTNLP::var_indices_ [private] |
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.
Number Bonmin::CutStrengthener::StrengtheningTNLP::strengthened_bound_ [private] |
Final strengthened bound.
Definition at line 162 of file BonCutStrengthener.hpp.
Number* Bonmin::CutStrengthener::StrengtheningTNLP::grad_f_ [private] |
space for original gradient if objective function is handled
Definition at line 165 of file BonCutStrengthener.hpp.