[发明专利]基于网络权重变换与两阶段法的城市最短路径获取方法及应用在审
申请号: | 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的最短路径。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥工业大学,未经合肥工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211174408.1/1.html,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理