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 ©) 00026 : 00027 OaDecompositionBase(copy) 00028 {} 00030 ~OACutGenerator2(); 00031 00032 void setStrategy(const CbcStrategy & strategy) 00033 { 00034 parameters_.setStrategy(strategy); 00035 } 00036 00037 virtual CglCutGenerator * clone() const 00038 { 00039 return new OACutGenerator2(*this); 00040 } 00042 static void registerOptions(Ipopt::SmartPtr<Bonmin::RegisteredOptions> roptions); 00043 00044 protected: 00046 virtual double performOa(OsiCuts & cs, solverManip &lpManip, 00047 SubMipSolver * &subMip, BabInfo * babInfo, double &cutoff, const CglTreeInfo & info) const; 00049 virtual bool doLocalSearch(BabInfo * babInfo) const; 00050 00051 private: 00052 00053 }; 00054 } 00055 #endif