idol
A C++ Framework for Optimization
Loading...
Searching...
No Matches
NodeSelectionRule.h
1
//
2
// Created by henri on 21/03/23.
3
//
4
5
#ifndef IDOL_NODESELECTIONRULE_H
6
#define IDOL_NODESELECTIONRULE_H
7
8
#include "idol/mixed-integer/optimizers/branch-and-bound/nodes/Node.h"
9
#include "idol/mixed-integer/optimizers/branch-and-bound/nodes/NodeSet.h"
10
11
namespace
idol {
12
namespace
Optimizers {
13
template
<
class
NodeInfoT>
14
class
BranchAndBound;
15
}
16
17
template
<
class
NodeInfoT>
class
NodeSelectionRule;
18
}
19
20
template
<
class
NodeInfoT>
21
class
idol::NodeSelectionRule
{
22
Optimizers::BranchAndBound<NodeInfoT>
* m_parent;
23
public
:
24
explicit
NodeSelectionRule
(
Optimizers::BranchAndBound<NodeInfoT>
& t_parent) : m_parent(&t_parent) {}
25
26
virtual
~NodeSelectionRule
() =
default
;
27
28
virtual
typename
NodeSet<Node<NodeInfoT>
>::const_iterator operator()(
const
NodeSet
<
Node<NodeInfoT>
>& t_active_nodes) = 0;
29
30
Optimizers::BranchAndBound<NodeInfoT>
& parent() {
return
*m_parent; }
31
32
const
Optimizers::BranchAndBound<NodeInfoT>
& parent()
const
{
return
*m_parent; }
33
};
34
35
#endif
//IDOL_NODESELECTIONRULE_H
idol::NodeSelectionRule
Definition
NodeSelectionRule.h:21
idol::NodeSet
Definition
NodeSet.h:17
idol::Node
Definition
Node.h:16
idol::Optimizers::BranchAndBound
Definition
Optimizers_BranchAndBound.h:30
lib
include
idol
mixed-integer
optimizers
branch-and-bound
node-selection-rules
impls
NodeSelectionRule.h
Generated by
1.9.8