TUe
Fixing a disrupted Flight Schedule
ROADEF 2009 Challenge
Christian Eggermont, Murat Firat, Cor Hurkens, Maciej
Modelski
Wednesday Februari 11, 2009
ROADEF09, Nancy, France
Christian Eggermont, Murat Firat, Cor Hurkens, Maciej Modelski Fixing a disrupted Flight Schedule
TUe
Fixing Aircraft Rotations
Respecting Airport Capacities
Delay Management
Itinerary reassignment
Problem Decomposition
1 fix the aircraft rotation discontinuities
2 respect airport capacities
3 fine-tuning delays
4 itinerary reassignment
Christian Eggermont, Murat Firat, Cor Hurkens, Maciej Modelski Fixing a disrupted Flight Schedule
TUe
Fixing Aircraft Rotations
Respecting Airport Capacities
Delay Management
Itinerary reassignment
Program
fix aircraft rotations (ignoring airport capacities)
while 10 seconds left do
for all 10% of remaining time do
fix flights to respect airport capacities (random)
and remember ’best’ rotations
end for
manage delays
reroute itineraries
and remember ’best’ schedule
end while
output ’best’ schedule
Christian Eggermont, Murat Firat, Cor Hurkens, Maciej Modelski Fixing a disrupted Flight Schedule
TUe
Fixing Aircraft Rotations
Respecting Airport Capacities
Delay Management
Itinerary reassignment
Fixing Aircraft Rotations
1 aircraft unavailablility period: cancel those flights
2 per aircraft list its flights in order of departure time and for
two consecutive flights [A 7→ B] and [C 7→ D] with B 6= C
if B = D then
cancel [C 7→ D]else if [B 7→ C] can be operated by the aircraft then
create flight [B 7→ C]else if [B 7→ D] can be operated by the aircraft then
cancel [C 7→ D], create [B 7→ D]else cancel [C 7→ D]end if
Christian Eggermont, Murat Firat, Cor Hurkens, Maciej Modelski Fixing a disrupted Flight Schedule
TUe
Fixing Aircraft Rotations
Respecting Airport Capacities
Delay Management
Itinerary reassignment
Fixing Aircraft Rotations
1 aircraft unavailablility period: cancel those flights
2 per aircraft list its flights in order of departure time and for
two consecutive flights [A 7→ B] and [C 7→ D] with B 6= C
if B = D then
cancel [C 7→ D]else if [B 7→ C] can be operated by the aircraft then
create flight [B 7→ C]else if [B 7→ D] can be operated by the aircraft then
cancel [C 7→ D], create [B 7→ D]else cancel [C 7→ D]end if
Christian Eggermont, Murat Firat, Cor Hurkens, Maciej Modelski Fixing a disrupted Flight Schedule
TUe
Fixing Aircraft Rotations
Respecting Airport Capacities
Delay Management
Itinerary reassignment
Fixing Aircraft Rotations
1 aircraft unavailablility period: cancel those flights
2 per aircraft list its flights in order of departure time and for
two consecutive flights [A 7→ B] and [C 7→ D] with B 6= C
if B = D then
cancel [C 7→ D]else if [B 7→ C] can be operated by the aircraft then
create flight [B 7→ C]else if [B 7→ D] can be operated by the aircraft then
cancel [C 7→ D], create [B 7→ D]else cancel [C 7→ D]end if
Christian Eggermont, Murat Firat, Cor Hurkens, Maciej Modelski Fixing a disrupted Flight Schedule
TUe
Fixing Aircraft Rotations
Respecting Airport Capacities
Delay Management
Itinerary reassignment
Fixing Aircraft Rotations
1 aircraft unavailablility period: cancel those flights
2 per aircraft list its flights in order of departure time and for
two consecutive flights [A 7→ B] and [C 7→ D] with B 6= C
if B = D then
cancel [C 7→ D]else if [B 7→ C] can be operated by the aircraft then
create flight [B 7→ C]else if [B 7→ D] can be operated by the aircraft then
cancel [C 7→ D], create [B 7→ D]else cancel [C 7→ D]end if
Christian Eggermont, Murat Firat, Cor Hurkens, Maciej Modelski Fixing a disrupted Flight Schedule
TUe
Fixing Aircraft Rotations
Respecting Airport Capacities
Delay Management
Itinerary reassignment
Fixing Aircraft Rotations
1 aircraft unavailablility period: cancel those flights
2 per aircraft list its flights in order of departure time and for
two consecutive flights [A 7→ B] and [C 7→ D] with B 6= C
if B = D then
cancel [C 7→ D]else if [B 7→ C] can be operated by the aircraft then
create flight [B 7→ C]else if [B 7→ D] can be operated by the aircraft then
cancel [C 7→ D], create [B 7→ D]else cancel [C 7→ D]end if
Christian Eggermont, Murat Firat, Cor Hurkens, Maciej Modelski Fixing a disrupted Flight Schedule
TUe
Fixing Aircraft Rotations
Respecting Airport Capacities
Delay Management
Itinerary reassignment
Fixing Aircraft Rotations
1 aircraft unavailablility period: cancel those flights
2 per aircraft list its flights in order of departure time and for
two consecutive flights [A 7→ B] and [C 7→ D] with B 6= C
if B = D then
cancel [C 7→ D]else if [B 7→ C] can be operated by the aircraft then
create flight [B 7→ C]else if [B 7→ D] can be operated by the aircraft then
cancel [C 7→ D], create [B 7→ D]else cancel [C 7→ D]end if
Christian Eggermont, Murat Firat, Cor Hurkens, Maciej Modelski Fixing a disrupted Flight Schedule
TUe
Fixing Aircraft Rotations
Respecting Airport Capacities
Delay Management
Itinerary reassignment
Respecting Airport Capacities
Per aircraft schedule all flights as early as possible
With earliest maintenance first, others random order
Problem aircraft might not make it to maintenance or
flights might not fit within recovery period.
Christian Eggermont, Murat Firat, Cor Hurkens, Maciej Modelski Fixing a disrupted Flight Schedule
TUe
Fixing Aircraft Rotations
Respecting Airport Capacities
Delay Management
Itinerary reassignment
Options
Christian Eggermont, Murat Firat, Cor Hurkens, Maciej Modelski Fixing a disrupted Flight Schedule
TUe
Fixing Aircraft Rotations
Respecting Airport Capacities
Delay Management
Itinerary reassignment
Options
Christian Eggermont, Murat Firat, Cor Hurkens, Maciej Modelski Fixing a disrupted Flight Schedule
TUe
Fixing Aircraft Rotations
Respecting Airport Capacities
Delay Management
Itinerary reassignment
Options
Christian Eggermont, Murat Firat, Cor Hurkens, Maciej Modelski Fixing a disrupted Flight Schedule
TUe
Fixing Aircraft Rotations
Respecting Airport Capacities
Delay Management
Itinerary reassignment
Options
Christian Eggermont, Murat Firat, Cor Hurkens, Maciej Modelski Fixing a disrupted Flight Schedule
TUe
Fixing Aircraft Rotations
Respecting Airport Capacities
Delay Management
Itinerary reassignment
Options
Christian Eggermont, Murat Firat, Cor Hurkens, Maciej Modelski Fixing a disrupted Flight Schedule
TUe
Fixing Aircraft Rotations
Respecting Airport Capacities
Delay Management
Itinerary reassignment
Options
Christian Eggermont, Murat Firat, Cor Hurkens, Maciej Modelski Fixing a disrupted Flight Schedule
TUe
Fixing Aircraft Rotations
Respecting Airport Capacities
Delay Management
Itinerary reassignment
Delay Management
Goal: create additional delays to get enough connection time
for passengers
Flights are shifted within their timeslots.
Christian Eggermont, Murat Firat, Cor Hurkens, Maciej Modelski Fixing a disrupted Flight Schedule
TUe
Fixing Aircraft Rotations
Respecting Airport Capacities
Delay Management
Itinerary reassignment
Delay Management
Goal: create additional delays to get enough connection time
for passengers
Flights are shifted within their timeslots.
Christian Eggermont, Murat Firat, Cor Hurkens, Maciej Modelski Fixing a disrupted Flight Schedule
TUe
Fixing Aircraft Rotations
Respecting Airport Capacities
Delay Management
Itinerary reassignment
Delay LP
max∑it∈I
pitnit
∑(j,k)∈Connit
(xk − xj
)subject to:
di ≤ xi ≤ di + ∆i for all flights i
Turn(j , k) ≤ xk − (xj + durj) for all aircraft ac, and (j , k)
consecutive flights of ac
xilast(ac) + durilast(ac) ≤ Mac for aircraft ac with maintenance
xi = di for all fixed flights i
Christian Eggermont, Murat Firat, Cor Hurkens, Maciej Modelski Fixing a disrupted Flight Schedule
TUe
Fixing Aircraft Rotations
Respecting Airport Capacities
Delay Management
Itinerary reassignment
Itinerary reassignment
itin 1
s
Airport 2
Airport 3
Airport 1
Flight3Flight2
wait
origin
cancel
t
destination
Flight1
1
1
1
cancel 2
2
itin 4
44
4
4
4
itin 1
+1
+1
+1+1
+1 +1
+11
Christian Eggermont, Murat Firat, Cor Hurkens, Maciej Modelski Fixing a disrupted Flight Schedule
TUe
Fixing Aircraft Rotations
Respecting Airport Capacities
Delay Management
Itinerary reassignment
Itinerary reassignment
1
s
Airport 2
Airport 3
Airport 1
Flight3Flight2
wait
origin
cancel
t
destination
Flight1
1
1
1
cancel 2
2
itin 4
64
6
4
5
itin 1
5
+1
+2+1
+1 +1
2
itin 8
Christian Eggermont, Murat Firat, Cor Hurkens, Maciej Modelski Fixing a disrupted Flight Schedule
TUe
Fixing Aircraft Rotations
Respecting Airport Capacities
Delay Management
Itinerary reassignment
Itinerary reassignment
1
s
Airport 2
Airport 3
Airport 1
Flight3Flight2
wait
origin
cancel
t
destination
Flight1
1
1
1
cancel 2
2
itin 4
64
6
4
5
itin 1
5
+1
+2+1
+1 +1
2
itin 6
Christian Eggermont, Murat Firat, Cor Hurkens, Maciej Modelski Fixing a disrupted Flight Schedule
TUe
Fixing Aircraft Rotations
Respecting Airport Capacities
Delay Management
Itinerary reassignment
Itinerary reassignment
1
s
Airport 2
Airport 3
Airport 1
Flight3Flight2
wait
origin
cancel
t
destination
Flight1
1
1
1
cancel 2
2
itin 4
44
4
4
4
itin 1
+1
+1
+2+1
+1 +2
2
itin 2
Christian Eggermont, Murat Firat, Cor Hurkens, Maciej Modelski Fixing a disrupted Flight Schedule
TUe
Fixing Aircraft Rotations
Respecting Airport Capacities
Delay Management
Itinerary reassignment
Itinerary reassignment
itin 1
s
Airport 2
Airport 3
Airport 1
Flight3Flight2
wait
origin
cancel
t
destination
Flight1
1
1
1
cancel 2
2
itin 4
44
4
4
4
itin 1
+1
+1
+1+1
+1 +1
+11
Christian Eggermont, Murat Firat, Cor Hurkens, Maciej Modelski Fixing a disrupted Flight Schedule
TUe
Fixing Aircraft Rotations
Respecting Airport Capacities
Delay Management
Itinerary reassignment
Itinerary reassignment
itin 1
s
Airport 2
Airport 3
Airport 1
Flight3Flight2
wait
origin
cancel
t
destination
Flight1
1
1
1
cancel 2
2
itin 4
44
4
4
4
itin 1
+1
+1
+1+1
+1 +1
+11
Christian Eggermont, Murat Firat, Cor Hurkens, Maciej Modelski Fixing a disrupted Flight Schedule
TUe
Fixing Aircraft Rotations
Respecting Airport Capacities
Delay Management
Itinerary reassignment
Itineraries order
Order
inbound before outbound
both inbound:
first with earliest original departure time
equal original departure time: largest size*price
both outbound
sort on largest size*price
Christian Eggermont, Murat Firat, Cor Hurkens, Maciej Modelski Fixing a disrupted Flight Schedule