Bonmin  1.8.7
BonLpBranchingSolver.hpp
Go to the documentation of this file.
1 // Copyright (C) 2006, 2007 International Business Machines
2 // Corporation and others. All Rights Reserved.
3 #ifndef BonLpBranchingSolver_H
4 #define BonLpBranchingSolver_H
5 
7 #include "BonEcpCuts.hpp"
8 
9 namespace Bonmin
10 {
11 
16  {
17 
18  public:
19 
24 
27 
29  virtual ~LpBranchingSolver ();
30 
33  virtual void markHotStart(OsiTMINLPInterface* tminlp_interface);
34 
37 
39  virtual void unmarkHotStart(OsiTMINLPInterface* tminlp_interface);
40 
41  void setMaxCuttingPlaneIter(int num)
42  {
43  maxCuttingPlaneIterations_ = num;
44  }
45 
47 
48  private:
51 
53  OsiSolverInterface* lin_;
54 
56  CoinWarmStart* warm_;
57 
59  EcpCuts* ecp_;
60 
62  int maxCuttingPlaneIterations_;
63 
65  double abs_ecp_tol_;
66 
68  double rel_ecp_tol_;
69 
70 
71  enum WarmStartMethod {
72  Basis=0 ,
73  Clone
74  };
76  WarmStartMethod warm_start_mode_;
77  };
78 
79 }
80 #endif
virtual void markHotStart(OsiTMINLPInterface *tminlp_interface)
Called to initialize solver before a bunch of strong branching solves.
(C) Copyright International Business Machines Corporation 2007
virtual ~LpBranchingSolver()
Destructor.
This class is the base class for a solver that can be used in BonOsiSolverInterface to perform the st...
virtual void unmarkHotStart(OsiTMINLPInterface *tminlp_interface)
Called after all strong branching solves in a node.
static void registerOptions(Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
This is class provides an Osi interface for a Mixed Integer Linear Program expressed as a TMINLP (so ...
ReturnStatus
Standard return statuses for a solver.
A class to have all elements necessary to setup a branch-and-bound.
virtual TNLPSolver::ReturnStatus solveFromHotStart(OsiTMINLPInterface *tminlp_interface)
Called to solve the current TMINLP (with changed bound information)
Implementation of BonChooseVariable for curvature-based braching.
LpBranchingSolver & operator=(const LpBranchingSolver &rhs)
Assignment operator.