第一作者:周玮腾(1988—),男,湖南郴州人,讲师,博士. 研究方向为城市轨道交通运输规划与管理.email:zhouwt@bjtu.edu.cn
为求解时变路径搜索问题,设计并实现了城市轨道交通大规模网络条件下的时变 k短路径搜索算法.算法可分为两部分:首先基于深度优先的边删除法搜索网络的静态 k短路径,然后将静态 k短路径按照列车到发时刻进行扩展并排序获得时变 k短路径.将算法应用于北京地铁网络路径搜索实例中,通过与既有算法对比,证明本文算法具有较优的效率,并能够获取基于列车时刻表的有效的时变 k短路径集,为城市轨道交通网络路径搜索和管理提供辅助技术支持.
A new method on searching the dynamic and temporal k-shortest paths in the urban rail transit network is put forward in this paper, which can be used to solved the dynamic path searching problem in huge scale network. The algorithm can be divided into two part: firstly, the static k-shortest path of the network can be searched based on depth-first deletion algorithm; then the temporal path can be obtained and sorted by the train arrival and departure time expanding in the schedule. The effectiveness of the algorithm proposed in this paper is verified in comparison with the existing algorithm through the case study in Beijing subway network, and the temporal k-shortest path in the network based on the train schedule can be obtained accurately, which demonstrates that it could provide decision support for the operation and travel guidance of path management in urban rail transit network.
我国部分大城市已经进入大规模的城市轨道交通网络化运营时期[1].在网络化运营时期, 一些原本在单线运营条件下较为明确和简单的问题逐渐显得模糊和复杂化, 如OD车站间的有效路径搜索问题.随着城市轨道交通网络规模增大和网络化程度提高, 该问题的求解复杂程度也相应增加.对于轨道交通出行服务而言, 网络中的OD车站间的有效路径是进行乘客出行路径诱导的前提; 对于轨道交通运营管理而言, 轨道交通网络的客流动态预测和清分结算是以每个OD对间的有效路径为基础计算清分比例[2].因此, 通过网络路径搜索获取不同OD车站之间的有效路径具有重要的理论和现实意义.
网络路径搜索是获取网络中有效路径的基本方法, 属于图论研究范畴, 一直是国内外广泛研究的方向.在最初应用于大规模交通网络的最短路径搜索算法中, 分别形成了Dijkstra[3]和Floyd[4]等常用算法.Dijkstra算法用于解决非负权网络中单源顶点到其他顶点的最短路径问题, 是目前应用最为广泛的搜索算法, 并分别形成了DKA(Dijkstra’ s algorithm implemented with approximate buckets)和DKD(Dijkstra’ s algorithm implemented with double buckets)等改进的D算法[5].然而在网络路径搜索中, 往往不仅需要获得最短路径, 而且需得到次短路径、k短路径等路径或路径集, 进而衍生了k短路径搜索问题.k短路径搜索问题和算法最早是由Hoffman等[6]提出, 实际上最短路径问题是k短路径搜索的特殊情况(k=1), 而k≥ 2条件下的k短路径搜索问题受到更多学者的研究和关注.在最短路径搜索算法的基础上, Yen[7]提出了利用边删除算法获得最小支撑树的子图, 通过求解子图最短路径获得图中无环k短路径问题, 这也是迄今为止影响最深的k短路径搜索算法.经过多年的发展, 在边删除法的基础上, 分别形成了更多的优化和改进算法[8, 9].在城市轨道交通网络的路径搜索方面, 徐瑞华等[10]在保证路径完备性的基础上, 通过删除法获得轨道交通网络上任意两点不重复的k条路径; 四兵锋等[11]提出了基于深度优先的遍历算法以获取有效路径搜索.这两类算法因其高效的运算能力, 成为目前比较常用的轨道交通网络k短路径搜索算法.但是, 算法仅考虑了静态路网拓扑结构下的路径搜索问题, 缺乏网络中列车动态运行对于路径的可达时间依赖约束.在实时客流分配时需设计更为高效的方法以获取轨道交通网络中的动态路径, 目前对于轨道交通网络的动态k短路径搜索研究较少, 在既有的研究中多以改进的公交网络的动态时变路径搜索算法为主, 并将该类路径搜索问题归纳为时间依赖网络(time-dependent network)的路径搜索问题[12], 如Xu等[13]提出的基于时刻表的公交网络k短路径搜索方法, 采用车辆到达时间列表排序进行路径遍历, 以保证搜索的网络时空路径的动态有效性.
针对当前城市轨道交通网络路径搜索算法以静态为主, 未考虑列车运行时刻表和换乘时间对网络动态时变路径的约束这一问题, 本文作者面向城市轨道交通网络客流动态路径诱导和客流分布管理的实际应用需求, 研究并提出任意时刻标度下的基于列车时刻表约束的城市轨道交通时变k短路径搜索问题和解决策略.结合列车运行图扩展时空网络, 通过双层拓扑子图的深度优先的分支边删除算法, 采用时刻表扩展策略, 设计实现有效而实用的城市轨道交通网络下的k短时变路径的搜索算法.
时变路径搜索的前提在于进行时变网络建模.考虑到城市轨道交通网络是由物理拓扑网络和列车运行网络嵌套的复合网络, 因此结合给定列车时刻表构建城市轨道交通时变网络拓扑G(N, A, L, T), 其中N={n1, n2, n3, ...}为网络上的节点, 表示路网上的车站; A={a1, a2, a3, …}为网络上所有连接的边和弧, 边表示路网上连接车站的区间, 弧表示连接换乘站的通道; L={l1, l2, l3, …}为网络上运营的轨道交通线路; T={t1, t2, t3, …}表示网络上列车的到发时刻集合.该网络拓扑结构包括以下两方面的定义.
1)物理网络建模层面:将城市轨道交通网络拓扑描述为加权有向连接图, 如图1所示, A站和B站依据所在的线路建模为2个具有方向特征的“ 虚拟节点” , I线、II线和III线路的同方向轨道区间建模为节点间相互连接的边, 对于A和B换乘站, 节点间的相互换乘关系则通过换乘弧进行连接, 如图中连接虚线所示.在物理拓扑网络上OD对间的静态路径是由相邻节点构成的连接边序列.
进一步分析物理网络模型, 由于城市轨道交通网络中的大部分节点连接度为2, 在路径搜索时遍历多个节点会降低搜索效率.因此本文引入仅具有换乘站节点的拓扑子网络.通过保留原拓扑中换乘车站节点, 隐去其他普通车站节点, 根据其连接关系通过有向边重连形成新的网络.图2表示某城市轨道交通网络拓扑简化前后的情况.简化后的换乘节点拓扑子网络变为了由圆圈组成的非完全二分图, 大部分节点的连接度大于2, 适用于深度优先的前向边删除法进行k短路径搜索.在静态路径搜索时, 可先搜索拓扑子网络的k短路径, 再利用普通车站节点与换乘站节点的连接关系, 采用节点比较的方式获得全路网的k短路径.
2)时刻表扩展网络[14]建模:在建立物理网络的基础上, 为了表征时变路径, 可根据列车时刻表列车的到发时间, 将拓扑网络的空间线路和节点进行关联和扩展.通过列车的运行径路及其到发时间将静态网络的节点进行关联, 形成时变连接弧, 并按照列车到发车次形成时刻表扩展网络.
在时刻表扩展网络中, 任意一对OD站点之间的时变连接弧在时间维度的连接序列表示OD车站间的时变路径, 必须满足线路节点之间的连通关系, 同时满足时刻表上列车的接续关系.图3表示车站a1至b3在早7:30— 8:00之间的时变扩展路径的扩展弧连接关系.
根据城市轨道交通时变网络拓扑G(N, A, L, T), 建立时变k短路径搜索模型的目的是求解从起始车站节点s到目标车站节点t的路径集
模型表示如下.
C(
式中:C(ni, nj)表示时变路径
由于拓扑网络的静态k短路径实际上是时变k短路径的特殊情况, 即对于任意时刻Tar, 静态k短路径忽略了不同线路之间的列车接续关系和换乘走行时间约束, 但标定了时变k短路径的节点序列关系.因此本文在进行时变k短路径搜索算法设计时考虑将完整的搜索过程分割为两部分, 一部分为求取拓扑网络节点间的静态k短路径; 另一部分以此为基础, 利用时刻表扩展网络对列车车次遍历计算时变的换乘弧权值, 从而获取时刻表扩展网络中任意时刻的时变k短路径.定义算法中所使用的符号, 如表1所示.
![]() | 表1 算法中所涉及的符号及释义 Tab.1 Symbols with its meaning involved in the algorithm |
静态k短路径搜索算法的思路在于搜索仅具有换乘节点的拓扑子网络的静态k短路径, 然后将全网络中普通节点与换乘节点的连接边时间费用与拓扑子网络的静态k短路径相加进行k短费用排序, 获得全网络的静态k短路径集.由于采用了仅具有换乘节点的拓扑子网络, 因此降低了静态k短路径搜索复杂度.对于所有的节点对(s, t)∈ A(O, D), s≠ t的k短路径搜索算法具体步骤为:
Step 1 在拓扑子网络g(n, a, l)下, 通过Dijkstra算法搜寻
Step 2 对l's, t{
①选择当前考察路径
②找到
③判断前i-1备选路径集是否包含节点p与p{v1, v2, …, vm}的连接边a(p, vi), 若包含则将连接边权值设为∞ , 若不包含则保留其原权值.搜索此时由当前节点p出发至终点t的最短路径r'p, t, 由于保留了以s为节点的最小路径树, 则此时的最短路径r's, t=
④还原当前节点p, 接续节点q和p{v1, v2, …, vm}的连接边, 使q为当前节点.判断t点是否是当前节点, 若是则跳出Step 2, 对rs, t{
⑤若i< k, 则i=i+1, 返回步骤①; 当i=k, 则跳至Step 3.
Step 3 对l's, t{
Step 4 利用换乘站与其他普通站的连接关系, 将g(n, a, l)复化为全网络G(N, A, L), 进行节点与边的转换, 此时拓扑子网络起终点(s, t)将对应网络路径起终点(o, d), 同时利用边的转换存储与节点o关联的换乘站节点集合, 存储与节点d关联的换乘站节点集合.
Step 5 搜索lo{
算法1执行的伪代码如下:
算法1:Define G(N, L, A), g(n, l, a)
∀ (s, t)∈ A(O, D), s≠ t
Search
Sort ls, t{
else (i=k)
end n
Sort l's, t{
Search
时变k短路径搜索算法的思路在于根据时刻表扩展网络的建模形式, 对静态路径按照给定时刻表的列车车次在图定的时间维度进行扩展, 通过扩展后的路径费用排序获得静态k短路径的时变路径.设对于每条线路进行扩展的最大车次数量为M, 则在时刻Tar下, 对于全网络G(N, A, L, T), (s, t)∈ A(O, D), s≠ t, Rs, t中任意路径
1)根据起始点s和
2)根据时刻表依次遍历Ru
3)根据步骤2)沿路径
在此基础上设计深度优先的算法遍历列车车次获得
Step 1 令n=1, 根据时变路径扩展方法求出Rs, t中每条静态路径
Step 2 对
Step 3 令n=n+1.若n< k, 则转Step 4, 否则结束, 输出
Step 4 将当前路径的静态路径进行第n次列车车次扩展, 存入
算法2执行的伪代码如下:
算法2:Define G(N, L, A, T), M, Tar
end(s, t)
对算法的复杂度进行分析.算法1中, 设全网络的节点数量为N, 换乘子网络的节点数量为n', 获取换乘子网络上任意节点间的时间复杂度为O(n'2)[4], 若采用Fibonacci Heap结构[15], 则复杂度为O
以北京地铁网络为研究对象, 验证本文的城市轨道交通网络时变k短路径搜索算法的运算效率和时变合理性.选取2015年12月某日北京地铁网络拓扑图作为路径搜索基础网络, 网络共含有281座车站, 17条运营线路, 41个换乘车站, 602个列车运行区间, 全日运行列车数为7 078列, 其中高峰小时(早7:00-9:00, 晚17:00-19:00)列车运行数为2 028列, 高峰小时最小列车发车间隔为120 s.
1)算法运算效率.
图4表示当k取不同值时, 算法1在高峰小时内任意时刻标度下搜索不同数量网络节点时的平均耗时情况.图中网络节点的数量增加是根据北京地铁开通线路的次序增加的.通过趋势分析可得, k值往上增加1个单位, 算法耗时大约多增加15%; 每增加多1条新线(20个普通站节点, 2个换乘站节点), 算法的搜索时间约平均增加8%; 由于借助拓扑子网络进行辅助搜索, 全局的路径搜索在可以接受的时间范围内, 说明算法能适应于大规模网络路径搜索.图5表示在高峰小时任意时间标度一次全OD车站的时变k(k=10)短路径搜索的平均耗时.通过与算法A[13]和算法B[16]对比, 本文算法具有较优的运算效率.
2)算法时变合理性.
结合列车运行图, 假设该天线路在早7:00-9:00发车间隔不变, 选择7:10和7:30这两个时刻分析OD对动物园-和平门的时变k短路径对比, 取k=3, 西直门站4号线换乘2号线的平均时间为208 s, 宣武门4号线换乘2号线的平均时间为353 s, 列车停站时间平均为30 s.如表2所示.通过对比发现同一OD车站在不同时刻的时变路径具有时变差异性, 如表3所示.由于在实际的列车运行中存在列车大小交路套跑、列车首末班车接续、紧急限流和封站等列车运行图调整的情况, 因此有效的时变k短路径搜索获取不同时刻标度下任意OD车站间的路径对实际轨道交通路径管理将具有重要的实际意义.
![]() | 表2 关联线路车站出发时间和线路列车间隔 Tab.2 Departure time and train interval of related line and station |
![]() | 表3 动物园-和平门之间在7:10和7:30时刻的时变k短路径搜索结果 Tab.3 Searching results of the temporal path at time 7:10 and 7:30 between Dongwuyuan station and Hepingmen station |
随着城市轨道交通网络规模的不断扩大, 离散化的单线运营向复合化的网络化运营发展是不可逆转的历史进程.通过科学合理的方法获取网络上任意两个车站之间的多样化有效出行路径对运营服务的提高将具有重要的现实意义.本文设计了时变路径的搜索算法, 实现了网络路径搜索和管理优化, 并将方法应用到北京城市轨道交通网络进行实例验证.实例证明, 新的搜索算法在大规模动态网络环境下的适应性较大, 有效降低了算法复杂度并提高了搜索效率, 并且在考虑列车运行时刻表的基础上搜索出有效的时变k短路径, 也即求解了本文提出的时变k短路径搜索问题.今后将结合乘客出行的微观影响因素和自适应特征, 研究考虑不确定因素下的k短路径有效搜索问题.
The authors have declared that no competing interests exist.
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|
[14] |
|
[15] |
|
[16] |
|