SlideShare a Scribd company logo
1 of 29
Download to read offline
Timetabling for Passengers: A Knock-On Delay Model
Timetabling for Passengers:
A Knock-On Delay Model
Peter Sels1,2,3
, Thijs Dewilde1
, Dirk Cattrysse1
, Pieter
Vansteenwegen1
1
Katholieke Universiteit Leuven,
Centre for Industrial Management/Traffic & Infrastructure,
Celestijnenlaan 300a, 3001 Heverlee, Belgium
2
Logically Yours BVBA,
Plankenbergstraat 112 bus L7, 2100 Antwerp, Belgium
e-mail: sels.peter@gmail.com, corresponding author
3
Infrabel, Department of Rail Access,
Frankrijkstraat 91, 1070 Brussels, Belgium
December 5, 2013
Timetabling for Passengers: A Knock-On Delay Model
Table of Contents
1 Business Problem
Task
2 Solution Process Flows
Stochastic Action Model
Stochastic Goal Function: Expected Passenger Transfer Time
Grouping per Subsequent Action-Pair
Grouping per Subsequent Action-Pair towards Cost
3 Knock-On Time Derivation
4 Knock-On Time Linearisation
5 Results
6 Conclusions & Future Work
7 Questions
Timetabling for Passengers: A Knock-On Delay Model
Business Problem
Task
Task
Belgian Infrastructure Management Company: Infrabel:
Add Knock-on Delays as a term to
Expected Passenger Travel Time Goal Function
Goals:
Reduce Expected Passenger Time ⇒ Optimises Robustness
Fixed:
Infrastructure, Train Lines, Halting Pattern, Primary Delay Distributions
Variable:
Timing: Supplement Times at every Ride, Dwell, Transfer Action,
⇒ variable inter-Train Heading Times ⇒ variable Train Orders
Specifics:
One Busy Day, Morning Peak Hour
Timetabling for Passengers: A Knock-On Delay Model
Solution Process Flows
Context: FAPESP: Two Phased
FAPESP
zodzo,zd
remap sodso,sd
reflow fe
retime de
g(fe, de)subopt?
g(fe, de)opt!
Figure: Two Phased implies Iterations
Timetabling for Passengers: A Knock-On Delay Model
Solution Process Flows
Graph for Reflowing: add Source  Sink Edges
transferdwellridesource sink
(a)
(a)
(b)
(b)
space increase
time increase
Timetabling for Passengers: A Knock-On Delay Model
Solution Process Flows
Graph for Retiming: add Knock-On Edges  Cycles
transferdwellride knock-on
(and headway)cycle lin. comb. of cycles
space increase
time increase
train 1
train 2
Timetabling for Passengers: A Knock-On Delay Model
Solution Process Flows
Graph for Retiming: All Constraints
dwell
ride
turn around
symmetry
transfer
primary edges secondary edges
knock on
b + m + s = e b + m + s + (d * T) = e
b(egin), m(inimum), s(upplement), e(nd), d(integer), T(period)
constants: m, T
variables: b, s, e, d
symmetry
e = T - b or
e = T/2 - b or
...
cycles
sum_e_in_cycle :
sign_e_in_cycle *
(m_e + s_e + (d_e * T)) = 0
Timetabling for Passengers: A Knock-On Delay Model
Solution Process Flows
Reflowing decides on Rectangle Heights
Retime (=Timetabling) decides on Rectangle Widths
(a) Original Schedule
(b) Optimized Version
Timetabling for Passengers: A Knock-On Delay Model
Solution Process Flows
Stochastic Action Model
Action: Negative Exponential Delay Distribution
minimum
time:
m_a s_a
stochastic
delay time:
f_aflow:
action
95% 5%
m_r s_r
f_rflow:
ride action
95% 5%
m_d s_d
f_dflow:
dwell action
95% 5%
m_tr s_tr
f_trflow:
transfer action
95% 5%
m_src
f_srcflow:
source action
m_snk
f_snkflow:
sink action
Timetabling for Passengers: A Knock-On Delay Model
Solution Process Flows
Stochastic Goal Function: Expected Passenger Transfer Time
Stochastic Goal Function: Expected Passenger Transfer
Time
0 10 20 30 40
0
4
8
12
16
20
24
28
32
36
40
Figure: D0 is introduced supplement, D1  D0 is delta time of next chance
action. Curve maps planned time to expected time.
Timetabling for Passengers: A Knock-On Delay Model
Solution Process Flows
Grouping per Subsequent Action-Pair
Grouping per Subsequent Action-Pair
departing = ride’ + dwell’ + source
through = ride + dwell
changing = ride + transfer
arriving = ride + sink
f_source
f_source
s1' s1s2' s2
s1
f_transfer
f_sink
f_dwells1 s2
m1' m2'
Timetabling for Passengers: A Knock-On Delay Model
Solution Process Flows
Grouping per Subsequent Action-Pair towards Cost
Grouping per Subsequent Action-Pair towards Cost
f_source
f_source
s1' s1s2' s2
s1
f_transfer
f_sink
f_dwells1 s2
f_changing = f_transfer
f_arriving = f_sink
f_through = f_dwell
f_departing = f_source
flows planned time cost = expected time
m1' m2'
m1' + s1' + m2'+ s2'
m1 + s1 + m2+ s2
m1 + s1 + m2+ s2
m1 + s1
m1' + m2'+ cost(s1'+ s2')
m1 + m2 + cost(s1+ s2)
m1 + cost(s1)
m1 + m2+ cost(s1+ s2)
domain = planning: domain = execution:
Timetabling for Passengers: A Knock-On Delay Model
Solution Process Flows
Grouping per Subsequent Action-Pair towards Cost
In-Time and Over-Time
In-Time Over-Time
probability
D0
0
pa(x)dx
D1
D0
pa(x)dx
inc./dec. in D0 inc. dec.
expected time
D0
0
pa(x)D0dx
D1
D0
pa(x)D1dx
inc./dec. in D0 inc. dec.
departing = ride’ + dwell’ + source
through = ride + dwell
changing = ride + transfer
arriving = ride + sink
Timetabling for Passengers: A Knock-On Delay Model
Solution Process Flows
Grouping per Subsequent Action-Pair towards Cost
Cost curves of 4 Passenger Categories
(a) departing=ride’+dwell’
+source
(b) through=ride+dwell
(c) changing=ride+transfer (d) arriving=ride+sink
Timetabling for Passengers: A Knock-On Delay Model
Knock-On Time Derivation
Primary Delay Distributions
pi (x) = ai e−ai x
, pj (y) = aj e−aj y
, (1)
ci =
∞
0
xai e−ai x
dx =
1
ai
, cj =
∞
0
yaj e−aj y
dy =
1
aj
. (2)
train i: train j:
h=3’
x y
0 Tsj,isi,jsj,i
h=3’
Timetabling for Passengers: A Knock-On Delay Model
Knock-On Time Derivation
Knock-On Probability Derivation
Probability of knock-on delay
train i: train j:
h=3’
x y
0 Tsj,isi,jsj,i
h=3’
Integrate over 2 triangle areas where the delay difference
x ≥ y + si,j
y ≥ x + sj,i
as in
px≥y+si,j
(ai , aj , si,j ) =
∞
0
∞
y+si,j
ai e−ai x
· aj e−aj y
dxdy =
aj e−ai si,j
ai +aj
,
py≥x+si,j
(ai , aj , sj,i ) =
∞
0
∞
x+sj,i
ai e−ai x
· aj e−aj y
dydx = ai e−aj sj,i
ai +aj
.
(3)
Timetabling for Passengers: A Knock-On Delay Model
Knock-On Time Derivation
Knock-On (Train  Passenger) Time Derivation
Train Time Cost of knock-on delay
tKOi,j (ai , aj , si,j ) =
∞
0
∞
y+si,j
ai e−ai x
· aj e−aj y
probabilty
(x − y − si,j )
tkoi,j ≥0
dxdy
=
aj e−ai si,j
ai (ai +aj ) ,
tKOj,i (ai , aj , sj,i ) =
∞
0
∞
x+sj,i
ai e−ai x
· aj e−aj y
probability
(y − x − sj,i )
tkoj,i ≥0
dydx
= ai e−aj sj,i
aj (ai +aj ) .
(4)
Passenger Time Cost of knock-on delay
pKOi,j (ai , aj , si,j ) = fj · tKOi,j = fj ·
aj e−ai si,j
ai (ai +aj ) ,
pKOj,i (ai , aj , sj,i ) = fi · tKOj,i = fi · ai e−aj sj,i
aj (ai +aj ) .
(5)
Timetabling for Passengers: A Knock-On Delay Model
Knock-On Time Derivation
Two Train Example: KO Formulas
h + si,j + h + sj,i = T or equivalently sj,i = T − 2h − si,j . (6)
0 = d
dsi,j
pKOi,j + pKOj,i
⇔ 0 = d
dsi,j
fj ·
aj e−ai si,j
ai (ai +aj ) + fi · ai e−aj (T−2h−si,j )
aj (ai +aj )
⇔ 0 = −fj ·
aj e−ai si,j
ai +aj
+ fi · ai e−aj (T−2h−si,j )
ai +aj
⇔ fj · aj e−ai si,j
= fi · ai e−aj (T−2h−si,j )
⇔ ln
fj ·aj
fi ·ai
= −aj (T − 2h − si,j ) + ai (si,j )
⇔ si,j =
aj (T−2h)+ln
fj aj
fi ai
ai +aj
(7)
From symmetry:
sj,i =
ai (T − 2h) + ln fi ai
fj aj
ai + aj
. (8)
Timetabling for Passengers: A Knock-On Delay Model
Knock-On Time Derivation
Two Train Example: Supplement Calculation
Two trains with:
train i: expected delay of 1/ai = 3 minutes and fi = 100 passengers
train j: expected delay of 1/aj = 1 minute and fj = 300 passengers
T = 60 minutes, period
h = 3 minutes, headway time
would be spread according to equations (7) and (8)
si,j =
aj (T−2h)+ln
fj aj
fi ai
ai +aj
= 1(60−2·3)+ln(300·1/(100·1/3))
1/3+1 = 42.15 min.
sj,i =
ai (T−2h)+ln
fi ai
fj aj
ai +aj
= 1/3(60−2·3)+ln(100·1/3/(300·1))
1/3+1 = 11.85 min.
and indeed as equation (6) requires 42.15 + 3 + 11.85 + 3 = 60 minutes.
Timetabling for Passengers: A Knock-On Delay Model
Knock-On Time Linearisation
All Knock-On Costs for N(N − 1) Trains
on Same Resource: Formula
∀R : pKOR =
i,j∈IR
i=j
fj ·
aj e−ai si,j
ai (ai + aj )
. (9)
Is non-linear in si,j , but since we use convex minimisation ⇒ use trick:
∀R : ∀i,j∈IR
i=j
: pKOR,i,j ≥ fj ·
aj e−ai si,j
ai (ai + aj )
. (10)
0
si,j
T/15 T
=si,j,0
= si,j,1
=si,j,2
koi,j,1
koi,j,0
koi,j,2
Timetabling for Passengers: A Knock-On Delay Model
Knock-On Time Linearisation
All Knock-On Costs for N(N − 1) Trains
on Same Resource: Linearisation
0
si,j
T/15 T
=si,j,0
= si,j,1
=si,j,2
koi,j,1
koi,j,0
koi,j,2
∀R : ∀i,j∈IR
i=j
:



(si,j,0, koi,j,0) = (0, fj ·
aj
ai (ai +aj ) )
(si,j,1, koi,j,1) = (T/15, fj ·
aj e−ai T/15
ai (ai +aj ) )
(si,j,2, koi,j,2) = (T, fj ·
aj e−ai T
ai (ai +aj ) ).
(11)
∀R : ∀i,j∈IR
i=j
:
pKOR,i,j ≥ koi,j,0 +
koi,j,1−koi,j,0
si,j,1−si,j,0
· (si,j − si,j,0)
pKOR,i,j ≥ koi,j,1 +
koi,j,2−koi,j,1
si,j,2−si,j,1
· (si,j − si,j,1)
(12)

More Related Content

What's hot

Introduction to modern Variational Inference.
Introduction to modern Variational Inference.Introduction to modern Variational Inference.
Introduction to modern Variational Inference.Tomasz Kusmierczyk
 
Stochastic Optimization for Large-scale Learning
Stochastic Optimization for Large-scale LearningStochastic Optimization for Large-scale Learning
Stochastic Optimization for Large-scale Learning少华 白
 
ESCC 2016, July 10-16, Athens, Greece
ESCC 2016, July 10-16, Athens, GreeceESCC 2016, July 10-16, Athens, Greece
ESCC 2016, July 10-16, Athens, GreeceLIFE GreenYourMove
 
talk at Virginia Bioinformatics Institute, December 5, 2013
talk at Virginia Bioinformatics Institute, December 5, 2013talk at Virginia Bioinformatics Institute, December 5, 2013
talk at Virginia Bioinformatics Institute, December 5, 2013ericupnorth
 
Presentation of volesti in eRum 2020
Presentation of volesti in eRum 2020 Presentation of volesti in eRum 2020
Presentation of volesti in eRum 2020 Apostolos Chalkis
 
141031_Lagrange Relaxation Based Method for the QoS Routing Problem
141031_Lagrange Relaxation Based Method for the QoS Routing Problem 141031_Lagrange Relaxation Based Method for the QoS Routing Problem
141031_Lagrange Relaxation Based Method for the QoS Routing Problem Eunice Lin
 
Ning_Mei.ASSIGN03
Ning_Mei.ASSIGN03Ning_Mei.ASSIGN03
Ning_Mei.ASSIGN03宁 梅
 
Ning_Mei.ASSIGN01
Ning_Mei.ASSIGN01Ning_Mei.ASSIGN01
Ning_Mei.ASSIGN01宁 梅
 
Amortized complexity
Amortized complexityAmortized complexity
Amortized complexityparamita30
 
Price of anarchy is independent of network topology
Price of anarchy is independent of network topologyPrice of anarchy is independent of network topology
Price of anarchy is independent of network topologyAleksandr Yampolskiy
 
Programming for Mechanical Engineers in EES
Programming for Mechanical Engineers in EESProgramming for Mechanical Engineers in EES
Programming for Mechanical Engineers in EESNaveed Rehman
 
HMPC for Upper Stage Attitude Control
HMPC for Upper Stage Attitude ControlHMPC for Upper Stage Attitude Control
HMPC for Upper Stage Attitude ControlPantelis Sopasakis
 
How to use R in different professions: R for Car Insurance Product (Speaker: ...
How to use R in different professions: R for Car Insurance Product (Speaker: ...How to use R in different professions: R for Car Insurance Product (Speaker: ...
How to use R in different professions: R for Car Insurance Product (Speaker: ...Zurich_R_User_Group
 

What's hot (20)

Network flows
Network flowsNetwork flows
Network flows
 
Introduction to modern Variational Inference.
Introduction to modern Variational Inference.Introduction to modern Variational Inference.
Introduction to modern Variational Inference.
 
Stochastic Optimization for Large-scale Learning
Stochastic Optimization for Large-scale LearningStochastic Optimization for Large-scale Learning
Stochastic Optimization for Large-scale Learning
 
Logistics Routing
Logistics RoutingLogistics Routing
Logistics Routing
 
ESCC 2016, July 10-16, Athens, Greece
ESCC 2016, July 10-16, Athens, GreeceESCC 2016, July 10-16, Athens, Greece
ESCC 2016, July 10-16, Athens, Greece
 
talk at Virginia Bioinformatics Institute, December 5, 2013
talk at Virginia Bioinformatics Institute, December 5, 2013talk at Virginia Bioinformatics Institute, December 5, 2013
talk at Virginia Bioinformatics Institute, December 5, 2013
 
Electric buses presentation
Electric buses presentationElectric buses presentation
Electric buses presentation
 
A* Algorithm
A* AlgorithmA* Algorithm
A* Algorithm
 
Presentation of volesti in eRum 2020
Presentation of volesti in eRum 2020 Presentation of volesti in eRum 2020
Presentation of volesti in eRum 2020
 
141031_Lagrange Relaxation Based Method for the QoS Routing Problem
141031_Lagrange Relaxation Based Method for the QoS Routing Problem 141031_Lagrange Relaxation Based Method for the QoS Routing Problem
141031_Lagrange Relaxation Based Method for the QoS Routing Problem
 
Ning_Mei.ASSIGN03
Ning_Mei.ASSIGN03Ning_Mei.ASSIGN03
Ning_Mei.ASSIGN03
 
MUMS: Transition & SPUQ Workshop - Practical Bayesian Optimization for Urban ...
MUMS: Transition & SPUQ Workshop - Practical Bayesian Optimization for Urban ...MUMS: Transition & SPUQ Workshop - Practical Bayesian Optimization for Urban ...
MUMS: Transition & SPUQ Workshop - Practical Bayesian Optimization for Urban ...
 
Ning_Mei.ASSIGN01
Ning_Mei.ASSIGN01Ning_Mei.ASSIGN01
Ning_Mei.ASSIGN01
 
Amortized complexity
Amortized complexityAmortized complexity
Amortized complexity
 
20320140501020
2032014050102020320140501020
20320140501020
 
Price of anarchy is independent of network topology
Price of anarchy is independent of network topologyPrice of anarchy is independent of network topology
Price of anarchy is independent of network topology
 
Programming for Mechanical Engineers in EES
Programming for Mechanical Engineers in EESProgramming for Mechanical Engineers in EES
Programming for Mechanical Engineers in EES
 
12
1212
12
 
HMPC for Upper Stage Attitude Control
HMPC for Upper Stage Attitude ControlHMPC for Upper Stage Attitude Control
HMPC for Upper Stage Attitude Control
 
How to use R in different professions: R for Car Insurance Product (Speaker: ...
How to use R in different professions: R for Car Insurance Product (Speaker: ...How to use R in different professions: R for Car Insurance Product (Speaker: ...
How to use R in different professions: R for Car Insurance Product (Speaker: ...
 

Similar to APassengerKnockOnDelayModelForTimetableOptimisation_beamer

TemporalSpreadingOfAlternativeTrainsPresentation
TemporalSpreadingOfAlternativeTrainsPresentationTemporalSpreadingOfAlternativeTrainsPresentation
TemporalSpreadingOfAlternativeTrainsPresentationPeter Sels
 
Semet Gecco06
Semet Gecco06Semet Gecco06
Semet Gecco06ysemet
 
Supply chain logistics : vehicle routing and scheduling
Supply chain logistics : vehicle  routing and  schedulingSupply chain logistics : vehicle  routing and  scheduling
Supply chain logistics : vehicle routing and schedulingRetigence Technologies
 
SIAM - Minisymposium on Guaranteed numerical algorithms
SIAM - Minisymposium on Guaranteed numerical algorithmsSIAM - Minisymposium on Guaranteed numerical algorithms
SIAM - Minisymposium on Guaranteed numerical algorithmsJagadeeswaran Rathinavel
 
Intersection modeling using a convergent scheme based on Hamilton-Jacobi equa...
Intersection modeling using a convergent scheme based on Hamilton-Jacobi equa...Intersection modeling using a convergent scheme based on Hamilton-Jacobi equa...
Intersection modeling using a convergent scheme based on Hamilton-Jacobi equa...Guillaume Costeseque
 
Solving a “Transportation Planning” Problem through the Programming Language “C”
Solving a “Transportation Planning” Problem through the Programming Language “C”Solving a “Transportation Planning” Problem through the Programming Language “C”
Solving a “Transportation Planning” Problem through the Programming Language “C”Shahadat Hossain Shakil
 
Schéma numérique basé sur une équation d'Hamilton-Jacobi : modélisation des i...
Schéma numérique basé sur une équation d'Hamilton-Jacobi : modélisation des i...Schéma numérique basé sur une équation d'Hamilton-Jacobi : modélisation des i...
Schéma numérique basé sur une équation d'Hamilton-Jacobi : modélisation des i...Guillaume Costeseque
 
Passenger forecasting at KLM
Passenger forecasting at KLMPassenger forecasting at KLM
Passenger forecasting at KLMAlexander Backus
 
Pythran: Static compiler for high performance by Mehdi Amini PyData SV 2014
Pythran: Static compiler for high performance by Mehdi Amini PyData SV 2014Pythran: Static compiler for high performance by Mehdi Amini PyData SV 2014
Pythran: Static compiler for high performance by Mehdi Amini PyData SV 2014PyData
 
A Strategic Model For Dynamic Traffic Assignment
A Strategic Model For Dynamic Traffic AssignmentA Strategic Model For Dynamic Traffic Assignment
A Strategic Model For Dynamic Traffic AssignmentKelly Taylor
 
Parallel R in snow (english after 2nd slide)
Parallel R in snow (english after 2nd slide)Parallel R in snow (english after 2nd slide)
Parallel R in snow (english after 2nd slide)Cdiscount
 
How to Develop Your Own Simulators for Discrete-Event Systems
How to Develop Your Own Simulators for Discrete-Event SystemsHow to Develop Your Own Simulators for Discrete-Event Systems
How to Develop Your Own Simulators for Discrete-Event SystemsDonghun Kang
 
Webinar: Integrating timetabling and vehicle scheduling to analyze the trade-...
Webinar: Integrating timetabling and vehicle scheduling to analyze the trade-...Webinar: Integrating timetabling and vehicle scheduling to analyze the trade-...
Webinar: Integrating timetabling and vehicle scheduling to analyze the trade-...BRTCoE
 

Similar to APassengerKnockOnDelayModelForTimetableOptimisation_beamer (20)

TemporalSpreadingOfAlternativeTrainsPresentation
TemporalSpreadingOfAlternativeTrainsPresentationTemporalSpreadingOfAlternativeTrainsPresentation
TemporalSpreadingOfAlternativeTrainsPresentation
 
Semet Gecco06
Semet Gecco06Semet Gecco06
Semet Gecco06
 
Supply chain logistics : vehicle routing and scheduling
Supply chain logistics : vehicle  routing and  schedulingSupply chain logistics : vehicle  routing and  scheduling
Supply chain logistics : vehicle routing and scheduling
 
SIAM - Minisymposium on Guaranteed numerical algorithms
SIAM - Minisymposium on Guaranteed numerical algorithmsSIAM - Minisymposium on Guaranteed numerical algorithms
SIAM - Minisymposium on Guaranteed numerical algorithms
 
Intersection modeling using a convergent scheme based on Hamilton-Jacobi equa...
Intersection modeling using a convergent scheme based on Hamilton-Jacobi equa...Intersection modeling using a convergent scheme based on Hamilton-Jacobi equa...
Intersection modeling using a convergent scheme based on Hamilton-Jacobi equa...
 
algorithm Unit 3
algorithm Unit 3algorithm Unit 3
algorithm Unit 3
 
Palm ch1
Palm ch1Palm ch1
Palm ch1
 
Unit 3 daa
Unit 3 daaUnit 3 daa
Unit 3 daa
 
Scala.io
Scala.ioScala.io
Scala.io
 
Solving a “Transportation Planning” Problem through the Programming Language “C”
Solving a “Transportation Planning” Problem through the Programming Language “C”Solving a “Transportation Planning” Problem through the Programming Language “C”
Solving a “Transportation Planning” Problem through the Programming Language “C”
 
Schéma numérique basé sur une équation d'Hamilton-Jacobi : modélisation des i...
Schéma numérique basé sur une équation d'Hamilton-Jacobi : modélisation des i...Schéma numérique basé sur une équation d'Hamilton-Jacobi : modélisation des i...
Schéma numérique basé sur une équation d'Hamilton-Jacobi : modélisation des i...
 
Passenger forecasting at KLM
Passenger forecasting at KLMPassenger forecasting at KLM
Passenger forecasting at KLM
 
Chap8 new
Chap8 newChap8 new
Chap8 new
 
Critical Path Method
Critical Path MethodCritical Path Method
Critical Path Method
 
Tugasan pisah ragaman (a168892)
Tugasan pisah ragaman (a168892)Tugasan pisah ragaman (a168892)
Tugasan pisah ragaman (a168892)
 
Pythran: Static compiler for high performance by Mehdi Amini PyData SV 2014
Pythran: Static compiler for high performance by Mehdi Amini PyData SV 2014Pythran: Static compiler for high performance by Mehdi Amini PyData SV 2014
Pythran: Static compiler for high performance by Mehdi Amini PyData SV 2014
 
A Strategic Model For Dynamic Traffic Assignment
A Strategic Model For Dynamic Traffic AssignmentA Strategic Model For Dynamic Traffic Assignment
A Strategic Model For Dynamic Traffic Assignment
 
Parallel R in snow (english after 2nd slide)
Parallel R in snow (english after 2nd slide)Parallel R in snow (english after 2nd slide)
Parallel R in snow (english after 2nd slide)
 
How to Develop Your Own Simulators for Discrete-Event Systems
How to Develop Your Own Simulators for Discrete-Event SystemsHow to Develop Your Own Simulators for Discrete-Event Systems
How to Develop Your Own Simulators for Discrete-Event Systems
 
Webinar: Integrating timetabling and vehicle scheduling to analyze the trade-...
Webinar: Integrating timetabling and vehicle scheduling to analyze the trade-...Webinar: Integrating timetabling and vehicle scheduling to analyze the trade-...
Webinar: Integrating timetabling and vehicle scheduling to analyze the trade-...
 

APassengerKnockOnDelayModelForTimetableOptimisation_beamer

  • 1. Timetabling for Passengers: A Knock-On Delay Model Timetabling for Passengers: A Knock-On Delay Model Peter Sels1,2,3 , Thijs Dewilde1 , Dirk Cattrysse1 , Pieter Vansteenwegen1 1 Katholieke Universiteit Leuven, Centre for Industrial Management/Traffic & Infrastructure, Celestijnenlaan 300a, 3001 Heverlee, Belgium 2 Logically Yours BVBA, Plankenbergstraat 112 bus L7, 2100 Antwerp, Belgium e-mail: sels.peter@gmail.com, corresponding author 3 Infrabel, Department of Rail Access, Frankrijkstraat 91, 1070 Brussels, Belgium December 5, 2013
  • 2. Timetabling for Passengers: A Knock-On Delay Model Table of Contents 1 Business Problem Task 2 Solution Process Flows Stochastic Action Model Stochastic Goal Function: Expected Passenger Transfer Time Grouping per Subsequent Action-Pair Grouping per Subsequent Action-Pair towards Cost 3 Knock-On Time Derivation 4 Knock-On Time Linearisation 5 Results 6 Conclusions & Future Work 7 Questions
  • 3. Timetabling for Passengers: A Knock-On Delay Model Business Problem Task Task Belgian Infrastructure Management Company: Infrabel: Add Knock-on Delays as a term to Expected Passenger Travel Time Goal Function Goals: Reduce Expected Passenger Time ⇒ Optimises Robustness Fixed: Infrastructure, Train Lines, Halting Pattern, Primary Delay Distributions Variable: Timing: Supplement Times at every Ride, Dwell, Transfer Action, ⇒ variable inter-Train Heading Times ⇒ variable Train Orders Specifics: One Busy Day, Morning Peak Hour
  • 4. Timetabling for Passengers: A Knock-On Delay Model Solution Process Flows Context: FAPESP: Two Phased FAPESP zodzo,zd
  • 6.
  • 10.
  • 12. Figure: Two Phased implies Iterations
  • 13. Timetabling for Passengers: A Knock-On Delay Model Solution Process Flows Graph for Reflowing: add Source Sink Edges transferdwellridesource sink (a) (a) (b) (b) space increase time increase
  • 14. Timetabling for Passengers: A Knock-On Delay Model Solution Process Flows Graph for Retiming: add Knock-On Edges Cycles transferdwellride knock-on (and headway)cycle lin. comb. of cycles space increase time increase train 1 train 2
  • 15. Timetabling for Passengers: A Knock-On Delay Model Solution Process Flows Graph for Retiming: All Constraints dwell ride turn around symmetry transfer primary edges secondary edges knock on b + m + s = e b + m + s + (d * T) = e b(egin), m(inimum), s(upplement), e(nd), d(integer), T(period) constants: m, T variables: b, s, e, d symmetry e = T - b or e = T/2 - b or ... cycles sum_e_in_cycle : sign_e_in_cycle * (m_e + s_e + (d_e * T)) = 0
  • 16. Timetabling for Passengers: A Knock-On Delay Model Solution Process Flows Reflowing decides on Rectangle Heights Retime (=Timetabling) decides on Rectangle Widths (a) Original Schedule (b) Optimized Version
  • 17. Timetabling for Passengers: A Knock-On Delay Model Solution Process Flows Stochastic Action Model Action: Negative Exponential Delay Distribution minimum time: m_a s_a stochastic delay time: f_aflow: action 95% 5% m_r s_r f_rflow: ride action 95% 5% m_d s_d f_dflow: dwell action 95% 5% m_tr s_tr f_trflow: transfer action 95% 5% m_src f_srcflow: source action m_snk f_snkflow: sink action
  • 18. Timetabling for Passengers: A Knock-On Delay Model Solution Process Flows Stochastic Goal Function: Expected Passenger Transfer Time Stochastic Goal Function: Expected Passenger Transfer Time 0 10 20 30 40 0 4 8 12 16 20 24 28 32 36 40 Figure: D0 is introduced supplement, D1 D0 is delta time of next chance action. Curve maps planned time to expected time.
  • 19. Timetabling for Passengers: A Knock-On Delay Model Solution Process Flows Grouping per Subsequent Action-Pair Grouping per Subsequent Action-Pair departing = ride’ + dwell’ + source through = ride + dwell changing = ride + transfer arriving = ride + sink f_source f_source s1' s1s2' s2 s1 f_transfer f_sink f_dwells1 s2 m1' m2'
  • 20. Timetabling for Passengers: A Knock-On Delay Model Solution Process Flows Grouping per Subsequent Action-Pair towards Cost Grouping per Subsequent Action-Pair towards Cost f_source f_source s1' s1s2' s2 s1 f_transfer f_sink f_dwells1 s2 f_changing = f_transfer f_arriving = f_sink f_through = f_dwell f_departing = f_source flows planned time cost = expected time m1' m2' m1' + s1' + m2'+ s2' m1 + s1 + m2+ s2 m1 + s1 + m2+ s2 m1 + s1 m1' + m2'+ cost(s1'+ s2') m1 + m2 + cost(s1+ s2) m1 + cost(s1) m1 + m2+ cost(s1+ s2) domain = planning: domain = execution:
  • 21. Timetabling for Passengers: A Knock-On Delay Model Solution Process Flows Grouping per Subsequent Action-Pair towards Cost In-Time and Over-Time In-Time Over-Time probability D0 0 pa(x)dx D1 D0 pa(x)dx inc./dec. in D0 inc. dec. expected time D0 0 pa(x)D0dx D1 D0 pa(x)D1dx inc./dec. in D0 inc. dec. departing = ride’ + dwell’ + source through = ride + dwell changing = ride + transfer arriving = ride + sink
  • 22. Timetabling for Passengers: A Knock-On Delay Model Solution Process Flows Grouping per Subsequent Action-Pair towards Cost Cost curves of 4 Passenger Categories (a) departing=ride’+dwell’ +source (b) through=ride+dwell (c) changing=ride+transfer (d) arriving=ride+sink
  • 23. Timetabling for Passengers: A Knock-On Delay Model Knock-On Time Derivation Primary Delay Distributions pi (x) = ai e−ai x , pj (y) = aj e−aj y , (1) ci = ∞ 0 xai e−ai x dx = 1 ai , cj = ∞ 0 yaj e−aj y dy = 1 aj . (2) train i: train j: h=3’ x y 0 Tsj,isi,jsj,i h=3’
  • 24. Timetabling for Passengers: A Knock-On Delay Model Knock-On Time Derivation Knock-On Probability Derivation Probability of knock-on delay train i: train j: h=3’ x y 0 Tsj,isi,jsj,i h=3’ Integrate over 2 triangle areas where the delay difference x ≥ y + si,j y ≥ x + sj,i as in px≥y+si,j (ai , aj , si,j ) = ∞ 0 ∞ y+si,j ai e−ai x · aj e−aj y dxdy = aj e−ai si,j ai +aj , py≥x+si,j (ai , aj , sj,i ) = ∞ 0 ∞ x+sj,i ai e−ai x · aj e−aj y dydx = ai e−aj sj,i ai +aj . (3)
  • 25. Timetabling for Passengers: A Knock-On Delay Model Knock-On Time Derivation Knock-On (Train Passenger) Time Derivation Train Time Cost of knock-on delay tKOi,j (ai , aj , si,j ) = ∞ 0 ∞ y+si,j ai e−ai x · aj e−aj y probabilty (x − y − si,j ) tkoi,j ≥0 dxdy = aj e−ai si,j ai (ai +aj ) , tKOj,i (ai , aj , sj,i ) = ∞ 0 ∞ x+sj,i ai e−ai x · aj e−aj y probability (y − x − sj,i ) tkoj,i ≥0 dydx = ai e−aj sj,i aj (ai +aj ) . (4) Passenger Time Cost of knock-on delay pKOi,j (ai , aj , si,j ) = fj · tKOi,j = fj · aj e−ai si,j ai (ai +aj ) , pKOj,i (ai , aj , sj,i ) = fi · tKOj,i = fi · ai e−aj sj,i aj (ai +aj ) . (5)
  • 26. Timetabling for Passengers: A Knock-On Delay Model Knock-On Time Derivation Two Train Example: KO Formulas h + si,j + h + sj,i = T or equivalently sj,i = T − 2h − si,j . (6) 0 = d dsi,j pKOi,j + pKOj,i ⇔ 0 = d dsi,j fj · aj e−ai si,j ai (ai +aj ) + fi · ai e−aj (T−2h−si,j ) aj (ai +aj ) ⇔ 0 = −fj · aj e−ai si,j ai +aj + fi · ai e−aj (T−2h−si,j ) ai +aj ⇔ fj · aj e−ai si,j = fi · ai e−aj (T−2h−si,j ) ⇔ ln fj ·aj fi ·ai = −aj (T − 2h − si,j ) + ai (si,j ) ⇔ si,j = aj (T−2h)+ln fj aj fi ai ai +aj (7) From symmetry: sj,i = ai (T − 2h) + ln fi ai fj aj ai + aj . (8)
  • 27. Timetabling for Passengers: A Knock-On Delay Model Knock-On Time Derivation Two Train Example: Supplement Calculation Two trains with: train i: expected delay of 1/ai = 3 minutes and fi = 100 passengers train j: expected delay of 1/aj = 1 minute and fj = 300 passengers T = 60 minutes, period h = 3 minutes, headway time would be spread according to equations (7) and (8) si,j = aj (T−2h)+ln fj aj fi ai ai +aj = 1(60−2·3)+ln(300·1/(100·1/3)) 1/3+1 = 42.15 min. sj,i = ai (T−2h)+ln fi ai fj aj ai +aj = 1/3(60−2·3)+ln(100·1/3/(300·1)) 1/3+1 = 11.85 min. and indeed as equation (6) requires 42.15 + 3 + 11.85 + 3 = 60 minutes.
  • 28. Timetabling for Passengers: A Knock-On Delay Model Knock-On Time Linearisation All Knock-On Costs for N(N − 1) Trains on Same Resource: Formula ∀R : pKOR = i,j∈IR i=j fj · aj e−ai si,j ai (ai + aj ) . (9) Is non-linear in si,j , but since we use convex minimisation ⇒ use trick: ∀R : ∀i,j∈IR i=j : pKOR,i,j ≥ fj · aj e−ai si,j ai (ai + aj ) . (10) 0 si,j T/15 T =si,j,0 = si,j,1 =si,j,2 koi,j,1 koi,j,0 koi,j,2
  • 29. Timetabling for Passengers: A Knock-On Delay Model Knock-On Time Linearisation All Knock-On Costs for N(N − 1) Trains on Same Resource: Linearisation 0 si,j T/15 T =si,j,0 = si,j,1 =si,j,2 koi,j,1 koi,j,0 koi,j,2 ∀R : ∀i,j∈IR i=j :    (si,j,0, koi,j,0) = (0, fj · aj ai (ai +aj ) ) (si,j,1, koi,j,1) = (T/15, fj · aj e−ai T/15 ai (ai +aj ) ) (si,j,2, koi,j,2) = (T, fj · aj e−ai T ai (ai +aj ) ). (11) ∀R : ∀i,j∈IR i=j : pKOR,i,j ≥ koi,j,0 + koi,j,1−koi,j,0 si,j,1−si,j,0 · (si,j − si,j,0) pKOR,i,j ≥ koi,j,1 + koi,j,2−koi,j,1 si,j,2−si,j,1 · (si,j − si,j,1) (12)
  • 30. Timetabling for Passengers: A Knock-On Delay Model Results Results: Flow * Duration Rectangle Representation
  • 31. Timetabling for Passengers: A Knock-On Delay Model Results Planned Time R.min R R.sup P.min P P.sup 02000060000100000 87.15% 12.85% Planned Train Time reduced by: 4.35% 91.11% 8.89% Ride(sup) Dwell(sup) Source(sup) Transfer(sup) Ride(min) Dwell(min) Source(min) Transfer(min) R.min R R.sup P.min P P.sup 0.0e+005.0e+071.0e+081.5e+08 69.99% 10.40% 0.00% 6.86% 2.94% 2.52% 6.30% 0.98% Planned Optimised Passenger Time reduced by: 2.44% 71.74% 3.40%0.00% 6.11% 3.01% 9.20% 6.45% 0.08% Sink(sup) Sink(min)
  • 32. Timetabling for Passengers: A Knock-On Delay Model Results Expected Linear Time, as used in optimisation R.min R R.sup P.min P P.sup 020000400006000080000120000 86.61% 13.39% Expected Lin. Train Time improved with: 3.88% 90.10% 9.90% Ride(sup) Dwell(sup) Source(sup) Transfer(sup) Ride(min) Dwell(min) Source(min) Transfer(min) R.min R R.sup P.min P P.sup 0.0e+005.0e+071.0e+081.5e+08 67.14% 10.50% 0.00% 0.07% 2.82% 7.92% 6.04% 0.97%0.00% 4.55% Expected Lin. Opt. Passenger improved with: 8.66% 73.51% 4.46% 0.00% 0.11% 3.09% 9.97% 6.61% 0.13%0.00% 2.12% Sink(sup) KnockOn(sup) Sink(min) KnockOn(min)
  • 33. Timetabling for Passengers: A Knock-On Delay Model Results Expected Non-Linear Time, as used in evaluation R.min R R.sup P.min P P.sup 020000400006000080000120000 86.59% 13.41% Expected Non−Lin. Train Time improved with: 3.80% 90.01% 9.99% Ride(sup) Dwell(sup) Source(sup) Transfer(sup) Ride(min) Dwell(min) Source(min) Transfer(min) R.min R R.sup P.min P P.sup 0.0e+005.0e+071.0e+081.5e+08 67.36% 10.55% 0.00% 0.23% 2.83% 7.94% 6.06% 0.99%0.00% 4.04% Expected Non−Lin. Opt. Passenger Time improved with: 7.06% 72.48% 4.48% 0.00% 0.44% 3.04% 10.23% 6.52% 0.20%0.00% 2.60% Sink(sup) KnockOn(sup) Sink(min) KnockOn(min)
  • 34. Timetabling for Passengers: A Knock-On Delay Model Results Expected Linear Time, as used in optimisation Table: Increasing primary delays, characterised by their average of a% of min. dwell ride times. Graph size: 203 hourly trains, 5355 ride, 5152 dwell, 17553 major transfer, 31696 knock-on and 166 turn-around edges. Model size: 42609 supplement decision variables, 49415 integer decision variables, 41128 goal function terms for major flows and 58441 evaluation function terms for all flows. major major major all all solver MILP flows flows flows non- flows flows non- a time gap linearised linearised linearised linearised linearised ko-time time time time time reduction reduction reduction reduction reduction % min. % % % % % % 2 95 76.2 57 8.66 7.06 1.71 0.42 4 43 71.0 52 6.61 4.42 0.84 -1.41 6 75 61.3 63 7.65 5.73 2.07 0.13 8 66 61.3 59 5.83 3.86 0.40 -1.61 2 112 72.6 66 10.58 9.19 2.54 1.31
  • 35. Timetabling for Passengers: A Knock-On Delay Model Conclusions Future Work Conclusions defined and implemented remapping, reflowing, retiming iterations reflowing: obtains local passenger numbers ∀ trains, ∀ locations retiming defined all necessary constraints found ⇒ respects (ride, dwell, transfer, headway)-minimum times added some our particular cycle set ⇒ solves model fast defined stochastic passenger time goal function derived documented Knock-On delay model for MILP timetable optmisation ⇒ ideal order and headway of trains ⇒ ideal passenger robustness auto-generated first national timetable with full goal function = expected passenger time reduction of passenger time with ±7%, mind current assumptions: primary delay = 2% of minimum-time, everywhere zone-to-station-(overly?)-diffused passenger streams
  • 36. Timetabling for Passengers: A Knock-On Delay Model Conclusions Future Work Future Work further verification with new data measured (place, train)-dependent delays i.o. averaged one asymmetric station-OD? add spreading measure for alternative OD-routes and evaluate effect allow boundary timing conditions at frontiers/sub-zones output TPP problems to platformer guarantee/increase chance on feasibility add station capacity constraints to retiming add constraints avoiding simultaneous arrival/departure of train pair that has to cross in station adapt platformer so that it optimises for passengers i.o. maximising # trains platformed
  • 37. Timetabling for Passengers: A Knock-On Delay Model Questions Questions Your Questions? www.LogicallyYours.com/Research/ sels.peter@gmail.com My Questions: Is it best to use primary delays from the old timetable or to just assume them to be relative to minimum times? If relative, what is the best (average(?)) percentage to assume for primary delays w.r.t minimum times?