【技术实现步骤摘要】
一种城市环境下面向多类型服务需求的路径规划方法
[0001]本专利技术涉及城市计算及其应用领域,尤其涉及一种城市环境下面向多类型服务需求的路径规划方法。
技术介绍
[0002]随着城市化进程快速推进,城市环境愈发复杂,基于位置的服务需求激增。人们出行时,通常需要按顺序享受多种类型的服务。例如,用户从起点出发,想要先去便利店,再去午餐店吃午饭,最后到达目的地。而在满足上述需求的条件下,用户往往还希望能够走一条最短的路径。
[0003]为了解决路径规划问题,许多服务商都提供了自己的寻路算法,用于解决途径多个指定地点的最短路寻路问题。然而,在城市环境中能够提供某种类型服务的地点有很多,而非只有一个具体的地点,因此现有的路径规划方法不能泛化为在起点终点间找到一条满足多类型服务需求的寻路算法。具体而言:以兴趣点(Point
‑
Of
‑
Interest,POI)表示用户对“多类型服务”的需求,在当前城市环境下,用户的出行需求是复杂的:用户需要按次序经过多种类型的POI,而并不关注具体是哪个PO ...
【技术保护点】
【技术特征摘要】
1.一种城市环境下面向多类型服务需求的路径规划方法,其特征在于,该方法包括以下步骤:步骤1.将城市建模成网格图G
g
(V,E),其中V代表将城市区域按同一大小划分成的网格集合,也就是G
g
中的节点,1≤i≤n,n=|V|;而表示网格图中的边:节点v
i
和v
j
在空间中东西相邻或南北相邻,若M中存在同时穿过v
i
和v
j
路段,就在G
g
中为v
i
和v
j
构建一条连接v
i
和v
j
的边,表示为(i,j)或e
ij
,其中每个路段(i,j)上都设置一个权重w∈R
+
,用于表示从v
i
到v
j
的出行成本,可视为路径长度;步骤2.输入用户的查询,即用户的查询中包含起点、终点和用户需要按顺序途径的POI类型列表R={p1,p2,...,p
|R|
},表示用户出行过程中需要经过的POI类型;步骤3.执行POI需求优先的反向标记搜索,反向标记搜索时,优先考虑当前路径能否按序满足用户的POI需求;步骤4.执行基于动态边界的正向搜索,正向搜索过程中复用反向搜索过程中标记的节点信息,获得更精确的启发式成本函数,综合考虑当前正向搜索的子路径信息和反向标记的信息,优化路径距离,不断更新动态边界,提高搜索效率;步骤5.根据反向搜索、正向搜索的结果,将最优的结果返回给用户。2.根据权利要求1所述的一种城市环境下面向多类型服务需求的路径规划方法,其特征在于,步骤(3)中,执行POI需求优先的反向标记搜索,反向标记搜索时,优先考虑当前路径能否按序满足用户的POI需求,具体步骤为:步骤301.初始化需要用到的变量,用到的数据结构有:记录从节点v到终点t的潜在最优子路径属性的mark
v
(Idx
v
‑
sofar
,dist
t
→
v
),其中,Idx
v
‑
sofar
表示从t到v的路径中能够满足用户连续POI需求的最小下标,w表示路径的总长度,表示G
g
上一条从节点v到终点t的路径,e
i
.w表示路径e
i
的路径长度;frontier是一个以Idx
v
‑
sofar
为优先级的优先级队列;reverseMark是一个字典,保存v
→
mark
v
的映射关系;candidateList用于保存反向搜索过程中可能搜索到的潜在路径;路径后继信息goTo,保存在反向标记搜索过程找到的路径中,当前节点的后继节点,初始化中将上述变量全部置空,然后在frontier中放入终点t;步骤302.从frontier取出优先级最高的节点pre,若搜索到了起点s,那么将当前路径加入candidateList作为潜在路径;步骤303.针对当前节点pre的每个邻接点cur,根据mark
pre
计算cur可能变更的mark值,记为temp_mark
cur
,Idx
cur
‑
sofar
根据Idx
pre
‑
sofar
和cur上含有的POI类别来计算,值为路径能够满足用户连续POI需求的最小下标,步骤304.若cur从未被访问过,就在reverseMark中将mark
cur
更新为temp_mark
cur
,更新cur的后继节点goTo(cur)为pre,并将节点cur加入frontier中,否则回到步骤302;步骤305.重复步骤302~步骤304,直到frontier为空,反向标记过程结束后,reverseMark存储了每个节点到达t的子路径满足用户POI需...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。