用Excel和Python编程完成线性规划问题的求解
生活随笔
收集整理的這篇文章主要介紹了
用Excel和Python编程完成线性规划问题的求解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、實際問題分析——媒體組合案例
- 二、Excel完成線性規劃問題的求解
- 三、Python完成線性規劃的求解
- 四、參考
一、實際問題分析——媒體組合案例
現有五個廣告投放渠道:日間電視、夜間電視、網絡媒體、平面媒體和戶外廣告,每個渠道的效果、費用及限制如下表
設日間電視、夜間電視、網絡媒體、平面媒體和戶外廣告的使用次數依次設為x1,x2,x3,x4,x5,咨詢電話量設為L,則五種媒體資源配置的三要素為:
- 電視廣告費用不超過3萬元,1000x1+2000x2<=30000;
- 電視廣告次數至少進行20次,x1+x2>=20;
- 廣告總費用不超過4萬元,1000x1+2000x2+400x3+1000x4+100x5<=40000;
- 被告知人數至少10萬人,2000x1+4000x2+3000x3+5000x4+600x5>=100000;
- 各媒體使用次數不超過次數限量,x1<=14,x2<=8,x3<=40,x4<=5,x5<=50;
- 各媒體使用次數均為正整數。
二、Excel完成線性規劃問題的求解
錄入上述數據,并增加“各媒體使用次數”列
由前面的分析可知,目標函數為E2:E6與F2:F6區域兩列數組對應元素的乘積之和,在C10單元格中輸入“=SUMPRODUCT(E2:E6,F2:F6)”
將之前的約束條件表達式設置在Excel中(寫公式時前面不要忘了加“=”號)
選擇“文件”->“選項”->“加載項”->“轉到”,勾選“規劃求解加載項”,單擊確定。
這樣數據菜單下就出現了“規劃求解”模塊
- 選擇“數據”->“規劃求解”,設置如下
- 設置約束條件
選擇“遵守約束”后的“添加”,分別設置6個約束條件
約束條件1設置:
約束條件2設置:
約束條件3設置:
約束條件4設置:
約束條件5設置:
約束條件6設置:
設置完成
6. 最終求解結果
三、Python完成線性規劃的求解
- 打開Windows終端,輸入Jupyter Notebook,打開Jupyter工具
- 在Jupyter的web網頁中創建Python文本
- 現在就可以填寫代碼了
完整代碼如下
結果如下
四、參考
基于jupyter notebook的python編程-----通過單純形法、拉格朗日乘子法和scipy庫對比分析求解線性規劃最大值和最優解問題
總結
以上是生活随笔為你收集整理的用Excel和Python编程完成线性规划问题的求解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 毫米波雷达人体姿态估计数据集整理 1 -
- 下一篇: Ubuntu系统安装Java JDK和H