Cbc  2.10.10
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CbcGenParam.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 CbcGenParam_H
14 #define CbcGenParam_H
15 
16 /* \file CbcGenParam.hpp
17  \brief Declarations for parameters that control the cbc-generic main
18  program.
19 */
20 
21 /*
22  $Id$
23 */
24 
25 class CbcGenCtlBlk;
26 
34 class CbcGenParam : public CoinParam {
35 
36 public:
39 
48  typedef enum { CBCGEN_FIRSTPARAM = 0,
49 
53  BAB,
58  CPP,
96  SOS,
106 
108 
109  } CbcGenParamCode;
110 
112 
121  CbcGenParam();
122 
129  CbcGenParam(CbcGenParamCode code, std::string name, std::string help,
130  double lower, double upper, double dflt = 0.0,
131  bool display = true);
132 
137  CbcGenParam(CbcGenParamCode code, std::string name, std::string help,
138  int lower, int upper, int dflt = 0,
139  bool display = true);
140 
150  CbcGenParam(CbcGenParamCode code, std::string name, std::string help,
151  std::string firstValue, int dflt, bool display = true);
152 
159  CbcGenParam(CbcGenParamCode code, std::string name, std::string help,
160  std::string dflt, bool display = true);
161 
164  CbcGenParam(CbcGenParamCode code, std::string name, std::string help,
165  bool display = true);
166 
169  CbcGenParam(const CbcGenParam &orig);
170 
173  CbcGenParam *clone();
174 
177  CbcGenParam &operator=(const CbcGenParam &rhs);
178 
181  ~CbcGenParam();
182 
184 
187 
190  inline CbcGenParamCode paramCode() const
191  {
192  return (paramCode_);
193  }
194 
197  inline void setParamCode(CbcGenParamCode code)
198  {
199  paramCode_ = code;
200  }
201 
204  inline CbcGenCtlBlk *obj() const
205  {
206  return (obj_);
207  }
208 
211  inline void setObj(CbcGenCtlBlk *obj)
212  {
213  obj_ = obj;
214  }
215 
217 
218 private:
221 
224 
227 
229 };
230 
231 /*
232  Declare the utility functions.
233 */
234 
235 namespace CbcGenParamUtils {
236 void addCbcGenParams(int &numParams, CoinParamVec &paramVec,
237  CbcGenCtlBlk *ctlBlk);
238 void loadGenParamObj(const CoinParamVec paramVec, int first, int last,
239  CbcGenCtlBlk *ctlBlk);
240 
241 void saveSolution(const OsiSolverInterface *osi, std::string fileName);
242 bool readSolution(std::string fileName,
243  int &numRows, int &numCols, double &objVal,
244  double **rowActivity, double **dualVars,
245  double **primalVars, double **reducedCosts);
246 
247 int doBaCParam(CoinParam *param);
248 int doDebugParam(CoinParam *param);
249 int doExitParam(CoinParam *param);
250 int doHelpParam(CoinParam *param);
251 int doImportParam(CoinParam *param);
252 int doPrintMaskParam(CoinParam *param);
253 int doNothingParam(CoinParam *param);
254 int doSolutionParam(CoinParam *param);
255 int doUnimplementedParam(CoinParam *param);
256 int doVersionParam(CoinParam *param);
257 
258 int pushCbcGenDblParam(CoinParam *param);
259 int pushCbcGenIntParam(CoinParam *param);
260 int pushCbcGenKwdParam(CoinParam *param);
261 int pushCbcGenStrParam(CoinParam *param);
262 
263 int pushCbcGenCutParam(CoinParam *param);
264 }
265 
266 #endif
267 
268 /* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
269 */
CbcGenParam::~CbcGenParam
~CbcGenParam()
Destructor.
CbcGenParam::COSTSTRATEGY
@ COSTSTRATEGY
Definition: CbcGenParam.hpp:57
CbcGenParamUtils::pushCbcGenCutParam
int pushCbcGenCutParam(CoinParam *param)
CbcGenParam::CPP
@ CPP
Definition: CbcGenParam.hpp:58
CbcGenParam::CBCGEN_FIRSTPARAM
@ CBCGEN_FIRSTPARAM
Definition: CbcGenParam.hpp:48
CbcGenParam::STRENGTHEN
@ STRENGTHEN
Definition: CbcGenParam.hpp:98
CbcGenParam::MIXEDCUTS
@ MIXEDCUTS
Definition: CbcGenParam.hpp:81
CbcGenParam::SHOWUNIMP
@ SHOWUNIMP
Definition: CbcGenParam.hpp:105
CbcGenParam::INTPRINT
@ INTPRINT
Definition: CbcGenParam.hpp:75
CbcGenParam::SOLUTION
@ SOLUTION
Definition: CbcGenParam.hpp:93
CbcGenParam::PRINTOPTIONS
@ PRINTOPTIONS
Definition: CbcGenParam.hpp:87
CbcGenParam::GOMORYCUTS
@ GOMORYCUTS
Definition: CbcGenParam.hpp:71
CbcGenParam::CBCGEN_LASTPARAM
@ CBCGEN_LASTPARAM
Definition: CbcGenParam.hpp:107
CbcGenParamUtils::loadGenParamObj
void loadGenParamObj(const CoinParamVec paramVec, int first, int last, CbcGenCtlBlk *ctlBlk)
CbcGenCtlBlk
Definition: CbcGenCtlBlk.hpp:67
CbcGenParam::FPUMPITS
@ FPUMPITS
Definition: CbcGenParam.hpp:70
CbcGenParam::COMBINE
@ COMBINE
Definition: CbcGenParam.hpp:56
CbcGenParam::SOLVECONTINUOUS
@ SOLVECONTINUOUS
Definition: CbcGenParam.hpp:94
CbcGenParamUtils::doBaCParam
int doBaCParam(CoinParam *param)
CbcGenParam::ODDHOLECUTS
@ ODDHOLECUTS
Definition: CbcGenParam.hpp:82
CbcGenParam::CUTDEPTH
@ CUTDEPTH
Definition: CbcGenParam.hpp:59
CbcGenParam
Class for cbc-generic control parameters.
Definition: CbcGenParam.hpp:34
CbcGenParam::USERCBC
@ USERCBC
Definition: CbcGenParam.hpp:102
CbcGenParam::clone
CbcGenParam * clone()
Clone.
CbcGenParam::DEBUG
@ DEBUG
Definition: CbcGenParam.hpp:61
CbcGenParam::MESSAGES
@ MESSAGES
Definition: CbcGenParam.hpp:79
CbcGenParamUtils
Definition: CbcGenCtlBlk.hpp:56
CbcGenParam::ERRORSALLOWED
@ ERRORSALLOWED
Definition: CbcGenParam.hpp:65
CbcGenParamUtils::pushCbcGenStrParam
int pushCbcGenStrParam(CoinParam *param)
CbcGenParam::PREPROCESS
@ PREPROCESS
Definition: CbcGenParam.hpp:85
CbcGenParam::PRIORITYIN
@ PRIORITYIN
Definition: CbcGenParam.hpp:89
CbcGenParam::CbcGenParam
CbcGenParam()
Default constructor.
CbcGenParamUtils::saveSolution
void saveSolution(const OsiSolverInterface *osi, std::string fileName)
CbcGenParamUtils::doExitParam
int doExitParam(CoinParam *param)
CbcGenParam::USESOLUTION
@ USESOLUTION
Definition: CbcGenParam.hpp:103
CbcGenParamUtils::pushCbcGenIntParam
int pushCbcGenIntParam(CoinParam *param)
CbcGenParamUtils::doUnimplementedParam
int doUnimplementedParam(CoinParam *param)
CbcGenParam::FPUMP
@ FPUMP
Definition: CbcGenParam.hpp:69
CbcGenParam::EXIT
@ EXIT
Definition: CbcGenParam.hpp:66
CbcGenParamUtils::pushCbcGenDblParam
int pushCbcGenDblParam(CoinParam *param)
CbcGenParam::OUTDUPROWS
@ OUTDUPROWS
Definition: CbcGenParam.hpp:83
CbcGenParam::UNITTEST
@ UNITTEST
Definition: CbcGenParam.hpp:101
CbcGenParam::OUTPUTFORMAT
@ OUTPUTFORMAT
Definition: CbcGenParam.hpp:84
CbcGenParamUtils::pushCbcGenKwdParam
int pushCbcGenKwdParam(CoinParam *param)
CbcGenParam::REDSPLITCUTS
@ REDSPLITCUTS
Definition: CbcGenParam.hpp:91
CbcGenParam::FLOWCUTS
@ FLOWCUTS
Definition: CbcGenParam.hpp:68
CbcGenParam::setObj
void setObj(CbcGenCtlBlk *obj)
Set the underlying cbc-generic control object.
Definition: CbcGenParam.hpp:211
CbcGenParamUtils::doVersionParam
int doVersionParam(CoinParam *param)
CbcGenParam::BAB
@ BAB
Definition: CbcGenParam.hpp:53
CbcGenParam::HELP
@ HELP
Definition: CbcGenParam.hpp:52
CbcGenParamUtils::doNothingParam
int doNothingParam(CoinParam *param)
CbcGenParam::STDIN
@ STDIN
Definition: CbcGenParam.hpp:97
CbcGenParam::setParamCode
void setParamCode(CbcGenParamCode code)
Set the parameter code.
Definition: CbcGenParam.hpp:197
CbcGenParamUtils::doDebugParam
int doDebugParam(CoinParam *param)
CbcGenParam::LOGLEVEL
@ LOGLEVEL
Definition: CbcGenParam.hpp:78
CbcGenParam::EXPORT
@ EXPORT
Definition: CbcGenParam.hpp:67
CbcGenParam::VERBOSE
@ VERBOSE
Definition: CbcGenParam.hpp:104
CbcGenParam::MIPLIB
@ MIPLIB
Definition: CbcGenParam.hpp:80
CbcGenParam::PRINTMASK
@ PRINTMASK
Definition: CbcGenParam.hpp:86
CbcGenParam::PRINTVERSION
@ PRINTVERSION
Definition: CbcGenParam.hpp:88
CbcGenParam::DIRECTORY
@ DIRECTORY
Definition: CbcGenParam.hpp:62
CbcGenParam::CUTSTRATEGY
@ CUTSTRATEGY
Definition: CbcGenParam.hpp:60
CbcGenParam::paramCode
CbcGenParamCode paramCode() const
Get the parameter code
Definition: CbcGenParam.hpp:190
CbcGenParam::PROBINGCUTS
@ PROBINGCUTS
Definition: CbcGenParam.hpp:90
CbcGenParam::TIGHTENFACTOR
@ TIGHTENFACTOR
Definition: CbcGenParam.hpp:99
CbcGenParam::obj_
CbcGenCtlBlk * obj_
cbc-generic control object
Definition: CbcGenParam.hpp:226
CbcGenParam::paramCode_
CbcGenParamCode paramCode_
Parameter code.
Definition: CbcGenParam.hpp:223
CbcGenParam::ROUNDING
@ ROUNDING
Definition: CbcGenParam.hpp:92
CbcGenParam::IMPORT
@ IMPORT
Definition: CbcGenParam.hpp:74
CbcGenParam::SOS
@ SOS
Definition: CbcGenParam.hpp:96
CbcGenParam::TWOMIRCUTS
@ TWOMIRCUTS
Definition: CbcGenParam.hpp:100
CbcGenParamUtils::addCbcGenParams
void addCbcGenParams(int &numParams, CoinParamVec &paramVec, CbcGenCtlBlk *ctlBlk)
CbcGenParam::FULLGENERALQUERY
@ FULLGENERALQUERY
Definition: CbcGenParam.hpp:51
CbcGenParam::CLEARCUTS
@ CLEARCUTS
Definition: CbcGenParam.hpp:54
CbcGenParam::DUMMY
@ DUMMY
Definition: CbcGenParam.hpp:64
CbcGenParam::GENERALQUERY
@ GENERALQUERY
Definition: CbcGenParam.hpp:50
CbcGenParam::DJFIX
@ DJFIX
Definition: CbcGenParam.hpp:63
CbcGenParam::HEURISTICSTRATEGY
@ HEURISTICSTRATEGY
Definition: CbcGenParam.hpp:73
CbcGenParam::operator=
CbcGenParam & operator=(const CbcGenParam &rhs)
Assignment.
CbcGenParam::KNAPSACKCUTS
@ KNAPSACKCUTS
Definition: CbcGenParam.hpp:76
CbcGenParamUtils::doImportParam
int doImportParam(CoinParam *param)
CbcGenParam::LOCALTREE
@ LOCALTREE
Definition: CbcGenParam.hpp:77
CbcGenParam::obj
CbcGenCtlBlk * obj() const
Get the underlying cbc-generic control object.
Definition: CbcGenParam.hpp:204
CbcGenParamUtils::doSolutionParam
int doSolutionParam(CoinParam *param)
CbcGenParam::GREEDY
@ GREEDY
Definition: CbcGenParam.hpp:72
CbcGenParam::CbcGenParamCode
CbcGenParamCode
Enumeration for cbc-generic parameters.
Definition: CbcGenParam.hpp:48
CbcGenParam::SOLVER
@ SOLVER
Definition: CbcGenParam.hpp:95
CbcGenParam::CLIQUECUTS
@ CLIQUECUTS
Definition: CbcGenParam.hpp:55
CbcGenParamUtils::readSolution
bool readSolution(std::string fileName, int &numRows, int &numCols, double &objVal, double **rowActivity, double **dualVars, double **primalVars, double **reducedCosts)
CbcGenParamUtils::doPrintMaskParam
int doPrintMaskParam(CoinParam *param)
CbcGenParamUtils::doHelpParam
int doHelpParam(CoinParam *param)