Bonmin
1.8.9
Toggle main menu visibility
Loading...
Searching...
No Matches
src
Interfaces
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
9
#include "
BonOsiTMINLPInterface.hpp
"
10
#include "
BonRegisteredOptions.hpp
"
11
namespace
Bonmin
{
12
16
17
class
StrongBranchingSolver
:
public
Ipopt::ReferencedObject
{
18
19
public
:
20
22
StrongBranchingSolver
(
OsiTMINLPInterface
* solver);
23
25
StrongBranchingSolver
&
operator=
(
const
StrongBranchingSolver
& rhs);
27
StrongBranchingSolver
(
const
StrongBranchingSolver
& rhs);
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
44
inline
Ipopt::SmartPtr<Ipopt::Journalist>
&
Jnlst
()
45
{
46
return
jnlst_;
47
}
48
inline
Ipopt::SmartPtr<Ipopt::OptionsList>
&
Options
()
49
{
50
return
options_;
51
}
52
inline
Ipopt::SmartPtr<RegisteredOptions>
&
RegOptions
()
53
{
54
return
reg_options_;
55
}
56
private
:
58
StrongBranchingSolver
();
59
60
Ipopt::SmartPtr<Ipopt::Journalist>
jnlst_;
61
Ipopt::SmartPtr<Ipopt::OptionsList>
options_;
62
Ipopt::SmartPtr<Bonmin::RegisteredOptions>
reg_options_;
63
64
int
bb_log_level_;
65
66
};
67
68
}
69
#endif
BonOsiTMINLPInterface.hpp
BonRegisteredOptions.hpp
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::StrongBranchingSolver::Options
Ipopt::SmartPtr< Ipopt::OptionsList > & Options()
Definition
BonStrongBranchingSolver.hpp:48
Bonmin::StrongBranchingSolver::unmarkHotStart
virtual void unmarkHotStart(OsiTMINLPInterface *tminlp_interface)=0
Called after all strong branching solves in a node.
Bonmin::StrongBranchingSolver::markHotStart
virtual void markHotStart(OsiTMINLPInterface *tminlp_interface)=0
Called to initialize solver before a bunch of strong branching solves.
Bonmin::StrongBranchingSolver::operator=
StrongBranchingSolver & operator=(const StrongBranchingSolver &rhs)
Assignment operator.
Bonmin::StrongBranchingSolver::solveFromHotStart
virtual TNLPSolver::ReturnStatus solveFromHotStart(OsiTMINLPInterface *tminlp_interface)=0
Called to solve the current TMINLP (with changed bound information).
Bonmin::StrongBranchingSolver::StrongBranchingSolver
StrongBranchingSolver(OsiTMINLPInterface *solver)
Constructor from solver.
Bonmin::StrongBranchingSolver::Jnlst
Ipopt::SmartPtr< Ipopt::Journalist > & Jnlst()
Definition
BonStrongBranchingSolver.hpp:44
Bonmin::StrongBranchingSolver::StrongBranchingSolver
StrongBranchingSolver(const StrongBranchingSolver &rhs)
Copy constructor.
Bonmin::StrongBranchingSolver::~StrongBranchingSolver
virtual ~StrongBranchingSolver()
Destructor.
Bonmin::StrongBranchingSolver::RegOptions
Ipopt::SmartPtr< RegisteredOptions > & RegOptions()
Definition
BonStrongBranchingSolver.hpp:52
Bonmin::TNLPSolver::ReturnStatus
ReturnStatus
Standard return statuses for a solver.
Definition
BonTNLPSolver.hpp:29
Ipopt::ReferencedObject
Ipopt::SmartPtr
Bonmin
(C) Copyright International Business Machines Corporation 2007
Definition
BonAmplSetup.hpp:16
Generated by
1.17.0