BonBonminSetup.hpp

Go to the documentation of this file.
00001 // (C) Copyright International Business Machines Corporation 2007
00002 // All Rights Reserved.
00003 // This code is published under the Common Public License.
00004 //
00005 // Authors :
00006 // Pierre Bonami, International Business Machines Corporation
00007 //
00008 // Date : 04/13/2007
00009 #ifndef BonminSetup_H
00010 #define BonminSetup_H
00011 #include "BonBabSetupBase.hpp"
00012 namespace Bonmin
00013 {
00015   enum Algorithm{
00016     Dummy=-1,
00017     B_BB=0,
00018     B_OA=1,
00019     B_QG=2,
00020     B_Hyb=3,
00021     B_Ecp=4
00022   };
00023   /* Bonmin algorithm setup. */
00024   class BonminSetup : public BabSetupBase
00025   {
00026   public:
00028     BonminSetup();
00030     BonminSetup(const BonminSetup & other);
00032     virtual BabSetupBase * clone() const
00033     {
00034       return new BonminSetup(*this);
00035     }
00036     virtual ~BonminSetup()
00037     {}
00041     virtual void registerOptions();
00043     virtual void setBabDefaultOptions(Ipopt::SmartPtr<Bonmin::RegisteredOptions> roptions)
00044     {}
00047     static void registerAllOptions(Ipopt::SmartPtr<Bonmin::RegisteredOptions> roptions);
00049     void initialize(Ipopt::SmartPtr<TMINLP> tminlp, bool createContinuousSolver = true);
00051     void initialize(const OsiTMINLPInterface& nlpSi, bool createContinuousSolver = true);
00053     Bonmin::Algorithm getAlgorithm();
00054   protected:
00056     static void registerMilpCutGenerators(Ipopt::SmartPtr<Bonmin::RegisteredOptions> roptions);
00058     void addMilpCutGenerators();
00060     void initializeBBB();
00062     void initializeBHyb(bool createContinuousSolver = false);
00063   private:
00064     Algorithm algo_;
00065   };
00066 }
00068 #endif
00069 

Generated on Sat Jun 21 03:01:14 2008 for Bonmin by  doxygen 1.4.7