• Main Page
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

/build/buildd/coinor-cgl-0.55.0/Cgl/src/CglStored.hpp

Go to the documentation of this file.
00001 // Copyright (C) 2005, International Business Machines
00002 // Corporation and others.  All Rights Reserved.
00003 #ifndef CglStored_H
00004 #define CglStored_H
00005 
00006 #include <string>
00007 
00008 #include "CglCutGenerator.hpp"
00009 
00010 class CoinWarmStartBasis;
00011 class CglTreeProbingInfo;
00013 class CglStored : public CglCutGenerator {
00014  
00015 public:
00016     
00017   
00028   virtual void generateCuts( const OsiSolverInterface & si, OsiCuts & cs,
00029                              const CglTreeInfo info = CglTreeInfo()) const;
00031 
00036 
00037   inline void setRequiredViolation(double value)
00038   { requiredViolation_=value;}
00040   inline double getRequiredViolation() const
00041   { return requiredViolation_;}
00043   inline void setProbingInfo(CglTreeProbingInfo * info)
00044   { probingInfo_ = info;}
00046 
00049 
00050   void addCut(const OsiCuts & cs);
00052   void addCut(const OsiRowCut & cut);
00054   void addCut(double lb, double ub, const CoinPackedVector & vector);
00056   void addCut(double lb, double ub, int size, const int * colIndices, const double * elements);
00057   inline int sizeRowCuts() const
00058   { return cuts_.sizeRowCuts();}
00059   const OsiRowCut * rowCutPointer(int index) const
00060   { return cuts_.rowCutPtr(index);}
00062   void saveStuff(double bestObjective, const double * bestSolution,
00063                  const double * lower, const double * upper);
00065   inline const double * bestSolution() const
00066   { return bestSolution_;}
00068   double bestObjective() const;
00070   const double * tightLower() const
00071   { return bounds_;} 
00073   const double * tightUpper() const
00074   { return bounds_+numberColumns_;} 
00076 
00079 
00080   CglStored (int numberColumns=0);
00081  
00083   CglStored (const CglStored & rhs);
00084 
00086   CglStored (const char * fileName);
00087 
00089   virtual CglCutGenerator * clone() const;
00090 
00092   CglStored &
00093     operator=(const CglStored& rhs);
00094   
00096   virtual
00097     ~CglStored ();
00099       
00100 protected:
00101   
00102  // Protected member methods
00103 
00104   // Protected member data
00105 
00108 
00109   double requiredViolation_;
00111   CglTreeProbingInfo * probingInfo_;
00113   mutable OsiCuts cuts_;
00115   int numberColumns_;
00117   double * bestSolution_;
00119   double * bounds_;
00121 };
00122 #endif

Generated on Fri Aug 20 2010 23:58:04 for coin-Cgl by  doxygen 1.7.1