博客与论文原文
论文:Yin J, Pu F, Yang L, et al. Integrated optimization of rolling stock allocation and train timetables for urban rail transit networks: A benders decomposition approach[J]. Transportation Research Part B: Methodological, 2023, 176: 102815.
引言
- 随着轨道交通的快速发展,大城市的轨道交通系统正在演变成一个由多条相互连接的线路和车辆段组成的复杂网络,需要从网络层面对城市轨道交通系统进行运营管理。
- 现有的关于列车时刻表与列车车辆调度研究更集中于单条线路。以线路为单位的管理无法充分利用有限的车辆资源,在实践中可能是不可行的。
- 该论文正式探讨了具有多条相连线路和车辆段的城市轨道交通网络中列车车辆分配和时刻表的联合优化问题(RATT),同时从运营商的角度优化投资成本,从乘客出行的角度优化服务质量。
- 通过构建时空网络,将RATT问题表述为MILP模型。针对所构建的模型开发了一种基于 Benders 分解的求解方法,将 MILP 分解为一个列车车辆分配问题(主问题)和一组独立的子问题,这些子问题与每条线路的列车时刻表问题相对应。尽管子问题中仍包含整数变量,但通过分析其数学特性,证明了大量子问题在经过适当的重新表述后,在一定条件下可以直接从松弛模型中得到整数解。因此,这些子问题可以通过线性松弛快速求解,从而大大提高了求解大规模实例的计算效率。
一、模型概述
二线两车辆段轨道交通网络布局
二、基础建模(可以适当省去定理等过于理论的描述)
2.1 符号简介
- 基本符号
l ∈ L l \in L l∈L 表示城市轨道交通中的线路;
i , j ∈ S l , S l = S l u p ∪ S l d n i,j \in {S_l},\;{S_l} = S_l^{{\rm{up}}} \cup S_l^{{\rm{dn}}} i,j∈Sl,Sl=Slup∪Sldn 表示线路 l l l上的车站(包括上行车站以及下行车站);
d ∈ D d \in D d∈D 表示车辆段;
L d ⊂ L {L_d} \subset L Ld⊂L 能被车辆段 d d d服务的线路集合;
S l d ⊂ S l S_l^d \subset {S_l} Sld⊂Sl 线路 l l l上与车辆段 d d d连接的车站集合;
- 车辆时空网络
n i , t ∈ N , i ∈ S ∪ D , t ∈ T {n_{i,t}} \in N,i \in S \cup D,t \in T ni,t∈N,i∈S∪D,t∈T 每个点对于物理的车站或者车辆段;
( n i , t , n d , t ′ ) ∈ A E , ( n d , t , n j , t ′ ) ∈ A L ({n_{i,t}},{n_{d,t'}}) \in {A^E},({n_{d,t}},{n_{j,t'}}) \in {A^L} (ni,t,nd,t′)∈AE,(nd,t,nj,t′)∈AL 驶入/驶离车辆段的弧;
( n i , t , n j , t ′ ) ∈ A R ({n_{i,t}},{n_{j,t'}}) \in {A^R} (ni,t,nj,t′)∈AR 列车路径弧;
( n i , t , n j , t ′ ) ∈ A J ({n_{i,t}},{n_{j,t'}}) \in {A^J} (ni,t,nj,t′)∈AJ 列车折返弧;
δ + ( n i , t ) , δ − ( n i , t ) {\delta ^ + }({n_{i,t}}),{\delta ^ - }({n_{i,t}}) δ+(ni,t),δ−(ni,t) t t t时刻节点 n i , t {n_{i,t}} ni,t的流出/流入弧的集合;
δ s + ( n d , t ) , δ s − ( n d , t ) \delta_ s^ + ({n_{d,t}}),\delta_ s^ - ({n_{d,t}}) δs+(nd,t),δs−(nd,t) t t t时刻车辆段 d d d的流出/流入弧的集合;
σ + ( n i , t ) , σ − ( n i , t ) {\sigma ^ + }({n_{i,t}}),{\sigma ^ - }({n_{i,t}}) σ+(ni,t),σ−(ni,t) t t t时刻车站 i i i的与列车移动相关流出/流入弧的集合;
- 决策变量
z d {z_d} zd 表示分配给车辆段 d d d的列车车辆的数量;
r d , l {r_{d,l}} rd,l 分配给车辆段 d d d并分配给线路 l l l的列车车辆的数量;
x a {x_a} xa 弧在列车时刻表中是否被选择;
2.2 RATT模型
- 模型假设
假设1:列车的折返时间以及车站间(或站与车辆段间)的行驶时间是已知的。
假设2:线路上不存在列车超车与列车交会等情况,列车按照先进先出的顺序从始发站运行到终点站。
假设3:列车车辆是相同的,可以用于不同线路。
假设4:假设列车车辆间不存在编组解编等情况。
假设5:利用两个连续车站间的旅行乘客人数作为模型输入的OD数据。
- 目标函数
RATT 问题旨在联合优化列车车辆分配计划和地铁网络列车时刻表。列车车辆分配计划直接决定了地铁运营商的投资成本,其成本定义为:
f
cost
=
∑
d
∈
D
λ
d
z
d
{f_{\text{cost}}} = \sum\limits_{d \in D} {{\lambda_ d}{z_d}}
fcost=d∈D∑λdzd
其中,
λ
d
{{\lambda_ d}}
λd表示车辆段
d
d
d中的列车车辆单位投资成本。
另一个目标函数的重点是为乘客提供的列车时刻的服务质量。本文将整个服务时间
J
J
J范围划分为时间段集合
K
K
K,每个时间段
k
∈
K
k \in K
k∈K由一组连续的时间戳
J
^
k
=
{
T
k
1
,
.
.
.
,
T
k
∣
J
^
k
∣
}
{{\hat J}_k} = \left\{ {T_k^1,...,T_k^{\left| {{{\hat J}_k}} \right|}} \right\}
J^k={Tk1,...,Tk∣J^k∣}构成。定义
d
l
k
i
(
s
)
d_{lk}^i(s)
dlki(s)为时间段
k
k
k内线路
l
l
l上从车站
s
s
s到车站
s
+
1
s+1
s+1的出行乘客数量,因此我们有如下总的乘客需求:
d
l
k
i
=
max
{
d
l
k
i
(
1
)
,
.
.
.
,
d
l
k
i
(
S
l
−
1
)
}
,
i
=
{
0
,
1
}
,
l
∈
L
,
k
∈
K
d_{lk}^i = \max \{ d_{lk}^i(1),...,d_{lk}^i({S_l} - 1)\} ,\quad i = \{ 0,1\} ,l \in L,k \in K
dlki=max{dlki(1),...,dlki(Sl−1)},i={0,1},l∈L,k∈K
其中,
i
=
0
i=0
i=0表示列车上行方向,
i
=
1
i=1
i=1表示列车下行方向。因此通过计算
a
l
,
k
i
=
⌈
d
l
k
i
C
⌉
,
i
∈
{
0
,
1
}
a_{l,k}^i = \left\lceil {\frac{{d_{lk}^i}}{C}} \right\rceil ,i \in \{ 0,1\}
al,ki=⌈Cdlki⌉,i∈{0,1},可以得到时间段
k
k
k内线路
l
l
l的期望的列车服务数量,其中,
C
C
C表示每个列车车辆的容量。那么,网络列车时刻表的 QoS 定义为实际的列车服务数量与期望所需服务数量的偏差,即:
f
service
=
∑
l
∈
L
∑
k
∈
K
∑
i
∈
{
0
,
1
}
∣
α
l
,
k
i
−
∑
a
∈
A
l
,
k
i
x
a
∣
f_{\text{service}} = \sum_{l \in L} \sum_{k \in K} \sum_{i \in \{0, 1\}} \left| \alpha_{l,k}^i - \sum_{a \in A_{l,k}^i} x_a \right|
fservice=∑l∈L∑k∈K∑i∈{0,1}
αl,ki−∑a∈Al,kixa
引入辅助变量
ϕ
l
,
k
0
,
ϕ
l
,
k
1
,
l
∈
L
,
k
∈
K
\phi_ {l,k}^0,\phi_ {l,k}^1,l \in L,k \in K
ϕl,k0,ϕl,k1,l∈L,k∈K,则上述非线性形式的目标函数可以线性化为:
f
service
=
∑
l
∈
L
∑
k
∈
K
(
ϕ
l
,
k
0
+
ϕ
l
,
k
1
)
,
f_{\text{service}} = \sum_{l \in L} \sum_{k \in K} \left( \phi_{l,k}^0 + \phi_{l,k}^1 \right),
fservice=∑l∈L∑k∈K(ϕl,k0+ϕl,k1),
ϕ
l
,
k
i
≥
α
l
,
k
i
−
∑
a
∈
A
l
,
k
i
x
a
,
∀
i
=
0
,
1
,
k
∈
K
,
l
∈
L
\phi_{l,k}^i \geq \alpha_{l,k}^i - \sum_{a \in A_{l,k}^i} x_a, \quad \forall i = 0, 1, \, k \in K, \, l \in L
ϕl,ki≥αl,ki−∑a∈Al,kixa,∀i=0,1,k∈K,l∈L
ϕ
l
,
k
i
≥
∑
a
∈
A
l
,
k
i
x
a
−
α
l
,
k
i
,
∀
i
=
0
,
1
,
k
∈
K
,
l
∈
L
\phi_{l,k}^i \geq \sum_{a \in A_{l,k}^i} x_a - \alpha_{l,k}^i, \quad \forall i = 0, 1, \, k \in K, \, l \in L
ϕl,ki≥∑a∈Al,kixa−αl,ki,∀i=0,1,k∈K,l∈L
因此,为使与列车车辆投资和服务质量相关的加权成本最小化,总的目标函数为:
min
ω
1
∑
d
∈
D
λ
d
z
d
+
ω
2
∑
l
∈
L
∑
k
∈
K
(
ϕ
l
,
k
0
+
ϕ
l
,
k
1
)
\min \, \omega_1 \sum_{d \in D} \lambda_d z_d + \omega_2 \sum_{l \in L} \sum_{k \in K} \left( \phi_{l,k}^0 + \phi_{l,k}^1 \right)
minω1∑d∈Dλdzd+ω2∑l∈L∑k∈K(ϕl,k0+ϕl,k1)
其中,
ω
1
\omega_1
ω1和
ω
2
\omega_2
ω2为权重系数。
- 约束
由于投资的预算有限,因此需要通过以下约束限制线路网络中允许分配的最大车队规模:
∑
d
∈
D
z
d
≤
Z
max
\sum_{d \in D} z_d \leq Z_{\text{max}}
∑d∈Dzd≤Zmax
从车辆段
d
d
d到相连线路
L
d
{L_d}
Ld的列车车辆规模应小于分配给该车辆段的列车的数量:
∑
l
∈
L
d
r
d
,
l
≤
z
d
,
∀
d
∈
D
\sum_{l \in L_d} r_{d,l} \leq z_d, \quad \forall d \in D
∑l∈Ldrd,l≤zd,∀d∈D
列车时刻表受分配给该线路的列车车辆的数量的限制:
∑
t
∈
T
∑
s
∈
S
l
(
∑
a
∈
δ
s
+
(
n
d
,
t
)
x
a
−
∑
a
∈
δ
s
−
(
n
d
,
t
)
x
a
)
≤
r
d
,
l
,
∀
d
∈
D
,
l
∈
L
,
t
∈
J
∖
T
\sum_{t \in T} \sum_{s \in S_l} \left( \sum_{a \in \delta^+_s (n_{d,t} )} x_a - \sum_{a \in \delta^-_s (n_{d,t} )} x_a \right)\leq r_{d,l}, \quad \forall d \in D, l \in L, t \in J \setminus T
∑t∈T∑s∈Sl(∑a∈δs+(nd,t)xa−∑a∈δs−(nd,t)xa)≤rd,l,∀d∈D,l∈L,t∈J∖T
运营初始时间和结束时间的列车车辆规模应该相等,列车车辆的平衡对次日的运行非常重要:
∑
t
∈
T
∑
s
∈
S
l
(
∑
a
∈
δ
s
+
(
n
d
,
t
)
x
a
−
∑
a
∈
δ
s
−
(
n
d
,
t
)
x
a
)
=
0
,
∀
d
∈
D
,
l
∈
L
,
t
=
T
\sum_{t \in T} \sum_{s \in S_l} \left( \sum_{a \in \delta^+_s (n_{d,t} )} x_a - \sum_{a \in \delta^-_s (n_{d,t} )} x_a\right) = 0, \quad \forall d \in D, l \in L, t = T
∑t∈T∑s∈Sl(∑a∈δs+(nd,t)xa−∑a∈δs−(nd,t)xa)=0,∀d∈D,l∈L,t=T
对于非车辆段的车站,需要保持各车站的车流平衡:
∑
a
∈
δ
+
(
n
s
,
t
)
x
a
−
∑
a
∈
δ
−
(
n
s
,
t
)
x
a
=
0
,
∀
l
∈
L
,
s
∈
S
l
,
t
∈
J
\sum_{a \in \delta^+ (n_{s,t} )} x_a - \sum_{a \in \delta^- (n_{s,t} )} x_a = 0, \quad \forall l \in L, s \in S_l, t \in J
∑a∈δ+(ns,t)xa−∑a∈δ−(ns,t)xa=0,∀l∈L,s∈Sl,t∈J
列车追踪间隔约束,即保证每个时间窗口
J
t
h
J^h_t
Jth内,在相同车站最多允许有一趟列车。通过这一约束确保连续列车之间至少有一个最短的间隔时间:
∑
t
∈
J
t
h
∑
a
∈
σ
+
(
n
s
,
t
)
x
a
≤
1
,
∀
l
∈
L
,
s
∈
S
l
,
t
∈
J
\sum_{t \in J^h_t} \sum_{a \in \sigma^+ (n_{s,t} )} x_a \leq 1, \quad \forall l \in L, s \in S_l, t \in J
∑t∈Jth∑a∈σ+(ns,t)xa≤1,∀l∈L,s∈Sl,t∈J
∑
t
∈
J
t
h
∑
a
∈
σ
−
(
n
s
,
t
)
x
a
≤
1
,
∀
l
∈
L
,
s
∈
S
l
,
t
∈
J
\sum_{t \in J^h_t} \sum_{a \in \sigma^- (n_{s,t} )} x_a \leq 1, \quad \forall l \in L, s \in S_l, t \in J
∑t∈Jth∑a∈σ−(ns,t)xa≤1,∀l∈L,s∈Sl,t∈J
目标函数线性化所引入的约束:
ϕ
l
,
k
i
≥
α
l
,
k
i
−
∑
a
∈
A
l
,
k
i
x
a
,
∀
i
=
0
,
1
,
k
∈
K
,
l
∈
L
\phi^i_{l,k} \geq \alpha^i_{l,k} - \sum_{a \in A^i_{l,k}} x_a, \quad \forall i = 0, 1, k \in K, l \in L
ϕl,ki≥αl,ki−∑a∈Al,kixa,∀i=0,1,k∈K,l∈L
ϕ
l
,
k
i
≥
∑
a
∈
A
l
,
k
i
x
a
−
α
l
,
k
i
,
∀
i
=
0
,
1
,
k
∈
K
,
l
∈
L
\phi^i_{l,k} \geq \sum_{a \in A^i_{l,k}} x_a - \alpha^i_{l,k}, \quad \forall i = 0, 1, k \in K, l \in L
ϕl,ki≥∑a∈Al,kixa−αl,ki,∀i=0,1,k∈K,l∈L
变量类型:
x
a
∈
{
0
,
1
}
,
∀
a
∈
A
x_a \in \{0, 1\}, \quad \forall a \in A
xa∈{0,1},∀a∈A
ϕ
l
,
k
i
≥
0
,
∀
i
=
0
,
1
,
l
∈
L
,
k
∈
K
\phi^i_{l,k} \geq 0, \quad \forall i = 0, 1, l \in L, k \in K
ϕl,ki≥0,∀i=0,1,l∈L,k∈K
z
d
∈
{
0
,
1
,
…
,
c
d
}
,
∀
d
∈
D
z_d \in \{0, 1, \dots, c_d\}, \quad \forall d \in D
zd∈{0,1,…,cd},∀d∈D
三、优化模型求解方法
尽管上述模型为MILP模型,但变量和约束的条件会随着涉及的线路和时间戳数量的增加而呈现指数级增长,难以应用于真实场景,因此该论文基于Benders分解开发了一种线性分解算法(line decomposition algorithm, LDP)。LDP 的基本思想是将 RATT 分解为一个列车车辆分配的主问题和一系列独立的子问题,其中每个子问题为给定每条线路可用的列车车辆后的列车调度问题。由于子问题仍然是 MILP 公式,因此标准的 Benders 分解无法直接应用于该问题,为此该论文对子问题进行重新表述,使其可以通过LP松弛达到最优解。
- 主问题:
[MP]
min
ω
1
∑
d
∈
D
λ
d
z
d
+
ω
2
∑
l
∈
L
θ
l
\text{[MP]} \quad \min \omega_1 \sum_{d \in D} \lambda_d z_d + \omega_2 \sum_{l \in L} \theta_l
[MP]minω1∑d∈Dλdzd+ω2∑l∈Lθl
s.t.
{
∑
d
∈
D
z
d
≤
Z
max
,
∀
d
∈
D
∑
l
∈
L
d
r
d
,
l
≤
z
d
,
∀
d
∈
D
θ
l
≥
F
l
X
(
r
)
,
∀
l
∈
L
z
d
∈
{
0
,
1
,
…
,
c
d
}
,
∀
d
∈
D
\text{s.t.} \quad \left\{ \begin{aligned} \sum_{d \in D} z_d &\leq Z_{\text{max}}, \quad \forall d \in D \\ \sum_{l \in L_d} r_{d,l} &\leq z_d, \quad \forall d \in D \\ \theta_l &\geq F_l^X(r), \quad \forall l \in L \\ z_d &\in \{0, 1, \dots, c_d\}, \quad \forall d \in D \end{aligned} \right.
s.t.⎩
⎨
⎧d∈D∑zdl∈Ld∑rd,lθlzd≤Zmax,∀d∈D≤zd,∀d∈D≥FlX(r),∀l∈L∈{0,1,…,cd},∀d∈D
- 子问题:
F l x ( r ) = min ∑ k ∈ K ( ϕ l 0 + ϕ l 1 ) F_l^x(r) = \min \sum_{k \in K} \left( \phi_l^0 + \phi_l^1 \right) Flx(r)=min∑k∈K(ϕl0+ϕl1)
子问题约束同原问题。
为提高子问题的求解效率,该论文将子问题重新表述为基于累计流量的表述:
定义新的整数变量 y a ∈ Z + , a ∈ A y_a \in \mathbb{Z}^+,a \in A ya∈Z+,a∈A表示与弧 a a a相关的累积流量。
y a = ∑ a ′ ∈ A ( a ) x a ′ , ∀ a ∈ A y_a = \sum_{a' \in A(a)} x_{a'}, \quad \forall a \in A ya=∑a′∈A(a)xa′,∀a∈A
则子问题可以表述为:
F
l
y
(
r
)
=
min
∑
k
∈
K
(
ϕ
l
,
k
1
+
ϕ
l
,
k
2
)
F_l^y(r) = \min \sum_{k \in K} (\phi^1_{l,k} + \phi^2_{l,k})
Fly(r)=min∑k∈K(ϕl,k1+ϕl,k2)
∑
s
∈
S
l
(
∑
a
∈
δ
s
+
(
n
d
,
t
)
y
a
−
∑
a
∈
δ
s
−
(
n
d
,
t
)
y
a
)
≤
r
d
,
l
,
∀
d
∈
D
,
t
∈
J
∖
T
\sum_{s \in S_l} \left( \sum_{a \in \delta^+_s (n_{d,t})} y_a - \sum_{a \in \delta^-_s (n_{d,t})} y_a \right) \leq r_{d,l}, \quad \forall d \in D, t \in J \setminus T
∑s∈Sl(∑a∈δs+(nd,t)ya−∑a∈δs−(nd,t)ya)≤rd,l,∀d∈D,t∈J∖T
∑
s
∈
S
l
(
∑
a
∈
δ
s
+
(
n
d
,
t
)
y
a
−
∑
a
∈
δ
s
−
(
n
d
,
t
)
y
a
)
=
0
,
∀
d
∈
D
,
t
=
T
\sum_{s \in S_l} \left( \sum_{a \in \delta^+_s (n_{d,t})} y_a - \sum_{a \in \delta^-_s (n_{d,t})} y_a \right) = 0, \quad \forall d \in D, t = T
∑s∈Sl(∑a∈δs+(nd,t)ya−∑a∈δs−(nd,t)ya)=0,∀d∈D,t=T
∑
a
∈
δ
+
(
n
s
,
t
)
y
a
−
∑
a
∈
δ
−
(
n
s
,
t
)
y
a
=
0
,
∀
s
∈
S
l
,
t
∈
J
\sum_{a \in \delta^+ (n_{s,t})} y_a - \sum_{a \in \delta^- (n_{s,t})} y_a = 0, \quad \forall s \in S_l, t \in J
∑a∈δ+(ns,t)ya−∑a∈δ−(ns,t)ya=0,∀s∈Sl,t∈J
∑
a
∈
σ
+
(
n
s
,
t
+
t
head
)
y
a
−
∑
a
∈
σ
+
(
n
s
,
t
)
y
a
≤
1
,
∀
s
∈
S
l
,
t
,
t
+
t
head
∈
J
\sum_{a \in \sigma^+ (n_{s,t+t_{\text{head}}})} y_a - \sum_{a \in \sigma^+ (n_{s,t})} y_a \leq 1, \quad \forall s \in S_l, t, t + t_{\text{head}} \in J
∑a∈σ+(ns,t+thead)ya−∑a∈σ+(ns,t)ya≤1,∀s∈Sl,t,t+thead∈J
∑
a
∈
σ
−
(
n
s
,
t
+
t
head
)
y
a
−
∑
a
∈
σ
−
(
n
s
,
t
)
y
a
≤
1
,
∀
s
∈
S
l
,
t
,
t
+
t
head
∈
J
\sum_{a \in \sigma^- (n_{s,t+t_{\text{head}}})} y_a - \sum_{a \in \sigma^- (n_{s,t})} y_a \leq 1, \quad \forall s \in S_l, t, t + t_{\text{head}} \in J
∑a∈σ−(ns,t+thead)ya−∑a∈σ−(ns,t)ya≤1,∀s∈Sl,t,t+thead∈J
y
a
−
y
a
′
≥
0
,
∀
(
a
′
,
a
)
∈
A
adjacent
y_a - y_{a'} \geq 0, \quad \forall (a', a) \in A^{\text{adjacent}}
ya−ya′≥0,∀(a′,a)∈Aadjacent
∑
a
∈
A
ˉ
l
,
k
i
y
a
−
∑
a
∈
A
^
l
,
k
i
y
a
+
ϕ
l
,
k
i
≥
α
l
,
k
i
,
∀
i
=
0
,
1
,
k
∈
K
\sum_{a \in \bar{A}^i_{l,k}} y_a - \sum_{a \in \hat{A}^i_{l,k}} y_a + \phi^i_{l,k} \geq \alpha^i_{l,k}, \quad \forall i = 0, 1, k \in K
∑a∈Aˉl,kiya−∑a∈A^l,kiya+ϕl,ki≥αl,ki,∀i=0,1,k∈K
∑
a
∈
A
ˉ
l
,
k
i
y
a
−
∑
a
∈
A
^
l
,
k
i
y
a
−
ϕ
l
,
k
i
≤
α
l
,
k
i
,
∀
i
=
0
,
1
,
k
∈
K
\sum_{a \in \bar{A}^i_{l,k}} y_a - \sum_{a \in \hat{A}^i_{l,k}} y_a - \phi^i_{l,k} \leq \alpha^i_{l,k}, \quad \forall i = 0, 1, k \in K
∑a∈Aˉl,kiya−∑a∈A^l,kiya−ϕl,ki≤αl,ki,∀i=0,1,k∈K
y
a
∈
Z
+
,
∀
a
∈
A
y_a \in \mathbb{Z}^+, \quad \forall a \in A
ya∈Z+,∀a∈A
ϕ
l
,
k
i
≥
0
,
∀
i
=
0
,
1
,
k
∈
K
\phi^i_{l,k} \geq 0, \quad \forall i = 0, 1, k \in K
ϕl,ki≥0,∀i=0,1,k∈K
- 命题1:给定一个对于主问题可行的任意向量 r r r,子问题可行且有界。(证明见原文附录A)
- 命题2:给定一个对于主问题可行的任意向量 r r r,转化前后的子问题是等价的。(证明见原文附录A)
根据以上命题,我们可以得到:
(1)在Benders分解的迭代中只需构造最优割。
(2)转化后的子问题减少了原约束条件中对集合
T
t
T_t
Tt的求和项,求解该子问题能极大减少在CPLEX和Gurobi中构建模型的时间损耗。
但是,尽管 F l y {F}_l^y Fly减少了模型构造时间,但仍然是一个混合整数问题,该论文分析了其LP松弛后的松弛问题 F ˉ l y \bar{F}_l^y Fˉly,定义其约束条件构成的多面体为 P ˉ l y \bar{P}_l^y Pˉly ,得到以下定理:
定理 1:对于任何线路 l ∈ L l \in {L} l∈L,如果满足以下三个条件:
-
对于所有 t ∈ J t \in {J} t∈J 和 s ∈ S ∖ { 1 , S l , S l + 1 , 2 S l } s \in {S} \setminus \{1, S_ l, S_ l+1, 2S_ l\} s∈S∖{1,Sl,Sl+1,2Sl},有 δ s + ( n d , t ) = ∅ \delta^+_ s (n_ {d,t}) = \emptyset δs+(nd,t)=∅ 和 δ s − ( n d , t ) = ∅ \delta^-_ s (n_ {d,t}) = \emptyset δs−(nd,t)=∅ 对于所有 d ∈ D d \in {D} d∈D;
-
对于所有 s ∈ S s \in {S} s∈S 和 t ∈ J t \in {J} t∈J,有 ∣ σ + ( n s , t ) ∣ ≤ 1 |\sigma^+(n_ {s,t})| \leq 1 ∣σ+(ns,t)∣≤1 和 ∣ σ − ( n s , t ) ∣ ≤ 1 |\sigma^-(n_ {s,t})| \leq 1 ∣σ−(ns,t)∣≤1;
-
存在$ d_ 1$ 和$ d_ 2$,其中 d 1 , d 2 ∈ D d_ 1, d_ 2 \in {D} d1,d2∈D,且 d 1 ≠ d 2 d_ 1 \neq d_ 2 d1=d2,使得 ∣ δ 1 + ( n d 1 , t ) ∣ = 1 , ∣ δ 2 S l − ( n d 1 , t ) ∣ = 1 |\delta^+_ 1(n_ {d_ 1,t})| = 1,|\delta^-_ {2S_ l} (n_ {d_ 1,t})| = 1 ∣δ1+(nd1,t)∣=1,∣δ2Sl−(nd1,t)∣=1,并且 ∣ δ S l − ( n d 2 , t ) ∣ = 1 , ∣ δ S l + 1 + ( n d 2 , t ) ∣ = 1 |\delta^-_ {S_ l} (n_ {d_ 2,t})| = 1,|\delta^+_ {S_ {l}+1} (n_ {d_ 2,t})| = 1 ∣δSl−(nd2,t)∣=1,∣δSl+1+(nd2,t)∣=1,对于任意 t ∈ J t \in J t∈J。
则以下陈述成立:
- 与子问题 F l y ( r ) F_ l^y(r) Fly(r)的前6个约束相关的系数矩阵是完全单模的。
- 给定任何对 MP 可行的向量 r r r, P ˉ l y \bar{P}_ l^y Pˉly 是一个整数多面体。
根据该定理,可以通过计算 F ˉ l y \bar{F}_ l^y Fˉly快速得到子问题的解。
根据该定理,可以通过计算 F ˉ l y \bar{F}_ l^y Fˉly快速得到子问题的解。
根据以上的分析,使用LDP方法求解RATT问题的求解框架如下:
首先是基于Benders分解构造主问题和子问题。在求解松弛主问题后得到与列车车辆分配计划相对应的向量 r ∗ r^* r∗。之后,根据这一向量求解与线路相关的子问题的线性松弛问题 F ˉ l y ( r ∗ ) \bar{F}_ l^y(r^*) Fˉly(r∗),生成一系列Benders割,并将其添加到主问题中。在命题1中,对于任意 r r r, F ˉ l y ( r ) \bar{F}_ l^y(r) Fˉly(r)总是可行且有界,因此只需添加Benders最优割,而不需要可行割。
求解框架与参考文献[2]类似。针对RATT问题做了一些改进,在LDP的每次迭代中,在求解松弛主问题及其对应的LP子问题后,对于每个子问题 l ∈ L l \in L l∈L,如果 θ l ∗ \theta _ l^* θl∗的值小于LP子问题的目标函数值,则将一个Benders最优割添加到主问题中。遵循这一迭代过程,计算relaxed gap以检查是否满足终止条件 ϵ \epsilon ϵ。一旦relaxed gap小于 ϵ \epsilon ϵ,以主问题的当前解作为输入参数,对每个整数子问题 F l y ∗ F^{y^*}_ l Fly∗在可接受的时间 t m a x t^{max} tmax内只求解一次,以获得最优解或接近最优解。依次更新实际上界,得到最后的gap。如果所有整数子问题都求解到最优,这意味着最终解是 RATT 的的全局最优解。
四、仿真验证
为了证明所提出的求解方法的效率和有效性,该论文基于北京地铁的真实数据进行了数值实验。
- 将 LDP 的性能与以下benchmark进行比较:默认参数设置下的 CPLEX MILP 求解器(CPX)、基于auto Benders分解的 CPLEX 求解器(Auto-Benders)和基于启发式的随机搜索算法(Random-search)。下图左侧部分的结果表明,在计算时间相同的情况下,与其他三种方法相比,LDP 可以求解更多的最优实例。此外,下图右侧部分显示,对于那些未解至最优的实例,LDP 生成的解具有最小的最优性差距。综上所述,与 CPX、Auto-Benders 和随机搜索相比,LDP 性能最佳,计算时间最短,解质量最高。
- 该论文还将RATT 方法与北京地铁的现有列车分配计划以及列车时刻表(ERAT),以及优化现有列车分配计划及列车时刻表(ORAT)进行比较,从而分析RATT 方法的优势。结果如下图所示。RATT 在三种方法中实现了最佳目标值,平衡了服务质量和列车投资成本。
参考文献
[1] Yin J, Pu F, Yang L, et al. Integrated optimization of rolling stock allocation and train timetables for urban rail transit networks: A benders decomposition approach[J]. Transportation Research Part B: Methodological, 2023, 176: 102815.
[2] Wang, K., & Jacquillat, A. (2020). A stochastic integer programming approach to air traffic scheduling and operations. Operations Research, 68(5), 1375-1402.