如何使用SCIP解决SAT问题?

How to use SCIP to solve SAT problems?

我正在尝试使用 SCIP 来解决 SAT 问题。我的公司使用 Mobaxterm 的 Linux 命令行。 我安装了 SCIPoptsuite 6.0.2。 我无法在网上找到有关如何调用SCIP 解决SAT 问题的任何信息,包括英文和中文。我有很多 cnf 文件,我想调用 SCIP 来解决: enter image description here

有人能指导我怎么做吗?

有了SCIP的交互shell,看一道题就能解决

因此,启动您的 SCIP 二进制文件(如果它是全局安装的,只需执行 scip 就足够了;否则,从您安装它的位置调用二进制文件)。

然后,在互动shell中,阅读问题,例如read 115_3448s.cnf并解决它:optimize。之后,您可以通过 display solution 打印。有关交互式 shell 的简短教程,请参阅 https://scip.zib.de/doc-6.0.2/html/SHELL.php

请注意,SCIP 是一个 CIP 求解器,通常使用 LP 松弛进行边界。如果您想解决 SAT 实例 (set emphasis cpsolver),可以禁用此功能,但与专用的 SAT 求解器相比,开销仍然很大。因此,如果您只想求解纯 SAT 实例,您可能想尝试一个专用的 SAT 求解器。但是,如果您以后考虑添加一些其他一般线性约束,SCIP 应该是一个不错的选择。