Cgl trunk
|
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 // $Id$ 00009 // 00010 // This code is licensed under the terms of the Eclipse Public License (EPL). 00011 //----------------------------------------------------------------------------- 00012 // Copyright (C) 2006, Francois Margot and others. All Rights Reserved. 00013 00014 #ifndef CglParam_H 00015 #define CglParam_H 00016 #include "CglConfig.h" 00017 #include "CoinFinite.hpp" 00022 class CglParam { 00023 00024 public: 00025 00028 00030 virtual void setINFINIT(const double inf); 00032 inline double getINFINIT() const {return INFINIT;} 00033 00035 virtual void setEPS(const double eps); 00037 inline double getEPS() const {return EPS;} 00038 00040 virtual void setEPS_COEFF(const double eps_c); 00042 inline double getEPS_COEFF() const {return EPS_COEFF;} 00043 00045 virtual void setMAX_SUPPORT(const int max_s); 00047 inline int getMAX_SUPPORT() const {return MAX_SUPPORT;} 00049 00052 00053 CglParam(const double inf = COIN_DBL_MAX, const double eps = 1e-6, 00054 const double eps_c = 1e-5, const int max_s = COIN_INT_MAX); 00055 00057 CglParam(const CglParam&); 00058 00060 virtual CglParam* clone() const; 00061 00063 CglParam& operator=(const CglParam &rhs); 00064 00066 virtual ~CglParam(); 00068 00069 protected: 00070 00071 // Protected member data 00072 00076 // Value for infinity. Default: DBL_MAX. 00077 double INFINIT; 00078 00079 // EPSILON for double comparisons. Default: 1e-6. 00080 double EPS; 00081 00082 // Returned cuts do not have coefficients with absolute value smaller 00083 // than EPS_COEFF. Default: 1e-5. 00084 double EPS_COEFF; 00085 00088 int MAX_SUPPORT; 00090 00091 }; 00092 00093 #endif