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 
63  bool first_solve_;
64  };
65 
66 }
67 
68 #endif
This is class provides an Osi interface for a Mixed Integer Linear Program expressed as a TMINLP (so ...
This class chooses a variable to branch on.
QpBranchingSolver & operator=(const QpBranchingSolver &rhs)
Assignment operator.
QpBranchingSolver(const QpBranchingSolver &)
Copy constructor.
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)
QpBranchingSolver(OsiTMINLPInterface *solver)
Constructor from solver (so we can set up arrays etc)
virtual void unmarkHotStart(OsiTMINLPInterface *tminlp_interface)
Called after all strong branching solves in a node.
virtual ~QpBranchingSolver()
Destructor.
This class is the base class for a solver that can be used in BonOsiSolverInterface to perform the st...
ReturnStatus
Standard return statuses for a solver.
(C) Copyright International Business Machines Corporation 2007