BonStrongBranchingSolver.hpp
Go to the documentation of this file.
1 // Copyright (C) 2007, International Business Machines
2 // Corporation and others. All Rights Reserved.
3 //
4 // Author: Andreas Waechter 2007-08-20 IBM
5 //
6 #ifndef BonStrongBranchingSolver_H
7 #define BonStrongBranchingSolver_H
8 
10 #include "BonRegisteredOptions.hpp"
11 namespace Bonmin {
12 
17 class StrongBranchingSolver : public Ipopt::ReferencedObject {
18 
19 public:
20 
23 
28 
30  virtual ~StrongBranchingSolver ();
31 
34  virtual void markHotStart(OsiTMINLPInterface* tminlp_interface) = 0;
35 
37  virtual TNLPSolver::ReturnStatus solveFromHotStart(OsiTMINLPInterface* tminlp_interface) = 0;
38 
40  virtual void unmarkHotStart(OsiTMINLPInterface* tminlp_interface) = 0;
41 
42 protected:
43 
45  {
46  return jnlst_;
47  }
49  {
50  return options_;
51  }
53  {
54  return reg_options_;
55  }
56 private:
59 
63 
65 
66 };
67 
68 }
69 #endif
Ipopt::SmartPtr< Ipopt::OptionsList > options_
This class is the base class for a solver that can be used in BonOsiSolverInterface to perform the st...
This is class provides an Osi interface for a Mixed Integer Linear Program expressed as a TMINLP (so ...
virtual void markHotStart(OsiTMINLPInterface *tminlp_interface)=0
Called to initialize solver before a bunch of strong branching solves.
Ipopt::SmartPtr< Ipopt::Journalist > & Jnlst()
virtual TNLPSolver::ReturnStatus solveFromHotStart(OsiTMINLPInterface *tminlp_interface)=0
Called to solve the current TMINLP (with changed bound information)
ReturnStatus
Standard return statuses for a solver.
virtual ~StrongBranchingSolver()
Destructor.
Ipopt::SmartPtr< Bonmin::RegisteredOptions > reg_options_
StrongBranchingSolver & operator=(const StrongBranchingSolver &rhs)
Assignment operator.
Ipopt::SmartPtr< Ipopt::Journalist > jnlst_
virtual void unmarkHotStart(OsiTMINLPInterface *tminlp_interface)=0
Called after all strong branching solves in a node.
StrongBranchingSolver()
Default Constructor, forbiden for some reason.
Ipopt::SmartPtr< Ipopt::OptionsList > & Options()
Ipopt::SmartPtr< RegisteredOptions > & RegOptions()