铁路客运站到发线运用方案是客运站作业计划的重要内容之一,其目的在于最大限度地满足不同类型的列车按照运行计划在客运站进行到发的作业需求.合理的到发线运用计划不仅是列车在站安全地完成行车作业的基本保障,而且可以实现方便旅客乘降、提高客运站作业效率以及保证客运站设备均衡使用等.但是,当恶劣天气、线路故障等原因导致列车大量晚点到达,导致客运站到发线能力紧张时,原有的到发线运用方案已不能适应变化了的列车作业要求,必须对客运站到发线运用方案进行调整,以保证列车运行安全和尽快恢复列车正点运行.
车站到发线运用方案编制问题是近年来国内外学者研究的热点问题.国内学者一般使用线性0-1规划模型[1-2]、非线性0-1规划模型[3-4]混合整数规划模型[5]对车站到发线运用方案编制问题进行描述,模型的优化目标主要为最小化到发线使用成本[1-3]、均衡使用到发线[4]及最小化列车停站时间[7]等,求解模型所采用的算法也以模拟退火算法[1-2]、蚁群算法[3]、遗传算法[4]、拉格朗日松弛算法[5]等启发式算法为主,这是由于车站到发线运用方案编制问题本质上是NP难题(non-deterministic polynomial, NP-Hard)问题[5].国外与车站到发线运用方案编制问题相关的研究可参考文献[6].国外学者主要将车站到发线运用方案编制问题抽象为节点紧模型(node packing model, NPP)[7]、集合紧模型(set packing model, SPP)[8]及图着色问题[9]等经典问题求解,也有国外学者直接使用线性0-1规划模型[10]或二次0-1规划模型[11]对车站到发线运用方案编制问题进行描述,同时还有国外学者[12]设计了模拟现场调度员思路的启发式方法来解决车站到发线运用方案编制问题.国外学者的研究主要包括最小化到发线使用成本[8,11]、最大化车站通过能力[7]及最小化列车到达和出发晚点时间[12]等,所采用的算法以特殊设计的分枝定价算法[7-8]及分枝定界定价算法[11]为主.
国内外学者除对如何合理、高效地编制车站计划到发线运用方案进行了大量研究工作,也有一部分学者对到发线运用方案调整问题进行了研究.王栋[13]阐述了到发线运用计划调整的可行措施,包括改变列车停靠到发线、列车到达和出发时间及列车到发线占用时间等,并建立了对应于4种优化指标下的实时调整模型.乔瑞军[14]以列车对到发线使用偏好为首要目标、以列车实际到发时间与理想到发时间的偏离程度为次要目标,建立了列车延误情况下的铁路客运站到发线运用方案调整优化模型,并设计了先考虑到发线运用、后考虑列车到发时间的分步求解算法.朱昌锋[15]分析了到发线运用方案实时调整对于辅助列车调度员工作的必要性,并提出了基于滚动时域的到发线运用方案动态调整策略.
与前人的研究工作相比,本文主要有以下3个方面的贡献.首先,考虑了在列车大量晚点到达的情况下,如何在短时间内对列车的到达和出发时间以及列车所分配到发线进行综合优化调整,以保证列车运行安全和尽快恢复列车的正常运行秩序; 其次,采用0-1变量描述列车占用离散的铁路到发线时空资源的冲突关系,从而避免了大M法中复杂的列车占用到发线先后顺序变量; 最后,基于铁路到发线时空资源占用冲突分步求解的思路,设计了高效的遗传模拟退火算法以快速得到问题的满意解,并通过实例验证了模型和算法的有效性.
本文首先分析了铁路到发线资源的离散化时空描述方法,在此基础上以列车加权总晚点时间与到发线使用费用之和最小为优化目标,以保证列车运行安全和满足列车在站到发作业要求为约束条件,建立了求解客运站到发线运用方案调整问题的线性0-1规划模型,并设计了遗传模拟退火算法对模型进行求解,从而解决了客运站到发线运用方案调整问题.
1 问题分析1.1 铁路到发线资源的时空描述
铁路客运站到发线资源是具有时间和空间双重属性的二维资源.对于到发线运用问题,客运站拥有的空间资源集合为其到发线集合,时间资源为问题所研究的时间段.令以时间间隔Δτ为单位对所研究时段$ \mathscr{T}$离散化后,共有|T|个时间间隔,|T|=[$ \mathscr{T}$/Δτ],到发线数量为|I|,则客运站的到发线资源可描述为二维资源矩阵X.

$ \mathit{\boldsymbol{X}} = \left[ {{x_{i,t}}} \right] = \left[ {\begin{array}{*{20}{c}} {{x_{1,1}}}&{{x_{1,2}}}& \cdots &{{x_{1,\left| T \right|}}}\\ {{x_{2,1}}}&{{x_{2,2}}}& \cdots &{{x_{2,\left| T \right|}}}\\ \cdots & \cdots & \cdots & \cdots \\ {{x_{\left| I \right|,1}}}&{{x_{\left| I \right|,2}}}& \cdots &{{x_{\left| I \right|,\left| T \right|}}} \end{array}} \right] $

式中:xi,t表示到发线资源(i,t)的状态.

$ {x_{i,t}} = \left\{ {\begin{array}{*{20}{c}} \begin{array}{l} 1,\\ 0, \end{array}&\begin{array}{l} 到发线资源\;i,t\;被使用\\ 到发线资源\;i,t\;未被使用 \end{array} \end{array}} \right. $

将到发线资源离散化后,可以对列车占用和腾空到发线的过程进行更加准确、直观的描述.对于如图1a所示包含4条到发线、2条正线的铁路客运站A,有5列列车在1h内在客运站进行作业,列车对到发线资源的占用包括列车在被分配到发线上从接车开始到作业完毕再到出清到发线的时间段,其运行如图1b和图1c所示.以5 min为时间间隔为例对到发线时空资源进行离散化,则该客运站在该运行图下资源使用情况可描述如图2a,其到发线资源矩阵XA可描述如图2b.

图1 客运站A布置及列车运行Fig.1 Layout and train diagrams of passenger station A
图2 到发线资源使用情况及到发线资源矩阵Fig.2 Arrival and departure track resource usage and its time-space resource matrix

根据以上定义,列车在站作业过程对到发线资源占用有如下特征:
(1) 列车使用的唯一性特征.列车一次作业只能使用唯一的一条到发线;
(2) 到发线资源一次性使用特征.同一到发线资源元素最多只能被一次作业使用,即xi,t≤1;
(3) 连续使用特征.列车在使用到发线时将至少使用1个到发线资源,当使用多个时,到发线资源总是在时间上被连续使用,如某列车从时间t开始使用到发线i,且总使用时间间隔数为Δt时,xi,t=xi,t+1=xi,t+2=…=xi,t+Δt.
1.2 铁路到发线运用问题分析
铁路客运站一般通过编制到发线运用方案来合理使用到发线资源,方便旅客乘降.但当发生列车大量晚点时,原有的到发线运用方案已不能适应列车的到发作业要求,导致客运站到发线能力紧张,从而必须将列车运行计划与客运站到发线运用方案综合起来进行优化调整.因此,本文研究在固定数量到发线的客运站中,多列不同等级的列车由于不可抗拒原因晚点到达客运站时,如何合理调整客运站到发线运用方案和列车运行计划,以保证列车运行安全和尽快恢复列车正点运行.
根据列车占用到发线时空资源的特征,在调整到发线运用方案时,要考虑列车占用到发线的唯一性和连续性.此外,为满足旅客的出行方便和乘降作业要求,一般情况下被调整列车的实际到达和出发时间应分别不早于其计划到达和出发时间,并保证被调整列车的运行安全.在满足以上条件的基础上,考虑不同列车等级和列车对到发线的使用要求,实现在保证列车运行安全的同时,充分利用客运站通过能力,最小化晚点发生后列车加权总晚点时间与到发线使用费用之和.
2 模型构建2.1 参数及变量说明2.1.1 参数说明
参数汇总见表1.如非特别提及,所有与时间相关的参数和变量的取值均为时间间隔Δτ的整倍数.

参数描述
L列车集合,用下标l索引
S列车晚点发生时间
L1晚点列车集合
I客运站到发线集合,用下标i索引
Il列车l可以使用的到发线集合
cl,i列车l使用到发线i的费用
πl0-1参数,为1则表示列车l为上行列车,否则为0
ql,i0-1参数,为1则表示列车晚点发生前,列车l初始被分配使用到发线i,否则为0
T研究时段
tl, a列车l计划到达时间
tl, d列车l计划出发时间
tl, a1列车l晚点后预计到达客运站的时间
tl, d1列车l晚点后预计从客运站出发的时间
Δl列车l到发线计划作业时间
Pl列车l等级
D到发线作业安全间隔时间
MT研究时段长度与到发线作业安全间隔时间之和
Δmax所有列车到发线计划作业时间的最大值
ha车站到达追踪间隔时间
hd车站出发追踪间隔时间
α目标函数加权系数
M极大常数
下载CSV表1 参数说明Tab.1 Parameter definitions

2.1.2 变量说明
对任意列车l、k(l,k∈L)、任意一条到发线i(i∈I)和任意时刻t(1≤t≤MT),模型定义如下:
(1) 到发线选择变量

$ {w_{l,i}} = \left\{ {\begin{array}{*{20}{c}} \begin{array}{l} 1,\\ 0, \end{array}&\begin{array}{l} 列车\;l\;选择了到发线\;i\\ 列车\;l\;未选择到发线\;i \end{array} \end{array}} \right. $
$ {z_{l,k}} = \left\{ {\begin{array}{*{20}{c}} \begin{array}{l} 1,\\ 0, \end{array}&\begin{array}{l} 列车\;l\;与列车\;k\;选择了同一条到发线\\ 列车\;l\;与列车\;k\;未选择同一条到发线 \end{array} \end{array}} \right. $

(2) 列车占用到发线状态变量xl,i,t

$ {x_{l,i,t}} = \left\{ {\begin{array}{*{20}{c}} \begin{array}{l} 1,\\ 0, \end{array}&\begin{array}{l} 时间\;t\;时,列车\;l\;正在占用到发线\;i\\ 时间\;t\;时,列车\;l\;未占用到发线\;i \end{array} \end{array}} \right. $

(3) 为描述列车的到达、出发过程,定义了到发线使用状态变量ul,i,t和到发线腾空状态变量vl,i,t,分别表示列车l接车到达和发车离开所导致的到发线状态.

$ {u_{l,i,t}} = \left\{ {\begin{array}{*{20}{c}} \begin{array}{l} 1,\\ 0, \end{array}&\begin{array}{l} 时间\;t\;时,列车\;l\;尚未到达到发线\;i\\ 时间\;t\;时,列车\;l\;已经到达到发线\;i \end{array} \end{array}} \right. $
$ {v_{l,i,t}} = \left\{ {\begin{array}{*{20}{c}} \begin{array}{l} 1,\\ 0, \end{array}&\begin{array}{l} 时间\;t\;时,列车\;l\;已经腾空到发线\;i\\ 时间\;t\;时,列车\;l\;尚未腾空到发线\;i \end{array} \end{array}} \right. $

由xl,i,t、ul,i,t和vl,i,t的定义可知,这三者存在关系如下:

$ x_{l, i, t}=1-\left(u_{l, i, t}+v_{l, i, t}\right) $(1)

例如对于图1示例客运站A,当列车l在时刻5占用下行到发线5并在时刻20离开,上述3个变量ul,i,t、vl,i,t和xl,i,t对于该过程描述的取值分别如图3所示.

图3 到发线二维状态变量取值Fig.3 Values of the two-dimensional arrival and departure track state variables

(4) 列车到达和出发先后顺序变量

$ {\lambda _{l,k}} = \left\{ {\begin{array}{*{20}{c}} \begin{array}{l} 1,\\ 0, \end{array}&\begin{array}{l} 列车\;l\;在列车\;k\;之前到达客运站\\ 列车\;l\;在列车\;k\;之后到达客运站 \end{array} \end{array}} \right. $
$ {\mu _{l,k}} = \left\{ {\begin{array}{*{20}{c}} \begin{array}{l} 1,\\ 0, \end{array}&\begin{array}{l} 列车\;l\;在列车\;k\;之前从车站出发\\ 列车\;l\;在列车\;k\;之后从车站出发 \end{array} \end{array}} \right. $

(5) 列车实际到达时间yl,a和列车实际出发时间yl,d

$ y_{l, \mathrm{a}}=M_{\mathrm{T}}-\sum\limits_{i \in I} \sum\limits_{t=1}^{M_{\mathrm{T}}}\left(1-u_{l, i, t}\right) $(2)
$ y_{l, \mathrm{d}}=M_{\mathrm{T}}-\sum\limits_{i \in I} \sum\limits_{t=1}^{M_{\mathrm{T}}} v_{l, i, t} $(3)