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