/home/coin/SVN-release/Cbc-1.1.1/Cgl/src/CglGomory/CglGomory.hpp

Go to the documentation of this file.
00001 // Copyright (C) 2002, International Business Machines
00002 // Corporation and others.  All Rights Reserved.
00003 #ifndef CglGomory_H
00004 #define CglGomory_H
00005 
00006 #include <string>
00007 
00008 #include "CglCutGenerator.hpp"
00009 
00010 class CoinWarmStartBasis;
00012 class CglGomory : public CglCutGenerator {
00013    friend void CglGomoryUnitTest(const OsiSolverInterface * siP,
00014                                   const std::string mpdDir );
00015  
00016 public:
00017     
00018   
00032   virtual void generateCuts( const OsiSolverInterface & si, OsiCuts & cs,
00033                              const CglTreeInfo info = CglTreeInfo()) const;
00036   int generateCuts( const OsiRowCutDebugger * debugger, 
00037                     OsiCuts & cs,
00038                     const CoinPackedMatrix & columnCopy,
00039                     const double * objective, const double * colsol,
00040                     const double * colLower, const double * colUpper,
00041                     const double * rowLower, const double * rowUpper,
00042                     const char * intVar ,
00043                     const CoinWarmStartBasis* warm,
00044                     const CglTreeInfo info = CglTreeInfo()) const;
00045 
00047   virtual bool needsOptimalBasis() const;
00049 
00052 
00053   void setLimit(int limit);
00055   int getLimit() const;
00057   void setLimitAtRoot(int limit);
00059   int getLimitAtRoot() const;
00061 
00066 
00067   void setAway(double value);
00069   double getAway() const;
00071 
00072 
00075 
00076   CglGomory ();
00077  
00079   CglGomory (
00080     const CglGomory &);
00081 
00083   virtual CglCutGenerator * clone() const;
00084 
00086   CglGomory &
00087     operator=(
00088     const CglGomory& rhs);
00089   
00091   virtual
00092     ~CglGomory ();
00094   virtual std::string generateCpp( FILE * fp);
00096       
00097 private:
00098   
00099  // Private member methods
00100 
00101   // Private member data
00102 
00105 
00106   double away_;
00108   int limit_;
00110   int limitAtRoot_;
00112 };
00113 
00114 //#############################################################################
00120 void CglGomoryUnitTest(const OsiSolverInterface * siP,
00121                         const std::string mpdDir );
00122   
00123 #endif

Generated on Thu May 15 21:59:04 2008 by  doxygen 1.4.7