|
浅析北京地铁环线运行图软件的编制 北京地铁运营有限公司行车调度所章宁
引言: 因所处专业的缘故,我对地铁行车组织上的许多东西很感兴趣,再加上本人粗通计算机编程,所以总想将计算机技术应用到工作中以期提高工作效率。最近利用业余时间对地铁列车运行计划的编制进行了比较浅薄的研究,并打算在此基础上更深入的学习地铁网络化运营组织方面的知识,以更好的适应地铁发展的需要。 以下是本人结合日常工作积累的经验和对具体运营线路配置的认识,对北京地铁环线列车运行计划编制由计算机自动化完成这一过程研究的一些成果,望感兴趣的同僚多多指教。
内容提要: 简要描述了城市轨道交通列车计划运行图的编制原理与编制流程。并以此为基础,详细论述了如何运用根据基础数据统计、运算后的结果,实现由计算机自动编制计划运行图,从而缩短运行图编制周期,在最短时间内对城市轨道交通客流特点的变化做出反应,以达到合理配置运输资源,从而合理有效的控制成本支出的目的。
关键词:北京地铁 运行图 编制
1.城市轨道交通列车运行图编制基础 列车运行图(如图1-1)是运用坐标原理描述列车运行时间、空间关系,表示列车在各区间运行及在各车站停车时间等等列车运行计划的图解形式。运行图的横坐标表示时间,纵坐标表示车站,斜线表示列车,斜线上的数字表示车次,其中还细分了分钟线、5分钟线、10分钟线和小时线。

列车运行图规定了列车占用车站、区间的次序、列车在每一个车站出发、到达的时间以及在区间的运行时分、在车站的停车时分等等。这样一来,列车运行图也就规定了线路上站场、机车、车辆和通信信号等设备的运用和与行车有关各部门之间工作的协调关系。因此,列车运行图是地铁运营工作的综合计划,是地铁行车组织的基础,是协调地铁各部门、单位按一定程序进行生产活动的工具。 列车运行图是根据客流预测编制的,也就是说客流预测是整个运行图编制的基础。在讨论运行图编制之前,必须明确几个重要概念:分时客流预测、列车满载率、列车追踪间隔、通过能力、限制通过能力和运行图的时间要素。
1.1分时客流预测 企业在日常营运时,必须考虑的就是企业所生产的产品或者提供的服务能为企业带来多大的效益,所以,地铁的日常营运成本是影响列车开行方案的一个重要因素,而客流量的大小反映了乘车人的出行需求。因此,根据城市轨道交通客流量的情况进行客流预测,是制定旅客列车开行方案的基础。 只有充分考虑旅客的出行需求、出行心理及特点,掌握客流特征,才能制定出良好的列车开行方案,在更好地满足旅客出行需求和日常营运成本之间找到最佳平衡点是制定列车开行方案的终极目标。 地铁自动售检票系统的上马,很好的解决了客流调查这一基础工作中全天客流分布调查在时间上的延后性问题,使客流分布调查的实时性成为可能,为今后列车运行图的编制工作中的成本控制提供了依据。
1.2列车满载率 客票收入是目前北京地铁的主要收入,地铁收入的多少取决于地铁在各运行区间的载客量及地铁票价。如果乘客在乘坐地铁的舒适度上未能达到心理预期,在出行成本(比如出行费用、乘车所用时间和乘客对最大列车间隔的心理承受水平)相当的情况下有可能被其他交通工具所吸引,因而减少地铁的旅客流量。而要找到旅客出行需求和日常营运成本之间的平衡点,就要尽量使每一趟地铁列车的载客量保持在一定水平上,争取做到既能够使乘客在乘坐舒适度上达到一定水平又最大限度的减少成本支出。 在一天当中,各个时间段的客流量是不均衡的,每天的客流变化特点,也会随着社会活动变化的特点而变化。比如,星期一和星期日的客流变化特点就不一样,星期一的客流高峰时间集中在早晨和晚上的上下班时间段内,而星期日的客流量在全天都相对平稳。因此就要求在编制列车运行图时区别对待,根据客流变化特点调整在线运营列车的数量,使每辆在运营线上列车的平均载客量能够限制在一定的水平上,以此达到控制成本的目的。 如图1-2所示,是典型的具有上下班高峰特点的客流变化趋势和运力资源配置对比示意图。其中粉色线条表示分时段客流量的变化趋势,绿色线条表示运力。它们之间的比值就是满载率,即列车实际载客量与定员之比。

从图中可以看出,A点的客流量显然是超出了最大运力,从而形成了客流积压。满载率计算公式如下:
|
高峰小时最大断面满载率= |
小时客流量 |
×100% |
|
小时通过列数×编组×定员 |
其中分子是在单位小时内,实际进入地铁乘车的乘客数;分母是单位小时内按定员计算可以运送乘客的总数。由分子、分母的定义可以知道,如果满载率情况小于100%时,乘客对乘坐地铁的满意度与满载率成反比,也就是说适当的降低满载率,乘客乘车的舒适度就会相应的增高,可见,分母中的“小时通过列数”(即列车间隔)对乘客乘坐地铁的满意度直接相关,也直接影响着地铁的成本支出情况;如果满载率情况大于100%时,就会出现乘客在车站的滞留现象。 注意,在这个公式中没有将乘客乘车公里数计算在内。如果要将其计算在内,就需要相应的增加列车总的开行公里数与之匹配才可使公式各个计算因子间保持平衡。值得说明的是,计算乘客乘车公里数自然会提高统计精确度,如果AFC(自动售检票)系统有此统计能力,可以加上这一计算因子。相应的,就可以考虑将各个车站客流峰值进行统计,从而为何时增加或减少在线列车数提供了更为准确的参考依据。
1.3列车追踪间隔、通过能力和限制通过能力 所谓列车追踪间隔,就是正线上的两列列车之间,追踪运行时的最小间隔,称为列车追踪间隔。因城市轨道交通正线线路一般为双线单向配置,所以追踪间隔的标准,以追踪绿灯或追踪高速码运行时的时间间隔为标准。 根据技术设备的性能、列车追踪间隔、车辆段联络线列车出入段十分频繁且和正线相交形成的咽喉地带以及终点站的折返能力等等制约因素,所确定的运营正线上两列列车间的最小间隔,即为通过能力。 由以上叙述可知,列车运行间隔不能超过通过能力。这一原则对列车运行图编制十分重要。比如有的线路就是由于终点站的折返能力小而成为全线限制通过能力区段,且最大运力受限于此。如果列车间隔小于通过能力,在限制通过能力区段就会出现列车积压于区间不能按时进站的现象。
1.4运行图的时间要素 时间要素,即构成运行图的具体时间标准。比如,列车在各个区间的运行时分(包括联络线)、中间站的站停时分、终点站折返时分以及列车出入段的间隔时分等等。 确定时间标准必须十分慎重,因为这些时间标准一经确定就要运用到对运行图编制的实际演算中,并长期使用。所以,在确定各种时间要素的过程中,应充分考虑各种技术设备的性能状况,对其所能达到的时间标准进行反复的试验、分析、验算,以确保其准确性。
1.5其他限制条件 其他限制条件,比如车辆段所能提供的最大运用车组数、在线列车最大运用圈数、首末班车开行时间以及与邻线和其他公共交通衔接等等,都是需要考虑的问题。
2.运行图软件的编制流程 编制运行图是一个系统工程,这个工程大致是由时间要素的确定、基础数据准备阶段、数据统计分类处理阶段和运行计划编制、运行图绘制阶段等几个大的步骤组成。一般来讲运行图的编制,是以客流预测为基础的,所以客流调查及数据分类统计是整个运行图编制的基础。基础数据分类、统计处理完毕后,再根据各种限制条件依据基础数据的处理结果编制列车运行计划、绘制运行图。 运行图编制流程如图2-1所示。

运行图的编制程序被分为五大模块,模块之间只有输入输出关系并单独编制独立运行。这样做的好处是模块的输入输出数据结构固定后,各个模块运算过程是相对独立的,对运算过程的修改只涉及到自身的程序编制过程和运算机制。这样做有效的化解了程序复杂程度与运行可靠性之间的矛盾,并且对某一模块运算机制的修改不会影响到其他模块,减少了维护成本。
2.1对图2-1的说明 2.1.1自动计算并绘制分时运力曲线 此一过程主要根据分时客运量统计数据以及可用运用车数,对运力曲线进行计算绘制。结果大致与图1-2相当。其目的是使用事先确定的计算方法,计算出对运用车使用的原始模式,以供下一步的人工调整准备数据。 2.1.2人工微调 如图2-2所示:上一步毕竟是以一种固定的模式进行计算的结果,有时并不一定符合实际需要(比如对运力的调整过于频繁,即列车出入段过于频繁;在某些政治或经济因素的作用下,需减小或加大运力等等以满足特殊需要)的情况下,可以有机会进行人工介入以符合特定条件的需求。如图2-2所示的控制点E,即可以人工的方式对该控制点的时间及在线列车数进行调整,或对控制点进行插入、删除操作以便更精细的调整曲线以达到所要求的效果。

2.1.3绘制运行图 在确定了运用车的使用模式后,再根据各种技术作业时间及运用车的使用等限制条件编制运行计划,绘制列车运行图。
2.1.4统计各种指标 根据已编制好的运行计划表,编制各种统计表报。比如分解运行图形成列车交路图,统计各表号的实际运用圈数、分时运用车上线数量等等一系列指标。
2.2对所搜集到客运量数据的分析 对客运量数据进行统计,比如各车站的进站人数、出站人数的分时数据,从而可以得到全线的客运量分时数据。乘客平均运距的计算依仗自动售检票系统对每位乘客进出站的有效跟踪,而目前一环线的自动售检票系统暂时无此功能。 对客运量数据进行分析后,我们可以得到一个全天客运量分时柱状图,如图2-3所示

图2-3所显示的是各站在单位时间内进站人数之和的总趋势,并不代表各个车站的所有客流变化趋势都是这个样子。比如客流集中站和其它车站的客流趋势特点就有可能并不相同。如果对乘客乘车路经进行跟踪,那么其统计过程将非常复杂。客流分析不是本文讨论重点,所以在此不予展开。
3.运行计划的编制与运行图的绘制 运行计划的编制部分是系统对所得到的运用车使用模式是否可行的最终解释,也是实际技术作业时间及各种限制条件相互作用相互制约的产物。所以,在大体确定了运行图编制思路后,本节着重描述以模式数据为基础,计算机自动化实现计划运行图编制的过程。 编程环境:VB6;WinXP;Access2000。
3.1各种技术作业时间及限制条件 各种技术作业时间及限制条件的确定是根据具体线路配置和相应管理手段而确定的。图3-1为二号线运营正线与车场线间联络线的线路配置示意图。由图3-1可以看出,联络线的配置是单线双向的立体交叉线路,联络线与正线间除了道岔区段外,交叉部分就像座立交桥一样分为上下层,内外环上下车时互不影响,是一种比较理想的线路配置。

各种技术作业时间及限制条件如下: 1.现阶段列车最小间隔:3分。 2.先上后下间隔:7分。是指列车经东、西联线之一到达车辆段并完全进入进段高柱信号机时算起,再经过7分钟,下一个列车才能再从车场停车线到达同一条联络线的出段高柱信号机外方,具备段下的条件。 3.列车回段临修时间:80分钟、连续最多跑18圈就必须考虑回段。 4.先下后上:段下车到达车站后1分钟,另一环的列车才具备回段条件。 5.原则上不能连续回段,末班车到达始发站后才意味着后续列车可以连续回段。 6.原则上不能连续段下,头班车未到达终点站前可以或6点前可以。 7.段下车到站后,临站同方向的列车才可发车。 8.回段列车到段后,临站后一列车才可发车。 9.前车到站后,后车才可发车,可以涵盖7、8 10.环线因为车辆段有“一库存两车”的问题,所以要考虑先入后出的问题(有点象堆栈),但现阶段不清楚车辆段的接车入库的操作原则,所以可暂不考虑 11.调整列车间隔:原则上在始发站等点,也可在积水潭等点。比如内环影响回段列车进站的时候。 12.外环西直门列车发车后1分半,后续列车才可到达(标准作业时间)。 13.外环的列车间隔以西直门为准,内环的列车间隔以积水潭为准(主要因为外环段下到西,内环段下到积)。
3.2程序控制模块分解 首先需要说明一个概念,即表号。这里所说的表号就是某个列车编组在一天当中运行交路的编号。对于这个列车编组,在运营线上每运行一圈,就有一个唯一的车次号与之对应,而在一天当中这个列车编组所使用的所有车次的集合就是这个列车编组全天的运行交路表。把每个运行交路表进行编号,就形成了表号的概念。 下面,我们就开始对程序所需完成的任务进行分解,并以此完成程序可行性分析。
3.2.1主控程序的运行流程 主控流程主要是以表号为中心,把表号当成列车编组,设置表号的当前状态。比如当前表号所代表的虚拟列车的当前状态可以是在车辆段准备上线、在车站进行乘降作业、出站、在区间运行等等。而列车在车辆段时就要考虑是否应令列车上线、是否具备出段条件,列车在车站时就应考虑列车应否回段、什么时候可以发车,列车在区间时主要考虑什么时候到达车站、是否具备进站条件。以此种种,自然就可以将各种标准作业时间和各种限制条件包含进去,以模拟列车真实运行的方式,根据先前确定的列车间隔数据为依据适时调整在线列车数量和列车间隔,记录每趟列车到发车站的时刻,形成列车运行计划时刻表,再将此计划时刻表以坐标形式表现出来,就完成了列车计划运行图的编制任务。程序流程如图3-2所示:

为了控制程序的运行节奏,我们将从检查表号状态到判断末班车到段与否这一段处理过程视为主控程序的一个大循环。程序每完成一个大循环,都将实际时间增加若干秒(现标准是30秒),并以此为依据作为判断列车间隔的时间条件。
3.2.2对图3-2中①“相应状态进行处理”模块的分解 列车的基本位置状态可以简略分为是否在车辆段等待上线、是否在某一区间运行以及是否在某一车站停稳进行乘降作业等三种。得到了列车的位置信息以后,自然就会考虑列车需要何时出段、何时进站、何时出站以及何时回段等等。以此为基础可把列车状态细分几大类,并分别编程进行处理。 列车状态可分为: 0、列车在区间运行。 最短时间如果已到,需要进入车站时,如果进入车站操作成功,就需要判断一下列车进入的是哪个车站,并相应处理。如果为西直门、积水潭,则转入判断是否可以发车的分支2;如果为车辆段,则转入判断是否可以段下的分支1。 1、列车在车辆段。 整备时间一到,就申请段下。如果段下操作成功,则转入分支0。 2、列车在车站。 当在车站停留最短时间已到并且具备发车条件,此时决定列车是否回段。列车位置只有在积水潭外环、西直门内环时才考虑回段问题。若需要回段,则即刻发车。 如果没有回段问题或经过判断不应回段,就需即刻发车。 如果列车所处位置是在西直门,就要考虑列车间隔问题,达到所需间隔才可发车。在西直门内环的列车亦可提前发车,使列车运行到积水潭再等点,为要求进站的后续列车腾空站线。 发车后转入分支0。 -1、这个状态为头班车后,列车从未上线运行,要求段下时。这个状态用来区别中途回段的列车。如果段下操作成功,则转入分支0 -2、列车回段后,不再上线运行,并以此判断大循环是否完成。 -3、不进行任何操作,代表此表号处于休眠状态。 处理流程如图3-3所示:

从图3-3中可以看出,列车的各种状态被有效的分解成了比较小的程序模块,并且列车全天的运行轨迹形成了一个从车辆段到车站在从车站到车辆段的完整闭环,使程序的处理模式进一步清晰化。根据列车间隔数据,动态的对列车间隔进行调整,从而完成列车运行计划时刻表。 在表号中,还可以加入连续运行圈数的限制属性,以及全天最多运行多少圈等等的限制属性,来满足一些特殊情况下(比如修程等)对列车运行公里数的限制条件。
3.3“列车运行计划时刻表”程序编制 3.3.1表号变量:数据类型为联合 1、表号状态:0为在正线运行,“计时器”为列车运行到事件触发站(外环为积水潭,内环为西直门)时所剩余的时间;1为到段,此时计时器1为列车在段具备段下条件所剩余的时间;2为列车具备出段条件;3为列车具备从车站发车的条件,此时决定列车是否回段;小于0为本表号处于休眠状态,不触发任何事件,且不接受任何属性设置,-1为列车从未上线运行,-2为列车到回段,不再上线运行。 2、车次。 3、列车始发站编号,如果为1 则是西直门,2是车辆段,3是积水潭。 4、末班标志:1 表示表号中本车次为末班车。此标志一经设置,“前车回段”标志便不起作用了,此车之后的所有列车均可连续回段(环线)。在末班车标志被设定后的所有回段车的表号状态均必须被设置为-1(即休眠)。 5、连续运行圈数:这一属性中,包含了计划连续最大运用圈数、实际连续运用圈数和计划全天最多运行圈数等属性。 6、触发时间事件的最短描述:时间要素,即列车运行及站停等等。 7、其它属性。
3.3.2标志变量 1、车辆段及终点站 (1)西联:0 无车段下或回段;1 有段下车,此时内环西直门不能回段,外环积水潭不能向西直门发车;2 有回段车,此时西联不能有出段车,内环西直门不能发车。 (2)东联:0 无车段下或回段;1 有段下车,此时内环西直门不能有向积水潭发车,外环积水潭不能有回段;2 有回段车,此时东联不能有出段车。 (3)是否需要段下列车:小于0说明需要回段,大于0说明需要段下,等于0说明在线列车正好 (4)当前车次:内外环各一个,终点站也是始发站。 (5)西直门及积水潭内外环站线占用情况,0未占用、1占用 2、运行时间: (1)内、外环全程运行时间 (2)列车在段整备时间 (3)车辆段恢复接车能力所经过的时间,即列车到达小站台后。 (4)当天内、外环首、末班车开行时间 3、先上后下的间隔 4、连续段下的间隔 5、前车回段标志:0 前车不回段,1 前车回段。主要是不允许连续两个及以上的列车连续回段。 6、末班车标志(上下行各一个):0 表示未设置,此时不得连续回段“前车回段”标志有效。大于0 表示已设置,此时的变量内容为车次号。就是说在此车次号之前的车次可以连续回段,此时“前车回段”标志无效(环线)。 7、列车最小间隔,即限制通过能力。
3.3.3列车间隔数组 数组结构:开始时间、结束时间,在结束时间前要达到的最小间隔。间隔共有三种趋势,自大向小变化、自小向大变化,不变化。
3.3.4列车占用数据结构 此数据结构主要包括在程序运行中所记录到的小站台、西直门、积水潭内外环占用情况: 小站台:0 无车段下或回段;1 有段下车,此时内环西直门不能回段,外环积水潭不能向西直门发车;2 有回段车,此时西联不能有出段车,内环西直门不能发车。 对于西直门、积水潭,属性值为0 表示无车占用,为1表示有车占用
3.3.5过程、函数 1.表号存储的时间到了,触发处理事件:主要处理列车是否可以进入积水潭或西直门站、决定列车是否回段,列车是否应该段下,及列车自始发、终点站开出时间(若有阻碍条件应等点几分等)
2.列车是否可以进入车站,主要考量的是车站占用情况
3.决定列车是否回段,根据列车间隔进行调整。主要考量的是前车回段标志、积水潭外环时,考虑东联有无下车,西直门考虑西联有无下车。
4.决定列车是否段下,主要考量的是线上运用车间隔是否达到标准。 如果需要段下则需要考虑的限制条件:(1)达到连续段下以及先上后下的所需保持的最小间隔了没有;(2)三角地西积间是否有列车占用;
5.特殊情况的处置及可能出现的运行错误的处理模块
3.3.6程序运行时的截图 图3-4是程序初始化后的界面:

图3-5是程序正在运行的效果:

3.4计划运行图的绘制

4.结束语 此程序在编制过程中,虽然并没有将所有限制条件完全加入进去(主要是业余时间有限,想尽快完成后检验一下总体效果),但是其运行效果还是比较满意的,而且基本程序构架也接近完成。下一步的计划是针对北京地铁1号线的线路条件,检验这一程序构架是否适用,并推而广之。下一步的计划是针对北京地铁1号线的线路条件,检验这一程序构架是否适用,并推而广之。 就运行计划的编制与运行图的绘制程序这一模块而言,运行一次就可将全天运行计划表编制完成,而所需运行时间只20多分钟。可见,只要完成了前面的客流分析工作,确定了各个时间段的列车间隔,把编制运行计划表的工作交给计算机自动完成,将极大地加快计划运行图的编制周期,宝贵的人力资源从重复劳动中解放了出来,就可以从事更多的计算机完成不了的工作,从而为提高劳动力价值打下了基础。
作者:北京地铁运营有限公司行车调度所,章宁。Email:octopus_small@tom.com |