我有一个 Python 脚本,我需要在其中解决线性规划问题。问题是解决方案必须是二进制的。换句话说,我需要相当于 MATLAB 的 bintprog功能。 NumPy 和 SciPy 似乎没有这样的程序。有没有人对我如何做这三件事之一有建议:
找到包含此类函数的 Python 库。
约束问题,使其可以通过更通用的线性规划求解器求解。
将 Python 与 MATLAB 连接起来,以便直接使用 bintprog。
最佳答案
严格来说,如果问题是二进制规划问题,那么它就不是线性规划。
你可以试试CVXOPT .它具有整数规划功能(参见 this )。要使您的问题成为二进制程序,您需要添加约束 0 <= x <= 1。
编辑:您实际上可以将变量声明为二进制,因此您不需要添加约束 0 <= x <= 1。
cvxopt.glpk.ilp = ilp(...)
Solves a mixed integer linear program using GLPK.
(status, x) = ilp(c, G, h, A, b, I, B)
PURPOSE
Solves the mixed integer linear programming problem
minimize c'*x
subject to G*x <= h
A*x = b
x[I] are all integer
x[B] are all binary
关于python - Python 中的二进制线性规划求解器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3326067/