2016-10-28 163 views
0

我需要用Python解決一個優化任務。 任務如下:SciPy優化算法

面料生產書桌,椅子,局和櫥櫃。爲了生產這種材料,可以使用兩種類型的板。織物有1500米。第一類和1000米。秒。織物有800名員工。應該生產什麼樣的面料和多少錢才能獲得最大的利潤?

的輸入值如下:

|    |   Products    | 
|    | Desk | Chair | Bureau | Cupboard | 
|--------------|------|-------|--------|----------| 
| Board 1 type | 5 | 1  | 9  | 12  | 
| Board 2 type | 2 | 3  | 4  | 1  | 
| Employees | 3 | 2  | 5  | 10  | 
| Profit  | 12 | 5  | 15  | 10  | 

不幸的是,我沒有在解決優化任務的經驗,所以我甚至不知道從哪裏開始。我做了什麼:

  1. 我發現了sciPy優化軟件包,它可以解決這類問題。
  2. 我對我的功能有一些關於輸入和輸出的看法。投入量應該是每種產品的量,產出應該是利潤。但資源(董事會,員工)的選擇也可能不同。這影響了算法的實現。

您能給我至少任意方向哪兒去了?謝謝!

編輯: 基本上@Balzola是正確的。這是一個簡單的算法。該任務可以通過使用SciPy.optimize.linprog解決方案來解決,該解決方案使用單工。

回答

1
+0

'''單純形算法=內爾德-mead'''。 scipy.optimize.linprog是正確的候選人,但它很糟糕。 – sascha

+0

@sascha你會推薦什麼? –

+1

開源和免費:Cbc,GLPK,lpsolve(按此順序)。開源,但非免費:SCIP。商業:Gurobi,Cplex Mosek和co。我推薦cvxpy(在安裝時可能需要一些工作才能使CBC/GLPK準備就緒;默認求解器ECOS也可以解決LP問題,並且也比linprog好得多)。或者使用紙漿,即使在窗戶上也很容易安裝並帶來cbc,即使在窗戶上(我不喜歡關於錯誤約束的此lib的設計,但如果用戶非常小心,我會工作)。 – sascha