python中的线性编程?

use*_*562 32 python linear-programming

我需要制作线性编程模型.以下是我正在使用的不等式(例如):

6x + 4y <= 24
x + 2y <= 6
-x + y <= 1
y <= 2
Run Code Online (Sandbox Code Playgroud)

我需要找到由这些不等式描述的区域,并在图形中对其进行着色,以及跟踪该区域的边界线的顶点,并以不同的颜色绘制边界线.请参阅下图,了解我正在寻找的内容.

交点的图像.

我正在使用Python 3.2,numpy和matplotlib.在Python中是否有更好的线性编程模块?

Ali*_*Ali 63

更新:答案在过去的4年中已经过时了,这是一个更新.你有很多选择:

  • 匿名的downvotes没有帮助任何人.答案有什么问题? (2认同)

sil*_*ado 19

我建议使用cvxopt包解决Python中的凸优化问题.与Python代码简单例子为一个线性规划是cvxopt的文档中这里.


Gre*_*ner 5

图表用于解决线性程序的唯一时间是作业问题.在所有其他情况下,线性规划问题通过矩阵线性代数来解决.

至于Python,虽然有一些纯Python库,但大多数人使用带有Python绑定的本机库.有许多用于线性编程的免费和商业库.有关详细列表,请参阅线性规划在维基百科或线性规划软件调查中OR/MS今天.

免责声明:我目前在Gurobi Optimization工作,之前曾在提供CPLEX的ILOG工作.

  • 在家庭作业和工作之间也有学习的热情 - 我认为你写的第一句话不合适...... (12认同)

Ses*_*ism 5

其他答案在提供求解器列表方面做得很好。但是,只有PuLP被作为Python语言库来描述LP模型。

另一个不错的选择是Pyomo。与PuLP一样,您可以将问题发送给任何求解器,然后将解决方案读回Python。您还可以操纵求解器参数。我和一个同学在2015年比较了PuLP和Pyomo的性能,我们发现Pyomo可以针对同一问题生成.LP文件,其速度比PuLP快几倍。