/home/coin/SVN-release/CoinAll-1.1.0/Cbc/src/CbcGenCbcParam.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 CbcCbcParam_H
00009 #define CbcCbcParam_H
00010 
00011 /* \file CbcGenCbcParam.hpp
00012    \brief Declarations for parameters that act on a CbcModel object.
00013 */
00014 
00015 /*
00016   $Id$
00017 */
00018 
00026 class CbcCbcParam : public CoinParam
00027 {
00028 
00029 public:
00030 
00033 
00041   typedef enum
00042   { CBCCBC_FIRSTPARAM = CbcGenParam::CBCGEN_LASTPARAM+1,
00043   
00044     ALLOWABLEGAP, COSTSTRATEGY,
00045     CUTDEPTH, CUTOFF, CUTPASS, DIRECTION,
00046     GAPRATIO,
00047     INCREMENT, INFEASIBILITYWEIGHT, INTEGERTOLERANCE,
00048     LOGLEVEL, MAXIMIZE, MAXNODES, MINIMIZE,
00049     MIPOPTIONS, MOREMIPOPTIONS, NUMBERANALYZE,
00050     NUMBERBEFORE, NUMBERMINI,
00051     STRONGBRANCHING, TIMELIMIT_BAB,
00052 
00053     CBCCBC_LASTPARAM
00054 
00055   } CbcCbcParamCode ;
00056 
00058 
00067   CbcCbcParam() ;
00068 
00075   CbcCbcParam(CbcCbcParamCode code, std::string name, std::string help,
00076                double lower, double upper, double dflt = 0.0,
00077                bool display = true) ;
00078 
00083   CbcCbcParam(CbcCbcParamCode code, std::string name, std::string help,
00084                int lower, int upper, int dflt = 0,
00085                bool display = true) ;
00086 
00096   CbcCbcParam(CbcCbcParamCode code, std::string name, std::string help,
00097                std::string firstValue, int dflt, bool display = true) ;
00098 
00105   CbcCbcParam(CbcCbcParamCode code, std::string name, std::string help,
00106                std::string dflt, bool display = true) ;
00107 
00110   CbcCbcParam(CbcCbcParamCode code, std::string name, std::string help,
00111                bool display = true) ;
00112 
00115   CbcCbcParam(const CbcCbcParam &orig) ;
00116 
00119   CbcCbcParam *clone() ;
00120 
00123   CbcCbcParam &operator=(const CbcCbcParam &rhs) ;
00124 
00127   ~CbcCbcParam() ;
00128 
00130 
00133 
00136   inline CbcCbcParamCode paramCode() const { return (paramCode_) ; } 
00137 
00140   inline void setParamCode(CbcCbcParamCode code) { paramCode_ = code ; } 
00141 
00144   inline CbcModel *obj() const { return (obj_) ; } 
00145 
00148   inline void setObj(CbcModel *obj) { obj_ = obj ; } 
00149 
00151 
00152 private:
00153 
00156 
00158   CbcCbcParamCode paramCode_ ;
00159 
00161   CbcModel *obj_ ;
00162 
00164 
00165 } ;
00166 
00167 
00168 /*
00169   Declare the utility functions.
00170 */
00171 
00172 namespace CbcCbcParamUtils
00173 { void addCbcCbcParams(int &numParams, CoinParamVec &paramVec,
00174                        CbcModel *model) ;
00175   void loadCbcParamObj(const CoinParamVec paramVec, int first, int last,
00176                        CbcModel *model) ;
00177   void setCbcModelDefaults (CbcModel *model) ;
00178 
00179   int pushCbcCbcDbl(CoinParam *param) ;
00180   int pushCbcCbcInt(CoinParam *param) ;
00181 }
00182 
00183 #endif

Generated on Sun Nov 14 14:06:31 2010 for Coin-All by  doxygen 1.4.7