/home/coin/SVN-release/Bcp-1.2.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   inline const double * optimalSolution() const
00037   { return optimalSolution_;}
00038 
00040   inline int numberColumns() const { return (numberColumns_) ; }
00042   inline double optimalValue() const
00043   { return optimalValue_;}
00045 
00052   bool activate(const OsiSolverInterface & si, const char * model);
00058   bool activate(const OsiSolverInterface & si, const double * solution);
00060   void redoSolution(int numberColumns,const int * originalColumns);
00062   int printOptimalSolution(const OsiSolverInterface & si) const;
00064 
00071   bool onOptimalPath(const OsiSolverInterface & si) const;
00073 
00076 
00077   bool active() const;
00079 
00082 
00083   OsiRowCutDebugger ();
00084 
00088   OsiRowCutDebugger (const OsiSolverInterface & si, const char * model);
00089 
00090   // Constructor with full solution (only integers need be correct)
00091   OsiRowCutDebugger (const OsiSolverInterface & si, const double * solution);
00092  
00094   OsiRowCutDebugger (
00095     const OsiRowCutDebugger &);
00096 
00098   OsiRowCutDebugger &
00099     operator=(
00100     const OsiRowCutDebugger& rhs);
00101   
00103   virtual
00104     ~OsiRowCutDebugger ();
00106       
00107 private:
00108   
00109  // Private member methods
00110 
00111 
00114 
00116 
00117   // Private member data
00118 
00121 
00122   double optimalValue_;
00124   int numberColumns_;
00126   bool * integerVariable_;
00128   double * optimalSolution_;
00130 };
00131 
00132 //#############################################################################
00138 void
00139 OsiRowCutDebuggerUnitTest(const OsiSolverInterface * siP,    
00140                           const std::string & mpsDir);
00141   
00142 #endif

Generated on Thu Jan 15 03:01:03 2009 for coin-Bcp by  doxygen 1.4.7