CN105678054A - 一种基于a星策略的最优多会合点路径搜索方法及装置 - Google Patents
一种基于a星策略的最优多会合点路径搜索方法及装置 Download PDFInfo
- Publication number
- CN105678054A CN105678054A CN201511018390.6A CN201511018390A CN105678054A CN 105678054 A CN105678054 A CN 105678054A CN 201511018390 A CN201511018390 A CN 201511018390A CN 105678054 A CN105678054 A CN 105678054A
- Authority
- CN
- China
- Prior art keywords
- cost
- label
- queue
- state
- path
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Z—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
- G16Z99/00—Subject matter not provided for in other main groups of this subclass
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种基于A星策略的最优多会合点路径搜索方法及装置,其中的方法包括:获取路径搜索预设信息,包括:图G=(V,E,W),点集U,α,出发点s,目的点t;然后,在执行以下步骤:使用全集合路径算法计算C(x,y,U),其中x,y∈U;当时,返回α×minx∈U,y∈U(dist(s,x)+C(x,y,U)+dist(y,t));求出从s到t的最短路径Pˊ;计算α×c(Pˊ)+(1-α)×Σx∈U(minv∈VP′dist(x,v)),并赋值给best;初始化队列Q和集合D,将初始状态和加入队列Q,其中lb()是计算下界的操作,其结果lb是队列Q的优先序;当队列Q不为空时通过循环操作以找到最优解。本发明能够更加高效地解决实时合乘应用中技术难点,大大提升了高效性与实用性。
Description
技术领域
本发明涉及实时合乘应用技术领域,尤其涉及一种应用于实时合乘的基于A星策略的最优多会合点路径搜索方法及装置。
背景技术
实时合乘,又被称作动态拼车,是现代交通系统中一种颇具发展前景的节省燃油并减轻交通拥堵的方式。最近一段时间以来,许多实时合乘应用,诸如Uber(www.uber.com)、Lyft(www.lyft.com),在智能手机用户中越来越受欢迎,因为这可以帮助他们规划旅程。在典型的实时合乘系统中,有两种实体:驾驶者和乘客。乘客可以通过他们带定位功能的智能手机来预定汽车。他们需要提供他们的地理位置信息给系统,随后系统动态地安排驾驶者为这些乘客提供合乘服务。
架设一个这样的实时合乘系统不是一件容易的事。主要的技术难点有两个:1、如何快速地找到可以服务进来的用户请求的驾驶者;2、匹配好了驾驶者和乘客之后,又该如何快速地确定最优的路径让驾驶者可以接上所有的匹配的乘客。在文献里,现有的一些研究主要集中在解决第一个问题。
例如,在文献[2]―S.Ma,Y.Zheng,andO.Wolfson,―T-share:Alarge-scaledynamictaxiridesharingservice,‖in2013IEEE29thInternationalConferenceonDataEngineering(ICDE),2013,pp.410–421‖和文献[3]―S.MaandO.Wolfson,―Analysisandevaluationofthesluggingformofridesharing,‖inProceedingsofthe21stACMSIGSPATIALInternationalConferenceonAdvancesinGeographicInformationSystems,2013,pp.64–73‖中,ShuoMa等人做出了一个叫T-share的系统,用于的士合乘应用中,驾驶者和乘客的实时匹配。在文献[1](Y.Huang,R.Jin,F.Bastani,andX.S.Wang,―LargeScaleReal-timeRidesharingwithServiceGuaranteeonRoadNetworks,‖ArXiv13026666Cs,Feb.2013)中,YanHuang等人提出了一种高效的活动树算法来支持一种有服务保证的驾驶者和乘客之间的匹配。这几种算法的工作都集中在开发一种实用的算法来高效地解决驾驶者和乘客之间的匹配问题,即上文所述的技术难点1。而对于上文所述的技术难点2,本申请人在申请号为201510274711.2、名称为“应用于实时合乘的最优多会合点路径搜索方法及装置”的专利申请[4]中提出了OMMPR算法的解决方案。
在OMMPR算法的解决方案里,该专利定义了OMMPR问题。该专利申请将公路网络抽象成为一个加权图G(V,E,W),这里V,E和W分别为点集,边集和权值的集合。令n=|V|表示点的数目,m=|E|表示边的数目。边(vi,vj)上的权值w(vi,vj)表示点vi到点vj之间的距离。这里我们将图G作为一个无向图来处理,但是实际上我们的方法可以被用于处理有向图。我们将s~t路径记为Pst=(s,v1,…,vk-1,t)。令v0=s,vk=t,为Pst上的节点的集合,即则我们可以将路径上的总花费记为注意这里的路径不一定是一条无重复顶点的简单路径。令为顶点的子集,对于每一个u∈U,我们定义从节点u到路径Pst上的点集的距离为:
这里的dist(u,vi)是从节点u到节点vi的距离。很明显的,这里的表明了从节点u到路径Pst的距离。如果一个节点并且有那么我们就称节点v为节点u与路径Pst的会合点。
我们定义为集合U中所有的点到路径Pst的距离总和,即则对于给定的s,t,U和α,我们可以构造出路径Pst的平均花费函数:
这里的参数α∈(0,1),用于平衡路径Pst和U中的点到Pst之间的距离和的比重。在这里我们考虑U中所有的点到Pst之间的距离占有相同的比重(1-α)。但是我们的方法可以被扩展为支持处理不同点不同比重的情况。明显地,在实时合乘应用中,c(Pst)代表了驾驶者的花费,代表了所有乘客的花费。OMMPR搜索的目标就是在图G中找到一条从源节点s到目的节点t的路径Pst,使得f(Pst)取得最小。
OMMPR搜索的正式定义如下:
对于给定的路网G=(V,E,W),OMMPR搜索Q(s,t,U,α)的目标是找到一条图G上的s~t路径Pst,使得f(Pst)最小,即
minf(Pst)
s.t.Pst∈Ρst
这里的Ρst是所有从s到t的路径的集合。
针对OMMPR问题,在201510274711.2专利申请中,我们开发了一种高效的算法——OMMPR算法。
OMMPR算法基于动态规划,利用(u,X)来表示一个状态,这里的u表示一条路径的终节点,X是U的一个子集。该算法通过扩展一条路径的终节点和U的子集X来寻找最优路径,当u=t,X=U的时候,就取得了最优的路径。令f(u,X)为一条OMMPR路径的平均花费,即当u=s的时候,我们有f(s,X)满足f(s,X)=(1-α)×∑x∈Xdist(x,s)。因为当u=s的时候,从s到u的路径只包含一个点s,所以路径上的花费为0,而从U中节点到路径的花费和为∑x∈Xdist(x,s)。明显地,当时,
对于每一个状态(v,X),我们有两种扩展方式,边增长(edgegrowing)和点增长(nodegrowing)。在边增长时,我们用一条边(v,u)∈E来扩展状态(v,X)为新的状态(u,X)。在点增长是,我们用每一个节点x∈U-X来扩展状态(v,X)为新的状态(v,X∪{x})。则状态转移方程如下所示:
1、边增长。对于集合X中的查询点和最优路径Psu,假设所有的会合点都在集合上。在这种情况下,我们可以通过扩展子路径Psv,在它上面加上边(v,u)∈E,来获得最优的路径Psu。因为此时所有的会合点都落在最优子路径Psv上。图2展示了边增长的过程。很明显,此时有
2、点增长。假设至少一个点x∈X与最优路径Psu的会合点落在点u。在这种情况下,我们可以通过扩展考虑集合X-{x}的最优路径Psu来获得考虑集合X的最优路径Psu。图3展示了点增长的过程。我们可以得到
显然,我们可以通过取上面两者的最小花费作为f(u,X),也就是上面的那个状态转移方程式。
基于上面的状态转移方程,我们设计OMMPR算法来求解问题。经过理论和实验证明,OMMPR算法可以较为有效地解决OMMPR问题,但是该方法在效率上还有待提升。
发明内容
本发明的目的在于提供一种基于A星策略的最优多会合点路径搜索方法及装置,通过对背景技术中的最优多会合点路径搜索方法进行改进,能够有效且更加高效地确定最优的路径以让驾驶者可以接上所有的匹配的乘客。
本发明的目的是通过以下技术方案实现的。
一种基于A星策略的最优多会合点路径搜索方法,包括:
首先,获取路径搜索预设信息,包括:图G=(V,E,W),点集U,α,出发点s,目的点t;其中,V、E和W分别为点集、边集和权值的集合;为顶点的子集;参数α∈(0,1),用于平衡图G上s~t路径Pst和U中的点到路径Pst之间的距离和的比重;然后,再执行以下步骤:
(1)使用全集合路径算法计算C(x,y,U),其中x,y∈U;
所述C(x,y,U)为状态(x,y,X)的最优花费,状态(x,y,X)表示一条从x出发、到y结束并且穿过集合X中所有节点的路径,其中的且x,y∈X;
(2)当时,返回α×minx∈U,y∈U(dist(s,x)+C(x,y,U)+dist(y,t));
(3)求出从s到t的最短路径P';
(4)计算 并赋值给best,该best为已经计算过的最优路径的花费;
(5)初始化队列Q和集合D,将初始状态和加入队列Q,其中lb()是计算下界的操作,其结果lb是队列Q的优先序;
(6)当队列Q不为空时重复以下步骤:
(6.1)弹出队列Q中第一个元素((label,v,X),cost,lb);
(6.2)将label'标记为label的相反方向;
(6.3)X'为U-X;
(6.4)当v=label'且X=U的时候,返回当前的cost;
(6.5)将状态((label,v,X),cost)加入集合D;
(6.6)对于集合E里的所有(v,u)边循环:
(6.6.1)计算cost+α×w(v,u)并赋值给cost';
(6.6.2)更新(Q,D,best,label',X',(label,u,X),cost');
(6.7)对于集合U-X里的所有x点循环:
(6.7.1)计算cost+(1-α)×dist(x,v)并赋值给cost';
(6.7.2)更新(Q,D,best,label',X'-{x},(label,v,X∪{x}),cost');
(7)所有上述循环结束还没有找到最优解,则返回∞。
其中,所述步骤(1)中,使用全集合路径算法计算C(x,y,U)的方法为:
(A)初始化队列Q和集合D,对于所有的u∈U,将初始状态((u,u,{u}),0)加入队列Q。
(B)当队列Q不为空时重复以下步骤:
(B.1)弹出队列Q中第一个元素((x,y,X),cost);
(B.2)将cost赋值给状态C(x,y,X);
(B.3)将状态(x,y,X)加入集合D;
(B.4)对于集合U-X里的所有点v循环:
(B.4.1)将集合X∪{v}赋值给临时变量集合X';
(B.4.2)将cost的值加上点v到点y的距离并赋值给临时变量cost';
(B.4.3)如果新的状态(x,y,X')存在于集合D中,则跳过本次循环继续;
(B.4.4)如果新的状态(x,y,X')不属于队列Q,则将其加入队列Q;
(B.4.5)如果新的cost'比原来队列Q中的相应状态的cost要小,则更新队列Q中该状态的cost值。
其中,所述步骤(5)中,计算下界(lowerbound)的操作方法为:
当(label',v,X')∈D时,返回cost+D.cost((label',v,X'));
当label=s时,即前向增长:
若则计算minx∈X',y∈X'{dist(v,x)+C(x,y,X')+dist(y,t)}赋值给变量c,并返回否则直接返回cost+α×dist(v,t);
否则,即反向增长:
若则计算minx∈X',y∈X'{dist(s,x)+C(x,y,X')+dist(y,v)}赋值给变量c,并返回否则直接返回cost+α×dist(s,v)。
其中,所述步骤(6.6.2)中,更新(Q,D,best,label',X',(label,u,X),cost')的方法为:
当状态(label,v,X)∈D时,直接返回;
计算lb((label,v,X),label',X',cost,D)并赋值给lb;
当lb≥best时,直接返回;
当状态时,将状态((label,v,X),cost,lb)压入队列Q;
当lb小于队列Q中状态(label,v,X)的下界Q.lb((label,v,X))时,同时更新该状态的cost和lb,Q.update((label,v,X),cost,lb);
当(label',v,X')∈D且D.cost((label',v,X'))+cost<best时,计算D.cost((label',v,X'))+cost并赋值给best。
一种基于A星策略的最优多会合点路径搜索装置,适用于移动终端,包括:
搜索信息输入单元:用于获取路径搜索预设信息,包括:图G=(V,E,W),点集U,α,出发点s,目的点t;其中,V、E和W分别为点集、边集和权值的集合;为顶点的子集;参数α∈(0,1),用于平衡路径Pst和U中的点到Pst之间的距离和的比重;
路径搜索单元:用于根据所述路径搜索预设信息,通过如上任一所述方法,搜索在所述图G中从出发点s到目的点t的最优路径;
搜索结果输出单元:用于输出显示所述路径搜索单元所搜索到的最优路径。
其中,所述移动终端包括:移动电话、智能电话、笔记本电脑、个人数字助理、平板电脑。
本发明实施例与现有技术相比,本发明具有以下优点:
本发明提出的基于A星策略的最优多会合点路径搜索方法相比之前的方法,能够更加高效地解决实时合乘应用中技术难点2,即,在匹配好了驾驶者和乘客之后,如何快速地确定最优的路径让驾驶者可以接上所有的匹配的乘客。大大提升了该算法的高效性与实用性。
附图说明
图1是一个公路网络的示意图;
图2是对状态(v,X)采用边增长的扩展方式示意图;
图3是对状态(v,X)采用点增长的扩展方式示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了解决所述背景技术的缺陷,本发明采用的技术方案是使用双向搜索和A星策略优化OMMPR算法。
首先我们考虑双向搜索优化。在OMMPR算法中,我们从出发点s起始,向着目的点t做增长操作。事实上我们也可以从目的点t出发,向着出发点s做增长操作。由此受到双向搜索算法的启发,我们对OMMPR算法进行双向搜索优化。
我们将双向搜索优化过后的算法称为双向增长算法(bidirectionalgrow),它由两部分组成,分别为前向增长(forwardgrow)和反向增长(backwardgrow)。在改算法中,前向增长从s点出发,反向增长从t点出发,两者交互进行。在算法扩展状态的过程中,我们维持一个已经计算过的最优路径的花费,记为best。算法开始,我们将best设为+∞,并且将和压入优先队列Q。随后算法从优先队列中选取最前面的状态(v,X)作为当前状态,并且应用OMMPR算法中的方法来扩展当前状态。假设前向增长和反向增长的当前最优花费的状态分别为(v,X)和(u,U-X)。当前向增长扫描边(v,u)时,我们可以获得一条候选路径,它的花费为c=f(v,X)+f(u,U-X)+α×w(v,u)。当best>c的时候,表明我们得到了一条更优的路径,此时,将best更新为c。对于反向增长,我们进行相类似的操作。双向增长算法的终止条件是:当一个方向弹出状态(v,X)的时候,状态(v,U-X)的最优花费已经在另一个方向被计算过了。
双向增长算法的正确性可以由双向搜索理论来证明,参阅文献[5](I.Pohl,Bi-directionalsearch.IBMTJWatsonResearchCenter,1970.)、文献[6](A.V.GoldbergandC.Harrelson,―Computingtheshortestpath:Asearchmeetsgraphtheory,‖inProceedingsofthesixteenthannualACM-SIAMsymposiumonDiscretealgorithms,2005,pp.156–165.)。同样的[5],[6]也说明了双向增长算法的搜索空间比原来OMMPR算法的搜索空间要小许多。
在双向增长算法的基础上,我们引入A星策略优化。为了使用A星策略,我们需要找到一个OMMPR查询花费的下界。
首先,我们引入一个方法来计算一些构造下界时所需的量。这些量需要在搜索之前被计算出来。特别地,对于所有的且x,y∈X,我们称(x,y,X)为一个状态,表示一条从x出发,到y结束,并且穿过集合X中所有节点的路径。令C(x.y,X)为状态(x,y,X)的最优花费。明显地,这个花费C(x,y,X)可以通过动态规划求出。特别地,对于任意的且x,y∈X,该动态规划的状态转移方程为:
对于所有的u∈U,我们初始化C(u,u,{u})=0。该方程的含义是:每一个状态(x,y,X)的最优路径可以由它的最优子路径(x,v,X-{y})扩展每一个v∈X-{y}。基于上面的方程,我们可以使用动态规划来求解所有的C(x,y,X),对于所有的且x,y∈X。我们称该算法为全集合路径算法。
全集合路径算法的详细过程如下所示:
输入:图G=(V,E,W),点集U,α,出发点s,目的点t。
输出:集合C(x,y,X)。
(1)初始化队列Q和集合D,对于所有的u∈U,将初始状态((u,u,{u}),0)加入队列Q。
(2)当队列Q不为空时重复以下步骤
(2.1)弹出队列Q中第一个元素((x,y,X),cost);
(2.2)将cost赋值给状态C(x,y,X);
(2.3)将状态(x,y,X)加入集合D;
(2.4)对于集合U-X里的所有点v循环
(2.4.1)将集合X∪{v}赋值给临时变量集合X'
(2.4.2)将cost的值加上点v到点y的距离并赋值给临时变量cost'。
(2.4.3)如果新的状态(x,y,X')存在于集合D中,则跳过本次循环继续。
(2.4.4)如果新的状态(x,y,X')不属于队列Q,则将其加入队列Q。
(2.4.5)如果新的cost'比原来队列Q中的相应状态的cost要小,则更新队列Q中该状态的cost值。
计算出所有的C(x,y,X)后,我们可以给出OMMPR问题的花费的一个下界。
先来考虑对于给定的Q=(s,t,U,α),α>1/3的情况。令P'=((v,X),cost)为OMMPR算法的一个从出发点s到点v的局部结果,且令X'=U-X,令为经过X'中所有顶点的最优v~t路径,即:
则对于任何的局部结果P',我们都可以算出从状态(v,X)到状态(t,U)的最优花费的下界cost(P'):
相应地,在反方向,即从状态出发,到状态(s,U)结束的算法,对于局部结果P'=((v,X),cost),可以求出下界:
其中,X'=U-X,c(P)=minx,y∈X'{dist(s,x)+C(x,y,X')+dist(y,v)}。
对于给定的Q=(s,t,U,α),当α≤1/3时,OMMPR问题的最优解为:α×minx∈U,y∈U(dist(x,y)+C(x,y,U)+dist(y,t))。
基于上述全集合路径算法,本发明实现最优多会合点路径搜索的详细过程如下所示:
输入:图G=(V,E,W),点集U,α,出发点s,目的点t。
输出:最小花费。
(1)使用全集合路径算法计算C(x,y,U),其中x,y∈U;
(2)当时,返回α×minx∈U,y∈U(dist(s,x)+C(x,y,U)+dist(y,t));
(3)求出从s到t的最短路径P';
(4)计算 并赋值给best;
(5)初始化队列Q和集合D,将初始状态和加入队列Q。其中lb()是计算下界(lowerbound)的操作,其结果lb是队列Q的优先序。
(6)当队列Q不为空时重复以下步骤
(6.1)弹出队列Q中第一个元素((label,v,X),cost,lb);
(6.2)将label'标记为label的相反方向;
(6.3)X'为U-X;
(6.4)当v=label'且X=U的时候,返回当前的cost;
(6.5)将状态((label,v,X),cost)加入集合D;
(6.6)对于集合E里的所有(v,u)边循环
(6.6.1)计算cost+α×w(v,u)并赋值给cost';
(6.6.2)更新(Q,D,best,label',X',(label,u,X),cost');
(6.7)对于集合U-X里的所有x点循环
(6.7.1)计算cost+(1-α)×dist(x,v)并赋值给cost';
(6.7.2)更新(Q,D,best,label',X'-{x},(label,v,X∪{x}),cost');
(7)所有上述循环结束还没有找到最优解,则返回∞。
上述步骤(6.6.2)中,更新(Q,D,best,label',X',(label,v,X),cost)的操作如下:
当状态(label,v,X)∈D时,直接返回;
计算lb((label,v,X),label',X',cost,D)并赋值给lb;
当lb≥best时,直接返回;
当状态时,将状态((label,v,X),cost,lb)压入队列Q;
当lb小于队列Q中状态(label,v,X)的下界Q.lb((label,v,X))时,同时更新该状态的cost和lb,Q.update((label,v,X),cost,lb);
当(label',v,X')∈D且D.cost((label',v,X'))+cost<best时,计算D.cost((label',v,X'))+cost并赋值给best。
上述步骤(5)中,计算下界(lowerbound,lb)的操作如下:
当(label',v,X')∈D时,返回cost+D.cost((label',v,X'));
当label=s时,即前向增长:
若则计算minx∈X',y∈X'{dist(v,x)+C(x,y,X')+dist(y,t)}赋值给变量c,并返回 否则直接返回cost+α×dist(v,t);
否则,即反向增长:
若则计算minx∈X',y∈X'{dist(s,x)+C(x,y,X')+dist(y,v)}赋值给变量c,并返回 否则直接返回cost+α×dist(s,v);
在上面的算法中,我们定义了状态(label,v,X),并用元组((label,v,X),cost,lb)来表示,这里的cost=f(v,X),表示从点label出发,到点v结束,考虑查询集合X的OMMPR问题的花费,lb是总花费的下界。在该算法里,我们使用了一个优先队列Q来保存中间结果,从而实现A*的策略。Q中的每一个元素都是一个元组((label,v,X),cost,lb)。在优先队列Q中,每个元素((label,v,X),cost,lb)中的lb为优先序,lb最小的元素始终在队首。队列Q有三个操作,分别为弹出(pop),压入(push)和更新(update)。弹出操作将队首元素也就是lb最小的元素从队列中出队。压入操作将一个元素压入队列当中。更新操作更新队列中一个元素的cost和lb,并且调整该队列,使得其保持优先顺序。算法中还使用了一个集合D来保存已经被计算过的状态。
相应地,本发明还提供了一种最优多会合点路径搜索装置,包括:
搜索信息输入单元:用于获取路径搜索预设信息,包括:图G=(V,E,W),点集U,α,出发点s,目的点t;
路径搜索单元:用于根据路径搜索预设信息,通过上述搜索方法,搜索在所述图G中从出发点s到目的点t的最优路径;
搜索结果输出单元:用于输出显示最优路径;显示的方式可根据用户的使用习惯或者个性化需求采用不同的多种方式。
上述最优多会合点路径搜索装置可应用于各种移动终端,具体可以为移动电话、智能电话、笔记本电脑、个人数字助理、平板电脑,只要安装有实时合乘应用的终端均可使用本装置。
下面,将描述通过一实例来说明本发明的具体实现过程。考察图1所示的示例图,假设s=v1,t=v10,α=1/2,U={v6}。首先,该算法预计算C(v6,v6,{v6}),其结果为0。随后,该算法找出从v1到v10的最短路径,即(v1,v4,v5,v9,v10),并且将best初始化为7/2。然后,该算法计算状态和状态的下界,结果均为11/4。再然后,该算法将状态和状态加入队列Q。在第一次迭代中,该算法从队列Q中弹出状态并进行前向扩展状态于是生成了4个元素,和((s,v1,{v6}),3/2,7/2)。由于状态和状态(s,v1,{v6})的下界比best大,所以被排除。所以将元素和加入队列Q。在第二轮迭代中,该算法弹出下界最小的元素然后重复以上的步骤。反复进行迭代,我们可以得出最优的结果为f(Pst)=3。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种基于A星策略的最优多会合点路径搜索方法,其特征在于,该方法包括:
首先,获取路径搜索预设信息,包括:图G=(V,E,W),点集U,α,出发点s,目的点t;其中,V、E和W分别为点集、边集和权值的集合;为顶点的子集;参数α∈(0,1),用于平衡图G上s~t路径Pst和U中的点到路径Pst之间的距离和的比重;然后,再执行以下步骤:
(1)使用全集合路径算法计算C(x,y,U),其中x,y∈U;
所述C(x,y,U)为状态(x,y,X)的最优花费,状态(x,y,X)表示一条从x出发、到y结束并且穿过集合X中所有节点的路径,其中的且x,y∈X;
(2)当时,返回α×minx∈U,y∈U(dist(s,x)+C(x,y,U)+dist(y,t));
(3)求出从s到t的最短路径P';
(4)计算 并赋值给best,该best为已经计算过的最优路径的花费;
(5)初始化队列Q和集合D,将初始状态和加入队列Q,其中lb()是计算下界的操作,其结果lb是队列Q的优先序;
(6)当队列Q不为空时重复以下步骤:
(6.1)弹出队列Q中第一个元素((label,v,X),cost,lb);
(6.2)将label'标记为label的相反方向;
(6.3)X'为U-X;
(6.4)当v=label'且X=U的时候,返回当前的cost;
(6.5)将状态((label,v,X),cost)加入集合D;
(6.6)对于集合E里的所有(v,u)边循环:
(6.6.1)计算cost+α×w(v,u)并赋值给cost';
(6.6.2)更新(Q,D,best,label',X',(label,u,X),cost');
(6.7)对于集合U-X里的所有x点循环:
(6.7.1)计算cost+(1-α)×dist(x,v)并赋值给cost';
(6.7.2)更新(Q,D,best,label',X'-{x},(label,v,X∪{x}),cost');
(7)所有上述循环结束还没有找到最优解,则返回∞。
2.如权利要求1所述的基于A星策略的最优多会合点路径搜索方法,其特征在于,所述步骤(1)中,使用全集合路径算法计算C(x,y,U)的方法为:
(A)初始化队列Q和集合D,对于所有的u∈U,将初始状态((u,u,{u}),0)加入队列Q。
(B)当队列Q不为空时重复以下步骤:
(B.1)弹出队列Q中第一个元素((x,y,X),cost);
(B.2)将cost赋值给状态C(x,y,X);
(B.3)将状态(x,y,X)加入集合D;
(B.4)对于集合U-X里的所有点v循环:
(B.4.1)将集合X∪{v}赋值给临时变量集合X';
(B.4.2)将cost的值加上点v到点y的距离并赋值给临时变量cost';
(B.4.3)如果新的状态(x,y,X')存在于集合D中,则跳过本次循环继续;
(B.4.4)如果新的状态(x,y,X')不属于队列Q,则将其加入队列Q;
(B.4.5)如果新的cost'比原来队列Q中的相应状态的cost要小,则更新队列Q中该状态的cost值。
3.如权利要求1所述的基于A星策略的最优多会合点路径搜索方法,其特征在于,所述步骤(5)中,计算下界(lowerbound)的操作方法为:
当(label',v,X')∈D时,返回cost+D.cost((label',v,X'));
当label=s时,即前向增长:
若则计算minx∈X',y∈X'{dist(v,x)+C(x,y,X')+dist(y,t)}赋值给变量c,并返回否则直接返回cost+α×dist(v,t);
否则,即反向增长:
若则计算minx∈X',y∈X'{dist(s,x)+C(x,y,X')+dist(y,v)}赋值给变量c,并返回否则直接返回cost+α×dist(s,v)。
4.如权利要求1所述的基于A星策略的最优多会合点路径搜索方法,其特征在于,所述步骤(6.6.2)中,更新(Q,D,best,label',X',(label,u,X),cost')的方法为:
当状态(label,v,X)∈D时,直接返回;
计算lb((label,v,X),label',X',cost,D)并赋值给lb;
当lb≥best时,直接返回;
当状态时,将状态((label,v,X),cost,lb)压入队列Q;
当lb小于队列Q中状态(label,v,X)的下界Q.lb((label,v,X))时,同时更新该状态的cost和lb,Q.update((label,v,X),cost,lb);
当(label',v,X')∈D且D.cost((label',v,X'))+cost<best时,计算D.cost((label',v,X'))+cost并赋值给best。
5.一种基于A星策略的最优多会合点路径搜索装置,适用于移动终端,其特征在于,所述装置包括:
搜索信息输入单元:用于获取路径搜索预设信息,包括:图G=(V,E,W),点集U,α,出发点s,目的点t;其中,V、E和W分别为点集、边集和权值的集合;为顶点的子集;参数α∈(0,1),用于平衡路径Pst和U中的点到Pst之间的距离和的比重;
路径搜索单元:用于根据所述路径搜索预设信息,通过如权利要求1至4任一所述方法,搜索在所述图G中从出发点s到目的点t的最优路径;
搜索结果输出单元:用于输出显示所述路径搜索单元所搜索到的最优路径。
6.如权利要求5所述的基于A星策略的最优多会合点路径搜索装置,其特征在于,所述移动终端包括:移动电话、智能电话、笔记本电脑、个人数字助理、平板电脑。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511018390.6A CN105678054B (zh) | 2015-12-30 | 2015-12-30 | 一种基于a星策略的最优多会合点路径搜索方法及装置 |
PCT/CN2016/082316 WO2017113569A1 (zh) | 2015-12-30 | 2016-05-17 | 一种基于a星策略的最优多会合点路径搜索方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511018390.6A CN105678054B (zh) | 2015-12-30 | 2015-12-30 | 一种基于a星策略的最优多会合点路径搜索方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105678054A true CN105678054A (zh) | 2016-06-15 |
CN105678054B CN105678054B (zh) | 2020-06-30 |
Family
ID=56297953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511018390.6A Expired - Fee Related CN105678054B (zh) | 2015-12-30 | 2015-12-30 | 一种基于a星策略的最优多会合点路径搜索方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105678054B (zh) |
WO (1) | WO2017113569A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112347216A (zh) * | 2020-11-06 | 2021-02-09 | 思创数码科技股份有限公司 | 一种基于动态路网的初始线路搜索方法 |
CN113592599A (zh) * | 2021-08-02 | 2021-11-02 | 湖南蓝眼科技发展有限公司 | 基于定位信息的出租车拼车方法、电子设备及可读存储介质 |
CN113592599B (zh) * | 2021-08-02 | 2024-05-31 | 湖南蓝眼科技发展有限公司 | 基于定位信息的出租车拼车方法、电子设备及可读存储介质 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109978245B (zh) * | 2019-03-15 | 2023-06-20 | 中国科学技术大学 | 一种基于预估的以用时最短为指标的导弹车调度方法 |
CN109974732B (zh) * | 2019-03-28 | 2022-11-15 | 东北大学 | 一种基于语义感知的Top-k多请求路径规划方法 |
CN111209095B (zh) * | 2019-08-20 | 2023-08-15 | 杭州电子科技大学 | 一种dag并行任务调度中基于树搜索的剪枝方法 |
CN111190711B (zh) * | 2019-12-13 | 2023-06-09 | 南京理工大学 | Bdd结合启发式a*搜索的多机器人任务分配方法 |
CN111538351B (zh) * | 2020-05-15 | 2023-06-06 | 中国人民解放军国防科技大学 | 最优航路点计算方法、系统及计算航路点能量值的模型 |
CN113093736B (zh) * | 2021-03-17 | 2023-01-13 | 湖南格兰博智能科技有限责任公司 | 一种适用于扫地机的低成本芯片寻路算法 |
CN113075479B (zh) * | 2021-03-26 | 2022-11-25 | 中国人民解放军海军航空大学航空作战勤务学院 | 用于低频信号连接的路径搜索算法 |
CN113485360B (zh) * | 2021-07-29 | 2023-05-19 | 福州大学 | 基于改进搜索算法的agv机器人路径规划方法及系统 |
CN113822008B (zh) * | 2021-09-29 | 2022-11-04 | 东南大学 | 基于多引脚同时扩散搜索的超大规模集成电路布线方法 |
CN115001579B (zh) * | 2022-06-01 | 2024-01-19 | 中国电建集团西北勘测设计研究院有限公司 | 一种基于otdr的光纤路径和跳纤端子摸排方法 |
CN114705196B (zh) * | 2022-06-07 | 2022-08-30 | 湖南大学 | 一种用于机器人的自适应启发式全局路径规划方法与系统 |
CN115017376A (zh) * | 2022-07-07 | 2022-09-06 | 上海勘察设计研究院(集团)有限公司 | 一种基于图算法的边角网自动搜索方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090228198A1 (en) * | 2008-03-07 | 2009-09-10 | Microsoft Corporation | Selecting landmarks in shortest path computations |
WO2012151216A1 (en) * | 2011-05-03 | 2012-11-08 | University Of Southern California | Hierarchical and exact fastest path computation in time-dependent spatial networks |
CN102901500A (zh) * | 2012-09-17 | 2013-01-30 | 西安电子科技大学 | 基于概率a星与智能体混合的飞行器最优路径确定方法 |
CN103760904A (zh) * | 2014-02-13 | 2014-04-30 | 北京工业大学 | 一种语音播报式智能车辆路径规划装置与实施方法 |
CN104156459A (zh) * | 2014-08-20 | 2014-11-19 | 焦点科技股份有限公司 | 一种基于相同开销网格的高效寻路的方法及系统 |
CN104992044A (zh) * | 2015-05-26 | 2015-10-21 | 深圳大学 | 应用于实时合乘的最优多会合点路径搜索方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6477515B1 (en) * | 1999-08-11 | 2002-11-05 | The United States Of America As Represented By The Secretary Of The Navy | Efficient computation of least cost paths with hard constraints |
CN101493329B (zh) * | 2008-01-23 | 2011-04-27 | 华东师范大学 | 一种多目标点路径规划方法和装置 |
CN102156756A (zh) * | 2011-05-16 | 2011-08-17 | 复旦大学 | 一种基于图嵌入的在道路网络中查找最优路径的方法 |
CN104217249B (zh) * | 2014-07-02 | 2017-06-23 | 浙江工业大学 | 一种基于时间与费用约束的动态拼车匹配方法 |
-
2015
- 2015-12-30 CN CN201511018390.6A patent/CN105678054B/zh not_active Expired - Fee Related
-
2016
- 2016-05-17 WO PCT/CN2016/082316 patent/WO2017113569A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090228198A1 (en) * | 2008-03-07 | 2009-09-10 | Microsoft Corporation | Selecting landmarks in shortest path computations |
WO2012151216A1 (en) * | 2011-05-03 | 2012-11-08 | University Of Southern California | Hierarchical and exact fastest path computation in time-dependent spatial networks |
CN102901500A (zh) * | 2012-09-17 | 2013-01-30 | 西安电子科技大学 | 基于概率a星与智能体混合的飞行器最优路径确定方法 |
CN103760904A (zh) * | 2014-02-13 | 2014-04-30 | 北京工业大学 | 一种语音播报式智能车辆路径规划装置与实施方法 |
CN104156459A (zh) * | 2014-08-20 | 2014-11-19 | 焦点科技股份有限公司 | 一种基于相同开销网格的高效寻路的方法及系统 |
CN104992044A (zh) * | 2015-05-26 | 2015-10-21 | 深圳大学 | 应用于实时合乘的最优多会合点路径搜索方法及装置 |
Non-Patent Citations (5)
Title |
---|
ANDREW V.GOLDBERG等: "《2006 Proceedings of the Eighth Workshop on Algorithm Engineering and Experiments》", 31 October 2005 * |
DANIEL DELLING等: ""Customizable route planning"", 《INTERNATIONAL SYMPOSIUM ON EXPERIMENTAL ALGORITHMS. SPRINGER, BERLIN, HEIDELBERG, 2011》 * |
MARTIN HOLZER等: ""Engineering multi-level overlay graphs for shortest-path queries"", 《JOURNAL OF EXPERIMENTAL ALGORITHMICS》 * |
MENG BO-BO等: "《2010 International Conference on Intelligent Computation Technology and Automation》", 12 May 2010 * |
谭宝成等: ""A*路径规划算法的改进及实现"", 《西安工业大学学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112347216A (zh) * | 2020-11-06 | 2021-02-09 | 思创数码科技股份有限公司 | 一种基于动态路网的初始线路搜索方法 |
CN112347216B (zh) * | 2020-11-06 | 2023-10-31 | 思创数码科技股份有限公司 | 一种基于动态路网的初始线路搜索方法 |
CN113592599A (zh) * | 2021-08-02 | 2021-11-02 | 湖南蓝眼科技发展有限公司 | 基于定位信息的出租车拼车方法、电子设备及可读存储介质 |
CN113592599B (zh) * | 2021-08-02 | 2024-05-31 | 湖南蓝眼科技发展有限公司 | 基于定位信息的出租车拼车方法、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2017113569A1 (zh) | 2017-07-06 |
CN105678054B (zh) | 2020-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105678054A (zh) | 一种基于a星策略的最优多会合点路径搜索方法及装置 | |
CN104992044B (zh) | 应用于实时合乘的最优多会合点路径搜索方法及装置 | |
JP7054848B2 (ja) | マップ上の道路ネットワークにおける電子ルートナビゲーション方法 | |
CN106042963B (zh) | 电气化交通网络和电力系统的协同优化方法与系统 | |
CN107101645B (zh) | 一种路径规划方法及路径规划装置 | |
Stahl et al. | Pocket data mining: Towards collaborative data mining in mobile computing environments | |
CN111970044A (zh) | 基于拉格朗日松弛的卫星网络时隙分配与路由规划方法 | |
CN103822630B (zh) | 一种公共交通工具的换乘导航方法及系统 | |
Liao et al. | The covering Canadian traveller problem | |
Li et al. | A dynamic and scalable user-centric route planning algorithm based on polychromatic sets theory | |
De Nunzio et al. | Bi-objective eco-routing in large urban road networks | |
CN101114968A (zh) | 一种基于复杂网络商空间模型的路径搜索方法 | |
CN105262534A (zh) | 一种适用于卫星通信网络的路由方法和装置 | |
Nannicini et al. | Shortest paths on dynamic graphs | |
CN104093182A (zh) | 一种多层无线网络中基于场强获得多条可靠通信路径的方法 | |
CN101616085A (zh) | 一种约束路由生成方法和装置 | |
CN110135641A (zh) | 行驶方案优化方法、装置、智能驾驶优化系统 | |
Almobaideen et al. | Geographical route selection based on user public transportation and service preferences | |
Singh et al. | A hybrid heuristic algorithm for the Euclidean traveling salesman problem | |
JPH08240437A (ja) | 車両経路案内装置 | |
Gavalas et al. | New techniques for incremental data fusion in distributed sensor networks | |
Chenji et al. | Raven: Energy aware qos control for drns | |
Jeong et al. | A dissimilar alternative paths-search algorithm for navigation services: A heuristic approach | |
Gavalas et al. | A method for incremental data fusion in distributed sensor networks | |
US20230156381A1 (en) | Routing method for dynamic wdm optical networks with wavelength continuity constraints |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200630 Termination date: 20201230 |
|
CF01 | Termination of patent right due to non-payment of annual fee |