SCIP代码如何处理SAT问题?

How does the SCIP code treat SAT problems?

我想了解 SCIP 如何处理 SAT 问题。

在SCIP官网上,SAT题建议在看完cnf文件后在命令行输入'set emphasis cpsolver'。 SCIP 求解器将在输入 'optimize' 后执行自己的操作。我不是特别擅长代码跟踪,想知道 SCIP 求解器在键入 'set emphasis cpsolver' 命令后所采用的路径。

此命令是否处理 SAT 问题并简单地从其他地方调用 SAT 求解器?还是把SAT问题看成一个离散优化问题,用割平面、b运行ch、bound等经典方法求解?

到目前为止,我已经 运行 SCIP 完成了 50 道 SAT 题目,每道题目限时 8 小时,但没有结果。在相同的 8 小时时限内使用带有后门的 SAT 求解器可以成功求解大约一半的实例。

当您 运行 set emphasis cpsolver SCIP 显示更改的设置。主要是禁用了 lp-solving,增加了冲突分析的工作限制。 所以 SCIP 运行 的分支定界法有更多的冲突分析并且没有使用 lp 松弛,相反,它使用伪解决方案来进行定界。它不会从其他地方调用 SAT 求解器。

SCIP 可能会被专用的 SAT 求解器超越,这对我来说并不奇怪。另请注意,没有必要将重点设置设置为 cpsolver 以使用 SCIP 解决 SAT 问题,您也可以尝试 运行 默认参数(或者如果您不认为 lp 仅禁用 lp-solving -放松对你的问题很有用)。

希望这些信息对您有所帮助。