/home/coin/SVN-release/Cbc-1.1.1/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_;};
00039 
00046   bool activate(const OsiSolverInterface & si, const char * model);
00052   bool activate(const OsiSolverInterface & si, const double * solution);
00054   void redoSolution(int numberColumns,const int * originalColumns);
00056 
00063   bool onOptimalPath(const OsiSolverInterface & si) const;
00065 
00068 
00069   bool active() const;
00071 
00074 
00075   OsiRowCutDebugger ();
00076 
00080   OsiRowCutDebugger (const OsiSolverInterface & si, const char * model);
00081 
00082   // Constructor with full solution (only integers need be correct)
00083   OsiRowCutDebugger (const OsiSolverInterface & si, const double * solution);
00084  
00086   OsiRowCutDebugger (
00087     const OsiRowCutDebugger &);
00088 
00090   OsiRowCutDebugger &
00091     operator=(
00092     const OsiRowCutDebugger& rhs);
00093   
00095   virtual
00096     ~OsiRowCutDebugger ();
00098       
00099 private:
00100   
00101  // Private member methods
00102 
00103 
00106 
00108 
00109   // Private member data
00110 
00113 
00114   int numberColumns_;
00116   bool * integerVariable_;
00118   double * optimalSolution_;
00120 };
00121 
00122 //#############################################################################
00128 void
00129 OsiRowCutDebuggerUnitTest(const OsiSolverInterface * siP,    
00130                           const std::string & mpsDir);
00131   
00132 #endif

Generated on Thu May 15 21:59:06 2008 by  doxygen 1.4.7