郑亚晶 李耀辉 靳文舟
(华南理工大学 土木与交通学院,广东 广州 510640)
动车组周转优化问题类似于经典的机车周转优化问题[1- 4]和车底周转优化问题[5- 7]。它们之间的差异主要体现在以下几点:①动车组重联和解编过程不同于经典的机车和车底的分离模式;②动车组与机车在区段的运行范围上差异较大;③动车组的修程修制与机车的修程修制差异较大。
目前已有学者针对以上的这些差异对动车组周转优化问题进行了研究[8- 15],这些研究可分为两类:一类是在模型层面研究不同外界条件对动车组周转优化的影响,这类研究主要是将不同条件转化为模型中相应的约束[16- 20];另一类是在算法层面研究动车组周转优化模型的求解[9- 15]。
本文在模型层面,将动车组日常检修、空车回送和重联解编与动车组周转计划相结合,基本涵盖了动车组周转过程中需考虑的外界条件影响。
动车组与机车区段运用范围分为固定区段运用和非固定区段运用两种情况,固定区段运用是指机车或动车组总是在固定的两个折返站之间来回运行(如图1(a)所示);而不固定区段运行则与之相对,机车或动车组会在不同的折返站根据需要进行折返,从而在不同的区段运行(如图1(b)所示)。
一般来说,动车组采用不固定区段运用的方式来周转比较合理,但由于动车组直接承载乘客,具有机车和客车车底的双重性质,故其折返或接续的条件相比机车来说更严格:动车组只能由一条运行线的终点接续或折返到另一条运行线的起点,而机车是否能够折返或接续仅需考虑运行线之间的时间因素,与折返或衔接点是否运行线的起终点无关。
图1 固定/不固定区段运用示意
就我国目前的铁路运营状况而言,动车组必须在无载客状况下进行重联解编作业。日本铁路运营存在载客状态下的重联解编作业的情况,但也有一些限制,比如必须要求同方向的乘客位于同一组动车组内。本文以中国高铁为背景,所以仅讨论无载客状态下的重联解编过程。
中国铁路动车组的检修目前共有5个等级[21]:其中,一级检修和二级检修属于运用级检修,检修场所为动车组运用所或检修基地;三级检修、四级检修和五级检修属于高级检修,检修场所为具备相应车型的检修资质的检修基地。从各级检修的修程修制来看,二级及以上检修的检修周期均长于30 d,检修停时也大于24 h,故相对基本运行图的24 h周期来说,仅一级检修适合纳入动车组周转优化问题进行考虑,故本文并不详细对检修基地和动车组运用所进行区分,为描述方便,将其统一称之为“动车段”。
空车回送[17]是指动车组在不执行任何运输任务的情况下从一个车站行驶到另一个车站的过程。动车组的空车回送可分为有动力回送和无动力回送两种:①有动力回送是指一列动车组列车通过自身动力完成回送作业;②无动力回送是指一列动车组列车通过与其它动车组重联并借助其它动车组的动力完成回送作业。
设Zm,m∈{1,2,3,…,k}表示目标线路下行方向所有k个车站中的第m个“起终站”(运行线首末站所在车站)。令其中动车段F的所在站为车站Zc,动车组必须经过车站Zc才能进入动车段F进行检修作业。根据以上的规则,一般将目标线路上的车站分为3类:起终站、动车段所在站和普通中间站,如图2所示.
图2 高铁线路示意图
由于动车组在普通中间站只进行停靠或通过作业,故动车组的折返、重联、解编及接续作业均与中间站无关。故本文只需对车站Zm进行考虑即可,也即图2所示的线路示意在本文中可简化为图3所示的线路形式。
图3 简化的高铁线路示意图
由于一级检修的周期刚好为列车运行图周期的2倍,可按文献[19]的方法对列车运行图进行增广操作——也即将1张基本运行图复制一次,扩充为一张48 h的运行图(以上所述增广操作的示意如图4所示,该图中的时间以48 h的形式进行标记)。
这一处理方式将动车组一级检修以时间周期为标准(里程周期仅作为一个约束值),虽然无法保证最终的方案是实际动车组周转问题的最优解,但保证了高铁列车运行图的周期性,同时也保证了后面构建模型的线性,便于求解也有利于实际的调度指挥工作。
图4 增广列车运行图
本文将增广列车运行图转化为动车组接续网络,从而将动车组周转问题转化为网络流问题,这一转化过程的步骤如下。
第1步在增广列车运行图中将为预留的高峰时段(例如春运)的临时高铁列车的运行线位置(如图5中虚线)上补画运行线,以此作为空车有动力回送时的可用时空路径。
图5 在预留位置补齐列车运行线的示意图
第2步将增广运行图中的既有运行线和补画的运行线均转化为节点。在这一步中,一条“完整”的运行线(即从起始站到终到站的既有运行线或在分割区段中的补画运行线)即转化为一个节点,如图6所示。
第3步在上下行不同的两个节点间构建有向边,这些有向边分别代表特定的动车组承担不同的周转接续任务的时空轨迹。在本文中,每条有向边,都由4个属性确定:①起点,②终点,③是否进行检修,④承担周转接续任务的动车组。如图7所示,为某动车组接续网络(网络中一共3组运用动车组)中某两个上下行不同的节点(假设为节点1和节点2)之间的有向边情况,其中每组动车组对应着其中两对有向边:两条成对的普通边分别对应图8(a)和图8(b)所示的接续情况(动车组在该接续过程中不进行检修作业);两条成对的检修边分别对应如图9(a)和图9(b)所示的检修接续情况(动车组在该接续过程中进行检修作业)。
需要注意的是,在现实中,两条成对的检修边都存在的情况较少(例如图9中,两个一级检修接续都存在的前提条件是站A和站B均为动车段所在站)。因此,在构建有向边时,需将非动车段所在站的检修边予以删除。
图6 将列车运行线转化为节点的示意图
图7 两节点间的有向边示意图
图8 成对的普通有向边的接续情况示意图
图9 成对的检修有向边的接续情况示意图
至此,动车组周转接续网络构建完毕,该接续网络任意两点之间一般都有类似图7所示的多条有向边连接,这是典型的多重边复杂网络。在这些多重边中,同起讫点的非检修边与检修边的周转接续时间有可能不同。例如在图8和图9中,承担运行线1运输任务的动车组不进行检修接续至运行线2的周转时间比检修接续至运行线2的周转时间要少48 h。
将所有运行线在车辆段所在站的到、发车时刻按时间顺序进行排列,相邻的两个时刻之间的时间段用ϖ表示,设Ω为这些时间段的集合;
(1)
(2)
(3)
①节点出入动车组均衡约束,也即动车组进入某节点,必然从该节点离开:
(4)
②满足节点运输能力需求约束,也即进入节点的动车组车厢节数要满足该节点所需的动车组车厢节数:
(5)
③站台长度约束,也即在目标线路内,动车组列车长度不能超过站台允许的列车长度:
(6)
④检修边和非检修边互斥约束,也即对于相同的两个节点之间的边来说,同一列车对应的检修边和非检修边不能同时被包含在最终方案之中:
(7)
⑤检修次数约束,即该动车组跨过表时刻(投入运营),则该动车组需进行检修:
(8)
此约束的表面含义为检修次数和跨过表时刻相等,其实质为若动车组e跨过表时刻,则其为运用动车组,该动车组在48 h内必须进行一次一级检修(若不跨过表时刻,则该动车组为备用动车组或检修动车组,无需进行一级检修作业)。
⑥一级检修的累计里程约束,即两次一级检修之间,动车组走行的累计公里数不能超过规定的最大检修累计里程:
(9)
⑦动车段的检修能力约束,也即在任何一个时间段ϖ内,检修车辆数均不能超过该时段的检修能力:
(10)
显然,由于动车组周转图呈现出周期性,且需要满足均衡约束,动车组运用数目的多少,可以通过周转图上跨越00:00的动车组台数反映。文中以最少动车组运用台数为目标,也即过检修边的动车组数最少和过检修边的动车组车厢节数最少:
(11)
(12)
此外,为避免不必要的空走作业浪费资源,故加入目标空走次数和空走里程最小:
(13)
(14)
如图10所示的目标高铁线路中,一共5个车站,按其下行方向顺序依次为站Z1、站Z2、站Z3、站Z4和站Z5,其中站Z1、站Z3和站Z5为“起终站”,站Z2和站Z4为普通中间站,站Z3为动车段所在站。
站间距(区间里程)数据如表1所示。
图11为目标线路所使用的基本列车运行图。
表2为图11对应的列车时刻表。
图10 目标高铁线路
表1 站间距
图11 基本列车运行图
表2 列车时刻表
已知该线路上一共有12组可运用的动车组,其基本信息如表3所示。
表3 可运用的动车组信息
在“起终站”和动车段所在站的周转接续标准时间如表4所示。
根据算例中的“起终站”,可将图11中的基本运行图转化为图12。
表4 周转接续标准时间数据
对图12所示运行图进行增广操作,得到图13所示的增广列车运行图。
图13 增广列车运行图
文中用Python语言编程构建图13对应的动车组接续网络,并计算得到相关参数,运用OPL建模语言构建动车组列车流量模型,并输入算例数据后调用CPLEX求解器求解得到的全局最优解动车组车组数为9(动车组车厢数为132),也即只需9组动车组投入运营,3组动车组备用(或处于二级及以上检修状态)即可。根据求解结果,相应的动车组周转计划如图14所示,图中虚线代表空车回送。
针对我国高铁动车组周转的实际情况,在检修条件下考虑了重联编组和空车回送等实际情况,虽然为了保证动车组周转运用的周期性,文中采用的增广运行图的方式所求得的结果有可能并非是实际动车组周转问题的最优解,但有利于实际的调度指挥工作,具备良好的实用性。
随着我国高速铁路的飞速发展,动车组周转优化问题也不可避免的会出现新的情况,本文模型中给出的约束属于符合当前条件的基本约束,在未来可以根据实际情况,针对运营调度或管理者的要求增加新的约束或对现有约束进行修改,比如不同车站站台对停靠动车组列车的长度要求不同、允许动车组载客重联或解编等,从而进一步提高所编制 车底运用计划的适用性。
图14 动车组周转计划