Cgl  trunk
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
CglZeroHalf.hpp
Go to the documentation of this file.
00001 // $Id$
00002 // Copyright (C) 2010, International Business Machines
00003 // Corporation and others.  All Rights Reserved.
00004 // This code is licensed under the terms of the Eclipse Public License (EPL).
00005 #ifndef CglZeroHalf_H
00006 #define CglZeroHalf_H
00007 
00008 #include <string>
00009 
00010 #include "CglCutGenerator.hpp"
00011 #include "CoinPackedMatrix.hpp"
00012 #include "Cgl012cut.hpp" 
00013 
00026 class CglZeroHalf : public CglCutGenerator {
00027    friend void CglZeroHalfUnitTest(const OsiSolverInterface * siP,
00028                                          const std::string mpdDir );
00029  
00030 public:
00031 
00037   virtual void generateCuts( const OsiSolverInterface & si, OsiCuts & cs,
00038                              const CglTreeInfo info = CglTreeInfo()) const;
00040 
00043 
00044   inline int getFlags() const
00045   { return flags_;}
00047   inline void setFlags(int value)
00048   { flags_ = value;}
00050 
00053 
00054   CglZeroHalf ();
00055  
00057   CglZeroHalf (
00058     const CglZeroHalf &);
00059 
00061   virtual CglCutGenerator * clone() const;
00062 
00064   CglZeroHalf &
00065     operator=(
00066     const CglZeroHalf& rhs);
00067   
00069   virtual
00070     ~CglZeroHalf ();
00072   virtual std::string generateCpp( FILE * fp);
00074   virtual void refreshSolver(OsiSolverInterface * solver);
00076 
00077 private:
00078   
00079   // Private member methods
00080    
00083 
00084   
00085   
00088 
00089   int mr_;
00091   int mc_;
00093   int mnz_;
00095   int *mtbeg_;
00097   int *mtcnt_;
00099   int *mtind_;
00101   int *mtval_;
00103   int *vlb_;
00105   int *vub_;
00107   int *mrhs_;
00109   char *msense_;
00111   Cgl012Cut cutInfo_;
00115   int flags_;
00117 };
00119 #ifndef CGL_NEW_SHORT
00120 void cglShortestPath(cgl_graph * graph, int source, int maximumLength);
00121 #else
00122 void cglShortestPath(auxiliary_graph * graph, int source, int maximumLength);
00123 #endif
00124 //#############################################################################
00130 void CglZeroHalfUnitTest(const OsiSolverInterface * siP,
00131                                const std::string mpdDir );
00132   
00133 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines