【问题标题】:Maximum number of decision variables in scipy linear programming module in pythonpython中scipy线性规划模块中决策变量的最大数量
【发布时间】:2019-12-25 23:54:18
【问题描述】:

python 中的 scipy 线性编程模块(最小化)中的决策变量是否有最大限制?如果是这样,是否可以将决策变量的数量扩展到 10000 个?如果 scipy 仅限于决策变量的数量,是否有任何其他软件可以安装在 python 中以便我可以继续使用?

【问题讨论】:

    标签: scipy linear-programming scipy-optimize


    【解决方案1】:

    最初的 scipy Simplex LP 求解器仅适用于非常小的问题。较新的 scipy 内点求解器可以更可靠地处理更大的问题。还要确保将 A_eq 和/或 A_ub 作为稀疏矩阵传递。如果你不这样做,你可能会耗尽内存。

    话虽如此,我会更喜欢 LP 求解器,它们比 scipy 看到更多的大型稀疏问题。大多数 LP 求解器都有 Python 接口。

    最后,较大的问题通常(但并非总是)更复杂,使用建模工具可能会有所帮助。这将使您能够以比使用矩阵更自然的方式表达问题。对于 Python,有 PuLP 和 Pyomo(等等)。一些商业求解器还提供出色的建模工具。

    【讨论】:

    • 我正在研究一个零件需要 LP 求解的最优运输问题。由于我的整个代码都在 python 中,是的,我尝试过 simplex,因为你指出我可以去的最大值是 625 左右,有时甚至小于这个值。我正在寻找一个可以免费获得并且可以安装在 python 中的软件。提前致谢
    • 运输问题是一个非常简单且非常稀疏的 LP(每列 2 个非零)。内点求解器应该在这方面做得很好。对于这个问题,有更快、更专业的算法。
    • 详情请见link
    • 我想你可以看到,当你给它运输问题的等式表述时。如果将其转换为不等式格式,则该消息可能会消失。对于这种特殊情况,我不会担心这个警告。
    • 我猜,如果你连距离都计算不出来,就不用担心求解LP了。
    猜你喜欢
    • 2020-09-14
    • 2017-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多