资源描述:
《奶牛标准和饲料配方.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、奶牛饲养标准自动生成及用Excel的“规划求解”拟制奶牛饲料配方友文(东北农业大学动物科技学院150030)现今,作为信息技术载体的计算机,已普及到企业、机关、学校、研究机构各个单位。饲料和养殖行业甩开纸笔进行日粮和饲料配方计算已成现实。软件市场也有多种饲料配方专用软件可供选购使用。本文要介绍的是不花一分钱买软件,用每一计算机都装有的MS-Office中Excel的“规划求解”-“加载宏”,完成奶牛的日粮和精料配方的拟制,并达到最低成本要求。大家知道,奶牛作为畜牧养殖的重要草食动物,不同于精料型自由采食的猪和禽类,基本上是个体计量单喂。奶牛日粮中的饲草和其他非精饲料组分(青贮料、根
2、茎类、糟渣类)非常重要,且要求占日粮的一定比例围。奶牛日粮中的精饲料部分,通常配成精料补充料形式。在每次挤奶同时分别喂给。这些,无疑都给拟制最低成本奶牛日粮配方带来计算和操作上的某些复杂性。做配方,遇到第一个问题是:确定对象奶牛的饲养标准。查标准表采点加合计算,既烦琐,又不连续。我们根据标准提供的参数和相关数据,转化成数学模型,再用VBA编程。作到了输入奶牛的必要参数,就能准确、快速、自动生成配方对象奶牛的饲养标准。(图1)“规划求解”的数学模型与数学中的线性规划模型相同。其基本数学表达式如下:配方解--结构变量Xi≥0(i=1,2,……,m-1,m)最低成本—目标函数Z==èmi
3、n配方要求—约束条件(≥,=,≤)bi(j=1,2,……,n-1,n)引申的约束条件可能有:Xi≥Xi下;Xi=Xi等;Xi≤Xi上(饲料原料约束量)bg/bh(≥,≤)K下,K上(例:蛋白/能量比)/(≥,≤)R下,R上(例:饲草DM占日粮DM的比例)上述式中的符号和参数:Xi结构变量,即待求的配方解,相当于配方中个原料组分占总量的比例(%或g/kg)。m参与配方组成的饲料原料数;n为饲料配方所定的各种指标数。Z目标函数,取最小值(=èmin),相当于日粮或配方的饲料原料成本(¥/kg)。Ci第i种饲料原料的市场价格(¥/kg)。aij第i种饲料原料的第j种属性数据,相当于饲料原
4、料的营养指标含量(%,g/kg,MJ/kg,Mcal/kg,)。KR饲养标准规定的有关比例参数;r为饲草和非精饲料原料的种类数。下标:下,上,等,相当于下限、上限、等值;g,h,则为下标j的特定值。有关线性规划的数学原理和计算方法,各种书刊均有详尽讲述,此处不赘。下面仅就在Excel平台上对奶牛日粮和饲料配方的规划求解,按计算机操作及屏幕显示,分步加以介绍。1.构建标准生成工作表1.1在标准生成工作表左上方,根据VBA模块要求,左侧一列设置奶牛各项参数。相邻列为参数输入域,按照配方对象奶牛条件逐一键入参数值。右侧二列是参数单位和围的规定提示。图1标准生成工作表1.2表下方有一个“确
5、定”椭圆命令按钮,当参数键入检查无误后,鼠标左击进入VBA程序计算,生成的标准自动填入G列相应单元格中,同时也填入配方规划工作表的27行对应位置中。1.3生成标准列的右侧是配方规划结果反馈,列出供直观对比检查。1.4奶牛营养需要数学模型和VBA程序模块,这里就不一一介绍了。2.构建配方规划工作表2.1激活配方规划工作表,在(A)列输入饲料名,(B)列放变量名,(C)列的C4:C23为可变单元格,留作存放配方解(Xi),D列存放饲料原料的单价。余下(E-K)各列存放饲料营养指标数据。L列为计算粗料占日粮比例用(DM)。2.2工作表的第2行输入对应各列的题头和营养指标英文缩写名,分别是
6、:Price=单价,DM=干物质,NEL=产奶净能,CP=粗蛋白,Ca=钙,P=磷,NaCl=食盐,Premix=预混料。第3行放其对应的单位。为了后续工作方便和个人习惯,单位可以变换:如%换成g/kg,同时数据小数点相应移位。第4行起到第23行,(D)列输入各饲料原料的单价;L列用于存放日粮粗/精比例;(F-K)列则对应为各营养指标含量。图2配方规划工作表2.3D26即目标单元格,备放日粮的最低成本,由(C)列配方解与(D)列对应单元格的饲料原料价格相乘,累加,并进行单位换算而得,D26=SUMPRODUCT($C$4:$C$23,D4:D23)。2.4F26-L26各单元格存放
7、日粮的营养指标值(bi),可选定D26用鼠标+符左键拖过各单元格方式拷贝公式,再分别因饲料与日粮的同名指标单位不同而校正换算生成。例如:F26=SUMPRODUCT($C$4:$C$23,F4:F23)/100;G26=SUMPRODUCT($C$4:$C$23,G4:G23)*10。余类推。2.5第27行存放配方对象奶牛的饲养标准,其格式与饲料营养指标格式对应一致。2.6第29-31行设置针对各项营养指标的约束值,约束条件有三种:大于等于(>=)、等于(=)、小于等