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 |
不幸的是,我沒有在解決優化任務的經驗,所以我甚至不知道從哪裏開始。我做了什麼:
- 我發現了sciPy優化軟件包,它可以解決這類問題。
- 我對我的功能有一些關於輸入和輸出的看法。投入量應該是每種產品的量,產出應該是利潤。但資源(董事會,員工)的選擇也可能不同。這影響了算法的實現。
您能給我至少任意方向哪兒去了?謝謝!
編輯: 基本上@Balzola是正確的。這是一個簡單的算法。該任務可以通過使用SciPy.optimize.linprog解決方案來解決,該解決方案使用單工。
'''單純形算法=內爾德-mead'''。 scipy.optimize.linprog是正確的候選人,但它很糟糕。 – sascha
@sascha你會推薦什麼? –
開源和免費:Cbc,GLPK,lpsolve(按此順序)。開源,但非免費:SCIP。商業:Gurobi,Cplex Mosek和co。我推薦cvxpy(在安裝時可能需要一些工作才能使CBC/GLPK準備就緒;默認求解器ECOS也可以解決LP問題,並且也比linprog好得多)。或者使用紙漿,即使在窗戶上也很容易安裝並帶來cbc,即使在窗戶上(我不喜歡關於錯誤約束的此lib的設計,但如果用戶非常小心,我會工作)。 – sascha