Bonmin  1.7
BonOACutGenerator2.hpp
Go to the documentation of this file.
00001 // (C) Copyright Carnegie Mellon University 2005
00002 // All Rights Reserved.
00003 // This code is published under the Common Public License.
00004 //
00005 // Authors :
00006 // P. Bonami, Carnegie Mellon University
00007 //
00008 // Date :  05/26/2005
00009 
00010 
00011 #ifndef BonOACutGenerator2_HPP
00012 #define BonOACutGenerator2_HPP
00013 #include "BonOaDecBase.hpp"
00014 
00015 namespace Bonmin
00016 {
00018   class OACutGenerator2 : public OaDecompositionBase
00019   {
00020   public:
00022     OACutGenerator2(BabSetupBase & b);
00023 
00025     OACutGenerator2(const OACutGenerator2 &copy)
00026         :
00027         OaDecompositionBase(copy),
00028         subMip_(new SubMipSolver (*copy.subMip_))
00029     {}
00031     ~OACutGenerator2();
00032 
00033     void setStrategy(const CbcStrategy & strategy)
00034     {
00035       parameters_.setStrategy(strategy);
00036     }
00037 
00038     virtual CglCutGenerator * clone() const
00039     {
00040       return new OACutGenerator2(*this);
00041     }
00043     static void registerOptions(Ipopt::SmartPtr<Bonmin::RegisteredOptions> roptions);
00044 
00045   protected:
00047     virtual double performOa(OsiCuts & cs, solverManip &lpManip,
00048                BabInfo * babInfo, double &cutoff, const CglTreeInfo & info) const;
00050     virtual bool doLocalSearch(BabInfo * babInfo) const;
00051 
00052   private:
00053     SubMipSolver * subMip_;
00054   };
00055 }
00056 #endif