The hitting set problem asks for a collection of sets over a universe $U$ to find a minimum subset of $U$ that intersects each of the given sets. It is NP-hard and equivalent to the problem set cover. We give a branch-and-bound algorithm to solve hitting set. Though it requires exponential time in the worst case, it can solve many practical instances from different domains in reasonable time. Our algorithm outperforms a modern ILP solver, the state-of-the-art for hitting set, by at least an order of magnitude on most instances.
翻译:击中最少集问题要求给定一个全集$U$上的若干集合,找出$U$的一个最小子集,使其与每个给定集合均有交集。该问题是NP-hard的,且与集合覆盖问题等价。我们提出一种求解击中最少集问题的分支定界算法。尽管在最坏情况下需要指数级时间,该算法仍能在合理时间内解决来自不同领域的许多实际实例。在大多数实例上,我们的算法性能比现代ILP求解器(当前击中最少集问题的最先进求解方法)至少提升一个数量级。