/home/coin/SVN-release/CoinAll-1.1.0/Osi/src/OsiRowCutDebugger.hpp

Go to the documentation of this file.
00001 // Copyright (C) 2000, International Business Machines
00002 // Corporation and others.  All Rights Reserved.
00003 #ifndef OsiRowCutDebugger_H
00004 #define OsiRowCutDebugger_H
00005 
00006 #include <string>
00007 
00008 #include "OsiCuts.hpp"
00009 #include "OsiSolverInterface.hpp"
00010 
00012 class OsiRowCutDebugger {
00013   friend void OsiRowCutDebuggerUnitTest(const OsiSolverInterface * siP,    
00014                                         const std::string & mpsDir);
00015 
00016 public:
00017   
00030   virtual int validateCuts(const OsiCuts & cs, int first, int last) const;
00031 
00033   virtual bool invalidCut(const OsiRowCut & rowcut) const;
00034 
00036   const double * optimalSolution() const
00037   { return optimalSolution_;}
00038 
00040   int numberColumns() const { return (numberColumns_) ; }
00042 
00049   bool activate(const OsiSolverInterface & si, const char * model);
00055   bool activate(const OsiSolverInterface & si, const double * solution);
00057   void redoSolution(int numberColumns,const int * originalColumns);
00059 
00066   bool onOptimalPath(const OsiSolverInterface & si) const;
00068 
00071 
00072   bool active() const;
00074 
00077 
00078   OsiRowCutDebugger ();
00079 
00083   OsiRowCutDebugger (const OsiSolverInterface & si, const char * model);
00084 
00085   // Constructor with full solution (only integers need be correct)
00086   OsiRowCutDebugger (const OsiSolverInterface & si, const double * solution);
00087  
00089   OsiRowCutDebugger (
00090     const OsiRowCutDebugger &);
00091 
00093   OsiRowCutDebugger &
00094     operator=(
00095     const OsiRowCutDebugger& rhs);
00096   
00098   virtual
00099     ~OsiRowCutDebugger ();
00101       
00102 private:
00103   
00104  // Private member methods
00105 
00106 
00109 
00111 
00112   // Private member data
00113 
00116 
00117   int numberColumns_;
00119   bool * integerVariable_;
00121   double * optimalSolution_;
00123 };
00124 
00125 //#############################################################################
00131 void
00132 OsiRowCutDebuggerUnitTest(const OsiSolverInterface * siP,    
00133                           const std::string & mpsDir);
00134   
00135 #endif

Generated on Sun Nov 14 14:06:40 2010 for Coin-All by  doxygen 1.4.7