Cbc  2.10.10
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CbcGenCtlBlk.hpp
Go to the documentation of this file.
1 /*
2  Copyright (C) 2007, Lou Hafer, International Business Machines Corporation
3  and others. All Rights Reserved.
4 
5  This code is licensed under the terms of the Eclipse Public License (EPL).
6 
7  $Id$
8 */
9 /*
10  This file is part of cbc-generic.
11 */
12 
13 #ifndef CbcGenCtlBlk_H
14 #define CbcGenCtlBlk_H
15 
16 /* \file CbcGenCtlBlk.hpp
17  \brief Declarations for parameters of the cbc-generic main program.
18 */
19 
20 #include "CoinParam.hpp"
21 #include "CoinMessageHandler.hpp"
22 
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"
33 
34 #include "CbcModel.hpp"
35 
36 #include "CbcHeuristic.hpp"
37 #include "CbcHeuristicFPump.hpp"
38 #include "CbcHeuristicGreedy.hpp"
39 #include "CbcHeuristicLocal.hpp"
40 #include "CbcTreeLocal.hpp"
41 
42 #include "CbcGenMessages.hpp"
43 
44 /*
45  It turns out that doxygen is not good with anonymous structures. Hence the
46  `struct nameCtl_struct' style used for structured fields in CbcGenCtlBlk.
47 */
48 
49 /*
50  $Id$
51 */
52 
53 #define CBC_GENERIC_VERSION "00.01.00"
54 
55 class CbcGenCtlBlk;
56 namespace CbcGenParamUtils {
57 void addCbcGenParams(int &numParams, CoinParamVec &paramVec,
58  CbcGenCtlBlk *ctlBlk);
59 }
60 
61 /* \brief cbc-generic algorithm control class
62 
63  This class defines values and methods used to control the operation of the
64  cbc-generic main program.
65 */
66 
67 class CbcGenCtlBlk {
68 
69  friend void CbcGenParamUtils::addCbcGenParams(int &numParams,
70  CoinParamVec &paramVec, CbcGenCtlBlk *ctlBlk);
71 
72 public:
75 
76  /*
77  In order for initialisation to work properly, the order of declaration of
78  the enum constants here must match the order of keyword declaration for
79  the PREPROCESS parameter in CbcGenParamUtils::addCbcGenParams
80  */
98  typedef enum { IPPOff = 0,
106  } IPPControl;
107 
108  /*
109  In order for initialisation to work properly, the order of declaration of
110  the enum constants here must match the order of keyword declaration for
111  the various cut and heuristic control parameters in
112  CbcGenParamUtils::addCbcGenParams
113  */
134  typedef enum { CGOff,
141  } CGControl;
142 
151  typedef enum { BPOff,
155 
171  typedef enum { BACInvalid = -1,
173  BACStop = 1,
177  } BACMajor;
178 
198  typedef enum { BACmInvalid = -1,
208  } BACMinor;
209 
219  typedef enum { BACwInvalid = -1,
225  } BACWhere;
226 
228 
231 
234  CbcGenCtlBlk();
235 
238  ~CbcGenCtlBlk();
240 
256 
264  inline int getCutDepth()
265  {
266  return cutDepth_;
267  }
268 
274  inline void setCutDepth(int cutDepth)
275  {
276  cutDepth_ = cutDepth;
277  }
278 
279  /*1 \brief Get action state for use of integer preprocessing */
280 
282  {
283  return (preProcess_);
284  }
285 
288  inline void setIPPAction(IPPControl action)
289  {
290  preProcess_ = action;
291  }
292 
295  CGControl getProbing(CglCutGenerator *&gen);
296 
299  inline void setProbingAction(CGControl action)
300  {
301  probing_.action_ = action;
302  }
303 
306  CGControl getClique(CglCutGenerator *&gen);
307 
310  inline void setCliqueAction(CGControl action)
311  {
312  clique_.action_ = action;
313  }
314 
317  CGControl getFlow(CglCutGenerator *&gen);
318 
321  inline void setFlowAction(CGControl action)
322  {
323  flow_.action_ = action;
324  }
325 
328  CGControl getGomory(CglCutGenerator *&gen);
329 
332  inline void setGomoryAction(CGControl action)
333  {
334  gomory_.action_ = action;
335  }
336 
339  CGControl getKnapsack(CglCutGenerator *&gen);
340 
343  inline void setKnapsackAction(CGControl action)
344  {
345  knapsack_.action_ = action;
346  }
347 
348  /* \brief Obtain a prototype for a lift-and-project cut generator.
349 
350  CGControl getLandP(CglCutGenerator *&gen) ;
351 
352  \brief Set action state for use of lift-and-project cut generator.
353 
354  inline void setLandPAction(CGControl action)
355  { landp_.action_ = action ; }
356  */
357 
362  CGControl getMir(CglCutGenerator *&gen);
363 
366  inline void setMirAction(CGControl action)
367  {
368  mir_.action_ = action;
369  }
370 
373  CGControl getRedSplit(CglCutGenerator *&gen);
374 
377  inline void setRedSplitAction(CGControl action)
378  {
379  redSplit_.action_ = action;
380  }
381 
384  CGControl getTwomir(CglCutGenerator *&gen);
385 
388  inline void setTwomirAction(CGControl action)
389  {
390  twomir_.action_ = action;
391  }
392 
400  CGControl getFPump(CbcHeuristic *&gen, CbcModel *model,
401  bool alwaysCreate = true);
402 
405  inline void setFPumpAction(CGControl action)
406  {
407  fpump_.action_ = action;
408  }
409 
418  bool alwaysCreate = true);
419 
422  inline void setCombineAction(CGControl action)
423  {
424  combine_.action_ = action;
425  }
426 
435  bool alwaysCreate = true);
436 
439  inline void setGreedyCoverAction(CGControl action)
440  {
441  greedyCover_.action_ = action;
442  }
443 
452  bool alwaysCreate = true);
453 
456  inline void setGreedyEqualityAction(CGControl action)
457  {
458  greedyEquality_.action_ = action;
459  }
460 
469  bool alwaysCreate = true);
470 
473  inline void setRoundingAction(CGControl action)
474  {
475  rounding_.action_ = action;
476  }
477 
485  CGControl getTreeLocal(CbcTreeLocal *&localTree, CbcModel *model,
486  bool alwaysCreate = true);
487 
490  inline void setTreeLocalAction(CGControl action)
491  {
492  localTree_.action_ = action;
493  }
494 
496 
501 
504  inline void setBaBStatus(BACMajor majorStatus, BACMinor minorStatus,
505  BACWhere where, bool haveAnswer,
506  OsiSolverInterface *answerSolver)
507  {
508  bab_.majorStatus_ = majorStatus;
509  bab_.minorStatus_ = minorStatus;
510  bab_.where_ = where;
511  bab_.haveAnswer_ = haveAnswer;
512  bab_.answerSolver_ = answerSolver;
513  }
514 
520  void setBaBStatus(const CbcModel *model, BACWhere where,
521  bool haveAnswer = false,
522  OsiSolverInterface *answerSolver = 0);
523 
528  BACMajor translateMajor(int status);
529 
534  BACMinor translateMinor(int status);
535 
541  BACMinor translateMinor(const OsiSolverInterface *osi);
542 
545  void printBaBStatus();
546 
548 
551 
556  CoinMessageHandler &message(CbcGenMsgCode inID);
557 
563  void passInMessageHandler(CoinMessageHandler *handler);
564 
566  inline CoinMessageHandler *messageHandler() const
567  {
568  return msgHandler_;
569  }
570 
583  void setMessages(CoinMessages::Language lang = CoinMessages::us_en);
584 
586  inline void setLogLevel(int lvl)
587  {
588  logLvl_ = lvl;
589  if (msgHandler_)
590  msgHandler_->setLogLevel(lvl);
591  }
592 
594  inline int logLevel() const
595  {
596  return (logLvl_);
597  }
598 
603 
605 
610  std::string version_;
611 
614  std::string dfltDirectory_;
615 
618  std::string lastMpsIn_;
619 
622 
625  std::string lastSolnOut_;
626 
634 
640  std::string printMask_;
641 
644  CoinParamVec *paramVec_;
645 
649  int first_;
650  int last_;
651  } genParams_;
652 
656  int first_;
657  int last_;
658  } cbcParams_;
659 
665  int first_;
666  int last_;
667  } osiParams_;
668 
678  int verbose_;
679 
683 
686  std::vector< bool > setByUser_;
687 
695 
704  std::string debugCreate_;
705 
712  std::string debugFile_;
713 
720  int numCols_;
721  double *values_;
722  } debugSol_;
724 
725  /* \name Timing */
727 
730  double totalTime_;
731 
733 
736 
748 
755  OsiSolverInterface *dfltSolver_;
756 
760 
773  OsiSolverInterface *answerSolver_;
774  } bab_;
775 
777 
780 
790  bool action_;
791  double threshold_;
792  } djFix_;
793 
798 
800 
807 
819  } chooseStrong_;
821 
822 private:
827 
831 
839 
843  CglProbing *proto_;
845  int maxPass_;
849  int maxLook_;
852  int rowCuts_;
853  } probing_;
854 
858  CglClique *proto_;
862  } clique_;
863 
865  struct flowCtl_struct {
867  CglFlowCover *proto_;
868  } flow_;
869 
873  CglGomory *proto_;
874  int limit_;
876  } gomory_;
877 
878  /* \brief Control variable and prototype for lift-and-project cut
879  generator
880  struct landpCtl_struct
881  { CGControl action_ ;
882  CglLandP *proto_ ; } landp_ ;
883  */
884 
888  CglKnapsackCover *proto_;
889  } knapsack_;
890 
892  struct mirCtl_struct {
894  CglMixedIntegerRounding2 *proto_;
895  } mir_;
896 
900  CglOddHole *proto_;
901  } oddHole_;
902 
908  CglRedSplit *proto_;
909  } redSplit_;
910 
914  CglTwomir *proto_;
916  } twomir_;
917 
922  int iters_;
923  } fpump_;
924 
929  int trySwap_;
930  } combine_;
931 
936  } greedyCover_;
937 
942  } greedyEquality_;
943 
948  } rounding_;
949 
959  double *soln_;
960  int range_;
965  bool refine_;
966  } localTree_;
967 
969 
975 
977  CoinMessageHandler *msgHandler_;
978 
986 
988  CoinMessages::Language cur_lang_;
989 
991  CoinMessages *msgs_;
992 
994  int logLvl_;
995 
997 };
998 
999 #endif
1000 
1001 /* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
1002 */
CbcGenCtlBlk::greedyCover_
struct CbcGenCtlBlk::greedyCoverCtl_struct greedyCover_
CbcGenCtlBlk::osiParamsInfo_struct
Start and end of OsiSolverInterface parameters in parameter vector.
Definition: CbcGenCtlBlk.hpp:664
CbcGenCtlBlk::flowCtl_struct::proto_
CglFlowCover * proto_
Definition: CbcGenCtlBlk.hpp:867
CbcGenCtlBlk::BACInvalid
@ BACInvalid
Definition: CbcGenCtlBlk.hpp:171
CbcGenCtlBlk::twomirCtl_struct
Control variable and prototype for Two-MIR cut generator.
Definition: CbcGenCtlBlk.hpp:912
CbcGenCtlBlk::getIPPAction
IPPControl getIPPAction()
Definition: CbcGenCtlBlk.hpp:281
CbcGenCtlBlk::BACNotRun
@ BACNotRun
Definition: CbcGenCtlBlk.hpp:175
CbcGenCtlBlk::djFix_
struct CbcGenCtlBlk::djFixCtl_struct djFix_
CbcGenCtlBlk::setCombineAction
void setCombineAction(CGControl action)
Set action state for use of local search/combine heuristic.
Definition: CbcGenCtlBlk.hpp:422
CbcGenCtlBlk::djFixCtl_struct::threshold_
double threshold_
Definition: CbcGenCtlBlk.hpp:791
CbcGenCtlBlk::gomoryCtl_struct::proto_
CglGomory * proto_
Definition: CbcGenCtlBlk.hpp:873
CbcGenCtlBlk::localTreeCtl_struct
Control variables for local tree.
Definition: CbcGenCtlBlk.hpp:956
CbcGenCtlBlk::bab_
struct CbcGenCtlBlk::babState_struct bab_
CbcGenCtlBlk::BACmSolnLimit
@ BACmSolnLimit
Definition: CbcGenCtlBlk.hpp:205
CbcGenCtlBlk::setGreedyEqualityAction
void setGreedyEqualityAction(CGControl action)
Set action state for use of greedy equality heuristic.
Definition: CbcGenCtlBlk.hpp:456
CbcGenCtlBlk::debugSolInfo_struct
Array of primal variable values for debugging.
Definition: CbcGenCtlBlk.hpp:719
CbcGenCtlBlk::setRedSplitAction
void setRedSplitAction(CGControl action)
Set action state for use of reduce and split cut generator.
Definition: CbcGenCtlBlk.hpp:377
CbcGenCtlBlk::setFPumpAction
void setFPumpAction(CGControl action)
Set action state for use of feasibility pump heuristic.
Definition: CbcGenCtlBlk.hpp:405
CbcGenCtlBlk::probingCtl_struct::rowCuts_
int rowCuts_
Definition: CbcGenCtlBlk.hpp:852
CbcGenCtlBlk::localTreeCtl_struct::typeCuts_
int typeCuts_
Definition: CbcGenCtlBlk.hpp:961
CbcGenCtlBlk::BACFinish
@ BACFinish
Definition: CbcGenCtlBlk.hpp:172
CbcGenCtlBlk::redSplitCtl_struct::proto_
CglRedSplit * proto_
Definition: CbcGenCtlBlk.hpp:908
CbcGenCtlBlk
Definition: CbcGenCtlBlk.hpp:67
CbcGenCtlBlk::getTwomir
CGControl getTwomir(CglCutGenerator *&gen)
Obtain a prototype for a 2-MIR cut generator.
CbcGenCtlBlk::cbcParamsInfo_struct::last_
int last_
Definition: CbcGenCtlBlk.hpp:657
CbcGenCtlBlk::knapsackCtl_struct::proto_
CglKnapsackCover * proto_
Definition: CbcGenCtlBlk.hpp:888
CbcGenCtlBlk::getKnapsack
CGControl getKnapsack(CglCutGenerator *&gen)
Obtain a prototype for a knapsack cover cut generator.
CbcGenCtlBlk::combineCtl_struct::trySwap_
int trySwap_
Definition: CbcGenCtlBlk.hpp:929
CbcGenCtlBlk::debugSolInfo_struct::values_
double * values_
Definition: CbcGenCtlBlk.hpp:721
CbcGenCtlBlk::getFPump
CGControl getFPump(CbcHeuristic *&gen, CbcModel *model, bool alwaysCreate=true)
Obtain a feasibility pump heuristic.
CbcGenCtlBlk::passInMessageHandler
void passInMessageHandler(CoinMessageHandler *handler)
Supply a new message handler.
CbcGenCtlBlk::cur_lang_
CoinMessages::Language cur_lang_
The current language.
Definition: CbcGenCtlBlk.hpp:988
CbcGenCtlBlk::flow_
struct CbcGenCtlBlk::flowCtl_struct flow_
CbcGenCtlBlk::setBaBStatus
void setBaBStatus(BACMajor majorStatus, BACMinor minorStatus, BACWhere where, bool haveAnswer, OsiSolverInterface *answerSolver)
Set the result of branch-and-cut search.
Definition: CbcGenCtlBlk.hpp:504
CbcGenCtlBlk::goodModel_
bool goodModel_
True if we have a valid model loaded, false otherwise.
Definition: CbcGenCtlBlk.hpp:759
CbcGenCtlBlk::debugFile_
std::string debugFile_
Last debug input file.
Definition: CbcGenCtlBlk.hpp:712
CbcGenCtlBlk::probingCtl_struct::proto_
CglProbing * proto_
Definition: CbcGenCtlBlk.hpp:843
CbcGenCtlBlk::cliqueCtl_struct::action_
CGControl action_
Definition: CbcGenCtlBlk.hpp:857
CbcHeuristicLocal.hpp
CbcGenCtlBlk::fpumpCtl_struct::action_
CGControl action_
Definition: CbcGenCtlBlk.hpp:920
CbcGenCtlBlk::combine_
struct CbcGenCtlBlk::combineCtl_struct combine_
CbcGenCtlBlk::oddHoleCtl_struct
Control variable and prototype for odd hole cut generator.
Definition: CbcGenCtlBlk.hpp:898
CbcGenCtlBlk::osiParamsInfo_struct::last_
int last_
Definition: CbcGenCtlBlk.hpp:666
CbcGenCtlBlk::babState_struct::answerSolver_
OsiSolverInterface * answerSolver_
Definition: CbcGenCtlBlk.hpp:773
CbcGenCtlBlk::probingCtl_struct::maxProbe_
int maxProbe_
Definition: CbcGenCtlBlk.hpp:847
CbcGenCtlBlk::babState_struct::minorStatus_
BACMinor minorStatus_
Definition: CbcGenCtlBlk.hpp:770
CbcGenCtlBlk::getTreeLocal
CGControl getTreeLocal(CbcTreeLocal *&localTree, CbcModel *model, bool alwaysCreate=true)
Obtain a local search tree object.
CbcModel.hpp
CbcGenCtlBlk::genParams_
struct CbcGenCtlBlk::genParamsInfo_struct genParams_
CbcGenCtlBlk::localTree_
struct CbcGenCtlBlk::localTreeCtl_struct localTree_
CbcGenCtlBlk::cbcParams_
struct CbcGenCtlBlk::cbcParamsInfo_struct cbcParams_
CbcGenCtlBlk::knapsackCtl_struct::action_
CGControl action_
Definition: CbcGenCtlBlk.hpp:887
CbcGenCtlBlk::chooseStrong_
struct CbcGenCtlBlk::chooseStrongCtl_struct chooseStrong_
CbcGenCtlBlk::cbcParamsInfo_struct
Start and end of CbcModel parameters in parameter vector.
Definition: CbcGenCtlBlk.hpp:655
CbcHeuristic
Heuristic base class.
Definition: CbcHeuristic.hpp:86
CbcGenCtlBlk::totalTime_
double totalTime_
Total elapsed time for this run.
Definition: CbcGenCtlBlk.hpp:730
CbcGenCtlBlk::greedyEqualityCtl_struct
Control variable and prototype for greedy equality heuristic.
Definition: CbcGenCtlBlk.hpp:939
CbcGenCtlBlk::messageHandler
CoinMessageHandler * messageHandler() const
Return a pointer to the message handler.
Definition: CbcGenCtlBlk.hpp:566
CbcGenParamUtils
Definition: CbcGenCtlBlk.hpp:56
CbcGenCtlBlk::localTreeCtl_struct::refine_
bool refine_
Definition: CbcGenCtlBlk.hpp:965
CbcGenCtlBlk::setCliqueAction
void setCliqueAction(CGControl action)
Set action state for use of clique cut generator.
Definition: CbcGenCtlBlk.hpp:310
CbcGenCtlBlk::CGForceBut
@ CGForceBut
Definition: CbcGenCtlBlk.hpp:139
CbcGenCtlBlk::flowCtl_struct
Control variable and prototype for flow cover cut generator.
Definition: CbcGenCtlBlk.hpp:865
CbcGenCtlBlk::probingCtl_struct::maxLook_
int maxLook_
Definition: CbcGenCtlBlk.hpp:849
CbcGenCtlBlk::localTreeCtl_struct::proto_
CbcTreeLocal * proto_
Definition: CbcGenCtlBlk.hpp:958
CbcGenCtlBlk::BACwBareRoot
@ BACwBareRoot
Definition: CbcGenCtlBlk.hpp:221
CbcGenCtlBlk::fpumpCtl_struct::proto_
CbcHeuristicFPump * proto_
Definition: CbcGenCtlBlk.hpp:921
CbcGenCtlBlk::getMir
CGControl getMir(CglCutGenerator *&gen)
Obtain a prototype for a mixed integer rounding (MIR) cut generator.
CbcGenCtlBlk::BPCost
@ BPCost
Definition: CbcGenCtlBlk.hpp:152
CbcGenCtlBlk::babState_struct::haveAnswer_
bool haveAnswer_
Definition: CbcGenCtlBlk.hpp:772
CbcGenCtlBlk::setGomoryAction
void setGomoryAction(CGControl action)
Set action state for use of Gomory cut generator.
Definition: CbcGenCtlBlk.hpp:332
CbcGenCtlBlk::djFixCtl_struct
Control use of reduced cost fixing prior to B&C.
Definition: CbcGenCtlBlk.hpp:789
CbcGenCtlBlk::BACwIPP
@ BACwIPP
Definition: CbcGenCtlBlk.hpp:222
CbcGenCtlBlk::model_
CbcModel * model_
The reference CbcModel object.
Definition: CbcGenCtlBlk.hpp:747
CbcGenCtlBlk::gomory_
struct CbcGenCtlBlk::gomoryCtl_struct gomory_
CbcGenCtlBlk::localTreeCtl_struct::timeLimit_
int timeLimit_
Definition: CbcGenCtlBlk.hpp:963
CbcGenCtlBlk::setByUser_
std::vector< bool > setByUser_
Record of parameters changed by user command.
Definition: CbcGenCtlBlk.hpp:686
CbcGenCtlBlk::chooseStrongCtl_struct
Control variables for a strong branching method.
Definition: CbcGenCtlBlk.hpp:815
CbcGenCtlBlk::mirCtl_struct::action_
CGControl action_
Definition: CbcGenCtlBlk.hpp:893
CbcGenCtlBlk::genParamsInfo_struct
Start and end of cbc-generic parameters in parameter vector.
Definition: CbcGenCtlBlk.hpp:648
CbcGenCtlBlk::djFixCtl_struct::action_
bool action_
Definition: CbcGenCtlBlk.hpp:790
CbcGenCtlBlk::printMode_
int printMode_
Solution printing mode.
Definition: CbcGenCtlBlk.hpp:633
CbcGenCtlBlk::babState_struct::where_
BACWhere where_
Definition: CbcGenCtlBlk.hpp:771
CbcGenCtlBlk::preProcess_
IPPControl preProcess_
Control integer preprocessing.
Definition: CbcGenCtlBlk.hpp:830
CbcGenCtlBlk::osiParams_
struct CbcGenCtlBlk::osiParamsInfo_struct osiParams_
CbcGenCtlBlk::roundingCtl_struct::proto_
CbcRounding * proto_
Definition: CbcGenCtlBlk.hpp:947
CbcRounding
Rounding class.
Definition: CbcHeuristic.hpp:463
CbcGenCtlBlk::chooseStrongCtl_struct::shadowPriceMode_
int shadowPriceMode_
Definition: CbcGenCtlBlk.hpp:818
CbcGenCtlBlk::BPExt
@ BPExt
Definition: CbcGenCtlBlk.hpp:154
CbcGenCtlBlk::probingCtl_struct::usingObjective_
bool usingObjective_
Definition: CbcGenCtlBlk.hpp:844
CbcGenCtlBlk::BPControl
BPControl
Codes to specify the assignment of branching priorities.
Definition: CbcGenCtlBlk.hpp:151
CbcGenCtlBlk::getProbing
CGControl getProbing(CglCutGenerator *&gen)
Obtain a prototype for a probing cut generator.
CbcGenCtlBlk::setFlowAction
void setFlowAction(CGControl action)
Set action state for use of flow cover cut generator.
Definition: CbcGenCtlBlk.hpp:321
CbcGenCtlBlk::cliqueCtl_struct::rowCliqueReport_
bool rowCliqueReport_
Definition: CbcGenCtlBlk.hpp:860
CbcGenCtlBlk::msgs_
CoinMessages * msgs_
The current set of messages.
Definition: CbcGenCtlBlk.hpp:991
CbcGenCtlBlk::printOpt_
int printOpt_
When greater than 0, integer presolve gives more information and branch-and-cut provides statistics.
Definition: CbcGenCtlBlk.hpp:602
CbcHeuristicLocal
LocalSearch class.
Definition: CbcHeuristicLocal.hpp:13
CbcGenCtlBlk::verbose_
int verbose_
Verbosity level for help messages.
Definition: CbcGenCtlBlk.hpp:678
CbcGenCtlBlk::flowCtl_struct::action_
CGControl action_
Definition: CbcGenCtlBlk.hpp:866
CbcGenCtlBlk::BACmUser
@ BACmUser
Definition: CbcGenCtlBlk.hpp:206
CbcGenCtlBlk::BACmGap
@ BACmGap
Definition: CbcGenCtlBlk.hpp:202
CbcGenCtlBlk::chooseStrongCtl_struct::numStrong_
int numStrong_
Definition: CbcGenCtlBlk.hpp:817
CbcGenCtlBlk::localTreeCtl_struct::maxDiverge_
int maxDiverge_
Definition: CbcGenCtlBlk.hpp:962
CbcGenCtlBlk::cbcParamsInfo_struct::first_
int first_
Definition: CbcGenCtlBlk.hpp:656
CbcHeuristicGreedyEquality
Definition: CbcHeuristicGreedy.hpp:99
CbcGenCtlBlk::CGControl
CGControl
Codes to control the use of cut generators and heuristics.
Definition: CbcGenCtlBlk.hpp:134
CbcGenCtlBlk::redSplitCtl_struct::action_
CGControl action_
Definition: CbcGenCtlBlk.hpp:907
CbcGenCtlBlk::redSplit_
struct CbcGenCtlBlk::redSplitCtl_struct redSplit_
CbcGenCtlBlk::msgHandler_
CoinMessageHandler * msgHandler_
Message handler.
Definition: CbcGenCtlBlk.hpp:977
CbcGenCtlBlk::localTreeCtl_struct::range_
int range_
Definition: CbcGenCtlBlk.hpp:960
CbcGenCtlBlk::message
CoinMessageHandler & message(CbcGenMsgCode inID)
Print a message.
CbcGenCtlBlk::greedyCoverCtl_struct::action_
CGControl action_
Definition: CbcGenCtlBlk.hpp:934
CbcGenCtlBlk::BACmUbnd
@ BACmUbnd
Definition: CbcGenCtlBlk.hpp:201
CbcGenCtlBlk::debugCreate_
std::string debugCreate_
Control debug file creation.
Definition: CbcGenCtlBlk.hpp:704
CbcGenCtlBlk::probingCtl_struct::maxPass_
int maxPass_
Definition: CbcGenCtlBlk.hpp:845
CbcGenCtlBlk::BACWhere
BACWhere
Codes to specify where branch-and-cut stopped.
Definition: CbcGenCtlBlk.hpp:219
CbcGenCtlBlk::setRoundingAction
void setRoundingAction(CGControl action)
Set action state for use of simple rounding heuristic.
Definition: CbcGenCtlBlk.hpp:473
CbcGenCtlBlk::version_
std::string version_
cbc-generic version
Definition: CbcGenCtlBlk.hpp:610
CbcHeuristicFPump
Feasibility Pump class.
Definition: CbcHeuristicFPump.hpp:15
CbcModel
Simple Branch and bound class.
Definition: CbcModel.hpp:100
CbcGenCtlBlk::BACmInvalid
@ BACmInvalid
Definition: CbcGenCtlBlk.hpp:198
CbcGenCtlBlk::setCutDepth
void setCutDepth(int cutDepth)
Set cut depth setting.
Definition: CbcGenCtlBlk.hpp:274
CbcGenCtlBlk::BACAbandon
@ BACAbandon
Definition: CbcGenCtlBlk.hpp:174
CbcGenCtlBlk::probingCtl_struct::maxProbeRoot_
int maxProbeRoot_
Definition: CbcGenCtlBlk.hpp:848
CbcHeuristicFPump.hpp
CbcGenCtlBlk::IPPEqual
@ IPPEqual
Definition: CbcGenCtlBlk.hpp:101
CbcGenCtlBlk::IPPSOS
@ IPPSOS
Definition: CbcGenCtlBlk.hpp:102
CbcGenCtlBlk::greedyEquality_
struct CbcGenCtlBlk::greedyEqualityCtl_struct greedyEquality_
CbcGenCtlBlk::clique_
struct CbcGenCtlBlk::cliqueCtl_struct clique_
CbcGenCtlBlk::BACmFinish
@ BACmFinish
Definition: CbcGenCtlBlk.hpp:199
CbcGenCtlBlk::CbcGenCtlBlk
CbcGenCtlBlk()
Default constructor.
CbcGenCtlBlk::osiParamsInfo_struct::first_
int first_
Definition: CbcGenCtlBlk.hpp:665
CbcGenCtlBlk::rounding_
struct CbcGenCtlBlk::roundingCtl_struct rounding_
CbcGenCtlBlk::setGreedyCoverAction
void setGreedyCoverAction(CGControl action)
Set action state for use of greedy cover heuristic.
Definition: CbcGenCtlBlk.hpp:439
CbcHeuristicGreedy.hpp
CbcGenCtlBlk::CGIfMove
@ CGIfMove
Definition: CbcGenCtlBlk.hpp:137
CbcGenCtlBlk::localTreeCtl_struct::nodeLimit_
int nodeLimit_
Definition: CbcGenCtlBlk.hpp:964
CbcGenCtlBlk::BACmOther
@ BACmOther
Definition: CbcGenCtlBlk.hpp:207
CbcGenCtlBlk::IPPTrySOS
@ IPPTrySOS
Definition: CbcGenCtlBlk.hpp:103
CbcGenCtlBlk::getGreedyEquality
CGControl getGreedyEquality(CbcHeuristic *&gen, CbcModel *model, bool alwaysCreate=true)
Obtain a greedy equality heuristic.
CbcGenCtlBlk::probingCtl_struct::action_
CGControl action_
Definition: CbcGenCtlBlk.hpp:842
CbcTreeLocal.hpp
CbcGenCtlBlk::priorityAction_
BPControl priorityAction_
Control the assignment of branching priorities to integer variables.
Definition: CbcGenCtlBlk.hpp:797
CbcGenCtlBlk::babState_struct::majorStatus_
BACMajor majorStatus_
Definition: CbcGenCtlBlk.hpp:769
CbcGenCtlBlk::babState_struct
State of branch-and-cut.
Definition: CbcGenCtlBlk.hpp:768
CbcGenCtlBlk::CGMarker
@ CGMarker
Definition: CbcGenCtlBlk.hpp:140
CbcGenCtlBlk::gomoryCtl_struct::limit_
int limit_
Definition: CbcGenCtlBlk.hpp:874
CbcGenCtlBlk::IPPOn
@ IPPOn
Definition: CbcGenCtlBlk.hpp:99
CbcGenCtlBlk::cliqueCtl_struct::starCliqueReport_
bool starCliqueReport_
Definition: CbcGenCtlBlk.hpp:859
CbcGenCtlBlk::roundingCtl_struct
Control variable and prototype for simple rounding heuristic.
Definition: CbcGenCtlBlk.hpp:945
CbcGenCtlBlk::probingCtl_struct
Control variable and prototype for probing cut generator.
Definition: CbcGenCtlBlk.hpp:841
CbcGenCtlBlk::redSplitCtl_struct
Control variable and prototype for reduce-and-split cut generator.
Definition: CbcGenCtlBlk.hpp:906
CbcGenCtlBlk::combineCtl_struct
Control variable and prototype for combine heuristic.
Definition: CbcGenCtlBlk.hpp:926
CbcGenCtlBlk::BACmTimeLimit
@ BACmTimeLimit
Definition: CbcGenCtlBlk.hpp:204
CbcGenCtlBlk::gomoryCtl_struct
Control variable and prototype for Gomory cut generator.
Definition: CbcGenCtlBlk.hpp:871
CbcGenCtlBlk::oddHoleCtl_struct::proto_
CglOddHole * proto_
Definition: CbcGenCtlBlk.hpp:900
CbcGenCtlBlk::genParamsInfo_struct::last_
int last_
Definition: CbcGenCtlBlk.hpp:650
CbcGenCtlBlk::CGOn
@ CGOn
Definition: CbcGenCtlBlk.hpp:135
CbcGenCtlBlk::knapsack_
struct CbcGenCtlBlk::knapsackCtl_struct knapsack_
CbcGenMessages.hpp
CbcGenCtlBlk::dfltDirectory_
std::string dfltDirectory_
Default directory prefix.
Definition: CbcGenCtlBlk.hpp:614
CbcGenCtlBlk::getClique
CGControl getClique(CglCutGenerator *&gen)
Obtain a prototype for a clique cut generator.
CbcGenCtlBlk::roundingCtl_struct::action_
CGControl action_
Definition: CbcGenCtlBlk.hpp:946
CbcGenCtlBlk::getGomory
CGControl getGomory(CglCutGenerator *&gen)
Obtain a prototype for a Gomory cut generator.
CbcGenCtlBlk::oddHole_
struct CbcGenCtlBlk::oddHoleCtl_struct oddHole_
CbcGenCtlBlk::IPPStrategy
@ IPPStrategy
Definition: CbcGenCtlBlk.hpp:105
CbcGenCtlBlk::dfltSolver_
OsiSolverInterface * dfltSolver_
The current default LP solver.
Definition: CbcGenCtlBlk.hpp:755
CbcGenCtlBlk::probingCtl_struct::maxElements_
int maxElements_
Definition: CbcGenCtlBlk.hpp:851
CbcGenCtlBlk::cutDepth_
int cutDepth_
Control cut generator activity.
Definition: CbcGenCtlBlk.hpp:838
CbcGenCtlBlk::debugSolInfo_struct::numCols_
int numCols_
Definition: CbcGenCtlBlk.hpp:720
CbcGenCtlBlk::getCombine
CGControl getCombine(CbcHeuristic *&gen, CbcModel *model, bool alwaysCreate=true)
Obtain a local search/combine heuristic.
CbcGenCtlBlk::setKnapsackAction
void setKnapsackAction(CGControl action)
Set action state for use of knapsack cut generator.
Definition: CbcGenCtlBlk.hpp:343
CbcGenCtlBlk::BACMajor
BACMajor
Major status codes for branch-and-cut.
Definition: CbcGenCtlBlk.hpp:171
CbcGenCtlBlk::logLevel
int logLevel() const
Get log level.
Definition: CbcGenCtlBlk.hpp:594
CbcGenCtlBlk::setLogLevel
void setLogLevel(int lvl)
Set log level.
Definition: CbcGenCtlBlk.hpp:586
CbcGenCtlBlk::twomir_
struct CbcGenCtlBlk::twomirCtl_struct twomir_
CbcGenCtlBlk::oddHoleCtl_struct::action_
CGControl action_
Definition: CbcGenCtlBlk.hpp:899
CbcGenCtlBlk::gomoryCtl_struct::action_
CGControl action_
Definition: CbcGenCtlBlk.hpp:872
CbcGenCtlBlk::printBaBStatus
void printBaBStatus()
Print the status block.
CbcGenCtlBlk::combineCtl_struct::action_
CGControl action_
Definition: CbcGenCtlBlk.hpp:927
CbcTreeLocal
Definition: CbcTreeLocal.hpp:39
CbcGenCtlBlk::cliqueCtl_struct
Control variable and prototype for clique cut generator.
Definition: CbcGenCtlBlk.hpp:856
CbcGenCtlBlk::probing_
struct CbcGenCtlBlk::probingCtl_struct probing_
CbcHeuristic.hpp
CbcGenCtlBlk::paramsProcessed_
int paramsProcessed_
Number of parameters processed.
Definition: CbcGenCtlBlk.hpp:682
CbcGenCtlBlk::mirCtl_struct::proto_
CglMixedIntegerRounding2 * proto_
Definition: CbcGenCtlBlk.hpp:894
CbcGenCtlBlk::twomirCtl_struct::action_
CGControl action_
Definition: CbcGenCtlBlk.hpp:913
CbcHeuristicGreedyCover
Greedy heuristic classes.
Definition: CbcHeuristicGreedy.hpp:13
CbcGenCtlBlk::cliqueCtl_struct::minViolation_
double minViolation_
Definition: CbcGenCtlBlk.hpp:861
CbcGenCtlBlk::printMask_
std::string printMask_
Print mask.
Definition: CbcGenCtlBlk.hpp:640
CbcGenCtlBlk::fpumpCtl_struct
Control variable and prototype for feasibility pump heuristic.
Definition: CbcGenCtlBlk.hpp:919
CbcGenCtlBlk::IPPEqualAll
@ IPPEqualAll
Definition: CbcGenCtlBlk.hpp:104
CbcGenCtlBlk::debugSol_
struct CbcGenCtlBlk::debugSolInfo_struct debugSol_
CbcGenCtlBlk::getFlow
CGControl getFlow(CglCutGenerator *&gen)
Obtain a prototype for a flow cover cut generator.
CbcGenCtlBlk::BACwBAC
@ BACwBAC
Definition: CbcGenCtlBlk.hpp:224
CbcGenCtlBlk::knapsackCtl_struct
Control variable and prototype for knapsack cover cut generator.
Definition: CbcGenCtlBlk.hpp:886
CbcGenCtlBlk::greedyEqualityCtl_struct::proto_
CbcHeuristicGreedyEquality * proto_
Definition: CbcGenCtlBlk.hpp:941
CbcGenCtlBlk::localTreeCtl_struct::soln_
double * soln_
Definition: CbcGenCtlBlk.hpp:959
CbcGenCtlBlk::CGRoot
@ CGRoot
Definition: CbcGenCtlBlk.hpp:136
CbcGenCtlBlk::CGForceOn
@ CGForceOn
Definition: CbcGenCtlBlk.hpp:138
CbcGenCtlBlk::setMirAction
void setMirAction(CGControl action)
Set action state for use of MIR cut generator.
Definition: CbcGenCtlBlk.hpp:366
CbcGenCtlBlk::fpumpCtl_struct::iters_
int iters_
Definition: CbcGenCtlBlk.hpp:922
CbcGenCtlBlk::probingCtl_struct::maxLookRoot_
int maxLookRoot_
Definition: CbcGenCtlBlk.hpp:850
CbcGenCtlBlk::setProbingAction
void setProbingAction(CGControl action)
Set action state for use of probing cut generator.
Definition: CbcGenCtlBlk.hpp:299
CbcGenCtlBlk::twomirCtl_struct::maxElements_
int maxElements_
Definition: CbcGenCtlBlk.hpp:915
CbcGenCtlBlk::translateMajor
BACMajor translateMajor(int status)
Translate CbcModel major status to BACMajor.
CbcGenCtlBlk::gomoryCtl_struct::limitAtRoot_
int limitAtRoot_
Definition: CbcGenCtlBlk.hpp:875
CbcGenCtlBlk::BACwInvalid
@ BACwInvalid
Definition: CbcGenCtlBlk.hpp:219
CbcGenCtlBlk::mirCtl_struct
Control variable and prototype for MIR cut generator.
Definition: CbcGenCtlBlk.hpp:892
CbcGenCtlBlk::setIPPAction
void setIPPAction(IPPControl action)
Set action state for use of integer preprocessing.
Definition: CbcGenCtlBlk.hpp:288
CbcGenCtlBlk::logLvl_
int logLvl_
The current log level.
Definition: CbcGenCtlBlk.hpp:994
CbcGenCtlBlk::IPPOff
@ IPPOff
Definition: CbcGenCtlBlk.hpp:98
CbcGenCtlBlk::greedyCoverCtl_struct
Control variable and prototype for greedy cover heuristic.
Definition: CbcGenCtlBlk.hpp:933
CbcGenCtlBlk::BACUser
@ BACUser
Definition: CbcGenCtlBlk.hpp:176
CbcGenParamUtils::addCbcGenParams
void addCbcGenParams(int &numParams, CoinParamVec &paramVec, CbcGenCtlBlk *ctlBlk)
CbcGenCtlBlk::getRedSplit
CGControl getRedSplit(CglCutGenerator *&gen)
Obtain a prototype for a reduce and split cut generator.
CbcGenCtlBlk::BACwNotStarted
@ BACwNotStarted
Definition: CbcGenCtlBlk.hpp:220
CbcGenCtlBlk::allowImportErrors_
bool allowImportErrors_
Allow/disallow errors when importing a model.
Definition: CbcGenCtlBlk.hpp:621
CbcGenCtlBlk::getRounding
CGControl getRounding(CbcHeuristic *&gen, CbcModel *model, bool alwaysCreate=true)
Obtain a simple rounding heuristic.
CbcGenCtlBlk::setMessages
void setMessages(CoinMessages::Language lang=CoinMessages::us_en)
Set up messages in the specified language.
CbcGenCtlBlk::paramVec_
CoinParamVec * paramVec_
The parameter vector.
Definition: CbcGenCtlBlk.hpp:644
CbcGenCtlBlk::translateMinor
BACMinor translateMinor(int status)
Translate CbcModel minor status to BACMinor.
CbcGenCtlBlk::twomirCtl_struct::proto_
CglTwomir * proto_
Definition: CbcGenCtlBlk.hpp:914
CbcGenCtlBlk::BACStop
@ BACStop
Definition: CbcGenCtlBlk.hpp:173
CbcGenCtlBlk::IPPControl
IPPControl
Codes to control integer preprocessing.
Definition: CbcGenCtlBlk.hpp:98
CbcGenCtlBlk::probingCtl_struct::maxPassRoot_
int maxPassRoot_
Definition: CbcGenCtlBlk.hpp:846
CbcGenCtlBlk::getCutDepth
int getCutDepth()
Get cut depth setting.
Definition: CbcGenCtlBlk.hpp:264
CbcGenCtlBlk::CGOff
@ CGOff
Definition: CbcGenCtlBlk.hpp:134
CbcGenCtlBlk::getGreedyCover
CGControl getGreedyCover(CbcHeuristic *&gen, CbcModel *model, bool alwaysCreate=true)
Obtain a greedy cover heuristic.
CbcGenCtlBlk::BACmNodeLimit
@ BACmNodeLimit
Definition: CbcGenCtlBlk.hpp:203
CbcGenCtlBlk::BACwIPPRelax
@ BACwIPPRelax
Definition: CbcGenCtlBlk.hpp:223
CbcGenCtlBlk::cliqueCtl_struct::proto_
CglClique * proto_
Definition: CbcGenCtlBlk.hpp:858
CbcGenCtlBlk::setTwomirAction
void setTwomirAction(CGControl action)
Set action state for use of 2-MIR cut generator.
Definition: CbcGenCtlBlk.hpp:388
CbcGenCtlBlk::combineCtl_struct::proto_
CbcHeuristicLocal * proto_
Definition: CbcGenCtlBlk.hpp:928
CbcGenCtlBlk::BACmInfeas
@ BACmInfeas
Definition: CbcGenCtlBlk.hpp:200
CbcGenCtlBlk::setTreeLocalAction
void setTreeLocalAction(CGControl action)
Set action state for use of local tree.
Definition: CbcGenCtlBlk.hpp:490
CbcGenCtlBlk::greedyEqualityCtl_struct::action_
CGControl action_
Definition: CbcGenCtlBlk.hpp:940
CbcGenCtlBlk::mir_
struct CbcGenCtlBlk::mirCtl_struct mir_
CbcGenCtlBlk::IPPSave
@ IPPSave
Definition: CbcGenCtlBlk.hpp:100
CbcGenCtlBlk::ourMsgHandler_
bool ourMsgHandler_
Ownership of message handler.
Definition: CbcGenCtlBlk.hpp:985
CbcGenCtlBlk::BACMinor
BACMinor
Minor status codes.
Definition: CbcGenCtlBlk.hpp:198
CbcGenCtlBlk::localTreeCtl_struct::action_
CGControl action_
Definition: CbcGenCtlBlk.hpp:957
CbcGenCtlBlk::BPOff
@ BPOff
Definition: CbcGenCtlBlk.hpp:151
CbcGenCtlBlk::lastSolnOut_
std::string lastSolnOut_
Last solution output file.
Definition: CbcGenCtlBlk.hpp:625
CbcGenCtlBlk::chooseStrongCtl_struct::numBeforeTrust_
int numBeforeTrust_
Definition: CbcGenCtlBlk.hpp:816
CbcGenCtlBlk::lastMpsIn_
std::string lastMpsIn_
Last MPS input file.
Definition: CbcGenCtlBlk.hpp:618
CbcGenCtlBlk::genParamsInfo_struct::first_
int first_
Definition: CbcGenCtlBlk.hpp:649
CbcGenCtlBlk::greedyCoverCtl_struct::proto_
CbcHeuristicGreedyCover * proto_
Definition: CbcGenCtlBlk.hpp:935
CbcGenCtlBlk::BPOrder
@ BPOrder
Definition: CbcGenCtlBlk.hpp:153
CbcGenCtlBlk::fpump_
struct CbcGenCtlBlk::fpumpCtl_struct fpump_
CbcGenCtlBlk::defaultSettings_
bool defaultSettings_
False if the user has made nontrivial modifications to the default control settings.
Definition: CbcGenCtlBlk.hpp:694
CbcGenCtlBlk::~CbcGenCtlBlk
~CbcGenCtlBlk()
Destructor.
CbcGenMsgCode
CbcGenMsgCode
Symbolic names for cbc-generic messages.
Definition: CbcGenMessages.hpp:35