5#ifndef IDOL_IMPL_MOSTINFEASIBLE_H 
    6#define IDOL_IMPL_MOSTINFEASIBLE_H 
    9#include "VariableBranching.h" 
   11namespace idol::BranchingRules {
 
   12    template<
class NodeInfoT> 
class MostInfeasible;
 
   15template<
class NodeInfoT>
 
   18    std::list<std::pair<Var, double>> scoring_function(
const std::list<Var> &t_var, 
const Node<NodeInfoT> &t_node) 
override;
 
 
   23template<
class NodeInfoT>
 
   28template<
class NodeInfoT>
 
   29std::list<std::pair<idol::Var, double>>
 
   33    const auto& primal_solution = t_node.info().primal_solution();
 
   35    std::list<std::pair<Var, double>> result;
 
   37    for (
const auto& var : t_variables) {
 
   38        const double value = primal_solution.get(var);
 
   39        const double score = std::abs(value - std::round(value));
 
   40        result.emplace_back(var, score);