张丽娜,鲁旭涛 ,刘 昊 ,李 静
(1.中北大学 信息与通信工程学院,太原 030051;2.中北大学 电气与控制工程学院,太原 030051)
我国是一个农业大国,农田占地面积大,水资源作为生命的源泉,关系到农业的发展,影响着人民的温饱问题。根据最新数据统计显示,2020年我国的耕地面积可达到18.65亿亩,长期保护农田面积达到15.46亿亩,高标准的农田面积至少要有8亿亩并逐步发展为10亿亩。“十二五”期间,我国的灌溉技术不断发展,农田灌溉面积不断扩大,经过改善后新增加了7500万亩灌溉面积。我国实施了大量的节水政策,已经取得较大成效,灌溉面积增加了1.2亿亩,当今农业发展的关键是必须要有效落实耕地和灌溉用水措施,对同作物进行合理化的管理。
因此,徐景辉等人提出了基于SOA算法实现了PID参数的自动优化[1]。王磊提出了枚举法和遗传算法在农田灌溉管道系统优化设计[2]。安庆杰等人提出了基于改进粒子群算法的两级渠道水资源优化配置。Alonso Campos提出了基于并行多目标遗传算法的灌溉调度实时能量优化。Mohammad Ali Asgharzadeh提出了基于HADIS算法的灌溉调用系统。上述灌溉方法无法根据需水量得出灌溉时间,对此本文提出一种基于RBF神经网络模糊控制的灌溉决策系统,以山西省忻州地区种植的玉米利合328号为例,进行研究,相比传统灌溉方式增加了产量。
为了保证灌溉的高效性和科学性,就了解作物的需水特性,农作物需水量是在作物不受严重的病虫毒害,正常的土壤状况下的生长需水量。影响作物需水特性的条件主要分三大部分:气象条件,土壤条件,作物自身的特性等。
气象条件主要是气温、风速大小、气压大小、空气湿度等。这些因素会影响作物的蒸腾作用,风速会影响空气的温湿度大小,进而改变作物的蒸腾量。气温越高,空气的水分越少,蒸腾作用越强。
表1 部分气象数据表
土壤条件主要是土壤的种类、土壤的结构、土壤的吸水性、地下水等。不同的土壤类型和土壤结构会影响土壤渗透率,影响土壤的吸水性,进而影响作物的吸水性。地下水量的大小会影响土壤的温湿度。地下水位较高的地方可以适当的减少灌溉量。
作物特性主要是作物的吸水特性、作物生长的不同时期的需水量等。不同种类的作物、不同品种的作物以及不同生长周期的作物对水分的需求量不同。耐寒的作物需水量小,湿生的作物需水量相对较大。幼苗时期需水量大,成熟时期需水量小。
本文中控制的农田面积为1亩,预测的农作物种类是内蒙古地区种植的玉米利合328号,该作物亩保苗5 500~6 000株,行距55 cm,株距20.2 cm为最佳生长环境。在进行算法控制前,需要先根据气象条件计算神经网络要预测的数据,即利合玉米的需水量,再对RBF神经网络进行训练。本文利用参考作物蒸发量的大小来计算出作物需水量。
Q实=KCQ参
(1)
式(1)中,Q实指实际生长过程中作物的需水量;KC指作物系数;Q参指参考作物需水量。
(2)
式(2)中,Rn指参考作物冠层表面接收的净辐射;G土壤热通量;γ指湿度计常数;u2指离地面2 m高处的风速;es指饱和水气压;ea指当地的实际水气压;Δ指平均气温时饱和水气压与温度曲线斜率。
参考2019年7月和8月50天的数据,计算出每日作物的需水量大小,部分气象数据如表1所示,计算结果如图1所示。
图1 作物需水量计算结果
模糊系统与模糊神经网络二者互相联系又互相独立,模糊系统实现的结果就是模糊神经网络,但是模糊神经网络有自己的特性。将模糊系统和神经网络结合起来可以构成模糊神经网络,将RBF网络与模糊系统结合起来可以构成模糊RBF网络。
模糊RBF神经网络结构有四层,分别为:输入层、模糊化层、模糊推理层和输出层构成。具体的网络结构如图2所示。
图2 模糊RBF神经网络结构
模糊RBF网络中信号传播及各层的功能如下。
第一层:输入层。
输入层的节点与输入的参数量之间直接建立联系,将输入量传送到输入层。传输节点的输入和输出之间的关系式为:
f1(i)=xi
(3)
第二层:模糊化层,即隶属函数层。
本文用高斯函数作隶属函数,在模糊化层中,各个节点都能进行隶属函数计算,在第j个节点处:
(4)
(5)
其中:cij和bj分别是第i个输入变量的第j个模糊集合高斯函数的均值和标准差。
第三层:模糊推理层,即建立规则层。
该层的各个节点可以与模糊化层建立连接,通过固定的模糊控制规则组合在一起,输出相应的数据,输出的数据具有一定的强度,其中的节点j的输出结果是本节点全部输入信号的总乘积,即:
(6)
第四层:输出层。
各个节点收到的输入信号的加权总和即为该节点的输出量,即:
(7)
其中:l为输出层节点数,W为输出节点与第三层各节点的连接权矩阵。
采用模糊RBF网络逼近对象,取网络结构为输入层2,模糊化层4,输出层1,过程如图3所示。
图3 模糊RBF神经网络逼近
取ym(k)=f4,ym(k)和y(k)分别表示模糊输出和实际输出。模糊的输入为y(k)和u(k),模糊的输出为ym(k),则模糊的逼近误差为:
e(k)=y(k)-ym(k)
(8)
定义如下的目标函数,便于调整函数:
(9)
输出层权值的调节方式:
(10)
则输出层的权值学习算法:
w(k)=w(k-1)+Δw(k)+α[w(k-1)-w(k-2)]
(11)
式中,η为学习速率,α为动量因子,η∈[0,1],α∈[0,1]。
隶属函数参数的调整方式:
(12)
(13)
其中:
(14)
隶属函数参数的学习算法:
cij(k)=cij(k-1)+Δcij(k)+α[cij(k-1)-cij(k-2)]
(15)
bj(k)=bj(k-1)+Δbj(k)+α[bj(k-1)-bj(k-2)]
(16)
气象条件、土壤条件以及作物特性会影响到农作物的需水特性,而气象条件中的光照、温度高低、湿度状况以及风速大小对作物的需水量影响较大。为了将农作物的需水量控制在合理高效的范围内,将这四个参数作为模糊控制的输入,而玉米的需水量的大小作为控制的输出。灌溉策略结构如图4所示,首先根据输入参数计算出作物的需水量,再参考实际的土壤含水量计算出需要灌溉的水量的多少,随后用模糊控制算法计算出灌溉这一需水量所用的灌溉时间,最后通过控制阀门的状态来控制灌溉。
图4 灌溉结构图
神经网络预测模型设计步骤如下。
3.2.1 样本预处理
RBF神经网络要求输入的参数量可以实时的进行采集,并且对输出变量的影响较大。输入的数据需要处理成0到1之间的的代表数据,用来计算权值的大小。具体的预处理计算过程如下:
(17)
式中,x为原样本;y为预处理后的样本;xmin,xmax为原样本中的最小值,最大值;ymin,ymax为样本范围。
3.2.2 神经网络节点个数确定
RBF神经网络能够根据不同的要求和不同的解决方案设计出不同的结构,结构使用过程比较灵活。本文的输入参数量为光照强度、空气温度、空气湿度以及风速大小4个变量,输出变量为作物需水量。因此需要确定模糊结构中的模糊化层节点数是模糊网络结构的重要影响因素。用如下公式确定模糊化层节点个数:
(18)
P指隐含层节点数目;n指输入层节点数目;m输出层节点数目;a是1~10 之间的调节常数。
对模糊化层节点个数进行假设,将4、5、6、7、8五个数值带入上式进行训练计算,训练时间和绝对均方误差结果如表2所示。
表2 模糊化层节点个数对神经网络训练的影响
根据计算结果可以得出,当模糊化层的节点个数为6时,得出的均方误差最小,计算结果更为准确。故而建立了一个4-6-6-1的RBF 神经网络基本结构,输出值就是需要灌溉的水量的预测值。
3.2.3 参数选择
为了确保本文的真实可靠性,以内蒙古地区种植的玉米利合328号为例,适宜在4月25日至5月10日种植在10厘米低温稳定通过10℃大达到七天以上,活动积温2200℃。环境建立参数。
1)初始值和阈值的选择:
为了方便计算,初始值和阈值一般采用(0,1)之间的随机数值。
2)量化因子和比例因子:
在模糊控制器中输入参数是精确数值,需要进行模糊处理输入到模糊规则中,对应的输出也是模糊值域,需要处理为精确值进行输出控制。故而,要引入量化因子和比例因子对其进行转换控制。
假设输入量a1的分量e=[-a,a],模糊论域:
U={-n,-n+1,...,0,...n-1,n}。则量化因子定义为:
(19)
解得,量化因子分别为:
比例因子定义为:
(20)
解得,比例因子为:
kT=257 s
3)期望误差的选择:
期望误差设置为10-2。
本文用到的控制器是被广泛使用的Mamdani 型模糊推理控制器。为了测量准确,对土壤中的水分采用多个传感器进行测量,然后取加权平均数作为最终的参考量。灌溉需水量使用RBF神经网络进行周期性的预测,周期为5分钟。但是,当最终计算出的灌溉时间小于5分钟时要等待下一个预测周期,此时需要停止灌溉。
3.3.1 输入输出变量论域
本文的控制器的输入是灌溉需水量和土壤水分的差值Q和土壤的水分变化率E两个变量。输出量是实际的灌溉时间T。Q的差值变化范围为0~20%;E的变化率范围为-5%~5%;T的时间变化范围为0~30 min。
3.3.2 模糊语言及其量化论域
模糊控制的规则根据不同的输入输出的级别来确定,首先将输入输出三个变量进行等级定义,然后根据实际情况排列组合得到模糊控制规则。本文Q的变化分为八个等级,从0到7;E的变化分为七个等级,从-3到3;T的变化分为八个等级,从0到7。对应的语言如表3所示。
表3 Q、E、T的模糊语言变量
3.3.3 隶属度函数
采用三角隶属函数将输入与模糊控制规则联系起来,隶属函数的形式会影响灌溉用水的使用效率,进而影响产量。输入输出变量的隶属度函数结果如图5~7所示。
图5 Q的隶属度函数
图6 E的隶属度函数
图7 T的隶属度函数
3.3.4 规则表
模糊控制主要是通过设定好的控制规则来实现的,本文的输入为八个和七个等级,因此共有56个控制的规则组合,具体的模糊控制规则表4所示。
表4 模糊控制规则表
采用土壤中安装的传感器检测出土壤含水量,然后用设计好的RBF神经网络计算出需要灌溉的水量和灌溉的时间,RBF神经网络训练误差如图8所示。
图8 训练误差图
由图8可知,误差值开始的时候下降的梯度较大,随着训练次数的增加,下降的速度不断减少,最终趋于稳定。因此,本文的RBF神经网络预测模型能够比较稳定的实现灌溉,满足设计的需求。
训练结束后对进行预测,横坐标指样本编号,纵坐标指需水量,实现指实际检测的需水量,虚线指预测到的需水量。具体的预测结果如图9所示。
图9 农作物需水量实际值和预测值分布
由图可知,预测值和实际值之间的差值较小,即预测误差小,预测值满足实际需求。
在MATLAB的工具箱中设置模糊控制器,设置为双输入单输出的控制器,并将输入输出变量的命名进行更改,设计的控制器结构如图10所示。
图10 模糊控制器结构
对模糊控制器的输入和输出函数的隶属度进行编辑后,建立模糊控制规则,对本设计的56条控制规则逐一设置。模糊控制规则设计窗口如图11所示。
图11 模糊控制规则
模糊控制器建立完成后,设置x轴为灌溉需水量和土壤水分的差值,y轴为土壤湿度变化率,z轴为计算的灌溉时间。实际的输出结果如图12所示。
图12 模糊控制结构曲面图
模糊控制器会根据实际的状况算出实际灌溉时间,输出结果如图13所示。当两个输入分别为1.93,1.17时,输出为3.78,乘以比例因子257 S,计算出的灌溉时间为971.46 s。
图13 模糊控制输出结果
本文首先对作物的需水特性进行分析,确定了四个影响作物因子的函数,作为RBF神经网络的输入来逼近计算作物的需水量,并以山西省忻州地区种植的玉米利合328号为例,建立模糊控制器,根据不同的环境参数计算出不同的灌溉时间。并对RBF神经网络和模糊控制器进行 MATLAB仿真,保证了使用的可行性。最终实验测试结果显示,在相同的环境条件下,本设计的灌溉控制器可以实时控制灌溉时间,在一小时的灌溉时间内,可以节约用水量达到21%,粮食产量每亩同比增加100公斤。