【问题标题】:Is there a wbo-like SAT-Solver for Python?Python 是否有类似 wbo 的 SAT-Solver?
【发布时间】:2013-02-28 03:02:18
【问题描述】:

是否有解决 SAT 问题的 Python 模块/程序?可能是加权布尔值。 (具体来说,类似wbo

或者,如果没有,则可能存在绑定或 API 来使用这些求解器之一。

我不认为我现在可以自己编程。

【问题讨论】:

    标签: python computer-science solver


    【解决方案1】:

    为了解决 SAT 问题,我建议使用 MiniSat (http://minisat.se)、Glucose (https://www.lri.fr/~simon/?page=glucose) 或 Picosat (http://fmv.jku.at/picosat) 等等。在伪布尔优化的情况下,我知道 MiniSat+ (http://minisat.se/MiniSat+.html) 和 Gurobi (http://www.gurobi.com)。我认为所有这些都是免费的,除了 Gurobi,它提供试用和学术许可)。

    它们都提供了一个命令行界面,其中包含可在 Python 中轻松生成/读取的输入和输出文件。此外,Gurobi 具有完整的 Python shell。

    【讨论】:

    • 另外,由于您使用的是 Python,请查看 PuLP (pythonhosted.org/PuLP),这是一个用 Python 编写的 LP 建模器。
    【解决方案2】:

    Picosat 具有 Python 绑定 (pycosat)

    【讨论】:

    • 上手超级简单,并且在网络上有示例(例如数独)。非常自然的子句(正整数或负整数)。我没有看到优化功能(加权软约束),但它就在那里,在pip install pycosat 之后可用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-03
    • 1970-01-01
    相关资源
    最近更新 更多