奶牛场管理信息平台研发
2012-10-09李鸿强麻振华赵书银
李鸿强 麻振华 赵书银
(河北建筑工程学院数理系,河北 张家口075024)
0 引 言
发展奶业不仅是农业结构调整的一项战略性任务,而且是改善消费结构,提高人民健康水平的一项重大举措.养牛业正在从传统的生产管理方式向现代化的管理方式转变,对牛群的管理也正在逐步由传统的粗放型松散化管理向精养型、集体节约化管理方向发展.不同规模不同经济管理模式下的奶牛场都是我们奶业信息的源头.他们在每生产1kg牛奶的同时需要获得大量的信息,对信息进行加工,然后又会产生各类有价值信息.这样就需要有一套行之有效的完整的牧场管理软件来起到对信息源的收集→管理→加工→管理→发布等功能.此种形势下,奶牛场引入计算机管理已成为必然趋势[1].
1 系统设计介绍
1.1 技术特点
本软件采用面向对象的程序设计思想,在面向对象设计中决定系统所涉及的类,给每个类提供完整的一组操作,明确地使用继承来表现共同点减少代码冗余.
本软件设计采用J2EE架构.J2EE是一种利用Java2平台来简化诸多与多级企业解决方案的开发、部署和管理相关的复杂问题的体系结构.J2EE构架应该是多层的,模型-视图-控制器(MVC)是J2EE平台的首选设计模式.
MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开.使用MVC应用程序被分成三个核心部件:模型、视图、控制器.它们各自处理自己的任务.
视图(View):这是直接与最终用户打交道的一层,即我们常说的客户端.它的主要作用是接收用户的指令或者数据输入,提交给业务逻辑层做处理,同时负责将业务逻辑层的处理结果显示给用户.这一层的实现上多用JSP,JSP能够很容易的展现给用户一个可操作且健壮的视图.
控制器(Control):负责接收视图的数据请求,将这些请求进行必要的业务逻辑检查,然后将请求分解成不同的数据层操作,由数据层进行处理,最后将处理结果返回给表示层.业务逻辑层是实现核心业务的处理,主要完成企业的业务逻辑处理.这一层的实现技术,使用Serelet/JavaBean.
模型(Model):应用程序的主体部分.所有的操作都是在这一部分实现的,模型提供应用业务逻辑类,它若需要取得视图中的对象或更新视图时,需要通过控制器来进行处理.这一层的实现技术对应于J2EE的EntityBean.JSP+Servlet+Javabean模式遵循MVC模式.在此模式里,JavaBean作为模型的角色,它充当JSP和Servlet通信的中间工具.Servlet处理完后设置Bean的属性,JSP读取此Bean的属性,然后进行显示.
1.2 系统设计
系统以遵循牛的生长发育规律为原则组织系统流程,系统把对奶牛的管理作为核心,通过奶牛号把整个牛场日常管理所涉及到的工作串联起来.针对奶牛场奶牛生产、繁殖、日常管理设计了三大功能模块分别是:牛群管理模块、泌乳管理模块、饲料管理模块.系统结构见图1.
图1 系统结构图
牛群管理模块是后台管理程序的基本模块.主要实现对个体牛只资料的管理,企业职工档案的管理,牛舍管理;泌乳管理模块,牛奶生产的计算机管理首先从个体奶牛日、月产奶记录和整个牛群的日、月产奶记录开始,然后是根据产奶记录情况,对牛只的饲养、育种等做出调整,以达到对牛奶生产的科学管理目的.
饲料管理模块,此模块主要完成三个功能:第一,建立和修改饲料数据库功能.第二,建立和修改饲养标准数据库功能.第三,奶牛饲料配方的优化设计功能.
关于饲料配方,一方面,饲养标准是根据科学研究而制定的不同种类、年龄及生产性能的动物营养物质的供给量,是动物最低营养需要量附加安全系数而计算的平均数.实践证明,许多营养指标在一定范围浮动对畜禽的生长并无多大的影响即畜禽对营养的需求具有一定的模糊性.因此在饲料配方设计中,采用模糊线性规划,它能更准确地描述动物的生长特点,以便更好地满足实际需要.另外模糊线性规划也能较好地模拟配方调整过程,解决配方调整难的问题.另一方面饲料原料中的养分含量是变异值,而不是稳定的常数.这无疑会影响配合饲料质量和畜禽生产成绩.线性规划作为饲料配方设计的数学模型,从数理上来说,它是一种确定性模型,未能涵容原料养分含量变异性.在线性规划的模型中引入变异性的概念,建立一种随机性的数学模型,旨在克服线性规划不能涵容原料养分含量变异性的局限性.据随机线性规划组建饲料配方的原理可知,认为第j种原料中的第i种养分的含量aij是概率统计意义上的随机变量.随机线性规划组建饲料配方和模糊线性规划组建饲料配方设计都是在线性规划组建饲料配方的基础上作的修改,感觉顾此失彼.
融合这两种饲料配方技术,提出随机-模糊规划组建饲料配方[4-7].因为引入的随机性和模糊性不是针对一个变量的处理,所以可以认为在对模型进行处理时可以先引入随机性,再引入模糊性.设aij服从总体均数和方差分别为μij和的正态分布.
模型如下:
其中:
aij表示第j种原料的第i种营养成分系数
bi表示奶牛不同发育阶段对第i种营养物质的需要量
cj表示第j种原料的单价
di是各营养指标及原料用量约束的伸缩量,即各项营养指标及原料约束值的一个浮动范围,是由动物营养专家根据其经验、饲养标准及实际饲养对象等情况确定的.
xj表示第j种饲料的用量
maxλ为目标函数,求饲料成本最低
m表示饲料种类数,n表示所需营养种类数
Z0是应用随机规划进行配方的最优解.
1.3 系统实现
系统数据库收集掌握的奶牛群和所有个体奶牛的基础资料,使得奶牛场生产管理中各方面的信息得到很好的组织和利用,大大提高了牛场的生产效率,使人们对奶牛基本信息和生产性能有了详细的了解,利于做出正确的判断,可指导生产、管理工作.具体实现如下:
图2是用户登录成功后进入管理主界面,该主页分成三部分:左端是按钮导航,上端显示标题和登录的用户名称,中间端是显示内容和操作区域.主界面指向系统的6个功能模块,即系统设置,牛群管理,产乳管理,饲料管理,药品管理,系统管理.主界面的左侧窗口所列为系统主要功能的快捷按钮,方便用户操作,不用每次都须到菜单中选择需要的功能项.主界面的右中侧窗口是数据显示区域.
图2 系统主界面
牛群管理模块实现:
奶牛个体资料表:记录个体奶牛的基本信息.以牛号为线,记录牛只的名称、品种、出生日期、出生重量、胎次、最近产犊日期、牛只分类、泌乳状态、泌乳开始时间、繁殖状态、开始时间、毛色、谱系等基本信息.泌乳管理模块实现:牛奶记录体系,主要记录奶牛的产奶量和生产性能指标.乳牛牛奶记录体系是乳牛改良工作的一个重要组成部分,同时也是牛场管理的一项重要内容.其对牛群中的每一头泌乳牛每月定期测定日产量,并以每潮次按比例采集的奶样混合后,通过牛奶成份测定仪及体细胞计数仪,测出牛奶中含脂率、体细胞、蛋白率、乳糖、尿素氮等DHI(Dairy Herd Improvement)数据,及时提供给牛场,这些乳牛生产性能信息,在制定饲养管理措施,调整奶牛的日粮配方,牛群选育,乳腺炎防治等方面的第一手资料.其中,日粮配方方面,根据实际饲喂反馈来的乳牛生产性能信息,可以调整各牛群的饲料配方结构,下次做配方时对某些参数进行修正.通过含脂率、蛋白率的指标可以去调整牛群的日粮营养成分以维持或提高乳牛的乳汁水平.
饲料管理模块实现:第一,建立饲料库和饲养标准;第二,制定牛只日粮配给.系统所有的原料数据集中存放于一个数据库中,按代码分类,且原料名称及其营养含量等数据均可在同一屏幕中进行编辑,不需要进行屏幕切换,因而操作简单、直观.饲养标准数据也是按代码分类存放,其编辑方法与原料数据的编辑方法相同.原料原始数据来自中国饲料数据库,可以通过系统的数据导入功能实现原始饲料数据的建立.奶牛的饲养标准,也根据国家的相关规范制定,原始规范也可通过系统的数据倒导入功能实现.由于饲料营养的随机性和饲养标准的模糊性,用户可以通过人机交互对饲料营养数据库和饲养数据库自行进行修订[2].图3为日粮配给界面.
图3 日粮配给界面
2 小 结
近年来,我国中、小型奶牛场蓬勃兴起.由于这些养殖企业建成历史短,大多沿用手工收集、整理、统计分析奶牛场技术资料,工作强度大,效率低,资料统计不规范,影响奶牛的生产管理和技术管理,不能适应现代奶牛场发展的需要.虽然市场上已经有一些奶牛场管理软件,但大多存在软件操作系统复杂,价格昂贵等问题,不适合中小型奶牛场使用.我们基于JSP+Servlet+Javabean模式和Microsoft SOL Server 2000数据库管理系统,利用JBuilder2005开发工具[3],开发适合中小型奶牛场使用的《奶牛场信息管理系统》.
[1]李鸿强,李亚敏,卢海博,龚学成,孙宏凯,杨俊超.基于 Web的奶牛场信息管理系统[J].农机化研究,2011,(4):171~174
[2]李鸿强,李亚敏,曾立华,蒋义然.基于JDBC技术的奶牛场信息管理系统[J].农机化研究,2007,(5):127~128
[3]李鸿强,李东斌,闫常丽.科学饲料配方数学方法新探讨[J].河北建筑工程学院学报,2008,(4):102~104
[4]陈雄华等.精通Jbuilder2005[M].北京:电子工业出版社.2005.
[5]熊本海,钱平,罗清尧,吕健强.基于奶牛个体体况的精细饲养方案的设计与实现[J].农业工程学报,2005,21(10):118~123
[6]郝文育,李亚白,王宁生.基于线性规划的配方优化模型研究[J].控制工程.2004,11(6):488~450
[7]黄汉英,熊先安,魏明新.采用模糊线性规划开发饲料配方软件[J].华中农业大学学报.1999,18(5):492~494
[8]张元跃.采用随机规划法进行饲料配方设计[J].湖南农业大学学报.1997,23(1):58~62