/home/coin/SVN-release/OS-1.1.1/Bonmin/src/Algorithms/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);
00031 
00033     BonminSetup(const BonminSetup &setup,
00034                 OsiTMINLPInterface &nlp);
00035 
00037     virtual BabSetupBase * clone() const
00038     {
00039       return new BonminSetup(*this);
00040     }
00042     virtual BabSetupBase *clone(OsiTMINLPInterface&nlp)const{
00043       return new BonminSetup(*this, nlp);
00044     }
00045     virtual ~BonminSetup()
00046     {}
00050     virtual void registerOptions();
00052     virtual void setBabDefaultOptions(Ipopt::SmartPtr<Bonmin::RegisteredOptions> roptions)
00053     {}
00056     static void registerAllOptions(Ipopt::SmartPtr<Bonmin::RegisteredOptions> roptions);
00058     void initialize(Ipopt::SmartPtr<TMINLP> tminlp, bool createContinuousSolver = true);
00060     void initialize(const OsiTMINLPInterface& nlpSi, bool createContinuousSolver = true);
00062     Bonmin::Algorithm getAlgorithm();
00063   protected:
00065     static void registerMilpCutGenerators(Ipopt::SmartPtr<Bonmin::RegisteredOptions> roptions);
00067     void addMilpCutGenerators();
00069     void initializeBBB();
00071     void initializeBHyb(bool createContinuousSolver = false);
00072   private:
00073     Algorithm algo_;
00074   };
00075 }
00077 #endif
00078 

Generated on Tue Sep 30 03:01:23 2008 by  doxygen 1.4.7