• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

/tmp/buildd/coinor-cbc-2.5.0/Cbc/src/CbcGenOsiParam.hpp

Go to the documentation of this file.
00001 /*
00002   Copyright (C) 2007, Lou Hafer, International Business Machines Corporation
00003   and others.  All Rights Reserved.
00004 
00005   This file is part of cbc-generic.
00006 */
00007 
00008 #ifndef CbcOsiParam_H
00009 #define CbcOsiParam_H
00010 
00011 /* \file CbcGenOsiParam.hpp
00012    \brief Declarations for parameters that act on a OsiSolverInterface object.
00013 */
00014 
00015 /*
00016   $Id: CbcGenOsiParam.hpp 1173 2009-06-04 09:44:10Z forrest $
00017 */
00018 
00026 class CbcOsiParam : public CoinParam {
00027 
00028 public:
00029 
00032 
00041     typedef enum { CBCOSI_FIRSTPARAM = CbcCbcParam::CBCCBC_LASTPARAM + 1,
00042 
00043                    ALGORITHM, ALLSLACK, AUTOSCALE, BARRIER, BARRIERSCALE,
00044                    BASISIN, BASISOUT, BIASLU, CHOLESKY, CRASH, CROSSOVER,
00045                    DUALBOUND, DUALPIVOT, DUALSIMPLEX, DUALTOLERANCE, FAKEBOUND,
00046                    GAMMA, IDIOT, KEEPNAMES, KKT, MAXITERATION, MAXHOTITS, NETLIB_BARRIER,
00047                    NETLIB_DUAL, NETLIB_PRIMAL, NETWORK, OBJSCALE, PERTURBATION,
00048                    PERTVALUE, PFI, PLUSMINUS, PRESOLVE, PRESOLVEOPTIONS, PRESOLVEPASS,
00049                    PRIMALPIVOT, PRIMALSIMPLEX, PRIMALTOLERANCE, REALLY_SCALE,
00050                    RESTORE, REVERSE, RHSSCALE, SAVE, SCALING, SLPVALUE, SOLVERLOGLEVEL,
00051                    SPARSEFACTOR, SPECIALOPTIONS, SPRINT, TIGHTEN,
00052 
00053                    CBCOSI_LASTPARAM
00054 
00055                  } CbcOsiParamCode ;
00056 
00058 
00067     CbcOsiParam() ;
00068 
00075     CbcOsiParam(CbcOsiParamCode code, std::string name, std::string help,
00076                 double lower, double upper, double dflt = 0.0,
00077                 bool display = true) ;
00078 
00083     CbcOsiParam(CbcOsiParamCode code, std::string name, std::string help,
00084                 int lower, int upper, int dflt = 0,
00085                 bool display = true) ;
00086 
00096     CbcOsiParam(CbcOsiParamCode code, std::string name, std::string help,
00097                 std::string firstValue, int dflt, bool display = true) ;
00098 
00105     CbcOsiParam(CbcOsiParamCode code, std::string name, std::string help,
00106                 std::string dflt, bool display = true) ;
00107 
00110     CbcOsiParam(CbcOsiParamCode code, std::string name, std::string help,
00111                 bool display = true) ;
00112 
00115     CbcOsiParam(const CbcOsiParam &orig) ;
00116 
00119     CbcOsiParam *clone() ;
00120 
00123     CbcOsiParam &operator=(const CbcOsiParam &rhs) ;
00124 
00127     ~CbcOsiParam() ;
00128 
00130 
00133 
00136     inline CbcOsiParamCode paramCode() const {
00137         return (paramCode_) ;
00138     }
00139 
00142     inline void setParamCode(CbcOsiParamCode code) {
00143         paramCode_ = code ;
00144     }
00145 
00148     inline OsiSolverInterface *obj() const {
00149         return (obj_) ;
00150     }
00151 
00154     inline void setObj(OsiSolverInterface *obj) {
00155         obj_ = obj ;
00156     }
00157 
00159 
00160 
00161 private:
00162 
00165 
00167     CbcOsiParamCode paramCode_ ;
00168 
00170     OsiSolverInterface *obj_ ;
00171 
00173 
00174 } ;
00175 
00176 
00177 
00178 /*
00179   Declare the utility functions.
00180 */
00181 
00182 namespace CbcOsiParamUtils {
00183 void addCbcOsiParams(int &numParams, CoinParamVec &paramVec,
00184                      OsiSolverInterface *osi) ;
00185 void loadOsiParamObj(const CoinParamVec paramVec,
00186                      CbcGenCtlBlk *ctlBlk) ;
00187 void setOsiSolverInterfaceDefaults(OsiSolverInterface *osi) ;
00188 
00189 int pushCbcOsiLogLevel(CoinParam *param) ;
00190 int pushCbcOsiInt(CoinParam *param) ;
00191 int pushCbcOsiDbl(CoinParam *param) ;
00192 int pushCbcOsiKwd(CoinParam *param) ;
00193 int pushCbcOsiHint(CoinParam *param) ;
00194 }
00195 
00196 
00197 #endif
00198 

Generated on Tue Sep 7 2010 20:23:52 by  doxygen 1.7.1