[摘 要]在交通路网中,寻任意两点间最优路径是出行导航的基本功能。除了最优路径算法自身性能外,道路权重的选择也直接决定了寻径结果的优劣。现有最优路径算法通常以通行能力为道路权重,其可能导致不合理的寻径结果,同时也不具有全局负载均衡的能力。因此本文以Dijkstra算法为例,引入可达性概念作为道路权重,从而弥补以通行能力为道路权重的缺陷。
[关键词]Dijkstra算法;道路权重;通行能力;可达性
doi:10.3969/j.issn.1673-0194.2009.15.017
1 引 言
在交通路网中,两点间最优路径算法的优劣主要受到两个因素的影响,即所使用的通用最短路径算法和所选择的道路权重。通用最短路径算法是最优路径选择的搜索工具,决定了如何在庞大的路网数据库中到最优(或者最满意)的可行路径。道路权重则是最优路径选择的搜索指标,它的标定决定了通用最短路径算法搜索的依据。所谓最优路径选择就是使用通用
最短路径算法搜索道路权重最高(或者局部最高)的可行路径。因此,通用最短路径的选择直接影响到最优路径选择的效率和优化度,而道路权重直接影响到最优路径选择的合理性。
其中,研究人员普遍关注所选用的通用最短路径算法。为解决这个问题,现在已有多种优秀的最优路径算法,如Dijkstra算法、Floyd算法、A *算法等。但是,研究人员常常忽视了道路权重问题,提供给出行者的道路权重选择没有贴近出行者的实际出行习惯,并不能真正满足出行者的需求。 在现有的静态驾驶导航和出行者信息系统中,普遍选择通行能力为道路权重。所谓通行能力是指两点间行驶路径的平均通行流量,如果出行者所行驶的道路平均通行流量最大,就意味着出行者能够以最短的时间到达终点。这是一种以时耗为优先衡量标准的最优路径算法,贴近于城市出行者的出行特点。但是以通行能力为道路权重所得出的最优路径有以下缺陷:
(1)忽视出行者能耗(出行距离远近)损失;
(2)缺乏城市路网全局负载均衡能力。
因此,本文以较为经典的小电影qvod播放Dijkstra算法为通用最短路径算法,解析以通行能力为道路权重的最优路径算法产生以上两个缺陷的原因,并进一步提出道路权重的选择应考虑城市路网的可达性,在算法中引入路网可达性的概念,从而使算法兼顾出行者的能耗和时耗,同时能够对城市路网起到全局负载均衡的作用。
2 Dijkstra算法简介
Dijkstra算法是由E.W. Dijkstra于1959年提出的一个最短路径算法,也是目前公认的求解最短路径问题的最经典的算法。其基本思想是用逐点增长的方法构造一棵路径树,从而得到从该树的根节点(即起点)到其他所有节点的最优路径。其基本原理是:[1]
(1)从起点出发,遍历所有直接连通节点,将其中权重最大的节点作为中间节点;
(2)扩展出该中间节点的所有后续节点,并遍历该中间节点的所有直接连通节点,并修改其他节点在加入该中间节点后距离起点的距离;
(3)选择出权重最大的节点,将其加为中间节点,并修改其他的中间节点;
(4)循环执行第(2)、(3)步,直至到终点。
由此可以得到按权重递增次序排列的从起点出发经过各中间节点到达终点的最优路径序列。
从以上描述可以看到,Dijkstra算法首先寻道路权重最大的节点,以后中间节点的道路权重顺次递减。那么如果以通行能力为道路权重,该算法会首先到起点周边通行能力最高的道路,然后顺次扩展。
3 选择通行能力为道路权重
本节以Dijkstra算法为通用最短路径算法,解释在最优路径算法中选择通行能力为道路权重时的两个缺陷。
3.1 忽视出行者能耗损失
本文利用某应用以通行能力为道路权重的Dijkstra算法的寻径软件,演示该算法在面对同一小区内距离较近的两点时,所得出的最优路径。
图1 软件对同一小区内近距离两点之间所得出的最优路径
从图1中可以看到,某小区是一正方形区域,四角分别为A、B、C、D四个点。小区四边有4条道路:其中AD和DC是主要道路,通行能力较强,但绕行距离较远;AB和BC路段则是连接路网不同小区的次要道路,通行能力较弱,但很明显起点和终点都是在一条AB线路附近。从图中起点到终点,该软件给出了走AD→DC→CB的最优路径,很明显该最优路线并不合理。
Dijkstra算法首先将起点绑定到最近的AB道路上,同时在绑定点的直接连接点中搜索与起点间通行能力最高的节点,自然会把AD线路上的节点作为中间节点,并沿着AD线路扩展搜索,因此最终会沿着DC→CB线路到终点。图2展示了该算法的遍历点范围。在图2中可以看到,该算法虽然在起点周围遍历了AB线上的点,但是最终还是选择了通行能力更高的AD线上的点。
通过这个Dijkstra算法实例可以看到,以通行能力为道路权重的最优路径算法在对近距离的两点寻径时会“舍近求远”。即选择通行能力为道路权重时,算法单纯以时耗作为出行者选择的要求,忽视了出行者能耗的需求,给出行者规划出一条行驶速度快但是绕远的路途。
图2 以通行能力为道路权重的搜索范围
3.2 缺乏城市路网全局负载均衡能力
一个城市的道路网络由不同等级的道路组成,不同等级的道路的通行能力和功能要求均不相同。只有整个城市的交通负载根据出行者目的的不同,均衡分布在不同等级的道路,这个城市的路网才能得到最有效的利用,道路交通才能达到均衡的状态。很多城市交通拥堵问题都是由于城市路网负载不均衡引起的。而导航系统和出行者信息系统作为城市交通诱导系统的一部分,应当起到均衡城市路网负载的作用。
我国现行的道路功能等级分类方法采用国标《城市道路交通规划设计规范》提出的道路分类法,将城市道路分为城市快速路、主干道、次干道和支路。城市交通网络中,机动车总要通过选择不同层次的道路来完成一次出行。理想状况下,城市网络中各等级道路的使用情况如图3所示。短距离出行应优先采用次干路和支路,长距离出行应选择主干路和快速路。即次干路和支路的主要功能是为短距离出行和中长距离出行集散服务;主干路和次干路的主要功能是快速输送中长距离客货流。[2]
而以通行能力为道路权重的最优路径算法忽视了城市路网层次机构,偏重于出行者需求的局部最优化,没有考虑到城市路网的全局负载均衡。选择通行能力为道路权重没有考虑到
起始点和目的地之间的距离,无论出行者行驶距离或远或近,均尽量在通行能力大的道路上行驶,从而加重了原本已经拥堵的城市快速路和主干线的负担,而次干道和支路则是利用率不足。这样的导航系统和出行者信息系统也失去了其平衡城市交通路网负载的意义。[3]
4 城市路网可达性
综合上述缺陷,可看到其主要原因是以通行能力为道路权重忽略了能耗和时耗的综合指标,从而出现了“舍近求远”和“局部优化、全局失衡”的现象。为了弥补这些缺陷,在此引入一个新的综合指标——可达性。
Hansen于1959年首次提出可达性的概念[4],将其定义为交通网络中各节点间相互作用机会的大小,并利用重力方法研究了可达性与城市土地利用之间的关系。之后,城市规划、交通地理等领域的专家相继对此进行了研究,并给出了不同的定义。可达性这一概念所要表述的是路网中任意点之间通达的可能性及难易程度,是基于能耗和时耗的综合评价指标,这两点又与路网的机动性和绕行指数相关。
4.1 机动性
机动性反映的是交通的快捷程度,它要求城市道路体系要保障一定的速度服务水平,用行程速度来量度。路网所提供的服务车速越高,表明它的机动性越好,在一定的时间内所行驶的距离越长,可达范围愈大。
V j=S / t(1)
式中,V j为行程速度(km/h),是机动性的度量,S为行驶道路长度(km),VAGUAt楸叶泡桐为行程时间(h)。
4.2 绕行指数
绕行指数是指两点之间的运行线路长度与其间的直线距离之比,它反映的是两点之间运行线路的绕行程度。通达点之间的到达是采用某种交通方式以一定的行程速度在可行线路上完成的,该线路是否合理,是否为最短路径,只有用两点间的直线距离来比较衡量,绕行指数越小,两点之间越接近于直线连接,损耗越小。
=S /D(2)
歌剧的魔咒
式中,为绕行指数,反映路网的直达性;S为两点间的运行线路长度(km);D为两点之间的直线距离(km)。
4.3 可达性
可达性反映的是路网的交通可达能力,它应当定义为单位时间内可实现通达的直线距离,在数值上等于行程速度与绕行指数之比。
C k=D / t=V j/(3)
式中,C k为可达能力(km/h),是可达性的量度。
上述可达性定义把道路交通的固定设施和移动工具有机地结合起来,在反映可达能力的同时也道出了路网的机动运行效率和结构的合理性。例如从60 (km/h)/1.2 = 50 (km/h)中,可以得到的结论是50 km的距离需要1h的路程,车速利用率中等但会有10 km的绕行,而50 (km/h) /1.0=50 (km/h)中的速度虽然较低,但却具有相同的可达能力,且又为直线最短路径,能耗要小于前者。这个定义是把时耗和能耗统一起来的可达性表达方式,是已有可达性概念的本质反映,是较为理想的路网可达性定义。[5]
5 选择可达性为道路权重
可达性概念也可以作为道路权重的选择之一。如果将道路权重换为可达性定义,则一个节点距离起点的道路权重取决于该点与起点之间的直线距离与时间之比,也是平均速度与绕行指数之比。
如图4所示,其中蓝E点和红F点为两个中间点。很明显,AF的绕行指数接近为1,而ADCE的绕行指数接近为3,那么只要ADCE的平均速度不大AF的3倍,那么AF的可达性比ADCE的可达性要大,所以算法最终会选择F点作为中间节点,而不是ADCE节点。
汉语语音图4 两个中间节点的可达性道路权重比较
6 总 结
从以上描述中可以看到,以可达性为道路权重的Dijkstra算法通过引用时耗和能耗的综合指标——可达性,规避了通行能力为道路权重的最优道路不合理缺陷。
以可达性为道路权重也考虑到了出行者的行驶距离。如果出行者的出行距离较远(如城间
出行),起讫点之间直线距离长且可选择路径少,绕行指数会比较低,从而算法会更多地考虑出行者时耗需求,将出行者诱导在通行能力更高的道路上;如果出行者的出行距离较短,起讫点之间的直线距离短且可选择路径多,绕行指数会比较高,从而算法会均衡出行者时耗和能耗的需求,将出行者诱导在通行能力较低的道路上。因此以可达性为道路权重也起到了一定的均衡城市路网全局负荷的作用。
道路权重是最优路径算法的搜索指标,它决定了最短路径搜索的趋势方向,与所选用通用最短路径算法并没有直接的联系。可达性对于其他通用最短路径算法也具有一定的适用性。但是笔者尚没有验证在其他算法中也能实现相当的效果。
虽然以可达性为道路权重具有以上优点,但是在实验中发现,其没有完全规避掉高通行能力的问题,它仍然会搜索大量的高通行能力中间点,因此其效率仍较低,因此可以考虑设计一个简单比例系数,以减小通行能力在道路权重中的比例,从而减小算法的搜索范围,提高算法的搜索效率。
主要参考文献
[1] 杨兆升. 城市交通流诱导系统[M]. 默多克北京:中国铁道出版社,2004.