Bonmin
1.7
|
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 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