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
10namespace idol::BranchingRules {
11 template<class NodeInfoT> class FirstInfeasibleFound;
12}
13
14template<class NodeInfoT>
16protected:
17 std::list<std::pair<Var, double>> scoring_function(const std::list<Var> &t_var, const Node<NodeInfoT> &t_node) override;
18public:
19 explicit FirstInfeasibleFound(const Optimizers::BranchAndBound<NodeInfoT>& t_parent, std::list<Var> t_branching_candidates);
20};
21
22template<class NodeInfoT>
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
27template<class NodeInfoT>
28std::list<std::pair<idol::Var, double>>
30 const Node<NodeInfoT> &t_node) {
31 return { { t_variables.front(), -1. } };
32}
33
34#endif //IDOL_IMPL_FIRSTINFEASIBLEFOUND_H