Class to perform OA in its classical form. More...
#include <BonOaFeasChecker.hpp>
Public Member Functions | |
OaFeasibilityChecker (BabSetupBase &b) | |
New usefull constructor. More... | |
OaFeasibilityChecker (const OaFeasibilityChecker ©) | |
Copy constructor. More... | |
~OaFeasibilityChecker () | |
Destructor. More... | |
virtual CglCutGenerator * | clone () const |
![]() | |
OaDecompositionBase (BabSetupBase &b, bool leaveSiUnchanged, bool reassignLpsolver) | |
New usefull constructor. More... | |
OaDecompositionBase (const OaDecompositionBase ©) | |
Copy constructor. More... | |
virtual | ~OaDecompositionBase () |
Destructor. More... | |
virtual void | generateCuts (const OsiSolverInterface &si, OsiCuts &cs, const CglTreeInfo info=CglTreeInfo()) |
Standard cut generation methods. More... | |
void | assignNlpInterface (OsiTMINLPInterface *nlp) |
Assign an OsiTMINLPInterface. More... | |
void | assignLpInterface (OsiSolverInterface *si) |
Assign an OsiTMINLPInterface. More... | |
bool | reassignLpsolver () |
void | setObjects (OsiObject **objects, int nObjects) |
Set objects. More... | |
void | setLeaveSiUnchanged (bool yesno) |
Set whether to leave the solverinterface unchanged. More... | |
Parameters & | parameter () |
const Parameters & | parameter () const |
void | setLogLevel (int level) |
void | setReassignLpSolver (bool v) |
void | passInMessageHandler (CoinMessageHandler *handler) |
Static Public Member Functions | |
static void | registerOptions (Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions) |
Register OA options. More... | |
Protected Types | |
enum | CutsPolicies { DetectCycles = 0, KeepAll, TreatAsNormal } |
See documentation for feas_check_discard_policy option. More... | |
enum | CutsTypes { OA = 0, Benders } |
See documentation for feas_check_cut_types option. More... | |
Protected Member Functions | |
virtual double | performOa (OsiCuts &cs, solverManip &lpManip, BabInfo *babInfo, double &cutoff, const CglTreeInfo &info) const |
virtual method which performs the OA algorithm by modifying lp and nlp. More... | |
virtual bool | doLocalSearch (BabInfo *babInfo) const |
virutal method to decide if local search is performed More... | |
![]() | |
void | setupMipSolver (BabSetupBase &b, const std::string &prefix) |
bool | post_nlp_solve (BabInfo *babInfo, double cutoff) const |
Solve the nlp and do output. More... | |
Protected Attributes | |
CutsPolicies | pol_ |
Policy for keeping cuts. More... | |
CutsTypes | type_ |
Type of cuts. More... | |
unsigned int | cut_count_ |
Count the total number of cuts generated. More... | |
unsigned int | maximum_oa_cuts_ |
maximum number of OA cuts. More... | |
![]() | |
OsiTMINLPInterface * | nlp_ |
Pointer to nlp interface. More... | |
BabSetupBase * | s_ |
Pointer to setup. More... | |
int | nSolve_ |
Number of nlp solved done. More... | |
OsiSolverInterface * | lp_ |
A linear solver. More... | |
OsiObject ** | objects_ |
Some objects the feasiblitiy of which to verify. More... | |
int | nObjects_ |
Number of objects.*/. More... | |
int | nLocalSearch_ |
number of local searches performed More... | |
CoinMessageHandler * | handler_ |
messages handler. More... | |
CoinMessages | messages_ |
Messages for OA. More... | |
bool | leaveSiUnchanged_ |
Wether or not we should remove cuts at the end of the procedure. More... | |
bool | reassignLpsolver_ |
Do we need to reassign the lp solver with Cbc. More... | |
double | timeBegin_ |
time of construction More... | |
int | numSols_ |
number of solutions found by OA_decomposition. More... | |
Parameters | parameters_ |
Parameters. More... | |
OsiCuts | savedCuts_ |
Saved cuts: in some cases when using OA to check feasible solution algorithm may loop because Cbc removes inactive cuts. More... | |
int | currentNodeNumber_ |
Store the current node number. More... | |
Class to perform OA in its classical form.
Definition at line 18 of file BonOaFeasChecker.hpp.
|
protected |
See documentation for feas_check_discard_policy option.
Enumerator | |
---|---|
DetectCycles | |
KeepAll | |
TreatAsNormal |
Definition at line 53 of file BonOaFeasChecker.hpp.
|
protected |
See documentation for feas_check_cut_types option.
Enumerator | |
---|---|
OA | |
Benders |
Definition at line 61 of file BonOaFeasChecker.hpp.
Bonmin::OaFeasibilityChecker::OaFeasibilityChecker | ( | BabSetupBase & | b | ) |
New usefull constructor.
Definition at line 21 of file BonOaFeasChecker.cpp.
|
inline |
Copy constructor.
Definition at line 24 of file BonOaFeasChecker.hpp.
Bonmin::OaFeasibilityChecker::~OaFeasibilityChecker | ( | ) |
Destructor.
Definition at line 33 of file BonOaFeasChecker.cpp.
|
static |
Register OA options.
Register OA feasibility checker options.
Definition at line 140 of file BonOaFeasChecker.cpp.
|
inlinevirtual |
Definition at line 38 of file BonOaFeasChecker.hpp.
|
protectedvirtual |
virtual method which performs the OA algorithm by modifying lp and nlp.
OaDecomposition method.
Implements Bonmin::OaDecompositionBase.
Definition at line 38 of file BonOaFeasChecker.cpp.
|
inlineprotectedvirtual |
virutal method to decide if local search is performed
Implements Bonmin::OaDecompositionBase.
Definition at line 47 of file BonOaFeasChecker.hpp.
|
protected |
Policy for keeping cuts.
Definition at line 58 of file BonOaFeasChecker.hpp.
|
protected |
Type of cuts.
Definition at line 65 of file BonOaFeasChecker.hpp.
|
mutableprotected |
Count the total number of cuts generated.
Definition at line 68 of file BonOaFeasChecker.hpp.
|
protected |
maximum number of OA cuts.
Definition at line 70 of file BonOaFeasChecker.hpp.