Finding a maximum independent set is a fundamental NP-hard problem that is used in many real-world applications. Given an unweighted graph, this problem asks for a maximum cardinality set of pairwise non-adjacent vertices. Some of the most successful algorithms for this problem are based on the branch-and-bound or branch-and-reduce paradigms. In particular, branch-and-reduce algorithms, which combine branch-and-bound with reduction rules, achieved substantial results, solving many previously infeasible instances. These results were to a large part achieved by developing new, more practical reduction rules. However, other components that have been shown to have an impact on the performance of these algorithms have not received as much attention. One of these is the branching strategy, which determines what vertex is included or excluded in a potential solution. The most commonly used strategy selects vertices based on their degree and does not take into account other factors that contribute to the performance. In this work, we develop and evaluate several novel branching strategies for both branch-and-bound and branch-and-reduce algorithms. Our strategies are based on one of two approaches. They either (1) aim to decompose the graph into two or more connected components which can then be solved independently, or (2) try to remove vertices that hinder the application of a reduction rule. Our experiments on a large set of real-world instances indicate that our strategies are able to improve the performance of the state-of-the-art branch-and-reduce algorithms. To be more specific, our reduction-based packing branching rule is able to outperform the default branching strategy of selecting a vertex of highest degree on 65% of all instances tested. Furthermore, our decomposition-based strategy based on edge cuts is able to achieve a speedup of 2.29 on sparse networks (1.22 on all instances).
翻译:找到一个最大独立的数据集是一个根本性的NP- 硬性的问题, 在许多现实世界应用程序中都使用。 在未加权的图表中, 这个问题要求建立一套最基本的基本的双向、 非对称的脊椎。 这一问题的一些最成功的算法基于分支和约束或分支和裁剪模式。 特别是, 分支和编辑算法, 它将分支和削减规则结合起来, 取得了实质性的结果, 解决了许多以前不可行的案例。 这些结果在很大程度上是通过制定新的、 更实际的削减规则而实现的。 然而, 其他显示对这些算法的性能有影响的元素没有得到太多的注意。 其中之一是分支战略, 它决定了什么是垂直, 或是一个潜在解决方案。 最常用的策略根据它们的程度选择了螺旋和削减规则, 并且没有考虑有助于业绩的其他因素。 在这项工作中, 我们制定和评估一些新的分支和分支和分支的削减战略。 但是, 其它部分显示对这些算法的效果, 可以在两个方向上, 一个是直系, 直系, 直系 直到直系 。