idol
A C++ Framework for Optimization
Loading...
Searching...
No Matches
FirstInfeasibleFound.h
1
//
2
// Created by henri on 17.10.23.
3
//
4
5
#ifndef IDOL_IMPL_FIRSTINFEASIBLEFOUND_H
6
#define IDOL_IMPL_FIRSTINFEASIBLEFOUND_H
7
8
#include "VariableBranching.h"
9
10
namespace
idol::BranchingRules {
11
template
<
class
NodeInfoT>
class
FirstInfeasibleFound;
12
}
13
14
template
<
class
NodeInfoT>
15
class
idol::BranchingRules::FirstInfeasibleFound
:
public
VariableBranching
<NodeInfoT> {
16
protected
:
17
std::list<std::pair<Var, double>> scoring_function(
const
std::list<Var> &t_var,
const
Node<NodeInfoT>
&t_node)
override
;
18
public
:
19
explicit
FirstInfeasibleFound
(
const
Optimizers::BranchAndBound<NodeInfoT>
& t_parent, std::list<Var> t_branching_candidates);
20
};
21
22
template
<
class
NodeInfoT>
23
idol::BranchingRules::FirstInfeasibleFound<NodeInfoT>::FirstInfeasibleFound
(
24
const
idol::Optimizers::BranchAndBound<NodeInfoT>
&t_parent, std::list<Var> t_branching_candidates)
25
:
VariableBranching
<NodeInfoT>(t_parent, std::move(t_branching_candidates)) {}
26
27
template
<
class
NodeInfoT>
28
std::list<std::pair<idol::Var, double>>
29
idol::BranchingRules::FirstInfeasibleFound<NodeInfoT>::scoring_function
(
const
std::list<idol::Var> &t_variables,
30
const
Node<NodeInfoT>
&t_node) {
31
return
{ { t_variables.front(), -1. } };
32
}
33
34
#endif
//IDOL_IMPL_FIRSTINFEASIBLEFOUND_H
idol::BranchingRules::FirstInfeasibleFound
Definition
FirstInfeasibleFound.h:15
idol::BranchingRules::VariableBranching
Definition
VariableBranching.h:19
idol::Node
Definition
Node.h:16
idol::Optimizers::BranchAndBound
Definition
Optimizers_BranchAndBound.h:30
lib
include
idol
mixed-integer
optimizers
branch-and-bound
branching-rules
impls
FirstInfeasibleFound.h
Generated by
1.9.8