鸡病专业网论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 13057|回复: 8
收起左侧

利用Excel制作饲料配方优化系统

[复制链接]

荣誉版主

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

勤劳奉献奖

发表于 2007-7-17 20:41:06 | 显示全部楼层 |阅读模式 来自: 中国内蒙古赤峰

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
线性规划是解决资源合理调配的应用数学分支,它通过满足线性等式或不等式的约束条件来求解线性目标函数的最大值或最小值。 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值,Q324是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(D416),在F18中输入函数:=NOW()。


    3 编制饲养标准工作表
    选定一个工作表,并命名为“饲养标准”,制表如表3。
在制作中,饲养标准与线性模型中的营养指标顺序应一致,缺项指标对饲养标准来说是此项指标不作约束,对饲料数据来讲是无估测值,可作零处理。放置饲养标准“命令按钮”,并指定宏。在“饲养标准”工作表界面外的任一工作表下,单击“工具”菜单,选中“宏”中的“录制宏”命令,在对话框中“宏名”中输入“肉鸡4周龄以下国标”。 单击“饲养标准”工作表,选中B3:B14单元格区域,单击“复制”命令,选中“规划模型”工作表中的Q314单元格区域,单击“粘贴”命令;选中“饲养标准”工作表的B2单元格,单击“复制”命令,选中“饲料配方”工作表中的C1单元格,单击“粘贴”命令;选中“饲养标准”工作表的A2单元格,单击“复制”命令,选中“饲料配方”工作表中的C2单元格,单击“粘贴”命令;单击“停止录制”按钮。选中“饲养标准”工作表,单击“窗体工具栏”中的“按钮”,在B15单元格划方框,在出现对话框中选中“肉鸡4周龄以下国标”单击“确定”,选中“按钮1”,输入“肉鸡0—4周龄”。同理,可制作其他饲养标准的“命令按钮”。
表3:饲养标准工作表
 
    4 配方求解
     选中“工具”菜单中的“规划求解”命令(如果“规划求解”命令没有出现在“工具”菜单上,请运行“安装”程序来加载“规划求解”。安装完毕,通过“工具”菜单中的“加载宏”命令,在“加载宏”对话框中选择并启动它),产生“规划求解参数”对话框;单击“目标单元格”编辑框,选中“规划模型”工作表的O25单元格;单击“最小值”选项;单击“可变单元格”选项,选中“规划模型”工作表的B26:N26单元格区域;在“约束”窗口单击“增加”按钮,产生“增加约束”对话框,单击“单元格引用位置”选项,选中O3:O9单元格区域,选中“≥”,单击“约束值”选项,选中Q39单元格区域,单击“确定”按钮,完成约束条件O3:O9 ≥Q39的添加,同理添加约束条件O10:O17≤Q1017,O18:O21≥Q1821, O22:O24= Q2224。单击“选项”按钮,进入“规划求解项目”对话框,选中“采用线性模型”、“假定非负”和“正切函数”,其余条件可按默认值,单击“确定”按钮,回到“规划求解参数”对话框;单击“求解”按钮,开始计算。稍等片刻出现“规划求解结果”对话框,若有解,单击“保存”选项,再单击“饲料配方”工作表,即可得出结果。若无解,修改约束条件,重新求解。若想对配方结果进一步了解,可在“规划求解结果”对话框中,选中“报告”中的项目,如“运算结果报告”,运算后就产生一张新工作表“运算结果报告”。
    5 配方优化系统的使用
     5.1 调整数据 选中“线性规划”工作表,在B5:N25单元格区域中调整好饲料原料单价。在B1523中根据限量原料情况填入数据,例如限制麸皮用量小于等于10%,则在麸皮列B15中填入1,在Q15中填入0.1;限制预混料用量为1%,则在预混料列N23中填入1,在Q23中填入0.01,其他类推。
     5.2 选择饲养标准 选中“饲养标准”工作表单击相应饲养标准命令按钮即可。
     5.3 计算配方 选中“线性规划”工作表,单击“工具”菜单中的“规划求解”命令,然后在“规划求解参数”对话框中单击“求解”,此时出现“规划求解结果”对话框,再单击“确定即可。如果无解或对所算配方不满意,可修改饲养标准以及调整原料上下限量后重新运算。

作者:李彦才

评分

参与人数 1 +10 收起 理由
红鱼 + 10

查看全部评分

回复

使用道具 举报

鸡网学院初中生

Rank: 3Rank: 3

发表于 2007-8-6 11:28:10 | 显示全部楼层 来自: 中国四川遂宁
谢谢!很好!
回复 支持 反对

使用道具 举报

鸡网学院本科生

Rank: 6Rank: 6

常驻居民奖添砖加瓦奖勤劳奉献奖社区居民

来自
安徽
发表于 2007-9-16 17:13:34 | 显示全部楼层 来自: 中国安徽池州
谢谢!试试.
回复 支持 反对

使用道具 举报

鸡网学院初中生

Rank: 3Rank: 3

来自
河北石家庄
发表于 2007-11-16 19:51:22 | 显示全部楼层 来自: 中国河北廊坊
请楼主上传一个制作好的软件上来,万分感谢,我的电脑知识很贫乏,我的QQ307380208,急等消息喔!
回复 支持 反对

使用道具 举报

头像被屏蔽

禁止发言

Rank: 35Rank: 35Rank: 35Rank: 35Rank: 35Rank: 35Rank: 35Rank: 35Rank: 35Rank: 35

社区居民

来自
安徽六安
发表于 2008-2-1 15:29:31 | 显示全部楼层 来自: 中国安徽六安
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

鸡网学院专科生

Rank: 5Rank: 5

优秀会员奖勤劳奉献奖社区居民

来自
河北
发表于 2008-2-23 09:47:18 | 显示全部楼层 来自: 中国河北沧州
请问楼主我的规划求解一项不能用,请帮忙!
回复 支持 反对

使用道具 举报

鸡网学院初中生

Rank: 3Rank: 3

发表于 2008-2-26 22:19:23 | 显示全部楼层 来自: 中国河北石家庄
不错,顶。
回复 支持 反对

使用道具 举报

0

Rank: 7Rank: 7Rank: 7

社区居民

来自
江苏扬州
发表于 2012-7-31 16:58:09 | 显示全部楼层 来自: 中国江苏扬州
学  习   了
谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Archiver|鸡病专业网 ( 豫ICP备11024133号-2 )

GMT+8, 2024-12-23 07:29 , Processed in 0.120755 second(s), 29 queries .

快速回复 返回顶部 返回列表