金雨佳
(渤海大学 信息科学与技术学院,辽宁 锦州121013)
经济在发展,时代在进步,人们对食品的安全要求也逐年提高.人们开始把关注的重心放在营养均衡上,作为一个农业为主的大国,国民经济和社会发展的基础就是农业,能够为人们提供更多的营养成分.由于产品对运输的时效性、保鲜性要求比较高,其对冷链物流的各个环节的共同作用要求更高,所以水产品的运输与成本消耗密切相关,有效控制运输成本,成为水产品运输的重要问题.在国民经济的发展中,现在物流的进步是非常重要的一部分,在企业的生产生活中,物流则是降低成本提高生产率的“第三利润源泉”[1].人们的消费观念也逐渐转化为更新鲜的产品.但是由于国内水产品的活体运输技术存在着信息化、智能化程度低、监控因素单一等问题[2],导致产品忽高忽低,对食品安全来讲,冷链物流的作用非常大,冷链物流贯穿水产品从捕捞到生产再到销售的整个过程,冷链物流的运作情况影响行业的发展,企业的利益.但是在现在的水产品冷链物流中主要是针对水产品进行保鲜,很少有针对运输过程中突发意外情况进行的报警.冷链物流要实施温度的全程管理,必须依靠信息技术.为了增加我国农业的竞争力,水产品冷藏保鲜技术的物联网开发应用刻不容缓.
目前,消费者对水产品的新鲜程度要求增高,在冷链方面的要求也随之增高,冷链设备在进行水产品运输中可以保证食品长期处在一个比较适宜的温度,从而达到保鲜的效果,所以物流中产生了一个新的更有效的分支——冷链物流[3],冷链物流是以低温环境为核心的,以冷冻工艺学为基础的低温物流过程[4].
冷链物流主要有以下节点:在冷链物流的上游中包含养殖基地、冷藏仓库、生产加工基地等;冷链物流的中间环节有冷藏仓库、物流、配送中心等[5];冷链物流的下游中含有农贸市场,超市等.本文主要针对的是冷链物流运输中的中间环节的物流过程.
对冷链物流监测与预警的研究中,传统的方法有集成无线传感网络、人工智能技术的智能化冷链物流模型[6];基于无线温湿度传感网络和GPS系统的智能冷链物流跟踪监测系统[7];基于云服务及组件集成技术的云服务系统方法[8],这些系统通常存在对车内冷藏产品进行实施监测但无法对突发情况进行预警.为了解决这一问题,本文研究了一种基于GA的水产品冷链智能监测与预警模型.
本文考虑了水产品在腐坏时释放气体的成分,对浓度进行了计算,利用遗传算法进行了监测及预警,一定程度上降低了因特殊情况下的腐坏导致水产品的浪费.
本算法旨在克服现有技术不足,而提供一种可对水产品在运输途中的腐化程度实时监测,避免在长时间不间断的冷链运输途中,容易产生疏漏的情况.
遗传算法(genetic algorithm,GA)是一种在全局中进行优化的算法,结合了遗传学中的进化原理和随机优化原理[9],遗传算法起源于上世纪六十年代中期,这是一种以生物进化为思想建立的一种人工系统,是一种仿生的生物模型.遗传算法是以达尔文进化论中的“适者生存”原则为基础[10],模拟生物体之间优胜劣汰,胜者生存的原则,对种群进行反复的遗传,直至最优的个体出现,使种群进化的过程,是计算智能的重要组成部分[11].简单地来说,遗传算法就是在所有的可能中寻找最符合该问题的一个最优解.
在生物学上,小生境技术是指在特定环境下的一种组织结构.在自然界中,特征相似的物种相聚在一起,繁衍后代.由于其匹配时是随机的,在后期的进化过程中,大量的个体聚集在某一极值点处,单纯的利用遗传算法求解多峰问题时,经常找到局部最优解,利用小生境技术我们可以找到全部的最优解[12].
小生境技术就是将一代种群划分成若干个子种群,每个子种群中选出若干适应度较大的个体作为一类优秀的代表种群,在优秀的代表种群中进行杂交、变异产生新一代子种群[13].这种融合小生境技术的遗传算法可以更好地保持最优解的多样性,同时具有较高的全局寻优能力和收敛速度[14].
随机本次算法结合动态小生境共享算法进行遗传算法的改进,具体步骤如下:
步骤一处理训练数据,根据构建的模拟方程格式构建残差.
步骤二适应度值计算并降序排列.
步骤三小生境选择,将降序排列的第一个个体作为第一个小生境中心,分别计算其余个体与小生境中心的欧几里得距离,若大于给定值L,且存在的小生境中心小于给定值K,则该个体成为新的小生境中心;若个体与小生境中心的距离小于定值L,则个体作为该小生境个体;若个体与小生境之间的距离大于L,且小生境中心个数大于等于K,则该个体成为独立个体.
步骤四小生境处理,若处于某小生境的个体,其小生境数就是他所在的小生境拥有的个体的数量,小生境中心及独立个体的小生境数规定为1.
步骤五计算共享后的适应度值.
步骤六进行种群自适应交叉操作.
步骤七进行种群自适应变异操作.
步骤八若满足终止判断条件,则输出,不满足终止条件跳转到步骤二,循环运算,直至算法终止.
其中步骤一中的构造差值是在模拟的随机数x,y后,根据定义的多项式
将模拟好的随机数x代入模拟的y中
构造差值为:
式(1)中g为模拟出的函数,f为模拟函数的模板,a,b,...分别为模拟函数的系数.
其中步骤三中的欧几里得距离计算公式如下:
步骤五中重新计算适应度值的公式如下:
其中S(x)为共享函数,Ω(x i)为数据与数据之间的欧几里得距离,在本算法中就是小生境数.由于实验中存在很多相似的数据,所以通过计算数据与数据之间的欧几里得距离,找相似的数据,在对数据重新计算适应度值后,可对相似的数据进行适应度值缩小处理,可以减少数据中的相似数据,从而增加数据的多样性,避免陷入局部最优解[15].
在步骤六及步骤七中,传统的遗传算法为固定值,自适应遗传算法交叉及变异的概率如下:
其中pc、pm分别为进行交叉、变异操作的概率;fmax为群体中最大的适应度值;f avg为群体的平均适应度值;f为要进行交叉操作个体的适应度值;f'为要进行变异操作的适应度值;k1、k2、k3、k4为常数,在结合sigmoid函数改进后的交叉及变异的概率如下:
以自适应遗传算法进行交叉的概率为例,当个体适应度值小于种群平均的适应值时,交叉的概率为定值,在改进的自适应遗传算法中,种群个体的交叉概率会根据种群个体的适应度值进行改变,种群个体的适应度值越小,进行交叉的概率越大.
当种群个体的适应度值大于平均适应度值时
而改进的算法进行交叉的概率为:
因为F(x)≤0,所以在改进的自适应遗传算法中,当个体的适应度值大于平均适应度值时,改进的自适应遗传算法较传统的自适应遗传算法相比可以降低交叉变异的概率,从而保存个体的完整性,并个体的适应度值大于平均适应度值根据适应度值变化而改变变异概率,增加种群收敛速度.
传统的遗传算法存在搜索能力较弱,容易陷入局部最优解的特点,在改进的自适应遗传算法采用sigmoid函数进行创新,根据个体的适应度值计算交叉变异的概率,使交叉及变异概率具有较高的收敛速度,从而加快算法全局寻优的能力.
通过产生的差值进行遗传算法的寻优处理,再利用遗传算法进行选优处理,在遗传算法中选取种群大小(size_pop)为50,最大迭代次数(max_iter)为200,交叉概率常数取值为1.0,变异概率常数为0.01.
为了实现上述过程,本算法按如下步骤进行:
第一阶段:
步骤1采集一组水产品腐化参考数据;
步骤2对步骤2所得水产品腐化参考数据进行图像模拟;
步骤3使用遗传算法对腐化参考数据进行多项式拟合,形成模拟腐化函数;
第二阶段:
步骤4实时采集一组水产品腐化环境数据;
步骤5将采集时间代入模拟腐化方程;
步骤6将步骤4所得环境数据与模拟腐化函数值进行对比,若差距达到设定阀值,则启动报警器,进行报警.
在步骤2中已经模拟出的腐化函数,将时间代入,得出理想的腐化函数值,将理想的腐化函数值与新测量的实际腐化值,结合水产品的腐化实验参考浓度进行对比设定报警值,表1为报警参考程度表
表1 报警参考程度表
实验环境:Inter(R)Core(TM)i7 CPU@1.80GHz 2.00 GHz,操作系统为:Windows10,硬盘位256 G+1 T,算法在pycharm 2019.1.3 x64开发环境下运行.
本文在使用pycharm对算法进行实现,采用UCI数据集官网中的数据集Gas Turbine CO and NOx Emission数据集对改进的遗传算法进行曲线拟合进行验证,选用数据集中属性信息AT(温度),CO(一氧化碳浓度)进行实验模拟.在实验第一阶段,由于鱼类腐化的特性,分别对温度、气体浓度进行降序排列,利用AT分别和CO利用改进的遗传算法进行三次多项式的模拟,多项式结构如下,模拟结果如图所示.
图1 温度-CO模拟函数图像
在对遗传算法应用在水产品冷链物流自动监测与预警系统模拟中,第一阶段中初始环境数据选取一组不定量增长的随机数,本文中选取的随机数为增长范围在0到0.5之间一组增长的数值,本文数据集定量100个数值,每个数值精确到小数点后3位,遗传算法中选取种群大小(size_pop)为50,最大迭代次数(max_iter)为200,变异概率(prob_mut)为0.001.利用拟合算法遗传算法将时间作为自变量(x=1,2,3,...,100),将模拟出的初始环境数据作为因变量y模拟出水产品腐化参考函数,图2为模拟腐化函数图像,其中包含环境数据y值,时间数据x值以及模拟腐化函数方程函数图像.
图2 第一阶段模拟腐化函数图像
图3 第二阶段新的数据点图与腐化函数的拟合情况
第一阶段的模拟腐化函数的方程如下:
在第二阶段中重新生成一组增长范围为0至0.5之间的随机数作为水产品实时参考环境数据,精度为0.001,数据集同样是100个数据,并对其中部分数据进行放大处理,模拟特殊情况下的腐坏值,将采集时间代入阶段一中模拟出的腐化函数方程,得出实时的理想腐化函数值,将理想腐化函数值与实时腐化函数值进行对比,在到达阀值时进行报警,函数图形模拟如图3所示,在控制台中13分钟进行中度报警,在第73分钟进行高度报警.
通过预测值与模拟函数的模拟值进行实时监测可以很好地对数据进行控制,在数据超出预计范围时,可以很好地进行预警.该模型在水产品运输中,可以先将温度分别于氨气、二氧化碳的浓度进行函数的模拟,作为参考值,在实时运输中,将模拟的气体浓度值与实际的浓度值进行实时对比,在预测超出正常范围时,及时进行报警,以防止产品的加速损坏.
水产品自动冷链运输条件下,易存在突发状况导致水产品新鲜程度严重受损,本文综合水产品在运输途中实施监测和预警的方法,通过对已有的数据进行分析并对传统的遗传算法进行改进,采用改进的遗传算法进行曲线拟合的方法,对水产品腐坏进行了模拟,得出腐化方程,并在实时监测中进行自动监测和突发状况预警.通过实验,分析水产品的腐化过程,并在突发状况进行了预警,验证了算法的有效性.