一种基于粒子群算法确定目标对象位置的方法和装置制造方法及图纸

技术编号:21514550 阅读:25 留言:0更新日期:2019-07-03 09:13
本说明书实施例提供一种基于粒子群算法确定目标对象位置的方法和装置,其中,所述方法包括:确定粒子群中每个粒子的速度和位置;根据速度和位置,确定每个粒子的适应度值;根据适应度值的大小,对粒子群中各个粒子的适应度值排序,并由排序结果中选择适应度值较大的部分粒子进入交叉池,所述部分粒子根据粒子群规模和交叉概率确定;对粒子群中的粒子进行变异;当满足粒子群算法的终止条件时,将粒子群算法的最优解对应的位置作为所述目标对象的所在位置。

A Method and Device for Determining the Position of Target Object Based on Particle Swarm Optimization

【技术实现步骤摘要】
一种基于粒子群算法确定目标对象位置的方法和装置
本公开涉及机器学习
,特别涉及一种基于粒子群算法确定目标对象位置的方法和装置。
技术介绍
粒子群算法是一种通过模拟鸟群觅食过程中的迁徙和群聚行为,而提出的一种基于群体智能的全局随机搜索算法。粒子群算法的应用场景较多,其中一种应用场景可以是用于搜索某个对象的位置,该对象可以称为目标对象。传统的粒子群算法,可以从随机解出发,通过迭代寻找最优解作为目标对象的位置。但是这种算法经常容易陷入局部最优解,并且收敛速度并不理想,影响了对目标对象位置搜索的效率和准确性。
技术实现思路
有鉴于此,本说明书一个或多个实施例提供一种基于粒子群算法确定目标对象位置的方法和装置,以提高位置搜索的效率和准确性。具体地,本说明书一个或多个实施例是通过如下技术方案实现的:第一方面,提供一种基于粒子群算法确定目标对象的位置的方法,所述方法包括:确定粒子群中每个粒子的速度和位置;根据所述速度和位置,确定所述每个粒子的适应度值,所述适应度值与所述粒子和目标对象之间的距离相关;根据所述适应度值的大小,对所述粒子群中各个粒子的适应度值排序,并由排序结果中选择适应度值较大的部分粒子进入交叉池,所述部分粒子根据粒子群规模和交叉概率确定,以由所述交叉池中选择粒子进行交叉;对所述粒子群中的粒子进行变异;当满足粒子群算法的终止条件时,将粒子群算法的最优解对应的位置作为所述目标对象的所在位置。第二方面,提供一种基于粒子群算法确定目标对象的位置的装置,所述装置包括:数据确定模块,用于确定粒子群中每个粒子的速度和位置;交叉处理模块,用于根据所述速度和位置,确定所述每个粒子的适应度值,所述适应度值与所述粒子和目标对象之间的距离相关;并根据所述适应度值的大小,对所述粒子群中各个粒子的适应度值排序,并由排序结果中选择适应度值较大的部分粒子进入交叉池,所述部分粒子根据粒子群规模和交叉概率确定,以由所述交叉池中选择粒子进行交叉;变异处理模块,用于对所述粒子群中的粒子进行变异;位置确定模块,用于当满足粒子群算法的终止条件时,将粒子群算法的最优解对应的位置作为所述目标对象的所在位置。第三方面,提供一种基于粒子群算法确定目标对象的位置的设备,所述设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本说明书任一实施例所述的基于粒子群算法确定目标对象位置的方法步骤。本说明书一个或多个实施例的方法和装置,通过将交叉和变异引入粒子群算法,提高了收敛速度,并且找到的最优解效果更好。附图说明为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本说明书一个或多个实施例提供的一种基于粒子群算法确定目标对象的位置的方法;图2为初始化时的飞行机器人群体;图3至图5为飞行机器人搜索生命信号的过程示意图;图6为本说明书一个或多个实施例提供的一种基于粒子群算法确定目标对象位置的装置的结构示意图。具体实施方式为了使本
的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。粒子群算法是一个用于求解最优解的算法,该粒子群算法的应用场景较为广泛,例如,可以用于求解路线规划中的最短路径;或者,还可以用于求解商业利润项目中的最小费用,等。可以根据需要解决的不同问题,构造对应的不同函数,该函数可以称为适应度函数,粒子群中的每个粒子都可以根据该适应度函数计算得到一个适应度值,以通过适应度值衡量粒子相对于某个问题目标的优劣。本说明书至少一个实施例提供了一种结合遗传算法改进的粒子群算法,将遗传算法中的交叉和变异引入到粒子群。其中,遗传算法是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。图1为本说明书至少一个实施例提供的一种基于粒子群算法确定目标对象位置的方法,如图1所示,该方法可以包括如下处理:在步骤100中,确定粒子群中每个粒子的速度和位置。例如,本步骤可以包括如下的处理:首先,初始化粒子群,包括群体规模,粒子群中每个粒子的位置和速度。本步骤中,初始化粒子群的群体规模,例如,该粒子群中共有M个粒子。并且,还可以初始化每个粒子的位置和速度,其中,粒子的位置可以是一个向量Xi=(xi1,xi2,…,xiD),i=1、2….M;粒子的速度可以表示成向量:Vi=(vi1,vi2,…,viD),i=1、2….M。其中,D表示该粒子群算法搜索最优解的搜索空间是一个D维的搜索空间。初始的粒子位置和速度可以是随机设定。其次,计算每个粒子的适应度值。本步骤中,适应度值每个粒子根据适应度函数计算得到的数值,不同的应用场景可以构造不同的适应度函数。在粒子群中,初始化时的每一个粒子都相当于一个随机解,在粒子群的迭代更新过程中,每个粒子都是一个潜在的最优解。如果一个粒子的适应度值较高,表示该粒子距离最优解越近,在搜索最优解的过程中属于性能较好的粒子。可以用Fit[i]表示粒子群中第i个粒子的适应度值。接着,每个粒子通过将自己的适应度值与个体极值和全局极值进行比较,更新所述粒子的速度和位置。其中,第i个粒子迄今为止搜索到的最优位置称为个体极值,记为pbest(i)。整个粒子群迄今为止搜索到的最优位置为全局极值,记为gbest。粒子群算法是通过多次迭代找到最优解,其中,在每一次的迭代中,每个粒子可以通过跟踪两个极值更新自己的位置和速度:一个极值就是粒子本身所找到的最优解,即上述的个体极值;另一个极值是整个粒子群找到的最优解,即上述的全局极值。其中,粒子的位置是适应度函数中的其中一个参数,该位置可以认为就是适应度函数的解,如果两个粒子比较,一个粒子的适应度值比另一个粒子的适应度值更优,则该适应度值更优的粒子对应的位置也是更好的解。每个粒子可以将计算得到的自己的适应度值与个体极值和全局极值进行比较,以更新所述粒子的速度和位置,如下:将粒子的适应度值与个体极值比较,如果该适应度值大于个体极值,则用所述粒子的位置替换掉所述个体极值。将所述粒子的适应度值与全局极值比较,若所述适应度值大于全局极值,则用所述粒子的位置替换掉所述全局极值。以全局极值为例来说:假设适应度函数f(x,y)=x+y,其中(x,y)是粒子的位置坐标。整个粒子群在搜索全局极值时,是将最接近期望结果的适应度值对应的粒子位置作为最优位置即全局极值。比如,期望得到的f(x,y)=1,而某一个粒子的位置是x=0.5,y=0.49,f(x,y)=0.99,那么该适应度值与期望的适应度值的误差就是0.01。而可以预先设定误差范围是2%以内,那么该0.01的误差满足误差范围的条件,则f(x,y)本文档来自技高网
...

【技术保护点】
1.一种基于粒子群算法确定目标对象的位置的方法,所述方法包括:确定粒子群中每个粒子的速度和位置;根据所述速度和位置,确定所述每个粒子的适应度值,所述适应度值与所述粒子和目标对象之间的距离相关;根据所述适应度值的大小,对所述粒子群中各个粒子的适应度值排序,并由排序结果中选择适应度值较大的部分粒子进入交叉池,所述部分粒子根据粒子群规模和交叉概率确定,以由所述交叉池中选择粒子进行交叉;对所述粒子群中的粒子进行变异;当满足粒子群算法的终止条件时,将粒子群算法的最优解对应的位置作为所述目标对象的所在位置。

【技术特征摘要】
1.一种基于粒子群算法确定目标对象的位置的方法,所述方法包括:确定粒子群中每个粒子的速度和位置;根据所述速度和位置,确定所述每个粒子的适应度值,所述适应度值与所述粒子和目标对象之间的距离相关;根据所述适应度值的大小,对所述粒子群中各个粒子的适应度值排序,并由排序结果中选择适应度值较大的部分粒子进入交叉池,所述部分粒子根据粒子群规模和交叉概率确定,以由所述交叉池中选择粒子进行交叉;对所述粒子群中的粒子进行变异;当满足粒子群算法的终止条件时,将粒子群算法的最优解对应的位置作为所述目标对象的所在位置。2.根据权利要求1所述的方法,所述由排序结果中选择适应度值较大的部分粒子进入交叉池,所述部分粒子根据粒子群规模和交叉概率确定,包括:由排序结果中选择适应度值较大的前N个粒子进入交叉池;所述N是由粒子群规模乘以交叉概率得到。3.根据权利要求1所述的方法,所述确定粒子群中每个粒子的速度和位置,包括:初始化粒子群中每个粒子的位置和速度;计算所述每个粒子的适应度值;对于所述每个粒子,通过将所述粒子的适应度值与个体极值和全局极值进行比较,更新所述粒子的速度和位置;所述根据所述速度和位置确定所述每个粒子的适应度值,具体为:根据更新后的粒子的速度和位置,计算所述适应度值。4.根据权利要求3所述的方法,所述每个粒子通过将自己的适应度值与个体极值和全局极值进行比较,更新所述粒子的速度和位置,包括:将所述粒子的适应度值与个体极值比较,若所述适应度值大于个体极值,则用所述粒子的位置替换掉所述个体极值;将所述粒子的适应度值与全局极值比较,若所述适应度值大于全局极值,则用所述粒子的位置替换掉所述全局极值;根据更新后的所述个体极值和全局极值,更新所述粒子的速度和位置。5.根据权利要求3所述的方法,所述粒子群中的粒子是用于搜索目标对象的机器人;所述个体极值是所述机器人与目标对象的最近位置;所述全局极值是粒子群中的所有机器人与目标对象的最近位置;所述适应度值,表示所述机器人接收到的目标对象发出的信号强度的大小,信号越强,所述适应度值越大。6.根据权利要求1所述的方法,所述对所述粒子群中的粒子...

【专利技术属性】
技术研发人员:林炳文
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1