diff --git a/lib/include/idol/optimizers/branch-and-bound/branching-rules/factories/FirstInfeasibleFound.h b/lib/include/idol/optimizers/branch-and-bound/branching-rules/factories/FirstInfeasibleFound.h index 67550342..5c9ecfc6 100644 --- a/lib/include/idol/optimizers/branch-and-bound/branching-rules/factories/FirstInfeasibleFound.h +++ b/lib/include/idol/optimizers/branch-and-bound/branching-rules/factories/FirstInfeasibleFound.h @@ -16,6 +16,9 @@ class idol::FirstInfeasibleFound : public idol::VariableBranching { public: FirstInfeasibleFound() = default; + template + FirstInfeasibleFound(IteratorT t_begin, IteratorT t_end) : idol::VariableBranching(t_begin, t_end) {} + template class Strategy : public VariableBranching::Strategy { public: diff --git a/lib/include/idol/optimizers/branch-and-bound/branching-rules/factories/LeastInfeasible.h b/lib/include/idol/optimizers/branch-and-bound/branching-rules/factories/LeastInfeasible.h index 61ec161c..544b31e5 100644 --- a/lib/include/idol/optimizers/branch-and-bound/branching-rules/factories/LeastInfeasible.h +++ b/lib/include/idol/optimizers/branch-and-bound/branching-rules/factories/LeastInfeasible.h @@ -16,6 +16,9 @@ class idol::LeastInfeasible : public idol::VariableBranching { public: LeastInfeasible() = default; + template + LeastInfeasible(IteratorT t_begin, IteratorT t_end) : idol::VariableBranching(t_begin, t_end) {} + template class Strategy : public VariableBranching::Strategy { public: diff --git a/lib/include/idol/optimizers/branch-and-bound/branching-rules/factories/MostInfeasible.h b/lib/include/idol/optimizers/branch-and-bound/branching-rules/factories/MostInfeasible.h index 6010dd20..f1b23346 100644 --- a/lib/include/idol/optimizers/branch-and-bound/branching-rules/factories/MostInfeasible.h +++ b/lib/include/idol/optimizers/branch-and-bound/branching-rules/factories/MostInfeasible.h @@ -16,6 +16,9 @@ class idol::MostInfeasible : public idol::VariableBranching { public: MostInfeasible() = default; + template + MostInfeasible(IteratorT t_begin, IteratorT t_end) : idol::VariableBranching(t_begin, t_end) {} + template class Strategy : public VariableBranching::Strategy { public: diff --git a/lib/include/idol/optimizers/branch-and-bound/branching-rules/factories/PseudoCost.h b/lib/include/idol/optimizers/branch-and-bound/branching-rules/factories/PseudoCost.h index 5bf582a6..1c6a1aa6 100644 --- a/lib/include/idol/optimizers/branch-and-bound/branching-rules/factories/PseudoCost.h +++ b/lib/include/idol/optimizers/branch-and-bound/branching-rules/factories/PseudoCost.h @@ -16,6 +16,9 @@ class idol::PseudoCost : public idol::VariableBranching { public: PseudoCost() = default; + template + PseudoCost(IteratorT t_begin, IteratorT t_end) : idol::VariableBranching(t_begin, t_end) {} + template class Strategy : public VariableBranching::Strategy { public: diff --git a/lib/include/idol/optimizers/branch-and-bound/branching-rules/factories/StrongBranching.h b/lib/include/idol/optimizers/branch-and-bound/branching-rules/factories/StrongBranching.h index c0dea7f3..b60dffb4 100644 --- a/lib/include/idol/optimizers/branch-and-bound/branching-rules/factories/StrongBranching.h +++ b/lib/include/idol/optimizers/branch-and-bound/branching-rules/factories/StrongBranching.h @@ -18,6 +18,9 @@ class idol::StrongBranching : public idol::VariableBranching { public: StrongBranching() = default; + template + StrongBranching(IteratorT t_begin, IteratorT t_end) : idol::VariableBranching(t_begin, t_end) {} + template class Strategy : public VariableBranching::Strategy { std::optional m_max_n_variables; diff --git a/lib/include/idol/optimizers/branch-and-bound/branching-rules/factories/UniformlyRandom.h b/lib/include/idol/optimizers/branch-and-bound/branching-rules/factories/UniformlyRandom.h index c25b6f12..79d527c6 100644 --- a/lib/include/idol/optimizers/branch-and-bound/branching-rules/factories/UniformlyRandom.h +++ b/lib/include/idol/optimizers/branch-and-bound/branching-rules/factories/UniformlyRandom.h @@ -17,6 +17,9 @@ class idol::UniformlyRandom : public idol::VariableBranching { public: UniformlyRandom() = default; + template + UniformlyRandom(IteratorT t_begin, IteratorT t_end) : idol::VariableBranching(t_begin, t_end) {} + template class Strategy : public VariableBranching::Strategy { std::optional m_seed;