python - Python 中的二进制线性规划求解器

标签 python matlab linear-programming

我有一个 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/

相关文章:

python - 如何创建一个带有参数的装饰器来解析请求?

python - jupyter Notebook 上 matplotlib 绘图中的缩放和平移选项

ios - 从 MATLAB 到 XCode 的函数

mathematical-optimization - 我不断收到语法错误,但我不知道为什么

python - CPLEX 目标函数中的线性项和二次项

python - 在 App Engine 数据存储区中包含(而不是引用)一个模型到另一个模型中?

python Pandas : split comma-separated column into new columns - one per value

matlab - uimenu 按钮保持按下状态,只需在其上滑动即可触发其他菜单 : pushbutton behaviour desired

matlab - Octave 中的函数句柄格式

r - 使用 lpsolve 在 R 中进行线性规划