Cbc  2.9.9
CbcGenOsiParam.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: CbcGenOsiParam.hpp 1899 2013-04-09 18:12:08Z stefan $
8 */
9 /*
10  This file is part of cbc-generic.
11 */
12 
13 #ifndef CbcOsiParam_H
14 #define CbcOsiParam_H
15 
16 /* \file CbcGenOsiParam.hpp
17  \brief Declarations for parameters that act on a OsiSolverInterface object.
18 */
19 
20 /*
21  $Id: CbcGenOsiParam.hpp 1899 2013-04-09 18:12:08Z stefan $
22 */
23 
31 class CbcOsiParam : public CoinParam {
32 
33 public:
34 
37 
47 
57 
59 
61 
63 
73 
80  CbcOsiParam(CbcOsiParamCode code, std::string name, std::string help,
81  double lower, double upper, double dflt = 0.0,
82  bool display = true) ;
83 
88  CbcOsiParam(CbcOsiParamCode code, std::string name, std::string help,
89  int lower, int upper, int dflt = 0,
90  bool display = true) ;
91 
101  CbcOsiParam(CbcOsiParamCode code, std::string name, std::string help,
102  std::string firstValue, int dflt, bool display = true) ;
103 
110  CbcOsiParam(CbcOsiParamCode code, std::string name, std::string help,
111  std::string dflt, bool display = true) ;
112 
115  CbcOsiParam(CbcOsiParamCode code, std::string name, std::string help,
116  bool display = true) ;
117 
120  CbcOsiParam(const CbcOsiParam &orig) ;
121 
125 
129 
133 
135 
138 
141  inline CbcOsiParamCode paramCode() const {
142  return (paramCode_) ;
143  }
144 
147  inline void setParamCode(CbcOsiParamCode code) {
148  paramCode_ = code ;
149  }
150 
153  inline OsiSolverInterface *obj() const {
154  return (obj_) ;
155  }
156 
159  inline void setObj(OsiSolverInterface *obj) {
160  obj_ = obj ;
161  }
162 
164 
165 
166 private:
167 
170 
172  CbcOsiParamCode paramCode_ ;
173 
175  OsiSolverInterface *obj_ ;
176 
178 
179 } ;
180 
181 
182 
183 /*
184  Declare the utility functions.
185 */
186 
187 namespace CbcOsiParamUtils {
188 void addCbcOsiParams(int &numParams, CoinParamVec &paramVec,
189  OsiSolverInterface *osi) ;
190 void loadOsiParamObj(const CoinParamVec paramVec,
191  CbcGenCtlBlk *ctlBlk) ;
192 void setOsiSolverInterfaceDefaults(OsiSolverInterface *osi) ;
193 
194 int pushCbcOsiLogLevel(CoinParam *param) ;
195 int pushCbcOsiInt(CoinParam *param) ;
196 int pushCbcOsiDbl(CoinParam *param) ;
197 int pushCbcOsiKwd(CoinParam *param) ;
198 int pushCbcOsiHint(CoinParam *param) ;
199 }
200 
201 
202 #endif
203 
CbcOsiParam::BASISIN
@ BASISIN
Definition: CbcGenOsiParam.hpp:49
CbcOsiParam::CRASH
@ CRASH
Definition: CbcGenOsiParam.hpp:49
CbcOsiParam::NETLIB_DUAL
@ NETLIB_DUAL
Definition: CbcGenOsiParam.hpp:52
CbcOsiParam::TIGHTEN
@ TIGHTEN
Definition: CbcGenOsiParam.hpp:56
CbcOsiParam::operator=
CbcOsiParam & operator=(const CbcOsiParam &rhs)
Assignment.
CbcOsiParam::BARRIER
@ BARRIER
Definition: CbcGenOsiParam.hpp:48
CbcOsiParam::PFI
@ PFI
Definition: CbcGenOsiParam.hpp:53
CbcOsiParam::SAVE
@ SAVE
Definition: CbcGenOsiParam.hpp:55
CbcOsiParam::SPECIALOPTIONS
@ SPECIALOPTIONS
Definition: CbcGenOsiParam.hpp:56
CbcGenCtlBlk
Definition: CbcGenCtlBlk.hpp:67
CbcOsiParam::DUALSIMPLEX
@ DUALSIMPLEX
Definition: CbcGenOsiParam.hpp:50
CbcOsiParam::RESTORE
@ RESTORE
Definition: CbcGenOsiParam.hpp:55
CbcOsiParamUtils
Definition: CbcGenOsiParam.hpp:187
CbcOsiParam::RHSSCALE
@ RHSSCALE
Definition: CbcGenOsiParam.hpp:55
CbcCbcParam::CBCCBC_LASTPARAM
@ CBCCBC_LASTPARAM
Definition: CbcGenCbcParam.hpp:56
CbcOsiParam::CBCOSI_FIRSTPARAM
@ CBCOSI_FIRSTPARAM
Definition: CbcGenOsiParam.hpp:46
CbcOsiParam::OBJSCALE
@ OBJSCALE
Definition: CbcGenOsiParam.hpp:52
CbcOsiParam::PERTVALUE
@ PERTVALUE
Definition: CbcGenOsiParam.hpp:53
CbcOsiParam::PRESOLVEPASS
@ PRESOLVEPASS
Definition: CbcGenOsiParam.hpp:53
CbcOsiParam::CROSSOVER
@ CROSSOVER
Definition: CbcGenOsiParam.hpp:49
CbcOsiParam::PRIMALSIMPLEX
@ PRIMALSIMPLEX
Definition: CbcGenOsiParam.hpp:54
CbcOsiParam::GAMMA
@ GAMMA
Definition: CbcGenOsiParam.hpp:51
CbcOsiParam::MAXITERATION
@ MAXITERATION
Definition: CbcGenOsiParam.hpp:51
CbcOsiParamUtils::pushCbcOsiLogLevel
int pushCbcOsiLogLevel(CoinParam *param)
CbcOsiParam::ALLSLACK
@ ALLSLACK
Definition: CbcGenOsiParam.hpp:48
CbcOsiParam::BIASLU
@ BIASLU
Definition: CbcGenOsiParam.hpp:49
CbcOsiParam::FAKEBOUND
@ FAKEBOUND
Definition: CbcGenOsiParam.hpp:50
CbcOsiParam::BASISOUT
@ BASISOUT
Definition: CbcGenOsiParam.hpp:49
CbcOsiParam::SPARSEFACTOR
@ SPARSEFACTOR
Definition: CbcGenOsiParam.hpp:56
CbcOsiParam::CbcOsiParam
CbcOsiParam(CbcOsiParamCode code, std::string name, std::string help, double lower, double upper, double dflt=0.0, bool display=true)
Constructor for a parameter with a double value.
CbcOsiParam::PRESOLVEOPTIONS
@ PRESOLVEOPTIONS
Definition: CbcGenOsiParam.hpp:53
CbcOsiParam::~CbcOsiParam
~CbcOsiParam()
Destructor.
CbcOsiParam::SPRINT
@ SPRINT
Definition: CbcGenOsiParam.hpp:56
CbcOsiParam::DUALPIVOT
@ DUALPIVOT
Definition: CbcGenOsiParam.hpp:50
CbcOsiParam::CbcOsiParam
CbcOsiParam(CbcOsiParamCode code, std::string name, std::string help, int lower, int upper, int dflt=0, bool display=true)
Constructor for a parameter with an integer value.
CbcOsiParam::REALLY_SCALE
@ REALLY_SCALE
Definition: CbcGenOsiParam.hpp:54
CbcOsiParam::MAXHOTITS
@ MAXHOTITS
Definition: CbcGenOsiParam.hpp:51
CbcOsiParam::clone
CbcOsiParam * clone()
Clone.
CbcOsiParam::KEEPNAMES
@ KEEPNAMES
Definition: CbcGenOsiParam.hpp:51
CbcOsiParam
Class for control parameters that act on a OsiSolverInterface object.
Definition: CbcGenOsiParam.hpp:31
CbcOsiParam::PRIMALTOLERANCE
@ PRIMALTOLERANCE
Definition: CbcGenOsiParam.hpp:54
CbcOsiParam::CHOLESKY
@ CHOLESKY
Definition: CbcGenOsiParam.hpp:49
CbcOsiParam::NETWORK
@ NETWORK
Definition: CbcGenOsiParam.hpp:52
CbcOsiParam::paramCode
CbcOsiParamCode paramCode() const
Get the parameter code
Definition: CbcGenOsiParam.hpp:141
CbcOsiParamUtils::setOsiSolverInterfaceDefaults
void setOsiSolverInterfaceDefaults(OsiSolverInterface *osi)
CbcOsiParamUtils::pushCbcOsiInt
int pushCbcOsiInt(CoinParam *param)
CbcOsiParam::SCALING
@ SCALING
Definition: CbcGenOsiParam.hpp:55
CbcOsiParamUtils::pushCbcOsiKwd
int pushCbcOsiKwd(CoinParam *param)
CbcOsiParam::AUTOSCALE
@ AUTOSCALE
Definition: CbcGenOsiParam.hpp:48
CbcOsiParamUtils::loadOsiParamObj
void loadOsiParamObj(const CoinParamVec paramVec, CbcGenCtlBlk *ctlBlk)
CbcOsiParamUtils::addCbcOsiParams
void addCbcOsiParams(int &numParams, CoinParamVec &paramVec, OsiSolverInterface *osi)
CbcOsiParam::setParamCode
void setParamCode(CbcOsiParamCode code)
Set the parameter code.
Definition: CbcGenOsiParam.hpp:147
CbcOsiParam::setObj
void setObj(OsiSolverInterface *obj)
Set the underlying OsiSolverInterace object.
Definition: CbcGenOsiParam.hpp:159
CbcOsiParam::obj
OsiSolverInterface * obj() const
Get the underlying OsiSolverInterface object.
Definition: CbcGenOsiParam.hpp:153
CbcOsiParam::PRIMALPIVOT
@ PRIMALPIVOT
Definition: CbcGenOsiParam.hpp:54
CbcOsiParam::SLPVALUE
@ SLPVALUE
Definition: CbcGenOsiParam.hpp:55
CbcOsiParam::IDIOT
@ IDIOT
Definition: CbcGenOsiParam.hpp:51
CbcOsiParam::CbcOsiParam
CbcOsiParam(const CbcOsiParam &orig)
Copy constructor.
CbcOsiParam::CbcOsiParam
CbcOsiParam(CbcOsiParamCode code, std::string name, std::string help, bool display=true)
Constructor for an action parameter.
CbcOsiParam::PRESOLVE
@ PRESOLVE
Definition: CbcGenOsiParam.hpp:53
CbcOsiParamUtils::pushCbcOsiDbl
int pushCbcOsiDbl(CoinParam *param)
CbcOsiParam::KKT
@ KKT
Definition: CbcGenOsiParam.hpp:51
CbcOsiParamUtils::pushCbcOsiHint
int pushCbcOsiHint(CoinParam *param)
CbcOsiParam::SOLVERLOGLEVEL
@ SOLVERLOGLEVEL
Definition: CbcGenOsiParam.hpp:55
CbcOsiParam::PLUSMINUS
@ PLUSMINUS
Definition: CbcGenOsiParam.hpp:53
CbcOsiParam::CbcOsiParam
CbcOsiParam()
Default constructor.
CbcOsiParam::CbcOsiParam
CbcOsiParam(CbcOsiParamCode code, std::string name, std::string help, std::string dflt, bool display=true)
Constructor for a string parameter.
CbcOsiParam::CbcOsiParam
CbcOsiParam(CbcOsiParamCode code, std::string name, std::string help, std::string firstValue, int dflt, bool display=true)
Constructor for a parameter with keyword values.
CbcOsiParam::DUALBOUND
@ DUALBOUND
Definition: CbcGenOsiParam.hpp:50
CbcOsiParam::ALGORITHM
@ ALGORITHM
Definition: CbcGenOsiParam.hpp:48
CbcOsiParam::PERTURBATION
@ PERTURBATION
Definition: CbcGenOsiParam.hpp:52
CbcOsiParam::BARRIERSCALE
@ BARRIERSCALE
Definition: CbcGenOsiParam.hpp:48
CbcOsiParam::CBCOSI_LASTPARAM
@ CBCOSI_LASTPARAM
Definition: CbcGenOsiParam.hpp:58
CbcOsiParam::DUALTOLERANCE
@ DUALTOLERANCE
Definition: CbcGenOsiParam.hpp:50
CbcOsiParam::NETLIB_PRIMAL
@ NETLIB_PRIMAL
Definition: CbcGenOsiParam.hpp:52
CbcOsiParam::NETLIB_BARRIER
@ NETLIB_BARRIER
Definition: CbcGenOsiParam.hpp:51
CbcOsiParam::CbcOsiParamCode
CbcOsiParamCode
Enumeration for parameters that control an OsiSolverInterface object.
Definition: CbcGenOsiParam.hpp:46
CbcOsiParam::REVERSE
@ REVERSE
Definition: CbcGenOsiParam.hpp:55