列车时刻表是如何设计出来的?

我是指这么多城市之间的列车通行计划产生的方法,其优化性能是如何保障的?
关注者
411
被浏览
241,690

16 个回答

其他答主说的都是理想情况,目前中国铁路的情况是几乎不考虑任何性能优化,无论是动车和普速。

目前排图基本上遵循以下原则:

见缝插针、能不改则不改,换句话说就是 铁总根本不打算节省你的乘车时间

列车运行图不大改(主要指列车在繁忙线路和枢纽的时刻),而是见缝插针,导致旅客列车时刻受到繁忙线路和枢纽、始发和终到站时刻(为了避免凌晨始发终到)的严重制约,进而导致超长停车时间、超长待避、长时间耗点、升级不提速、快车比慢车慢等现象。


超长停车时间:

举例:北京枢纽繁忙总所周知,这次铁路运行图调整后,由于丰台站改造,丰沙铁路往京九、京沪的联络线取消,丰沙与京九、京沪之间的跨线车必须进北京站调向,而北京枢纽和京沪、京九等干线又非常“繁忙”(至少被当做一个借口),K712/09(包头-青岛)列车为了进北京站不得不付出惨重代价,首先,它必须选择北京站相对最不忙的下午进站,其次,它必须在原有京九线列车时刻懒得调整的情况下等待一个时间进入京九线,于是它就在北京站停了快一个小时。

同理还有K1178,这次调图同样遭殃,为了进北京站,在三家店被扣了51分钟,恐怕旅客从三家店下车,公交转地铁去北京站都比坐这车要快。

超长待避停车:

举例:与K712一起遭殃的还有Z284/1次列车(包头—杭州),此车也不得不进北京站,万幸的是此车在这次调图没有增加运行时间。然而,看看此车的时刻:徐州站停车半个多小时,苏州~上海南区间不到100公里开2个小时,原因是铁总并不打算优化京沪线列车运行时刻、减少列车待避情况,却强行开通8对动集列车,扰乱了原有运行图,导致Z284这类在晚间通过京沪线的列车不得不在徐州和唯亭(苏州站以东京沪线上的一个小站)待避动集,按这个时刻,目测在徐州和唯亭分别待避3对动集,其实Z284完全是有机会躲过唯亭站待避的3对动集的,只要从北京站早出发半个多小时就可以,然而铁总并不打算这么做。

更有甚者,比如上面提到的K712/09,为了保证在北京站最空余的下午进站、而且避免始发站(包头)在凌晨始发,包头到北京的800多公里足足走了16小时,尤其让人三观散尽的是此车在集宁南和丰镇之间的80公里走了快5个小时,运行速度相当于自行车,其间在京包线某个小站停车3个多小时,因为撞到了京包线此区间的天窗(线路检修时间,列车不得运行)。同样在此区间自行车速度的还有1133/4次列车,为了见缝插针到达北京西站,不得不下午到站,结果造成了双向在遭遇京包线天窗,下行集宁南~丰镇接近5小时,上行丰镇~集宁南4小时出头。



长时间耗点:

举例:K395/6次列车(北京西~乌海西)于2018年4月开通,同样是在北京枢纽见缝插针,在北京西站早高峰结束后的10点钟终到北京西站,11点始发,北京西站这个时刻开出的恶果就是K395无论开得有多快,都不会在当日半夜之前到达终到站乌海西站,只好拖到第二天早上终到,于是就产生了巴彦高勒到乌海的83公里开耗了两个半小时的奇观。



升级不提速:

这次调图,K309/312 K311/0次(合肥~广州东)升级成特快T219/222,提升等级并没有让列车速度明显提升,双向分别只缩短了半个小时,而且九江~广州东区间的时刻几乎没有任何变化,大概是铁总觉得稍微调整一下京九线的时刻表太麻烦,提速都提速到了短短的合肥~九江区间,尤其是返程,原本是早上快5点40多到达合肥,改完特快以后早上5点出头到达合肥。


快车比慢车慢:

如果说京沪、京九这种干线运力紧张可以理解,要是说包兰这种客车和货车都很少的线路不好好排时刻表就是态度问题了,2018年开通了这么一趟直达特快:Z311/2 呼和浩特~西宁,返程接近19小时,是包兰全线几乎最慢的车,比所有快速K车都慢。一趟直达特快,完全没有调度等级而言,地位不如包兰线原有的快速列车。

@司马望田 的回答里面透露出的信息很多,但是我个人认为干货虽多但是没有回答提问的内容,因为运行图几乎设涉及到整个系统各个方面的东西,所以每个从业者的角度都会有所不同。而且地铁的复杂程度要比大铁低很多(没有贬低的意思),一个地铁整条线路的复杂度很多情况下还不如大铁一个车站的复杂度,而地铁的运行涉及跨线车是非常少的 @神奇的雪哥 的回答其实比较切中要害,但是显然不是大家感兴趣的回答所以得赞数比较少。。。


以我个人的了解,因为从业在西欧,我不了解国内的现状,但是国内应该是差不多的。如果说相关性的话,我以前参与过计算机排图及优化求解的软件的开发,从整个规格书可以得知一些相关信息。


第一步并不是直接画运行图,而是根据车辆去制定速度等级分级和列车优先级,因为这个才是基础的基础。这个速度等级包含了一定的规则,比如同样的线路上,动车组可能比最高等级的普速列车还可以快10km/h的这种,因为动车组的脱轨系数更小,舒适性更高。


然后需要有一个车辆性能的牵引数据库,包括机车,列车组,客车和货车,总之一切进图的都需要有。同时时刻表是有一个主轴的,举个栗子,比如京沪高铁本线,北京到上海之间,有时候还有一个或者几个分轴,比如京沪高铁本线,外加宁杭高铁,这样可以画Y型线路的时刻表。同时你还需要有整个线路的数据库资料,比如坡度,半径,信号机位置,分相位置,车站的图,这里的数据详实程度决定了之后仿真验证所能达到的细粒度。如果软件可以加载信号规则,可以自己生成一个仿真的连锁表,那就更好了。(所以各国国铁都有自己的相关软件,因为信号这一部分特殊性太高,不可能用其他铁路公司的软件替代,比如OpenTrack里面都是瑞士的信号,SNCF拿来的话,就只能玩一玩而没法实际用了)


之后就是先根据客户(可以是内部或者外部的)的需求,手动输入各种停站类型的时间/车站坐标,以及约束,建立大致框架。约束主要是停站时间,是否选停站,如果是首班车和末班车通常还有衔接约束,然后是永久限速和临时限速,以及回转车关系等等。


之后就是计算机算图了,基本就是按照手动输入的点作为约束,用仿真器跑一次,得到参考时刻表。在好几个回答中都可以看到这种图,叫做空间/时间图。


之后的操作中国和西欧可能差别就不太一样了,西欧以节拍图为主,后面的事情就是创建节拍图,按照一定的时间间隔和停站样式复制粘贴。在本线时刻表做完后,加上跨线车的时刻表,基本这个时候时刻表的大致框架就出来的。


然后就是优化了,一般是跑很多个全局模拟,这里重点考察的第一是因为前后车的间隔根据线路上区间信号的具体设置可能会有追踪无法达到预计的情况,通常采用的工具是一种叫做轨道占用图,是一种加强版空间/时间图,可以分析是线路哪个区间导致了追踪晚点,根据全局模拟的结果需要进行调整(时刻表上的,如果是设计中的线路那么就是去改线路信号设置)。


左下:时间/空间图(时刻表),右上:速度/空间图,右中:轨道占用图,左上:信号图


第二就是晚点模拟,会在跑全局模拟的时候在某次列车上注入晚点,然后用测试各种策略下晚点的恢复情况和损失(在路网分离的情况下运营商晚点会占用额外的线路资源,在这个情况下会有罚款,罚款最小化也是一种优化)。但是这个方面以人工设想为主,我曾经参加过这样的一个项目的软件设计,在我离开项目的时候还是这样的情况。而且稍微复杂一点的枢纽计算量就相当大了,优化主要是做成各种预案,外加调度经验,因为当时的性能没法达到实时计算求解的水平,说白了枢纽的优化可能是一个“P困难”的问题。不过这四五年过去了,不知道有没有用人工智能的方法去解决这个问题的。


我那个时候还有取线路上实际司机的操作数据进行分析的,这个其实也是优化的一个角度。