- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- File List
- File Members

# /home/coin/SVN-release/Bcps-0.91.0/Cgl/src/CglRedSplit/CglRedSplitParam.hpp

Go to the documentation of this file.

    00001 // Name:     CglRedSplitParam.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 CglRedSplitParam_H
    00011 #define CglRedSplitParam_H
    00012
    00013 #include "CglParam.hpp"
    00014
    00015
    00018
    00057
    00058 class CglRedSplitParam : public CglParam {
    00059
    00060 public:
    00061
    00068   virtual void setAway(const double value);
    00070   inline double getAway() const {return away_;}
    00071
    00075   virtual void setLUB(const double value);
    00077   inline double getLUB() const {return LUB;}
    00078
    00082   void setEPS_ELIM(const double value);
    00084   double getEPS_ELIM() const {return EPS_ELIM;}
    00085
    00087   virtual void setEPS_RELAX_ABS(const double eps_ra);
    00089   inline double getEPS_RELAX_ABS() const {return EPS_RELAX_ABS;}
    00090
    00092   virtual void setEPS_RELAX_REL(const double eps_rr);
    00094   inline double getEPS_RELAX_REL() const {return EPS_RELAX_REL;}
    00095
    00096   // Set the maximum ratio between largest and smallest non zero
    00097   // coefficients in a cut. Default: 1e8.
    00098   virtual void setMAXDYN(double value);
    00100   inline double getMAXDYN() const {return MAXDYN_LUB;}
    00101
    00102   // Set the maximum ratio between largest and smallest non zero
    00103   // coefficient in a cut involving structural variables with
    00104   // lower or upper bound in absolute value larger than LUB.
    00105   // Should logically be larger or equal to MAXDYN. Default: 1e13.
    00106   virtual void setMAXDYN_LUB(double value);
    00108   inline double getMAXDYN_LUB() const {return MAXDYN_LUB;}
    00109
    00113   virtual void setEPS_COEFF_LUB(const double value);
    00115   inline double getEPS_COEFF_LUB() const {return EPS_COEFF_LUB;}
    00116
    00119   virtual void setMINVIOL(double value);
    00121   inline double getMINVIOL() const {return MINVIOL;}
    00122
    00124   virtual void setUSE_INTSLACKS(int value);
    00126   inline int getUSE_INTSLACKS() const {return USE_INTSLACKS;}
    00127
    00129   virtual void setUSE_CG2(int value);
    00131   inline int getUSE_CG2() const {return USE_CG2;}
    00132
    00135   virtual void setNormIsZero(const double value);
    00137   inline double getNormIsZero() const {return normIsZero;}
    00138
    00141   virtual void setMinReduc(const double value);
    00143   inline double getMinReduc() const {return minReduc;}
    00144
    00150   virtual void setMaxTab(const double value);
    00152   inline double getMaxTab() const {return maxTab_;}
    00154
    00157
    00158   CglRedSplitParam(const double lub = 1000.0,
    00159                    const double eps_elim = 1e-12,
    00160                    const double eps_relax_abs = 1e-8,
    00161                    const double eps_relax_rel = 0.0,
    00162                    const double max_dyn = 1e8,
    00163                    const double max_dyn_lub = 1e13,
    00164                    const double eps_coeff_lub = 1e-13,
    00165                    const double min_viol = 1e-7,
    00166                    const int use_int_slacks = 0,
    00167                    const int use_cg2 = 0,
    00168                    const double norm_zero = 1e-5,
    00169                    const double min_reduc = 0.05,
    00170                    const double away = 0.05,
    00171                    const double max_tab = 1e7);
    00172
    00174   CglRedSplitParam(const CglParam &source,
    00175                    const double lub = 1000.0,
    00176                    const double eps_elim = 1e-12,
    00177                    const double eps_relax_abs = 1e-8,
    00178                    const double eps_relax_rel = 0.0,
    00179                    const double max_dyn = 1e8,
    00180                    const double max_dyn_lub = 1e13,
    00181                    const double eps_coeff_lub = 1e-13,
    00182                    const double min_viol = 1e-7,
    00183                    const int use_int_slacks = 0,
    00184                    const int use_cg2 = 0,
    00185                    const double norm_zero = 1e-5,
    00186                    const double min_reduc = 0.05,
    00187                    const double away = 0.05,
    00188                    const double max_tab = 1e7);
    00189
    00191   CglRedSplitParam(const CglRedSplitParam &source);
    00192
    00194   virtual CglRedSplitParam* clone() const;
    00195
    00197   virtual CglRedSplitParam& operator=(const CglRedSplitParam &rhs);
    00198
    00200   virtual ~CglRedSplitParam();
    00202
    00203 protected:
    00204
    00207
    00210   double LUB;
    00211
    00214    double EPS_ELIM;
    00215
    00218   double EPS_RELAX_ABS;
    00219
    00223   double EPS_RELAX_REL;
    00224
    00225   // Maximum ratio between largest and smallest non zero
    00226   // coefficients in a cut. Default: 1e8.
    00227   double MAXDYN;
    00228
    00229   // Maximum ratio between largest and smallest non zero
    00230   // coefficients in a cut involving structural variables with
    00231   // lower or upper bound in absolute value larger than LUB.
    00232   // Should logically be larger or equal to MAXDYN. Default: 1e13.
    00233   double MAXDYN_LUB;
    00234
    00237   double EPS_COEFF_LUB;
    00238
    00241   double MINVIOL;
    00242
    00244   int USE_INTSLACKS;
    00245
    00248   int USE_CG2;
    00249
    00252   double normIsZero;
    00253
    00256   double minReduc;
    00257
    00260   double away_;
    00261
    00264   double maxTab_;
    00265
    00267 };
    00268
    00269 #endif