张季琴, 刘 刚, 仁重义, 张东峰, 姜碧琼
(1.宁夏大学机械工程学院,宁夏银川 750021; 2.中国农业大学智慧农业系统集成研究教育部重点实验室,北京 100083)
变量施肥技术能够根据土壤和作物营养状况,按需精准投入肥料,提高肥料利用率的同时减少土壤养分的空间差异,是实现农田精细化管理、推动智慧农业发展的重要支撑。现有变量施肥系统的排肥方式主要包括离心式、螺旋式、外槽轮式等[1-3]。其中,基于外槽轮的变量施肥系统通过改变排肥轴转速来实现施肥量调节,普遍存在施肥量调节范围小、低速排肥时脉动显著、排肥均匀性差等缺点[4]。为了克服单一变量控制的缺点,提高外槽轮排肥器施肥量控制的准确性和稳定性,专家学者提出了排肥轴转速、排肥口开度双变量控制方式,并在双变量施肥装置的结构设计[5]、控制系统集成[6-8]、控制策略优化[9-10]等方面进行了大量研究。
对于双变量施肥系统,实现施肥量精确控制的关键是建立排肥轴转速、开度、排肥量之间的关系模型[11]。但颗粒肥在肥管中的流动情况复杂,且转速、开度、排肥量之间存在非线性关系。现有双变量施肥系统排肥量预测模型的构建方法主要以数学统计、机器学习方法为主。以数学统计方法为代表的研究,如陈满等通过标定试验获得了双变量施肥系统的排肥量离散数据,采用Bisquare估计进行稳健回归分析,分别建立了4个排肥器的控制模型,平均相关系数达到0.99以上,标准误差低于0.85[12];戚武振等设计了一种丝杠排肥轴连接机构,通过步进电机驱动排肥轴横向移动,实现排肥口开度的自动调节,根据排肥器单圈排肥量标定数据进行多项式拟合,构建了排肥量控制模型[13-14];Su等改造了库恩气吸式点播机的开度调节装置,使其能够根据作业车速自动调节,根据排肥原理构建了排肥量控制模型,经试验验证,排肥器各行平均排肥量一致性变异系数为8.4%[15];Alameen等搭建了一个可以通过气缸调节排肥口开度的双变量施肥试验台,采用线性拟合方法构建了排肥口开度与排肥量的关系模型,平均相对误差小于2.6%[16]。以机器学习方法为代表的研究,如Yuan等提出了一种基于高斯过程(Gaussian Process,GP)的排肥量模型构建方法,基于室内标定试验,构建了以排肥轴转速、排肥口开度为模型输入,排肥量为模型输出的排肥量预测方法,模型决定系数达到0.98,相对误差小于0.014[11]。Zhang等提出了一种基于差分进化(differential Evolution,DE)寻优的广义回归神经网络(general regression neural network,GRNN)排肥量预测模型构建方法(DE-GRNN),通过对一种复合肥不同转速、开度组合下单位时间排肥量的标定,获取训练数据集,通过DE算法寻找最佳平滑因子,进而构建排肥量预测模型,经过20个未参加训练的测试集验证,模型决定系数达到0.99,平均相对误差为2.18%[17]。
综上可知,现有双变量系统的排肥量控制模型主要通过进行室内单一肥料的标定试验,利用数学统计或机器学习方法建立排肥量控制模型。其中,基于数学统计的方法简单、可靠,但一般针对单一开度或转速,无法实现任意开度、转速条件下的排肥量预测;基于机器学习的方法模型精度较高,但耗时较长,限制了模型的应用。此外,对于不同肥料,模型的相关适应性缺乏进一步的探索。为此,本研究基于双变量施肥试验平台,进行3种不同肥料的标定试验,提出一种基于灰狼算法(gray wolf optimizer,GWO)寻优的GRNN排肥量预测模型构建方法(GWO-GRNN),构建3种固体颗粒肥的排肥量预测模型,以提升建模效率,推进排肥量预测模型的应用。
双变量施肥试验平台主要由机架、开度调节装置、转速调节装置、肥箱、肥管等组成(图1)。其中,开度调节装置由开度伺服电机、开度调节挡板、丝杠滑块机构、电子尺等组成,主要实现对排肥口开度大小的自动调整;转速调节装置由转速调节伺服电机、联轴器、外槽轮排肥器以及编码器等组成,主要实现对排肥轴转速的自动调整。工作时,开度调节伺服电机驱动四杠螺母(导程为5 mm/r)带动开度调节挡板水平移动进行排肥口开度L的调节;转速调节伺服电机经过减速器驱动排肥轴转动,实现对外槽轮转速N的调节。
对于双变量施肥系统,实现施肥量精确控制的关键是建立排肥轴转速、开度、排肥量之间的关系模型。为了获得不同颗粒肥在双变量控制方式下排肥口开度、排肥轴转速、排肥量之间的关系,对3种不同肥料进行了室内标定试验。
分别选取施肥作业过程中常用的3种颗粒肥进行室内标定试验,3种颗粒肥分别为尿素、史丹利复合肥、撒可富复合肥(图2),其物料特性如表1所示。
表1 3种颗粒肥物料特性
标定试验在双变量试验台上进行,为了满足肥料下落最低开度和伺服电机工作最低转速要求,结合单位施肥量的调节范围,设置排肥口开度L调节范围为10~60 mm,调节步长为5 mm;排肥轴转速N调节范围为10~50 r/min,调节步长为5 r/min,共99种开度、转速组合。每种开组、转速组合条件下测量1 min的排肥量,并称质量记录。每种条件下至少重复3次排肥试验,取均值进行记录。试验现场如图3所示。
此外,为了验证模型精度,对每种肥料另外选取18组开度、转速组合进行排肥试验,每种条件下至少重复3次,并对排肥量进行称质量记录,取均值作为验证集。
利用MatLab对标定试验获得的3种颗粒的试验数据进行曲面拟合,获得3种颗粒肥的排肥量Q、排肥口开度L、排肥轴转速N之间的三维曲线关系(表2)。由表2可知,随着开度和转速的提高,排肥量呈上升趋势。由等排肥量曲线图可知,同一目标排肥量对应着无数组开度和转速组合。
表2 3种颗粒肥的排肥量和转速、开度的拟合响应关系曲线
广义回归神经网络(GRNN)具有较强的非线性拟合能力,因此广泛应用于非线性关系问题的建模和预测。但平滑因子(σ)的选择对于GRNN模型的预测能力有较大的影响,当σ取值较大时,模型预测误差较大;当σ取值较小时,过拟合,模型泛化能力变差,因此有必要对其进行寻优。对平滑因子的寻优算法主要包括试验验证法和计算机智能算法[18-19],本研究基于GWO算法对GRNN的平滑因子进行了优化。为了验证该算法的有效性,将其与DE-GRNN寻优过程进行了对比分析,并基于优化的平滑因子,构建3种颗粒肥不同转速、开度下的排肥量预测模型。
3.1.1 灰狼优化算法 灰狼优化算法(gray wolf optimizer,GWO)是一种通过模拟灰狼群体捕食行为,基于狼群协作机制进行寻优的新型种群智能算法,由Mirjalili等于2014年提出[20]。GWO算法能够自适应调节收敛因子以及信息反馈机制,具有结构简单、收敛速度快、全局搜索能力强等优点[21]。因此,GWO算法已被广泛应用于移动机器人路径规划、特征子集选择、光纤系统仿真等方面[22-24]。
GWO算法模拟狼群社会等级制度和群体的狩猎行为,将最优解定义为α狼,次优解定义为β狼,第三优解定义为δ狼,其余解(候选解)定义为ω狼。寻优过程主要包含追捕、包围、攻击3个阶段。其中,围捕过程的数学表达式[25]如下:
D=|C·Xp(t)-X(t)|;
(1)
X(t+1)=Xp(t)A·D。
(2)
其中,D为个体与目标之间的距离;t为当前迭代次数;C和A为系数向量;Xp为目标位置向量;X为单只灰狼的位置向量。其中A和C的计算公式如下:
A=2a·r1-a;
(3)
C=2r2。
(4)
其中,r1、r2为[0,1]之间随机生成的向量;a为收敛因子,随着迭代次数的增加从2线性递减到0,即:
a=2-2ti/tmax。
(5)
其中,tmax为最大迭代次数,其中i=1,2,…,N。
灰狼个体跟踪猎物位置的数学表达式如下:
(6)
其中,Dα、Dβ、Dδ分别表示α、β、δ与其他个体之间的距离;Xα、Xβ、Xδ分别表示α、β、δ狼的当前位置向量;C1、C2、C3为系数随机向量,由公式(4)计算获得;X为单只灰狼的当前位置向量。
在攻击猎物阶,其他的ω狼个体向α、β、δ狼前进的步长和方向的表达式如下:
(7)
其中,灰狼个体位置的更新公式如下:
X(t+1)=(X1+X2+X3)/3。
(8)
3.1.2 广义回归神经网络算法 广义回归神经网络(GRNN)是Donald Specht于1991年提出的,是建立在数理统计基础上的径向基函数网络,能够根据样本数据逼近其中隐含的映射关系[26]。GRNN具有较强的非线性映射能力和学习速度,单程训练不需要迭代,计算量小,样本数据较少时,仍然能够保持良好的预测性能[27]。
GRNN通过计算输出变量Y与输入变量X的非线性回归,获得概率最大的y。当给定一个随机变量x的测量值X,随机变量Y的条件平均为[28]:
(9)
(10)
3.1.3 GWO-GRNN排肥量预测模型构建方法 算法流程如图4所示,整个流程包括数据集准备、平滑因子(σ)优化、GRNN模型训练和排肥量预测模型测试3个部分。首先,根据标定试验数据划分训练集和验证集;然后基于GWO算法获得最佳平滑因子(σ);最后将最佳平滑因子代入GRNN模型进行训练,构建排肥量预测模型。
为了验证GWO-GRNN算法的有效性,将其优化过程与DE-GRNN进行对比,采用3种颗粒肥的标定数据作为样本数据,进行同样的训练集、验证集划分,并设置相同的种群数量和迭代次数,运行结束后,在获得相同寻优结果的前提下,从收敛性和快速性2个方面来进行评价。
3.2.1 试验环境及参数设置
(1)运行环境。操作系统为64位windows 10,CPU为Intel® CoreTMi9-9988HK,主频为2.4 GHz,内存为 16 GB,试验平台为Matlab2017b。
(2)参数设置。为了保证试验客观公平,2种算法均采用同样的数据集以及样本划分,每种颗粒肥的数据集共99个样本,取其中11个样本为验证集,其余为训练集,设置种群规模均为10,最大迭代次数为50。根据问题特征,待寻优变量为σ,因此维度Dim为1,许用范围为σ∈[0.1,4]。DE-GRNN的其他参数设置为:缩放因子F为0.5,交叉概率CR为0.3。
3.2.2 运行结果及分析 经过运算,可得DE-GRNN、GWO-GRNN2种算法优化过程中的收敛曲线(图5)和消耗的时间(表3)。具体如下:
(1)收敛性。由图5可知,对于3种颗粒肥数据,2种算法均能最终收敛,其中对于撒可富数据,GWO-GRNN 算法的收敛速度更快。
由图5-a、图5-b可见,对于尿素和史丹利数据,2种算法均能在5代以内到达到收敛值附近,其中 DE-GRNN 算法在迭代初期就能获得较好的收敛效果;对于撒可富数据集,GWO-GRNN算法具有较好的收敛性,由图5-c可见,GWO-GRNN算法在第8代就达到收敛,但DE-GRNN运行到第22代才收敛。
(2)快速性。2种算法的运行时间如表3所示,对于3种颗粒肥数据集,DE-GRNN算法的运行时间在34 s左右,GWO-GRNN算法的运算时间均在20 s以内。
表3 算法运行时间
综合可知,GWO-GRNN算法整体上具有较快的收敛速度和较短的运行时间,在进行平滑因子优化时更具优势。因此,本研究采用GWO-GRNN算法进行排肥量预测模型的构建。
3.3 基于GWO-GRNN的排肥量预测模型精度分析
根据以上研究,按照GWO-GRNN算法流程在Matlab环境下进行寻优,获得3种颗粒肥数据集的最佳平滑因子,通过对数据集进行训练,分别获得3种颗粒肥的排肥量预测模型。为了验证排肥量预测模型的泛化能力,对3种颗粒肥分别选用未参加训练的18个测试集对模型进行测试,测试集数据如表4所示。
表4 测试集数据
计算模型预测值和试验值之间的平均相对误差(MRS)与模型决定系数(R2),对模型的精度进行评价,测试结果见表5,图6为绘制的散点图。
由表5可知,经过GWO-GRNN寻优,获得的尿素、史丹利、撒可富复合肥的最佳平滑因子依次为3.468、3.574、3.858,基于最佳平滑因子构建的排肥量预测模型决定系数均在0.99以上,平均相对误差均在2%左右。
表5 排肥量预测模型精度
由图6可知,对于3种颗粒肥,预测值能够很好地拟合试验值。因此,本研究构建的3种颗粒肥排肥量预测模型具有较高的预测精度,提出的GWO-GRNN算法能够应用于各种颗粒肥排肥量预测模型的构建,具有较好的适应性。
在构建的双变量施肥试验平台上,对尿素、史丹利、撒可富3种颗粒肥进行了不同排肥口开度、排肥轴转速条件下的定时标定排肥试验,并绘制了3种颗粒肥的排肥量和转速、开度的拟合响应关系曲线。
提出一种基于GWO-GRNN排肥量预测模型构建方法,对3种颗粒肥排肥量预测模型的平滑因子进行了寻优。为了验证算法有效性,将运算过程与DE-GRNN进行对比分析。结果表明,GWO-GRNN算法整体上具有较快的收敛速度和较短的运行时间,在进行平滑因子优化时更具优势。
基于寻优获得的最佳平滑因子,构建了3种不同肥料的排肥量预测模型,并分别选取3种颗粒肥未参加训练的18个样本作为测试集,对模型进行验证。结果表明,3种颗粒肥排肥量预测模型决定系数均在0.99以上,平均相对误差均在2%左右。因此,该方法能够在保证排肥量预测模型精度的同时提升运算效率,具有较好的适应性和应用价值。