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  {
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
Bonmin::EcpCuts
Definition: BonEcpCuts.hpp:18
Bonmin::TNLPSolver::ReturnStatus
ReturnStatus
Standard return statuses for a solver.
Definition: BonTNLPSolver.hpp:29
Bonmin::LpBranchingSolver::~LpBranchingSolver
virtual ~LpBranchingSolver()
Destructor.
Bonmin::StrongBranchingSolver
This class is the base class for a solver that can be used in BonOsiSolverInterface to perform the st...
Definition: BonStrongBranchingSolver.hpp:17
Bonmin
(C) Copyright International Business Machines Corporation 2007
Definition: BonAmplSetup.hpp:16
Bonmin::LpBranchingSolver::markHotStart
virtual void markHotStart(OsiTMINLPInterface *tminlp_interface)
Called to initialize solver before a bunch of strong branching solves.
Bonmin::LpBranchingSolver
Implementation of BonChooseVariable for curvature-based braching.
Definition: BonLpBranchingSolver.hpp:16
Bonmin::BabSetupBase
A class to have all elements necessary to setup a branch-and-bound.
Definition: BonBabSetupBase.hpp:26
BonStrongBranchingSolver.hpp
Bonmin::LpBranchingSolver::LpBranchingSolver
LpBranchingSolver(const LpBranchingSolver &)
Copy constructor.
BonEcpCuts.hpp
Bonmin::LpBranchingSolver::unmarkHotStart
virtual void unmarkHotStart(OsiTMINLPInterface *tminlp_interface)
Called after all strong branching solves in a node.
Ipopt::SmartPtr
Bonmin::LpBranchingSolver::solveFromHotStart
virtual TNLPSolver::ReturnStatus solveFromHotStart(OsiTMINLPInterface *tminlp_interface)
Called to solve the current TMINLP (with changed bound information)
Bonmin::LpBranchingSolver::setMaxCuttingPlaneIter
void setMaxCuttingPlaneIter(int num)
Definition: BonLpBranchingSolver.hpp:41
OsiSolverInterface
Bonmin::LpBranchingSolver::LpBranchingSolver
LpBranchingSolver(BabSetupBase *b)
Constructor from setup.
Bonmin::OsiTMINLPInterface
This is class provides an Osi interface for a Mixed Integer Linear Program expressed as a TMINLP (so ...
Definition: BonOsiTMINLPInterface.hpp:49
Bonmin::LpBranchingSolver::operator=
LpBranchingSolver & operator=(const LpBranchingSolver &rhs)
Assignment operator.
Bonmin::LpBranchingSolver::registerOptions
static void registerOptions(Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
CoinWarmStart