2011-04-26 24 views
21

快速搜索「python線性編程」會產生很多點擊(例如this one)。通過他們看,我看到a fair number of complaints關於過時的依賴關係,文檔很差,等等。我應該在python中使用哪些庫進行線性編程?

任何人都可以推薦一個無頭疼(例如,快速,記錄完整,易於安裝,乾淨的API)線性編程庫的Python?

+0

這裏有一些更多... http://www.scipy.org/Topical_Software – dfb 2011-04-26 16:30:30

回答

8

我建議你看和/或Pyomo

+1

這些適用於大型實例,可以說至少是變數和成千上萬的約束的嗡嗡聲。 – 2012-11-07 16:15:57

+0

好問題。我不確定PULP和Pyomo如何解決大問題。但是,我可以說大部分我的朋友都遇到了巨大的優化問題(主要是集成電路佈局),他們使用IBM CPLEX作爲他們的優化解決方案。基於快速的谷歌搜索,有一個用於Python的CPLEX API。但是,CPLEX不適用於非學術用途。 – solvingPuzzles 2012-11-08 01:43:45

+0

...我剛剛檢查了你的stackexchange個人資料,Andreas,看起來你是一名研究生。您可以獲得免費的CPLEX許可證。 :) – solvingPuzzles 2012-11-08 01:44:53

2

我不知道你在做什麼,但是NumPy/SciPy通常是第一個在Python中查找任何相關數學的地方。

+0

Numpy是一個數組庫,爲了向後兼容性而增加了一些額外的功能。 Scipy有一些優化例程,但到目前爲止,我認爲它只是一般的非線性求解器。 Scipy目前沒有專門用於線性程序的求解器。 – cjordan1 2013-01-23 17:43:15

5

cvxopt由Lieven Vandenberghe和他的一些合作者撰寫。 (這是Boyd和Vandenberghe廣泛使用的凸優化教科書的Vandenberghe。)它是一個普通的凸錐形編程解算器,並使用內點法。從正面來看,它有很好的文檔記錄,有很多例子,並且易於使用。我相信它的規模相當不錯,但不如Xpress,Gurobi或cplex等商業產品。但是,看起來像是一個包含(純Python)線性編程實現的scipy的pull請求。因此,線性規劃求解器將來可能會出現在scipy中。

+0

爲了記錄,這裏是公關https://github.com/scipy/scipy/pull/218 – astrojuanlu 2013-06-20 15:31:41

1

您還可以查看or-tools,其中包括圍繞廣泛使用的線性解算器的包裝,如GLPK

相關問題