Upload
doquynh
View
217
Download
0
Embed Size (px)
Citation preview
Ralf Borndörfer DFG Research Center MATHEON “Mathematics for key technologies”Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB)Löbel, Borndörfer & Weider GbR (LBW)
[email protected] http://www.zib.de/borndoerfer
Ralf Borndörferjoint work with
Martin Grötschel Andreas Löbel Steffen Weider
Block Course at TU Berlin "Combinatorial Optimization at Work“
October 4 – 15, 2005
09M1Vehicle Scheduling Problems
Ralf Borndörfer
2
Outline
Introduction
Single Depot Vehicle Scheduling
Multiple Depot Vehicle Scheduling
Lagrangean Relaxation
ExtensionsTrip Shifting
Integrated Vehicle and Duty Scheduling
Trip Scheduling
Ralf Borndörfer
3
BVG (Berlin)
Ralf Borndörfer
4
bus costs (DM) urban % regional
73.5 195,000
30,000
12,900
10,000
18,000
5,000
18,000
288,900
7.4
3.2
2.9
4.7
1.0
7.1
100.0
crew
depreciation
calc. interest
materials
fuel
repairs
other 34,000 7.2
total
%
349,600 67.5
35,400 10.4
15,300 4.5
14,000 3.5
22,200 6.2
5,000 1.7
475,500 100.0
Leuthardt Survey(Leuthardt 1998, Kostenstrukturen von Stadt-, Überland- und Reisebussen, DER NAHVERKEHR 6/98, pp. 19-23.)
Ralf Borndörfer
5
Vehicle Utilization
Ralf Borndörfer
6
"Camel Curve"
68
Ralf Borndörfer
7
Interlining
too short to turntoo long to wait
best choice
Ralf Borndörfer
8
Outline
Introduction
Single Depot Vehicle Scheduling
Multiple Depot Vehicle Scheduling
Lagrangean Relaxation
ExtensionsTrip Shifting
Integrated Vehicle and Duty Scheduling
Trip Scheduling
Ralf Borndörfer
9
Sea Freight(Koopmans 1965, 7 sources, 7 sinks, all sea links)
Ralf Borndörfer
10
Optimal Allocation of Scarce Resources(Nobel Price in Economics 1975)
Leonid V. Kantorovich Tjalling C. Koopmans
Ralf Borndörfer
11
Single Depot Vehicle Scheduling
The Assignment ProblemInput: 3 Buses, 3 trips, costs
Output: cost minimal assignment
1 2 3
34
33
76 7
8 10
1 2 3
SolutionCost = 20
Buses
Trips
Ralf Borndörfer
12
SolutionCost = 17
Single Depot Vehicle Scheduling
The Greedy-Heuristikheuretikos (gr.): inventiveheuriskein (gr.): to find
1 2 3
34
33
76 7
8 10
1 2 3
Buses
Trips
Ralf Borndörfer
13
Single Depot Vehicle Scheduling
The Greedy-Heuristikheuretikos (gr.): inventiveheuriskein (gr.): to find
1 2 3
34
33
76 7
8 10
1 2 3
Buses
Trips
SolutionCost = 16
Ralf Borndörfer
14
OptimumCost = 15
Single Depot Vehicle Scheduling
The "Primal Problem"Minimum Cost
Assignment
The "Dual Problem"Maximum Sales Revenues
"Shadow Prices"
5 4 0
34
33
76 7
8 10
7 8 9
Buses
Trips
Ralf Borndörfer
15
Mathematical Models(Assignment Problem)
Graph Theoretic Model Integer Programming Model
Linear Programming Relaxation
5 4 0
34
33
76 7
8 10
7 8
11 12 13
21 22 23
31 32 33
11 12 13
21 22 23
31 32 33
11 21 31
12 22 32
13 23 33
11 33
11 33
min 3 3 43 7 67 8 10
s.t. 111111
, , 0, , {0,1}
+ ++ + ++ + +
+ + =+ + =+ + =+ + =+ + =+ + =
≥∈
KK
x x xx x xx x xx x xx x xx x xx x xx x xx x xx xx x
9
Ralf Borndörfer
16
"Shadow Prices"
Ralf Borndörfer
17
Single Depot Vehicle Scheduling
The „Successive Shortest Path“ Algorithm
0 0 033
443
3
33 7
7
66
77 8
81010
0 0 0
Ralf Borndörfer
18
Single Depot Vehicle Scheduling
The „Successive Shortest Path“-Algorithm
0 0 033
443
3
33 7
7
66
77 8
81010
0 0 0
00 0 0
000
Boundcost = 0
Partial sol.cost = 0
Buses
Trips
Ralf Borndörfer
19
Single Depot Vehicle Scheduling
The „Successive Shortest Path“ Algorithm
0 0 030
403
0
30 7
4
62
74 8
5106
0 0 0
00 0 0
000
+3+3
+0 +0 +0Bound
cost = 10Partial sol.cost = 3
+4
Buses
Trips
Ralf Borndörfer
20
Single Depot Vehicle Scheduling
The „Successive Shortest Path“ Algorithm
0 0 030
40-3
0
30 7
4
62
74 8
5106
3 3 4
00 0 0
000 Buses
Trips
Boundcost = 10Partial sol.cost = 3
Ralf Borndörfer
21
Single Depot Vehicle Scheduling
The „Successive Shortest Path“ Algorithm
0 0 030
40-3
0
30 7
4
62
74 8
5106
3 3 4
00 0 0
000
+0+0
+0 +0 +0
+0
Buses
Trips
Boundcost = 10Partial sol.cost = 6
Ralf Borndörfer
22
Single Depot Vehicle Scheduling
The „Successive Shortest Path“ Algorithm
0 0 0-30
403
0
-30 7
4
62
74 8
5106
3 3 4
00 0 0
000 Buses
Trips
Boundcost = 10Partial sol.cost = 6
Ralf Borndörfer
23
Single Depot Vehicle Scheduling
The „Successive Shortest Path“ Algorithm
0 0 0-30
403
0
-30 7
4
62
74 8
5106
3 3 4
00 0 0
000
+5+4
+5 +4 +0
+5
Buses
Trips
Bound= 15
= 15
costPartial sol.cost
Ralf Borndörfer
24
Single Depot Vehicle Scheduling
The „Successive Shortest Path“ Algorithm
5 4 030
-403
1
-30 7
3
61
70 -8
0101
7 8 9
00 0 0
000 Buses
Trips
Boundcost = 15Partial sol.cost = 15
Ralf Borndörfer
25
The „Successive Shortest Path“ AlgorithmPath Search
Solution + Proof
Efficient
Single Depot Vehicle Scheduling
5 4 030
403
1
30 7
3
61
70 8
0101
7 8 9
Buses
Trips
Boundcost = 15Solution
cost = 15
Ralf Borndörfer
26
D D 1 2 3
D D 1 2 3
4
4
1
1
2
2
3
3
D
D
4
4
Single Depot Vehicle Scheduling(Assignment Model)
1
1
2
2
3
3
D
D
4
4
D D 1 2 3
D D 1 2 3
4
4
D D 1 2 3
D D 1 2 3
4
4
Ralf Borndörfer
27
SPEC
Ralf Borndörfer
28
Outline
Introduction
Single Depot Vehicle Scheduling
Multiple Depot Vehicle Scheduling
Lagrangean Relaxation
ExtensionsTrip Shifting
Integrated Vehicle and Duty Scheduling
Trip Scheduling
Ralf Borndörfer
29
Vehicle Scheduling
InputTimetabled and deadhead tripsVehicle types and depot capacitiesVehicle costs (fixed and variable)
OutputVehicle rotations
ProblemCompute rotations to cover all timetabled trips
GoalsMinimize number of vehiclesMinimize operation costsMinimize line hopping etc.
Ralf Borndörfer
30
Graph Theoretic Model
Ralf Borndörfer
31
Example: Regensburg
Ralf Borndörfer
32
Vehicle Scheduling
Definition + cost of deadhead tripsPrecise control at point, time, or tripChanges of vehicles, lines, modes, turning, etc.Automatic generation of pull-out-pull-in tripsMaintencance of all possible deadhead trips
Depot capacities (soft)
Fleet minimum: pull-in tripsNo line changes: interlining tripsTurning: turnsPeaks: pull-in/pull-out tripsDepot capacities: soft upper limits
Ralf Borndörfer
33
Timelines
d
d
Ralf Borndörfer
34
Integer Programming Model(Multicommodity Flow Problem)
0
min
0 , Vehicle flow
0 Aggregated flow
1 Timetabled trips
Depot capacities
{0,1} , Deadhead trips
− = ∀
= ∀
= ∀
≤ ∀
∈ ∀
−
∑∑
∑ ∑
∑∑ ∑∑
∑∑
∑
d dij ij
d ij
d dij jk
i kd dij jk
d i d kdij
d id
j dj
dij
c x
x x j d
x x j
x j
x d
x ij d
κ
Ralf Borndörfer
35
Theoretical Results
Observation: The LP relaxation of theMulticommodity Flow Problem is in general notinteger.
Theorem: The Multicommodity Flow Problem isNP-hard.
Theorem (Tardos et. al.): There are pseudo-polynomial time approximation algorithms to solve the LP-relaxation of Multicommodity FlowProblems which are faster than general LP methods.
Ralf Borndörfer
36
Outline
Introduction
Single Depot Vehicle Scheduling
Multiple Depot Vehicle Scheduling
Lagrangean Relaxation
ExtensionsTrip Shifting
Integrated Vehicle and Duty Scheduling
Trip Scheduling
Ralf Borndörfer
37
Lagrangean Relaxation
min
0
=
=
≥
T
bBx dx
c xAx
min (
0
max )+ −
=
≥
T b
dx
c x Ax
Bxλ
λ
(max min )+ −Ti ii
bc x Axλ
λ( )max fλ
λ
=
==
x1
x2
x3x4
P(A,b)
f1
f2
f3
f4fP(A,b)∩P(B,d)
Ralf Borndörfer
38
Bundle Method(Kiwiel [1990], Helmberg [2000])
max
X polyhedral (piecewise linear)
λ
f
λ1
1fλ
λ2
f̂
λ3
μ μ μλ λ= + −T T( ) ( )f c x b Ax
+ = − −2
1ˆ ˆargmax ( )
2k
k k kuf
λλ λ λ λ
∈=ˆ ( ) : min ( )
kk Jf fμμ
λ λ
∈= + −T T( ) : min ( )
x Xf c x b Axλ λ
Ralf Borndörfer
39
Primal Approximation
Theorem
∈⇒ %( )k k Nx converges to a point { }∈ = ∈: ,x x Ax b x X
T( ) ( )k k kf c x b Axλ λ= + −% % %k̂f
z
f
λ
1kf +%
1kλ +
+∈
= ∑% 1k
kJ
x xμ μμ
α
+∈
= + −∑11ˆ ( )
k
k kJ
b Axu μ μ
μλ λ α
0 ( )kb Ax k− → →∞%
Ralf Borndörfer
40
Quadratic Subproblem
− −2ˆ ˆmax ( )
2k
k kuf λ λ λ(1)
μ
λ λ
λ μ
− −
≤ ∈
2ˆmax2
s.t. ( ), for all
kk
k
uv
v f J
(2)
μ μ μ μμ μ
μμ
μ
α λ α
α
α μ
∈ ∈
∈
− −
=
≤ ≤ ∈
∑ ∑
∑
21ˆmax ( ) ( )
2
s.t. 1
0 1, for all
k k
k
kJ J
J
k
f b Axu
J
(3)
⇔
⇔
Ralf Borndörfer
41
Bundle Method(IVU41 838,500 x 3,570, 10.5 NNEs per column)
50
100
150
200
250
300
350
400
20 40 60 80 100 120 140 sec
450
bundlevolumebarrier
cascent
Ralf Borndörfer
42
Lagrangean Relaxation I
0
min
0 , Vehicle flow
0 Aggregated flow
1 Timetabled trips
Depot capacities
{0,1} , Deadhead trips
− = ∀
= ∀
= ∀
≤ ∀
∈ ∀
−
∑∑
∑ ∑
∑∑ ∑∑
∑∑
∑
d dij ij
d ij
d dij jk
i kd dij jk
d i d kdij
d id
j dj
dij
c x
x x j d
x x j
x j
x d
x ij d
κ
Ralf Borndörfer
43
Lagrangean Relaxation I
Subproblem: Min-Cost-Flow (single-depot)
0
min
Vehicle flow0 Aggregated flow
1 Timetabled trips
Depot capacities
{0,1} , Deadhead trips
max 0+
= ∀
= ∀
≤ ∀
∈ ∀
⎡ ⎤⎛ ⎞− −⎢ ⎥⎜ ⎟⎝ ⎠⎣ ⎦
−
∑∑
∑∑ ∑∑
∑∑
∑
∑ ∑d dij ij
d ij
d dij jk
d i d kdij
d id
j dj
dij
d dij jk
i k
c x
x x j
x j
x d
x ij d
x xλ
λ
κ
Ralf Borndörfer
44
Lagrangean Relaxation II
0
min
0 , Vehicle flow
0 Aggregated flow
1 Timetabled trips
Depot capacities
{0,1} , Deadhead trips
− = ∀
= ∀
= ∀
≤ ∀
∈ ∀
−
∑∑
∑ ∑
∑∑ ∑∑
∑∑
∑
d dij ij
d ij
d dij jk
i kd dij jk
d i d kdij
d id
j dj
dij
c x
x x j d
x x j
x j
x d
x ij d
κ
Ralf Borndörfer
45
Lagrangean Relaxation II
Subproblem: Several independent Min-Cost-Flows (single-depot)
0
min
0 , Vehicle flow
0 Aggregated flow
Timetabled tripsDepot capacities
{0,1} , Deadhead trips
max 1+
− = ∀
= ∀
≤ ∀
∈ ∀
⎛ ⎞−⎜ ⎟
⎝ ⎠
−
∑∑
∑ ∑
∑∑ ∑∑
∑
∑∑d dij ij
d ij
d dij jk
i kd dij jk
d i d k
dj d
j
dij
dij
d i
c x
x x j d
x x j
x d
x ij d
xλ
λ
κ
Ralf Borndörfer
46
Heuristics
Cluster First – Schedule Second"Nearest-depot" heuristic
Lagrange Relaxation II + tie breaker
Schedule First – Cluster SecondLagrange relaxation I
Schedule – Cluster – RescheduleSchedule: Lagrange relaxation I
Cluster: Look at paths
Solve a final min-cost flow
Plus tabu search
Ralf Borndörfer
47
Lagrangean Relaxation Algorithm
Ralf Borndörfer
48
Computational Results
BVG HHA VHH
depots 10 14
40
timetabled trips 25,000 16,000 5,500
deadheads 70,000,000 15,100,000 10,000,000
cpu mins 200 50 28
vehicle types 44
10
19
Ralf Borndörfer
49
UmlaufoptimierungUmlaufoptimierung mit MICROBUS 2
26.02.2002 4Heiko Klotzbücher
Erzielte Einsparungen durch die Umlaufoptimierung:
Im Busbereich wurden bei einer Gesamtzahl von knapp über 200 Fahrzeugen 5 Busse eingespart.
Im Bahnbereich wurden aufgrund der fehlenden Leerfahrt-und Überholmöglichkeiten keine Fahrzeuge eingespart.
Slide of SWB
Ralf Borndörfer
50
Outline
Introduction
Single Depot Vehicle Scheduling
Multiple Depot Vehicle Scheduling
Lagrangean Relaxation
ExtensionsTrip Shifting
Integrated Vehicle and Duty Scheduling
Trip Scheduling
Ralf Borndörfer
51
Trip Shifting
Ralf Borndörfer
52
Integer Programming Model(Multicommodity Flow Problem)
,
, ,
,
0,
min
0 , , Vehicle flow
0 Aggregated flow
1 Timetabled trips
Depot capacities
{0,1} , , Deadhead trips
− = ∀
= ∀
= ∀
≤ ∀
∈ ∀
−
∑∑
∑ ∑
∑∑ ∑∑
∑∑
∑
d dij ij
d ij
d dij jk
i kd dij jk
d i d k
dij
d i
dj d
j
dij
c x
x x j d
x x j
x j
x d
x ij d
ε εε
ε ε
ε εε ε
ε
εε
ε
ε
κ
ε
Ralf Borndörfer
53
Outline
Introduction
Single Depot Vehicle Scheduling
Multiple Depot Vehicle Scheduling
Lagrangean Relaxation
ExtensionsTrip Shifting
Integrated Vehicle and Duty Scheduling
Trip Scheduling
Ralf Borndörfer
54
Efficiency
50
60
70
80
90
100
55 60 65 70 75 80 85 90Efficiency of Vehicle Schedule [%]
Effic
ienc
y of
Dut
ySc
hedu
le [%
] 53,44% 58,00% 63,90%
A
B C
(A) Sequential Scheduling(B) Duty Oriented Vehicle Scheduling(C) Integrated Scheduling
Ralf Borndörfer
55
Regional Scenarios
Max. duty time 8:00
6:00
6:00 2:00
2:00 6:00
6:00 2:00
2:00
hh:mm deadhead trip (1:00)timetabled trip
6:00
6:00 2:00
2:00
Ralf Borndörfer
56
δδ
=
= ∀= ∀ ∈= ∀ ∈
≤
∈
+
=∈
−
T
out
in
T(ISP) min(1a)(1b)(1c
0, depots ( ( )) 1, \ { } ( ( )) 1, \ {)
(2a)}
{0,
1
{0,1}
(2b)(3) 0
,1}
D
m n
c xN
d y
A
x Dx v v V tx v v V
yBy b
x Dyy
s
Cx
⎧= ⎨⎩
1, if deadhead covers duty element :
0, elsedt
d tC
⎧= ⎨⎩
1, if duty d covers duty elements :
0, sonstdt
tD
Integer Programming Model
Ralf Borndörfer
57
Lagrangean Relaxation
Dual Problem: Find multipliers λ maximizing f
Primal Problem: Find fractional solution(x,y)∈[0,1]mxn fulfilling (1), (2), (3)
Note: Integrality relaxed
∈∈
=
=
−− +
=
6 4 4 4 4 4 4 4 44 7 4 4 4 4 4 4 4 4 48
1 4 4 44 2 4 4 4 43 1 4 4 44 2 4 4 4 43
T T
y fulfills (2) and[0,
T T
fulfills (1) and{0,1 1]}
( ) :
max
: ( ) : (
mam x (n ( ))
)
inm
V D
yx
x
c C d D y
f
f f
xλ
λ
λ
λ
λ
λ
Ralf Borndörfer
58
Outline
Introduction
Single Depot Vehicle Scheduling
Multiple Depot Vehicle Scheduling
Lagrangean Relaxation
ExtensionsTrip Shifting
Integrated Vehicle and Duty Scheduling
Trip Scheduling
Ralf Borndörfer
59
Trip Scheduling
InputLines with lengths and speed profilesPassenger volume, frequency, and regularity profilesVehicle types with speeds and capacitiesDepot capacities
OutputTrips and vehicle rotations for all lines
ProblemSchedule trips and vehicle rotations to transport passengers
GoalsMaximize trip regularityMinimize number of passengers left behindMinimize number of vehicles
Ralf Borndörfer
60
Graph Theoretic Model
6:306:31
7:30
8:30
9:30
Ralf Borndörfer
61
Integer Programming Model
00
0
min
0 , Vehicle flow
1 Timetabled trips
Frequencies
Pax volume
Depot capacities
{0,1} , Deadhead trips
∈
∈
− = ∀
≤ ∀
≥ ∀
≥ ∀
≤ ∀
∈ ∀
∑∑
∑ ∑
∑∑
∑∑
∑∑
∑
l
l
l
l
l
l
dj
d j
d dij jk
i kdij
d idij
d ij H
d dij
d ij H
dj d
j
dij
x
x x j d
x j
x H
x d H
x d
x ij d
f
κ
κ
Ralf Borndörfer
62
Computational Results
1 2
lines 11 38
2
frequency 12 38
pax/line/hour > 1,000 > 1,000
vehicles ~ 300 ~ 700
hours 3 3
vehicle types 2
Ralf Borndörfer
63
Thank you for your attention.