# 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 code is licensed under the terms of the Eclipse Public License (EPL).
    00006
    00007   $Id$
    00008 */
    00009 /*
    00010   This file is part of cbc-generic.
    00011 */
    00012
    00013 #ifndef CbcOsiParam_H
    00014 #define CbcOsiParam_H
    00015
    00016 /* \file CbcGenOsiParam.hpp
    00017    \brief Declarations for parameters that act on a OsiSolverInterface object.
    00018 */
    00019
    00020 /*
    00021   $Id: CbcGenOsiParam.hpp 1173 2009-06-04 09:44:10Z forrest $
    00022 */
    00023
    00031 class CbcOsiParam : public CoinParam {
    00032
    00033 public:
    00034
    00037
    00046     typedef enum { CBCOSI_FIRSTPARAM = CbcCbcParam::CBCCBC_LASTPARAM + 1,
    00047
    00048                    ALGORITHM, ALLSLACK, AUTOSCALE, BARRIER, BARRIERSCALE,
    00049                    BASISIN, BASISOUT, BIASLU, CHOLESKY, CRASH, CROSSOVER,
    00050                    DUALBOUND, DUALPIVOT, DUALSIMPLEX, DUALTOLERANCE, FAKEBOUND,
    00051                    GAMMA, IDIOT, KEEPNAMES, KKT, MAXITERATION, MAXHOTITS, NETLIB_BARRIER,
    00052                    NETLIB_DUAL, NETLIB_PRIMAL, NETWORK, OBJSCALE, PERTURBATION,
    00053                    PERTVALUE, PFI, PLUSMINUS, PRESOLVE, PRESOLVEOPTIONS, PRESOLVEPASS,
    00054                    PRIMALPIVOT, PRIMALSIMPLEX, PRIMALTOLERANCE, REALLY_SCALE,
    00055                    RESTORE, REVERSE, RHSSCALE, SAVE, SCALING, SLPVALUE, SOLVERLOGLEVEL,
    00056                    SPARSEFACTOR, SPECIALOPTIONS, SPRINT, TIGHTEN,
    00057
    00058                    CBCOSI_LASTPARAM
    00059
    00060                  } CbcOsiParamCode ;
    00061
    00063
    00072     CbcOsiParam() ;
    00073
    00080     CbcOsiParam(CbcOsiParamCode code, std::string name, std::string help,
    00081                 double lower, double upper, double dflt = 0.0,
    00082                 bool display = true) ;
    00083
    00088     CbcOsiParam(CbcOsiParamCode code, std::string name, std::string help,
    00089                 int lower, int upper, int dflt = 0,
    00090                 bool display = true) ;
    00091
    00101     CbcOsiParam(CbcOsiParamCode code, std::string name, std::string help,
    00102                 std::string firstValue, int dflt, bool display = true) ;
    00103
    00110     CbcOsiParam(CbcOsiParamCode code, std::string name, std::string help,
    00111                 std::string dflt, bool display = true) ;
    00112
    00115     CbcOsiParam(CbcOsiParamCode code, std::string name, std::string help,
    00116                 bool display = true) ;
    00117
    00120     CbcOsiParam(const CbcOsiParam &orig) ;
    00121
    00124     CbcOsiParam *clone() ;
    00125
    00128     CbcOsiParam &operator=(const CbcOsiParam &rhs) ;
    00129
    00132     ~CbcOsiParam() ;
    00133
    00135
    00138
    00141     inline CbcOsiParamCode paramCode() const {
    00142         return (paramCode_) ;
    00143     }
    00144
    00147     inline void setParamCode(CbcOsiParamCode code) {
    00148         paramCode_ = code ;
    00149     }
    00150
    00153     inline OsiSolverInterface *obj() const {
    00154         return (obj_) ;
    00155     }
    00156
    00159     inline void setObj(OsiSolverInterface *obj) {
    00160         obj_ = obj ;
    00161     }
    00162
    00164
    00165
    00166 private:
    00167
    00170
    00172     CbcOsiParamCode paramCode_ ;
    00173
    00175     OsiSolverInterface *obj_ ;
    00176
    00178
    00179 } ;
    00180
    00181
    00182
    00183 /*
    00184   Declare the utility functions.
    00185 */
    00186
    00187 namespace CbcOsiParamUtils {
    00188 void addCbcOsiParams(int &numParams, CoinParamVec &paramVec,
    00189                      OsiSolverInterface *osi) ;
    00190 void loadOsiParamObj(const CoinParamVec paramVec,
    00191                      CbcGenCtlBlk *ctlBlk) ;
    00192 void setOsiSolverInterfaceDefaults(OsiSolverInterface *osi) ;
    00193
    00194 int pushCbcOsiLogLevel(CoinParam *param) ;
    00195 int pushCbcOsiInt(CoinParam *param) ;
    00196 int pushCbcOsiDbl(CoinParam *param) ;
    00197 int pushCbcOsiKwd(CoinParam *param) ;
    00198 int pushCbcOsiHint(CoinParam *param) ;
    00199 }
    00200
    00201
    00202 #endif
    00203

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines