[发明专利]基于网络权重变换与两阶段法的城市最短路径获取方法及应用在审

专利信息
申请号: 202211174408.1 申请日: 2022-09-26
公开(公告)号: CN115564103A 公开(公告)日: 2023-01-03
发明(设计)人: 丁建勋;陈语;杨贝诺;段睿;黄军鹏;王予悦;詹兴斌;龙建成 申请(专利权)人: 合肥工业大学
主分类号: G06Q10/04 分类号: G06Q10/04;G01C21/34;G01C21/20
代理公司: 安徽省合肥新安专利代理有限责任公司 34101 代理人: 陆丽莉;何梅生
地址: 230009 安*** 国省代码: 安徽;34
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 网络 权重 变换 阶段 城市 路径 获取 方法 应用
【权利要求书】:

1.一种基于网络权重变换与两阶段法的城市路网最短路径获取方法,其特征在于,是按如下步骤进行:

步骤1:定义参数及初始化:

获取实时路网数据得到城市道路的原始网络D=(V,A),其中,V表示交叉口集合,V={vi|i=1,2,…,N},vi表示第i个交叉口,其坐标为(xi,yi),N为所述城市路网D中的交叉口总数;

A表示交叉口之间的有向路段集合,且A={aij=(vi,vj)|i,j=1,2,…,N},其中,aij表示第i个交叉口vi与第j个交叉口vj之间的有向路段,若第i个交叉口vi到第j个交叉口vj之间存在有向路段aij,则第j个交叉口vj为第i个交叉口vi的邻居交叉口,令有向路段aij的距离权重为第i个交叉口vi到第j个交叉口vj之间的欧式距离wij,若第i个交叉口vi到第j个交叉口vj之间不存在有向路段aij,则令wij=+∞;

令vstart表示用户出发的起点交叉口,vend表示用户希望到达的终点交叉口,vk表示当前探索的交叉口,且vstart、vend、vk∈V;

根据有向路段aij的距离权重wij,得到新距离权重w′ij=wij-α(h(i)-h(j));其中,h(i)为第i个交叉口vi到终点交叉口vend的最短距离估计,h(j)为第j个交叉口vj到终点交叉口vend的最短距离估计;α代表第j个交叉口vi到终点交叉口vend的最短距离估计的模糊程度,α∈[0,1];从而得到更新距离权重后的新网络D′;

定义新网络D′中,第i个交叉口vi的当前最短距离g(i)为起点交叉口vstart到第i个交叉口vi之间的最短路径长度,若g(i)=+∞,则表示找到起点交叉口vstart到第i个交叉口vi的当前最短距离,反之则表示未找到起点交叉口vstart到第i个交叉口vi的当前最短距离;从而得到当前最短距离集合G={g(i)|i=1,2…N};将起点交叉口vstart到终点交叉口vend的当前最短距离g(end)作为最短距离上界

将起点交叉口vstart到达终点交叉口vend的路径中所经过的第i个交叉口vi的前一个交叉口记为前驱交叉口记为λ(i),从而得到前驱交叉口集合λ={λ(i)|i=1,2,…,N};

定义Qpriority用来存储迭代过程中优先探索的交叉口的队列;

定义Qinferior用来存储迭代过程中延后探索的交叉口的队列;

定义Qexplored用来存储迭代过程中已探索过的交叉口的队列;

步骤2:数据初始化与预处理

设定模糊度α为固定值;初始化λ=φ;初始化g(i)=+∞,i=1,2,3,…,N,初始化起点交叉口vstart的当前最短距离g(start)=0,当前最短距离上界初始化优先探索交叉口队列Qpriority={vstart},延后探索交叉口队列Qinferior=φ,已探索过的交叉口队列Qexplored=φ;

步骤3:寻找当前最短距离上界:

步骤3.1:判断是否获得初始解:

若起点交叉口vstart到终点交叉口vend的当前最短距离g(end)未更新,且优先探索交叉口队列Qpriority和延后探索交叉口队列Qinferior为空,转入步骤5;

若起点交叉口vstart到终点交叉口vend的当前最短距离g(end)未更新,且优先探索交叉口队列Qpriority或延后探索交叉口队列Qinferior非空,转入步骤3.2;

若起点交叉口vstart到终点交叉口vend的当前最短距离g(end)已更新,且优先探索交叉口队列Qpriority和延后探索交叉口队列Qinferior为空,转入步骤5;

若起点交叉口vstart到终点交叉口vend的当前最短距离g(end)已更新,且优先探索交叉口队列Qpriority为空,且延后探索交叉口队列Qinferior非空,转入步骤4.1;

步骤3.2:松弛操作:

步骤3.2.1:若Qpriority非空,则取出Qpriority中的队首元素vfirst,令当前探索节点vk为vfirst,更新Qpriority为Qpriority\{vfirst},“\”表示删除操作;

否则取出Qinferior中的队首元素vfirst,令当前探索节点vk为vfirst,更新Qinferior为Qinferior\{vfirst};

步骤3.2.2:遍历满足(vk,vi)∈A的邻居交叉口vi,若g(k)+w′ki<g(i),则更新第i个交叉口vi的当前最短距离g(i),将g(k)+w′ki赋值给g(i),设置第i个交叉口vi的前驱交叉口λ(i)为vk,并执行步骤3.2.3;否则,返回步骤3.2.2继续遍历,直到遍历完成后,执行步骤3.1;

步骤3.2.3:当h(k)-h(i)>0时,若则将第i个交叉口vi加入优先探索交叉口队列Qpriority的队尾,并将第i个交叉口vi加入已探索过交叉口队列Qexplored

若且vi∈Qexplored,将第i个交叉口vi加入优先探索交叉口队列Qpriority的队首;否则,返回步骤3.2.2继续遍历;

当h(k)-h(i)≤0时,若则将第i个交叉口vi加入延后探索交叉口队列Qinferior的队尾;若第i个交叉口将第i个交叉口vi加入已探索过交叉口队列Qexplored;否则,返回步骤3.2.2继续遍历;

其中,g(k)代表起点交叉口vstart到当前探索交叉口vk的当前最短距离,w′ki代表新网络D′中当前探索交叉口vk到第i个交叉口vi的距离权重;h(k)代表当前探索交叉口vk到终点交叉口vend的最短距离估计;

步骤4:寻找最短路径:

步骤4.1:重新初始化:

将延后探索交叉口队列Qinferior赋值给优先探索交叉口队列Qpriority,并初始化延后探索交叉口队列Qinferior=φ;

步骤4.2:判断是否得到最优解:

若优先探索交叉口队列Qpriority或延后探索交叉口队列Qinferior非空,则转入步骤4.3,否则转入步骤5;

步骤4.3:利用上界进行松弛操作:

步骤4.3.1:若Qpriority非空,则取出Qpriority中的队尾元素vlast,令当前探索节点vk为vlast,更新Qpriority为Qpriority\{vlast};

否则取出Qinferior中的队尾元素vlast,令当前探索节点vk为vlast,更新Qinferior为Qinferior\{vlast};

步骤4.3.2:遍历满足(vk,vi)∈A的邻居交叉口vi,若g(k)+w′ki<g(i),则更新第i个交叉口vi的当前最短距离g(i),将g(k)+w′ki赋值给g(i),设置第i个交叉口vi的前驱交叉口λ(i)为vk;若执行步骤4.3.3,否则返回步骤4.3.2,直到遍历完成后,执行步骤4.2;

步骤4.3.3:若且vi∈Qexplored,则将第i个交叉口vi加入优先探索交叉口队列Qpriority的队首;

若且则将第i个交叉口vi加入延后探索交叉口队列Qinferior的队首和已探索过队列Qexplored;否则,直接执行步骤4.3.4;

若vi∈(Qpriority∪Qinferior),返回步骤4.3.2继续遍历;

步骤4.3.4:若第i个交叉口vi是终点交叉口vend且则将g(end)赋值给上界并返回步骤4.3.2继续遍历,否则,直接执行步骤4.3.2;

步骤5:输出最优解:

若则表示不存在从起点交叉口vstart到达终点交叉口vend的路径;否则,将g(end)+αh(s)赋值给g(end),并输出从起点交叉口vstart到终点交叉口vend的最短距离g(end),并从vend开始通过λ(end)不断回溯至vstart,从而获得从起点交叉口节点vstart到终点交叉口节点vend的最短路径。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥工业大学,未经合肥工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202211174408.1/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top