smart seminar series: using column-and-row generation to solve the integrated airline recovery...
TRANSCRIPT
Using column-and-row generation to solve theintegrated airline recovery problem
Stephen J Maher
Zuse Institute BerlinBerlin, Germany
14th November 2014
1 / 31
Need for airline recovery
The real world is uncertain◮ It is almost impossible to achieve 100% on-time performance.◮ Events are difficult to predict, effects are unknown.
On-Time Arrival Performance National (April 2014)
On Time - 79.64%Air Carrier Delay - 5.34%Weather Delay - 0.4%National Aviation System Delay - 5.75%Security Delay - 0.02%Aircraft Arriving Late - 7.47%Cancelled - 1.15%Diverted - 0.22%
Figure: On-Time Arrival Performance National (April 2014). Source: Bureau of TransportationStatistics, Airline Service Quality Performance 234
2 / 31
Outline
Introduction
Integrated Airline RecoveryIntegrated Airline Recovery ProblemSolution Methodology
Results
Conclusions
3 / 31
Airline recovery process
4 / 31
Airline recovery process
4 / 31
Airline recovery process
4 / 31
Airline operations
Start of recovery period.
5 / 31
Airline operations
After 20 min.
5 / 31
Airline operations
After 40 min.
5 / 31
Airline operations
After 1 hour.
5 / 31
Achieving fast airline recovery solutions
Common Strategies:
◮ Sequential solution process.◮ Limiting recovery options.◮ Approximation of problem - Select subset of flights, crew or aircraft.
6 / 31
Alternative approach for fast recovery solutions
Features of this approach
◮ Solved using column-and-row generation.◮ No approximation is made regarding the included crew and aircraft.◮ Time to return back to schedule given by a recovery window.◮ Full set of recovery options used.
7 / 31
Outline
Introduction
Integrated Airline RecoveryIntegrated Airline Recovery ProblemSolution Methodology
Results
Conclusions
8 / 31
Integrated Recovery Problem - IRP
Objective: Minimise the cost of recovery.◮ Additional crew costs (including reserve crew)◮ Flight delay and cancellation costs (considering the delayed
passengers).
Constraints:◮ Every flight must be operated by exactly one crew and one aircraft.
◮ otherwise the flight is cancelled.
◮ Crew and aircraft must terminate at permissible overnight bases.◮ If a flight is delayed, crew and aircraft must operate the same departure
time for that flight.
9 / 31
Considering passengers - IRP-PR
Objective: Minimise the cost of recovery.◮ Additional crew costs (including reserve crew)◮ Flight delay and cancellation costs (considering the delayed, reallocated
and stranded passengers).
Constraints:◮ Every flight must be operated by exactly one crew and one aircraft.
◮ otherwise the flight is cancelled.
◮ Crew and aircraft must terminate at permissible overnight bases.◮ If a flight is delayed, crew, aircraft and passengers must operate the
same departure time for that flight.
10 / 31
Recovery policies
◮ Generate new crew pairings and aircraft routes.◮ Flight delays.◮ Flight cancellations.
11 / 31
Recovery policies
◮ Generate new crew pairings and aircraft routes.◮ Flight delays.◮ Flight cancellations.
11 / 31
Recovery policies
◮ Generate new crew pairings and aircraft routes.◮ Flight delays.◮ Flight cancellations.
11 / 31
Flight delays - Using flight copies
Flight delays are modelled using the technique of flight copies.
12 / 31
Flight cancellations - Reallocation of passengers
Assigning passengers to the next available flight.
13 / 31
Flight cancellations - Reallocation of passengers
Assigning passengers to the next available flight.
13 / 31
Flight cancellations - Reallocation of passengers
Assigning passengers to the next available flight.
13 / 31
Flight cancellations - Reallocation of passengers
Assigning passengers to the next available flight.
13 / 31
Integration of crew and aircraft
Delay Consistency Constraints.
14 / 31
Integration of crew and aircraft
Delay Consistency Constraints.
14 / 31
Integration of crew and aircraft
Delay Consistency Constraints.
14 / 31
Integration of crew and aircraft
Delay Consistency Constraints.
∑
k∈K
∑
p∈Pk
akvjp xk
p −∑
r∈R
∑
p∈Pr
arvjp y r
p = 0 ∀j ∈ ND, ∀v ∈ Uj
14 / 31
Integration of crew and passengers
Passenger Reallocation Constraints.
∑
k∈K
∑
p∈Pk
akvjp xk
p
(
Maxcap − Pax(j))
−∑
i∈N j
∑
p∈P i
hvijpzip ≥ 0 ∀j ∈ ND
, ∀v ∈ Uj
15 / 31
Solution approaches
Column Generation◮ Commonly applied to airline optimisation problems.◮ Master problem - Ensure complete coverage of flights with crew and
aircraft, provide reallocation options for passengers.◮ Subproblem - Generate feasible strings of flights for crew and aircraft,
and reallocation schemes for passengers.
Row Generation◮ Reduce the size of the master problem by eliminating rows.◮ Dynamically reintroduce rows back to the master problem.
16 / 31
Column-and-row generation
17 / 31
Column-and-row generation
17 / 31
Column-and-row generation
17 / 31
Forming the reduced problem
(RMP)
min cK xK + cRyR + dNzN
s.t. AK xK + AKNzN = bK
ARyR = bR
AKDxK − AR
DyR = 0
AKDxK − AZ
DzN = 0
xK, yR
, zN ≥ 0
1. Original formulation of integratedproblem.
18 / 31
Forming the reduced problem
(RMP)
min cK xK + cRyR + dNzN
s.t. AK xK + AKNzN = bK
ARyR = bR
AKDxK − AR
DyR = 0
A′KD xK − A′R
D yR = 0
AKDxK − AZ
DzN = 0
A′KD xK − A′Z
D zN = 0
xK, yR
, zN ≥ 0
1. Original formulation of integratedproblem.
2. Partition delay consistencyconstraints into allowable andnon-allowable delays.
18 / 31
Forming the reduced problem
(SRMP)
min cK xK + cRyR + dNzN
s.t. AK xK + AKNzN = bK
ARyR = bR
AKDxK − AR
DyR = 0
AKDxK − AZ
DzN = 0
xK, yR
, zN ≥ 0
1. Original formulation of integratedproblem.
2. Partition delay consistencyconstraints into allowable andnon-allowable delays.
3. Formulate and solve the problemusing only the allowable delayconstraints.
18 / 31
Solving the SRMP
◮ The SRMP contains less rows than the RMP. Hence, it is expected tohave reduced complexity.
◮ The elimination of rows from the RMP results in variable fixings in thecolumn generation subproblems.
◮ Each row in the SRMP represents an allowable delay option.
◮ The optimal solution to the SRMP is an upper bound on the optimalsolution to the RMP.
19 / 31
Solving the SRMP - Column generation
Aircraft Variables◮ Shortest path problem solved for each aircraft.
Crew Variables◮ Multiple label shortest path problem solved for each crew. Must satisfy
complex work rules.
Cancellation Variables◮ Bounded knapsack problem solved for each flight.
◮ The use of flight copies means a reformulation of subproblem is required foran efficient solution approach.
20 / 31
Row generation
Two part procedure:
◮ Compute an optimal dual solution to the RMP.◮ Identify rows that are expected to improve the current upper bound.
21 / 31
Row generation - Optimal dual solution
(RMP′)
min cK xK + cRyR + dNzN
+ cR yR + dN zN
s.t. AK xK + AKNzN + AK
N zN = bK
ARyR + AR yR = bR
AKDxK − AR
DyR = 0
− A′RD yR = 0
AKDxK − AZ
DzN = 0
− A′ZD zN = 0
xK, yR
, zN ≥ 0
Aim: Compute RMP′ dual solution.
22 / 31
Row generation - Optimal dual solution
(RMP′)
min cK xK + cRyR + dNzN
+ cR yR + dN zN
s.t. AK xK + AKNzN + AK
N zN = bK
ARyR + AR yR = bR
AKDxK − AR
DyR = 0
− A′RD yR = 0
AKDxK − AZ
DzN = 0
− A′ZD zN = 0
xK, yR
, zN ≥ 0
Aim: Compute RMP′ dual solution.
1. Identify that SRMP optimalsolution is optimal for RMP′.
22 / 31
Row generation - Optimal dual solution
(RMP′)
min cK xK + cRyR + dNzN
+ cR yR + dN zN
s.t. AK xK + AKNzN + AK
N zN = bK
ARyR + AR yR = bR
AKDxK − AR
DyR = 0
− A′RD yR = 0
AKDxK − AZ
DzN = 0
− A′ZD zN = 0
xK, yR
, zN ≥ 0
Aim: Compute RMP′ dual solution.
1. Identify that SRMP optimalsolution is optimal for RMP′.
2. Compute Dual: For each row inA′R
D , solve aircraft variablesubproblem forcing a non-zero.
22 / 31
Row generation - Optimal dual solution
(RMP′)
min cK xK + cRyR + dNzN
+ cR yR + dN zN
s.t. AK xK + AKNzN + AK
N zN = bK
ARyR + AR yR = bR
AKDxK − AR
DyR = 0
− A′RD yR = 0
AKDxK − AZ
DzN = 0
− A′ZD zN = 0
xK, yR
, zN ≥ 0
Aim: Compute RMP′ dual solution.
1. Identify that SRMP optimalsolution is optimal for RMP′.
2. Compute Dual: For each row inA′R
D , solve aircraft variablesubproblem forcing a non-zero.
3. Compute Dual: For each row inA′Z
D , solve cancellation variablesubproblem forcing a non-zero.
22 / 31
Row generation - Identify bound improving rows
Given an optimal dual solution to the RMP′:
◮ Solve the crew variable subproblem, permitting the use of all possibledelay options.
◮ If a negative reduced cost column is found, add it to the SRMP.◮ If the column has a non-zero in an eliminated row, add the row to the SRMP
◮ If no rows are added to the SRMP, then the optimal solution is found.
23 / 31
Implementation issues
◮ Not guaranteed to be faster than standard column generation◮ Employed a row generation warm-up procedure.
◮ Solve RMP for a given number of iterations.◮ Form SRMP by eliminating all delay consistency constraints containing only
zero coefficients.◮ Variable fixing heuristic to improve the convergence of branch-and-price.
◮ Identify all variables with a zero reduced cost in the RMP optimal solution atthe root node.
◮ At all successive nodes, only permit the use of delay options used by thesevariables.
24 / 31
Outline
Introduction
Integrated Airline RecoveryIntegrated Airline Recovery ProblemSolution Methodology
Results
Conclusions
25 / 31
Data and scenarios
Data
◮ Planning stage consists of 262 flights, serviced by 79 crew groups and48 aircraft.
◮ Flight network has 11 overnight bases for aircraft and 4 crew bases.
Scenarios
◮ 16 scenarios based on airport closures at different times and differentlengths.
◮ 2 major airports in the network.◮ Each major airport closed for 3 or 5 hours at either 6am, 7am, 8am and
9am.◮ Recovery window = 6 hours, 7 flight copies.
26 / 31
Recovery cost improvement
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15Scenario Number
0
5
10
15
20
25
30
35
40
45
Relative difference (%)
The relative difference in recovery costs between the IRP and IRP-PR
Figure: 3 hour closure: scenarios 0-7. 5 hour closure: scenarios 8-15. 7 flight copies.
27 / 31
Runtime comparison CRG and CG
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15Scenario Number
0.0
0.5
1.0
1.5
2.0
2.5
3.0
Run
time
(x10
00 s
ec)
Time Cutoff - 2700sec
Runtime of the IRP-PR using column generation and column-and-row generationApproach
ColgenCRG
Figure: 3 hour closure: scenarios 0-7. 5 hour closure: scenarios 8-15. 7 flight copies,maximum runtime of 2700 seconds (45 minutes).
28 / 31
Runtime comparison CRG and CG
◮ Easy scenarios: moderate improvement. Hard scenarios: significantimprovement.
◮ Average relative improvement in solution runtimes is 24.35%.◮ Improvement observed in all parts of the solution process. E.g. LP solve
and column generation.
29 / 31
Scenario completion - Enhancements
0 500 1000 1500 2000 2500Runtime (seconds)
0
2
4
6
8
10
12
14
16
Num
ber o
f scena
rios solved
Comparison of enhancement techniques for the IRP-PR
EnhancementsNeither EnhancementWarmup OnlyHeuristic OnlyBoth Enhancements
Figure: Performance profile of column-and-row generation using differentenhancement techniques over 16 disruption scenarios. Maximum runtime of 2700seconds (45 minutes).
30 / 31
Conclusions
◮ Considering passengers in the recovery process significantly reducesthe operational costs.
◮ Applying column-and-row generation helps to improve the solutionruntimes.
◮ While solution runtimes are improved on average, there are instanceswith worse runtime performance.
◮ Combination of acceleration techniques are useful for the overallperformance of the algorithm.
31 / 31