Class for strengthening OA cuts, and generating additional ones. More...
#include <BonCutStrengthener.hpp>
Classes | |
| class | StrengtheningTNLP |
| Class implementing the TNLP for strengthening one cut. More... | |
Public Member Functions | |
| bool | ComputeCuts (OsiCuts &cs, TMINLP *tminlp, TMINLP2TNLP *problem, const int gindex, CoinPackedVector &cut, double &cut_lb, double &cut_ub, const double g_val, const double g_lb, const double g_ub, int n, const double *x, double infty) |
| Method for generating and strenghtening all desired cuts. | |
Constructor/Destructor | |
| CutStrengthener (Ipopt::SmartPtr< TNLPSolver > tnlp_solver, Ipopt::SmartPtr< Ipopt::OptionsList > options) | |
| Constructor. | |
| virtual | ~CutStrengthener () |
| Destructor. | |
Private Member Functions | |
| bool | StrengthenCut (Ipopt::SmartPtr< TMINLP > tminlp, int constr_index, const CoinPackedVector &row, int n, const double *x, const double *x_l, const double *x_u, double &lb, double &ub) |
| Method for strengthening one cut. | |
| bool | HandleOneCut (bool is_tight, TMINLP *tminlp, TMINLP2TNLP *problem, const double *minlp_lb, const double *minlp_ub, const int gindex, CoinPackedVector &cut, double &cut_lb, double &cut_ub, int n, const double *x, double infty) |
| Method for generating one type of cut (strengthened or disjunctive). | |
Default Compiler Generated Methods | |
| CutStrengthener () | |
| Default Constructor. | |
| CutStrengthener (const CutStrengthener &) | |
| Copy Constructor. | |
| void | operator= (const CutStrengthener &) |
| Overloaded Equals Operator. | |
Private Attributes | |
| Ipopt::SmartPtr< TNLPSolver > | tnlp_solver_ |
| Object for solving the TNLPs. | |
| int | cut_strengthening_type_ |
| Type of OA cut strengthener. | |
| int | disjunctive_cut_type_ |
| What kind of disjuntion should be done. | |
| int | oa_log_level_ |
| verbosity level for OA-related output | |
Class for strengthening OA cuts, and generating additional ones.
Definition at line 32 of file BonCutStrengthener.hpp.
| Bonmin::CutStrengthener::CutStrengthener | ( | Ipopt::SmartPtr< TNLPSolver > | tnlp_solver, | |
| Ipopt::SmartPtr< Ipopt::OptionsList > | options | |||
| ) |
Constructor.
It is given a TNLP solver to solve the internal NLPs.
| Bonmin::CutStrengthener::~CutStrengthener | ( | ) | [virtual] |
Destructor.
Definition at line 35 of file BonCutStrengthener.cpp.
| Bonmin::CutStrengthener::CutStrengthener | ( | ) | [private] |
Default Constructor.
| Bonmin::CutStrengthener::CutStrengthener | ( | const CutStrengthener & | ) | [private] |
Copy Constructor.
| bool Bonmin::CutStrengthener::ComputeCuts | ( | OsiCuts & | cs, | |
| TMINLP * | tminlp, | |||
| TMINLP2TNLP * | problem, | |||
| const int | gindex, | |||
| CoinPackedVector & | cut, | |||
| double & | cut_lb, | |||
| double & | cut_ub, | |||
| const double | g_val, | |||
| const double | g_lb, | |||
| const double | g_ub, | |||
| int | n, | |||
| const double * | x, | |||
| double | infty | |||
| ) |
Method for generating and strenghtening all desired cuts.
Definition at line 137 of file BonCutStrengthener.cpp.
| void Bonmin::CutStrengthener::operator= | ( | const CutStrengthener & | ) | [private] |
Overloaded Equals Operator.
| bool Bonmin::CutStrengthener::StrengthenCut | ( | Ipopt::SmartPtr< TMINLP > | tminlp, | |
| int | constr_index, | |||
| const CoinPackedVector & | row, | |||
| int | n, | |||
| const double * | x, | |||
| const double * | x_l, | |||
| const double * | x_u, | |||
| double & | lb, | |||
| double & | ub | |||
| ) | [private] |
Method for strengthening one cut.
| tminlp | current TMINLP | |
| constr_index | Ipopt::Index number of the constraint to be strengthened, -1 means objective function | |
| row | Cut to be strengthened | |
| n | Ipopt::Number of variables | |
| x | solution from node | |
| x_l | Lower bounds for x in which should be valid. | |
| x_u | Upper bounds for x in which should be valid. |
| bool Bonmin::CutStrengthener::HandleOneCut | ( | bool | is_tight, | |
| TMINLP * | tminlp, | |||
| TMINLP2TNLP * | problem, | |||
| const double * | minlp_lb, | |||
| const double * | minlp_ub, | |||
| const int | gindex, | |||
| CoinPackedVector & | cut, | |||
| double & | cut_lb, | |||
| double & | cut_ub, | |||
| int | n, | |||
| const double * | x, | |||
| double | infty | |||
| ) | [private] |
Method for generating one type of cut (strengthened or disjunctive).
Definition at line 39 of file BonCutStrengthener.cpp.
Ipopt::SmartPtr<TNLPSolver> Bonmin::CutStrengthener::tnlp_solver_ [private] |
Object for solving the TNLPs.
Definition at line 233 of file BonCutStrengthener.hpp.
int Bonmin::CutStrengthener::cut_strengthening_type_ [private] |
Type of OA cut strengthener.
Definition at line 236 of file BonCutStrengthener.hpp.
int Bonmin::CutStrengthener::disjunctive_cut_type_ [private] |
What kind of disjuntion should be done.
Definition at line 238 of file BonCutStrengthener.hpp.
int Bonmin::CutStrengthener::oa_log_level_ [private] |
verbosity level for OA-related output
Definition at line 240 of file BonCutStrengthener.hpp.
1.6.1