Bonmin  1.8.8
BonQpBranchingSolver.hpp
Go to the documentation of this file.
1 // Copyright (C) 2007, International Business Machines
2 // Corporation and others. All Rights Reserved.
3 #ifndef BonQpBranchingSolver_H
4 #define BonQpBranchingSolver_H
5 
6 #include "BonminConfig.h"
8 #include "BonBranchingTQP.hpp"
9 
10 #ifdef COIN_HAS_FILTERSQP
11 #include "BonFilterSolver.hpp"
12 #include "BonBqpdSolver.hpp"
13 #endif
14 
15 namespace Bonmin
16 {
17 
25  {
26 
27  public:
28 
31 
34 
37 
39  virtual ~QpBranchingSolver ();
40 
43  virtual void markHotStart(OsiTMINLPInterface* tminlp_interface);
44 
47 
49  virtual void unmarkHotStart(OsiTMINLPInterface* tminlp_interface);
50 
51  private:
54 
55  Ipopt::SmartPtr<BranchingTQP> branching_tqp_;
56 
57  Ipopt::SmartPtr<TNLPSolver> tqp_solver_;
58 
59 #ifdef TIME_BQPD
60  BqpdSolver::Times times_;
61 #endif
62 
64  };
65 
66 }
67 
68 #endif
This class is the base class for a solver that can be used in BonOsiSolverInterface to perform the st...
This class chooses a variable to branch on.
This is class provides an Osi interface for a Mixed Integer Linear Program expressed as a TMINLP (so ...
Ipopt::SmartPtr< BranchingTQP > branching_tqp_
QpBranchingSolver & operator=(const QpBranchingSolver &rhs)
Assignment operator.
QpBranchingSolver()
Default Constructor.
Ipopt::SmartPtr< TNLPSolver > tqp_solver_
ReturnStatus
Standard return statuses for a solver.
virtual void unmarkHotStart(OsiTMINLPInterface *tminlp_interface)
Called after all strong branching solves in a node.
virtual ~QpBranchingSolver()
Destructor.
virtual void markHotStart(OsiTMINLPInterface *tminlp_interface)
Called to initialize solver before a bunch of strong branching solves.
virtual TNLPSolver::ReturnStatus solveFromHotStart(OsiTMINLPInterface *tminlp_interface)
Called to solve the current TMINLP (with changed bound information)