本发明涉及客流推算方法领域,特别涉及基于多维数据时空耦合的地铁网络断面客流推算方法。
背景技术:
1、地铁系统已发展为多线路交叉的网络化系统,其客流规模急剧上升。在高峰时段或特殊时段内大规模客流会对系统运能产生巨大压力,可能出现乘客站台滞留、拥挤等安全问题,而平峰时段较小的客流又会使运能过剩,造成资源浪费。因此,准确获取地铁网络断面客流,动态掌握网络客流时空分布规律,对地铁系统的网络化、精细化运营管理具有重要意义。目前的地铁网络客流推算方法主要采用交通网络流量分配技术,基于乘客路径选择模型和站间od数据进行计算,这种方法用于大规模地铁网络,存在计算复杂性高、计算精度低等缺陷。
2、在现有方法中,一方面,需要通过问卷调查来拟合乘客路径选择的相关参数,不仅花费时间及人工成本,且样本有效性也难以保证;另一方面,随着网络规模的增加,针对全网的多路径搜索算法的计算效率也会因其复杂度过高致使计算效率的大幅下降,无法满足网络断面客流计算的实时性要求。
3、同时,随着信息技术的发展,地铁系统在运营过程中产生了多种海量数据,包括afc刷卡数据、地铁线网数据、列车运行数据等,基于大数据分析的计算方法为地铁网络客流推算提供了新的支撑条件。然而,在地铁一票制、无缝换乘模式下,通过单一数据分析无法获取乘客的路径和乘坐列车信息,无法实现网络客流的精准计算。
4、本发明的目的在于克服现有技术与方法的不足,提供一种面向大规模地铁网络的基于多维数据时空耦合的地铁断面客流推算方法,可极大提高大规模地铁网络断面客流推算的精度和计算效率。
技术实现思路
1、本发明意在提供基于多维数据时空耦合的地铁网络断面客流推算方法,解决了现有方法无法实现网络客流的精准计算的问题。
2、为了达到上述目的,本发明的技术方案如下:基于多维数据时空耦合的地铁网络断面客流推算方法,包括如下步骤:
3、s1、推算非换乘站点的断面客流;
4、s2、换乘客流路径-列车匹配方法:
5、s2.1、对地铁网络进行简化处理;
6、s2.2、搜索基于地铁简化网络下的站点od最短路径;
7、s2.3、搜索基于地铁简化网络下的站点od有效路径;
8、s2.4、生成地铁网络中站点od有效路径;
9、s2.5、构建多维数据时空耦合的乘客路径-列车匹配算法;
10、s3、推算换乘车站的断面客流。
11、进一步的,步骤s1的具体方法如下:
12、s1.1、构建线路列车车次集j、线路站点集s、列车离站时间集滞留乘客集初始化
13、s1.2、根据线路列车时刻表数据,区分线路为上行方向还是下行方向,同时,根据进出站站点编号关系,筛选出上行方向和下行方向的乘客刷卡记录;
14、s1.3、对线路列车车次集j进行遍历,令j=1;
15、s1.4、读取j,遍历线路中的线路站点集s,令s=1;
16、s1.5、读取s,构建当前列车车次j和当前站点s之间的乘客进站刷卡时间窗根据步骤s1.2中上行方向和下行方向的afc乘客进站刷卡时间以及乘客进站刷卡时间窗,筛选该次列车可载乘客,统计乘客去向分布判断当前站点s是否为该线路对应方向的最后一个站点,若是,执行步骤s1.7;否则,执行步骤s1.6;
17、s1.6、设s=s+1,执行步骤s1.5;
18、s1.7、将结果以字典形式进行储存;
19、s1.8、通过步骤s1.7储存的乘客去向分布,根据进站站点以及出站站点,统计线路车次j各站点下的可载乘客的进出站客流数量,站点s的进站客流量等于从站点s进站且从线路站点集s中的站点出站的od客流之和;站点s的出站客流量等于从线路站点集s中的站点进站且从站点s出站的od客流之和,具体计算公式如下:
20、
21、s1.9、计算j次列车实时断面客流vl,s,j(s=1,2,3…):
22、vl,s,j=vl,s-1,j-dfl,s,j+afl,s,j(vl,s,j≤cj) (3)
23、若vl,s,j<cl,j,则记录当前该断面客流vl,s,j,并设j=j+1,执行步骤s1.2;否则,执行步骤s1.10;
24、s1.10、根据前j-1次列车在各站点的离站时间,计算前j-1次列车的乘客在各站点的出站步行时间,并统计各站点出站步行时间的平均值
25、s1.11、遍历线路中的线路站点集s,令s=1;
26、s1.12、读取s,构建当前列车车次j和当前站点s之间的进站刷卡时间窗离站刷卡时间窗筛选对应站点满足当前车次的进站刷卡时间窗、离站刷卡时间窗的乘客:
27、
28、统计站点乘客的进站量afl,s,j、出站量dfl,s,j,其中,进站量afl,s,j为对应站点进站刷卡时间窗的所有乘客数量,出站量dfl,s,j为对应站点出站刷卡时间窗的所有乘客数量;
29、s1.13、令更新集;
30、s1.14、根据下式计算j次列车在站点s实时断面客流vl,s,j:
31、vl,s,j=vl,s-i,j-dfl,s,j+afl,s,j(vl,s,j≤cj) (6)
32、若vl,s,j<cl,j,则记录当前断面客流vl,s,j,令s=s+1,若vl,s,j>=cl,j,则根据公式计算该站点的实际进站量,计算列车断面客流、乘客进站量、乘客滞留量以及站台滞留率:
33、vl,s,j=cj (7)
34、af′l,s,j=cj-vl,s-1,j+dfl,s,j (8)
35、
36、令
37、s1.15、判断当前站点s是否为该线路该方向的最后一个站点,若是,执行步骤s1.14;否则,令s=s+1,执行步骤s1.12;
38、s1.16、判断当前列车车次j是否为该线路所计算的最后一班车次,若是,输出断面客流,结束本次推算;否则,令j=j+1,执行步骤s1.11。
39、进一步的,步骤s2.1的方法如下:
40、s2.1.1、定义地铁网络为g(v,e),其中v为节点集合,v={v1,v2,v3,...,vn]代表各个站点;e为有向边集合,e={e1,e2,e3,...,en}、ei={e1i,e2i,e3i,...,eni}代表连接相邻站点的区段,eij=(vi,vj),代表从站点i到站点j的区段;
41、s2.1.2、地铁简化网络是以线路为基础,将网络中的线路当作节点,线路之间的换乘关系当作连接,定义地铁简化网络为g(l′,e′),其中,l′={l1,l2,l3,...,ln}为线路集合;e′={e1,e2,e3,...,en}、ei={e1i,e2i,e3i,...,eni}为线路之间的换乘关系集合,eij=(li,lj)代表从线路li到lj的换乘关系,若存在换乘,则eij=1,否则eij=∞。
42、进一步的,步骤s2.2的方法如下:
43、s2.2.1、初始化路网节点集l′={l1,l2,l3,...,ln}、存储最短路径的节点集合s={}以及未计算的节点集q={l1,l2,l3,...,ln],其中q+s=l′;初始化储存最短距离的dist[n]数组,其中dist[0]=0,dist[n]为出发节点至节点ln的最短距离;
44、s2.2.2、循环读取afc数据中每条乘客出行记录中进站站点所在的线路编号li,将li加入至节点集s,令s={li},dist[0]=0,更新节点集q=l′-s;计算q中所有节点至出发节点li的最短距离dist[k],dist[k]=w(i,k);
45、s2.2.3、找出q中所有节点至出发节点的最短距离中的最小值节点lj,将lj加入至节点集s,即s=s+{lj},更新节点集q=l′-s;
46、s2.2.4、计算q中所有节点至出发节点li的最短距离dist[k′],dist[k′]=dist[j]+w(j,k),若dist[k′]<djst[k],则更新dist[k]=dist[k′];
47、s2.2.5、重复步骤s2.2.3、s2.2.4,直至q={}、s=l′;保存出发节点到其余节点的最短路径;
48、s2.2.6、读取该乘客出行记录中出站站点所在的线路编号ln,获取dist[n]以及dist[n]对应的路径,保存该条记录的最短路径信息;
49、s2.2.7、afc数据是否已全部完成读取,若是,则结束搜索,否则,执行步骤s2.2.2。
50、进一步的,步骤s2.3的具体方法如下:
51、s2.3.1、初始化储存偏移节点列表a,令储存备选路径集合b,储存有效路径的集合c,
52、s2.3.2、读取乘客进出站信息,提取进出站所在线路的编号,采用基于简化的地铁网络下的站点0d最短路径算法得到路径l,将l加入集合c,将l的节点li(i=1,2,3…n)加入列表a,令k=1,
53、s2.3.3、对偏移节点进行遍历,读取li,判断li是否为列表中的最后一个元素,若是,则执行步骤s2.3.5;否则,执行步骤s2.3.4,
54、s2.3.4、依次删除li至li+1的连接边,采用最短路算法得到起始节点为li,终点节点为ln的最短路径,
55、s2.3.5、连接路径(l1-li)与(li-ln),将路径放入备选路径集合中,并计算路径上的时间费用,
56、s2.3.6、找出备选路径中最小阻抗的路径,清空列表a,将该路径加入集合c,将该路径的节点加入列表a,令k=k+1,
57、s2.3.7、判断k是否小于k,若是,执行步骤s2.3.3;否则,执行步骤s2.3.7,
58、s2.3.8、提取集合c的有效路径,判断afc数据是否全部完成,若是,则有效路径搜索结束;否则,执行步骤s2.3.2。
59、进一步的,步骤s2.4的具体方法如下:
60、s2.4.1、初始化:储存基于站点名称的物理有效路径的集合a,a={s1,s2,...,sk},线路包含的换乘站站点字典b,b={l1:{c1,c2,...,ck},l2:{c1,c2,...,ck},lk:{c1,c2,...,ck}},换乘站名称所包含的站点编号字典c,
61、
62、s2.4.2、读取乘客进出站站点编号,读取基于线路层面的有效物理路径集p,遍历有效路径集中的有效路径,令i=1,
63、s2.4.3、读取有效物理路径pi,遍历pi中的线路编号,令k=1,
64、s2.4.4、读取lk,通过换乘站站站点字典b计算并获取lk与lk+1的交集站点[c1,c2,...],同时排除交集中包含的进出站站点名称,
65、s2.4.5、判断lk是否为pi中的最后一个元素,若是,则执行步骤s2.4.6;否则,令k=k+1,执行步骤s2.4.4,
66、s2.4.6、分别以(lk,lk+1)(k=1,2,3,…)形成的交集站点列表与乘客的起始站点编号进行组合,得到基于站点名称的有效物理路径p′ipi′=[ss,c1,c2,...,se],
67、s2.4.7、再次遍历有效路径pi中的线路编号,令j=1,
68、s2.4.8、读取lj,遍历有效路径中pi′的站点,令s=0,
69、s2.4.9、读取p′i[s],若站点为数字编号,则将其添加至si;若站点为中文站点,执行步骤s2.4.10,
70、s2.4.10、根据换乘站站点编号字典c,获取站点的站点编号,将以lj开头的站点编号添加至si,判断p′i[s]是否为p′i中的最后一个站点,若是,则执行步骤s2.4.11;否则,令s=s+1,执行步骤s2.4.9,
71、s2.4.11、判断lj是否为pi中的最后一个编号,若是,则执行步骤s2.4.12;否则,令j=j+1,执行步骤s2.4.8,
72、s2.4.12、判断pi是否为p中最后一个元素,若是,则执行步骤s2.4.13;否则,令i=i+1,执行步骤s2.4.3,
73、s2.4.13、输出乘客基于站点的有效物理路径a,判断afc数据已全部计算完成,若是,则结束有效路径的生成;否则,执行步骤s2.4.2。
74、进一步的,步骤s2.5的具体方法如下:
75、s2.5.1、数据准备:从列车时刻表数据中提取各线路、各方向上的列车时刻表信息,若为上行方向,则选取车站编号降序、列车离站时间升序排列;若为下行方向,则选取车站编号信息升序、列车离站时间升序排列;
76、s2.5.2、令i=1,遍历地铁网络g(v,e)中站点0d的乘客;
77、s2.5.3、读取第i个乘客,获取第i个乘客进出站站点的刷卡时间,令n=1,获取有效物理路径集ai,遍历ai;
78、s2.5.4、读取遍历中的编号,令k=0;
79、s2.5.5、读取判断与的前两位编号是否相同,若相同,记录当前相同编号线路1,执行步骤s2.5.6;否则,获取与的换乘步行时间执行步骤s2.5.11;
80、s2.5.6、若记录当前方向为上行,同时读取线路为1当前方向为上行的列车运行时刻表;否则,记录当前方向为下行,同时读取线路为1当前方向为下行的列车运行时刻表;
81、s2.5.7、根据步骤s2.5.6打开的列车运行时刻表,获取各列车在站点的离站时间集遍历令m=1;
82、s2.5.8、读取若则执行步骤s2.5.9;否则,记录当前列车车次m,记录当前乘客离站时间执行步骤s2.5.10;
83、s2.5.9、令m=m+1,执行步骤s2.5.8;
84、s2.5.10、判断是否为列表中最后一个站点编号,若不是,令k=k+1,获取列车车次m在站点的离站时间执行步骤s2.5.5;否则,获取列车车次m在站点的离站时间根据下式计算路径的推算离站刷卡时间执行步骤s2.5.12;
85、
86、s2.5.11、根据下式获取乘客到达换乘站点的时间令k=k+1,执行步骤s2.5.5;
87、
88、s2.5.12、若则该条时空路径无效,执行步骤s2.5.13;否则,该条时空路径有效,保存该路径,执行步骤s2.5.13;
89、s2.5.13、判断是否为ai中最后一个元素,若是,则输出第i个乘客的时空路径及该乘客在各站点的车次及离站时间,执行步骤s2.5.14;否则,令n=n+1,执行步骤s2.5.4;
90、s2.5.14、判断i是否为最后一个乘客,若是,则输出所有乘客时空路径及乘客在各站点的车次及离站时间,算法结束;否则,令i=i+1,执行步骤s2.5.3。
91、进一步的,步骤s3的具体方法如下:
92、s3.1、确定所计算的目标线路,和列车方向;
93、s3.2、构建线路列车车次集j、线路站点集s、线路交路集v、列车离站时间集滞留乘客集令
94、s3.3、通过步骤s2的换乘客流路径-列车匹配方法,提取换乘乘客集合,并确定乘客使用的地铁线路,统计得到计算方向的换乘客流,将乘客的进出站站点替换为时空路径中经过目标线路的换乘站站点,保留乘客经过目标线路所乘列车车次j;根据进出站站点编号关系,筛选目标线路所计算方向的非换乘客流,令i=1;
95、s3.4、选择乘客i;
96、s3.5、判断乘客i是否为换乘客流,若是,则令i=i+1,执行步骤s3.4;否则,执行步骤s3.6;
97、s3.6、根据乘客进出站站点,判断并记录乘客的出行区间根据下式获取乘客可以选择的交路v,根据交路v获取各列车车次在进站站点的离站时间集
98、
99、筛选出乘客所乘列车车次j,记录列车到达d站的离站时间,计算乘客出站步行时间:
100、
101、vl,s,j≤cl,j (3-5)
102、s3.7、判断乘客i是否为当前计算的最后一个乘客,若是,则执行步骤s3.8;否则,令i=i+1,执行步骤s3.5;
103、s3.8、遍历线路交路集v,令v=1;
104、s3.9、选择读取交路v,获取交路v下的列车车次集jv,令j=1;
105、s3.10、读取jv,筛选出选择列车车次为jv的所有乘客,根据乘客的进出站站点,统计该次列车的乘客分布去向,将结果以字典形式进行储存;
106、s3.11、统计该次列车在各站点下的进出站客流量,进站客流量等于进站站点为s,出站站点为站点集sv的客流总和;出站客流量等于出站站点为s,进站站点为站点集sv的客流总和,计算公式如下:
107、
108、s3.12、根据下式计算jv次列车实时断面客流
109、vl,s,j=vl,s-1,j-dfl,s,j+afl,s,j(vl,s,j≤cj) (3-8)
110、若则记录当前该断面客流执行步骤s3.13;否则,记录当前交路开始发生滞留的列车车次jv,执行步骤s3.14;
111、s3.13、判断jv是否为该交路下所计算的最后一趟车次,若是,执行步骤s3.14,若不是,j=j+1,执行步骤12;
112、s3.14、判断交路v是否为当前线路的最后一个交路,若是,则执行步骤s3.17,若不是,则v=v+1,执行步骤s3.9;
113、s3.15、根据列车运行时刻表筛选出最先发生的滞留车次j,筛选出,之前的所有列车车次的afc数据,获取出站站点为s(s=1,2,3,…)的非换乘乘客的出站步行时间,计算步行时间的平均值
114、s3.16、遍历目标线路的车站站点集s,令s=1;
115、s3.17、读取s,获取经过当前站点s在滞留车次j后的剩余列车车次集js,车次j,获取当前站点s的离站时间集创建滞留乘客出行区间客流分布字典dicz,
116、
117、s3.18、筛选出列车车次为js,进站站点为s的所有乘客,统计站点乘客的进站量afl,s,j,同时,根据乘客的出行区间,统计该站点下各出行区间的进站量,创建出行区间与乘客进站量的字典dic,判断dicz中是否都为0,若是,执行步骤s3.20,若不是,则执行步骤s3.19;
118、s3.19、获取js所在的交路v,根据列车车次选择与出行区间字典dicv获取该次列车可载乘客的出行区间更新js中出行区间与乘客进站量的字典dic,令更新换乘滞留字典dicz,更新乘客进站量afl,j,s;
119、s3.20、构建基于当前列车车次js、当前站点s之间的离站刷卡时间窗,根据下式筛选该站点满足当前车次的离站刷卡时间窗的非换乘乘客,根据列车车次js、当前站点s,筛选出当前站点离站的换乘乘客,统计站点乘客的出站量dfl,s,j,其中出站量afl,s,j为该站点出站刷卡时间窗的所有乘客数量加上该车次该站点离站的换乘乘客数量;
120、
121、s3.21、根据下式计算js次列车在站点s实时断面客流vl,si:
122、vl,s,j=vl,s-1,j-dfl,s,j+afl,s,j(vl,s,j≤cj) (3-8)
123、若vl,s,j<cl,j,则记录当前该断面客流vl,s,j,执行步骤s3.24;否则,记录当前该断面客流cl,s,j,根据下列式子计算该站点的实际进站量、站台滞留人数站台滞留率pl,s,j、区间滞留人数出行区间与滞留乘客进站量的字典dic1,更新滞留乘客出行区间客流分布字典dicz,
124、
125、af′l,s,j=cj-vl,s-1,j+dfl,s,j (3-11)
126、
127、
128、s3.22、判断当前站点下的列车车次js是否为该站点该方向所计算的最后一班车次,若是,则执行步骤s3.23;否则,令j=j+1,执行步骤s3.18;
129、s3.23、判断当前站点是否为该线路所计算的最后一个站点,若是,输出各车次的断面客流、各车次各站台下的滞留人数、滞留率,则结束客流推算;否则,令s=s+1,执行步骤s3.17。
130、与现有技术相比,本方案的有益效果:
131、1、本方案基于afc数据获取的乘客步行时间参数,其样本数量更多、不受乘客主观性影响,并且考虑了不同时段内乘客步行时间的差异性,获取的步行时间参数精度更高。
132、2、本方案基于简化地铁网络的路径搜索算法能够减少路径中无效路径的搜索,大大降低搜索时间,搜索效率更高,并且支持并行计算,因此,算法可适应于大规模路网以及海量数据的计算。
133、3、本方案基于多维数据时空耦合的乘客路径-列车匹配算法可获得地铁网络中乘客、线路、列车三者之间的时空关系,能够排除错误路径,推算乘客出行时空轨迹的准确率更高。
134、4、本方案地铁网络断面客流推算方法能够实现乘客与线路中列车车次的匹配,可准确推算出换乘站和非换乘站的站台客流滞留率、列车满载率以及列车车次断面客流等指标,算法并行化较高,计算效率和计算精度都有显著提高。
1.基于多维数据时空耦合的地铁网络断面客流推算方法,其特征在于:包括如下步骤:
2.根据权利要求1所述的基于多维数据时空耦合的地铁网络断面客流推算方法,其特征在于:步骤s1的具体方法如下:
3.根据权利要求1所述的基于多维数据时空耦合的地铁网络断面客流推算方法,其特征在于:步骤s2.1的方法如下:
4.根据权利要求3所述的基于多维数据时空耦合的地铁网络断面客流推算方法,其特征在于:步骤s2.2的方法如下:
5.根据权利要求4所述的基于多维数据时空耦合的地铁网络断面客流推算方法,其特征在于:步骤s2.3的具体方法如下:
6.根据权利要5所述的基于多维数据时空耦合的地铁网络断面客流推算方法,其特征在于:步骤s2.4的具体方法如下:
7.根据权利要6所述的基于多维数据时空耦合的地铁网络断面客流推算方法,其特征在于:步骤s2.5的具体方法如下:
8.根据权利要3-7中任一所述的基于多维数据时空耦合的地铁网络断面客流推算方法,其特征在于:步骤s3的具体方法如下: