# 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());
    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