Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members

CglLiftAndProject.hpp

00001 // Copyright (C) 2000, International Business Machines
00002 // Corporation and others.  All Rights Reserved.
00003 #ifndef CglLiftAndProject_H
00004 #define CglLiftAndProject_H
00005 
00006 #include <string>
00007 
00008 #include "CglCutGenerator.hpp"
00009 
00011 class CglLiftAndProject : public CglCutGenerator {
00012    friend void CglLiftAndProjectUnitTest(const OsiSolverInterface * siP,
00013                                         const std::string mpdDir );
00014 
00015 public:
00022   virtual void generateCuts(const OsiSolverInterface & si, OsiCuts & cs) const;
00023 
00027   double getBeta() const {
00028     return beta_;
00029   }
00030 
00034   void setBeta(int oneOrMinusOne){
00035     if (oneOrMinusOne==1 || oneOrMinusOne==-1){
00036       beta_= (double)oneOrMinusOne;
00037     }
00038     else {
00039       throw CoinError("Unallowable value. Beta must be 1 or -1",
00040                       "cutGeneration","CglLiftAndProject");
00041     }
00042   }
00043 
00045 
00048 
00049   CglLiftAndProject ();
00050  
00052   CglLiftAndProject (
00053     const CglLiftAndProject &);
00054 
00056   CglLiftAndProject &
00057     operator=(
00058     const CglLiftAndProject& rhs);
00059   
00061   virtual
00062     ~CglLiftAndProject ();
00064 
00065 private:
00066   
00067  // Private member methods
00068 
00071 
00073 
00074   // Private member data
00075 
00078 
00079   double beta_;  
00081   double epsilon_;  
00083   double onetol_;  
00085 };
00086 
00087 //#############################################################################
00093 void CglLiftAndProjectUnitTest(const OsiSolverInterface * siP,
00094                               const std::string mpdDir );
00095   
00096 #endif

Generated on Wed Dec 3 14:34:55 2003 for Cgl by doxygen 1.3.5