一种基于阻抗匹配的Dijkstra最优交通路径规划方法及系统与流程

文档序号:11130707阅读:477来源:国知局
一种基于阻抗匹配的Dijkstra最优交通路径规划方法及系统与制造工艺

本发明属于Dijkstra优化算法技术领域,具体涉及一种基于阻抗匹配的Dijkstra最优交通路径规划方法及系统。



背景技术:

传统的Dijkstra算法用于庞大的交通网路时,计算量十分巨大,时间复杂度很大,搜索效率很低。对于错综复杂的交通网路,利用Dijkstra算法计算出的最短路径未必是最优路径,由于道路质量、拥堵情况等导致交通道路存在一定的交通阻抗,进而导致该算法求取的最短路径缺少实际价值和意义;如何研究出一种能够解决上述问题的方法和系统成为了本领域技术人员亟待解决的问题。



技术实现要素:

有鉴于此,本发明实施例提供了一种基于阻抗匹配的Dijkstra最优交通路径规划方法及系统,用于解决传统Dijkstra算法求得的最短路径缺乏实际价值和意义的技术问题。

本发明提供了一种基于阻抗匹配的Dijkstra最优交通路径规划方法,包括步骤:

求取预设范围内所有有向弧段的集合;

通过融合交通阻抗的Dijkstra最优路径算法获取所有有向弧段的时间花费;

取从源点到终点中时间花费最短的有向弧段集合作为最终结果输出,即最优路径集合。

进一步的,所述通过融合交通阻抗的Dijkstra最优路径算法获取所有有向弧段的时间花费的步骤包括:

设S为已求得最优路径的弧段的集合,A为预设范围内城市道路网络中的路段集合;令初始最优路径时间花费k(r0)=0;将弧段r0放入到S中;令k(ri)=+∞,ri∈A-S;

计算以源点s为出发点的所有有向弧段时间花费,求出k(ri)=k(r0)+tsi,其中tsi表示从s到i的交通时间阻抗值,求出k(r*)=min{k(ri)},ri=<s,i>;则将弧r*放入S中;如此,得到首节点h(r*)=s,末节点f(r*)=i,最优路径节点序列Pi=(s,f(r*));

计算以弧段r*末点为出发点的所有有向弧段的时间花费;首先根据弧段r*和每一条要接入的弧段rj的走行方向进行转向方向的判定,并考虑交叉口延误;接着求出k(rj)=min{k(r*)+tij;k(rj)},其中tij表示从i到j的交通时间阻抗值;最后k(r*)=min{k(rj)},将弧段r*放入S中,得到本弧段前节点h(r*)=i,后节点f(r*)=j,最优路径节点序列Pj=Pi+f(r*);

判断A是否等于S,即判断预设范围内城市道路网络中的路段集合A是否都已包含在已求得最优路径的弧段的集合S中;

若A=S,则转入输出最终结果的步骤;若A≠S,则转入计算以弧段r*末点为出发点的所有有向弧段的时间花费的步骤再继续;

输出最终结果;若k(r*)<+∞,则k(r*)为最优路径的所需要花费的时间,Pj为最优路径集合。本方案中,S是以求出最优路径的有向弧段的集合,从源点开始,S中最初只包含源点s,花费时间为0,以源点s为中心向外层层扩展,逐步的将A中的有向弧段进行计算并加入S中,当从源点到终点所有的有向弧段都被求出最优路径时,从源点到终点的最优路径集合也就被求出来了;其中,最优路径的计算主要考虑在弧段和交叉口花费的时间,时间花费最短即为最优路径,而不是路径最短。

进一步的,所述交通时间阻抗值包括路段时间阻抗值和交叉路口时间阻抗值;

其中,交通时间阻抗值tij包括路段时间阻抗值yij和交叉路口时间阻抗值dij

所述yij在任意两路段i和j之间车辆行驶所需要的时间;dij表示交叉路口所花费的时间。当然,该tsi的求得与tij相类;很多时候,最短路径并不是最优路径,特别的,例如最短路径中存在禁止通行情况下,我们通过该最短路径到达终点需要花费的时间是无限大的,这时候就需要考虑交通时间阻抗值了,而交通时间阻抗值包括路段行驶所需花费的时间,以及通过交叉路径所需花费的时间。

进一步的,求得所述路段时间阻抗值yij的函数表达式称为:

式中

ta(0):路段a上的车辆在无阻碍的情况下行驶的平均时间;

ea:路段a的通行能力;

qa:路段a上的交通流量;

α、β:待标定的参数。在车辆在没有交通阻碍的情况下,行驶时间和行驶距离是成正比的关系,但在实际的交通道路中,车辆不可能无阻碍的行驶。所以道路上行驶时间与行驶距离不能简单的用正比函数来表示,其行驶时间与距离和流量之间的关系是一种负载的关系函数;本方案中,采用应用最广发的是BPR函数,该函数由美国道路局幵发;路段行驶需要的时间是寻求最优路径需要考虑的重要因素,而正确求得路段时间阻抗值需要通过在交通道路的各种观测数据的支持,如此才能更正确的求得时间花费。

进一步的,求得所述交叉路口时间阻抗值dij的函数表达式称为:

式中

d:延误阻抗;

Tc:信号灯周期长;

μ:绿信比;

q:进口车道实际到达的交通流量;

x:饱和度。虽然正常情况下,路段阻抗值是时间花费的主力,但是某些情况下,特别是对于大城市的道路网来说,交叉口密集,车辆在交叉路径耗费的时间也是不容忽视的,在交叉路口,信号灯周期长、绿信比和进口车道实际到达的交通流量等因素都是需要考虑的,如此求解最优路径的时间花费的计算才更为合理和实用。

进一步的,所述求取预设范围内所有有向弧段的集合的步骤包括:

利用已有的节点坐标信息,将预设范围设定为以源点和终点连线为对角线的矩形范围内。在通常情况下,源点和终点之间的最优路径基本囊括在以源点和终点连线为对角线的矩形范围内,本方案中,采用限制搜索区域,大大减少了遍历节点的数量,提高了运算时间。

进一步的,所述求取预设范围内所有有向弧段的集合的步骤包括:

利用已有的节点坐标信息,将搜索的区域设定为以源点和终点连线为对角线的矩形范围内,并在将该矩形范围扩大两个节点范围后,将其作为预设范围。在通常情况下,源点和终点之间的最优路径基本囊括在以源点和终点连线为对角线的矩形范围内,再考虑到有时需要从源点先绕行至矩形范围以外的节点路径,因而将矩形范围扩大两个节点范围作为预设范围,本方案中,采用限制搜索区域,大大减少了遍历节点的数量,提高了运算时间。

进一步的,在所述求取预设范围内所有有向弧段的集合的步骤之前还包括步骤:

建立交通网络模型,将整个路网抽象为“{节点集合}+{弧段集合}+{路权集合}”的有向赋权图;

其中,节点指道路的交叉口、道路尽头或道路属性改变的地方的点;而弧段则表示路网中相邻两个交叉口间的路段。将交通网络模型抽象为有向赋权图,有利于后续Dijkstra算法的计算,提高计算效率。

进一步的,所述有向赋权图使用邻接表作为存储方式得到道路网络图;

邻接表是表示节点之间的相邻关系的n个单向链表,由顺序表和链表构成;顺序表的元素表示路网节点,每个节点对应一个链表,链表中的元素表示与链表头中的节点元素相邻接的路网节点口。采用邻接表存储方式,节省大量的存储空间,并提高算法的搜索速度。

本发明还公开了一种基于阻抗匹配的Dijkstra最优交通路径规划系统,包括:

有向弧段求取模块,用于求取预设范围内所有有向弧段的集合;

时间花费计算模块,耦合于所述有向弧段求取模块,用于计算通过融合交通阻抗的Dijkstra最优路径算法获取所有有向弧段的时间花费;

最终结果输出模块,耦合于所述时间花费计算模块,用于输出最优路径集合,该最优路径集合取自源点到终点中时间花费最短的有向弧段集合。

进一步的,所述时间花费计算模块包括Dijkstra最优路径算法单元,耦合于所述Dijkstra最优路径算法单元的路段时间阻抗值计算单元和交叉路口时间阻抗值计算单元。很多时候,最短路径并不是最优路径,特别的,例如最短路径中存在禁止通行情况下,我们通过该最短路径到达终点需要花费的时间是无限大的,这时候就需要考虑交通时间阻抗值了,而交通时间阻抗值包括路段行驶所需花费的时间,以及通过交叉路径所需花费的时间;相对的,在计算时间花费时,则需要Dijkstra最优路径算法单元、路段时间阻抗值计算单元和交叉路口时间阻抗值计算单元共同配合计算。

采用上述技术方案,本发明至少可取得下述技术效果:本发明中,由于在寻求最优路径的过程中考虑了交通阻抗的因素,避免通过传统Dijkstra算法求得的最优路径无法通行而花费的延迟代价无限大的情况发生,而是确实的考虑了交通阻抗后真实可行的最优交通路径,降低交通出行代价,使最优交通路径计算更具有应用价值和意义;对于用户,可以减少出行能耗和时间花费,特别的可以解决出行者对于陌生城市路况情况的认知,而对于整个城市来说,则可以减少车辆能源消耗和污染,并且能够协调和控制城市车辆的路径规划,进而实现提高城市路况的使用效率,降低城市交通堵塞;本发明中,最优路径的考量主要考虑时间花费因素,当然,在实际情况中亦可将路径最短等因素作为最优路径的主要考量因素,特别是在交通阻抗几乎可以忽略的情况下;另外,该预设范围可以是整个道路网络,也可以是一个限制范围内的道路网络,根据实际需求不同而定。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本发明实施例的内容和这些附图获得其他的附图。

图1是本发明一种基于阻抗匹配的Dijkstra最优交通路径规划方法的流程图;

图2为某城区的局部道路网络图;

图3是传统的Dijkstra算法的计算结果示意图;

图4是基于交通阻抗的最优路径算法的计算结果;

图5是本发明一种基于阻抗匹配的Dijkstra最优交通路径规划系统的示意图。

具体实施方式

为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本发明实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。需要说明的是,本发明的实施例XXX为例对本发明的技术方案进行说明,但并非以此作为限制。本领域技术人员能够明了,本发明所提出的XXX除用于XXX之外,还可以广泛应用于其他相同或相近领域中,并取得类似的技术效果。

实施例一:

图1是本发明一种基于阻抗匹配的Dijkstra最优交通路径规划方法的流程图,参考图1,本发明公开了一种基于阻抗匹配的Dijkstra最优交通路径规划方法,包括:

S1:求取预设范围内所有有向弧段的集合;

S2:通过融合交通阻抗的Dijkstra最优路径算法获取所有有向弧段的时间花费;

S3:取从源点到终点中时间花费最短的有向弧段集合作为最终结果输出,即最优路径集合。

采用上述技术方案,本发明至少可取得下述技术效果:本发明中,由于在寻求最优路径的过程中考虑了交通阻抗的因素,避免通过传统Dijkstra算法求得的最优路径无法通行而花费的延迟代价无限大的情况发生,而是确实的考虑了交通阻抗后真实可行的最优交通路径,降低交通出行代价,使最优交通路径计算更具有应用价值和意义;对于用户,可以减少出行能耗和时间花费,特别的可以解决出行者对于陌生城市路况情况的认知,而对于整个城市来说,则可以减少车辆能源消耗和污染,并且能够协调和控制城市车辆的路径规划,进而实现提高城市路况的使用效率,降低城市交通堵塞;本发明中,最优路径的考量主要考虑时间花费因素,当然,在实际情况中亦可将路径最短等因素作为最优路径的主要考量因素,特别是在交通阻抗几乎可以忽略的情况下;另外,该预设范围可以是整个道路网络,也可以是一个限制范围内的道路网络,根据实际需求不同而定。

其中,交通阻抗是车辆运行在交通道路上时,根据运行的距离、时间、舒适度、拥堵情况、交通费用和人的舒适度等综合因素,需要考虑到即人、车、路、环境相互影响,对交通出行的阻力作用值。

本实施例优选的,通过融合交通阻抗的Dijkstra最优路径算法获取所有有向弧段的时间花费的步骤包括:

设S为已求得最优路径的弧段的集合,A为预设范围内城市道路网络中的路段集合;令初始最优路径时间花费k(r0)=0;将弧段r0放入到S中;令k(ri)=+∞,ri∈A-S;

计算以源点s为出发点的所有有向弧段时间花费,求出k(ri)=k(r0)+tsi,其中tsi表示从s到i的交通时间阻抗值,求出k(r*)=min{k(ri)},ri=<s,i>;则将弧r*放入S中;如此,得到首节点h(r*)=s,末节点f(r*)=i,最优路径节点序列Pi=(s,f(r*));

计算以弧段r*末点为出发点的所有有向弧段的时间花费;首先根据弧段r*和每一条要接入的弧段rj的走行方向进行转向方向的判定,并考虑交叉口延误;接着求出k(rj)=min{k(r*)+tij;k(rj)},其中tij表示从i到j的交通时间阻抗值;最后k(r*)=min{k(rj)},将弧段r*放入S中,得到本弧段前节点h(r*)=i,后节点f(r*)=j,最优路径节点序列Pj=Pi+f(r*);

判断A是否等于S,即判断预设范围内城市道路网络中的路段集合A是否都已包含在已求得最优路径的弧段的集合S中;

若A=S,则转入输出最终结果的步骤;若A≠S,则转入计算以弧段r*末点为出发点的所有有向弧段的时间花费的步骤再继续;

输出最终结果;若k(r*)<+∞,则k(r*)为最优路径的所需要花费的时间,Pj为最优路径集合。本方案中,S是以求出最优路径的有向弧段的集合,从源点开始,S中最初只包含源点s,花费时间为0,以源点s为中心向外层层扩展,逐步的将A中的有向弧段进行计算并加入S中,当从源点到终点所有的有向弧段都被求出最优路径时,从源点到终点的最优路径集合也就被求出来了;其中,最优路径的计算主要考虑在弧段和交叉口花费的时间,时间花费最短即为最优路径,而不是路径最短。

本实施例优选的,交通时间阻抗值包括路段时间阻抗值和交叉路口时间阻抗值;

其中,交通时间阻抗值tij包括路段时间阻抗值yij和交叉路口时间阻抗值dij;yij在任意两路段i和j之间车辆行驶所需要的时间;dij表示交叉路口所花费的时间。当然,该tsi的求得与tij相类;很多时候,最短路径并不是最优路径,特别的,例如最短路径中存在禁止通行情况下,我们通过该最短路径到达终点需要花费的时间是无限大的,这时候就需要考虑交通时间阻抗值了,而交通时间阻抗值,特别是城市交通系统的交通阻抗主要分为两类,包括路段行驶所需花费的时间,以及通过交叉路径所需花费的时间。

本实施例优选的,求得路段时间阻抗值yij的函数表达式称为:

式中

ta(0):路段a上的车辆在无阻碍的情况下行驶的平均时间;

ea:路段a的通行能力;

qa:路段a上的交通流量;

α、β:待标定的参数。在车辆在没有交通阻碍的情况下,行驶时间和行驶距离是成正比的关系,但在实际的交通道路中,车辆不可能无阻碍的行驶。所以道路上行驶时间与行驶距离不能简单的用正比函数来表示,其行驶时间与距离和流量之间的关系是一种负载的关系函数;本方案中,采用应用最广发的是BPR函数,该函数由美国道路局幵发;路段行驶需要的时间是寻求最优路径需要考虑的重要因素,而正确求得路段时间阻抗值需要。

本实施例优选的,求得交叉路口时间阻抗值dij的函数表达式称为:

式中

d:延误阻抗;

Tc:信号灯周期长;

μ:绿信比;

q:进口车道实际到达的交通流量;

x:饱和度。虽然正常情况下,路段阻抗值是时间花费的主力,但是某些情况下,特别是对于大城市的道路网来说,交叉口密集,车辆在交叉路径耗费的时间也是不容忽视的,在交叉路口,信号灯周期长、绿信比和进口车道实际到达的交通流量等因素都是需要考虑的,如此求解最优路径的时间花费的计算才更为合理和实用。

本实施例优选的,求取预设范围内所有有向弧段的集合的步骤包括:

利用已有的节点坐标信息,将预设范围设定为以源点和终点连线为对角线的矩形范围内。在通常情况下,源点和终点之间的最优路径基本囊括在以源点和终点连线为对角线的矩形范围内,本方案中,采用限制搜索区域,大大减少了遍历节点的数量,提高了运算时间。

本实施例优选的,求取预设范围内所有有向弧段的集合的步骤包括:

利用已有的节点坐标信息,将搜索的区域设定为以源点和终点连线为对角线的矩形范围内,并在将该矩形范围扩大两个节点范围后,将其作为预设范围。在通常情况下,源点和终点之间的最优路径基本囊括在以源点和终点连线为对角线的矩形范围内,再考虑到有时需要从源点先绕行至矩形范围以外的节点路径,因而将矩形范围扩大两个节点范围作为预设范围,本方案中,采用限制搜索区域,大大减少了遍历节点的数量,提高了运算时间。

本实施例优选的,在求取预设范围内所有有向弧段的集合的步骤之前还包括步骤:

建立交通网络模型,将整个路网抽象为“{节点集合}+{弧段集合}+{路权集合}”的有向赋权图;

其中,节点指道路的交叉口、道路尽头或道路属性改变的地方的点;而弧段则表示路网中相邻两个交叉口间的路段。将交通网络模型抽象为有向赋权图,有利于后续Dijkstra算法的计算,提高计算效率。

本实施例优选的,有向赋权图使用邻接表作为存储方式得到道路网络图;

邻接表是表示节点之间的相邻关系的n个单向链表,由顺序表和链表构成;顺序表的元素表示路网节点,每个节点对应一个链表,链表中的元素表示与链表头中的节点元素相邻接的路网节点口。采用邻接表存储方式,节省大量的存储空间,并提高算法的搜索速度。

为了更好地解释本发明的规划方法,下面展示一个最优路径算法的实例

图2为某城区的局部道路网络图,路段均为双向路段,考虑到实际交通路况,将车辆在路段上的行驶时间标注于图中弧段的旁边,在各交叉口的右转、直行和左转平均延误分别为0、30s、60s。路口6是禁止从西向东行驶的车辆左转弯。假设某一车辆车速30公里/小时,1-3道路长度为1.5公里,每段道路延误时间具体如图2,应用基于阻抗的Dijkstra算法,计算从交叉口1和交叉口9之间的最优路径。

图3是传统的Dijkstra算法的计算结果示意图,图4是基于交通阻抗的最优路径算法的计算结果;

如表1,利用传统的Dijkstra算法获得的最优路径(如图3中粗实线所示)为1-3-6-7-9,由于路口6为禁止左转,故所需要花费的延误代价为无限大。利用融合交通阻抗的dijkstra最优路径算法,获得的最优路径(如图4中粗实线所示)为1-3-5-8-9。所需要花费的延误代价为16min,这才是真实可行的最优路径。

表1:传统的Dijistra算法与融合交通阻抗的Dijkstra算法的对比

从以上分析可以看出,改进的Dijkstra算法是采用数学算法来解决交通路网中最优路径的问题,对交通网络结构本身没有进行任何修改,不但减少了工作量,而且清楚地表示出交通网络的连通性特征,有效地描述道路网络中的交叉口转向延误和限制,体现了城市道路交通的方向性及交叉口延误,从而更有效找到真实可行的城市最优交通路径。

实施例二:

图2是本发明一种基于阻抗匹配的Dijkstra最优交通路径规划系统的示意图,本发明的系统适用了本发明公开的最优交通路径规划方法,参考图2可知,该系统,包括:

有向弧段求取模块10,用于求取预设范围内所有有向弧段的集合;

时间花费计算模块20,耦合于有向弧段求取模块10,用于计算通过融合交通阻抗的Dijkstra最优路径算法获取所有有向弧段的时间花费;

最终结果输出模块30,耦合于时间花费计算模块30,用于输出最优路径集合,该最优路径集合取自源点到终点中时间花费最短的有向弧段集合。

采用上述技术方案,本发明至少可取得下述技术效果:本发明中,由于在通过时间花费模块寻求最优路径的过程中考虑了交通阻抗的因素,避免通过传统Dijkstra算法求得的最优路径无法通行而花费的延迟代价无限大的情况发生,而是确实的考虑了交通阻抗后真实可行的最优交通路径,降低交通出行代价,使最优交通路径计算更具有应用价值和意义;对于用户,可以减少出行能耗和时间花费,特别的可以解决出行者对于陌生城市路况情况的认知,而对于整个城市来说,则可以减少车辆能源消耗和污染,并且能够协调和控制城市车辆的路径规划,进而实现提高城市路况的使用效率,降低城市交通堵塞;本发明中,最优路径的考量主要考虑时间花费因素,当然,在实际情况中亦可将路径最短等因素作为最优路径的主要考量因素,特别是在交通阻抗几乎可以忽略的情况下;另外,该预设范围可以是整个道路网络,也可以是一个限制范围内的道路网络,根据实际需求不同而定。

本实施例优选的,时间花费计算模块20包括Dijkstra最优路径算法单元21,耦合于Dijkstra最优路径算法单元21的路段时间阻抗值计算单元22和交叉路口时间阻抗值计算单元23。很多时候,最短路径并不是最优路径,特别的,例如最短路径中存在禁止通行情况下,我们通过该最短路径到达终点需要花费的时间是无限大的,这时候就需要考虑交通时间阻抗值了,而交通时间阻抗值包括路段行驶所需花费的时间,以及通过交叉路径所需花费的时间;相对的,在计算时间花费时,则需要Dijkstra最优路径算法单元、路段时间阻抗值计算单元和交叉路口时间阻抗值计算单元共同配合计算。

以上实施例提供的技术方案中的全部或部分内容可以通过软件编程或专用硬件设备实现,其中软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、光盘或软盘;专用硬件设备可以是ASIC、FPGA、SoC、或具有相应电路的IP Core。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1