CN104142151A - 一种导航方法 - Google Patents
一种导航方法 Download PDFInfo
- Publication number
- CN104142151A CN104142151A CN201410371032.2A CN201410371032A CN104142151A CN 104142151 A CN104142151 A CN 104142151A CN 201410371032 A CN201410371032 A CN 201410371032A CN 104142151 A CN104142151 A CN 104142151A
- Authority
- CN
- China
- Prior art keywords
- frog
- group
- local search
- evaluation
- estimate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Navigation (AREA)
Abstract
本发明揭示了一种导航方法,包括:步骤S1、获取目的地位置信息及实时位置信息;步骤S2、根据目的地位置信息、实时位置信息实时获取到达目的地的K条最短路径,进行实时导航;具体包括:步骤S21、初始化蛙群,随机产生F只青蛙,计算青蛙个体的评价值并将蛙群按评价值升序排序;步骤S22、划分族群;把F个蛙分配到m个族群(Y)中去;步骤S23、局部搜索,对每个族群执行局部搜索loop次;步骤S24、族群混合对整个蛙群中具有相同模因结构的青蛙进行重构,计算青蛙的评价值并将蛙群按升序排序;步骤S25、判断是否满足算法终止条件,若满足,输出前k只青蛙作为k条最短路径;否则,返回步骤S22。本发明可提供多条路径供用户选择,可提高导航质量及稳定性。
Description
技术领域
本发明属于移动通信及导航技术领域,涉及一种导航方法,尤其涉及一种可提供多条路径可供选择的导航方法。
背景技术
手机导航(Mobile Navigation)即卫星手机导航,它可以告诉你在地图中所在的位置,以及可以显示出你要去的地方在地图中的位置,通过系统中的最短路径算法显示最佳的路线,在导航的路途中用语音提示用户行进的方向。
导航由GPS模块,导航软件,GSM通信模块组成:由GPS模块通过GPS卫星采集数据,导航软件中的地图模块分析得到的数据,通过不断的刷新使位置在地图上不断的变化,软件中的路径接收用户的指令或者需求,计算出用户计划要去的地点,规划出一条最优路线并引导用户,最后GSM模块对这些数据分析处理之后上传服务器中。
手机导航系统就是在可以在手机上运行的导航软件,它是以手机作为硬件平台的。通过手机中的GPS模块接收信号,再把获得的数据信息传递给导航软件,经过软件确定用户的位置,再通过GIS模块实现导航功能。
最短路径(Shortest Path,SP)问题是图论中的经典问题,在计算机网络路由,机器人路径规划,交通线路导航等诸多领域有着广泛应用。Dijkstra算法是求解SP的经典方法,可在多项式时间内找到有向图中任意两顶点间的最短路径。而在许多实际应用中,不仅需要求出最短路径,而且往往还需要找出次短等多条最优路径,如,城市道路交通导航中,用户通常希望获知多条最优路径并根据实际的出行需要进行选择。因此,在一个网络图中如何快速求得高质量的k条最短路径问题引起人们的极大关注。
近年,很多学者对基于进化和仿生计算的智能方法求解复杂优化问题进行了深入的研究,获得了许多理论和应用成果。然而,对于k条最短路径问题的研究文献目前尚不多见。国内研究者提出了一种能够求解k条最短路径问题的遗传算法,直接以自然路径作为染色体,根据路径节点的连接关系对染色体实施交叉操作,将节点路径块作为染色体的变异基因块来实施变异,采用对种群排序的方法进行世代更新。国外研究者曾提出了一种求解最短路径的粒子群算法。基于粒子自我学习和社会学习的进化机理,最终多数粒子会落入优化解区域,因而算法在求得最短路径的同时也可以得到一些次优路径,而且算法收敛速度较快。但由于该算法不是将求解k条最短路径作为优化目标,因而,当k比较大时求解质量不高且稳定性不够好。
混合蛙跳算法(Shuffled Frog Leaping Algorithm,SFLA)结合了基于遗传的模因演算法(Memetic Algorithm)和基于社会行为的粒子群算法的优点,全局寻优能力强,参数少,计算速度快,在一些实际应用中取得了良好效果。
发明内容
本发明所要解决的技术问题是:提供一种导航方法,可提供多条路径供用户选择,可提高导航质量及稳定性。
为解决上述技术问题,本发明采用如下技术方案:
一种导航方法,所述导航方法包括:
步骤S1、获取目的地位置信息及实时位置信息;
步骤S2、根据目的地位置信息、实时位置信息实时获取到达目的地的K条最短路径,进行实时导航,在导航的过程中不断的计算着用户的路线轨迹,直到导航结束;通过GPS传输数据,再根据地址数据库、地图数据库、第三方路况信息数据库和用户数据库,随时更新用户和目的地直接的路径;采用混合蛙跳算法求解K条最短路径;具体包括:
步骤S21、初始化蛙群,随机产生F只青蛙,计算青蛙个体的评价值并将蛙群按评价值升序排序;青蛙个体的评价值的获取方法为:用路径path所有边的代价之和表示青蛙的评价函数,即
编码是从问题空间向搜索空间的一个映射,从起始点到终点的一条路径对应的节点集合;其中,每一位上的节点编号称为青蛙的一个模因meme;给定一个赋权图G=(V,E),V表示G中所有顶点的集合,E表示所有边的集合;边的代价函数表示为Cost:E→R+,cost(e)为边e∈E的代价;
步骤S22、划分族群;把F个蛙分配到m个族群(Y)中去,每个族群包含n个蛙,从而使得Yk=[X(j),f(j)|X(j)=X(k+m*(j-1),f(j)=f(k+m*(j-1),j=1,…,n,k=1,…,m].这里X(j)表示蛙群中的第j蛙,f(j)表示第j个蛙的目标函数值;
步骤S23、局部搜索,对每个族群执行局部搜索loop次;
青蛙个体的学习目标是族群内最优个体frogb或整个青蛙群中的最优个体frogg;采用对族群中的青蛙按均匀概率选取子群,假设从第i个青蛙族群中随机选择s只青蛙作为该族群的子群进行局部搜索;将s只青蛙中具有最优评价值的青蛙记为frogb,具有最差评价值的青蛙记为frogw,将蛙群中具有最优评价值的青蛙记为frogg,则族群i中的一次局部搜索包括:
步骤S231、从族群中随机选择s只青蛙;
步骤S232、使frogw向frogb跳越一次,执行W.Leap(B);
步骤S233、若frogw代表的解质量较之前更优,则该次局部搜索结束;若较之前更劣或未改变,则frogw向frogg跳越一次,执行W.Leap(G);
步骤S234、若frogw代表的解质量较之前更优,则该次局部搜索结束;若较之前更劣或未发生改变,则重新随机构造frogw;
在每个族群中,上述4个步骤被执行loop次,loop称为局部搜索强度;
步骤S24、族群混合对整个蛙群中具有相同模因结构的青蛙进行重构,计算青蛙的评价值并将蛙群按升序排序;
步骤S25、判断是否满足算法终止条件,若满足,输出前k只青蛙作为k条最短路径;否则,返回步骤S22;
其中,F为蛙群规模,m为族群数,n为族内青蛙数,s为子群青蛙数,loop为局部搜索强度;族群数m取m≥k,k条最短路径实际上就是经过排序的全部青蛙的前k只青蛙;当m≥k时,在划分族群后,前k只青蛙将成为各自所在族群中最优的青蛙个体,从而避免其蛙跳行为,使求解具有较好的稳定性;如果取m<k,在划分族群后,前m只青蛙被分别划分至第1至第m族群,成为各族群中的最优青蛙个体,而第m+1至第k只青蛙则分别被划分在第1至第(k-m)族群,并成为这些族群中的次优个体;在局部搜索中,族群内的次优青蛙可能会向最优青蛙学习,导致次优青蛙的模因结构变化,因而影响求解k条最短路径的质量和稳定性。
一种导航方法,所述导航方法包括:
步骤S1、获取目的地位置信息及实时位置信息;
步骤S2、根据目的地位置信息、实时位置信息实时获取到达目的地的K条最短路径,进行实时导航,在导航的过程中不断的计算着用户的路线轨迹,直到导航结束;具体包括:
步骤S21、初始化蛙群,随机产生F只青蛙,计算青蛙个体的评价值并将蛙群按评价值升序排序;青蛙个体的评价值的获取方法为:用路径path所有边的代价之和表示青蛙的评价函数,即
步骤S22、划分族群;把F个蛙分配到m个族群(Y)中去,每个族群包含n个蛙,从而使得Yk=[X(j),f(j)|X(j)=X(k+m*(j-1),f(j)=f(k+m*(j-1),j=1,…,n,k=1,…,m].这里X(j)表示蛙群中的第j蛙,f(j)表示第j个蛙的目标函数值;
步骤S23、局部搜索,对每个族群执行局部搜索loop次;
步骤S24、族群混合对整个蛙群中具有相同模因结构的青蛙进行重构,计算青蛙的评价值并将蛙群按升序排序;
步骤S25、判断是否满足算法终止条件,若满足,输出前k只青蛙作为k条最短路径;否则,返回步骤S22;
其中,F为蛙群规模,m为族群数,n为族内青蛙数,s为子群青蛙数,loop为局部搜索强度;族群数m取m≥k,k条最短路径实际上就是经过排序的全部青蛙的前k只青蛙。
作为本发明的一种优选方案,步骤S2中,通过GPS传输数据,再根据地址数据库、地图数据库、第三方路况信息数据库和用户数据库,随时更新用户和目的地直接的路径;采用混合蛙跳算法求解K条最短路径。
作为本发明的一种优选方案,步骤S21中,编码是从问题空间向搜索空间的一个映射,从起始点到终点的一条路径对应的节点集合;其中,每一位上的节点编号称为青蛙的一个模因meme;给定一个赋权图G=(V,E),V表示G中所有顶点的集合,E表示所有边的集合;边的代价函数表示为Cost:E→R+,cost(e)为边e∈E的代价。
作为本发明的一种优选方案,步骤S23中,青蛙个体的学习目标是族群内最优个体frogb或整个青蛙群中的最优个体frogg;采用对族群中的青蛙按均匀概率选取子群,假设从第i个青蛙族群中随机选择s只青蛙作为该族群的子群进行局部搜索;将s只青蛙中具有最优评价值的青蛙记为frogb,具有最差评价值的青蛙记为frogw,将蛙群中具有最优评价值的青蛙记为frogg,则族群i中的一次局部搜索包括:
步骤S231、从族群中随机选择s只青蛙;
步骤S232、使frogw向frogb跳越一次,执行W.Leap(B);
步骤S233、若frogw代表的解质量较之前更优,则该次局部搜索结束;若较之前更劣或未改变,则frogw向frogg跳越一次,执行W.Leap(G);
步骤S234、若frogw代表的解质量较之前更优,则该次局部搜索结束;若较之前更劣或未发生改变,则重新随机构造frogw;
在每个族群中,上述4个步骤被执行loop次,loop称为局部搜索强度。
本发明的有益效果在于:本发明提出的导航方法,可提供多条路径供用户选择,可提高导航质量及稳定性。本发明利用SFLA的族群间的协同进化和族群的强局部搜索特性能提出一种求解k条最短路径问题的混合蛙跳算法。采用将图中两个顶点间的自然路径作为青蛙个体编码,设计了能够实现青蛙个体间传递模因信息的蛙跳算子;通过族群内部的局部搜索和各族群间的协作不断交替进行实现对k条最短路径问题的求解。
附图说明
图1为手机导航系统基本结构图。
图2为系统整理结构的框架图。
图3为导航路径判断流程图。
具体实施方式
下面结合附图详细说明本发明的优选实施例。
实施例一
本发明揭示了一种导航方法,所述导航方法包括:
【步骤S1】获取目的地位置信息及实时位置信息;
【步骤S2】根据目的地位置信息、实时位置信息实时获取到达目的地的K条最短路径,进行实时导航,在导航的过程中不断的计算着用户的路线轨迹,直到导航结束;通过GPS传输数据,再根据地址数据库、地图数据库、第三方路况信息数据库和用户数据库,随时更新用户和目的地直接的路径;采用混合蛙跳算法求解K条最短路径。具体包括:
步骤S21、初始化蛙群,随机产生F只青蛙,计算青蛙个体的评价值并将蛙群按评价值升序排序;青蛙个体的评价值的获取方法为:用路径path所有边的代价之和表示青蛙的评价函数,即
编码是从问题空间向搜索空间的一个映射,从起始点到终点的一条路径对应的节点集合;其中,每一位上的节点编号称为青蛙的一个模因meme;给定一个赋权图G=(V,E),V表示G中所有顶点的集合,E表示所有边的集合;边的代价函数表示为Cost:E→R+,cost(e)为边e∈E的代价;
步骤S22、划分族群;把F个蛙分配到m个族群(Y)中去,每个族群包含n个蛙,从而使得Yk=[X(j),f(j)|X(j)=X(k+m*(j-1),f(j)=f(k+m*(j-1),j=1,…,n,k=1,…,m].这里X(j)表示蛙群中的第j蛙,f(j)表示第j个蛙的目标函数值;
步骤S23、局部搜索,对每个族群执行局部搜索loop次;
青蛙个体的学习目标是族群内最优个体frogb或整个青蛙群中的最优个体frogg;采用对族群中的青蛙按均匀概率选取子群,假设从第i个青蛙族群中随机选择s只青蛙作为该族群的子群进行局部搜索;将s只青蛙中具有最优评价值的青蛙记为frogb,具有最差评价值的青蛙记为frogw,将蛙群中具有最优评价值的青蛙记为frogg,则族群i中的一次局部搜索包括:
-步骤S231、从族群中随机选择s只青蛙;
-步骤S232、使frogw向frogb跳越一次,执行W.Leap(B);
-步骤S233、若frogw代表的解质量较之前更优,则该次局部搜索结束;若较之前更劣或未改变,则frogw向frogg跳越一次,执行W.Leap(G);
-步骤S234、若frogw代表的解质量较之前更优,则该次局部搜索结束;若较之前更劣或未发生改变,则重新随机构造frogw;
在每个族群中,上述4个步骤被执行loop次,loop称为局部搜索强度;
步骤S24、族群混合对整个蛙群中具有相同模因结构的青蛙进行重构,计算青蛙的评价值并将蛙群按升序排序;
步骤S25、判断是否满足算法终止条件,若满足,输出前k只青蛙作为k条最短路径;否则,返回步骤S22;
其中,F为蛙群规模,m为族群数,n为族内青蛙数,s为子群青蛙数,loop为局部搜索强度;族群数m取m≥k,k条最短路径实际上就是经过排序的全部青蛙的前k只青蛙;当m≥k时,在划分族群后,前k只青蛙将成为各自所在族群中最优的青蛙个体,从而避免其蛙跳行为,使求解具有较好的稳定性;如果取m<k,在划分族群后,前m只青蛙被分别划分至第1至第m族群,成为各族群中的最优青蛙个体,而第m+1至第k只青蛙则分别被划分在第1至第(k-m)族群,并成为这些族群中的次优个体;在局部搜索中,族群内的次优青蛙可能会向最优青蛙学习,导致次优青蛙的模因结构变化,因而影响求解k条最短路径的质量和稳定性。
实施例二
实时导航就是在导航的时候可以随时的可以为客户找到目的地。用户可以通过地图的图层分析之后,既可以通过用户所输入的目的地进行导航。在现实生活中,由于路况的原因,用户可能需要多条路径以供选择。
本发明利用SFLA的族群间的协同进化和族群的强局部搜索特性能提出一种求解k条最短路径问题的混合蛙跳算法。采用将图中两个顶点间的自然路径作为青蛙个体编码,设计了能够实现青蛙个体间传递模因信息的蛙跳算子;通过族群内部的局部搜索和各族群间的协作不断交替进行实现对k条最短路径问题的求解。
4.1手机导航的原理
手机导航系统就是在可以在手机上运行的导航软件,它是以手机作为硬件平台的。通过手机中的GPS模块接收信号,再把获得的数据信息传递给导航软件,经过软件确定用户的位置,再通过GIS模块实现导航功能。
手机导航系统的结构如图1所示。通过图1可以得知整个路线搜索引擎在系统中处于中心的位置,可以看出整个导航系统的一个工作流程,其中:
(1)MapInfo数据:GPS模块获得的数据源。
(2)数据转换模块:通过系统中预设的算法中的数据结构转换成为空间矢量数据。
(3)空间矢量数据:未提供给路线搜索引擎。
(4)路线搜索引擎:核心即是算法中的最短路径的算法,分析空间矢量数据。
(5)路线解析接口:主要是解析导航语音。
(6)导航应用:通过路线搜索引擎提供的数据,为用户提供导航服务,用户可以通过手机直接访问服务器。
按照用户的的所需的要求,路线搜索引擎通过数据结构转换成的空间矢量数据规划出一条最优的路线,显示给客户。文中要讨论的最短路径的算法就是这个引擎中的可以实现的重要的算法依据。
4.2整体的机构的设计
手机导航系统是一种嵌入式的平台应用软件,所以在很小的存储空间内要通过合理的分析设计来实现现实中复杂的导航功能。在多数的智能手机上能够实现其功能。
基于此,按照系统的功能把系统化分为三个层次结构:表示、数据和功能层,放置到不同平台上。
1.表示层:实现用户和应用程序之间的对话,检查用户输入输入的数据并且显示出来,是用户的接口部分。当用户变更用户接口时,只需要改写显示控制,不影响其他两层。仅供用户使用。
2.功能层:是应用的程序,编入具体的业务程序逻辑,包含了系统的核心程序和业务逻辑,主要的功能就是接受用户的命令,处理后返回结果。功能层包含了开发的工具。
3.数据层:主要负责数据库的修改和维护,可以快速的进行数据的检索和更新,采用集中存储的方式保持数据的集中和统一性,它包含了大型的数据库。
整体的架构设计如图2所示。
4.3手机实时导航的实现
实时导航就是在导航的时候可以随时的可以为客户找到目的地。用户可以通过地图的图层分析之后,既可以通过用户所输入的目的地进行导航。
实时导航是导航会主动地提醒用户在道路上行驶时没有按照所规划的路径行驶,同时请求后台服务器重新规划道路。如何确定偏离路径基于以下几个因素:
1.根据道路属性生成当前道路的threshold。
2.根据和threshold数据做比较,可以得出偏移的距离。
3.根据GPS的噪点来计算偏移的次数。
具体判断的流程如图3所示;图3中的ADI表示用户已经不走当前导航的路线,但是没有完全的偏离路线。而Deviation表示用户已经完全的偏离路径,需要重新的导航系统重新的确定路线。
4.4实时导航中求解K条最短路径
实时导航就是在导航的过程中不断的计算着用户的路线轨迹,直到导航结束。本发明中,通过GPS传输数据,再根据地址数据库,地图数据库,第三方路况信息数据库和用户数据库,随时更新用户和目的地直接的路径。本发明采用一种混合蛙跳算法求解K条最短路径。
4.4.1混合蛙跳算法原理
在SFLA中,每只青蛙代表问题的一个潜在解,F只青蛙构成一个蛙群。按适应值大小进行降序排序并记录最好解Px,并且将蛙群分成族群。把F个蛙分配到m个族群(Y)中去,每个族群包含n个蛙,从而使得Yk=[X(j),f(j)|X(j)=X(k+m*(j-1),f(j)=f(k+m*(j-1),j=1,…,n,k=1,…,m].这里X(j)表示蛙群中的第j蛙,f(j)表示第j个蛙的目标函数值。
SFLA的寻优机制由族群内的局部搜索和族群间的协作构成。在各族群内通过青蛙个体不断地向优秀个体跳越(学习),使较差青蛙获得优秀青蛙的部分模因信息,实现局部搜索。由于每个族群的局部搜索是独立进行的,所以各族群的进化方向和进化程度呈现多样性。SFLA通过将各族群青蛙先混合、再排序、然后重新划分族群的方式,实现各族群间模因信息的交换与交流。这种族群协作方式有助于将各个族群在局部搜索过程中获得的模因信息迅速在族群间传递,获得新的优化方向。上述两个过程交替进行直到迭代结束。已有文献的研究表明,SFLA具有较好的局部和全局优化能力。
4.4.2青蛙编码及评价函数
编码是从问题空间向搜索空间的一个映射,一般有间接映射和直接映射。直接映射表达直观,不需要解码过程。本发明采用直接映射,即从起始点到终点的一条路径对应的节点集合。
其中,每一位上的节点编号称为青蛙的一个模因(meme)。给定一个赋权图G=(V,E),V表示G中所有顶点的集合,E表示所有边的集合。边的代价函数表示为Cost:E→R+。cost(e)为边e∈E的代价。我们用路径path所有边的代价之和表示青蛙的评价函数,即
4.4.3蛙跳算子
SFLA中,蛙跳使青蛙产生新的模因结构。设计蛙跳算子的关键在于如何实现模因信息的传递。以路径形式表示的青蛙的蛙跳实现方法说明如下:
首先将同时出现在两只青蛙中的顶点编号按照在frog A中出现的顺序构成一个公共模因序列。从公共模因序列中任取一个有序的模因对作为两端点。然后以模因对作为端点取frog A的模因块来替换frog B的模因块。
这样,frog B的模因结构具有了frog A的部分模因信息,实现了frog B向frog A的一次跳越,我们把这一过程记为B.Leap(A)。
当取有序模因对时,当frogB中没有与frogA中模因块相对应的模因块,此时蛙跳停止。另外,在执行蛙跳算子后,可能会产生环路,此时,可采用归并方法将环路剔除。
4.4.4局部搜索
在标准SFLA中,青蛙个体的学习目标是族群内最优个体frogb或整个青蛙群中的最优个体frogg。本发明采用对族群中的青蛙按均匀概率选取子群,假设从第i个青蛙族群中随机选择s只青蛙作为该族群的子群进行局部搜索。将s只青蛙中具有最优评价值的青蛙记为frogb,具有最差评价值的青蛙记为frogw,将蛙群中具有最优评价值的青蛙记为frogg,则族群i中的一次局部搜索可以描述为:
Step1从族群中随机选择s只青蛙。
Step2使frogw向frogb跳越一次,执行W.Leap(B)。
Step3若frogw代表的解质量较之前更优,则该次局部搜索结束;若较之前更劣或未改变,则frogw向frogg跳越一次,执行W.Leap(G)。
Step4若frogw代表的解质量较之前更优,则该次局部搜索结束;若较之前更劣或未发生改变,则重新随机构造frogw。
在每个族群中,上述4个步骤被执行loop次,loop称为局部搜索强度。
4.4.5族群协作
一般的优化问题,目标是要找处一个最优解,而求解k条最短路径问题的目标是要搜索出一个最优解集合,即两顶点间的前k条最优路径。为了提高SFLA搜索k条最优路径的能力,应使蛙群保持一定的多样性。为此,本发明采用对具有相同模因结构的青蛙重新随机构成的方法。
在各族群完成局部搜索后,对蛙群中重复的青蛙进行处理,然后将整个青蛙种群中的个体按照评价值升序排列并重新划分族群,从而对各族群再进行新的局部搜索。如此反复,直到满足迭代终止条件,最终输出经排序后的青蛙种群中的前k只青蛙,即前k条最优路径。
4.4.6混合蛙跳算法基本步骤
Step1初始化蛙群。随机产生F只青蛙,按式(1)计算青蛙个体的评价值并将蛙群按评价值升序排序;
Step2划分族群。按4.4.1节所术的方法将蛙群分成m个族群;
Step3局部搜索。对每个族群执行4.4.4节所述的方法搜索loop次;
Step4族群混合。对整个蛙群中具有相同模因结构的青蛙进行重构,计算青蛙的评价值并将蛙群按升序排序。
Step5判断是否满足算法终止条件,若满足,输出前k只青蛙作为k条最短路径;否则,返回步骤2。
算法中涉及到几个重要参数:蛙群规模F,族群数m,族内青蛙数n,子群青蛙数s,局部搜索强度loop等。对于本发明中的k条最短路径问题,族群数m应当取m≥k,这是因为,k条最短路径实际上就是经过排序的全部青蛙的前k只青蛙,当m≥k时,在划分族群后,前k只青蛙将成为各自所在族群中最优的青蛙个体,从而可避免其蛙跳行为,使求解具有较好的稳定性。如果取m<k,在划分族群后,前m只青蛙被分别划分至第1至第m族群,成为各族群中的最优青蛙个体,而第m+1至第k只青蛙则分别被划分在第1至第(k-m)族群,并成为这些族群中的次优个体。在局部搜索中,族群内的次优青蛙可能会向最优青蛙学习,导致次优青蛙的模因结构变化,因而影响求解k条最短路径的质量和稳定性。
综上所述,本发明提出的导航方法,可提供多条路径供用户选择,可提高导航质量及稳定性。本发明利用SFLA的族群间的协同进化和族群的强局部搜索特性能提出一种求解k条最短路径问题的混合蛙跳算法。采用将图中两个顶点间的自然路径作为青蛙个体编码,设计了能够实现青蛙个体间传递模因信息的蛙跳算子;通过族群内部的局部搜索和各族群间的协作不断交替进行实现对k条最短路径问题的求解。
这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件、材料和部件来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。
Claims (5)
1.一种导航方法,其特征在于,所述导航方法包括:
步骤S1、获取目的地位置信息及实时位置信息;
步骤S2、根据目的地位置信息、实时位置信息实时获取到达目的地的K条最短路径,进行实时导航,在导航的过程中不断的计算着用户的路线轨迹,直到导航结束;通过GPS传输数据,再根据地址数据库、地图数据库、第三方路况信息数据库和用户数据库,随时更新用户和目的地直接的路径;采用混合蛙跳算法求解K条最短路径;具体包括:
步骤S21、初始化蛙群,随机产生F只青蛙,计算青蛙个体的评价值并将蛙群按评价值升序排序;青蛙个体的评价值的获取方法为:用路径path所有边的代价之和表示青蛙的评价函数,即
编码是从问题空间向搜索空间的一个映射,从起始点到终点的一条路径对应的节点集合;其中,每一位上的节点编号称为青蛙的一个模因meme;给定一个赋权图G=(V,E),V表示G中所有顶点的集合,E表示所有边的集合;边的代价函数表示为Cost:E→R+,cost(e)为边e∈E的代价;
步骤S22、划分族群;把F个蛙分配到m个族群(Y)中去,每个族群包含n个蛙,从而使得Yk=[X(j),f(j)|X(j)=X(k+m*(j-1),f(j)=f(k+m*(j-1),j=1,…,n,k=1,…,m].这里X(j)表示蛙群中的第j蛙,f(j)表示第j个蛙的目标函数值;
步骤S23、局部搜索,对每个族群执行局部搜索loop次;
青蛙个体的学习目标是族群内最优个体frogb或整个青蛙群中的最优个体frogg;采用对族群中的青蛙按均匀概率选取子群,假设从第i个青蛙族群中随机选择s只青蛙作为该族群的子群进行局部搜索;将s只青蛙中具有最优评价值的青蛙记为frogb,具有最差评价值的青蛙记为frogw,将蛙群中具有最优评价值的青蛙记为frogg,则族群i中的一次局部搜索包括:
步骤S231、从族群中随机选择s只青蛙;
步骤S232、使frogw向frogb跳越一次,执行W.Leap(B);
步骤S233、若frogw代表的解质量较之前更优,则该次局部搜索结束;若较之前更劣或未改变,则frogw向frogg跳越一次,执行W.Leap(G);
步骤S234、若frogw代表的解质量较之前更优,则该次局部搜索结束;若较之前更劣或未发生改变,则重新随机构造frogw;
在每个族群中,上述4个步骤被执行loop次,loop称为局部搜索强度;
步骤S24、族群混合对整个蛙群中具有相同模因结构的青蛙进行重构,计算青蛙的评价值并将蛙群按升序排序;
步骤S25、判断是否满足算法终止条件,若满足,输出前k只青蛙作为k条最短路径;否则,返回步骤S22;
其中,F为蛙群规模,m为族群数,n为族内青蛙数,s为子群青蛙数,loop为局部搜索强度;族群数m取m≥k,k条最短路径实际上就是经过排序的全部青蛙的前k只青蛙;当m≥k时,在划分族群后,前k只青蛙将成为各自所在族群中最优的青蛙个体,从而避免其蛙跳行为,使求解具有较好的稳定性;如果取m<k,在划分族群后,前m只青蛙被分别划分至第1至第m族群,成为各族群中的最优青蛙个体,而第m+1至第k只青蛙则分别被划分在第1至第(k-m)族群,并成为这些族群中的次优个体;在局部搜索中,族群内的次优青蛙可能会向最优青蛙学习,导致次优青蛙的模因结构变化,因而影响求解k条最短路径的质量和稳定性。
2.一种导航方法,其特征在于,所述导航方法包括:
步骤S1、获取目的地位置信息及实时位置信息;
步骤S2、根据目的地位置信息、实时位置信息实时获取到达目的地的K条最短路径,进行实时导航,在导航的过程中不断的计算着用户的路线轨迹,直到导航结束;具体包括:
步骤S21、初始化蛙群,随机产生F只青蛙,计算青蛙个体的评价值并将蛙群按评价值升序排序;青蛙个体的评价值的获取方法为:用路径path所有边的代价之和表示青蛙的评价函数,即
步骤S22、划分族群;把F个蛙分配到m个族群(Y)中去,每个族群包含n个蛙,从而使得Yk=[X(j),f(j)|X(j)=X(k+m*(j-1),f(j)=f(k+m*(j-1),j=1,…,n,k=1,…,m].这里X(j)表示蛙群中的第j蛙,f(j)表示第j个蛙的目标函数值;
步骤S23、局部搜索,对每个族群执行局部搜索loop次;
步骤S24、族群混合对整个蛙群中具有相同模因结构的青蛙进行重构,计算青蛙的评价值并将蛙群按升序排序;
步骤S25、判断是否满足算法终止条件,若满足,输出前k只青蛙作为k条最短路径;否则,返回步骤S22;
其中,F为蛙群规模,m为族群数,n为族内青蛙数,s为子群青蛙数,loop为局部搜索强度;族群数m取m≥k,k条最短路径实际上就是经过排序的全部青蛙的前k只青蛙。
3.根据权利要求2所述的快速获取K条最短路径的导航方法,其特征在于:
步骤S2中,通过GPS传输数据,再根据地址数据库、地图数据库、第三方路况信息数据库和用户数据库,随时更新用户和目的地直接的路径;采用混合蛙跳算法求解K条最短路径。
4.根据权利要求2所述的快速获取K条最短路径的导航方法,其特征在于:
步骤S21中,编码是从问题空间向搜索空间的一个映射,从起始点到终点的一条路径对应的节点集合;其中,每一位上的节点编号称为青蛙的一个模因meme;给定一个赋权图G=(V,E),V表示G中所有顶点的集合,E表示所有边的集合;边的代价函数表示为Cost:E→R+,cost(e)为边e∈E的代价。
5.根据权利要求2所述的快速获取K条最短路径的导航方法,其特征在于:
步骤S23中,青蛙个体的学习目标是族群内最优个体frogb或整个青蛙群中的最优个体frogg;采用对族群中的青蛙按均匀概率选取子群,假设从第i个青蛙族群中随机选择s只青蛙作为该族群的子群进行局部搜索;将s只青蛙中具有最优评价值的青蛙记为frogb,具有最差评价值的青蛙记为frogw,将蛙群中具有最优评价值的青蛙记为frogg,则族群i中的一次局部搜索包括:
步骤S231、从族群中随机选择s只青蛙;
步骤S232、使frogw向frogb跳越一次,执行W.Leap(B);
步骤S233、若frogw代表的解质量较之前更优,则该次局部搜索结束;若较之前更劣或未改变,则frogw向frogg跳越一次,执行W.Leap(G);
步骤S234、若frogw代表的解质量较之前更优,则该次局部搜索结束;若较之前更劣或未发生改变,则重新随机构造frogw;
在每个族群中,上述4个步骤被执行loop次,loop称为局部搜索强度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410371032.2A CN104142151A (zh) | 2014-07-31 | 2014-07-31 | 一种导航方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410371032.2A CN104142151A (zh) | 2014-07-31 | 2014-07-31 | 一种导航方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104142151A true CN104142151A (zh) | 2014-11-12 |
Family
ID=51851400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410371032.2A Pending CN104142151A (zh) | 2014-07-31 | 2014-07-31 | 一种导航方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104142151A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106529735A (zh) * | 2016-11-22 | 2017-03-22 | 兰州交通大学 | 一种超市导路装置 |
CN109489666A (zh) * | 2018-11-14 | 2019-03-19 | 新疆工程学院 | 温室喷药机器人同步定位与地图构建的方法 |
CN111274682A (zh) * | 2020-01-15 | 2020-06-12 | 桂林电子科技大学 | 基于蛙跳算法的数字微流控芯片在线测试路径优化方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100268447A1 (en) * | 2009-04-15 | 2010-10-21 | Owen Griffiths | System and method for journey planning, finding k shortest paths through a time/space network |
US20100332436A1 (en) * | 2009-06-29 | 2010-12-30 | International Business Machines Corporation | Multi-pairs shortest path finding method and system |
CN103278168A (zh) * | 2013-04-28 | 2013-09-04 | 北京航空航天大学 | 一种面向交通热点规避的路径规划方法 |
CN103439726A (zh) * | 2013-09-06 | 2013-12-11 | 电子科技大学 | 一种应用于gps的快速k最短路径规划方法 |
CN103674049A (zh) * | 2013-11-29 | 2014-03-26 | 闻泰通讯股份有限公司 | 导航系统中必经点最短路径的获取方法 |
CN103699136A (zh) * | 2014-01-14 | 2014-04-02 | 河海大学常州校区 | 基于蛙跳算法的智能家庭服务机器人系统及服务方法 |
-
2014
- 2014-07-31 CN CN201410371032.2A patent/CN104142151A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100268447A1 (en) * | 2009-04-15 | 2010-10-21 | Owen Griffiths | System and method for journey planning, finding k shortest paths through a time/space network |
US20100332436A1 (en) * | 2009-06-29 | 2010-12-30 | International Business Machines Corporation | Multi-pairs shortest path finding method and system |
CN103278168A (zh) * | 2013-04-28 | 2013-09-04 | 北京航空航天大学 | 一种面向交通热点规避的路径规划方法 |
CN103439726A (zh) * | 2013-09-06 | 2013-12-11 | 电子科技大学 | 一种应用于gps的快速k最短路径规划方法 |
CN103674049A (zh) * | 2013-11-29 | 2014-03-26 | 闻泰通讯股份有限公司 | 导航系统中必经点最短路径的获取方法 |
CN103699136A (zh) * | 2014-01-14 | 2014-04-02 | 河海大学常州校区 | 基于蛙跳算法的智能家庭服务机器人系统及服务方法 |
Non-Patent Citations (4)
Title |
---|
崔文华 等: "混合蛙跳算法研究综述", 《控制与决策》 * |
王晓笛: "基于改进蛙跳算法的多目标优化问题研究", 《中国优秀硕士学位论文全文数据库》 * |
邹采荣 等: "混合蛙跳算法综述", 《信息化研究》 * |
马炫 等: "求解k条最短路径问题的混合蛙跳算法", 《信息与控制》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106529735A (zh) * | 2016-11-22 | 2017-03-22 | 兰州交通大学 | 一种超市导路装置 |
CN109489666A (zh) * | 2018-11-14 | 2019-03-19 | 新疆工程学院 | 温室喷药机器人同步定位与地图构建的方法 |
CN109489666B (zh) * | 2018-11-14 | 2022-04-05 | 新疆工程学院 | 温室喷药机器人同步定位与地图构建的方法 |
CN111274682A (zh) * | 2020-01-15 | 2020-06-12 | 桂林电子科技大学 | 基于蛙跳算法的数字微流控芯片在线测试路径优化方法 |
CN111274682B (zh) * | 2020-01-15 | 2024-01-05 | 桂林电子科技大学 | 基于蛙跳算法的数字微流控芯片在线测试路径优化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | A real-time personalized route recommendation system for self-drive tourists based on vehicle to vehicle communication | |
Qu et al. | A cost-effective recommender system for taxi drivers | |
Shen et al. | Optimized public parking location modelling for green intelligent transportation system using genetic algorithms | |
Zenina et al. | Regression analysis for transport trip generation evaluation | |
Ye et al. | A method for driving route predictions based on hidden Markov model | |
Liu et al. | Exploiting heterogeneous human mobility patterns for intelligent bus routing | |
CN109612488B (zh) | 基于大数据微服务的混合出行方式路径规划系统及方法 | |
Almasi et al. | Optimization of a transit services model with a feeder bus and rail system using metaheuristic algorithms | |
Verma et al. | Feeder bus routes generation within integrated mass transit planning framework | |
CN102749084A (zh) | 一种面向海量交通信息的路径选择方法 | |
CN105303486A (zh) | 一种基于成本最低的智慧旅游推荐系统与方法 | |
CN102903038B (zh) | 基于用户轨迹的小件物流配送方法及系统 | |
Li et al. | A dynamic and scalable user-centric route planning algorithm based on polychromatic sets theory | |
CN104636457B (zh) | 一种位置搜索认知的方法及装置 | |
Johar et al. | Transit network design and scheduling using genetic algorithm–a review | |
Yu et al. | Agent-based simulation optimization model for road surface maintenance scheme | |
Yan et al. | SALA: a self-adaptive learning algorithm—towards efficient dynamic route guidance in urban traffic networks | |
CN104142151A (zh) | 一种导航方法 | |
Wismans et al. | Acceleration of solving the dynamic multi-objective network design problem using response surface methods | |
Leng et al. | Managing travel demand: Location recommendation for system efficiency based on mobile phone data | |
Kamiński et al. | Multiagent routing simulation with partial smart vehicles penetration | |
Zhou et al. | Smart tour route planning algorithm based on clustering center motive iteration search | |
Gidófalvi et al. | Frequent route based continuous moving object location-and density prediction on road networks | |
Hadas et al. | Optimal connected urban bus network of priority lanes | |
Zhang et al. | Dynamic clustering meeting points strategy to improve operational service capability of flex-route transit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20141112 |
|
RJ01 | Rejection of invention patent application after publication |