Go to the documentation of this file.
13 #ifndef CbcGenCtlBlk_H
14 #define CbcGenCtlBlk_H
20 #include "CoinParam.hpp"
21 #include "CoinMessageHandler.hpp"
23 #include "CglCutGenerator.hpp"
24 #include "CglProbing.hpp"
25 #include "CglClique.hpp"
26 #include "CglFlowCover.hpp"
27 #include "CglGomory.hpp"
28 #include "CglKnapsackCover.hpp"
29 #include "CglMixedIntegerRounding2.hpp"
30 #include "CglOddHole.hpp"
31 #include "CglRedSplit.hpp"
32 #include "CglTwomir.hpp"
53 #define CBC_GENERIC_VERSION "00.01.00"
276 cutDepth_ = cutDepth;
283 return (preProcess_);
290 preProcess_ = action;
301 probing_.action_ = action;
312 clique_.action_ = action;
323 flow_.action_ = action;
334 gomory_.action_ = action;
345 knapsack_.action_ = action;
368 mir_.action_ = action;
379 redSplit_.action_ = action;
390 twomir_.action_ = action;
401 bool alwaysCreate =
true);
407 fpump_.action_ = action;
418 bool alwaysCreate =
true);
424 combine_.action_ = action;
435 bool alwaysCreate =
true);
441 greedyCover_.action_ = action;
452 bool alwaysCreate =
true);
458 greedyEquality_.action_ = action;
469 bool alwaysCreate =
true);
475 rounding_.action_ = action;
486 bool alwaysCreate =
true);
492 localTree_.action_ = action;
506 OsiSolverInterface *answerSolver)
521 bool haveAnswer =
false,
522 OsiSolverInterface *answerSolver = 0);
583 void setMessages(CoinMessages::Language lang = CoinMessages::us_en);
590 msgHandler_->setLogLevel(lvl);
841 struct probingCtl_struct {
844 bool usingObjective_;
856 struct cliqueCtl_struct {
859 bool starCliqueReport_;
860 bool rowCliqueReport_;
861 double minViolation_;
865 struct flowCtl_struct {
867 CglFlowCover *proto_;
871 struct gomoryCtl_struct {
886 struct knapsackCtl_struct {
888 CglKnapsackCover *proto_;
892 struct mirCtl_struct {
894 CglMixedIntegerRounding2 *proto_;
898 struct oddHoleCtl_struct {
906 struct redSplitCtl_struct {
912 struct twomirCtl_struct {
919 struct fpumpCtl_struct {
926 struct combineCtl_struct {
933 struct greedyCoverCtl_struct {
939 struct greedyEqualityCtl_struct {
945 struct roundingCtl_struct {
956 struct localTreeCtl_struct {
977 CoinMessageHandler *msgHandler_;
988 CoinMessages::Language cur_lang_;
Start and end of OsiSolverInterface parameters in parameter vector.
struct CbcGenCtlBlk::osiParamsInfo_struct osiParams_
IPPControl getIPPAction()
void setCombineAction(CGControl action)
Set action state for use of local search/combine heuristic.
void setGreedyEqualityAction(CGControl action)
Set action state for use of greedy equality heuristic.
Array of primal variable values for debugging.
void setRedSplitAction(CGControl action)
Set action state for use of reduce and split cut generator.
void setFPumpAction(CGControl action)
Set action state for use of feasibility pump heuristic.
CGControl getTwomir(CglCutGenerator *&gen)
Obtain a prototype for a 2-MIR cut generator.
CGControl getKnapsack(CglCutGenerator *&gen)
Obtain a prototype for a knapsack cover cut generator.
CGControl getFPump(CbcHeuristic *&gen, CbcModel *model, bool alwaysCreate=true)
Obtain a feasibility pump heuristic.
void passInMessageHandler(CoinMessageHandler *handler)
Supply a new message handler.
void setBaBStatus(BACMajor majorStatus, BACMinor minorStatus, BACWhere where, bool haveAnswer, OsiSolverInterface *answerSolver)
Set the result of branch-and-cut search.
bool goodModel_
True if we have a valid model loaded, false otherwise.
std::string debugFile_
Last debug input file.
struct CbcGenCtlBlk::debugSolInfo_struct debugSol_
OsiSolverInterface * answerSolver_
CGControl getTreeLocal(CbcTreeLocal *&localTree, CbcModel *model, bool alwaysCreate=true)
Obtain a local search tree object.
Start and end of CbcModel parameters in parameter vector.
struct CbcGenCtlBlk::cbcParamsInfo_struct cbcParams_
double totalTime_
Total elapsed time for this run.
CoinMessageHandler * messageHandler() const
Return a pointer to the message handler.
void setCliqueAction(CGControl action)
Set action state for use of clique cut generator.
CGControl getMir(CglCutGenerator *&gen)
Obtain a prototype for a mixed integer rounding (MIR) cut generator.
void setGomoryAction(CGControl action)
Set action state for use of Gomory cut generator.
Control use of reduced cost fixing prior to B&C.
CbcModel * model_
The reference CbcModel object.
std::vector< bool > setByUser_
Record of parameters changed by user command.
Control variables for a strong branching method.
Start and end of cbc-generic parameters in parameter vector.
int printMode_
Solution printing mode.
BPControl
Codes to specify the assignment of branching priorities.
CGControl getProbing(CglCutGenerator *&gen)
Obtain a prototype for a probing cut generator.
void setFlowAction(CGControl action)
Set action state for use of flow cover cut generator.
int printOpt_
When greater than 0, integer presolve gives more information and branch-and-cut provides statistics.
int verbose_
Verbosity level for help messages.
CGControl
Codes to control the use of cut generators and heuristics.
CoinMessageHandler & message(CbcGenMsgCode inID)
Print a message.
std::string debugCreate_
Control debug file creation.
BACWhere
Codes to specify where branch-and-cut stopped.
void setRoundingAction(CGControl action)
Set action state for use of simple rounding heuristic.
std::string version_
cbc-generic version
Simple Branch and bound class.
void setCutDepth(int cutDepth)
Set cut depth setting.
CbcGenCtlBlk()
Default constructor.
void setGreedyCoverAction(CGControl action)
Set action state for use of greedy cover heuristic.
CGControl getGreedyEquality(CbcHeuristic *&gen, CbcModel *model, bool alwaysCreate=true)
Obtain a greedy equality heuristic.
BPControl priorityAction_
Control the assignment of branching priorities to integer variables.
struct CbcGenCtlBlk::chooseStrongCtl_struct chooseStrong_
struct CbcGenCtlBlk::babState_struct bab_
struct CbcGenCtlBlk::genParamsInfo_struct genParams_
std::string dfltDirectory_
Default directory prefix.
CGControl getClique(CglCutGenerator *&gen)
Obtain a prototype for a clique cut generator.
CGControl getGomory(CglCutGenerator *&gen)
Obtain a prototype for a Gomory cut generator.
OsiSolverInterface * dfltSolver_
The current default LP solver.
CGControl getCombine(CbcHeuristic *&gen, CbcModel *model, bool alwaysCreate=true)
Obtain a local search/combine heuristic.
void setKnapsackAction(CGControl action)
Set action state for use of knapsack cut generator.
BACMajor
Major status codes for branch-and-cut.
int logLevel() const
Get log level.
void setLogLevel(int lvl)
Set log level.
void printBaBStatus()
Print the status block.
int paramsProcessed_
Number of parameters processed.
Greedy heuristic classes.
std::string printMask_
Print mask.
CGControl getFlow(CglCutGenerator *&gen)
Obtain a prototype for a flow cover cut generator.
void setMirAction(CGControl action)
Set action state for use of MIR cut generator.
void setProbingAction(CGControl action)
Set action state for use of probing cut generator.
BACMajor translateMajor(int status)
Translate CbcModel major status to BACMajor.
void setIPPAction(IPPControl action)
Set action state for use of integer preprocessing.
void addCbcGenParams(int &numParams, CoinParamVec ¶mVec, CbcGenCtlBlk *ctlBlk)
CGControl getRedSplit(CglCutGenerator *&gen)
Obtain a prototype for a reduce and split cut generator.
bool allowImportErrors_
Allow/disallow errors when importing a model.
CGControl getRounding(CbcHeuristic *&gen, CbcModel *model, bool alwaysCreate=true)
Obtain a simple rounding heuristic.
void setMessages(CoinMessages::Language lang=CoinMessages::us_en)
Set up messages in the specified language.
CoinParamVec * paramVec_
The parameter vector.
BACMinor translateMinor(int status)
Translate CbcModel minor status to BACMinor.
struct CbcGenCtlBlk::djFixCtl_struct djFix_
IPPControl
Codes to control integer preprocessing.
int getCutDepth()
Get cut depth setting.
CGControl getGreedyCover(CbcHeuristic *&gen, CbcModel *model, bool alwaysCreate=true)
Obtain a greedy cover heuristic.
void setTwomirAction(CGControl action)
Set action state for use of 2-MIR cut generator.
void setTreeLocalAction(CGControl action)
Set action state for use of local tree.
BACMinor
Minor status codes.
std::string lastSolnOut_
Last solution output file.
std::string lastMpsIn_
Last MPS input file.
bool defaultSettings_
False if the user has made nontrivial modifications to the default control settings.
~CbcGenCtlBlk()
Destructor.
CbcGenMsgCode
Symbolic names for cbc-generic messages.