- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- File List
- File Members

# /home/coin/SVN-release/Alps-1.2.1/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