Cgl  trunk
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
CglAllDifferent.hpp
Go to the documentation of this file.
00001 // Copyright (C) 2005, International Business Machines
00002 // Corporation and others.  All Rights Reserved.
00003 // This code is licensed under the terms of the Eclipse Public License (EPL).
00004 
00005 #ifndef CglAllDifferent_H
00006 #define CglAllDifferent_H
00007 
00008 #include <string>
00009 
00010 #include "CglCutGenerator.hpp"
00011 
00020 class CglAllDifferent : public CglCutGenerator {
00021  
00022 public:
00023     
00024   
00029   virtual void generateCuts( const OsiSolverInterface & si, OsiCuts & cs,
00030                              const CglTreeInfo info = CglTreeInfo()) const;
00032 
00033 
00036 
00037   CglAllDifferent ();
00038 
00040   CglAllDifferent(int numberSets, const int * starts, const int * which);
00041  
00043   CglAllDifferent (
00044     const CglAllDifferent &);
00045 
00047   virtual CglCutGenerator * clone() const;
00048 
00050   CglAllDifferent &
00051     operator=(
00052     const CglAllDifferent& rhs);
00053   
00055   virtual
00056     ~CglAllDifferent ();
00058   virtual std::string generateCpp( FILE * fp);
00059 
00061   virtual void refreshSolver(OsiSolverInterface * solver);
00069   virtual bool mayGenerateRowCutsInTree() const
00070   { return false;}
00072 
00074 
00075   inline void setLogLevel(int value)
00076   { logLevel_=value;}
00078   inline int getLogLevel() const
00079   { return logLevel_;}
00081   inline void setMaxLook(int value)
00082   { maxLook_=value;}
00084   inline int getMaxLook() const
00085   { return maxLook_;}
00087       
00088 private:
00089   
00090  // Private member methods
00093 
00094 
00095   // Private member data
00096 
00099 
00100   int numberSets_;
00102   int numberDifferent_;
00104   int maxLook_;
00106   int logLevel_;
00108   int * start_;
00110   int * which_;
00112   int * originalWhich_;
00114 };
00115 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines