idol
A C++ Framework for Optimization
Loading...
Searching...
No Matches
Factory.h
1
//
2
// Created by henri on 23.11.23.
3
//
4
5
#ifndef IDOL_BRANCHADNDBOUND_LOGGERFACTORY_H
6
#define IDOL_BRANCHADNDBOUND_LOGGERFACTORY_H
7
8
#include "idol/mixed-integer/optimizers/branch-and-bound/nodes/DefaultNodeInfo.h"
9
10
namespace
idol {
11
namespace
Optimizers {
12
template
<
class
NodeInfoT>
class
BranchAndBound;
13
}
14
namespace
Logs::BranchAndBound {
15
template
<
class
NodeInfoT>
class
Factory;
16
}
17
}
18
19
template
<
class
NodeInfoT =
id
ol::DefaultNodeInfo>
20
class
idol::Logs::BranchAndBound::Factory
{
21
public
:
22
virtual
~Factory
() =
default
;
23
24
class
Strategy
{
25
Optimizers::BranchAndBound<NodeInfoT>
& m_parent;
26
protected
:
27
Optimizers::BranchAndBound<NodeInfoT>
& parent() {
return
m_parent; }
28
const
Optimizers::BranchAndBound<NodeInfoT>
& parent()
const
{
return
m_parent; }
29
public
:
30
Strategy
(
Optimizers::BranchAndBound<NodeInfoT>
& t_parent) : m_parent(t_parent) {}
31
32
virtual
~Strategy
() =
default
;
33
34
virtual
void
initialize() {}
35
36
virtual
void
log_node_after_solve(
const
Node<NodeInfoT>
& t_node) {}
37
38
virtual
void
log_after_termination() {}
39
};
40
41
virtual
Strategy
* operator()(
Optimizers::BranchAndBound<NodeInfoT>
& t_parent)
const
= 0;
42
43
virtual
Factory
* clone()
const
= 0;
44
};
45
46
#endif
//IDOL_BRANCHADNDBOUND_LOGGERFACTORY_H
idol::Logs::BranchAndBound::Factory::Strategy
Definition
Factory.h:24
idol::Logs::BranchAndBound::Factory
Definition
Factory.h:20
idol::Node
Definition
Node.h:16
idol::Optimizers::BranchAndBound
Definition
Optimizers_BranchAndBound.h:30
lib
include
idol
mixed-integer
optimizers
branch-and-bound
logs
Factory.h
Generated by
1.9.8