Bonmin
1.7
|
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 | |
(Hidden to avoid implicit creation/calling). These methods are not implemented and we do not want the compiler to implement them for us, so we declare them private and do not define them. This ensures that they will not be implicitly created/called. | |
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.
virtual Bonmin::CutStrengthener::~CutStrengthener | ( | ) | [virtual] |
Destructor.
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.
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)
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.