/home/coin/SVN-release/OS-2.4.0/Bonmin/src/Algorithms/Branching/BonQpBranchingSolver.hpp

Go to the documentation of this file.
00001 // Copyright (C) 2007, International Business Machines
00002 // Corporation and others.  All Rights Reserved.
00003 #ifndef BonQpBranchingSolver_H
00004 #define BonQpBranchingSolver_H
00005 
00006 #include "BonStrongBranchingSolver.hpp"
00007 #include "BonBranchingTQP.hpp"
00008 
00009 #ifdef COIN_HAS_FILTERSQP
00010 #include "BonFilterSolver.hpp"
00011 #include "BonBqpdSolver.hpp"
00012 #endif
00013 
00014 namespace Bonmin
00015 {
00016 
00023   class QpBranchingSolver : public StrongBranchingSolver
00024   {
00025 
00026   public:
00027 
00029     QpBranchingSolver (OsiTMINLPInterface * solver);
00030 
00032     QpBranchingSolver (const QpBranchingSolver &);
00033 
00035     QpBranchingSolver & operator= (const QpBranchingSolver& rhs);
00036 
00038     virtual ~QpBranchingSolver ();
00039 
00042     virtual void markHotStart(OsiTMINLPInterface* tminlp_interface);
00043 
00045     virtual TNLPSolver::ReturnStatus solveFromHotStart(OsiTMINLPInterface* tminlp_interface);
00046 
00048     virtual void unmarkHotStart(OsiTMINLPInterface* tminlp_interface);
00049 
00050   private:
00052     QpBranchingSolver ();
00053 
00054     Ipopt::SmartPtr<BranchingTQP> branching_tqp_;
00055 
00056     Ipopt::SmartPtr<TNLPSolver> tqp_solver_;
00057 
00058 #ifdef TIME_BQPD
00059     BqpdSolver::Times times_;
00060 #endif
00061 
00062     bool first_solve_;
00063   };
00064 
00065 }
00066 
00067 #endif

Generated on Thu Sep 22 03:05:53 2011 by  doxygen 1.4.7