黄琦兰,王 涛
(天津工业大学控制科学与工程学院,天津 300387)
我国作为一个人口大国,其粮食的储备不可或缺,正确的储粮方式可以保证粮食安全长久地储备在粮仓中。据调研报告显示,我国的粮食每年在存放、运送、制作这3方面损失的产量就高达350亿kg,造成了许多不必要的粮食浪费[1],可见正确的储粮方式是多么重要。目前比较常见的储粮方式包括低温储藏、气调储藏、机械通风等方式[2]。低温储藏是降低粮仓内的温度使其处于较低的水平,从而减少粮食的损害,缺点是长期的存储成本较高;气调储藏是通过调整粮仓内各种气体的比例来保证粮食储藏的环境,这对储存粮食的仓库密闭性要求严格;机械通风是较为常用的一种控制粮仓温度的方法,其原理是通过通风设备交换仓内外的空气来调整仓内的温湿度以保证仓内温度的稳定,与其他方法对比,机械通风易于实现、成本不高。横向通风是近年提出的一种全新通风方式,但是针对于大多数横向通风来说,通风时机和时长都是由人们的经验来判断,这样难免会出现人为上的失误,严重的则会导致粮食受到损害[3]。
近年来,智能通风在粮食储藏方面逐步得到应用[4],在智能通风过程中,关键在于粮堆的温度预测,以往大多数研究方法是采用数学建模分析温度的变化曲线。随着现代信息技术的发展,部分智能算法应用到了粮仓上面,如支持向量机法、遗传算法、神经网络等先进算法[5-7],但相关研究较少。本研究选择RBF神经网络建立粮堆温度场预测模型,并利用粒子群(Particle Swarm Optimization,PSO)算法和列文伯格-马夸尔特(Levenberg-Marquard,LM)算法优化网络的参数。这样一方面既能提高预测的精度,使得预测值更加准确,也可以减少算法运行时间,基于RBF的预测模型可以准确预知粮堆温度,从而判断横向通风的时机,对智能储粮有一定参考意义。
RBF神经网络结构包括输入层、隐含层和输出层[8],其结构如图1所示,其中输入层作为第1层,它是该网络的输入环节,隐含层大多采用高斯函数作为神经元激活函数,第3层是输出层,是该网络的输出。
图1 RBF神经网络结构图Fig.1 Diagramof RBFneural network structure
x(t)=(x1,x2,…,xN)T为输入向量,本文中输入向量的个数设为7个,x1~x7分别代表为粮仓内湿度、粮仓内温度、粮仓外环境湿度、粮仓外环境温度、通风口风速大小、通风口湿度、通风口温度。
输入层到隐含层的输出为非线性激活函数hj(t):
式中:cj为第j个节点的中心,σj为第j个节点的宽度,‖x(t)-cj(t)‖是二者之间的欧氏距离,m是隐层节点的个数。
对隐层神经元的输出进行加权得到输出:
式中:ω代表权值,n为网络输出的数量,i表示网络输出节点的数量,j表示隐层节点数,t代表输入样本序号。
RBF神经网络的参数cj、σj、ω需要通过学习训练确定,为了提高神经网络的总体性能,本文欲采用PSO算法分别寻优来确定参数[9]。
PSO算法的产生和鸟群觅食相关[10],假想一群鸟正在觅食,每一只鸟都可能找到食物,把鸟看成粒子的话,则每一个粒子都代表一个解,所有解中最好的一个解是食物的位置,每个粒子都会在该区域内寻找食物的位置,并且每个粒子会在寻找食物的过程中得到自身离食物最相近的一个位置,这个位置称个体极值;全体粒子在寻找过程中会得到的一个最好的位置称为全局极值。
粒子通过这两个极值位置来更新每个粒子自身的速度和位置,更新公式如下:
权重ω的作用体现在收敛性能和收敛速度上。伴随着ω增大,粒子的全局收敛性能会提高;当ω减小时,局部收敛性能就会加强[11]。因此动态调整ω是目前比较常用的一种方法。本文采取线性递减权值法来动态地更新ω值[12],这样既可以加强算法前期的全局收敛能力,也可以保证后期的局部收敛性能。常用的权值更新公式为:
式中:k表示目前的迭代次数;kmax则为最大次数;ωmax和ωmin代表最大权重和最小权重,一般ωmax=0.9,ωmin=0.4。
改进后PSO算法的流程图如图2所示。
图2 PSO算法流程图Fig.2 PSOalgorithmflow chart
动态更新权值后,算法的收敛性能和收敛速度都会提高,但是由于种群的限制,该算法仍面临着陷入局部最优的问题[13]。LM算法是目前常用的训练网络的算法,其迭代时间少,收敛速度快,可以很大程度上避免陷入局部最优解。
LM算法结合了梯度下降法和高斯-牛顿法的长处[14]。其迭代公式为:
式中:uk为第k次迭代时的控制输入序列,uk+1为下一时刻的控制输入序列,μ为比例系数,ek为网络预测值与真实值之间的偏差,Ak为雅克比矩阵。
LM算法实现过程:
(1)确定初值x0,令k=0,μ=μ0,设置误差许可值ε和调整系数β。
(2)根据误差指数公式计算网络的误差指数。
(3)通过计算雅克比矩阵代入到迭代公式中求得新的权值和阈值。
(4)若误差指数小于误差许可值,满足设定要求,则直接跳到第6步,不满足的话则回到第2步重新计算。
(5)将两次得到的误差指数进行比较,如果k+1次的误差指数小于第k次的误差指数,则输出k=k+1,μ=μ/β再返回第2步重新计算。反之μ=μ·β,uk+1=uk。
(6)结束。
LM算法虽然有着收敛快、精度高的特点,但是该算法比较依赖初值的选取[15]。为此,本文将上述两种算法组合在一起,利用PSO算法收敛性能好的优点迅速寻找最优值,再用得到的值当作LM算法的初值,LM算法的高精度寻优进一步减小了误差。PSO-LM算法的结合一方面解决了LM算法的初值问题,又很大程度上解决了PSO算法易陷入局部最优的问题。
本文以粮堆温度监测系统为仿真算例,搭建RBF神经网络,并用PSO-LM算法进行优化,采用改进的RBF网络对粮堆温度进行预测,图3所示为粮堆温度预测过程。
图3 改进RBF神经网络温度预测流程Fig.3 Processof improved RBFneural network for temperature prediction
针对构建的RBF神经网络采用PSO-LM算法优化网络参数。PSO算法的种群规模设置为30,学习因子c1=c2=2,ω采用式(5)动态更新,r1=0.5,r2=0.6,由于迭代次数的选择会影响训练时间,因此在用模型预测粮堆温度前先预设最大迭代次数设为100。图4为进行训练后得到适应度曲线。由图4可以看出,当迭代到30次时,改进算法的适应度曲线已经基本平稳,故最大迭代次数定为30次。LM算法误差许可值设为10-6,阻尼因子μ0=0.001,调整系数β=10。
图4 改进PSO算法适应度变化曲线图Fig.4 Adaptability variation curve of the improved PSOalgorithm
以天津市某粮仓为试验对象,温度检测点的设置按照粮堆1、2.5、4 m的深度分为3层,每层设置13个温度传感器采集每层的平均温度。由于粮仓内体积较大且传热较慢,因此对粮堆进行空间划分,按照横向通风的通风方向将粮堆划分为3层截面,再对划分的截面进行预测研究。其中第3层截面靠近通风口,第1层截面离通风口最远。在冬季通风作业时每隔1 h分别采集仓内湿度、仓内温度、外部环境温度、外部环境湿度、通风口风速大小、通风口温度、通风口湿度的数据,共采集360组数据。试验中按照时间序列顺序选取前260组数据在训练时使用,剩余100组用于测试。
不同单位的数据会对结果产生影响,因此需要对这些数据进行处理,使得样本数据映射到[0,1]之间,归一化公式为:
式中:xi为采集的样本数据;xmax、xmin分别为采集的样本数据的最大样本值与最小样本值。
仿真通过MATLAB实现,为验证改进RBF神经网络预测模型的优越性,仿真搭建PSO-RBF神经网络预测模型和PSO-LM-PSO神经网络预测模型,仿真后得到结果如图5~7所示。
从图5~7可以直观看出,相对于PSO优化的RBF神经网络来说,PSO-LM-RBF神经网络预测模型的预测效果更好,更加贴近于粮堆的实际温度。
图5 粮堆截面1温度预测效果图对比Fig.5 Comparison of temperature prediction renderingsof grain pilesection 1
为进一步检验预测效果,采用均方误差(MSE)、平均绝对误差(MAE)、均方根误差(RMSE)来进行比较,其计算公式为:
图6 粮堆截面2温度预测效果图对比Fig.6 Comparison of temperature prediction renderingsof grain pile section 2
图7 粮堆截面3温度预测效果图对比Fig.7 Comparison of temperature prediction renderingsof grain pile section 3
经计算得到的性能指标如表1~3所示。
表1 截面1模型性能指标Table 1 Model performance index of section 1
表2 截面2模型性能指标Table 2 Model performanceindex of section 2
表3 截面3模型性能指标Table 3 Model performanceindex of section 3
由表1~3的对比结果可知,PSO-LM-RBF预测模型在粮堆温度预测上表现出良好的性能,其MAE、MSE、RMSE的值均小于PSO-RBF神经网络模型,说明改进的RBF神经网络算法能够进一步提高预测模型的精确度。
采用改进后的RBF神经网络对粮堆温度预测模型进行了搭建,通过PSO和LM算法相结合的方式进行了网络的优化,两种算法结合达到了理想的效果。通过试验结果可知,改进后的RBF神经网络预测模型的预测精确度更高,效果更好,在粮情监控方面有一定的参考价值。