Current implementations of pseudo-Boolean (PB) solvers working on native PB constraints are based on the CDCL architecture which empowers highly efficient modern SAT solvers. In particular, such PB solvers not only implement a (cutting-planes-based) conflict analysis procedure, but also complementary strategies for components that are crucial for the efficiency of CDCL, namely branching heuristics, learned constraint deletion and restarts. However, these strategies are mostly reused by PB solvers without considering the particular form of the PB constraints they deal with. In this paper, we present and evaluate different ways of adapting CDCL strategies to take the specificities of PB constraints into account while preserving the behavior they have in the clausal setting. We implemented these strategies in two different solvers, namely Sat4j (for which we consider three configurations) and RoundingSat. Our experiments show that these dedicated strategies allow to improve, sometimes significantly, the performance of these solvers, both on decision and optimization problems.
翻译:目前针对本地 PB 限制的假Boolean (PB) 解决方案的实施基于CDCL 架构,该架构赋予了高效现代SAT 解决方案的功能,特别是,此类PB 解决方案不仅实施一个(以切除机为基础的)冲突分析程序,而且针对对 CCDCL 效率至关重要的部件,即支流结构、学习到的制约删除和重新启动实施互补战略。然而,这些战略大多被PB 解决方案的解决方案重新使用,而没有考虑到它们所处理的PB 制约的具体形式。在本文件中,我们介绍并评估了调整CDCL 战略的不同方法,以考虑到PB 制约的特殊性,同时保留其在统一环境中的行为。我们在不同解决方案中实施了这些战略,即Sat4j (我们考虑三种配置) 和 RyulingSat 。我们的实验表明,这些专门战略允许(有时显著地)改善这些解决方案在决定和优化问题上的绩效。