Bonmin  1.8.8
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  {
44  }
45 
46  static void registerOptions(Ipopt::SmartPtr<Bonmin::RegisteredOptions> roptions);
47 
48  private:
51 
53  OsiSolverInterface* lin_;
54 
56  CoinWarmStart* warm_;
57 
60 
63 
65  double abs_ecp_tol_;
66 
68  double rel_ecp_tol_;
69 
70 
72  Basis=0 ,
74  };
77  };
78 
79 }
80 #endif
WarmStartMethod warm_start_mode_
Way problems are warm started.
This class is the base class for a solver that can be used in BonOsiSolverInterface to perform the st...
virtual TNLPSolver::ReturnStatus solveFromHotStart(OsiTMINLPInterface *tminlp_interface)
Called to solve the current TMINLP (with changed bound information)
This is class provides an Osi interface for a Mixed Integer Linear Program expressed as a TMINLP (so ...
CoinWarmStart * warm_
Warm start object for linear solver.
static void registerOptions(Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
LpBranchingSolver()
Default Constructor.
double abs_ecp_tol_
absolute tolerance for ECP cuts
int maxCuttingPlaneIterations_
Number of maximal ECP cuts.
A class to have all elements necessary to setup a branch-and-bound.
virtual ~LpBranchingSolver()
Destructor.
Implementation of BonChooseVariable for curvature-based braching.
LpBranchingSolver & operator=(const LpBranchingSolver &rhs)
Assignment operator.
ReturnStatus
Standard return statuses for a solver.
OsiSolverInterface * lin_
Linear solver.
virtual void markHotStart(OsiTMINLPInterface *tminlp_interface)
Called to initialize solver before a bunch of strong branching solves.
virtual void unmarkHotStart(OsiTMINLPInterface *tminlp_interface)
Called after all strong branching solves in a node.
EcpCuts * ecp_
Ecp cut generate.
double rel_ecp_tol_
relative tolerance for ECP cuts