現實中遇到的問題,例如現在有N個數,想知道哪些數加起來等於1000 。這時你可以用excel中的規劃求解來很方便的得出答案。
又例如我們們有兩種機器,生產兩種產品各生產一個需要工時3小時和7小時,用電量4千瓦和和5千瓦,需要原材料9噸和5噸。現公司可提供工時300小時,電量250千瓦,原材料為420噸,用於生產兩種產品,其利潤分別為200萬元和210萬元。我們們怎樣安排兩種產品的生產量,所獲得的利潤最大?
以上問題不可否認你可以用其它方法來得出結果。但excel中的規劃求解就是用來解決這類問題的。其實很想是在做應用題,設未知數,然後寫函式。規劃求解的第一步也是將所描述的問題數學化,模型化。接下來按照解題格式來做一下上面的應用題。
下面我們使用excel的規劃求解來解決下以上兩個問題:
開啟excel2016 點選左上角的檔案
選擇最下方的選項
依次選擇載入項----excel載入項然後點選轉到
勾選規劃求解載入項,然後點確定回到excel主介面選擇資料
可以看到規劃求解已載入過來了。
接下來我們們將用這個規劃求解功能解決上面提到的兩個問題。
首先第一個問題
有N個數,想知道哪些數加起來等於1000 。
隨意寫了7個數(A2:A8) 現在我們要在裡面找出相加能等於1000的數。
首先在E4處寫入公式=SUMPRODUCT(A2:A8,B2:B8)
然後選擇資料-----規劃求解
在彈出的對話方塊中
-
設定目標(這裡選擇我們剛剛設定公式的單元格)
-
選擇目標值輸入1000.
-
通過更改可變單元格(選擇B2:B8)。
新增守約束
在規劃求解引數對話方塊中點選新增
在彈出來的新增約束對話方塊中
-
單元格引用選擇B2:B8
-
判斷符選擇BIN(bin表示二進位制數0或1此條約束用來識別符號合我們要求的數值)
然後點選確定回到規劃求解對話方塊
點選求解
可以看到excel的狀態列在飛速的變動,當然你們可能看不到。因為這個取決於你的電腦速度和你處理的資料量有關,如果你的電腦配置很高,或資料量很小。會直接跳出如下對話方塊
直接點選確定。我們要的結果就出來了
在B2:B8單元格中顯示1所對應的A列單元格相加就是1000
本列中可以看出A2(400)+A7(600)相加剛好是1000。
現在來處理第二個問題
有兩種機器,生產兩種產品各生產一個需要工時3小時和7小時,用電量4千瓦和和5千瓦,需要原材料9噸和5噸。現公司可提供工時300小時,電量250千瓦,原材料為420噸,用於生產兩種產品,其利潤分別為200萬元和210萬元。我們們怎樣安排兩種產品的生產量,所獲得的利潤最大?
分析下題目
設 機器A產量為x,機器B產量為y。最大利潤為Pmax
x,y >=0 x,y的產量不可能為0
3x+7y<=300 A和B生產產品的總工時不能超過公司可提供的工時300小時
4x+5y<=250 A和B生產產品的電量不能超過公司提供的250千瓦
9x+5y<=420 A和B生產產品的原材料不能超過公司提供的420噸
Pmax=200x+210y 求利潤最大化
跟據上面的條件做出如下表格。
首先產量我們隨機填入(A機器產量為15,B機器產量為30)
可以看出A機器生產15個+B機器生產30個所需要的工時,用電量,原材料均未超過公司可提供的用量。總利潤是由隨機填入的產量(15*200+30*210)得來。也就是說A機器生產15個B機器生產30個公司的總利潤為9300。但這並沒有達到利潤最大化。現在我們就用規劃求解來最大化利潤。
點選資料----規劃求解
在彈出來的規劃求解引數對話方塊設定目標為$B$7也就是總利潤。接著單選框選擇最大值。通過更改可變單元格選擇$B$6:$C$6。就是我們的產量是可變的。
接著點選新增
首選我們兩臺機器的產量不可能為0,所以加添一條遵守約束$B$6:$C$6>=0
點選新增,因我們的需求量不能大於可提供量, 再新增一條遵守約束,$D$2:$D$4<= $E$2:$E$4
點選確定回到規劃求解引數對話方塊。此時我們有條件都是設定好。
點選求解,經過電腦的一頓計算。彈出一個規劃求解結果。
我們直接點選確定
結果出來了。最大利潤可以達到11588,A機器生產34個,B機器生產22.8個。其中原材料剛好用完。用電量剛好符合公司要求。工時只用了261.6小時。