奶牛标准和饲料配方
奶牛饲养标准自动生成及
用Excel的“规划求解”拟制奶牛饲料配方
韩友文
(东北农业大学 动物科技学院 哈尔滨 150030)
现今,作为信息技术载体的计算机,已普及到企业、机关、学校、研究机构各个单位。饲料和养殖行业甩开纸笔进行日粮和饲料配方计算已成现实。软件市场也有多种饲料配方专用软件可供选购使用。本文要介绍的是不花一分钱买软件,用每一计算机都装有的MS-Office中Excel的“规划求解”-“加载宏”,完成奶牛的日粮和精料配方的拟制,并达到最低成本要求。
大家知道,奶牛作为畜牧养殖的重要草食动物,不同于精料型自由采食的猪和禽类,基本上是个体计量单喂。奶牛日粮中的饲草和其他非精饲料组分(青贮料、根茎类、糟渣类)非常重要,且要求占日粮的一定比例范围。奶牛日粮中的精饲料部分,通常配成精料补充料形式。在每次挤奶同时分别喂给。这些,无疑都给拟制最低成本奶牛日粮配方带来计算和操作上的某些复杂性。
做配方,遇到第一个问题是:确定对象奶牛的饲养标准。查标准表采点加合计算,既烦琐,又不连续。我们根据标准提供的参数和相关数据,转化成数学模型,再用VBA编程。作到了输入奶牛的必要参数,就能准确、快速、自动生成配方对象奶牛的饲养标准。(图1)
“规划求解”的数学模型与数学中的线性规划模型相同。其基本数学表达式如下:
配方解--结构变量 Xi ≥ 0 (i = 1,2,„„,m-1,m) 最低成本—目标函数 Z = CiXi=min
i1m
配方要求—约束条件 aijXi (≥, =, ≤) bi (j = 1,2,„„,n-1,n)
i1m
引申的约束条件可能有: Xi ≥ Xi下 ;Xi = Xi等 ;Xi ≤ Xi上 (饲料原料约束量) bg / bh(≥, ≤)K下 , K上 (例:蛋白/能量 比)
rm
上述式中的符号和参数: XiDM/XiDM (≥ ,≤)Ri1i1R上 (例:饲草下 , DM占日粮DM的比例)
Xi 结构变量,即待求的配方解,相当于配方中个原料组分占总量的比例(% 或 g/kg)。
m 参与配方组成的饲料原料数; n 为饲料配方所定的各种指标数。
Z 目标函数,取最小值(=min),相当于日粮或配方的饲料原料成本(¥/kg)。
Ci 第i 种饲料原料的市场价格(¥/kg)。
aij 第i 种饲料原料的第j 种属性数据,相当于饲料原料的营养指标含量(%,g/kg,MJ/kg,Mcal/kg,)。
K R 饲养标准规定的有关比例参数; r 为饲草和非精饲料原料的种类数。
下标:下,上,等,相当于下限、上限、等值;g,h,则为下标j的特定值。
有关线性规划的数学原理和计算方法,各种书刊均有详尽讲述,此处不赘。下面仅就在Excel平台上对奶牛日粮和饲料配方的规划求解,按计算机操作及屏幕显示,分步加以介绍。
1. 构建标准生成工作表
1.1 在标准生成工作表左上方,根据VBA模块要求,左侧一列设置奶牛各项参数。相邻列为参数输入域,按
照配方对象奶牛条件逐一键入参数值。右侧二列是参数单位和范围的规定提示。
图1 标准生成工作表
1.2 表下方有一个“确定”椭圆命令按钮,当参数键入检查无误后,鼠标左击进入VBA程序计算,生成的标
准自动填入G列相应单元格中,同时也填入配方规划工作表的27行对应位置中。
1.3 生成标准列的右侧是配方规划结果反馈,列出供直观对比检查。
1.4 奶牛营养需要数学模型和VBA程序模块,这里就不一一介绍了。
2. 构建配方规划工作表
2.1 激活配方规划工作表,在(A)列输入饲料名,(B)列放变量名, (C)列的
作存放配方解(Xi),D列存放饲料原料的单价。余下(E-K)各列存放饲料营养指标数据。L列为计算粗料占日粮比例用(DM)。
2.2 工作表的第2行输入对应各列的题头和营养指标英文缩写名,分别是:Price = 单价,DM = 干物质,
NEL = 产奶净能,CP = 粗蛋白,Ca = 钙,P = 磷,NaCl = 食盐,Premix = 预混料。第3行放其对应的单位。为了后续工作方便和个人习惯,单位可以变换:如%换成g/kg,同时数据小数点相应移位。第4行起到第23行,(D)列输入各饲料原料的单价;L列用于存放日粮粗/精比例;(F-K)列则对应为各营养指标含量。
图2 配方规划工作表
2.3
目标单元格,备放日粮的最低成本,由(C)列配方解与(D)
列对应单元格的饲料原料价格相乘,
累加,并进行单位换算而得。
2.4 (bi)
+
符左键拖过各单元格方式拷贝公
式,再分别因饲料与日粮的同名指标单位不同而校正换算生成。例如:
。余类推。
2.5 第27行存放配方对象奶牛的饲养标准,其格式与饲料营养指标格式对应一致。
2.6 第29-31行设置针对各项营养指标的约束值,约束条件有三种:大于等于(>=)、等于(=)、小于等于
(
2.7 (M),(N),(O),各列与第29-31各行对应类似,设置日粮配方解(Xi)的约束条件限量值。
2.8 (L)列存放饲草DM占全日粮DM比例的有关计算结果。
饲草DM
;
日粮DM
;
饲草DM/日粮DM
。
图3 饲料配方的原料成本分析
2.9 V、W、Q列用于按“归一”方法延伸计算精料补充料配方。第R、S、X、Y,列对日粮配方作出原料
成本分摊情况分析。(图3)
3. 规划求解的具体操作过程:
3.1 调用 加栽宏 的 规划求解 :
,在对话框中选
,确定(图 4)
。
图 4 工具菜单
,加载宏对话框和规划求解选定
3.2
5-1)
$ 的
;鼠标单击
5-2)
图
5 规划求解参数及规划求解选项对话框
3.3 ,
确定结构变量的输出单元格,即配方结果的输出
3.4 (图 6)
,各项营养指标和各种饲料原料的限量
约束,因营养要求和原料性质以及库存数量而定,可按预定的约束条件用鼠标点击设定。本例的约束
图 6 添加约束对话框 图 7 规划求解结果对话框
图 4 工具菜单
,加载宏对话框和规划求解选定
3.2
5-1)
$ 的
;鼠标单击
5-2)
图
5 规划求解参数及规划求解选项对话框
3.3 ,
确定结构变量的输出单元格,即配方结果的输出
3.4 (图 6)
,各项营养指标和各种饲料原料的限量
约束,因营养要求和原料性质以及库存数量而定,可按预定的约束条件用鼠标点击设定。本例的约束
5 图 6 添加约束对话框 图 7 规划求解结果对话框
3.5 约束设定完毕,返回规划求解选项对话框,
则出现对话框(图 7),
(图 7
重新检查并修改约束条件的设定。
图8 配方的原料分摊成本分析
3.6 在日粮配方基础上可进一步延伸计算饲料成本的分摊情
况(图
8),供经营管理人员分析参考。
3.7 如要求配方以书面文字存档时,则每完成一个配方,要
将结果拷贝到另一打印输出工作表内,以便打印成文存
档。拷贝时具体注意是:配方解各单元格有的存放公式,
D26:L26
)存放的全是
公式,又是横向(图 9)。
图9 选择性粘贴对话框
6
图10 配方的延伸计算:浓缩料和预混料
3.7 同时拟制精料补充料配方,则可以很方便地按“归一”的方式计算出配方来。同理,可推及除去玉米
组分的浓缩料和预混料配方的拟制(图 10)。
图 11备用饲料数据库及备用饲养标准库示例
7
4. 几点注意
4.1 可在本工作表下方建立 “饲料数据备用库”和“饲养标准备用库”,便于调换饲料原料和饲养标准,
进行另外的配方拟制工作(图 11);
4.2 奶牛饲养标准不必再查表计算,可由自带的按数学模型编就的VBA模块自动计算产生。
4.3 一般数据取小数点后2位,即够用,多取则会增大列宽,一屏显示受限,不便观察和操作。
4.4 计算和拷贝过程,引用绝对地址单元格时,行、列前都要加 $ ,可选中后按F4 键切换选取。
4.5
是日粮配方解的自然重量总和,不必设置约束。
4.6
参考文献
李小迪 (2001) Excel 2002学用 DIY 北京 科学出版社
Sharon Podlin(2000) 中文Excel 2000 编程24学时教程 潇湘工作室译 北京 机械工业出版社 韩友文 (1999) 巧用MS-Excel 软件计算最低成本饲料配方 饲料博览 No2 p16-20
韩友文 许丽 (2002) 奶牛营养需要量自动生成的BASIC程序 第四届全国饲料营养学术研讨会论文集
p60-61
8