00001 // Name: CglParam.hpp 00002 // Author: Francois Margot 00003 // Tepper School of Business 00004 // Carnegie Mellon University, Pittsburgh, PA 15213 00005 // email: fmargot@andrew.cmu.edu 00006 // Date: 11/24/06 00007 //----------------------------------------------------------------------------- 00008 // Copyright (C) 2006, Francois Margot and others. All Rights Reserved. 00009 00010 #ifndef CglParam_H 00011 #define CglParam_H 00012 #include "CoinFinite.hpp" 00017 class CglParam { 00018 00019 public: 00020 00023 00025 virtual void setINFINIT(const double inf); 00027 inline double getINFINIT() const {return INFINIT;} 00028 00030 virtual void setEPS(const double eps); 00032 inline double getEPS() const {return EPS;} 00033 00035 virtual void setEPS_COEFF(const double eps_c); 00037 inline double getEPS_COEFF() const {return EPS_COEFF;} 00038 00040 virtual void setMAX_SUPPORT(const int max_s); 00042 inline int getMAX_SUPPORT() const {return MAX_SUPPORT;} 00044 00047 00048 CglParam(const double inf = DBL_MAX, const double eps = 1e-6, 00049 const double eps_c = 1e-5, const int max_s = COIN_INT_MAX); 00050 00052 CglParam(const CglParam&); 00053 00055 virtual CglParam* clone() const; 00056 00058 virtual CglParam& operator=(const CglParam &rhs); 00059 00061 virtual ~CglParam(); 00063 00064 protected: 00065 00066 // Protected member data 00067 00071 // Value for infinity. Default: DBL_MAX. 00072 double INFINIT; 00073 00074 // EPSILON for double comparisons. Default: 1e-6. 00075 double EPS; 00076 00077 // Returned cuts do not have coefficients with absolute value smaller 00078 // than EPS_COEFF. Default: 1e-5. 00079 double EPS_COEFF; 00080 00083 int MAX_SUPPORT; 00085 00086 }; 00087 00088 #endif