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"
401 bool alwaysCreate =
true);
418 bool alwaysCreate =
true);
435 bool alwaysCreate =
true);
452 bool alwaysCreate =
true);
469 bool alwaysCreate =
true);
486 bool alwaysCreate =
true);
506 OsiSolverInterface *answerSolver)
521 bool haveAnswer =
false,
522 OsiSolverInterface *answerSolver = 0);
583 void setMessages(CoinMessages::Language lang = CoinMessages::us_en);
This file contains the enum that defines symbolic names for for cbc-generic messages.
CbcGenMsgCode
Symbolic names for cbc-generic messages.
bool allowImportErrors_
Allow/disallow errors when importing a model.
OsiSolverInterface * dfltSolver_
The current default LP solver.
CoinMessageHandler * messageHandler() const
Return a pointer to the message handler.
CGControl getGreedyCover(CbcHeuristic *&gen, CbcModel *model, bool alwaysCreate=true)
Obtain a greedy cover heuristic.
void setMirAction(CGControl action)
Set action state for use of MIR cut generator.
CoinParamVec * paramVec_
The parameter vector.
struct CbcGenCtlBlk::combineCtl_struct combine_
BACMajor
Major status codes for branch-and-cut.
std::string printMask_
Print mask.
bool defaultSettings_
False if the user has made nontrivial modifications to the default control settings.
struct CbcGenCtlBlk::oddHoleCtl_struct oddHole_
struct CbcGenCtlBlk::chooseStrongCtl_struct chooseStrong_
struct CbcGenCtlBlk::flowCtl_struct flow_
struct CbcGenCtlBlk::localTreeCtl_struct localTree_
struct CbcGenCtlBlk::debugSolInfo_struct debugSol_
BACMinor translateMinor(const OsiSolverInterface *osi)
Translate OsiSolverInterface status to BACMinor.
void setBaBStatus(const CbcModel *model, BACWhere where, bool haveAnswer=false, OsiSolverInterface *answerSolver=0)
Set the result of branch-and-cut search.
void setLogLevel(int lvl)
Set log level.
CbcModel * model_
The reference CbcModel object.
void setCutDepth(int cutDepth)
Set cut depth setting.
void setCliqueAction(CGControl action)
Set action state for use of clique cut generator.
CGControl getRedSplit(CglCutGenerator *&gen)
Obtain a prototype for a reduce and split cut generator.
double totalTime_
Total elapsed time for this run.
int verbose_
Verbosity level for help messages.
void setGreedyCoverAction(CGControl action)
Set action state for use of greedy cover heuristic.
struct CbcGenCtlBlk::mirCtl_struct mir_
void setIPPAction(IPPControl action)
Set action state for use of integer preprocessing.
int printMode_
Solution printing mode.
CbcGenCtlBlk()
Default constructor.
std::string debugFile_
Last debug input file.
struct CbcGenCtlBlk::twomirCtl_struct twomir_
void setCombineAction(CGControl action)
Set action state for use of local search/combine heuristic.
struct CbcGenCtlBlk::cbcParamsInfo_struct cbcParams_
struct CbcGenCtlBlk::roundingCtl_struct rounding_
CoinMessageHandler * msgHandler_
Message handler.
BACMajor translateMajor(int status)
Translate CbcModel major status to BACMajor.
CGControl getTwomir(CglCutGenerator *&gen)
Obtain a prototype for a 2-MIR cut generator.
std::string lastMpsIn_
Last MPS input file.
CGControl getMir(CglCutGenerator *&gen)
Obtain a prototype for a mixed integer rounding (MIR) cut generator.
CGControl getCombine(CbcHeuristic *&gen, CbcModel *model, bool alwaysCreate=true)
Obtain a local search/combine heuristic.
int logLvl_
The current log level.
std::string dfltDirectory_
Default directory prefix.
void printBaBStatus()
Print the status block.
void setMessages(CoinMessages::Language lang=CoinMessages::us_en)
Set up messages in the specified language.
struct CbcGenCtlBlk::probingCtl_struct probing_
int getCutDepth()
Get cut depth setting.
CGControl getClique(CglCutGenerator *&gen)
Obtain a prototype for a clique cut generator.
struct CbcGenCtlBlk::babState_struct bab_
CoinMessages::Language cur_lang_
The current language.
CGControl getFlow(CglCutGenerator *&gen)
Obtain a prototype for a flow cover cut generator.
struct CbcGenCtlBlk::djFixCtl_struct djFix_
BPControl priorityAction_
Control the assignment of branching priorities to integer variables.
struct CbcGenCtlBlk::cliqueCtl_struct clique_
void setTwomirAction(CGControl action)
Set action state for use of 2-MIR cut generator.
struct CbcGenCtlBlk::genParamsInfo_struct genParams_
CoinMessages * msgs_
The current set of messages.
bool goodModel_
True if we have a valid model loaded, false otherwise.
std::string version_
cbc-generic version
BPControl
Codes to specify the assignment of branching priorities.
int logLevel() const
Get log level.
CoinMessageHandler & message(CbcGenMsgCode inID)
Print a message.
void setKnapsackAction(CGControl action)
Set action state for use of knapsack cut generator.
struct CbcGenCtlBlk::knapsackCtl_struct knapsack_
struct CbcGenCtlBlk::osiParamsInfo_struct osiParams_
void setFlowAction(CGControl action)
Set action state for use of flow cover cut generator.
CGControl getTreeLocal(CbcTreeLocal *&localTree, CbcModel *model, bool alwaysCreate=true)
Obtain a local search tree object.
void passInMessageHandler(CoinMessageHandler *handler)
Supply a new message handler.
int cutDepth_
Control cut generator activity.
BACWhere
Codes to specify where branch-and-cut stopped.
std::string lastSolnOut_
Last solution output file.
void setProbingAction(CGControl action)
Set action state for use of probing cut generator.
IPPControl getIPPAction()
struct CbcGenCtlBlk::fpumpCtl_struct fpump_
CGControl getGomory(CglCutGenerator *&gen)
Obtain a prototype for a Gomory cut generator.
struct CbcGenCtlBlk::greedyCoverCtl_struct greedyCover_
std::string debugCreate_
Control debug file creation.
struct CbcGenCtlBlk::redSplitCtl_struct redSplit_
CGControl getKnapsack(CglCutGenerator *&gen)
Obtain a prototype for a knapsack cover cut generator.
int printOpt_
When greater than 0, integer presolve gives more information and branch-and-cut provides statistics.
struct CbcGenCtlBlk::greedyEqualityCtl_struct greedyEquality_
void setGomoryAction(CGControl action)
Set action state for use of Gomory cut generator.
void setBaBStatus(BACMajor majorStatus, BACMinor minorStatus, BACWhere where, bool haveAnswer, OsiSolverInterface *answerSolver)
Set the result of branch-and-cut search.
void setRedSplitAction(CGControl action)
Set action state for use of reduce and split cut generator.
void setTreeLocalAction(CGControl action)
Set action state for use of local tree.
IPPControl preProcess_
Control integer preprocessing.
bool ourMsgHandler_
Ownership of message handler.
~CbcGenCtlBlk()
Destructor.
std::vector< bool > setByUser_
Record of parameters changed by user command.
struct CbcGenCtlBlk::gomoryCtl_struct gomory_
CGControl getRounding(CbcHeuristic *&gen, CbcModel *model, bool alwaysCreate=true)
Obtain a simple rounding heuristic.
void setGreedyEqualityAction(CGControl action)
Set action state for use of greedy equality heuristic.
void setRoundingAction(CGControl action)
Set action state for use of simple rounding heuristic.
CGControl
Codes to control the use of cut generators and heuristics.
BACMinor
Minor status codes.
CGControl getGreedyEquality(CbcHeuristic *&gen, CbcModel *model, bool alwaysCreate=true)
Obtain a greedy equality heuristic.
CGControl getProbing(CglCutGenerator *&gen)
Obtain a prototype for a probing cut generator.
IPPControl
Codes to control integer preprocessing.
void setFPumpAction(CGControl action)
Set action state for use of feasibility pump heuristic.
BACMinor translateMinor(int status)
Translate CbcModel minor status to BACMinor.
int paramsProcessed_
Number of parameters processed.
CGControl getFPump(CbcHeuristic *&gen, CbcModel *model, bool alwaysCreate=true)
Obtain a feasibility pump heuristic.
Greedy heuristic classes.
Simple Branch and bound class.
void addCbcGenParams(int &numParams, CoinParamVec ¶mVec, CbcGenCtlBlk *ctlBlk)
OsiSolverInterface * answerSolver_
Start and end of CbcModel parameters in parameter vector.
Control variables for a strong branching method.
Control variable and prototype for clique cut generator.
Control variable and prototype for combine heuristic.
CbcHeuristicLocal * proto_
Array of primal variable values for debugging.
Control use of reduced cost fixing prior to B&C.
Control variable and prototype for flow cover cut generator.
Control variable and prototype for feasibility pump heuristic.
CbcHeuristicFPump * proto_
Start and end of cbc-generic parameters in parameter vector.
Control variable and prototype for Gomory cut generator.
Control variable and prototype for greedy cover heuristic.
CbcHeuristicGreedyCover * proto_
Control variable and prototype for greedy equality heuristic.
CbcHeuristicGreedyEquality * proto_
Control variable and prototype for knapsack cover cut generator.
CglKnapsackCover * proto_
Control variables for local tree.
Control variable and prototype for MIR cut generator.
CglMixedIntegerRounding2 * proto_
Control variable and prototype for odd hole cut generator.
Start and end of OsiSolverInterface parameters in parameter vector.
Control variable and prototype for probing cut generator.
Control variable and prototype for reduce-and-split cut generator.
Control variable and prototype for simple rounding heuristic.
Control variable and prototype for Two-MIR cut generator.