查看: 6895|回復(fù): 11
打印 上一主題 下一主題

excel做配方的原理——線性規(guī)劃

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2008-3-16 11:32:05 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
Excel在配方中的應(yīng)用--線性規(guī)劃.rar


線性規(guī)劃是解決資源合理調(diào)配的應(yīng)用數(shù)學(xué)分支,它通過滿足線性等式或不等式的約束條件來求解線性目標(biāo)函數(shù)的最大值或最小值。 Office的組件之一Excel自身提供的“加載宏”中有“規(guī)劃求解”一項(xiàng),可以解決各種線性規(guī)劃任務(wù)。用線性規(guī)劃對飼料配方任務(wù)求解時,不需用飼料配方專用軟件,而是在Excel界面下,通過鼠標(biāo)或鍵盤操作,即可得出最低成本的飼料配方最優(yōu)解,且約束條件不受限制,適用于各種中小型飼料廠、規(guī)模養(yǎng)殖場進(jìn)行優(yōu)化飼料配方計(jì)算。本文將如何利用Excel制作飼料配方優(yōu)化系統(tǒng)作一詳細(xì)介紹。
    1 編制飼料配方優(yōu)化線性模型工作表
在飼料配方任務(wù)線性求解中,一般是目標(biāo)函數(shù)(S,即飼料配方成本)取最小值,而待解變量x,即每種飼料在配方中的比例是非負(fù)的。線性規(guī)劃模型如下:
求目標(biāo)函數(shù)(S)=c1x1+c2x2+…cjxj+…cnxn的最小值。
約束條件
a11x1+a12x2+...a1nxn☆b1
a21x1+a22x2+...a2nxn☆b2
.........
am1x1+am2x2+...amnxn☆bm
x1>0,x2>0...xn>0
    上式中cj是原料價(jià)格(元/kg),xj是各種飼料原料,S是飼料配方成本,aij是j種飼料第i種營養(yǎng)成分的含量或?qū)︼暳显线M(jìn)行約束的系數(shù)1,☆表示>,=,<。bj是飼養(yǎng)標(biāo)準(zhǔn)或受約束飼料的值。i=1,2...m,j=1,2... n。
    選定一個工作表,并命名為“線性模型”,將以上模型排列在Excel工作表中,如表1。
表1:飼料配方優(yōu)化線性模型工作表
 
    表1中B3:N24是aij值,Q3:Q24是bj值,B25:N25是cj值,B26:N26是給定原料的初始值,O3:O24是對應(yīng)于初始值時線性方程組左側(cè)的值,O25是給定原料初始值時的目標(biāo)函數(shù)值(S)。在O3中輸入公式:=$B$26*B3+$C$26*C3+ $D$26*D3+…$M$26*M3+$N$26*N3。選中O3,并向下復(fù)制公式至O25。

   2 制作飼料配方結(jié)果工作表
    選定一個工作表,并命名為“飼料配方”,制表如表2。
表2: 飼料配方結(jié)果工作表
 
    在A4中輸入公式:=規(guī)劃模型B2, A5:=規(guī)劃模型C2,同理在A6:A16輸入公式。在B4中輸入公式:=規(guī)劃模型B26*100,B5:=規(guī)劃模型C26*100,同理在B6:B16中輸入公式。在C4中輸入公式:=規(guī)劃模型B25,C5:=規(guī)劃模型C25,同理在C6:C16中輸入公式。在D4中輸入公式:=B4*C4,并向下復(fù)制公式至D16。在F4中輸入公式:=規(guī)劃模型O3,并向下復(fù)制公式至F15。在B17中輸入函數(shù):=SUM(B4:B16), 在D17中輸入函數(shù):=SUM(D4:D16),在F18中輸入函數(shù):=NOW()。

    3 編制飼養(yǎng)標(biāo)準(zhǔn)工作表
    選定一個工作表,并命名為“飼養(yǎng)標(biāo)準(zhǔn)”,制表如表3。
在制作中,飼養(yǎng)標(biāo)準(zhǔn)與線性模型中的營養(yǎng)指標(biāo)順序應(yīng)一致,缺項(xiàng)指標(biāo)對飼養(yǎng)標(biāo)準(zhǔn)來說是此項(xiàng)指標(biāo)不作約束,對飼料數(shù)據(jù)來講是無估測值,可作零處理。放置飼養(yǎng)標(biāo)準(zhǔn)“命令按鈕”,并指定宏。在“飼養(yǎng)標(biāo)準(zhǔn)”工作表界面外的任一工作表下,單擊“工具”菜單,選中“宏”中的“錄制宏”命令,在對話框中“宏名”中輸入“肉雞4周齡以下國標(biāo)”。 單擊“飼養(yǎng)標(biāo)準(zhǔn)”工作表,選中B3:B14單元格區(qū)域,單擊“復(fù)制”命令,選中“規(guī)劃模型”工作表中的Q3:Q14單元格區(qū)域,單擊“粘貼”命令;選中“飼養(yǎng)標(biāo)準(zhǔn)”工作表的B2單元格,單擊“復(fù)制”命令,選中“飼料配方”工作表中的C1單元格,單擊“粘貼”命令;選中“飼養(yǎng)標(biāo)準(zhǔn)”工作表的A2單元格,單擊“復(fù)制”命令,選中“飼料配方”工作表中的C2單元格,單擊“粘貼”命令;單擊“停止錄制”按鈕。選中“飼養(yǎng)標(biāo)準(zhǔn)”工作表,單擊“窗體工具欄”中的“按鈕”,在B15單元格劃方框,在出現(xiàn)對話框中選中“肉雞4周齡以下國標(biāo)”單擊“確定”,選中“按鈕1”,輸入“肉雞0—4周齡”。同理,可制作其他飼養(yǎng)標(biāo)準(zhǔn)的“命令按鈕”。
表3:飼養(yǎng)標(biāo)準(zhǔn)工作表
 
    4 配方求解
     選中“工具”菜單中的“規(guī)劃求解”命令(如果“規(guī)劃求解”命令沒有出現(xiàn)在“工具”菜單上,請運(yùn)行“安裝”程序來加載“規(guī)劃求解”。安裝完畢,通過“工具”菜單中的“加載宏”命令,在“加載宏”對話框中選擇并啟動它),產(chǎn)生“規(guī)劃求解參數(shù)”對話框;單擊“目標(biāo)單元格”編輯框,選中“規(guī)劃模型”工作表的O25單元格;單擊“最小值”選項(xiàng);單擊“可變單元格”選項(xiàng),選中“規(guī)劃模型”工作表的B26:N26單元格區(qū)域;在“約束”窗口單擊“增加”按鈕,產(chǎn)生“增加約束”對話框,單擊“單元格引用位置”選項(xiàng),選中O3:O9單元格區(qū)域,選中“≥”,單擊“約束值”選項(xiàng),選中Q3:Q9單元格區(qū)域,單擊“確定”按鈕,完成約束條件O3:O9 ≥Q3:Q9的添加,同理添加約束條件O10:O17≤Q10:Q17,O18:O21≥Q18:Q21, O22:O24= Q22:Q24。單擊“選項(xiàng)”按鈕,進(jìn)入“規(guī)劃求解項(xiàng)目”對話框,選中“采用線性模型”、“假定非負(fù)”和“正切函數(shù)”,其余條件可按默認(rèn)值,單擊“確定”按鈕,回到“規(guī)劃求解參數(shù)”對話框;單擊“求解”按鈕,開始計(jì)算。稍等片刻出現(xiàn)“規(guī)劃求解結(jié)果”對話框,若有解,單擊“保存”選項(xiàng),再單擊“飼料配方”工作表,即可得出結(jié)果。若無解,修改約束條件,重新求解。若想對配方結(jié)果進(jìn)一步了解,可在“規(guī)劃求解結(jié)果”對話框中,選中“報(bào)告”中的項(xiàng)目,如“運(yùn)算結(jié)果報(bào)告”,運(yùn)算后就產(chǎn)生一張新工作表“運(yùn)算結(jié)果報(bào)告”。
    5 配方優(yōu)化系統(tǒng)的使用
     5.1 調(diào)整數(shù)據(jù) 選中“線性規(guī)劃”工作表,在B5:N25單元格區(qū)域中調(diào)整好飼料原料單價(jià)。在B15:Q23中根據(jù)限量原料情況填入數(shù)據(jù),例如限制麩皮用量小于等于10%,則在麩皮列B15中填入1,在Q15中填入0.1;限制預(yù)混料用量為1%,則在預(yù)混料列N23中填入1,在Q23中填入0.01,其他類推。
     5.2 選擇飼養(yǎng)標(biāo)準(zhǔn) 選中“飼養(yǎng)標(biāo)準(zhǔn)”工作表單擊相應(yīng)飼養(yǎng)標(biāo)準(zhǔn)命令按鈕即可。
     5.3 計(jì)算配方 選中“線性規(guī)劃”工作表,單擊“工具”菜單中的“規(guī)劃求解”命令,然后在“規(guī)劃求解參數(shù)”對話框中單擊“求解”,此時出現(xiàn)“規(guī)劃求解結(jié)果”對話框,再單擊“確定即可。如果無解或?qū)λ闩浞讲粷M意,可修改飼養(yǎng)標(biāo)準(zhǔn)以及調(diào)整原料上下限量后重新運(yùn)算。

[ 本帖最后由 futingbin 于 2008-3-16 11:36 編輯 ]
中國畜牧人網(wǎng)站微信公眾號
版權(quán)聲明:本文內(nèi)容來源互聯(lián)網(wǎng),僅供畜牧人網(wǎng)友學(xué)習(xí),文章及圖片版權(quán)歸原作者所有,如果有侵犯到您的權(quán)利,請及時聯(lián)系我們刪除(010-82893169-805)。
沙發(fā)
 樓主| 發(fā)表于 2008-3-16 11:33:07 | 只看該作者
Excel在配方中的應(yīng)用--線性規(guī)劃.rar

上面是一些資料。
當(dāng)時我們上飼料與飼養(yǎng)學(xué)是我自學(xué)excel在配方中的應(yīng)用是找的。部分是我自己做的。
希望對大家有用的哦 。

[ 本帖最后由 futingbin 于 2008-3-16 11:36 編輯 ]
板凳
發(fā)表于 2008-3-16 16:04:23 | 只看該作者
我怎么覺得好像有點(diǎn)是在期刊上見過的!
地毯
發(fā)表于 2008-3-16 16:45:51 | 只看該作者
講得如此詳細(xì),支持樓主。
5
 樓主| 發(fā)表于 2008-3-17 22:13:36 | 只看該作者
原帖由 jqshi 于 2008-3-16 16:04 發(fā)表
我怎么覺得好像有點(diǎn)是在期刊上見過的!


對。網(wǎng)上通用的哦。
就和韓老師編的飼料與飼養(yǎng)學(xué)上講的也一樣。
6
發(fā)表于 2008-3-18 08:31:29 | 只看該作者
希望大家積極討論?。?!
7
發(fā)表于 2008-3-18 08:44:41 | 只看該作者
就是,我現(xiàn)在用的是人家已經(jīng)編好的。下載了,以后慢慢學(xué)習(xí)自己弄
8
發(fā)表于 2008-3-26 16:53:30 | 只看該作者
謝謝,不過程中的第二步和第三步什么意思不明白?能否說明白一下啊
9
發(fā)表于 2008-3-26 17:25:13 | 只看該作者
以前學(xué)過,但搞忘記了,現(xiàn)在總算補(bǔ)上了!
10
發(fā)表于 2009-6-11 21:37:47 | 只看該作者
好資料。。。。。。。。。。。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則

發(fā)布主題 快速回復(fù) 返回列表 聯(lián)系我們

關(guān)于社區(qū)|廣告合作|聯(lián)系我們|幫助中心|小黑屋|手機(jī)版| 京公網(wǎng)安備 11010802025824號

北京宏牧偉業(yè)網(wǎng)絡(luò)科技有限公司 版權(quán)所有(京ICP備11016518號-1

Powered by Discuz! X3.5  © 2001-2021 Comsenz Inc. GMT+8, 2025-2-2 09:42, 技術(shù)支持:溫州諸葛云網(wǎng)絡(luò)科技有限公司