OsiRowCutDebugger.hpp
Go to the documentation of this file.
1 // Copyright (C) 2000, International Business Machines
2 // Corporation and others. All Rights Reserved.
3 #ifndef OsiRowCutDebugger_H
4 #define OsiRowCutDebugger_H
5 
6 #include <string>
7 
8 #include "OsiCuts.hpp"
9 #include "OsiSolverInterface.hpp"
10 
13  friend void OsiRowCutDebuggerUnitTest(const OsiSolverInterface * siP,
14  const std::string & mpsDir);
15 
16 public:
17 
30  virtual int validateCuts(const OsiCuts & cs, int first, int last) const;
31 
33  virtual bool invalidCut(const OsiRowCut & rowcut) const;
34 
36  inline const double * optimalSolution() const
37  { return optimalSolution_;}
38 
40  inline int numberColumns() const { return (numberColumns_) ; }
42  inline double optimalValue() const
43  { return optimalValue_;}
45 
52  bool activate(const OsiSolverInterface & si, const char * model);
58  bool activate(const OsiSolverInterface & si, const double * solution);
60  void redoSolution(int numberColumns,const int * originalColumns);
62  int printOptimalSolution(const OsiSolverInterface & si) const;
64 
71  bool onOptimalPath(const OsiSolverInterface & si) const;
73 
76 
77  bool active() const;
79 
82 
84 
88  OsiRowCutDebugger (const OsiSolverInterface & si, const char * model);
89 
90  // Constructor with full solution (only integers need be correct)
91  OsiRowCutDebugger (const OsiSolverInterface & si, const double * solution);
92 
95  const OsiRowCutDebugger &);
96 
99  operator=(
100  const OsiRowCutDebugger& rhs);
101 
103  virtual
106 
107 private:
108 
109  // Private member methods
110 
111 
114 
116 
117  // Private member data
118 
121 
130 };
131 
132 //#############################################################################
138 void
140  const std::string & mpsDir);
141 
142 #endif