畜牧人
標題:
利用Excel制作飼料配方優化系統
[打印本頁]
作者:
ztjun518
時間:
2007-8-24 13:39
標題:
利用Excel制作飼料配方優化系統
利用Excel制作飼料配方優化系統
線性規劃是解決資源合理調配的應用數學分支,它通過滿足線性等式或不等式的約束條件來求解線性目標函數的最大值或最小值。 Office的組件之一Excel自身提供的“加載宏”中有“規劃求解”一項,可以解決各種線性規劃任務。用線性規劃對飼料配方任務求解時,不需用飼料配方專用軟件,而是在Excel界面下,通過鼠標或鍵盤操作,即可得出最低成本的飼料配方最優解,且約束條件不受限制,適用于各種中小型飼料廠、規模養殖場進行優化飼料配方計算。本文將如何利用Excel制作飼料配方優化系統作一詳細介紹。
1 編制飼料配方優化線性模型工作表
在飼料配方任務線性求解中,一般是目標函數(S,即飼料配方成本)取最小值,而待解變量x,即每種飼料在配方中的比例是非負的。線性規劃模型如下:
求目標函數(S)=C1X1+C2X2+…CjXj+…CnXn的最小值。
約束條件
a11x1+a12x2+...a1nxn☆b1
a21x1+a22x2+...a2nxn☆b2
.........
am1x1+am2x2+...amnxn☆bm
x1>0,x2>0...xn>0
上式中Cj是原料價格(元/kg),Xj是各種飼料原料,S是飼料配方成本,aij是j種飼料第i種營養成分的含量或對飼料原料進行約束的系數1,☆表示>,=,<。bj是飼養標準或受約束飼料的值。i=1,2...m,j=1,2... n。
選定一個工作表,并命名為“線性模型”,將以上模型排列在Excel工作表中,如表1。
表1:飼料配方優化線性模型工作表
表1 中B3:N24是aij值,Q3:Q24是bj值,B25:N25是cj值,B26:N26是給定原料的初始值,O3:O24是對應于初始值時線性方程組左側的值,O25是給定原料初始值時的目標函數值(S)。在O3中輸入公式:=$B$26*B3+$C$26*C3+ $D$26*D3+…$M$26*M3+$N$26*N3。選中O3,并向下復制公式至O25。
2 制作飼料配方結果工作表
選定一個工作表,并命名為“飼料配方”,制表如表2。
表2: 飼料配方結果工作表
在A4 中輸入公式:=規劃模型B2, A5:=規劃模型C2,同理在A6:A16輸入公式。在B4中輸入公式:=規劃模型B26*100,B5:=規劃模型C26*100,同理在B6:B16 中輸入公式。在C4中輸入公式:=規劃模型B25,C5:=規劃模型C25,同理在C6:C16中輸入公式。在D4中輸入公式:=B4*C4,并向下復制公式至D16。在F4中輸入公式:=規劃模型O3,并向下復制公式至F15。在B17中輸入函數:=SUM(B4:B16),在D17中輸入函數:=SUM(D4 16),在F18中輸入函數:=NOW()。
3 編制飼養標準工作表
選定一個工作表,并命名為“飼養標準”,制表如表3。
在制作中,飼養標準與線性模型中的營養指標順序應一致,缺項指標對飼養標準來說是此項指標不作約束,對飼料數據來講是無估測值,可作零處理。放置飼養標準 “命令按鈕”,并指定宏。在“飼養標準”工作表界面外的任一工作表下,單擊“工具”菜單,選中“宏”中的“錄制宏”命令,在對話框中“宏名”中輸入“肉雞4 周齡以下國標”。單擊“飼養標準”工作表,選中B3:B14單元格區域,單擊“復制”命令,選中“規劃模型”工作表中的Q3:Q14單元格區域,單擊“粘貼”命令;選中 “飼養標準”工作表的B2單元格,單擊“復制”命令,選中“飼料配方”工作表中的C1單元格,單擊“粘貼”命令;選中“飼養標準”工作表的A2單元格,單擊“復制”命令,選中“飼料配方”工作表中的C2單元格,單擊“粘貼”命令;單擊“停止錄制”按鈕。選中“飼養標準”工作表,單擊“窗體工具欄”中的“按鈕”,在B15單元格劃方框,在出現對話框中選中“肉雞4周齡以下國標”單擊“確定”,選中“按鈕1”,輸入“肉雞0—4周齡”。同理,可制作其他飼養標準的“命令按鈕”。
表3:飼養標準工作表
4 配方求解
選中“工具”菜單中的“規劃求解”命令(如果“規劃求解”命令沒有出現在“工具”菜單上,請運行“安裝”程序來加載“規劃求解”。安裝完畢,通過“工具” 菜單中的“加載宏”命令,在“加載宏”對話框中選擇并啟動它),產生“規劃求解參數”對話框;單擊“目標單元格”編輯框,選中“規劃模型”工作表的O25 單元格;單擊“最小值”選項;單擊“可變單元格”選項,選中“規劃模型”工作表的B26:N26單元格區域;在“約束”窗口單擊“增加”按鈕,產生“增加約束”對話框,單擊“單元格引用位置”選項,選中O3:O9單元格區域,選中“≥”,單擊“約束值”選項,選中Q3:Q9單元格區域,單擊“確定”按鈕,完成約束條件O3:O9 ≥Q3:Q9的添加,同理添加約束條件O10:O17≤Q10:Q17,O18:O21≥Q18:Q21, O22:O24= Q22:Q24。單擊“選項”按鈕,進入“規劃求解項目”對話框,選中“采用線性模型”、“假定非負”和“正切函數”,其余條件可按默認值,單擊“確定” 按鈕,回到“規劃求解參數”對話框;單擊“求解”按鈕,開始計算。稍等片刻出現“規劃求解結果”對話框,若有解,單擊“保存”選項,再單擊“飼料配方”工作表,即可得出結果。若無解,修改約束條件,重新求解。若想對配方結果進一步了解,可在“規劃求解結果”對話框中,選中“報告”中的項目,如“運算結果報告”,運算后就產生一張新工作表“運算結果報告”。
5 配方優化系統的使用
5.1 調整數據 選中“線性規劃”工作表,在B5:N25單元格區域中調整好飼料原料單價。在B15:Q23中根據限量原料情況填入數據,例如限制麩皮用量小于等于 10%,則在麩皮列B15中填入1,在Q15中填入0.1;限制預混料用量為1%,則在預混料列N23中填入1,在Q23中填入0.01,其他類推。
5.2 選擇飼養標準 選中“飼養標準”工作表單擊相應飼養標準命令按鈕即可。
5.3 計算配方 選中“線性規劃”工作表,單擊“工具”菜單中的“規劃求解”命令,然后在“規劃求解參數”對話框中單擊“求解”,此時出現“規劃求解結果”對話框,再單擊“確定即可。如果無解或對所算配方不滿意,可修改飼養標準以及調整原料上下限量后重新運算。
來源:中國畜牧業信息網
作者:
huyuan
時間:
2007-9-3 15:56
說的挺好的,辛苦樓主了:haoa:
作者:
wxj2000
時間:
2007-9-3 16:27
看起來也比較累,咋沒有表呢,網上好象可以找到
作者:
zsp123
時間:
2007-9-3 16:43
有沒有已經制作好的表格A
作者:
huyuan
時間:
2007-9-6 09:27
:tiaotiao: 這樣看著是挺累的!
作者:
hn-mzj
時間:
2007-9-6 20:48
標題:
辛苦了
這樣不用下載,方便多了!
作者:
wang912
時間:
2007-10-9 17:59
標題:
不錯
好資料,呵呵。!!!!!!!!!!!!!
作者:
wang912
時間:
2007-10-9 17:59
標題:
呀呀
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
作者:
再見新月
時間:
2007-10-13 20:43
我現在還看不懂 但是我在努力的向你們學習
謝謝樓主
作者:
god7981
時間:
2007-10-26 11:01
:tiaotiao: :tiaotiao:
作者:
fer97
時間:
2007-11-13 21:50
配方軟件很難做的
v
作者:
泰州劍客
時間:
2008-1-23 14:12
很煩哦,弄點簡單的就好了^_^
歡迎光臨 畜牧人 (http://www.www12347.com/)
Powered by Discuz! X3.5
主站蜘蛛池模板:
高平市
|
汉川市
|
股票
|
遂溪县
|
股票
|
郧西县
|
武安市
|
兴化市
|
吴江市
|
珲春市
|
申扎县
|
博罗县
|
沙湾县
|
广东省
|
泰宁县
|
白沙
|
沐川县
|
荃湾区
|
北宁市
|
林西县
|
安图县
|
宜州市
|
德阳市
|
绵竹市
|
横峰县
|
德格县
|
太湖县
|
闸北区
|
临桂县
|
孝昌县
|
安义县
|
永寿县
|
乐安县
|
清新县
|
云南省
|
柞水县
|
西畴县
|
扶风县
|
阿拉尔市
|
广平县
|
阳春市
|