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.
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.