一种基于自适应神经演化算法的二维污染源定位方法技术

技术编号:24886774 阅读:60 留言:0更新日期:2020-07-14 18:14
本发明专利技术提供了一种基于自适应神经演化算法的二维污染源定位方法;首先划定待测区域;然后使用自适应神经演化算法生成多个个体控制智能体在待检测区域中运动,计算各个个体的适应度函数,得出此次迭代中最优的个体;重复执行多次,得出完整迭代实验中最优的个体,该个体即为最优神经网络;最后利用最优神经网络控制合适的智能体在实际环境中运动,智能体就可以避开障碍物并准确定位污染源。本发明专利技术的有益效果是:本发明专利技术所提出的技术方案让智能体自动学习,使其朝着污染浓度更高的地方移动并避障;同时本发明专利技术还以剩余能量比例作为评价指标,使得智能体在运动的过程中使用较少的能量就能定位到污染源,能有效减少成本、提高定位精度以及减少能耗。

【技术实现步骤摘要】
一种基于自适应神经演化算法的二维污染源定位方法
本专利技术涉及污染源定位领域,尤其涉及一种基于自适应神经演化算法的二维污染源定位方法。
技术介绍
快速准确的污染源定位对改善环境和减少健康危害具有非常重要的意义。传统的污染源定位算法大致分为两类:一是粗略定位方法,如质心定位算法、等高线定位算法、贝叶斯定位算法等。这类方法算法无需构建扩散模型,但定位精度不高;另一类是基于扩散模型的反演算法,如极大似然估计定位算法、最小二乘法定位算法、最小无偏估计定位算法等。这类方法需要污染源扩散的先验知识。近年来,越来越多的科研人员利用搭载传感器的智能体进行污染源定位。基于浓度梯度的定位算法,以正六边形定位方法为依据,以浓度梯度为判断条件,实现污染源的定位,但是智能体会在污染带来回穿梭,搜索路程可能远大于其他方法。基于粒子群算法的定位方法,通过粒子群算法控制多个智能体快速定位污染源,提高了定位效率,但容易陷入局部最优解。一种基于路径规划和浓度梯度的定位方法,在考虑到避障问题的同时,实现了污染源定位,但是这种方法需要将环境栅格化,由此产生的误差会影响定位结果。此外,大多数方法都没有考虑到检测误差、障碍物、能量消耗等因素,无法满足复杂环境的应用需求。
技术实现思路
为了解决上述问题,解决检测误差、障碍物、能量消耗等因素带来的影响,本专利技术提供了一种基于自适应神经演化算法的二维污染源定位方法,主要包括以下步骤:S101:划定待测区域,并在所述待检测区域内投入污染物;S102:使用自适应神经演化算法生成多个个体,各个个体分别控制智能体在待检测区域中运动寻找污染源,并计算各个个体的适应度函数,得出一次迭代中最优的个体;其中,所有个体控制的智能体均停止运动后为一次迭代;S103:判断迭代次数是否达到H次?若是,得出完整迭代实验中最优的个体,该个体即为最优神经网络;并到步骤S104;否则,返回步骤S102,进行下一次迭代;其中,H为预设的迭代次数;S104:利用所述的最优神经网络控制智能体在实际有污染环境中运动,对所述的实际有污染环境中的污染源进行定位。进一步地,步骤S101中,划定待测区域,并在所述待检测区域内投入污染物;具体包括:S201:选定一个待检测区域m×n;其中,m和n分别为待检测区域的长和宽,且均为预设值;S202:在初始时刻,向所述的待检测区域中的(x,y)位置投入污染物,则(x,y)为污染源所在位置;污染物的扩散模型如公式(1)所示:上式中,Ci,j为所述待检测区域中任意位置(xi,yj)污染物的浓度设定值;di,j为从待检测区域的任意位置(xi,yj)到污染源位置的欧氏距离,即:R为待检测区域的坐标原点(0,0)到污染源位置的欧氏距离,即:noise为待检测区域的浓度误差,范围为(-ρ,ρ),呈随机分布,其中ρ为预设值。进一步地,步骤S102~S103,具体包括:S301:为智能体设定4个传感器,包括:3个超声波传感器和1个浓度传感器;超声波传感器的标志位为sk,标志位集合为S={s1,s2,s3};标志位sk取值为:上式中,l为预先设定的距离阈值,且l>0;d为超声波传感器探测的距离;浓度传感器的标志位为P,取值为:上式中,△c为浓度传感器探测到的当前时刻的浓度c1与前一时刻的浓度c0的差值,设置△c的初始值为0,即:S302:在自适应神经演化算法初始化时,同时产生一个包含n个“个体”的初始种群,每个个体对应一个不同权重和结构的神经网络模型;S303:每个个体都控制智能体在待检测区域中运动,且每个个体控制的智能体的初始条件均相同;将各个个体控制的智能体的标志位S和P组成对应个体的神经网络输入集合I,神经网络对应输出结果控制智能体调整方向和速度;所述输出结果包括:“前进”、“后退”、“左转”或者“右转”;定义所有个体控制智能体从开始运动到停止运动为一次迭代实验;其中,智能体在运动过程中,根据所述的4个传感器采集的数据不断进行判断,当发生以下三种情况时,智能体停止运动:a)智能体定位到污染源;b)智能体与障碍物发生碰撞;c)智能体的能量用尽;S304:在一次迭代实验结束时,计算每个个体的适应度,将适应度最大的个体作为此次迭代实验的适应度最好的个体winner;S305:将各个个体的适应度传递给对应的自适应神经演化算法,用于调整算法的变异概率和对应的神经网络模型的权重,生成下一代个体,并用于下一次迭代;S306:判断迭代次数是否大于或者等于H;若是,则到步骤S307;否则,返回步骤S303,以进行下一次迭代实验;S307:得到适应度最好的个体集合Winner={winner1,winner2,…,winnerH};其中,winnerj为第j次迭代实验的适应度最好的个体;将所述的适应度最好的个体集合Winner中适应度最大的个体称为best,该个体即为最优神经网络;利用该最优神经网络控制智能体在待检测区域中运动,智能体就可以避开障碍物并准确定位污染源。进一步地,步骤S302中,在进行迭代实验之前,预先选取一个较大的数N,将区间[1,N+1)分为k个间隔为m的区间,如[1,m+1),[m+1,2m+1),…,[N-m+1,N+1);分别在k个区间中随机选取1个整数,并将选取的k个整数{n1,n2,…,nk-1,nk}分别作为初始种群数,进行一次迭代实验,且这k次迭代实验的结果相互独立;比较k次迭代实验获取的适应度{F1,F2,…,Fk-1,Fk},将最大的适应度作为最好的适应度Fbest。选取最好的适应度Fbest对应的初始种群数nbest作为完整迭代实验的初始种群数ninitial,并将ninitial作为步骤S302中个体的初始种群数n.进一步地,步骤S303,具体包括:S401:每个个体都控制智能体在待检测区域中运动,且每个个体控制的智能体的初始条件均相同;S402:将每个未停止运动的个体控制的智能体采集的污染物浓度{c1,c2,…,cninitial}分别与预设的污染物浓度阈值σ进行比较,以判断各个未停止运动的个体控制的智能体所在位置是否为污染源;若是,则到步骤S404;否则,到步骤S403;针对某个未停止运动的个体z,具体为:若|cz–σ|<τ,则认为个体z控制的智能体所在位置即为污染源,此时个体z控制的智能体停止运动,并到步骤S404;其中,cz为第z个未停止运动的个体控制的智能体采集的污染物浓度;z=1,2,…,ninitial;ninitial为当前未停止运动的智能体的总个数;其中,τ为预设的浓度差阈值;S403:将每个未停止运动的个体控制的智能体的超声波传感器标志位集合S和浓度传感器标志位P组成其对应神经网络的输入集合I={P,S},各神经网络均对应输出命令结果;各个未停止运动的个体控制的智能体根本文档来自技高网...

【技术保护点】
1.一种基于自适应神经演化算法的二维污染源定位方法,其特征在于:包括以下步骤:/nS101:划定待测区域,并在所述待检测区域内投入污染物;/nS102:使用自适应神经演化算法生成多个个体,各个个体分别控制智能体在待检测区域中运动寻找污染源,并计算各个个体的适应度函数,得出一次迭代中最优的个体;其中,所有个体控制的智能体均停止运动后为一次迭代;/nS103:判断迭代次数是否达到H次?若是,得出完整迭代实验中最优的个体,该个体即为最优神经网络;并到步骤S104;否则,返回步骤S102,进行下一次迭代;其中,H为预设的迭代次数;/nS104:利用所述的最优神经网络控制智能体在实际有污染环境中运动,对所述的实际有污染环境中的污染源进行定位。/n

【技术特征摘要】
1.一种基于自适应神经演化算法的二维污染源定位方法,其特征在于:包括以下步骤:
S101:划定待测区域,并在所述待检测区域内投入污染物;
S102:使用自适应神经演化算法生成多个个体,各个个体分别控制智能体在待检测区域中运动寻找污染源,并计算各个个体的适应度函数,得出一次迭代中最优的个体;其中,所有个体控制的智能体均停止运动后为一次迭代;
S103:判断迭代次数是否达到H次?若是,得出完整迭代实验中最优的个体,该个体即为最优神经网络;并到步骤S104;否则,返回步骤S102,进行下一次迭代;其中,H为预设的迭代次数;
S104:利用所述的最优神经网络控制智能体在实际有污染环境中运动,对所述的实际有污染环境中的污染源进行定位。


2.如权利要求1所述的一种基于自适应神经演化算法的二维污染源定位方法,其特征在于:步骤S101中,划定待测区域,并在所述待检测区域内投入污染物;具体包括:
S201:选定一个待检测区域m×n;其中,m和n分别为待检测区域的长和宽,且均为预设值;
S202:在初始时刻,向所述的待检测区域中的(x,y)位置投入污染物,则(x,y)为污染源所在位置;污染物的扩散模型如公式(1)所示:



上式中,Ci,j为所述待检测区域中任意位置(xi,yj)污染物的浓度设定值;di,j为从待检测区域的任意位置(xi,yj)到污染源位置的欧氏距离,即:



R为待检测区域的坐标原点(0,0)到污染源位置的欧氏距离,即:



noise为待检测区域的浓度误差,范围为(-ρ,ρ),呈随机分布,其中ρ为预设值。


3.如权利要求1所述的一种基于自适应神经演化算法的二维污染源定位方法,其特征在于:步骤S102~S103,具体包括:
S301:为智能体设定4个传感器,包括:3个超声波传感器和1个浓度传感器;
超声波传感器的标志位为sk,标志位集合为S={s1,s2,s3};标志位sk取值为:



上式中,l为预先设定的距离阈值,且l>0;d为超声波传感器探测的距离;
浓度传感器的标志位为P,取值为:



上式中,△c为浓度传感器探测到的当前时刻的浓度c1与前一时刻的浓度c0的差值,设置△c的初始值为0,即:



S302:在自适应神经演化算法初始化时,同时产生一个包含n个“个体”的初始种群,每个个体对应一个不同权重和结构的神经网络模型;
S303:每个个体都控制智能体在待检测区域中运动,且每个个体控制的智能体的初始条件均相同;
将各个个体控制的智能体的标志位S和P组成对应个体的神经网络输入集合I,神经网络对应输出结果控制智能体调整方向和速度;所述输出结果包括:“前进”、“后退”、“左转”或者“右转”;
定义所有个体控制智能体从开始运动到停止运动为一次迭代实验;其中,智能体在运动过程中,根据所述的4个传感器采集的数据不断进行判断,当发生以下三种情况时,智能体停止运动:
a)智能体定位到污染源;
b)智能体与障碍物发生碰撞;
c)智能体的能量用尽;
S304:在一次迭代实验结束时,计算每个个体的适应度,将适应度最大的个体作为此次迭代实验的适应度最好的个体winner;
S305:将各个个体的适应度传递给对应的自适应神经演化算法,用于调整算法的变异概率和对应的神经网络模型的权重,生成下一代个体,并用于下一次迭代;
S306:判断迭代次数是否大于或者等于H;若是,则到步骤S307;否则,返回步骤S303,以进行下一次迭代实验;
S307:得到适应度最好的个体集合Winner={winner1,winner2,…,winnerH};其中,winnerj为第j次迭代实验的适应度最好的个体;
将所述的适应度最好的个体集合Winner中适应度最大的个体称为best,该个体即为最优神经网络;利用该最优神经网络控制智能体在待检测区域中运动,智能体就可以避开障碍物并准确定位污染源。


4.如权利要求3所述的一种基于自适应神经演化算法的二维污染源定位方法,其特征在于:步骤S302中,在进行迭代实验之前,预先选取一个较大的数N,将区间[1,N+1)分为k个间隔为m的区间,如[1,m+1),[m+1,2m+1),…,[N-m+1,N+1);分别在k个区间中随机选取1个整数,并将选取的k个整数{n1,n2,…,nk-1,nk}分别作为初始种群数,进行一次迭代实验,且这k次迭代实验的结果相互独立;比较k次迭代实验获取的适应度{F1,F2,…,Fk-1,Fk},将最大的适应度作为最好的适应度Fbest。选取最好的适应度Fbest对应...

【专利技术属性】
技术研发人员:肖德虎王勇
申请(专利权)人:中国地质大学武汉
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1