本发明涉及农业水资源调度领域,尤其涉及一种基于神经网络技术的农业水利调度方法及系统。
背景技术:
农业在国民经济总用水量中占有很大比重,且农业用水在农业生产中起着十分重要的作用,因此,对农业发展需水量进行估计或对未来农业用水量进行预测,对于合理分配、优化调度有限的水资源,提高水资源利用效率,推动区域农业生产发展具有重要的现实意义。
农业用水量的预测是水资源合理规划和优化配置的重要工作,也是实现农业水利资源优化调度的基础工作。农业用水量的预测就是根据影响农业需水量的因素和指标的发展趋势,对未来农业发展所需的用水量进行定量估算。因为影响农业用水量的因素很多,如农业播种面积、农业播种结构、农业用水价格和天然的降水量等等,农业用水量表现出很大的随机性、波动性和非线性等特征。在现有农业水利资源调度的方法中,特别是广大农村地区,基本属于基于经验人工调度,没有针对局部区域的各种农业数据进行分析预测,有学者提出过一些数学模型,主要有区域水量平衡法、神经网络预测法以及灰色理论法等,各种方法各有利弊。
当前用于农业水利资源预测调度的方法中,都是利用各类数学模型进行农业用水量的预测,但这些模型原理较为复杂,操作较难,相对而言,bp神经网络因对于非线性的负荷数据预测有较好的拟合能力而得到广泛应用,但是bp神经网络不仅计算量大,消耗时间多,也存在一定的缺陷,比如:易陷入局部最小值、收敛速度慢,初始权值、阈值随机赋予和网络训练震荡等,在利用遗传算法改进的神经网络模型对农业用水量进行预测的模型中,由于传统的遗传算法交叉与变异概率是常数,导致在训练过程中,群体易停留在局部最优值,即使预测精度得到提高,但存在局部寻优能力不足,易陷入早期收敛等缺陷;导致农业水利调度不及时,不准确等。
技术实现要素:
为了合理地根据当前地区的近期一个月降水量、年降水量、该区域空气中的温度湿度和二氧化碳浓度、土壤条件(温度、湿度、ph值等)、该区域公共水源总量和区域内水源的数量分布、农作物的类型、播种面积、农作物灌溉方式以及农作物的存活状态和水分含量数据等信息对农业水利资源进行合理优化调度,本发明提出一种基于神经网络技术的农业水资源调度优化方法及系统。
具体的,一种基于神经网络技术的农业水利调度方法及系统,所述方法包括以下步骤:
s1、在农业灌溉区设置多个监测传感器,监测该区域的各类环境数据以及各类作物数据,并对其进行特征提取;
s2、构建bp神经网络模型,输入当前区域的各类环境数据以及各类作物数据,按照设定的初始权值和初始阈值直接预测出当前区域的农业水利的调度数据;
s3、采用遗传算法的方式,将种群个体对应到提取后的特征,设置进化代数计数器t=0,设置最大进化代数t以及特征种群规模;并随机生成多个特征个体作为初始化的特征种群;
s4、计算出第t代的特征种群中各个特征个体的适应度值;
s5、将不满足收敛条件下的特征个体采用选择、交叉、变异处理,令t=t+1;再采用粒子群算法进行处理,返回步骤s4,直至其满足收敛条件;在满足收敛条件下,则将具有最大适应度的特征个体作为最优解输出;
s6、将最优解作为该bp神经网络模型优化后的初始权值和优化后的初始阈值,从而优化bp神经网络模型;
s7、输入当前区域的农业水利的真实调度数据;对优化后的bp神经网络模型进行训练,计算出优化模型预测出的当前区域的农业水利的调度数据与该区域真实农业用水量数据之间的误差;判断误差是否满足设定的误差范围,若误差满足设定的误差范围,则完成训练;否则更新权值以及阈值后继续训练;
s8、输入待预测区域的各类环境数据以及各类作物数据,经过步骤s7完成训练后的bp神经网络模型,输出预测后的当前区域的农业水利的调度数据;按照该调度数据进行调动,实现农业水利资源的调度优化和配置。
进一步的,所述环境数据包括该区域的近期一个月降水量、年降水量、该区域空气中的温度湿度和二氧化碳浓度、土壤条件(温度、湿度、ph值等)、该区域公共水源总量和区域内水源的数量分布;所述作物数据包括农作物类型、播种面积、农作物灌溉方式以及农作物的存活状态和水分含量数据等。
进一步的,步骤s4中的适应度值的计算公式表示为f=1/∑(t-a2)2;t表示当前区域的农业水利的真实调度数据,a2表示为bp神经网络模型预测出的当前区域的农业水利的调度数据。
所述步骤s5包括以下步骤:
s51、判断特征的适应度值是否满足收敛条件,若满足收敛条件,则以进化过程中得到的具有最大适应度的特征个体作为最优解输出,并进行步骤s6,否则进行步骤s52;
s52、对不满足收敛条件的特征依次进行选择、交叉和变异操作,从而生成下一代的特征种群,令t=t+1;
s53、根据自适应函数生成抽样概率,并对新生成的特征种群中的特征个体进行抽样;
s54、判断抽样的特征个体是否稳定,若稳定,则对抽样后的特征个体进行粒子群优化调整,形成粒子特征种群,返回步骤s4;否则返回步骤s53,继续对特征种群中的特征个体进行抽样。
进一步的,步骤s42中对个体进行选择、交叉、变异操作包括:
以交叉概率pc对特征个体进行交叉操作,交叉概率pc表示为:
以变异概率pm对特征个体进行变异操作,变异概率pm表示为:
其中,pcmax为交叉概率的最大值;pcmin为交叉概率的最小值;e为最大进化代数;ei为当前进化代数;a为经验常数;f'为进行交叉操作的两个父辈中适应度值较大的一个;f'avg为种群特征适应度的平均值;fmax为种群特征适应度最大值;pmmax为变异概率的最大值;pmmin为变异概率的最小值。
进一步的,步骤s54中的进行粒子群优化调整包括:
s541、根据遗传算法中的交叉变异自适应概率抽样出来的新个体输出是否稳定,设立稳定条件,则进行下一步粒子特征种群优化操作;
s542、进行粒子特征种群优化操作,对步骤s541中满足稳定条件的输出数据进行粒子特征种群初始化,包括粒子特征种群的初始位置和初始速度,设置迭代次数t0=0、最大迭代次数t0、学习因子c1和c2以及惯性因子ω;
s543、根据粒子群适应度函数评估每个特征粒子的适应度;
s544、对每个特征粒子,将其适应度值与其经过的最好位置pbestk作比较,则将两者中较好的作为当前的最好位置;
s545、对每个特征粒子,将其适应度值与其全局经过的最好位置gbestk作比较则将两者中较好的作为全局的最好位置;
s546、根据以下公式分别更新特征粒子的速度和位置,vk+1=ωvk+c1(pbestk-xk)+c2(gbestk-xk);xk+1=xk+vk+1;
s547、如果达到终止条件t0=t0,则继续执行下一步,否则跳转回s543;
s548、将上一步中满足终止条件的最优解形成下一代粒子特征种群,并令t0=t0+1,返回步骤s4;
其中,vk是特征粒子的速度向量,xk是当前特征粒子的位置;pbestk表示特征粒子本身找到的最优解的位置;gbestk表示整个特征种群中目前找到的最优解的位置;t0表示粒子特征种群的代数。
进一步的,所述步骤s6中优化后的bp神经网络模型包括使用3层bp神经网络结构,即输入层,一层隐藏层,和输出层;其中输入层2个节点、隐藏层5个节点、输出层1个节点;隐藏层的节点数目由以下经验公式得到
进一步的,步骤s7中所述对bp神经网络模型进行训练包括:
s71、输入bp神经网络的初始参数,初始参数包括优化后的初始权值和优化后的初始阈值;
s72、根据训练数据包,包括输入当前区域各类环境数据以及各类作物数据和当前区域的农业水利的真实调度数据,得到预测数据,即预测出的当前区域的农业水利的调度数据;
s73、计算预测出的当前区域的农业水利的调度数据与当前区域的农业水利的真实调度数据之间的误差,根据该误差反向传播更新权值和阈值;
s74、计算bp神经网络的误差均方和,当该网络的误差均方和属于设定的误差范围或者达到停止条件时,完成训练;否则返回步骤s72。
进一步的,网络的误差均方和表示为:
其中,yij为第j个神经元的实际输出;yij为第j个神元的预测输出;m为训练样本数;n为bp神经网络的最大迭代次数。
本发明还提出了一种基于神经网络的农业水利调度系统,所述系统包括bp神经网络预测模块、最优初始化权值阈值生成模块以及数据预处理模块;所述最优初始化权值阈值生成模块包括随机生成器、遗传适应度计算器、遗传代数计算器、选择单元、交叉单元、变异单元、自适应概率抽样单元、抽样数据分流器、计数器、粒子适应度计算单元以及粒子优化单元;其中:
所述随机生成器用于生成随机特征个体;
所述遗传适应度计算器用于计算特征个体的适应度;
所述遗传代数计算器用于遗传代数的计数;
所述选择单元用于根据特征个体的适应度值选择出特征个体;
所述交叉单元用于对选择单元选择的特征个体以交叉概率进行交叉操作;
所述变异单元用于对交叉单元输出的特征个体以变异概率进行变异操作并得到下一代特征个体;
所述自适应概率抽样单元用于对变异单元输出的特征个体进行抽样操作;
所述抽样数据分流器用于判断抽样单元抽样的个体是否稳定,若稳定则将数据输入粒子优化单元,否则将反馈给抽样单元重新进行抽样;
所述粒子优化单元用于对抽样单元抽样的特征个体进行粒子优化操作生成下一代粒子化特征个体;
所述计数器用于对粒子化特征个体的代数进行计数,若粒子优化单元输出的粒子化特征个体的代数没有达到最大代数则将个体反馈到粒子适应度计算单元进行迭代,否则将数据输入bp神经网络预测模块作为该模块的初始权值阈值;
所述数据预处理模块用于对输入bp神经网络预测模块进行预测的数据进行归一化处理;
所述bp神经网络预测模块用于根据数据预处理模块的数据作为输入;输出预测的农业水利调度信息。
本发明的有益效果:
本发明针对利用传统的遗传算法对bp神经网络预测模型进行优化时,容易陷入局部寻优能力不足、易陷入早期收敛等缺陷,在利用遗传算法进行交叉变异操作时采用了自适应函数代替传统的常数概率,极大的规避了局部最优解的情况,并利用粒子群优化算法收敛速度快以及具有全局收敛性的特点,提出粒子群算法改进的遗传算法,来优化bp神经网络的初始权值阈值,建立改进遗传算法的bp神经网络预测模型。利用该模型对某一区域的农业用水量数据进行预测,结果表明改进后的模型预测输出和实际负荷值拟合度更好,且预测输出稳定性较好,没有出现大幅度的波动。说明改进后的模型对农业水利资源预测的调度更可靠,更有优势。
附图说明
图1为本发明的一种基于改进神经网络的农业水利调度方法的流程图;
图2为本发明中采用遗传算法方式生成的初始化种群的处理过程图;
图3为本发明优化后的初始权值和优化后的初始阈值的计算过程图;
图4为本发明采用粒子群算法的实施过程图;
图5为本发明对改进神经网络的训练过程图;
图6为本发明采用的bp神经网络的拓扑结构图;
图7为本发明的优选实施例的方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
本发明方法是依据改进后的bp神经网络模型对农业用水量进行预测,继而合理规划和优化配置农业水利资源,实现农业水利资源的合理优化调度。包括利用粒子群优化算法和遗传算法对神经网络模型的权值和阈值进行优化,进而输出最优解,如图1所示,具体步骤可参考如下:
步骤s1、在农业灌溉区设置多个监测传感器,监测该区域的各类环境数据以及各类作物数据,并对其进行特征提取;
利用传感器在农业灌溉区设置各个数据监测点,监测数据包括该区域的近期一个月降水量、年降水量、该区域空气中的温度湿度和二氧化碳浓度、土壤条件(温度、湿度、ph值等)、该区域公共水源总量和区域内水源的数量分布、农作物的类型、播种面积、农作物灌溉方式以及农作物的存活状态和水分含量等数据进行特征提取;
例如,本实施例给出某一灌溉区的近期一个月降水量数据,年降水量数据,该区域公共水源总量数据,区域内独立水源数量分布数据,种植农作物的类型数据,其土壤条件数据(湿度、温度、ph值等),农作物的播种面积和灌溉方式数据,某一类型农作物的需水量数据,以及作物的存活状态数据、作物水分含量数据等表征农作物是否处在缺水状态的一系列指标。
s2、构建bp神经网络模型,输入当前区域的各类环境数据以及各类作物数据,按照设定的初始权值和初始阈值直接预测出当前区域的农业水利的调度数据;
s3、采用遗传算法的方式,将种群个体对应到提取后的特征,设置进化代数计数器t=0,设置最大进化代数t以及特征种群规模;并随机生成多个特征个体作为初始化的特征种群;
s3、计算出第t代的特征种群中各个特征个体的适应度值;
s4、计算出第t代的特征种群中各个特征个体的适应度值;
s5、将不满足收敛条件下的特征个体采用选择、交叉、变异处理,令t=t+1;再采用粒子群算法进行处理,返回步骤s4,直至其满足收敛条件;在满足收敛条件下,则将具有最大适应度的特征个体作为最优解输出;
s6、将最优解作为该bp神经网络模型优化后的初始权值和优化后的初始阈值,从而优化bp神经网络模型;
s7、输入当前区域的农业水利的真实调度数据;对优化后的bp神经网络模型进行训练,计算出优化模型预测出的当前区域的农业水利的调度数据与该区域真实农业用水量数据之间的误差;判断误差是否满足设定的误差范围,若误差满足设定的误差范围,则完成训练;否则更新权值以及阈值后继续训练;
s8、输入待预测区域的各类环境数据以及各类作物数据,经过步骤s7完成训练后的bp神经网络模型,输出预测后的当前区域的农业水利的调度数据;按照该调度数据进行调动,实现农业水利资源的调度优化和配置。
在一个实施例中,如图2所示,步骤s3可采用以下步骤:
s31、将环境数据以及作物数据进行特征提取,并分别将其作为特征种群的各个个体;
s32、将每个特征种群的特征个体通过二进制编码,即将每个特征个体用一个二进制实数串表示,先对每个个体进行编码,将其合并为一个长串,解码时,再对每个个体进行解码;例如,将外部环境信息数据(土壤条件、近期降水量、水源总量和分布情况、作物类型、播种面积等)进行二进制编码,便于后续的选择、交叉、变异操作。
s33、设置进化代数计数器t=0,设置最大进化代数以及种群规模t,并随机生成m个特征个体作为初始化特征种群p(0)。
在一个实施例中,如图3所示,步骤s5,也即是在优化bp神经网络模型之前可采用以下步骤:
s51、判断特征的适应度值是否满足收敛条件,若满足收敛条件,则以进化过程中得到的具有最大适应度的特征个体作为最优解输出,并进行步骤s6,否则进行步骤s52;
s52、对不满足收敛条件的特征依次进行选择、交叉和变异操作,从而生成下一代的特征种群,令t=t+1;
s53、根据自适应函数生成抽样概率,并对新生成的特征种群中的特征个体进行抽样;
s54、判断抽样的特征个体是否稳定,若稳定,则对抽样后的特征个体进行粒子群优化调整,形成粒子特征种群,返回步骤s4;否则返回步骤s53,继续对特征种群中的特征个体进行抽样。
在一个实施例中,如图4所示,步骤s54中的进行粒子群优化调整包括:
s541、根据遗传算法中的交叉变异自适应概率抽样出来的新个体输出是否稳定,设立稳定条件,则进行下一步粒子特征种群优化操作;
s542、进行粒子特征种群优化操作,对步骤s541中满足稳定条件的输出数据进行粒子特征种群初始化,包括粒子特征种群的初始位置和初始速度,设置迭代次数t0=0、最大迭代次数t0、学习因子c1和c2以及惯性因子ω;
s543、根据粒子群适应度函数评估每个特征粒子的适应度;
s544、对每个特征粒子,将其适应度值与其经过的最好位置pbestk作比较,则将两者中较好的作为当前的最好位置;
s545、对每个特征粒子,将其适应度值与其全局经过的最好位置gbestk作比较则将两者中较好的作为全局的最好位置;
s546、根据以下公式分别更新特征粒子的速度和位置,vk+1=ωvk+c1(pbestk-xk)+c2(gbestk-xk);xk+1=xk+vk+1;
s547、如果达到终止条件t0=t0,则继续执行下一步,否则跳转回s543;
s548、将上一步中满足终止条件的最优解形成下一代粒子特征种群,并令t0=t0+1,返回步骤s4;
其中,vk是特征粒子的速度向量,xk是当前特征粒子的位置;pbestk表示特征粒子本身找到的最优解的位置;gbestk表示整个特征种群中目前找到的最优解的位置;t0表示粒子特征种群的代数。
在一个实施例中,如图5所示,本发明的改进神经网络的训练过程可包括:
步骤s7中所述对bp神经网络模型进行训练包括:
s71、输入bp神经网络的初始参数,初始参数包括优化后的初始权值和优化后的初始阈值;
s72、根据训练数据包,包括输入当前区域各类环境数据以及各类作物数据和当前区域的农业水利的真实调度数据,得到预测数据,即预测出的当前区域的农业水利的调度数据;
s73、计算预测出的当前区域的农业水利的调度数据与当前区域的农业水利的真实调度数据之间的误差,根据该误差反向传播更新权值和阈值;
s74、计算bp神经网络的误差均方和,当该网络的误差均方和属于设定的误差范围或者达到停止条件时,完成训练;否则返回步骤s72。
其中,本实施例中是将当前区域的农业水利的真实调度数据作为期望数据值。
上述停止条件一般为bp神经网络中权值和阈值的最大迭代次数,可由人为自行设定。
利用该模型对农业水资源调度数据进行预测时,结果表明改进后的模型预测输出和实际负荷值拟合度更好,且预测输出稳定性较好,没有出现大幅度的波动。
在一个实施例中,所采用的bp神经网络如图6所示,该模型包括使用3层bp神经网络结构,即输入层,一层隐藏层,和输出层;其中输入层包括2个节点、隐藏层包括5个节点、输出层包括1个节点;隐藏层的节点数目由以下经验公式得到
将初始训练数据集作为神经网络的输入,即将输入示例提供给输入层神经元,然后逐层将信号前传,直到产生输出层的结果,然后计算输出层的误差,再将误差逆向传播至隐藏层神经元,最后根据隐藏层神经元的误差来对权值和阈值进行调整,该迭代过程循环进行,直到达到停止条件,即一个可以接受的误差范围,输出预测的农业水资源调度信息数据。
在一种实现方式中,作为一种优选实施例,本发明可不限于农业水利调度领域,参考如图7所示,使用本发明提出的方法,可应用于其他数据处理领域,其过程包括:
将农业水利初始信息或其他数据进行特征提取,利用遗传算法进行种群初始化并对个体开始编码,计算每个特征个体的适应度值,判断时候达到收敛条件,对不满足收敛条件的个体进行遗传算法的选择、交叉、变异操作,形成下一代粒子特征种群,并判断连续20代是否满足稳定条件,不满足稳定返回重新抽样,满足稳定的特征个体进行粒子特征种群初始化,通过粒子群的优化算法,得到最优值,将最优个体作为神经网络的权值和阈值,进行bp神经网络模型训练,最后通过输出经模型预测后的农业水利调度信息。
在一个实施例中,稳定条件表示若连续20代最优特征个体适应度值稳定不变或变化在可接受范围内波动。
在一种可实现方式中,本发明还可对农业水资源预测信息进行预处理包括采用最大最小法进行数据归一化处理,表示为:
xk=(xk-xmin)/(xmax-xmin)
其中,xk表示真实输出数据,xmax表示最大输出数据,xmin表示最小输出数据。
在一个实施例中,本发明的一种基于神经网络的农业水利调度系统,所述系统包括bp神经网络预测模块、最优初始化权值阈值生成模块以及数据预处理模块;所述最优初始化权值阈值生成模块包括随机生成器、遗传适应度计算器、遗传代数计算器、选择单元、交叉单元、变异单元、自适应概率抽样单元、抽样数据分流器、计数器、粒子适应度计算单元以及粒子优化单元;其中:
所述随机生成器用于生成随机特征个体;
所述遗传适应度计算器用于计算特征个体的适应度;
所述遗传代数计算器用于遗传代数的计数;
所述选择单元用于根据特征个体的适应度值选择出特征个体;
所述交叉单元用于对选择单元选择的特征个体以交叉概率进行交叉操作;
所述变异单元用于对交叉单元输出的特征个体以变异概率进行变异操作并得到下一代特征个体;
所述自适应概率抽样单元用于对变异单元输出的特征个体进行抽样操作;
所述抽样数据分流器用于判断抽样单元抽样的个体是否稳定,若稳定则将数据输入粒子优化单元,否则将反馈给抽样单元重新进行抽样;
所述粒子优化单元用于对抽样单元抽样的特征个体进行粒子优化操作生成下一代粒子化特征个体;
所述计数器用于对粒子化特征个体的代数进行计数,若粒子优化单元输出的粒子化特征个体的代数没有达到最大代数则将个体反馈到粒子适应度计算单元进行迭代,否则将数据输入bp神经网络预测模块作为该模块的初始权值阈值;
所述数据预处理模块用于对输入bp神经网络预测模块进行预测的数据进行归一化处理;
所述bp神经网络预测模块用于根据数据预处理模块的数据作为输入;输出预测的农业水利调度信息。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:rom、ram、磁盘或光盘等。
以上所举实施例,对本发明的目的、技术方案和优点进行了进一步的详细说明,所应理解的是,以上所举实施例仅为本发明的优选实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内对本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。