System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种考虑实时路况的城市K条最短路径获取方法技术_技高网

一种考虑实时路况的城市K条最短路径获取方法技术

技术编号:40351561 阅读:9 留言:0更新日期:2024-02-09 14:35
本发明专利技术公开了一种考虑实时路况的城市K条最短路径获取方法,包括:1.由起始时刻路况信息构建城市路网;2.定义参数及初始化;3.搜索当前时间从起点交叉口节点到终点交叉口节点的第k条最短路径;4.搜索当前时间从起点交叉口节点到终点交叉口节点的第k+1条最短路径;5.依据实时路况,获取更新路况后的下一时间从起点交叉口节点到终点交叉口节点的K条最短路径。本发明专利技术能在提高计算效率的同时得到更加贴合实际交通状况的K条最优出行路径,从而保障社会交通的稳定高效运行。

【技术实现步骤摘要】

本专利技术属于城市路网的导航优化领域,具体的说是一种考虑实时路况的城市k条最短路径获取方法。


技术介绍

1、随着社会经济的发展,基于互联网的交通导航用户的使用量不断增加,越来越多的出行者希望能够根据自己的需求选择最优路径,使其能够尽量避免拥堵,顺利便捷地到达目的地,但城市交通状况日渐复杂,因此对于路径导航算法的要求也越来越高。

2、在保证求解效率和最优路径质量的基础上,提供k条最短路选择,是当今导航用户的现实需求之一。然而,现有的k最短路规划算法存在着以下不足:一是多次调用最短路径算法或者更新整个网络来计算偏离路径集,存在着大量的重复性计算,没有很好地利用之前计算的结果,从而导致在大规模网络中计算效率低下,造成了计算资源的浪费的同时,也不适用于实时性导航的理念,降低了城市交通的运行效率;二是很少与未来的实时路况建立更加明确的联系,致使导航结果未必贴近实际情况。


技术实现思路

1、本专利技术是为了解决上述现有技术存在的不足之处,提出一种考虑实时路况的城市k条最短路径获取方法,以期能在提高计算效率的同时得到更加贴合实际交通状况的k条最优出行路径,从而保障社会交通的稳定高效运行。

2、本专利技术为达到上述专利技术目的,采用如下技术方案:

3、本专利技术一种考虑实时路况的城市k条最短路径获取方法的特点在于,是按如下步骤进行:

4、步骤1:构建城市路网;

5、获取实时道路网络数据并得到城市路网g=(v,a,w),v表示交叉口节点集合,且v={v1,v2,v3,…,vi,…,vn},vi表示第i个交叉口节点,i=1,2,3,…,n,n为所述城市路网g中的交叉口节点总数,a表示交叉口节点之间的路段集合,且a={(vi,vj)|i,j=1,2,3,…,n},(vi,vj)表示第i个交叉口节点vi到第j个交叉口节点vj之间的有向路段,w表示交叉口节点之间路段的行车时间权重集合,w={w(vi,vj)|i,j=1,2,3,…,n},w(vi,vj)为有向路段(vi,vj)的行车时间权重,若第i个交叉口节点vi到第j个交叉口节点vj之间存在有向路段(vi,vj),则第k个交叉口节点vj为第i个交叉口节点vi的后继交叉口节点,记为第i个交叉口节点vi为第j个交叉口节点vj的前驱交叉口节点,记为且ωij>0,若第i个交叉口节点vi到第j个交叉口节点vj之间不存在有向路段(vi,vj),则令wij=+∞;令pred(vi)表示第i个交叉口节点vi的前驱交叉口节点集合,令succ(vi)表示第i个交叉口节点vi的后继交叉口节点集合;

6、步骤2:定义参数及初始化;

7、设置起点交叉口节点为vstart,终点交叉口节点为vend,且vstart,vend∈v;令k表示从起点交叉口节点vstart到终点交叉口节点vend的最短路径数量;令l(vi)表示从起点交叉口节点vstart到第i个交叉口节点vi的可行路径数量,且l(vi)≤k;

8、步骤2.1:定义可行路径的相关属性;

9、令gl(vi)表示从起点交叉口vstart到第i个交叉口节点vi的第l条可行路径的行车时间,且l≤l(vi);

10、令rhsl(vi)表示从起点交叉口vstart经过长度为的可行路径到达第i个交叉口节点vi的前驱交叉口节点后,再从前驱交叉口节点到第i个交叉口节点vi的总行车时间,其中,表示从起点交叉口vstart到前驱交叉口节点的第a条可行路径的行车时间,且表示从起点交叉口节点vstart到交叉口节点的可行路径数量,且当vi为起点交叉口节点,即vi=vstart时,令rhsl(vi)=0;

11、令keyl(vi)表示时间最小值,且keyl(vi)=min(gl(vi),rhsl(vi));其中,gl(vi)表示从起点交叉口vstart到第i个交叉口节点vi的第l条可行路径的行车时间;

12、令rl(vi)表示从起点交叉口vstart到第i个交叉口节点vi的第l条可行路径中,所包含的从起点交叉口vstart到第i个交叉口节点vi的前驱交叉口节点的第a条可行路径的相关属性;

13、令d(vi)表示从起点交叉口节点vstart到第i个交叉口节点vi的所有可行路径的属性标签集合,且d(vi)中的属性标签数量为l(vi),且l(vi)≤k;

14、令d(vi)中的任意第l个属性标签dl(vi)表示从起点交叉口节点vstart到第i个交叉口节点vi的第l条可行路径的相关属性集合,且dl(vi)=(gl(vi),rhsl(vi),keyl(vi),rl(vi)),l=1,2,...,l(vi);

15、定义d′(vi)为任意第i个交叉口节点vi的所有属性标签按keyl(vi)升序排列后的集合;

16、令d′(vi)中的任意第k个属性标签d′k(vi)表示从起点交叉口节点vstart到第i个交叉口节点vi的第k条最短路的相关属性,即d′k(vi)=(gk(vi),rhsk(vi),keyk(vi),rk(vi)),k=1,2,...,l(vi);其中,gk(vi)表示从起点交叉口vstart到第i个交叉口节点vi的第k条最短路的行车时间;

17、rhsk(vi)表示从起点交叉口vstart经过长度为的路径到达第i个交叉口节点vi的前驱交叉口节点后,再从前驱交叉口节点到第i个交叉口节点vi的总行车时间,表示从起点交叉口vstart到前驱交叉口节点的第b条最短路的行车时间,且表示从起点交叉口节点vstart到交叉口节点的可行路径数量,且当vi为起点交叉口节点,即vi=vstart时,令rhsk(vi)=0;

18、keyk(vi)表示时间最小值,且keyk(vi)=min(gk(vi),rhsk(vi));其中,gk(vi)表示从起点交叉口vstart到第i个交叉口节点vi的第k条最短路的行车时间;

19、rk(vi)表示从起点交叉口vstart到第i个交叉口节点vi的第k条最短路中,所包含的从起点交叉口vstart到第i个交叉口节点vi的前驱交叉口节点的第b条最短路的相关属性;

20、定义为第k条最短路的待搜索标签集合;

21、定义t0为单位时间步;

22、步骤2.2:初始化可行路径的相关属性;

23、初始化起点交叉口节点vstart的标签集合d(vstart)中的所有标签为其余任意第i个交叉口节点vi的标签集合d(vi)中所有标签均初始化为

24、将起点交叉口节点vstart的有序标签d′1(vstart)加入第k条最短路的待搜索标签集合

25、定义并初始化计时器为tstart;

26、步骤3:分层计算单位时间步内的k条最短路;

27、步骤3.1:计算第k条最短路;初始化k=1;

28、步骤3.1.1:将待搜索标签集合中时间最小值最小的标签所对应的交叉口节点记为vt,本文档来自技高网...

【技术保护点】

1.一种考虑实时路况的城市K条最短路径获取方法,其特征在于,是按如下步骤进行:

2.一种电子设备,包括存储器以及处理器,其特征在于,所述存储器用于存储支持处理器执行权利要求1所述城市K条最短路径获取方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。

3.一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1所述城市K条最短路径获取方法的步骤。

【技术特征摘要】

1.一种考虑实时路况的城市k条最短路径获取方法,其特征在于,是按如下步骤进行:

2.一种电子设备,包括存储器以及处理器,其特征在于,所述存储器用于存储支持处理器执行权利要求1所述城市k条最短路径获取方法的程序,...

【专利技术属性】
技术研发人员:丁建勋单云晗段睿杨贝诺陈语黄军鹏王予悦王华龙建成
申请(专利权)人:合肥工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1