我应该在python中使用哪些库进行线性编程?

时间:2011-04-26 13:59:29

标签: python mathematical-optimization linear-programming

快速搜索“python线性编程”会产生很多命中(例如this one)。通过它们,我看到a fair number of complaints关于过时的依赖关系,糟糕的文档等等。

有人可以为python推荐一款没有头痛的(例如快速,文档齐全,易于安装,干净的API)线性编程库吗?

6 个答案:

答案 0 :(得分:9)

我建议您查看PULP和/或Pyomo

答案 1 :(得分:5)

cvxopt由Lieven Vandenberghe和他的一些合作者撰写。 (这与Boyd和Vandenberghe广泛使用的凸优化教科书的Vandenberghe相同。)它是一个通用的凸圆锥编程求解器,并使用内点法。从好的方面来看,它有很多文档,有很多例子,并且易于使用。我相信它的扩展性相当好,但不如Xpress,Gurobi或cplex等商业产品。

看起来有一个包含(纯python)线性编程实现的scipy拉取请求。因此,线性编程求解器将来可能处于scipy状态。

答案 2 :(得分:2)

我不知道你特意想做什么,但NumPy / SciPy通常是第一个在Python中寻找任何数学相关的地方。

答案 3 :(得分:2)

您可以从硬币或图书馆中查看PuLP。

http://www.coin-or.org/projects/

答案 4 :(得分:1)

您还可以查看or-tools,其中包含广泛使用的线性解算器的包装,例如GLPK

答案 5 :(得分:1)

截至2015年,scipy包含一种直接通过scipy.optimize.linprog解决线性规划模型的方法。它使用Simplex算法。