线性规划问题的求解——Excel和python编程
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                线性规划问题的求解——Excel和python编程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                線性規劃問題的求解——Excel和python編程
- 問題描述
- 一:Excel 線性規劃
- 二:python 編程線性規劃
問題描述
-  現有5個廣告投放渠道:日間電視、夜間電視、網絡媒體、平面媒體、戶外廣告。 
-  每個渠道的效果、廣告費用、限制數據如下表: 
 
1.電視廣告費用不超過 3 萬元:3w:1000x1+2000x2<=30000
2.電視廣告次數至少進行 20 次:x1+x2>=20
3.廣告總費用不超過 4 萬元:1000x1+2000x2+400x3+1000x4+100x5<=40000
4.被告知人數至少 10 萬人:2000x1+4000x2+3000x3+5000x4+600x5>=1000000
5.各媒體使用次數不超過次數限量:x1<=14 x2<=8 x3<=40 x4<=5 x5<=50
一:Excel 線性規劃
首先使用 Excel 2016建立一個數據表:
 
 C10 單元格內輸入:=SUMPRODUCT(E2:E6,F2:F6)
 
 將第一部分所寫的約束條件表達式設置在 Excel 中。
 在 C15:C18 單元格內依次輸入公式:
C15:=SUMPRODUCT(C2:C3,F2:F3)
 C16:=F2+F3
 C17:=SUMPRODUCT(C2:C6,F2:F6)
 C18:=SUMPRODUCT(B2:B6,F2:F6)
 加載 Excel 的規劃求解模塊:
 
 設置約束條件
 
 求解方法選擇:單純線性規劃
 最后得到
 
二:python 編程線性規劃
scipy 庫中線性規劃求解函數的說明:
 函數原型
使用 Jupter 編寫代碼:
#導入包 from scipy import optimize import numpy as np #創建矩陣,c為目標函數的矩陣,A_ub為約束條件的左邊構成的矩陣,B_ub為約束條件的右邊 c=np.array([600,800,500,400,300]) A_ub=np.array([[1000,2000,0,0,0],[-1,-1,0,0,0],[1000,2000,400,1000,100],[-2000,-4000,-3000,-5000,-600],[1,0,0,0,0],[0,1,0,0,0],[0,0,1,0,0],[0,0,0,1,0],[0,0,0,0,1]]) B_ub=np.array([30000,-20,40000,-100000,14,8,40,5,50])總結
以上是生活随笔為你收集整理的线性规划问题的求解——Excel和python编程的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: pbrt学习
- 下一篇: SQL Server 【不允许保存更改】
