基于改进生物地理学的路径规划方法与流程

文档序号:15927633发布日期:2018-11-14 01:18阅读:244来源:国知局

本发明涉及计算机图形学技术领域,具体涉及一种基于改进生物地理学的路径规划方法。

背景技术

路径规划技术是移动机器人导航的核心技术之一,其重要性在近年的研究中不断增加。机器人路径规划问题可定义为机器人在一个存在障碍物的环境中寻找到一条适当的从起点到终点的路径,且在过程之中需满足安全无碰撞、时间或路程代价最小等标准。在传统的解决方案中,例如:人工势场法、可视图法以及栅格法等,这些方法虽然可处理简单的路径问题,但对于复杂非线性的路径规划问题,其优化表现缺乏足够的鲁棒性。随着人工智能的飞速发展,也涌现出一批基于智能仿生学的算法,例如:遗传算法、粒子群算法以及蚁群算法等,这些算法在路径规划的优化上展示出良好的性能,也取得了一系列研究成果。

美国学者dansimon于2008年提出了一种新型群体智能算法,即生物地理学优化算法(biogeography-basedoptimization,bbo),算法中的每个个体具有各自的迁移算子,通过概率选择信息进行迁移操作以及变异操作,使算法在搜索全局最优解的过程中具有较好的收敛性和稳定性,在作业调度、交通运输、图像处理等问题中都有良好的应用。然而,bbo算法在运行过程中,随着更新代数的增加,其迁移操作的随机性会影响种群间的共享效率,种群的多样性也只能依靠简单的随机变异来实现,所以在算法的后期阶段,物种多样性将会降低,这会导致收敛速度下降、易陷入局部最优解和收敛精度较差等问题。



技术实现要素:

本发明所要解决的是现有生物地理学优化算法易陷入局部最优解和收敛精度较差的问题,提供一种基于改进生物地理学的路径规划方法。

为解决上述问题,本发明是通过以下技术方案实现的:

基于改进生物地理学的路径规划方法,包括步骤如下:

步骤1、初始化参数,并随机生成n个初始栖息地以及对应的适应指数,并根据每个栖息地的适应指数,并按照栖息地的适应度指数从大到小的顺序排列栖息地;其中n为所需规划路径的条数;

步骤2、根据每个栖息地的物种数量,计算每个栖息地的迁入率和迁出率;

步骤3、根据迁入率和迁出率,对所有栖息地进行迁移操作,并保留每代最优的两个栖息地为精英栖息地,该精英栖息地在下一代中不进行迁移操作;

步骤4、选择适应指数较差一半的栖息地作为变异栖息地,并根据变异栖息地的物种概率,计算变异栖息地的变异率;

步骤5、根据变异率,对选中的变异栖息地进行变异操作;

步骤6、判断当前代数是否达到预先设定好的最大代数gmax:如果满足,则将当前所有n个栖息地的适应指数作为路径规划结果输出;否则,当前代数加1,并跳转至步骤2。

上述步骤1中,初始化的参数包括最大迁入率i,最大迁出率e,最大种群数量smax,最大物种概率pmax、最大变异率πmax、以及最大代数gmax。

上述步骤2中,栖息地的迁入率λi为:

λi=i/2×[cos(πsi/smax)+1]

其中,i表示最大迁入率,si表示栖息地i的物种数量,smax表示最大种群数量。

上述步骤2中,栖息地的迁出率μi为:

μi=e/2×[-cos(πsi/smax)+1]

其中,e表示最大迁出率,si表示栖息地i的物种数量,smax表示最大种群数量。

上述步骤3中,对栖息地i进行迁移操作的具体过程如下:

判断栖息地i的适应度指数的每一维度d所对应的迁入率与随机数(0,1)的大小,其中i∈[1,n]:

若该维度d的迁入率大于随机数(0,1),则以迁出率为概率μj,从种群中选出另一个栖息地j,即随机数(0,1)落在该栖息地j迁出率μj对应的概率区间内,并利用式①对栖息地i的适应指数的第d维分量hi(d)进行更新,

hi(d)←hi(d)+φ(hj(d)-hi(d))①

若该维度d的迁入率小于等于随机数(0,1),则不对栖息地i的适应指数的第d维分量进行任何操作;

其中,hj(d)表示栖息地j的适应指数的第d维分量,φ表示基于更新代数的自适应算子,φ=1-rand(-1,1)gindex/gmax,rand(-1,1)表示(-1,1)的随机数,gindex表示当前更新代数,gmax表示最大更新代数;d∈[1,d],d表示适应指数的维度。

上述步骤4中,栖息地的变异率πi为:

其中,πmax表示最大变异率,pi表示栖息地i的物种概率,pmax表示最大物种概率。

上述步骤5中,对栖息地i进行变异操作的具体过程如下:

首先,判断栖息地i的适应度指数的每一维度d所对应的变异概率与随机数(0,1)的大小,其中i∈[1,n]:

若该维度d的变异概率大于随机数(0,1),则再次判断新生成的随机数(0,1)是否小于等于交叉概率c或者当前维度d等于维度随机数drand,若是,则利用式②对栖息地i的适应指数的第d维分量hi(d)进行更新,否则,生成式③利用对栖息地i的适应指数的第d维分量hi(d)进行更新,

hi(d)←hi1(d)+f·(hi2(d)-hi3(d))②

hi(d)←ld+rand(0,1)×(ud-ld)③

若该维度d的变异概率小于等于随机数(0,1),则再次判断新生成的随机数(0,1)是否大于交叉概率c或者当前维度d等于维度随机数drand,若是,则利用式④对栖息地i的适应指数的第d维分量hi(d)进行更新,否则,利用式⑤对栖息地i的适应指数的第d维分量hi(d)进行更新,

hi(d)←hi4(d)④

hi(d)←hbest(d)+f·(hi5(d)-hi1(d))⑤

接着,判断更新后的栖息地i的适应指数的第d维分量hi(d)与栖息地i4的适应指数的第d维分量hi4(d)的优劣,如果hi4(d)大于hi(d),则将hi(d)替换为hi4(d),否则保持hi(d)不变;

其中,i1,i2,i3,i4,i5表示[1,n]内互不相等的随机整数,表示随机选择的5个不同的栖息地编号,hi1(d)表示栖息地i1的适应指数的第d维分量,hi2(d)表示栖息地i2的适应指数的第d维分量,hi3(d)表示栖息地i3的适应指数的第d维分量,hi4(d)表示栖息地i4的适应指数的第d维分量,hi5(d)表示栖息地i5的适应指数的第d维分量,hbest(d)表示种群中最优栖息地的第d维分量,f表示变异参数,ud和ld分别表示适应度函数的搜索空间上下限。

与现有技术相比,本发明在迁移过程中采用基于更新代数设置的自适应迁移算子优化,增强了算法的全局搜索能力并提高收敛速度和收敛精度;在变异过程中采用差分进化模型,提高算法多样性,避免陷入局部最优;全局采用余弦迁移模型,使系统更加趋向于自然界中真实情况,提高算法性能。将坐标降维和障碍物数量确定路径点的方法应用于路径规划的场景中,实验结果表明了该算法的有效性。

附图说明

图1为三种算法在地图环境1(尺寸300*300,障碍物3个)中运行的最优结果。

图2为三种算法在地图环境2(尺寸300*300,障碍物7个)中运行的最优结果。

图3为三种算法在地图环境3(尺寸800*800,障碍物3个)中运行的最优结果。

图4为三种算法在地图环境4(尺寸800*800,障碍物7个)中运行的最优结果。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实例,并参照附图,对本发明进一步详细说明。

针对基本的生物地理学优化算法(bbo)容易陷入局部最优解的问题以及传统路径规划算法在实际应用问题中存在算法复杂、搜索空间大和效率较低等问题。本发明提出了一种基于自适应动态调整迁移过程,并在变异操作中采用差分变异方法的生物地理学优化算法(biogeography-basedoptimizationalgorithmbasedonself-adaptivemigrationanddifferentialevolutionmutation,sdbbo)。在迁移操作中引入了与更新代数相关的自适应迁移算子,从自适应的过程中分量能在随机的扰动半径中寻找到新的信息从而产生更优秀的全局搜索能力;将差分进化模型融入变异过程,增强种群中物种多样性;在系统模型中采用与自然界中真实情况最为接近的余弦迁移模型,提高算法性能。建立模型环境,描述适应度函数,将改进的算法应用到地图中进行仿真,表现出算法的实时性与稳定性,并能在可接受的时间范围内规划出较优路径。

一、sdbbo算法的改进:

在自然界中,生物种群分布在栖息地中,具有明显边界的地理区域。衡量栖息地的优劣程度的一个指标被称之为适应度指数(habitatsuitabilityindex,hsi)。有很多的因素都可以影响适应度指数,比如:降雨量、植被多样性、地质多样性、陆地面积、栖息地温度等等,这些因素被统称为适应度变量(suitabilityindexvariables,siv),每一维度的适应度变量siv用一个值代表,由d维适应度变量siv即可确定出适应度指数hsi。

1、迁移过程

bbo算法使用迁移算子实现了栖息地之间的信息交流,迁入率和迁出率将成为概率迁移的最主要因素。本算法选择余弦迁移模型,该模型具有的特征为当栖息地具有较少或较多物种时,迁移率变化平稳;而栖息地具有一定量的物种时,迁移率变化剧烈。通过文献学习得出接近自然规律的非线性模型要优于简单的线性模型的结论,并且该模型在多种非线性模型中表现结果较好,故选取该模型。

假设某编号为i的栖息地(以下简称栖息地i,符号表示为hi),其当前容纳了数量为si个种类的物种(可定义),该栖息地的迁入率λi、迁出率μi分别表示为:

其中,i和e分别表示每个栖息地的最大迁入率和最大迁出率,smax表示栖息地中可容纳的最大物种数量。

在更深层的探究中发现,通过迁移概率选择迁入的分量只是采用迁出栖息地的对应因子简单替换,这将会使优化问题的搜索空间局限于初始化分量的所有组合之中,导致解的优劣性严重依赖于全局初始化状态,即易出现震荡或早熟收敛等情况。自适应(self-adaptive)是指处理和分析过程中,根据处理数据的数据特征自动调整处理方法、处理顺序、处理参数、边界条件或约束条件,使其与所处理数据的统计分布特征、结构特征相适应,以取得最佳的处理效果。故设计了基于更新代数的自适应算子φ以及迁入函数:

其中,←表示更新,φ表示基于更新代数的自适应算子,hi(d)表示栖息地i的第d维分量,d为[1,d]中任意一个维度,d表示栖息地的最大维度并可自行设置大小,j表示不同于i的另一个栖息地,gindex表示当前更新代数,gmax表示最大更新代数,rand(-1,1)表示(-1,1)的随机数。

首先,引入自适应算子,为迁入分量设置了一个新的种群搜索半径,增加了搜索空间,扩大了栖息地之间的信息共享与交流;其次,存在一个随机数的扰动,提高算法探索能力,省去了设置或调整幅度参数的操作。这种自适应迁移算子具备良好的开采能力和探索潜力,同时也加快了收敛速度以及提高了解的精度。改进的迁移操作过程在最大维度d的情况下可用算法1所示的伪代码来描述:

算法1

ford=1toddo

ifrand()<λithen

以迁出率为概率μi,从种群中选出另一个栖息地hj;

按公式(2)计算hi(d);

endif

endfor

2、变异过程

在算法的变异操作中引入了结合差分进化算法(differentialevolution,de)的变异算子,从而利用de的差分进化过程产生多种不同程度的步长,并对栖息地中的资源进行有效的分配与协调,各自发挥优势,弥补不足。

de算法中有较多的变异策略,在本算法应用到如下两条,基于任意解的rand/1算子与基于最优解的best/1算子:

1)rand/1

hi(d)=hi1(d)+f·(hi2(d)-hi3(d))(3)

2)best/1

hi(d)=hbest(d)+f·(hi5(d)-hi1(d))(4)

其中i1,i2,i3,i4,i5表示[1,n]内互不相等的随机整数,表示随机选择的5个不同的栖息地编号,其在公式中使用无编号限制,互斥即可;f表示变异参数;hbest(d)表示种群中最优栖息地的第d维分量。

在n个栖息地中,每个栖息地i所对应的物种数量概率pi按下式计算:

栖息地i的变异率πi与物种概率成反比,则变异率定义为:

其中πmax表示最大变异率,pmax表示所有栖息地中最大的物种数量概率。

在交叉操作结束后,有必要对两类算子中主要的变异部分生成的函数进行比较,即判断公式(4)生成的变异分量与在栖息地范围内随机选择的hi4的对应分量相比较,将结果较好的变异结果保留到下一代。

改进的变异操作的过程可用算法2所示的伪代码来描述:

算法2

ford=1toddo

ifrand()<πi

ifrand()≥cord=drand

根据公式(3)进行计算hi(d)

else

hi(d)←ld+rand(0,1)×(ud-ld)

endif

else

ifrand()<cord=drand

hi(d)←hi4(d)

else

根据公式(4)进行计算hi(d)

endif

endif

iff(hi)>f(hi4)then

hi←hi

endif

endfor

其中ud表示适应度函数的搜索空间上限,ld表示适应度函数的搜索空间下限,rand(0,1)表示(0,1)的随机数,drand表示从最大维度d中随机选择的某一维度,c表示交叉概率。

3、其他优化

首先,在改进的算法中采用实数编码方法,使分量的集合以及种群具有多样性,极大的扩展了搜索空间与精度;其次,采用精英策略,即在每一代的迁移过程中,保留keep个优秀的栖息地,使之不参与迁移与变异过程,而变异过程也只针对于整个种群中较差的后一半进行操作;最后,采用了约束机制,如果在迁移或变异过程中生成了超出取值范围的解,则需要对其进行重新赋值的操作。

二、地图建模实施

路径编码的最关键问题就是将路径规划的解转为栖息地编码表达,同时要能够便于其他约束条件进行优化。为了提高整个系统的运行速度,需要对查找空间以及编码串长度进行优化,如果在二维的路径点中,对其进行降维操作,那必将缩短规划时间,提高运行速度。

采用二维的环境模型坐标系xoy,路径点坐标用二维数组表示,采取只对路径点的纵坐标编码的方式来降低编码的长度。将起始点和目标点等分为n段,那么每个点的坐标可以表示为(xi,yi)(i=1,2,…,n)。在初始化种群时,每一条路径横坐标相同,纵坐标不同;在计算时也只需对纵坐标进行编码即可。

根据空间环境的复杂程度来对路径节点个数n,即栖息地适应指数变量siv个数进行选择。选取的策略为:初始化路径节点个数n=n02+1,其中n0为环境中障碍物的个数,该关系式可根据具体情况进行选择。

三、结合方式

在路径规划的过程中,需要建立与bbo算法对应的映射函数。总体来说,算法中的所有的栖息地表示路径规划中的各个可行路径,每个栖息地都是由n个整数组成的一维向量组,表示路径规划中的一个路径。在算法中,每个栖息地的适应指数hsi表示该栖息地的优劣程度,那么对应在路径规划中,每条路径代价可以由该适应度表示。算法中栖息地的siv个数对应路径规划中的路径点数n。

映射函数将所有路径按照适应度从好到差进行排序,设smax=n,那么,其中xi中的i是各个路径排序后的标号。使用迁移算子对路径进行规划的时候,迁入率与路径节点被修改的概率成正比,迁出率与路径特征siv被选择引进的概率成正比。在bbo算法中,是通过迁移操作对各个解进行信息的共享,从而在求解空间中进行广域搜索。为了使路径最短,则需达到适应度最优,良好的栖息地的适应指数hsi就意味着物种数越多,对应在路径规划中就是hsi越小,路径也就越优。

为此,本发明所提出的一种基于改进生物地理学的路径规划方法,其具体包括步骤如下:

步骤1)初始化参数:初始化的参数包括最大迁入率i,最大迁出率e,最大种群数量smax,最大物种概率pmax,最大变异率πmax。同时,随机生成n个初始栖息地以及对应的栖息地适应指数变量siv。

一个栖息地供多种种群生存,每个栖息地适应指数变量siv均为人为给定的d维分量。所有适应指数变量siv在优化问题对应维度上按公式(7)随机生成,若迭代过程中生成超出范围的解时也使用下式重新赋值:

hi(d)←ld+rand(0,1)×(ud-ld)(7)

其中i为栖息地编号,取值范围为[1,n];d为变量维度编号,取值范围为[1,d],ud和ld分别表示适应度函数的搜索空间上下限,hi(d)表示栖息地i的第d维分量,rand(0,1)表示(0,1)的随机数。

步骤2)计算每个栖息地的适应度指数hsi,即每一次迭代后的优化输出结果,使用冒泡排序法按照从大到小的顺序排列栖息地,并计算每个栖息地对应的物种数量si、迁入率λi和迁出率μi。

步骤3)根据迁入率和迁出率,按照方法1(即改进的迁移操作方法)描述的流程进行迁移操作,并保留每代最优的两个栖息地为精英栖息地。从第二代起前一代的两个精英栖息地不进行迁移操作。

改进的迁移操作过程在最大维度d的情况下可用下述方法1描述:

方法1:

将维度从1到d进行循环,判断每一维度对应的迁入率与随机数(0,1)的大小:

若该维度的迁入率大于随机数,则以迁出率为概率μj,从种群中选出另一个栖息地j,即随机数(0,1)落在该栖息地j迁出率μj对应的概率区间内(由于所有栖息地的迁出概率是均匀的映射到(0,1)的区间内的,所以根据随机数落在的区域内不存在重复,即每次只会选出1个栖息地);并按照公式(2)更新hi(d);

若迁入率小于等于随机数,则该维度不进行任何操作。

sdbbo算法使用迁移算子实现了栖息地之间的信息交流,迁入率和迁出率将成为概率迁移的最主要因素。本发明选择余弦迁移模型,该模型具有的特征为当栖息地具有较少或较多物种时,迁移率变化平稳;而栖息地具有一定量的物种时,迁移率变化剧烈。

在更深层的探究中发现,通过迁移概率选择迁入的分量只是采用迁出栖息地的对应因子简单替换,这将会使优化问题的搜索空间局限于初始化分量的所有组合之中,导致解的优劣性严重依赖于全局初始化状态,即易出现震荡或早熟收敛等情况。自适应(self-adaptive)是指处理和分析过程中,根据处理数据的数据特征自动调整处理方法、处理顺序、处理参数、边界条件或约束条件,使其与所处理数据的统计分布特征、结构特征相适应,以取得最佳的处理效果。

步骤4)选择较差一半的栖息地作为变异对象,计算栖息地i的物种概率pi,根据公式(6)计算该栖息地的变异率πi,并按照方法2(即改进的变异操作方法)描述的流程进行变异操作。

改进的变异操作可用下述方法2来描述:

方法2:

将维度从1到d进行循环,判断每一维度的变异概率与随机数(0,1)的大小:

若该维度的变异概率大于随机数,再次判断新生成的随机数(0,1)是否小于等于交叉概率c或者当前维度d等于维度随机数drand,若是,则按照公式(3)计算得出hi(d);否则按照公式(1)生成一个重新初始化的分量,否则不进行更改。

若该维度的变异概率小于等于随机数,再次判断新生成的随机数(0,1)是否大于交叉概率c或者当前维度d等于随机数drand,若是,则将随机产生的栖息地编号i4所对应的分量赋给原分量;否则按照公式(4)计算得出hi(d)。该维度完成后,判断重新排序后更新的分量时候优于随机生成的分量hi4(d),若优则保留,否则替换掉。

变异是一种受到外部随机事件影响而发生的行为,其导致了一种随机性的结果,有可能使栖息地适应性变好,也有可能变差。当进化停滞时,变异的发生会使栖息地中生成新的个体,这些新个体的加入可以避免算法陷入局部最优解。

为了保持或加快收敛速度,避免陷入局部最优,在算法的变异操作中引入了结合de的变异算子,从而利用de的差分进化过程产生多种不同程度的步长,并对栖息地中的资源进行有效的分配与协调,各自发挥优势,弥补不足。差分进化算法(differentialevolution,de)是一种基于群体差异的优化算法,由r.stone等人在1995年提出,实现简单,鲁棒性强,适合在连续域中高效的搜索。

交叉操作可以增加种群的多样性,结合基本bbo算法的原始变异算子作为一个选择支路,这样可以使用de带来的变异算子探索出新的搜索空间,使更佳丰富的变量得以保留到下一代,通过使用交叉概率c来进行分支的选择变异也可以优化搜索精度。

在交叉操作结束后,有必要对两类算子中主要的变异部分生成的函数进行比较,即判断生成的变异分量与在栖息地范围内随机选择的hi4的对应分量相比较,将结果较好的变异结果保留到下一代。

步骤5)判断是否满足终止条件,终止条件为:达到预先设定好的最大代数gmax,如果满足,则将优化后的解,即当前hsi值作为结果输出;否则,跳转至步骤2。

此外,上述方法在其他方面进行了优化改进:首先,在改进的算法中采用实数编码方法,使分量的集合以及种群具有多样性,极大的扩展了搜索空间与精度;其次,采用精英策略,即在每一代的迁移过程中,保留keep个优秀的栖息地,使之不参与迁移与变异过程,而变异过程也只针对于整个种群中较差的后一半进行操作;最后,采用了约束机制,如果在迁移或变异过程中生成了超出取值范围的解,则需要对其进行重新赋值的操作。

为了测试本专利提出的sdbbo全局搜索路径的能力,选用了四个地图环境,地图大小分别是300*300以及700*700,其中分别包含3个和7个障碍物,并与b-bbo算法以及debbo算法进行性能对比。

在路径规划的过程中,需要建立与sdbbo算法对应的映射函数。总体来说,算法中的所有的栖息地表示路径规划中的各个可行路径,每个栖息地都是由n个整数组成的一位向量,表示路径规划中的一个路径。在算法中,每个栖息地的适应指数hsi表示该栖息地的优劣程度,那么对应在路径规划中,每条路径代价可以由该适应度表示。算法中栖息地的siv个数对应路径规划中的路径点数n。

需要初始化参数在本专利中设置如下:最大迁入迁出率i=e=1,最大物种概率pmax=1,差异进化模式为rand/1,best/1,最大变异率πmax=0.005,栖息地个数n=20,种群大小s=50,栖息地维度d=20,变异参数f=0.6,交叉参数c=0.5,精英参数keep=2,最大更新代数gmax=200,机器人半径r=2。针对于n*n的地图,算法规划路径的起点坐标为(0,-n/2),终点坐标为(n,-n/2)。为避免算法随机性所引起的误差,每个测试独立运行20次。

表1-表4为三种算法在地图1-4中的结果数据,图1-图4分别为四个地图环境中的最优运行结果:

表1地图1中的实验数据

从表1中可以看出,在地图1中b-bbo能够在较短时间内达到最优路径;debbo最小长度优于前者,但耗时约为前者一倍,并在优化过程中多次陷入局部最优解而导致路径过长;相比之下sdbbo在时间上与b-bbo相差不大,并在最小长度以及平均长度上都有着良好的表现,最小长度和最大长度之间的差值很小,则表明算法的稳定性,没有较大波动。

表2地图2中的实验数据

结合表2和图2,可以看出,相同尺寸的地图中增加了障碍物的数量后,b-bbo算法在小幅度上出现了波动,陷入局部最优解,导致其平均结果相比于后两者较差;debbo算法在本地图中稳定性提升,但算法流程消耗时间仍为前者两倍之多;sdbbo算法除时间略逊b-bbo算法之外,其他各项参数仍占优势。

表3地图3中的实验数据

表3和图3是地图尺寸为800*800,障碍物为3个的算法的优化结果。随着地图尺寸增大,算法在优化过程中都出现了不同程度上的波动。sdbbo算法具有最优的优化长度以及较小的波动值,时间上仍旧略低于b-bbo,但综合平均长度以及时间的结果上看,本算法存在足够的竞争力。

表4地图4中的实验数据

由表4和图4可知,障碍物的数量变为7个的情况下,总体来说,三者的波动水平有所降低,sdbbo算法除仍具有优化优势之外,其余b-bbo算法的时间差距缩小到10-1的量级上。由此可期,若存在一个更加复杂的环境,本算法将会表现得更为突出。

在本次实验的过程中以及工作前期针对算法的标准测试函数实验中也发现,sdbbo算法相较于其它两种对比算法,在迭代过程中优先到达最优解的代数也存在一定的优势,这样也能更加说明算法在收敛速度以及收敛精度上具有优势。

需要说明的是,尽管以上本发明所述的实施例是说明性的,但这并非是对本发明的限制,因此本发明并不局限于上述具体实施方式中。在不脱离本发明原理的情况下,凡是本领域技术人员在本发明的启示下获得的其它实施方式,均视为在本发明的保护之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1