Robust Scheduling and Disruption Management

Sophie Kenrick Dickson

Submitted in total fulfilment of the requirements of the degree of Doctor of Philosophy

Department of Mathematics and Statistics THE UNIVERSITYOF MELBOURNE

November 2013 Copyright c 2013 Sophie Kenrick Dickson

All rights reserved. No part of the publication may be reproduced in any form by print, photoprint, microfilm or any other means without written permission from the author. Abstract

IRLINE scheduling is traditionally concerned with developing a plan that is most A profitable, and is usually done under conditions that are assumed to be known. In reality, however, airline operations are subject to uncertainty such as weather, traffic and equipment failure which cause disruption to passengers. In this thesis, we explore ways to design schedules that are robust to disruption as well as approaches for recovering once disruption has occurred. We formulate these problems as Integer Programming models. Most of these models are difficult to solve and require specialised IP solution approaches to solve them in a reasonable time frame. For both the robust schedule design and recovery problems, computational results are presented to explore the computational efficiency of the solution approaches developed, as well as results demonstrating the quality of the solutions obtained. Using the robust schedule design methodology developed, we analyse the resulting schedules to generate insights into where slack time is best allocated to maximise its effectiveness. For both problems, we also investigate the underlying structure of the Integer Programs to understand the conditions under which an integer valued optimum will be obtained when solving the linear relaxation. The thesis consists of two main components: Part II which presents our approach to solving the robust airline scheduling problem and Part III which presents our approach for solving the recovery problem. The remaining parts, I and IV, form the introduction and conclusion to the work, providing the motivation for the work contained within the thesis and drawing the links between Parts II and Part III.

iii

Declaration

This is to certify that

1. the thesis comprises only my original work towards the PhD, 2. due acknowledgement has been made in the text to all other material used, 3. the thesis is less than 100,000 words in length, exclusive of tables, maps, bibliogra- phies and appendices.

Sophie Kenrick Dickson, November 2013

v

Acknowledgements

There is a large and important cast of people without whom this thesis would not have been possible. To my supervisors: Heng-Soon Gan, Natashia Boland and Mark Wallace, thank you for your time, guidance, ideas, feedback, insights, and providing me with the opportunity to learn more about the topics in this thesis than I ever thought possible. I am also grateful to Ian Evans and Paul Hyland (CTI Pty Ltd) for their ongoing support and guidance on a variety of practical airline related issues and for numerous technical suggestions and in- sightful feedback that improved the content and exposition of this work. This research was supported by the Australian Research Council Linkage Project LP0668076 and by CTI Pty Ltd. The experience of completing this research has been greatly enhanced by the opportu- nities I have been afforded to apply my academic knowledge in a practical setting. Many thanks to Chris Davies, Gerry Turner, Mark Dal Pra and Gavin Richardson for making this possible. You have all provided me with great insights into how operate, and what managers and executives are concerned with when it comes to airline operations manage- ment. To my comrades in the trenches: Emily, Liv and Kerem thank you for your friendship. Emily, an extra thank you for your joyful energy in the office and the endless supply of mo- tivating techniques (bricks, lollies, a balloon, rocks), productivity generators (ITWE, dashes, TODO lists), and occasional productivity dampeners (tea breaks, horoscopes, FML). To all of my parents, thank you for being role models in the way you live your life, and providing me with the love, encouragement and education to make almost anything possible. To my grandparents, Doomie, Mark, Lettie and Bill, thank you for giving me the type of love that helps me believe almost anything is possible! Maddy, thank you for

vii allowing me to maintain a healthy perspective by reminding me that I have been writing “just a really long essay” and for always listening when I just needed to be heard. Dave, thank you for your enthusiasm and your willingness to explore, discuss and debate ideas (I am sure it keeps my brain healthy!). And of course, to James, my first, my last, my everything. I am so incredibly fortunate to have you in my life.

viii Preface

The following sections of this thesis are substantially based upon work published or sub- mitted for publication, or include collaborative work.

1. The MIP described in Section 7.4, which forms the basis of the approach in Chap- ter 8, was originally developed as an entrant into the 2008/9 ROADEF Challenge, a collaborative project with Wenkai Li and Olivia Smith (Dickson et al. [57]). The collaboration focused on developing the MIP formulation, with the remainder of the work, including the strategies to solve the MIP, the code development and testing and the written report being completed by the author of this thesis. 2. Parts of Chapters 7 and 8 form the basis of a multi-authored paper (Dickson et al. [59], under review). The other authors are Wenkai Li, Mark Wallace and Natashia Boland. While working on this paper, Mark Wallace and Wenkai Li contributed significantly to a literature review that forms the basis of Section 7.2; Wenkai Li contributed the formulation of the alternative MIP described in Section 7.4.2; and Natashia Boland contributed to the written explanation of the various models, as well as the strength- ening constraints in Section 8.1.2. 3. The model of Chapter 3 and preliminary results from Chapter 5 were originally pre- sented at the 20th ISMP in Chicago (Dickson and Boland [58]).

ix

Contents

I Introduction and Background 1

1 Introduction 3 1.1 Background and Motivation ...... 3 1.2 Airline Planning and Operations ...... 6 1.2.1 Airline Schedule Planning ...... 6 1.2.2 Schedule Recovery and Disruption Management ...... 9 1.3 Problem Description and Research Methodology ...... 11 1.3.1 Robust scheduling framework: integrating design and recovery . . . . 11 1.3.2 A simplified problem assuming push-back recovery ...... 14 1.3.3 The isolated recovery problem ...... 15 1.4 Terminology, Abbreviations etc ...... 16 1.5 Outline of the Thesis ...... 16 1.5.1 Outline of Part II - Robust Airline Scheduling ...... 16 1.5.2 Outline of Part III - Disruption Management ...... 17 1.6 Contribution of the Thesis ...... 18 1.6.1 Contribution of Part II - Robust Airline Scheduling ...... 18 1.6.2 Contributions of Part III - Disruption Management ...... 19 1.7 Background Mathematical Theory ...... 20

II Robust Airline Scheduling 21

2 Robust Airline Scheduling: A Review 25 2.1 Introduction ...... 25 2.1.1 Definition of Robustness ...... 26 2.1.2 Robust Airline Scheduling Terminology and Notation ...... 28 2.2 Literature Summary ...... 30 2.2.1 Optimisation Under Uncertainty ...... 30 2.2.2 Robust Scheduling ...... 32 2.2.3 Robust Airline Scheduling ...... 34 2.3 Approaches for Reducing Propagated Delay ...... 35 2.3.1 Overview of models for reducing propagated delay ...... 35 2.3.2 Robust Aircraft Maintenance Routings (Lan et al. [110]) ...... 38 2.3.3 Single Layer Model and Multi Layer Model (Ahmadbeygi et al. [9]) . . 39 2.3.4 Probability of Delay Propagation (PDP) (Borndorfer et al. [61]) . . . . 42 2.3.5 Other models ...... 44

xi 2.4 Limitations of existing models ...... 45 2.4.1 Independence of Primary and Propagated delay ...... 45 2.4.2 Objective Based on Average or Total Delay ...... 48 2.4.3 Retime or reroute only ...... 50

3 Delay Transition Model: A new model for Robust Airline Schedule Design 51 3.1 Delay Transition Concepts and Theory ...... 52 3.1.1 Continuous Delay Transition Function ...... 53 3.1.2 Discrete Propagated Delay Transition Function ...... 57 3.1.3 Discrete Recovery Transition Function ...... 60 3.1.4 Discrete Total Delay Transition Function ...... 63 3.2 Estimated On Time Performance ...... 65 3.2.1 OTP-MOD Inputs ...... 65 3.2.2 Methodology ...... 67 3.2.3 Applications ...... 68 3.3 Delay Transition Model (DTM) ...... 70 3.3.1 Retiming and Rerouting (DTM-RTN) ...... 71 3.3.2 Retiming Only (DTM-T) ...... 76 3.3.3 Rerouting Only (DTM-R) ...... 76 3.4 Reformulated Delay Transition Model (DTM-RTA) ...... 76 3.5 Discussion ...... 78 3.5.1 Budget Total Slack ...... 78 3.5.2 Minimize expected delay ...... 79 3.5.3 Include ω in objective ...... 79 3.5.4 Additional transition point ...... 79 3.5.5 Crew and Maintenance Feasibility ...... 80 3.6 Computational Results ...... 83 3.6.1 Test Data Sets ...... 83 3.6.2 Computational Environment ...... 84 3.6.3 Optimality ...... 86 3.6.4 Schedule Improvement ...... 88 3.6.5 Model Comparison ...... 89 3.6.6 Preliminary Conclusion ...... 90

4 Delay Transition Model: Parameter Setting 95 4.1 Estimating Delay Transition Function from Historical Data ...... 96 4.1.1 Delay Reasons ...... 96 4.1.2 Identifying Primary versus Propagated Delay Using Delay Code Data 98 4.1.3 Identifying Primary versus Propagated Delay Using Departure Time Data ...... 98 4.1.4 Transition Classifications ...... 102 4.1.5 Estimating Transition Function ...... 102 4.2 Sample Size and Transition Probability Confidence Intervals ...... 103 4.3 Selecting Delay Categories ...... 105 4.3.1 Delay profile control ...... 106 4.3.2 ω-error ...... 107 4.3.3 Sample Size Error ...... 109

xii 4.4 Identifying Transition Classifications ...... 114 4.5 Recovery Matrices ...... 121 4.6 Limitations of using historical data ...... 123 4.6.1 Bias and noise ...... 123 4.6.2 Missing data ...... 124 4.6.3 Obsolete data ...... 125

5 Delay Transition Model: Solution Approaches 127 5.1 Column generation formulation (DTM-COLGEN) ...... 128 5.2 Solution Approach ...... 129 5.2.1 LP Relaxation ...... 129 5.2.2 Pricing subproblem ...... 130 5.2.3 IP Solution ...... 132 5.3 Pricing Subproblem Acceleration ...... 133 5.3.1 A connection network for DTM-PRICE ...... 133 5.3.2 Shortest Path Algorithm for DTM-PRICE ...... 135 5.3.3 Stochastic Dominance Results on DTM-PRICE ...... 136 5.3.4 DTM-PRICE-LABEL: Extending the Bellman-Ford Algorithm for DTM- PRICE ...... 138 5.3.5 Related Work ...... 138 5.4 Column Generation Speedups ...... 142 5.4.1 Subproblem Warm Start ...... 142 5.4.2 Solve Restricted Subproblem (DTM-PRICE-RSP) ...... 142 5.5 Stochastically Monotone Matrices and Non-Decreasing Cost Vectors . . . . . 146 5.5.1 Non-decreasing cost vector ...... 146 5.5.2 Stochastically Monotone Transition Matrices ...... 147 5.5.3 Stochastically Monotone Recovery Matrices ...... 147

6 Delay Transition Model: Results and Analysis 153 6.1 Computational Results ...... 153 6.1.1 Test Data Sets ...... 155 6.1.2 Computational Environment ...... 155 6.1.3 DTM-COLGEN Pricing Algorithms ...... 155 6.1.4 Solution Approach Comparison ...... 161 6.1.5 Optimality ...... 163 6.1.6 Schedule Improvement ...... 165 6.2 Benchmarks ...... 170 6.2.1 Delay profile optimisation ...... 171 6.2.2 Retiming and rerouting ...... 173 6.2.3 Model performance ...... 175 6.3 Robust Scheduling Insights ...... 176 6.3.1 Where does the slack go? ...... 177 6.3.2 How much slack is enough? ...... 185 6.3.3 What is the value of slack? ...... 187 6.4 Conclusion to Part II ...... 191 6.4.1 Research Approach ...... 192 6.4.2 Findings ...... 193

xiii 6.4.3 Future Research ...... 196 6.4.4 Contributions ...... 200

III Disruption Management 203

7 Schedule Recovery: Airline Disruption Management 207 7.1 Introduction to the Challenge ...... 208 7.2 Literature Review: Airline Disruption Management ...... 210 7.3 Literature Review: The Challenge Finalists ...... 212 7.4 Integer programming formulations ...... 216 7.4.1 The ROADEF problem and a first MIP model (Original Formulation) . 216 7.4.2 A second MIP model (Decoupled Formulation) ...... 227

8 A Mixed Integer Programming approach to Airline Disruption Management 229 8.1 Reformulations and Strengthening Constraints ...... 230 8.1.1 Remodelling of Maintenance constraints ...... 230 8.1.2 Optional Airport Slot Capacity Constraints ...... 231 8.2 A practical MIP-based heuristic ...... 233 8.2.1 Stage 1: assuming original passenger itineraries ...... 234 8.2.2 Stage 2: passenger reaccommodation in a fixed schedule ...... 237 8.2.3 An iterative approach to solving Stage 1 ...... 238 8.2.4 Other speed-ups ...... 239 8.3 Computational Results ...... 243 8.3.1 Results for Stage One Solution Approaches ...... 243 8.3.2 Stage Two: Passenger Reaccommodation ...... 254 8.3.3 Algorithm Results ...... 256 8.4 Discussion ...... 260

9 Passenger Recovery 263 9.1 Passenger recovery model ...... 264 9.2 Integral boundary points of the passenger recovery model ...... 268 9.2.1 Matrix entries ...... 268 9.2.2 A special case of the Passenger Recovery model, N=1 ...... 269 9.2.3 Aprm not generally TU ...... 270 9.2.4 A conjecture on the integrality of the Passenger Recovery Model ..... 271 9.3 Conclusion to Part III ...... 272 9.3.1 Research Approach ...... 272 9.3.2 Findings ...... 273 9.3.3 Future Research ...... 275 9.3.4 Contributions ...... 276

IV Conclusion 279

10 Conclusion 281 10.1 Recap: Simplified Robust Scheduling ...... 282 10.2 Recap: Disruption Management ...... 282

xiv 10.3 Robust Airline Scheduling and Disruption Management ...... 283 10.4 Future Research ...... 284 10.5 Contribution ...... 285

A Glossary and Acronyms 287 A.1 Glossary ...... 287 A.2 Acronyms ...... 289

B Background Mathematical Theory 291 B.1 Integer Programming ...... 291 B.1.1 What is an Integer Program? ...... 292 B.1.2 Linear Programming (LP) Relaxation ...... 292 B.1.3 Good Formulations ...... 293 B.1.4 Solution Approaches ...... 294 B.2 Branch and Bound ...... 294 B.3 Column Generation ...... 295 B.3.1 Branch and Price ...... 296 B.3.2 Pricing strategies ...... 297 B.3.3 Other topics ...... 298 B.4 Integral Polyhedra ...... 301 B.4.1 Totally unimodular matrices ...... 301 B.4.2 Total dual integrality ...... 302 B.5 Shortest Path Problems ...... 304 B.5.1 Bellman-Ford Algorithm ...... 304 B.5.2 Dijkstra’s Algorithm ...... 305 B.5.3 Label Setting Algorithms ...... 306 B.6 Stochastic Processes and Related Theory ...... 309 B.6.1 Stochastic processes and Markov chains ...... 309 B.6.2 Stochastic dominance ...... 310 B.6.3 Stochastic monotonicity ...... 311 B.7 Lloyd’s algorithm for k-means clustering ...... 312

C Delay Transition Model: Additional constraints 315

D Integrality of DTM-RMP 317 D.1 Additional definitions and notation ...... 317 D.2 DTM-RMP2: Revised aircraft location constraints ...... 318 D.3 Integrality of DTM-RMP2 ...... 322 D.3.1 DTM-RMP2 is Perfect ...... 322 D.3.2 Conjecture that DTM-RMP2 always yields integer valued solutions . . 322 D.4 A note on maintenance feasibility of the DTM ...... 323 D.5 Related Work: Integral Scheduling Problems ...... 323

E Delay Transition Model: Extensions and possible speedups 325 E.1 Incorporating maintenance and crew scheduling, the Airline ...... 325 E.1.1 Maintenance constraints ...... 326 E.1.2 Crew constraints ...... 328 E.1.3 Cost implications ...... 330

xv E.1.4 Future research ...... 331 E.2 Incorporating maintenance and crew scheduling, Other Airlines ...... 331 E.2.1 Implications of crew not following aircraft ...... 331 E.2.2 Implications of crew not staring and finishing each day in their home base...... 332 E.2.3 Implications of not having a daily repeating schedule with aircraft starting and finishing at the same location ...... 333 E.2.4 Cost implications ...... 334 E.2.5 Future research ...... 334 E.3 Other Speedups Considered ...... 335 E.3.1 Additional dominance criteria (DTM-PRICE-LABEL2) ...... 335 E.3.2 Best First Search for DTM-PRICE ...... 336 E.3.3 Restricted Networks and Subproblem Preprocessing ...... 337 E.3.4 Better initial solution ...... 338 E.3.5 Lazy pricing ...... 339 E.3.6 Other techniques from the literature ...... 339

F Residual Plots 341

G Formulation of Recovery Models 345 G.1 ROADEF Model Formulation (Stage 1) ...... 345 G.1.1 Sets ...... 345 G.1.2 Parameters ...... 346 G.1.3 Decision Variables ...... 348 G.1.4 Components of the objective function ...... 349 G.1.5 Formulation ...... 350 G.2 Passenger Recovery Model Formulation ...... 352 G.2.1 Notation ...... 352 G.2.2 Formulation ...... 354

xvi List of Figures

1.1 From planned cost to actual cost due disruption ...... 5 1.2 Robust schedule design requires consideration of disruption and likely recov- ery strategies, but recovery options are dictated by the schedule design . . . . 12 1.3 Robust schedule design requires consideration of disruption and likely recov- ery strategies ...... 13 1.4 Robust schedule design requires consideration of disruption and likely recov- ery strategies ...... 14

2.1 Slack Turn Concepts ...... 29 2.2 Absence of Primary Delay Depending on Propagated Delay ...... 47 2.3 Instance of Primary Delay Depending on Propagated Delay ...... 48 2.4 Delay Probability Distribution ...... 49 2.5 Comparative Distributions ...... 50

3.1 The impact of slack on the delay distribution of propagated delay ...... 56 3.2 Example delay transition probabilities ...... 59 3.3 Optimality Gap versus Run Time: Full Schedule problem instance with 3 flight copies; (a) DTM-RTN, (b) DTM-RTA ...... 88 3.4 Improvement in Expected On Time Performance By Instance (after 60 min- utes run time) ...... 90 3.5 Average Improvement in Expected On Time Performance (after 60 minutes run time) ...... 91 3.6 Comparison of problem set up time, DTM-RTN versus DTM-RTA ...... 91

4.1 Distribution of flights by propagated delay ...... 108 4.2 k-means clusters for k = 1,2,3,4 ...... 117 4.3 Sample size versus distance error for k = 1, 2, 3, 4 clusters, and |D| = 5, 6, 7, 8 delay categories ...... 120

5.1 An example network and possible solution. Figure 5.1(a) shows the network while Figure 5.1(b) shows a possible solution...... 144 5.2 Restricted networks for retiming or rerouting with respect to the current solu- tion. Figure 5.2(a) shows the subset ERT while Figure 5.2(b) shows the subset ERR...... 145 5.3 Cumulative Distribution Function of Stochastically Monotone Transition Matrix149

6.1 Optimality gap versus time, Full Schedule, 1 Flight Copy, DTM-PRICE-LABEL versus DTM-PRICE-MIP. Gap measured from known optimal value...... 156

xvii 6.2 Optimality gap versus time, Full Schedule, 3 Flight Copies, DTM-PRICE- LABEL versus DTM-PRICE-RSP. Gap measured from known optimal value. . 160 6.3 Average iteration solve time versus (a) iteration number and (b) elapsed com- putation time, Medium Problem Instance ...... 160 6.4 Increase in column generation iterations required versus Number of Flights in the Schedule, DTM-PRICE-LABEL, 1 Flight Copy versus 3 Flight Copies . 161 6.5 Increase in DTM-PRICE-LABEL solve time with number of Flights in the Schedule, DTM-PRICE-LABEL, 1 Flight Copy versus 3 Flight Copies . . . . . 162 6.6 Optimality gap versus time, Full Schedule, 3 Flight Copies, DTM-COLGEN with DTM-PRICE-RSP versus DTM-RTN. Gap measured from known opti- mal value...... 163 6.7 Problem Instances solved to optimality using DTM-COLGEN with DTM- PRICE-RSP over time ...... 166 6.8 Improvement in Expected On Time Performance By Instance (after 60 min- utes run time - DTM-COLGEN with DTM-PRICE-RSP) ...... 167 6.9 Average Improvement in Expected On Time Performance (after 60 minutes run time - DTM-COLGEN with DTM-PRICE-RSP) ...... 168 6.10 Objective improvement over time, Full Schedule problem instances ...... 169 6.11 Comparison of OTP improvement from retiming and rerouting versus retim- ing only ...... 174 6.12 Optimal LOFs for DS15 show slack is more evenly distributed than original LOFs ...... 182 6.13 Greatest improvement in LOF performance obtained where original perfor- mance was poorer, i.e. ∆SPi∗ ∝ −SPi ...... 183 6.14 Optimal LOFs for DS15 allocated slack earlier in the LOF than the original LOF184 6.15 OTP Improvement per minute of slack added versus total slack added . . . . 185 6.16 Average improvement by Delay Category for 10 and 20 minutes additional slack per LOF ...... 186

8.1 Growth in matrix size by network size ...... 247 8.2 Comparison of LP solve time by model type ...... 247 8.3 Comparison of set up time by model type ...... 249 8.4 Comparison of results with various airport slot constraints ...... 253 8.5 Algorithm performance by Stage 1 / Stage 2 Time Allocation ...... 258

9.1 Example passenger flow network with non-TU PRM constraint matrix, Aprm . 270

B.1 Formulation comparisons ...... 293

∗ 1 ∗ F.1 Residual plots for ∆SPi = α1 σ + α2SPi + α3∆τi (Rejected) ...... 341 ∗ 1 2 ∗ F.2 Residual plots for ∆SPi = α1 σ + α2SPi + α3∆τi (Accepted) ...... 342 F.3 Residual plots for ∆EOTPi = α1 pi + α2si + α3ti (Accepted) ...... 343

xviii List of Tables

2.1 Summary of existing approaches to reduce delay propagation ...... 37 2.2 Actual distribution of primary delay, and expected distribution if primary de- lay is independent of propagated delay. pd is Propagated Delay, id is Primary Delay ...... 46

3.1 An example propagateddelay transition function ...... 58 3.2 Example calculation of propagated delay distribution (PDj) based on total arrival delay distribution (TADi), slack, sij of 8 minutes...... 61 3.3 Example calculation of propagated delay distribution (PDj) based on total D20+ = ˙ arrival delay distribution (TADi), slack, si,j of 10 minutes, and ω(21,30) 0.33 . 62 3.4 Test set summary: range of problem sizes in each test set ...... 85 3.5 Delay category weights, designed to minimise delays > 15 minutes ...... 86 3.6 Optimality Gap of DTM-RTN and DTM-RTA after 60 minutes run time . . . . 87 3.7 Comparison of DTM-RTN and DTM-RTA, Small Problem Instances ...... 92 3.8 Comparison of DTM-RTN and DTM-RTA, Full Schedule ...... 93

4.1 Standard delay codes recommended by IATA ...... 97 4.2 Example delay codes attributed to a flight ...... 99 4.3 Example flight information ...... 100 4.4 d values for 99% and 95% confidence intervals for Multinomial distributions  by Sample Size. i.e. Pr ∩i∈D|qji − qˆji| ≤ d ≥ 1 − α, α = 0.01 and α = 0.05 byN...... 104 e 4.5 ωn by Number of Delay Categories, Northern Winter Schedule 2011, All Flights110 4.6 p-value: χ2 goodness-of-fit results for exponential distribution, λe−λ R2: least e squares exponential regression results for ωn , by Number of Delay Cate- gories, Northern Winter Schedule 2011, All Flights ...... 111 4.7 Available Sample Size For Flights in Each Propagated Delay Category, North- ern Winter Schedule 2011, All Flights ...... 112 4.8 d values for 95% Confidence Interval for flights in each propagated delay  category, i.e. Pr ∩i∈D|qji − qˆji| ≤ d ≥ 0.95 Northern Winter Schedule 2011, All Flights ...... 113  4.9 d such that Pr ∩i∈D|qji − qˆji| ≤ d ≥ 0.95 in each propagated delay category. Northern Winter Schedule 2011, 5 Delay Categories, By Port for the 10 largest ports (by number of departures) ...... 115 4.10 Distance from port to cluster average for 1, 2, 3 & 4 clusters ...... 118  4.11 Maximum and Average d values such that Pr ∩i∈D|qji − qˆji| ≤ d ≥ 0.95 by number of delay categories (|D|) and number of clusters ...... 119

xix 5.1 Confirmation of stochastic monotonicity on example transition matrix . . . . 148 5.2 Confirmation of stochastic monotonicity on example recovery matrix . . . . . 152

6.1 Summary of Models and Algorithms related to the Delay Transition Model . 154 6.2 Comparison of Average Solve Time per Iteration by Pricing Algorithm (CPU Seconds). The column generation algorithm DTM-COLGEN was run for up to 1 hour or until an optimal solution was found for each problem instance using each of the different pricing algorithms/models...... 157 6.3 Comparison of DTM-COLGEN Algorithm Performance with DTM-PRICE- LABEL versus DRM-PRICE-RSP on Small Instances ...... 159 6.4 Comparison of performance after 60 minutes run time:DTM-RTN versus DTM- COLGEN (DTM-PRICE-RSP) ...... 164 6.5 Optimisation objective against delay profile outcome ...... 173 6.6 Solve time performance for DTM-RT, DTM-T, SLM and MLM ...... 175 6.7 Summary of data used for regression analysis ...... 180 6.8 Summary of linear regression model: Dependent variable ∆SPi∗ as linear 2 function of SPi , ∆τi∗ and ∆σi∗ ...... 181 6.9 Summary of linear regression model, ∆EOTPi = α1 pi + α2si + α3ti ...... 189

8.1 Summary of Models and Algorithms related to the the Challenge ...... 244 8.2 Summary of problem instances ...... 245 8.3 Parameter settings for different sized networks, time-based parameters are given in hours ...... 246 8.4 Summary of results for different sized networks ...... 248 8.5 Results from Stage One: Iterative Algorithm versus Optimiser Only ...... 255 8.6 Stage 2 Passenger recovery results, % problem instances solved within time limit by MAX PAX PATHS ...... 257 8.7 Improvement in objective due to second stage of Two Stage Algorithm . . . . 259

9.1 Matrix entries for the Passenger recovery model ...... 269 9.2 Square submatrix from Aprm for example network shown in Figure 9.1 . . . . 271

A.1 Summary of key terms used throughout the thesis ...... 287 A.2 Summary of acronyms used throughout the thesis ...... 289

xx Part I

Introduction and Background

1

Chapter 1 Introduction

This chapter provides a brief introduction to the problems investigated, an overview of the structure and a summary of the contributions of this thesis.

This thesis deals with challenges faced by commercial passenger airlines with respect to scheduling and disruption management. Prior to describing the problems that are ad- dressed within the thesis, some background and motivation is provided to give context for the work, including an overview of the activities that take place within an airline from long term planning through to the day of operations. The problem addressed is then described, followed by an overview of the contributions of the thesis.

1.1 Background and Motivation

Airlines have long been an area of interest for the operations research community. One of the key uses of mathematical optimisation in the airline industry is in the airline scheduling process. Airline scheduling is concerned with developing a plan for scheduling flights that will be most profitable. The plan includes origin/destination pairs to be flown, departure and arrival times, as well as allocation of aircraft and crew to each flight. This generally involves maximising revenue and minimising operating costs, and is usually done under conditions that are assumed to be known, but in reality are subject to uncertainty such as weather, traffic and equipment failure. Due to the high capital costs involved in running an airline (a typical passenger aircraft costs $70-$400 million USD∗), airline managers seek extremely high levels of aircraft utilisa- tion. A similar logic means they seek high utilisation of crew within their agreed bargaining arrangements or employment contracts. High utilisation may well be to the detriment of

∗Airbus Press Release [11] lists the A318 model at $70.1m through to the A380-800 model at $403.9m

3 4 Introduction operational efficiency once the costs of propagated delay that can be expected to occur in an extremely tight schedule are considered. For example, consider an aircraft that is scheduled to operate back to back flights throughout the day with only the minimum amount of time required to complete post- and pre-flight activities scheduled between each flight. If there is a single delay on the first flight, for example due to weather, then in the absence of any inter- vention all the other flights that the aircraft is operating will also be delayed. The trade offs that are made between maximising utilisation and providing enough slack in the system to cope with likely delays are unclear, and how to measure the value of adding extra slack or redundancy into the system is far from obvious, especially due to the interconnected nature of airline resources and the propensity for disruptions to propagate. Some researchers have focused their attention on robust scheduling by trying to account for the effect of unknown disruptions during schedule development. Existing approaches include distributing slack within the schedule to absorb delays so they do not propagate through the network (Lan et al. [110]), retiming flights within small windows of the original schedule to reduce the probability of passengers missing their connecting flights (Lan et al. [110]), developing schedules that have structures that lend themselves to recovery such as providing swap opportunities for crew pairings or aircraft routings (Shebalov and Klabjan [149], Smith and Johnson [150]), and developing modular fleet assignments with hub isola- tion and short cycles so that cancellations have minimal downstream impact (Rosenberger et al. [141]). Whilst these approaches all have a positive impact on the expected on-time performance of the airline schedule, it is less clear how this is balanced against the expected cost of op- erating the schedule. Ehrgott and Ryan [75] attempt to understand the trade offs in robust crew scheduling by constructing crew schedules using bi criteria optimization of operating costs and a robustness measure, however by using propagated delay due to crew assignments as a proxy for robustness, they do not make it immediately clear what is actually gained for an increase in the planned operating cost. Ehrgott and Ryan noted that using better robust- ness penalties would be a useful area for future research. In general, our lack of understanding of how to trade off planned costs against robust- ness is largely due to a lack of knowledge of what delay and disruption actually cost†.

†A detailed review conducted in 2004 by the Performance Review Unit of Eurocontrol estimated that the cost of delay could be anywhere from e0 to e289 per minute of delay depending on the size of the aircraft 1.1 Background and Motivation 5

Schedule Recover Disruption • “Planned Cost” • “Actual Cost”

Figure 1.1: From planned cost to actual cost due disruption

Without knowing the specific value of a delay, it is unclear how much it is worth spend- ing to avoid delay. The difficulty in estimating the cost of a delay is in part because there are soft costs that are difficult to measure, such as loss of customer goodwill caused when passengers are delayed, but also because of the difficulty in getting an accurate model of the planned operating costs to compare with actual costs incurred, and further difficulty in attributing any of the difference to a specific disruption or delay.

Furthermore, the cost of operating an airline is not only determined by the schedule and any disruptions experienced, but also how the airline responds to those disruptions (see Fig- ure 1.1). For example, if an airline created a schedule that incorporated swap opportunities for crew, but then only ever reacted to a crew delay by delaying the crews’ connecting flight, then the airline has effectively wasted the robustness that was built into the schedule. To the best of our knowledge, there is no research that articulates which type of recovery strategy is more effective and under what circumstances. One might expect that for a given network, or even for a given port, an avoidance strategy such as increasing slack within the schedule is more effective (such as at ports with low frequency) whereas contingency planning such as a spare aircraft might be more cost effective at hubs (where the high frequency of flights will increase the likelihood that the spare aircraft will be used).

Clearly the problems of designing a robust schedule and recovering a schedule once a disruption occurs are intrinsically interlinked, and in particular designing a robust schedule must include consideration of recovery strategies. Before describing the framework adopted in this thesis to address the interdependency of robust scheduling and recovery, a brief introduction to airline planning and operations is provided. For a more thorough exposition of the complex interaction between schedule planning decisions and airline reliability and punctuality, the reader is referred to Wu [171]. delayed, the length of the delay and whether the delay occurs when the aircraft is at gate or airborne. (Source: Eurocontrol Technical Report [157]) 6 Introduction

1.2 Airline Planning and Operations

Airline planning and operations is a complex business. There are a multitude of decisions to be made, each affecting the overall profitability of the airline. The decisions that need to be made include: which routes to operate and at what frequency, what time of day to schedule the flights, which aircraft type to allocate to the flight, and which sequence of flights will be operated by the same crew and/or same aircraft, as well as when and where the aircraft will receive maintenance. The goal of an airline is to make these decisions in a way that max- imises the airlines profitability, by maximising passenger demand for scheduled flights (and hence revenue), whilst minimising operating costs which are driven largely by fuel, crew, maintenance and aircraft capital costs. These decisions will all be addressed when generat- ing the original plan during airline schedule planning, and each one may need to be revisited prior to or on the day of operations during schedule recovery and disruption management. In what follows, an overview of these two phases of decision making is provided.

1.2.1 Airline Schedule Planning

Solving the airline scheduling problem as a single integrated problem is impractical due to the large number of interacting variables and constraints (Barnhart and Cohn [21], Cohn and Lapp [45], Smith [151]). Therefore, in order to tackle the problem, most airlines have resorted to addressing it as a series of subproblems solved sequentially. These subproblems are typically identified as:

1. fleet planning and network design, 2. schedule generation, 3. fleet assignment, 4. aircraft maintenance routing, and 5. crew scheduling.

A brief overview of the problem tackled at each step is provided below. For a more detailed summary of the current approaches to modeling and solving the airline scheduling problem, the reader is referred to Barnhart and Cohn [21], The Global Airline Industry [27], Wu [172] and Cohn and Lapp [45]. 1.2 Airline Planning and Operations 7

Fleet planning and network design Fleet planning refers to deciding what type and how many aircraft to operate, these decisions are usually made many years in advance and will likely include options to purchase aircraft, with the final decision occurring a couple of years out from delivery. Network design then addresses decisions of what markets the fleet will service, including which routes and the frequency of service on each route. These decisions are primarily made according the highest expected passenger revenue, or profit if consideration is given to the costs of operating the route. During network design, the decision of where aircraft and crew will be based is also considered.

Schedule generation Sometimes referred to as schedule design, it is during schedule gen- eration that the flights are scheduled to a specific time of day. The goal is to deliver the network frequencies identified in the previous step, subject to various operating constraints including airport limitations such as curfew, take-off and landing slot availability, limits on the number of concurrent departures (usually dictated by check-in desk and self-check kiosk availability or baggage handling infrastructure limitations) and limits on the num- ber of aircraft that can be on the ground at the same time (dictated by gate and bay access and/or commercial arrangements with the airport).

The goal of the schedule generation process is to maximise expected revenue. The com- mercial timing of flights is therefore a factor, since people will pay a premium to depart at their preferred time. For example, people will pay a premium to fly between Melbourne and Sydney at 7AM since it will usually allow them to arrive in time for a 9AM meeting at their destination without requiring them to get out of bed too early in the morning. Sched- ules are usually designed for a single day or a week and then repeated, with only minor variations made for seasonal adjustments such as holidays and major sporting events.

Fleet assignment There is a trend in low cost carriers to operate a homogeneous fleet, thereby rendering the fleet assignment problem redundant. However, where an airline is operating a mixed fleet, the goal of the fleet assignment problem is to assign a particular fleet (aircraft type) to each flight leg while minimising operating costs and matching passenger demand to minimise lost revenue opportunities. 8 Introduction

Aircraft maintenance routing The aircraft maintenance routing problem involves allocat- ing aircraft to sequences of flights, allowing sufficient time in between each pair of flights to conduct post- and pre-flight activities such as passenger disembarkation, unloading bag- gage, refueling, loading bags for the next flight and then boarding passengers. The se- quences of flights must also include longer periods of ground time to allow for various maintenance checks, with regulations and airline policy dictating how much flying may be conducted between the different types of maintenance checks. Aircraft maintenance rout- ing is often conducted in two stages. In the first stage generic lines of flying (LOFs) are con- structed. A line of flying is a sequence of flights that can be conceivably operated by a single aircraft between maintenance events. In the second stage, closer to the day of operations, each aircraft is allocated to a specific LOF to meet its individual maintenance requirements. The goal of the maintenance routing problem is to minimise the cost of maintenance, that is to ensure maintenance is conducted as close as possible to its deadline without going beyond it.

Crew scheduling The crew scheduling problem also consists of two stages. In the first stage, crew pairings are constructed. Crew pairings are sequences of flights that can be op- erated by a single crew member within the prescribed limitations on maximum duty length and minimum rest requirements (which are regulated by crew contracts or bargaining agree- ments, industrial law and/or local aviation safety authorities). Crew pairings may include overnight rest in a port that is not the crew members home base, requiring overnight ac- commodation and meal allowances to be paid. The pilots and cabin crew may be paired together, or separate pairings might be constructed for the different crew types, depend- ing on the rules that govern each. During this stage, the goal is to construct crew pairings that cover all the scheduled flying while minimising the expected cost, which is driven by the number of crew days required to cover the flying and the cost of overnight-related allowances. In the second stage, referred to as roster build, crew pairings are assigned to individual crew. A roster usually covers between 2 weeks and 2 months, and includes al- locations to crew pairings and non-flying activities such as training, annual leave, days off and standby days. The rosters must also capture maximum duty hour and minimum rest requirements that apply, for example, on a weekly, monthly and annual basis. During roster build, the goal is to construct rosters where the workload is ’balanced’ between the crew so 1.2 Airline Planning and Operations 9 that there are no crew who are receiving extra days off or working less hours at the expense of some other crew members who are working extra days and hours.

Integration of scheduling decisions Recognizing that decisions made in each subproblem will limit the options available in the downstream subproblems, researchers and practition- ers have explored the integration of various steps of the airline schedule planning process in a bid to find better solutions to the overall problem. For example, aircraft routing affects crew pairings because the short connections of flights in a routing become available connec- tions for crew in a pairing. The integration of crew pairings and aircraft routing has been addressed by Cohn and Barnhart [46] and Weide et al. [167]. In practice, it is not uncommon for low cost carriers (LCCs) to integrate crew and aircraft scheduling by designing aircraft routings that ensure crew can follow the aircraft and return back to their home base within crew duty limits. Complete integration of some of the different subproblems into a single model is not always tractable. Instead researchers have sought to either “look-ahead” to downstream subproblems by factoring in key measures associated with the future phases or revisit deci- sions made in earlier stages by allowing minor modifications. Examples include: solutions to the fleet assignment problem that factor in crew, aircraft routing or both (Barnhart et al. [24], Barnhart et al. [25] and Clarke et al. [41]); and solutions to the fleet assignment problem that allow scheduled flight times to be revisited (Rexing et al. [138]).

1.2.2 Schedule Recovery and Disruption Management

As mentioned at the start of Section 1.2, many of the decisions made during the develop- ment of the original plan will need to be revisited in response to certain events or new information becoming available. For example, if an aircraft becomes unable to operate due to damage, the flights previously allocated to that aircraft will either need to be delayed until the aircraft can be repaired, allocated to a different aircraft if there is one available, or canceled. This in turn will affect the crew operating the flight and the passengers traveling on the flight. For example, if the flight is delayed, the crew may no longer be able to operate since they have maximum periods they can work before a rest period is required. Therefore a replacement crew will need to be found, or if that is not possible, the flight further delayed 10 Introduction so the crew can have sufficient rest. In addition, passengers may miss connecting flights, or in the case of a very long delay, need to be accommodated in a hotel and or provided with meals. In the case of a canceled flight, passengers may even need to be re-accommodated on a flight operated by a different airline. Schedule recovery and disruption management relates to dealing with day of operations decisions, that is decisions made after the original plan, and usually on the day of the scheduled flight, or sometimes in the several days prior.

Types of disruption Minor delays are usually addressed via push-back, i.e. each flight is delayed until the required resources become available. Disruptions are more significant events that occur during the operation of an airline that cause one or more resources to be- come unavailable for an extended period. Bratu and Barnhart [37] categorize disruptions as either airline resource shortages (i.e. crew and aircraft) or airport and airspace capacity short- ages (i.e. runways or landing and takeoff slots). Disruptions can be caused by a number of events such as bad weather, traffic, staff illness or truancy, equipment failure, unscheduled maintenance requirements, or security threats.

Operations Control The day-to-day monitoring of an airlines operations and updating the plan to respond to disruptions is performed by the Operations Control Centre (OCC). The goal of the OCC is to deliver the planned schedule, and where deviation is required due to disruption, minimise disruption to passengers while simultaneously minimising the cost to deliver the schedule. Ops controllers will continually monitor the airlines performance against the schedule, and when things deviate too much or a disruption occurs, will respond by updating the plan through some combination of rerouting aircraft, re timing or canceling flights, reallocating crew and re-accommodating passengers. The OCC usually consists of three sub teams, one for managing each of aircraft rotations, crew resourcing and passenger itineraries. When a disruption occurs, the OCC Manager will work with the various sub teams to identify the impact of the disruption and investigate possible solutions. The teams will work together to identify which is the best overall solution, with the OCC Manager responsible for managing the trade-offs required between the different sub teams.

Planning for recovery A disruption does not cause delay unless the resource impacted is made unavailable where it is required to operate a flight, and therefore the significance of 1.3 Problem Description and Research Methodology 11 a disruptive event depends on how many resources it impacts, how long it impacts them for, when it impacts them, and whether there is any redundancy in place. Some considera- tion to disruption is made during design phase, for example reserve crew are rostered as a contingency for crew sickness and spare aircraft are sometimes scheduled to be available to recover in the event of unplanned maintenance requirements. An overview of approaches to improve the recoverability of a schedule is provided in the literature review of Chapter 2.

1.3 Problem Description and Research Methodology

As noted in Section 1.1, there is an interdependence between robust schedule design and schedule recovery. Specifically, it is difficult to solve the former without considering how to solve the latter, yet decisions made during schedule design will affect which recovery options are available. See Figure 1.2 (page 12) for an illustration of the circular nature of this problem. Before presenting details of two simplified problems addressed in this thesis, a robust scheduling framework for addressing the interdependence between robust schedule design and recovery is discussed.

1.3.1 Robust scheduling framework: integrating design and recovery

One way to address the interdependence would be to simultaneously solve the schedule de- sign and recovery problems in an integrated model, e.g. via a two stage stochastic program where in the first stage the schedule is designed and in the second stage recovery decisions are made over a collection of disruption scenarios. This approach is depicted in Figure 1.3 (page 13). An estimate or forecast of the disruption profile would be required to schedule using such an approach, and the number of variables and constraints needed to model the problem would be prohibitive for solving practical problems (such as a real airline schedule) within an acceptable computational time. Mulder et al. have pursued such an approach for robust liner shipping schedules, simultaneously allocating buffer time and identifying the optimal recovery policy in Mulder et al. [127]. Interestingly, robust scheduling via integrated design and recovery would not just solve the robust scheduling problem, but also result in a schedule that has an abundance of prede- 12 Introduction

Schedule • “Planned Cost”

can not be feedback to operated as inform robust planned schedule design due to

Recover • “Actual Cost” Disruption

action taken to

Figure 1.2: Robust schedule design requires consideration of disruption and likely recovery strategies, but recovery options are dictated by the schedule design 1.3 Problem Description and Research Methodology 13

Improve robustness by estimating likelihood of disruption and recovery decisions Robust Recover Schedule Disruption • “Actual Cost” • “Estimated Cost” can not be action operated as taken to planned due to

Figure 1.3: Robust schedule design requires consideration of disruption and likely recovery strategies termined recovery options. Thereby simplifying the recovery problem to one of recognizing which scenario the current day of operations most accurately reflects, and then applying the pre-computed recovery solution. Of course, depending on the efficiency of the approach, it may be simpler to reapply the recovery algorithm used to solve the initial scheduling problem. An alternative to an integrated model would be to analyse historical schedules to de- termine the attributes associated with schedules that could be delivered cost effectively. However, the usefulness of the analysis would depend on the quality of recovery decisions made during the schedule delivery. Instead of analysing historical schedules, simulation could be used to assess a variety of schedules designed with built in robustness such as slack time, reserve crew and spare aircraft, et cetera. By simulating different disruption scenar- ios with a similar profile to the known operating environment, recovering using a schedule recovery optimiser, then conducting an analysis of the simulated costs versus the various ro- bustness measures, it would be possible to assess the value of the various types of robustness. A schedule could then be designed to optimise the expected cost which is made up of both the planned cost of the schedule as well as the estimated cost associated with the robustness measures. This framework is depicted in Figure 1.4 (page 14). Eggenberg pursued this line of research in his thesis (Eggenberg [69]), developing a comprehensive recovery approach as well as a general robustness methodology that he applied to the aircraft maintenance routing problem. A comprehensive simulation was not developed, but results on several problem instances were presented. To achieve integrated design and recovery, either through 2-stage stochastic program- ming or simulation and analysis, a significant amount of work would be required to build a realistic model of an airlines operations and then solve the problems within reasonable time 14 Introduction

Simulation/Historical Recover RecoverRecover Robust ScheduleSchedule ScheduleSchedule ScheduleSchedule ScheduleDisruption (simulated(simulated(simulatedRecover Schedule cost)cost) Analyse & •“Estimated cost” cost) incorporate

Figure 1.4: Robust schedule design requires consideration of disruption and likely recovery strategies frames. Such a body of research is beyond the scope of a single doctoral thesis, thus the decision was made to simplify the problem addressed in the first instance, while keeping the broader problem of integrated design and recovery in mind. Two simplified problems were considered: robust scheduled design with simplifying assumptions on recovery and costs, and disruption management for a given schedule and disruption scenario. While the two simplified problems (addressed in Parts II and III of this thesis) arose from a desire to solve the integrated design and recovery problem, the research in each part is largely inde- pendent of the other. However, the lessons learned while solving each simplified problem will assist in the long term goal of solving the integrated design and recovery problem.

1.3.2 A simplified problem assuming push-back recovery

In the first instance, the problem of integrating recovery and robustness was simplified by assuming the same recovery decision would always be made in the event of disruption, the decision being push-back. That is, delays are assumed to propagate unless there is slack to absorb them, i.e. there are no aircraft swaps or flight cancellations implemented as part of the recovery solution. To avoid the complex problem of accurately modeling the cost of delays to enable a trade-off between planned costs and robustness, the problem was further simplified to that of taking an existing schedule and making minor changes that did not increase the planned cost of the schedule yet were designed to improved the robustness. Thus the simplified problem can be articulated as: take an existing airline schedule and use it to construct a new schedule with equivalent costs that is most robust in the absence of any active recovery decisions. This problem is explored in Part II of this thesis, and the problem addressed was de- 1.3 Problem Description and Research Methodology 15 signed within the context of the Airline, a low cost, point to point airline in the Asia Pacific region. Despite being designed with reference to the Airline, the methods are equally ap- plicable to other airlines. Where methods are considered somewhat unique to a low cost or point to point environment, considerations for adjusting the approach to a more generic environment are discussed.

Solving such a simplified problem will only lead to a schedule that is robust to minor delays, and is unlikely to have any significant bearing on the robustness to major disrup- tions. To be more robust to major disruption, consideration of other recovery strategies would be required. Therefore, a second simplified problem exploring recovery strategies was explored.

1.3.3 The isolated recovery problem

Ignoring the interdependence between robust design and recovery, and focusing on the problem of recovery in isolation, one is left with a much simplified, but in no way simple, problem. Methods for solving the recovery problem would be required in any robust design framework that integrates initial design and recovery, and therefore the problem is explored in Part III of this thesis.

The problem addressed is based on the specification to the ROADEF 2009 Challenge, or the Challenge, a worldwide competition organised the French Operational Research and De- cision Support Society in 2008/9 (Palpant et al. [133]). In each problem instance, an existing schedule and set of passenger itineraries are provided, as well as a series of disruptions to airports, aircraft and individual flights. The goal is to find the minimum cost solution to get passengers to their booked destination, returning as many aircraft as possible to their scheduled locations at some defined point in time in the future so that operations may re- turn to the original schedule. All the while, regular operating constraints such as airport and aircraft capacities must be considered. The problem considers most relevant resources, but ignores crew. 16 Introduction

1.4 Terminology, Abbreviations etc

For reference, the definition of any specialised terminology used in this thesis is provided in Appendix A.1. A reference for the abbreviations and acronyms used are provided in Appendix A.2.

1.5 Outline of the Thesis

Despite being motivated by the same initial problem, this thesis consists of two largely distinct topics, both of which deal with the application of Integer Programming techniques to problems in airline scheduling. Part I forms the introduction, providing a motivation for the two topics explored as well as an overview of the background mathematical theory. Part II explores the first topic, inves- tigating the problem of designing a schedule that is robust and presenting a new methodol- ogy for measuring the probability of flights being delayed, as well as an optimisation model for redesigning an airline schedule to minimise the probability of delay. Part III addresses the topic of disruption management, i.e. the recovery of an airline in the face of disruption. Finally, Part IV provides a conclusion covering both topics and the original question that motivated them. Open questions for future research are also discussed. A detailed overview of the chapters in each of parts II and III is provided below.

1.5.1 Outline of Part II - Robust Airline Scheduling

Part II begins with a literature review of robust scheduling in Chapter 2. The review includes a summary of existing approaches to robust scheduling, with an emphasis on approaches for airline scheduling. Approaches that are designed to minimise the propagation of delays throughout the airline network are reviewed in more detail. In Chapter 3, a new measure and modeling approach for assessing the reliability of an airline schedule is presented. This is followed by the development of two Mixed Integer Programming models designed to optimise reliability in terms of the new measure by both retiming flights and/or rerouting aircraft in an existing schedule. These models redistribute slack time within the schedule to better absorb likely delays. Whilst good solutions can be 1.5 Outline of the Thesis 17 found relatively fast when solving these models using a standard commercial solver, it is not possible to find the optimal solution within a reasonable time frame for larger problem sizes. Chapter 4 describes how to initialise the parameters for the models presented in Chap- ter 3 using real-world data from an airline. First the required data sources are described, then the calculation methodology is described. The statistical accuracy of the parameter estimates is also explored. In Chapter 5, bespoke solution approaches are explored to solve the models to opti- mality. In particular, column generation with a specialised labeling algorithm to solve the subproblemis used. Interesting properties of the problem are explored such as integrality properties of the linear relaxation of the master problem and the structure of the shortest path subproblem. Finally, in Chapter 6, the results of the robust schedule design approach are examined, exploring the solution quality and computational efficiency, as well as insights into where the slack time is allocated depending on the structure of the network and the reliability of the various flights in the network.

1.5.2 Outline of Part III - Disruption Management

Part III of the thesis deals with the Airline Disruption Management problem as posed by the Challenge. Chapter 7 provides a brief literature review of existing approaches to Airline Disruption Management, and introduces the Integrated Recovery Problem, as formulated in the Challenge. Chapter 8 presents two mixed integer programming models (MIPs) for integrated sched- ule, aircraft and passenger itinerary repair, which are the focus of the Challenge. Both mod- els are based on the flight connection network, and use continuous variables for flight times in the repaired schedule, but explore different trade-offs between size and strength of the model. Since neither MIP can yield good quality solutions in the strict time lines required for operational decision-making, the problem is addressed in two stage via an iterative ap- proach based on our MIP models. These yield significant improvement on basic MIP opti- misation, particularly on the larger problems. Chapter 9 explores the passenger recovery model presented in Chapter 8. Interestingly, 18 Introduction for all test cases considered, the Multi-commodity network flow model of the second stage yields integer solutions when being solved as a Linear Program. The integrality proper- ties observed during computational experiments are explored, in particular the conditions under which the integrality property can be guaranteed are described.

1.6 Contribution of the Thesis

The primary contributions of this thesis are summarised below, presented according to which part of the thesis the contribution is related to.

1.6.1 Contribution of Part II - Robust Airline Scheduling

The contributions of Part II, that to the best of the author’s knowledge are particularly novel, are:

1. A new methodology for estimating the expected reliability of an airline schedule that does not rely on the assumption that primary delay and propagated delay are independent 2. The Delay Transition Model, which is a MIP for optimising the expected reliability of an airline schedule, the particularly novel features of which are that it:

(a) provides an ability to control the profile of the delays experienced beyond just an ’average’ or ’total measure’; and (b) retimes flights and reroutes aircraft to reduce propagated delay.

3. A detailed exposition on how to determine parameters for the Delay Transition Model from real airline data; 4. A column generation solution methodology that is able to exploit specific properties of the Delay Transition Model; 5. Computational results that demonstrate the effectiveness of the approach on practical sized problems at a medium to large sized airline, as well as generating insights into the attributes of a reliable schedule; 6. A relaxed master problem in the column generation formulation for which the linear relaxation yields integer valued solutions at optimality; and 1.6 Contribution of the Thesis 19

7. A detailed exposition of how to adapt the column generation methodology to incor- porate more general scheduling decisions both at the Airline and within the context of other airline scheduling practices (e.g. integrated crew and aircraft scheduling).

Contributions 1, 2 and 3 were first presented at the 20th International Symposium for Math- ematical Programming in August 2009 (Dickson et al. [58]).

1.6.2 Contributions of Part III - Disruption Management

The contributions of Part III, that to the best of the author’s knowledge are particularly novel, are:

1. A literature review of Airline Disruption Management techniques, with an emphasis on the entries to the ROADEF challenge; 2. Presentation of a comprehensive Integer Programming model for recovering both air- craft and passengers when an airline is operationally disrupted. The model considers a wide range of resources: passengers, airports, aircraft capacity, aircraft maintenance requirements, and many disruption types: flight delays, flight cancellations, airport capacity restrictions, aircraft unavailability; 3. Identification of an alternative model to reduce the number of variables required, including results demonstrating the improvement gained in performance via the new model; 4. Identification of strengthening constraints to improve the solve time performance of the original model, including results demonstrating the improvement gained in performance via the new model; 5. An iterative algorithm that allows better solutions to be found for larger problem instances within the strict time limits required of a ’day of operations’ solution ap- proach; 6. Formulation of a passenger recovery model that, whilst formulated as an integer program, yields integer solutions when solved as a linear program; 7. Proof that the passenger recovery model is integral under certain, strict conditions; and 8. A conjecture that the passenger recovery model is integral more generally, including a discussion of how this might be proven (or dis-proven) through future research. 20 Introduction

Contributions 2, 4, 5, and 6 were first developed for the 2009 ROADEF Challenge and presented in Dickson et al. [57].

1.7 Background Mathematical Theory

The techniques employed throughout the thesis are rooted in integer programming, and therefore a basic knowledge of integer programming techniques is assumed. For a brief introduction to the most relevant of these techniques, see Appendix B. This appendix begins with Section B.1 which provides a brief overview of the integer programming paradigm including terminology and solution approaches. Three integer programming techniques are then explained in more detail. First, in Section B.2, the branch and bound algorithm is described due to its pervading influence on integer programming solution algorithms. Then in Section B.3 a review of the literature on column generation is provided because it is the approach adopted for solving the IP of Chapter 5. Section B.4 explores general conditions under which the solution to the linear relaxation of an IP are integral. These conditions will be used in the proofs that the relaxed master problem of Chapter 5 as well as the passenger recovery models of Chapter 9 have integral linear relaxations. Finally, the subproblem of the column generation approach in Chapter 5 is a variation of the shortest path problem, and so shortest path problems and their solution approaches are described in Section B.5. The technique adopted for solving the subproblem of Chapter 5 is only valid because of special properties of the subproblem. The proof that the algorithm is valid relies on the stochastic dominance and stochastic monotonicity properties explained in Section B.6. Part II

Robust Airline Scheduling

21

Introduction to Part II 23

Introduction to Part II

HIS part of the thesis explores approaches for designing airline schedules that are T robust in the face of operational uncertainty. The part begins with a literature review of robust scheduling in Chapter 2. The review includes a summary of existing approaches to robust scheduling, with an emphasis on ap- proaches for airline scheduling. Approaches that are designed to minimise the propagation of delays throughout the airline network are reviewed in more detail. In Chapter 3, a new measure and modeling approach for assessing the reliability of an airline schedule is presented. This is followed by the development of two Mixed Integer Programming models designed to optimise reliability in terms of the new measure by both retiming flights and/or rerouting aircraft in an existing schedule. These models redistribute slack time within the schedule to better absorb likely delays. Whilst good solutions can be found relatively fast when solving these models using a standard commercial solver, it is not possible to find the optimal solution within a reasonable time frame for larger problem sizes. Chapter 4 describes how to initialise the parameters for the models presented in Chap- ter 3 using real-world data from an airline. First the required data sources are described, then the calculation methodology is described. The statistical accuracy of the parameter estimates is also explored. In Chapter 5, bespoke solution approaches are explored to solve the models to opti- mality. In particular, column generation with a specialised labeling algorithm to solve the pricing subproblem is used. Interesting properties of the Delay Transition Model problem are explored such as integrality properties of the linear relaxation of the master problem and the structure of the shortest path subproblem. Finally, in Chapter 6, computational results of the column generation approach are pre- sented as well as results on the quality of the robust schedule design approach. This includes results exploring where the slack time is allocated depending on the structure of the network and the reliability of the various flights in the network.

Chapter 2 Robust Airline Scheduling: A Review

This chapter provides an overview of robustness concepts, including a review of the robust airline scheduling literature. This chapter begins by providing an introduction to the concept of robustness and the various interpretations of its definition, as well as some terminology relevant to robust air- line scheduling. Next a general review of the literature on robust optimisation and schedul- ing, including robust airline scheduling, is provided. This is followed by a deeper review of the literature on robust airline scheduling approaches that take an existing schedule and in- crease its reliability by redistributing the existing slack by retiming flights and/or rerouting aircraft. The limitations of these approaches is then explored, with particular emphasis on the method of calculating total delay as a function of propagated delay and primary delay under the assumption of independence. The primary contributions of this chapter are:

• a critical review of existing approaches to reducing propagated delay in an airline schedule through the reallocation of slack time; and • statistical evidence that primary delay on a flight is not independent of the propagated delay already on the flight.

2.1 Introduction

Robustness is a broad term used through out the literature for a variety of different objec- tives. In the aviation industry, robustness does not have an established meaning; when used to describe an airline schedule, the term robust is neither well-defined nor standardized, and is difficult to quantify. While airline operators and customers will agree that schedule ro- bustness is a worthy objective, defining it remains a non-trivial task. As such, this chapter

25 26 Robust Airline Scheduling: A Review begins with a summary of the different concepts covered by the term robust, and articulating the definition to be used in the remainder of this thesis. Definitions for other key concepts related to robust airline scheduling are then provided. In the remainder of the chapter, existing approaches to robust scheduling are sum- marised, including both general approaches and specific approaches used in the airline industry. Additional detail on robustness approaches that focus on reducing delay prop- agation is included, as these relate most closely to the robust scheduling contribution of this thesis.

2.1.1 Definition of Robustness

Before robustness can be incorporated into a schedule design approach, a definition of ro- bustness is required. The American Society for Quality (ASQ) define robustness as “The condition of a product or process design that remains relatively stable, with a minimum of vari- ation, even though factors that influence operations or usage, such as environment and wear, are constantly changing.” [12]. In the context of airline scheduling, process robustness would require minimum variation across tail assignments, crew pairings and rosters, flight arrival and departure times and other aspects of the airline operations process. That is, as much as possible the delivered schedule would be required to reflect the planned schedule. This would require sufficient spare time and/or resource capacity in the schedule to ensure that the majority of initial delays are absorbed without the initial delay propagating to cause a subsequent delay. The alternative view presented by the ASQ, product robustness, would require only that the customer experience be stable, so that changing the underlying resource assignments is acceptable provided that there is minimum disruption to passengers. We refer to this type of robustness as customer experience reliability. Process robustness would require a significant amount of redundancy in the system to ensure there are adequate resources available to recover when things go wrong. However this would undoubtedly be a costly approach to robustness. Product robustness, on the other hand, can be achieved through a schedule that has inbuilt flexibility that allows resources to be shifted to account for delays. In both of these cases, no reference is made to the cost to deliver this minimum varia- 2.1 Introduction 27 tion. Neither approach allows a trade off to be made between the cost of operations and reliability of the schedule. A third possible definition of robustness could therefore be to consider the reliability of the schedule from the shareholders perspective, which would be the schedule that is most reliable from a profitability perspective. This would require inte- gration of a variety of models, including modeling passenger behaviour to understand the revenue impact of disrupting passengers, accurate cost modeling for the different recovery options, and a modeling approach that captures not just the stochastic nature of operational disruption, but other economic factors such as fuel price and passenger demand. Such a comprehensive model would be challenging to formulate, let alone solve.

A simplified version of this approach would be to incorporate customer experience re- liability into the planned cost of the schedule through a measure that estimates the cost of disrupting passengers. For example, total delays could be estimated for a proposed schedule and combined with a cost per delay minute to estimate the total delay costs of the schedule. Estimating a value for the cost per delay minute has been investigated by Eurocontrol ([157]), and the European network average delay cost was estimated at e72 per delay minute in 2004. However, the authors of the report note that the cost per delay minute depends not only the airline, and the size of the aircraft on which the delay is incurred, but also on the length of the delay itself, with shorter delays costing e0, while larger delays can cost up to e289 per minute. In addition, we note that the delay cost per minute depends also on the reliability of the competing airlines. For example, in Australia, the On Time Performance of the major airlines is reported on a monthly basis. The bad press associated with being the worst performing airline, and associated loss of reputation which affects ticket sales, means that any delays affecting an airlines ranking relative to their competitors should be valued significantly higher than delays that do not affect the ranking. Modeling such a complex cost function, and obtaining accurate and credible estimates for these costs at a specific airline would act as a barrier to adopting a scheduling approach that utilises this type of robustness measure.

Another approach to robustness, common in both the literature and the airline industry, is to incorporate robustness as a secondary Key Performance Indicator. That is, to minimise the cost base subject to a certain level of customer experience reliability.

The relevant importance of the various types of robustness depends on the airline, and 28 Robust Airline Scheduling: A Review whose perspective is being considered. For example, for a premium service airline, cus- tomer experience reliability would be of more importance than for a low-cost airline, whose primary focus would be to maintain a minimal cost base. In this thesis we use robustness to mean the product robustness, and so are primarily concerned with designing airline schedules that are reliable from a customer perspective. However, this will be considered alongside the goal of maintaining low cost operations.

2.1.2 Robust Airline Scheduling Terminology and Notation

In this section the key terms required for the remainder of this part of the thesis are de- scribed.

Delays For a flight to depart, a number of resources must be available and a variety of processes implemented. If any of these resources are not available at the scheduled time, and/or a process takes longer than the allocated time to complete, the flight will be delayed. Key resources that are required include: an aircraft, flight crew (both cockpit and cabin crew), an airport gate, loading equipment, fueling equipment and ground staff. The pro- cesses that must be completed include: pre-flight aircraft checks, passenger boarding, cabin safety checks and announcements, flight plan development and review, baggage loading, catering, refueling, cleaning, and load analysis procedures.

Turn Time A turn involves disembarking passengers, unloading baggage, cleaning, refu- eling, catering, then loading the passengers and baggage for the next flight. The scheduled turn time (STTij) between two flight legs i and j is the difference between the scheduled time of arrival (STA) of flight leg i and the scheduled time of departure (STD) of flight leg j. That is,

STTij = STDj − STAi (2.1)

Most airlines schedule according to a minimum turn time (MTT) that depends on the aircraft type and the airport infrastructure and facilities.

Delay Propagation Lan et al. [110] divide flight leg delays into two categories: propagated and non-propagated.A propagated delay is a delay that occurs when a flight leg is delayed 2.1 Introduction 29

time Scheduled flight space Actual flight BNE STDi STAi BNE STDi ATDi STAi ATAi

i i

SYD STD j SYD PD(i,j)

TADi MTT j j

MEL MEL STA Slack(i,j) MTT j ATD Slack(i,j) MTT STD j STT j

(a) (b)

Figure 2.1: Slack Turn Concepts due to the aircraft being delayed on its prior flight leg, and a non-propagated delay is a delay which occurs for reasons other than routing. Non-propagated delay can also be referred to as primary delay or independent delay. There can also be propagated delay due to crew routings if an incoming crew is delayed and there are insufficient recovery crew to cover the outgoing flight, as well as the potential for passenger itineraries to propagate delays, depending on an airlines policy for holding flights to wait for connecting passengers. In what follows, the discussion will be limited to delays that are propagated due to aircraft routings. However, the definitions provided translate naturally to concepts that relate to crew and passenger delay propagation.

Slack Time To decrease the likelihood of propagated delay, slack can be incorporated into the schedule. The amount of slack between two flight legs is the difference between the scheduled turn time and the minimum turn time. That is,

Slackij = STTij − MTT (2.2)

Figure 2.1(a), page 29, illustrates the concept of Turn Time and Slack on a space time network representation of two flights. The horizontal lines represent different airports, a diagonal line from one airport to another indicates a flight, and the distance covered from left to right represents time. 30 Robust Airline Scheduling: A Review

Delay Components The total departure delay (TDD) of a flight leg is comprised of non- propagated departure delay (IDD) and propagated delay (PD). If an aircraft is scheduled to operate flight leg i followed by flight leg j, then the delay will propagate from flight leg i to flight leg j if the actual time of arrival of flight leg i(ATAi) is less than MTT before the scheduled departure time of flight leg j(STDj). The propagated delay, PDij, is calculated as follows

PDij = max(TADi − Slackij, 0) (2.3) where TADi is the arrival delay of flight leg i which is also made up of propagated delay and non-propagated arrival delay (IAD). Figure 2.1(b), page 29, illustrates the relationship between the minimum turn time, slack, total arrival delay and propagated departure delay.

Push-back The term push-back refers to the recovery decision to delay a flight until its original scheduled resources become available. It is the default recovery decision that occurs when Operations Controllers make no intervention to recover a schedule after a delay has occurred.

2.2 Literature Summary

This section provides a summary of the robust optimisation and scheduling literature. Given the wide variety of topics, applications and methods associated with robust optimisation and scheduling, the section begins with a brief overview of general approaches to optimisa- tion under uncertainty, followed by a slightly more detailed summary of robust scheduling topics. A thorough treatment of robust airline scheduling techniques is then provided.

2.2.1 Optimisation Under Uncertainty

Uncertainty is ubiquitous and real-world applications where purely deterministic optimisa- tion techniques perform well are rare. Just a small sample of the literature identifies many different applications using techniques for optimisation under uncertainty, including, but not limited to: train timetabling (Stiller [154], Liebchen et al. [117]), financial portfolio op- timisation (Bertsimas and Sim [32]), antenna design ([29]), freight distribution (Ando and Taniguchi [16]), job shop scheduling (Leon et al. [114]), railway stock planning (Cacchiani et 2.2 Literature Summary 31 al. [39]), environmental management (Watanabe and Ellis [166]), vehicle routing (Gendreau et al. [85]), nutrition, image reconstruction and power capacity expansion (Mulvey et al. [128]).

Two important topics within the linear and integer programming field of study that address optimisation under uncertainty are robust optimisation and stochastic programming.

Robust optimisation refers to a class of techniques that address uncertainty or variability associated with the input data such as the value of the parameters, the problem solution, or both. The goal is usually to find the best solution that is always feasible, or has a high prob- ability of being feasible. Ben-Tal and Nemirovski [28] introduce a modeling methodology and optimisation tools for the problem of uncertainty in the constraints of a linear program, where those constraints must be satisfied in any valid realisation of the data. Bertsimas and Sim [32] seek to be less conservative by introducing protection levels for each constraint so that the level of robustness in the solution can be controlled. Stiller [154] extends the robust optimisation research to introduce a new concept of recoverable robustness, whereby optimal solutions are derived from those solutions that can, with limited changes, be turned into feasible solutions in all likely scenarios. Bertsimas and Sim [31] deal with robust optimi- sation for discrete and combinatorial optimization problems, demonstrating that solutions for robust minimum cost network flows and shortest path problems when the costs only are uncertain can be found in polynomial time. A more recent review of the theory and applications of robust optimisation is provided by Bertsimas et al. [30].

Since the premise of robust optimisation is to find an optimal solution that is feasible re- gardless of the realisation of the uncertain data, it is essentially optimising the worst case and is often viewed as too conservative. Stochastic programming models on the other hand, seek to optimise an expected outcome based on probability distributions of the data that are either known or estimated. Of course, estimating these probability distributions, or identi- fying scenarios, becomes a prerequisite for using such techniques. A general introduction to stochastic programming is provided in Birge and Louveaux [33], [34]. The Stochastic Programming Community also maintains a website of useful resources on stochastic pro- gramming [2].

Another method for optimising under uncertainty is the robust, scenario optimisation ap- proach of Mulvey et al. [128] that distinguishes between robust solutions (which are close 32 Robust Airline Scheduling: A Review to optimal in all scenarios) and robust models (which are close to feasible in all scenarios), and seeks deliver both outcomes using a penalty method. There are also application specific approaches that build in known measures of reliability into a deterministic optimisation model, drawing on knowledge of the practical application under consideration (examples of this are provided in Section 2.2.2). Further references for optimisation under uncertainty include a review of models that incorporate robustness, primarily in relation to environ- mental applications, in Watanabe and Ellis [166] and a detailed introduction to a framework for robust optimisation in Kouvelis and Yu [107]. Eggenberg et al. ([71]) introduce the concept of Uncertainty Feature Optimization (UFO), and show how to formulate problems with uncertainty as multi-objective problems using the UFO framework; they also show that stochastic programming and robust optimisa- tion are particular cases of the UFO framework. In his thesis, Eggenberg applies the UFO framework to the robust aircraft maintenance routing problem to generate recoverable airline schedules (Eggenberg [69]).

2.2.2 Robust Scheduling

The term robust describes a degree of resilience to uncertainty. When an optimisation method- ology is described in the literature as robust, the methodology has been designed to address such uncertainty. In scheduling, this uncertainty could be associated with, among other things, the cost, demand, capacity or availability of resources, or the duration of activities. Gan and Wirth [84] seek to classify the level of uncertainty in a problem using an en- tropy measure, and propose to use the measure to justify either deterministic, robust or on-line techniques for scheduling. Deterministic techniques make no reference to the uncer- tain information, robust techniques factor in the uncertainty when making the plan, while on-line techniques mitigate the uncertainty by making decisions on the fly as information becomes available. Clearly deterministic scheduling is insufficient in an airline environment since so much of the final operating conditions remain unknown until the day of operations. At the other extreme, on-line scheduling is equally unachievable for many aspects of an air- line schedule due to the number of stakeholders who require some visibility of the forward plan, e.g. airport authorities for slot management, passengers for booking and planning their trips, and crew for managing their lifestyle. However, for these same reasons, it is 2.2 Literature Summary 33 important that the schedule delivered on the day reflect as closely as possible the planned schedule. Robust scheduling is therefore a critical tool for effective airline planning.

Robust scheduling techniques generally have one of two associated but different goals: stochastic optimisation and optimisation of a robustness indicator. Stochastic optimisation ap- proaches seek to optimise a statistic that represents the desired outcome, such as in Schaefer et al. [145] which optimises expected crew costs of operating the schedule, using a simu- lator to identify costs of operating each crew pairing. . Approaches based on a robustness indicator, common in airline scheduling, seek to optimise a surrogate measure, or key per- formance indicator (KPI), for robustness. Such indicators are usually derived from domain specific knowledge of what KPIs are associated with a robust schedule.

Robustness indicators can be broadly classified as recoverability or reliability measures. Recoverability measures are usually a surrogate for redundancy or flexibility, such as the station purity measure used in Smith et al. [150] and the swap opportunity measure of Burke et al. [38]. Reliability measures tend to represent the ability to absorb delay, reflecting an estimate of the likely deviation from the plan, such as the expected delay measure of Leon et al. [114], the probability of delay measure of Burke et al. [38], and the number of short crew changes measured in Ehrgott and Ryan [75].

Robustness indicators can either be the primary goal of the scheduling process, captured as second objective along with the original goal of minimising the planned cost (Ehrgott and Ryan [75]), or used in a second stage of planning to increase the robustness by making minor changes to an already optimised schedule (Lan et al. [110]).

For more information on robust scheduling techniques, the reader is referred to Cac- chiani et a. [39] which emphasizes robust train scheduling but also addresses the broader literature, and Aytug et al. [19] which focuses on robust scheduling techniques related to production scheduling.

From an operations management perspective, an alternative source of robustness would be to have flexible operations, thereby allowing a broader range of feasible solutions in the case of disruption. Francis et al. [81] explore the trade off between the value of operational flexibility and the impact on operational complexity in the periodic distribution problem. 34 Robust Airline Scheduling: A Review

2.2.3 Robust Airline Scheduling

Prior to the past decade, the majority of research in airline scheduling focused on developing efficient plans whilst ignoring the stochastic nature of actual operations. As described in Section 1.2, the airline scheduling problem is usually divided into a series of subproblems that can be solved sequentially. A comprehensive review of the literature in this area is provided by Barnhart and Cohn in [21] and Wu in [171]. Despite the historical focus on deterministic planning, there is still a significant amount of literature that considers the problem of robust airline scheduling. A popular approach for building robust schedules is the development of network struc- tures that isolate a disruption and limit its downstream impact. As an example, Ageeva has modified the Fleet Assignment problem to reward opportunities for swapping aircraft in [7], while Shebalov et al. present a model that encourages opportunities to swap crew in [149]. These swap opportunities can then be used to recover the schedule in the event of a disruption. Rosenberger et al. create schedules with many short cycles, so that if a cancella- tion is necessary, the number of cancellations required is limited and/or there is no need to ferry aircraft to other stations in order to be able to deliver the schedule ([141]). Other approaches include a stochastic integer programming approach for the crew schedul- ing problem developed by Yen and Birge ([178]). The objective of their model is to minimise total crew costs, with the first stage determining the crew pairing using expected crew costs, and the second stage incorporating penalties for crew changes so as to minimise delay prop- agation due to crew changes. They also provide a flight-pair branching algorithm to solve the resulting model. Ehrgott and Ryan propose a bicriteria optimization approach for robust crew scheduling in [75], penalising instances where crew don’t stay with aircraft or where the schedule crew change duration is ’on average’ insufficient. They show that for a small increase in cost, a significant increase in robustness can be obtained, however the robustness measure (delay propagated due to crew assignments) does not make it immediately clear what is actually gained for an increase in the planned operating cost. Weide et al. developed an iterative approach to solving the integrated aircraft routing and crew scheduling problem ([167]). Their model minimises the weighted sum of crew op- erating costs and a Non-Robustness Measure (NRM). The NRM penalises crew swapping 2.3 Approaches for Reducing Propagated Delay 35 between aircraft when the time available (sit-time) is less than a certain restricted amount, thereby reducing the likelihood of delays propagating from one aircraft to another via a crew swap. The NRM penalty is higher the shorter the sit-time. Whilst their solution ap- proach does not solve the integrated problem to optimality, it produces a series of feasible solutions that allow an airline to trade-off the planned costs of the crew schedule against the NRM. It does not, however, factor in the underlying reliability of the different flights in the schedule, nor is there a clear relationship between NRM and costs. Further analysis would be required to enable airlines to understand and make the trade-off between the various schedules produced. Another popular approach for developing robust schedules is to slightly adjust an exist- ing schedule in order to improve the expected operational performance, whilst having little or no impact on operating costs. There are five notable papers that have looked to do this, either through the retiming of flights to redistribute the existing slack within the schedule ([9],[83],[110]), or through the rerouting of aircraft for the same effect ([61],[66, 67],[110]). These papers are explored in more detail in the next section.

2.3 Approaches for Reducing Propagated Delay

As mentioned previously, delays can propagate from one flight to another when the two flights share a resource such as crew or an aircraft. There are a number of papers that explore the reallocation of slack within a schedule to reduce propagated delay. In what follows, these papers are reviewed, starting with an overview of the similarities and differ- ences between five key papers, followed by a detailed review of the three papers that form the primary motivation for the models developed later in this thesis.

2.3.1 Overview of models for reducing propagated delay

There are a variety of papers that explore the reallocation of slack within a schedule to re- duce propagated delay, specifically: Ahmadbeygi et al. [9], Borndorfer et al. [61], Dunbar et al. [66, 67], Fuhr [83], and Lan et al. [110]. The similarities and differences in their ap- proach is explored in the following paragraphs, with a summary provided in Table 2.1. The comparisons are made in terms of: what part of the schedule is changed to reallocate slack 36 Robust Airline Scheduling: A Review

(scheduling approach), which resources are considered, how propagated delay is calculated, the objective optimised, and the solution approach used.

Scheduling Approach Ahmadbeygi et al. [9] and Fuhr [83] both take an existing flight schedule and retime the flights in small time windows to reallocate the available slack time, while the aircraft routings remain unchanged. On the other hand, Lan et al. [110] and Borndorfer et al. [61] solve the maintenance routing problem to reallocate slack, keeping flight times as per the original schedule. Dunbar et al. [66,67] integrate the crew scheduling and aircraft routing problems to reallocate both the slack between crew connections and the slack between aircraft connections.

Resources considered Whilst all the papers compared consider the propagation of delays due to aircraft routing, Ahmadbeygi et al. [9] and Dunbar et al. [66, 67] also capture the delay propagation due to crew. In [9] the propagation due to crew and aircraft are calculated separately, resulting in over counting when a flight leg has propagated delay due to both resources, whereas Dunbar et al. [66, 67] accurately captures the interaction of crew and aircraft to measure the true propagated delay on each flight leg.

Propagated delay calculation In all the papers reviewed, it is assumed that primary delay on a flight is independent of the existing propagated delay on that flight. We demonstrate in section 2.4.1 that this is not a valid assumption in practice.

Objective While Ahmadbeygi et al. [9], Lan et al. [110] and Dunbar et al. [66,67] minimise either total delay or total propagated delay, Borndorfer et al. [61] minimises the probabil- ity of a propagated delay occurring on each flight, and Fuhr [83] maximises a punctuality measure (i.e. % flights arriving on time).

Solution approach The models in Ahmadbeygi et al. [9] and Fuhr [83] are solved to opti- mality, while the models in Lan et al. [110], Dunbar et al. [66, 67] and Borndorfer et al. [61] rely on heuristics to find good solutions quickly. In the remainder of this section, we examine in more detail the models presented in Lan et al. [110], Borndorfer et al. [61] and Ahmadbeygi et al. [9] as they form the primary 2.3 Approaches for Reducing Propagated Delay 37 b - Yes Yes Yes c a --- d Ahmadbeygi et al. Borndorfer et al. Dunbar et al. Fuhr Lan et al. Table 2.1: Summary of existing approaches to reduce delay propagation Minimise probability of delay propagationMaximise punctualitySolution approach Solves to optimality - Yes - Yes - - - - Yes - Yes - DescriptionObjective [9]Minimise total / propagated delay [61] Yes [66, 67] [83] [110] - Yes Scheduling approach Retime existing scheduleAircraft routingConstruct crew pairingsResources considered CrewAircraftPropagated delay calculation Assumes primary / propagated independenceApproximate onlySolves for a (probability) Yes distribution of delays Yes - Yes - - Yes - Yes Yes Yes Yes Yes - Yes Yes - Yes Yes Yes Yes Yes - Yes - - - - Yes Yes Yes - Yes - Yes Yes Yes - However could easily utilise approach inHowever [110] point estimate of ExpectedMultiplied Propagated by Delay a is cost used per in minute objective The of authors delay note that they conducted experiments using total propagated delay and achieved similar results c a b d 38 Robust Airline Scheduling: A Review motivation for the models developed in this thesis.

2.3.2 Robust Aircraft Maintenance Routings (Lan et al. [110])

Lan et al. [110] present a Mixed Integer Program (MIP) with stochastically generated in- puts that reroutes flights to minimise propagated delay. In the same paper, the authors present a model to retime flights within small windows of their original scheduled time to minimise the number of passengers disrupted due to missed connections. Both approaches demonstrate an improvement in schedule performance under disruption with just minor modifications, and form a key motivation for the line of research followed in this thesis. A brief overview of the rerouting model is provided here.

Model Description The Robust Aircraft Maintenance Routings (RAMR) model is a flight string model, where each string represents a series of flights that can be operated sequen- tially by a single aircraft. Each string has a ’propagated delay’ cost associated with it de- pending on the propagated delay accumulated along the flights in the string. There is a decision variable for each flight string, and the objective is to select the set of strings that ensures each flight is covered by an aircraft, while minimising the total propagated delay cost.

Parameter Setting: Determining Delay for Feasible Routes Historical data from an air- line is used to identify the propagated delay and total arrival delay for each flight leg in existing routings, and then generate the total arrival delays and propagated delays of flight legs in all potential routings as follows:

• PDij = max(TADi − Slackij, 0)

• IADi = TADj − PDij • For the first flight leg in any routing, TAD = IAD, for all subsequent flight legs

PDij = max(TADi − Slackij, 0) and TADj = IADj + PDij

Solution Approach Since there are too many potential flight strings to identify them all a priori, column generation is used to solve the RAMR Linear Program (LP). First the LP relaxation of the RAMR model is solved. The solution of the dual problem is then used 2.3 Approaches for Reducing Propagated Delay 39 to calculate the reduced costs of any potential new flight strings, which are identified by solving a variation of the shortest path subproblem. It is not possible to solve a standard shortest path problem to identify the minimum cost flight string because the propagated delay between two arcs depends on the flight string to which they belong. As such, only a subset of paths are considered, specifically the shortest path between each OD pair in the network. This means the method does not guarantee optimality because there may be other paths that have a negative reduced cost that are not considered. The RAMR IP is then solved using a technique known as “branch on follow-ons”, where branching is conducted on a fractional string. In the fractional string, a flight connection (i, j) is identified such that there exists a second string where flight i is not connected to flight j. Then in the left branch it is enforced that the flight strings are selected such that flight i is always connected to flight j, and in the right branch it is enforced that flight i is never connected to flight j.

Results Proof of concept results are provided on 4 example networks with 20 to 100 flights. On average, the Total Propagated Delay was reduced by 44%, and the percentage of flights on time at 15 minutes improved from 77.7% to 79.3%.

2.3.3 Single Layer Model and Multi Layer Model (Ahmadbeygi et al. [9])

Ahmadbeygi et al. [9] present a MIP that retimes flights within a small window in order to minimise the expected propagated delay. Two models are presented, the Single Layer Model (SLM) that considers delay propagation one layer downstream only (i.e. from one flight to the next), and the Multi Layer Model (MLM) that considers multi-layer propagation (i.e. from one flight to all flights that succeed that flight). Both models are shown to have constraint matrices that are totally unimodular, proving that the LP relaxation will provide an integral solution. A thorough description of both models is provided here because they will be used for benchmarking the robust scheduling approach developed in this thesis (see Section 6.2).

Model Description The Single Layer Model is a flight retiming model, with a decision variable x f for the change in departure time for each flight. There are also decision vari- 40 Robust Airline Scheduling: A Review

ables y f1, f2 to identify the new slack between connected flights f1 and f2, as well as deci- sion variables dm that correspond to the propagated delay between two connected flights. f1, f2 m There are also parameters p f : the probability that flight f experiences a primary delay of m minutes, and s f1, f2 : the slack between flights f1 and f2 in the original schedule.

The Single Layer Model is formulated as follows:

(SLM) min pm dm (2.4) ∑ ∑ f1 f1, f2 m∈M ( f1, f2)∈A s.t.

y f1, f2 = s f1, f2 − x f1 + x f2 ∀( f1, f2) ∈ A (2.5) dm ≥ m − y ∀( f , f ) ∈ A, ∀m ∈ M (2.6) f1, f2 f1, f2 1 2 dm ≥ 0 ∀( f , f ) ∈ A, ∀m ∈ M (2.7) f1, f2 1 2 − + −k f ≤ x f ≤ k f ∀ f ∈ F (2.8)

y f1, f2 ≥ 0 ∀( f1, f2) ∈ A (2.9) where A is the set of all considered connections, F is the set of all flights and M is the set of possible delay values (minutes), discretised for the purposes of this model. The objective function (2.4) minimises the expected value of delay propagation over all flight connections.

Constraints (2.5) calculate the new slack between two flights f1 and f2 depending on the new flight time of each flight. Constraint sets (2.6) and (2.7) determine how much delay would propagate from flight f1 to f2 if flight f1 were to experience m minutes of primary delay, given the new scheduled slack. Constraints (2.8) restricts the change in flight time to a certain range to ensure the new schedule is feasible with respect to crew constraints such − + as duty hour limitations. In this constraint, k f and k f are the amount of time by which the departure time of flight f can be moved earlier and later respectively.

In the Multi Layer Model, additional decision variables, dm , are incorporated to calcu- f0, f late the delay propagated from a root delay to all flights f that succeed a flight f0, as opposed to just its immediate successor. These variables are included in the objective, and their value is determined via the additional constraint (2.12), which ensures the delay propagated to a flight downstream from the root delay is the amount of delay propagated to its predecessor minus the amount of slack between the two flights. 2.3 Approaches for Reducing Propagated Delay 41

The Multi Layer Model is formulated as follows:

(MLM) min pm dm (2.10) ∑ ∑ f0 f0, f m m∈M ( f0∈F, f ∈T ) f0 s.t.

y f1, f2 = s f1, f2 − x f1 + x f2 ∀( f1, f2) ∈ A (2.11) dm ≥ m − y ∀( f ∈ F, f ∈ Tm : rm ( f ) = f ), ∀m ∈ M (2.12) f0, f f0, f 0 f0 f0 0 m m m m d ≥ d m − y m ∀( f ∈ F, f ∈ T : r ( f ) 6= f ), ∀m ∈ M (2.13) f0, f f0,r ( f ) r f ( f ), f 0 f0 f0 0 f0 0 dm ≥ 0 ∀( f ∈ F, f ∈ Tm ), ∀m ∈ M (2.14) f0, f 0 f0 − + −k f ≤ x f ≤ k f ∀ f ∈ F (2.15)

y f1, f2 ≥ 0 ∀( f1, f2) ∈ A (2.16)

In Ahmadbeygi et al. [9], the authors note that both the SLM and MLM are only surro- gate measures for the total propagated delay in the network, as the calculation methodology does not take into account the interaction of multiple primary delays on a single flight, re- sulting in either under or over-estimation of the propagated delay.

Parameter Setting: Determining Delay Probability The models were tested using proba- bility mass functions based on historical data from an airline. Distributions were generated based on the origin port of the departing flight, using delay data from a 12 month period. Using information provided from an airline, the authors were able to filter out delays that were propagated from a primary delay. The remaining delays were then clustered by origin m port and length of delay (m), providing the required probability mass function for each p f .

Solution Approach The authors were able to prove that the constraint matrices of the SLM and MLM are totally unimodular, proving that the LP relaxation will provide an inte- gral solution. Therefore they were able to solve the optimisation problems with a standard commercial solver.

Results Results were obtained on two different data sets, both representing a single day of operations, with over 500 flights in each. They were able to demonstrate a reduction 42 Robust Airline Scheduling: A Review in total propagated delay between 3.8% and 48.7% for the SLM depending on the restric- + − tions applied to retiming parameters k f and k f . Slightly better reductions of 4.7% to 50.9% were obtained using the MLM. Furthermore, due to the integrality of the LP relaxation, all example problems were solved to optimality within 10 seconds.

2.3.4 Probability of Delay Propagation (PDP) (Borndorfer et al. [61])

Borndorfer et al. [61] present a tail assignment problem, where the aircraft rotations are selected to minimise the probability of propagated delay on each flight leg in the rotation. The work is similar to that of the RAMR model of Lan et al. [110], so the focus of this review will be on the differences between the RAMR and the PDP. The key differences are that in the PDP model:

1. delays are modeled as random variables rather than using pure historical delay data; 2. gate delays are distinguished from block delays rather than being considered a single, total flight delay; 3. the objective is to minimise the probability of a propagated delay, rather than min- imise total propagated delay; 4. the subproblem is solved to optimality using a labeling algorithm, rather than search- ing only a subset of paths; and 5. the master problem is not solved to optimality, only the LP relaxation is solved to optimality and then a rounding heuristic is applied to generate an integer solution.

Model Description The tail assignment problem is presented as a set partitioning problem with base constraints, where binary variables are used to identify if an aircraft rotation (i.e. sequence of flights) has been assigned to a specific aircraft. The cost associated with each r aircraft rotation, r, is the Probability of Delay Propagation (i.e. ∑i∈r Pr[PDi > 0]), where r PDi is calculated using the formula:

r r r PD1 = 0, PDi+1 = max{PDi + Gi + Bi − bi,i+1, 0}, i = 2, . . . , k. (2.17)

where Gi is the gate delay on leg i, Bi is the deviation from scheduled block time on leg i, r PDi is the Propagated Delay on leg i in rotation r, and bi,j is the buffer between leg i and 2.3 Approaches for Reducing Propagated Delay 43

r j. The probability density function (pdf) of the random variable PDi is calculated using the convolution of the pdf’s of the component random variables in equation (2.17).

Parameter Setting: Determining Delay for Feasible Routes The pdf for the Gate Delay was determined using a parameter that estimated the likelihood of a delay event. This pa- rameter is calculated as the proportion of historical flights that were delayed at a particular airport and time of day. This parameter is then multiplied by (i) a log-normal distribution that is fitted over all historical gate delays for delays less than 60 minutes, and (ii) a power- law distribution fitted over all historical delays for delays between 60 and 220 minutes. The Block Delay pdf was determined by fitting historical block delays to a log-logistic distribu- tion, depending only on the duration of the flight.

Solution Approach In order to obtain computational results, the authors first discretised the probability distribution for each of their random variables. They then solved the set par- titioning problem using column generation, implementing a labeling algorithm that exploits stochastic dominance to prune nodes when solving the subproblem. Note, their ability to use stochastic dominance to prune nodes in the labeling algorithm depends on the fact that they have assumed independence of the primary and propagated delays. The LP of the master problem is solved to optimality, and a rounding heuristic is used to convert the LP solution to one that is integer.

Results Results were obtained on single day flight schedules, with each schedule consist- ing of between 12 and 18 aircraft, and 44 to 121 flights. Reductions of up to 5% in delay propagation were achieved (on schedules which were already optimised using traditional KPI methods), with the optimisation taking between 28 and 42 seeconds for a full month worth of daily schedules, with 1 minute step sizes used for the discretisation of the pdfs. Based on other results reported, it appears the run times would increase dramatically if step sizes were to be substantially reduced. 44 Robust Airline Scheduling: A Review

2.3.5 Other models

Fuhr [83] presents an analytical model for scheduling block and turn durations to max- imise departure and arrival punctuality, however the resulting convolution model can not be solved analytically. Fuhr does, however, develop an approximation for the model that can be solved very quickly, generating results that show an improvement in punctuality by retiming flight departure and arrival times.

Dunbar et al. [66,67] present a framework to minimise the cost of propagated delay due to crew and aircraft in an integrated aircraft routing and crew scheduling framework. They address the shortcomings of Lan et al. [110] and Ahmedbeygi et al. [9] by more accurately measuring the propagation of delay due to both crew and aircraft. To solve the integrated crewing and routing problem, Dunbar et al. adopt an iterative approach similar to that of Weide et al. [167]. They model separately the crew and aircraft problems, but iteratively solve each, using the latest solution from one to update the other. The crew and aircraft problems are solved using column generation, while the subproblems are solved using a similar labeling algorithm to Borndorfer et al. [61]. It is not clear how the master problem is solved, or if it is solved to optimality. Results were obtained on a single day schedule consisting of 53 flights and 126 feasible connections, over 12 instances of expected flight delay. Total delay was found to be reduced by 19-37% when compared with the traditional approach of minimising the number of aircraft and crew required. It appears the schedule is only optimised for a single instance of delay on each leg, rather than across a distribution of posssible delays.

Wu [173] presents a model for allocating buffer time to a single turnaround, called the Turnaround Time Allocation model (TTA), which seeks to minimise the cost of an airline schedule. Wu [174] then applies this model to an aircraft routing by sequentially optimising each turnaround to retime the flights. The TTA captures the trade-off between the opportu- nity cost of an aircraft (which is foregone when there is scheduled slack) and the expected delay costs (which are incurred when there is insufficient buffer to absorb delays). The TTA utilises two parameters that determine the turnaround performance of an airport, one which represents the efficiency of the buffer in absorbing delays and one which represents the operations ability to deal with delays and resource constraints. The two parameters de- fine a piecewise linear transform function that maps the arrival delay of the inbound flight 2.4 Limitations of existing models 45 of a turnaround onto a departure delay for the outbound flight. This transform function is one-to-one, meaning that even though the departure delay of the outbound flight is tech- nically stochastic (since the arrival delay of the inbound flight is stochastic) in practice it is determined by the arrival delay. The implicit assumption being that once a flight has ar- rived, the delay incurred on the subsequent flight is a function only of some deterministic transform function. This assumption is quite limiting since there is significant uncertainty in how a turnaround team will perform on the day of operations. A stochastic transform function would better reflect real turnaround operations.

2.4 Limitations of existing models

The models and solutions discussed in Section 2.3 have all made significant gains by adjust- ing an airline schedule to improve its robustness, however each approach has one or all of the following limitations:

• the assumption that primary or non-propagated delay is independent of any existing propagated delay; • a measure of the total or average delay is optimised, rather than some aspect of the delay profile; • the schedule is adjusted by re-timing flights or rerouting aircraft only, not both.

In what follows, these limitations are explored in more detail. In Chapter 3 a new ap- proach to robust scheduling that addresses these limitations is presented.

2.4.1 Independence of Primary and Propagated delay

The models of Ahmadbeygi et al. [9], Borndorfer et al. [61], Dunbar et al. [66, 67], Fuhr [83] and Lan et al. [110] all assume that propagated delay and non-propagated delay are independent of one another, and that they are merely additive. That is, they assume that new delays have the same probability of occurring on flights that are already running late as they do on flights that are currently running on time or early. In reality, this is not the case, as historical data suggests the ability for an airport to complete an aircraft turn-around in the required time is dependent on the propagated delay from the previous flight. Data collected for research at the Airline, shows that the later an aircraft is running, the less likely it is that 46 Robust Airline Scheduling: A Review

pd ≤ 0 pd > 0 Total pd ≤ 0 pd > 0 Total id ≤ 0 17785 5933 23778 id ≤ 0 16646 7132 23778 id > 0 16185 8562 24747 id > 0 17324 7423 24747 Total 33970 14555 48525 Total 33970 14555 48525 (a) Actual (b) Expected

Table 2.2: Actual distribution of primary delay, and expected distribution if primary delay is independent of propagated delay. pd is Propagated Delay, id is Primary Delay the ground staff and crew will be able to turn the aircraft within the schedule turn duration. This is because when an airline is running off-schedule, there is an increased likelihood of additional disruption such as a gate being unavailable, passengers arriving late to the gate because they have wandered off to fill in time waiting for the flight to board, or ground staff and equipment no longer being available because they were required elsewhere to deliver a different turn.

For example, it was observed at the Airline that “Aircraft and Ramp Handling” type delays were 18% more likely on flights that already had a propagated delay (4.8% compared with 4.1% for flights with no propagated delay), and “Boarding” type delays were 111% more likely on flights that already had a propagated delay (14.3% compared with 6.8% for flights with no propagated delay).

To establish the presence of a relationship between primary and propagated delay, a Pearson’s χ2 test for independence ([92], [44]) was conducted on 6 months worth of flight delay data from the Airline over the period 1 November 2010 and 30 April 2011. The data set contains 48,525 flights, and each flight record includes information on how much prop- agated delay and how much primary delay there was on the flight.

Table 2.2(a), page 46, shows the actual distribution of delays in terms of how many flights had no primary and no propagated delay (17785), how many flights had no propa- gated delay, but some primary delay (16185), etc. Table 2.2(b), page 46, shows the expected distribution of flights in each category if primary delay is independent of propagated de- (O −E )2 lay. Calculating the test statistic, X2 = ∑ ∑ i,j i,j , where O is the observed i=1...r j=1...c Ei,j i,j value in row i, column j of the table and Ei,j is the expected value in the same cell, we get 509.49. The probability of this value on the χ2 distribution with 1 degree of freedom, is 8.18 × 10−113, which is much less than the threshold for statistical significance of 0.05. So the null hypothesis that primary delay is independent of propagated delay is rejected. 2.4 Limitations of existing models 47

% Flights Turned On Time (i.e. Zero Primary Delay) By Amount of Propagated Delay 90%

80%

70%

60%

50%

40%

30%

20% % Flights with Zero PrimaryDelay with Zero Flights % 10%

0% A B C D E F G H I J All Ports Departure Airport

Zero Propagated Delay 1+ Minutes Propagated Delay

Figure 2.2: Absence of Primary Delay Depending on Propagated Delay

Figure 2.2 (page 47) further demonstrates the impact that the presence of an existing propagated delay has on the likelihood that the aircraft can be turned around without in- curring an additional delay. Each bar shows the percentage of flights that departed without incurring an additional delay, for each different port, depending on whether or not there was an existing delay on the aircraft. The graph shows that for all but one port, if the flight had already been delayed by a propagated delay the port would be less likely to turn around the aircraft on time, i.e. the flight is more likely to incur a new delay so that the total delay is the propagated delay plus a new delay. Port H∗ is the only port for which the opposite is true.

Using the same data that was used for Table 2.2, Figure 2.3 (page 48) further demon- strates how the probability of primary delay varies with the presence of propagated delay. The graph shows, for a given level of propagated delay already on a flight, what proportion of flights incur an additional primary delay. For example, we can see that for a flight with no propagated delay, there is a 52% chance it will have no primary delay either, and a 37%

∗Actual port names have been replaced to maintain confidentiality of the Airlinedata 48 Robust Airline Scheduling: A Review

Distribution of Primary Delays By Amount of Propagated Delay

100% 2% 2% 5% 3% 5% 5% 6% 8% 90%

80%

70% 37% 54% 52% 44%

60%

50% 31+ minutes 16 to 30 minutes 1 to 15 minutes 40% No Delay

30%

% F lights with Primarywith Delay lights F % 52% 45% 20% 40% 41%

10%

0% No Delay 1 to 15 minutes 16 to 30 minutes 31+ minutes Category of Propagated Delay On Flight

Figure 2.3: Instance of Primary Delay Depending on Propagated Delay chance of incurring a 1 to 15 minute primary delay. Whereas for a flight with propagated delay of 31 minutes or longer, there is a 45% chance it will incur no additional primary delay, and a 44% chance it will incur a 1 to 15 minute primary delay.

2.4.2 Objective Based on Average or Total Delay

In the airline industry, On Time Performance is generally measured in terms of punctuality. Both the Australian Bureau of Infrastructure, Transport and Regional Economics and the United States of America’s Bureau of Transportation Statistics collect and report punctuality statistics for major domestic airlines operating in their respective countries. These statistics are regularly reported in the media, and can be damaging to an airlines brand if their per- formance is below that of its peers. The primary measure that is reported by these Bureau’s is percentage of flights that departed on time and percentage of flights that arrived on time, where a flight is considered to be on time if it departs (arrives) within 15 minutes of the scheduled departure (arrival) time. While the models of Borndorfer et al. [61] and Fuhr [83] optimise a type of punctuality 2.4 Limitations of existing models 49

Probability Density Function of Arrival Delays 25%

20%

15%

% Flights % 10%

5%

0% -20 -10 0 10 20 30 40 50 60 70 80 Delay (Minutes)

Figure 2.4: Delay Probability Distribution

measure, all of Ahmadbeygi et al. [9], Dunbar et al. [66, 67] and Lan et al. [110] optimise an average or total delay measure whether it be departure, arrival or propagated delay.

The issue with optimising an average delay measure is that it ignores the underlying distribution of delays. As noted in Lan et al. [110], delays are strongly asymmetric with a few flights arriving early, a majority around the scheduled time, and some arriving late. Figure 2.4 (page 49) shows the distribution of delays for the Airline. The impact of the long tail can vastly skew the mean, with the potential for a flight that is consistently 10 minutes late to have the same expected delay as a flight that is on time majority of the time, but occasionally experiences extremely long delays (as illustrated in Figure 2.5, page 50). There- fore, two schedules with the same average delay could result in vastly different profiles of customer experience.

In Chapter 3, a new framework for measuring the reliability of a schedule is presented. The framework allows the optimisation of the delay profile for a schedule, as well as opti- misation of a measure of total or average delay, and/or punctuality measures. This allows the airline to design a schedule that is robust according to a preferred delay profile. 50 Robust Airline Scheduling: A Review

Comparative Cumulative Density Functions (Two Routes with Same Average Delay)

100%

90%

80%

70% 10 minutes of slack would remove 60% almost 88% of propagated delay on Route A, compared with only 49% on 50% Route B

40%

30% Cumulative Distribution Distribution (%) Cumulative

20%

10%

0% -30 -20 -10 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 Delay (minutes) Route A (Average Delay = 20 minutes) Route B (Average Delay = 20 minutes)

Figure 2.5: Comparative Distributions

2.4.3 Retime or reroute only

While Ahmedbeygi et al. [9] and Fuhr [83] optimise schedule robustness by retiming flights, Borndorfer et al. [61] optimise schedule robustness by rerouting aircraft, and Dunbar et al. [66, 67] optimise schedule robustness by rerouting aircraft and crew. Lan et al. [110] opti- mise schedule robustness by rerouting in one model, and by retiming flights in a separate model. In none of these models is retiming and rerouting considered together. This limits the ability to reallocate slack throughout the network. By incorporating both rerouting and retiming decisions, greater improvements in the schedule are able to be achieved. This is demonstrated in Section 6.2.2. Chapter 3 Delay Transition Model: A new model for Robust Airline Schedule Design

This chapter describes a new framework and measure for determining the reliability of a schedule as well as a model for optimising a schedule with respect to the new measure.

In Chapter 2, several models that improve airline schedule robustness by reallocating slack to reduce propagated delay were reviewed. An important limitation observed was that these models all assume that primary and propagated delay are independent of one another, whereas analysis shown in Section 2.4.1 suggests that these two delays are not independent. This chapter begins by introducing the background theory and concepts re- quired to address the shortcomings of the propagated delay calculation used in the existing work in the literature. Then the Estimated On Time Performance Model, OTP-MOD, is intro- duced. The OTP-MOD is a framework for estimating the expected delay distribution of a schedule and hence the reliability of the schedule. Next, the Delay Transition Model is de- scribed. The Delay Transition Model (DTM) is a model designed to take an existing airline schedule and increase its reliability by redistributing the existing slack within the network by retiming flights and rerouting aircraft. Two Mixed Integer Programming formulations for solving the DTM are described, and preliminary results obtained by solving these MIPs with a standard commercial solver are presented. The models presented in this chapter are designed to solve the simplified recovery problem that was initially stated in Section 1.3.2 (page 14). That is, it is assumed that push-back is the only recovery action taken so there are no aircraft swaps or flight cancellations implemented as part of the recovery solution. This means that delays are assumed to propagate unless there is slack to absorb them. The primary contributions of this chapter are:

• A simple framework for calculating the expected on time performance of a sched-

51 52 Delay Transition Model: A new model for Robust Airline Schedule Design

ule that does not rely on computationally intensive simulation and can use historical delay data that is usually available at an airline as inputs (the OTP-MOD); • The Delay Transition Model (DTM), which is a MIP for optimising the expected on time performance of a schedule, the particularly novel features of which are that it:

1. does not assume that primary delay on a flight is independent of the propagated delay already on the flight; 2. allows optimisation over the profile of the delays in the schedule, rather than just a single point on the distribution or a statistic; and 3. retimes flights and reroutes aircraft to reduce propagated delay.

• A unique modeling approach that embeds a Markov Decision Process into a MIP (the DTM), with the probability of being in each state modeled as a decision variable and the goal of the MIP being to optimise a distribution rather than the standard Stochastic Programming approach of optimising across series of scenarios to deliver the best expected outcome; • A reformulation of the initial MIP designed to improve the bound provided by the LP relaxation by addressing the Big-M constraints of the original formulation; • Computational results comparing the performance of the two MIPs which demon- strate that despite the improved bound from the LP relaxation of the tighter formula- tion which is less compact, the original formulation performs better due to the shorter solve time of LP-relaxation of the more compact formulation.

3.1 Delay Transition Concepts and Theory

Consider an aircraft operating a sequence of flights. For the ith flight of the aircraft, the arrival delay, TADi is a random variable, which is some function of the delay propagated from the previous flight of that aircraft, denoted by the random variable PDi, and calculated by:

PDi = max(TADi−1 − si, 0) (3.1)

th where si is the slack before the i flight. Note that for notational convenience, we are delib- erately taking the ith flight to be flight i. As discussed in Chapter 2, existing work assumes that TADi is derived from PDi and an additional delay, the non-propagated delay, IADi, 3.1 Delay Transition Concepts and Theory 53 which are assumed to be independent random variables giving

TADi = PDi + IADi. (3.2)

As discussed in Chapter 2, the practicalities of airline operations, and analysis of real airline data, suggests that these two delays are not independent, and that in fact TADi is some

flight-dependent function of PDi. To express this generally, we propose to use a function

i q (d1, d2) = Pr(TADi = d2|PDi = d1), (3.3)

which gives the probability that the arrival delay for flight i is d2, given that the propagated delay is d1 (i.e. flight i transitions from propagated delay of d1 to arrival delay of d2). From which the probability density function for TADi can be expressed by

Z ∞ Pr(TADi = d) = Pr(TADi = d|PDi = y)Pr(PDi = y)dy (3.4) y=0 Z ∞ i = q (d, y)Pr(PDi = y)dy. (3.5) y=0

Noting that from Equation (3.1), the probability density function for PDi can be calculated by    Pr(TADi−1 < si), d = 0  Pr(PDi = d) = . (3.6)  Pr(TADi−1 = si + d), d > 0  which gives us a recursive approach to calculating the probability density function for all flights of the same aircraft (derived in detail in Section 3.1.1). Note that the first flight of an aircraft will have no propagated delay.

In the remainder of this section, we will derive the above results more formally, intro- ducing the concept of a delay transition function. We will then extend the delay transition function to the discrete case so that it can be embedded in a mixed integer program.

3.1.1 Continuous Delay Transition Function

Consider an aircraft operating flight i followed by flight j. As noted in the introduction to this section, the delay on a flight j is a function of: 54 Delay Transition Model: A new model for Robust Airline Schedule Design

1. the propagated delay on flight j that came from flight i, PDij, which determines how late the dispatch activities for flight j began, and ∗ 2. delay that occurred once activities to dispatch flight j were underway, IADj .

The propagated delay on flight j, PDij, is in turn a function of:

1. the arrival delay on flight i, TADi; and † 2. the slack between the two flights, sij .

To formalise the relationship between these factors, we introduce delay transition func- tions. First, the propagated delay transition function relates the probability of the delay on flight j relative to the existing propagated delay from a predecessor flight:

j q (d1, d2) = Pr(TADj = d2|PDj = d1). (3.7)

Second, the total delay transition function relates the probability of the delay on flight j relative to the arrival delay on the preceding flight i, and therefore takes into consideration both the slack between the two flights and the total arrival delay on the preceding flight:

ij q (d1, d2) = Pr(TADj = d2|TADi = d1). (3.8)

ij In other words, q (d1, d2) gives the probability that the arrival delay for flight j is d2, given that the arrival delay for flight i is d1 (i.e. the operating aircraft transitions from arrival delay of d1 on flight i to arrival delay of d2 on flight j). Next we generalise the relationship between

TADi and PDj, which will be necessary when we seek to discretise the delay transition functions: ij PDj = r (TADi). (3.9) where rij(d) is called the recovery function, defined as:

   0, d ≤ sij  rij(d) = , (3.10)  d − sij d > sij 

∗ Note that in both Fuhr [83] and Borndorfer¨ et al. [61], IADi is separated into two separate delays, ground delay on departure (Gi) and air delay en route (Bi). The work of this thesis treats these as a single transition for simplicity, the implications of this assumption are discussed in Section 3.5.4. † For a schedule where the aircraft routing is fixed, we could simply denote the slack sj. Here we have used the notation sij, referencing the predecessor flight i, to ensure the notation can still be used in Section 3.3.1 where we introduce a model to retime and reroute flights in a schedule. 3.1 Delay Transition Concepts and Theory 55 so that it reflects the relationship given by Equation (3.1).

Using the recovery function, the relationship between the propagated delay transition func- tion and total delay transition function is therefore:

ij q (d1, d2) = Pr(TADj = d2|TADi = d1), (3.11)

ij = Pr(TADj = d2|PDj = r (d1)), (3.12)

j ij = q (r (d1), d2), (3.13)

Furthermore, this recovery function allows us to formalise the relationship between the probability density functions for PDj and TADi (where i and j are successive flights oper- ated by a single aircraft). Note that in the absence of any slack, the probability distribution of PDj is exactly the probability distribution of TADi, the arrival delay on flight i. More generally, the probability that PDj is in a given interval [d1, d2) is given by:

ij Pr(d1 ≤ PDj < d2) = Pr(d1 ≤ r (TADi) < d2) (3.14)

Where the right hand side above is derived using Equation (3.1). For the case where TADi ≥ sij, this equates to:

Pr(d1 ≤ PDj < d2) = Pr(d1 + sij ≤ TADi < d2 + sij) (3.15)

Next consider what happens when TADi < sij. In practice, this is when the total arrival delay for flight i is less than the available slack between flights i and j. This means that the entire arrival delay will be absorbed and there will be zero propagated delay to flight j.

Therefore, the remaining Pr(TADi < sij) can be allocated to Pr(PDj = 0). Therefore:

   Pr(TADi < sij) + Pr(sij ≤ TADi < d2 + sij), d1 = 0  Pr(d1 ≤ PDj < d2) = (3.16)  Pr(d1 + sij ≤ TADi < d2 + sij), d1 > 0 

This translation is demonstrated in Figure 3.1. The figure shows the probability density function (pdf) and the cumulative distribution function (cdf) for the arrival delay of one flight, and the pdf for the propagated delay of its successor flight. The slack between the two flights in question is 10 minutes. The figure shows that the pdf of the propagated delay 56 Delay Transition Model: A new model for Robust Airline Schedule Design

Slack Impact on Propagated Delay Probability Distribution 1

0.9

0.8

0.7

0.6

10 min Arrival Delay pdf 0.5 Arrival Delay cdf

0.4 Propagated Delay pdf Propagated Delay cdf

0.3

0.2

0.1 10 min

0 0 5 10 15 20 25 30 35 40 45 50 Minutes Delay

Figure 3.1: The impact of slack on the delay distribution of propagated delay is comprised of two parts: at zero minutes delay, it is equal to the cdf of the arrival delay at 10 minutes, while at delay of d > 0 minutes it is equal to the pdf of the arrival delay at d + 10. Using the delay transition functions, we can derive a recursive relationship for deter- mining the delay on a flight leg j, relative to its predecessor flight i:

Z ∞ Pr(TADj = d) = Pr(TADj = d|TADi = y)Pr(TADi = y)dy, y=0 Z ∞ ij = q (y, d)Pr(TADi = y)dy, y=0 Z ∞ j ij = q (r (y), d)Pr(TADi = y)dy, y=0 Z sij Z ∞ j ij j ij = q (r (y), d)Pr(TADi = y)dy + q (r (y), d)Pr(TADi = y)dy y=0 y=sij Z sij Z ∞ j j = q (0, d)Pr(TADi = y)dy + q (y − sij, d)Pr(TADi = y)dy y=0 y=sij Z sij Z ∞ j j = q (0, d) Pr(TADi = y)dy + q (y − sij, d)Pr(TADi = y)dy y=0 y=sij Z ∞ j j = q (0, d)Pr(TADi < sij) + q (y − sij, d)Pr(TADi = y)dy. y=sij 3.1 Delay Transition Concepts and Theory 57

Of course, if flight j has no predecessor flight, (i.e. it is the first flight the aircraft oper- ates), then

Pr(TADj = d) = Pr(IADj = d). (3.17)

In what follows, we discretise each of the propagated delay transition, recovery, and total delay transition functions and extend the above relationships to the discrete case.

3.1.2 Discrete Propagated Delay Transition Function

To discretise the delay transition functions, defining intervals of delay as delay categories. De- b fine a delay category, Da, as the set of all delays in the range [a, b), then

b Pr(TADj ∈ Da ) = Pr(a ≤ TADj < b).

Let D be the set of all delay categories, then there are m = |D| delay categories. For ease b of reference, the categories are identified according to their order, i.e. for a < b < c, if Da c j ~ j th is category i then Db is category i + 1. Denote ~p and pd as (1 × m) vectors where the k entries are defined as: j pk = Pr(TADj ∈ k), ∀k ∈ D and j pdk = Pr(PDj ∈ k), ∀k ∈ D

j respectively. Consider qed, the probability that the total arrival delay for a given flight leg, j, will be within delay category d, given it has propagated delay in category e from the previous flight conducted by the same aircraft, i.e.:

j qed = Pr(TADj ∈ d|PDj ∈ e).

Analogous to the continuous versions, there is also the propagated delay transition function, a j th j matrix, Q , where the (e, d) entry corresponds to the delay transition probability qed. Then 58 Delay Transition Model: A new model for Robust Airline Schedule Design recalling that

Pr(X) = ∑ Pr(Y)Pr(X|Y) (3.18) Y∈Ω where Ω is the set of all possible realisations of discrete random variable Y where X is also i a discrete random variable, we can relate ~pj to pd~ and Qj:

j = ( ∈ ) ( ∈ | ∈ ) pk ∑ Pr PDi e Pr TADi k PDi e , (3.19) e∈D = j j ∑ pdeqek, (3.20) e∈D j ⇒ ~pj = pd~ Qj. (3.21)

Table 3.1 (page 58) demonstrates an example propagated delay transition function for a state space of 4 delay categories. For example, the table shows that if flight f has a Moderate Delay propagated from its predecessor, then it has a 0.25 probability of transitioning into total arrival delay that is in the Major Delay category and a 0.75 probability of having a total arrival delay that is in the Moderate Delay category.

No Delay Minor Delay Moderate Delay Major Delay No Delay 0.5 0.2 0.2 0.1 Minor Delay 0 0.5 0.45 0.05 Moderate Delay 0 0 0.75 0.25 Major Delay 0 0 0 1

Table 3.1: An example propagated delay transition function

Let us consider an example with the delay transition Qj as per Table 3.1, and pdj = (0.5, 0.2, 0.2, 0.1). Then using Equation (3.21), we get

j ~pj = pd~ Qj   0.5 0.2 0.2 0.1      0 0.5 0.45 0.05  = (0.5, 0.2, 0.2, 0.1)      0 0 0.75 0.25    0 0 0 1

= (0.25, 0.2, 0.34, 0.21) 3.1 Delay Transition Concepts and Theory 59

Minor Moderate Major Propagated No Delay Delay Delay Delay delay P = 0.5 P = 0.2 P = 0.2 P = 0.1

1

0.25

0.05

0.1

Major Minor Moderate Total delay No Delay Delay Delay Delay P=0.21

Figure 3.2: Example delay transition probabilities

This example is illustrated in Figure 3.2. The top row of circles in the figure shows the delay states for the propagated delay of flight f , the bottom row shows the delay states for the total delay. The arrows connecting the circles show the possible transitions between the states. The darker lines show the transitions into the Major Delay category, with the probability of each transition also noted.

A special component of the propagated delay transition function is the primary delay transition function. It is the probability that the total arrival delay for a given flight leg, j, will be within delay category d, given that there is no propagated delay from the previous flight conducted by the same aircraft. The primary delay transition function is given by the first row of the delay transition function matrix Qj, denoted throughout this document as j Q1d, j ∈ F, d ∈ D, it can also be referred to as the transition probability for the No Delay state.

A description of how to calculate the propagated delay transition function using historical data from an airline is provided in Section 4.1.5. 60 Delay Transition Model: A new model for Robust Airline Schedule Design

3.1.3 Discrete Recovery Transition Function

Analogous to the continuous recovery function, we define the discrete recovery function, Rij ij which relates TADi to PDj. Denote rde the proportion of delays in category e that would be recovered to category d with the amount of slack available between flights i and j. Then the th ij ij (d, e) entry of R is rde and:

j = i ij pdk ∑ perke, (3.22) e∈D j ⇒ pd~ = ~piRij. (3.23)

ij Next we wish to explore the values of the entries rde. First we introduce the required b [ ) d notation. Recall the delay category Da is the set of all delays in the range a, b . Define ω[a,b) as a weight function indicating the proportion of delay category d in the range [a, b). Let b d = Da, then we have: ij r = ωe . de [a+sij,b+sij)

The discrete recovery function is best explored with a couple of examples. Two examples are used to illustrate how the behaviour of ωe is affected by the slack between flights [a+sij,b+sij) i and j relative to the width of the delay categories. For the purposes of these examples, we will assume that the distribution of delays within each category is uniform (we will later explore this assumption).

b It is worth noting that if x ≤ a ≤ b ≤ y, then delay category Da is entirely contained b [ ) Da = ≥ > < < within the interval x, y so ω[x,y) 1. Similarly, if a y x or b x y, it has no overlap D = so ω[x,y) 0. Therefore an assumption of a uniform distribution within each category is b only required when Da only partially covers the interval [x, y), so either a < x < b < y or x < a < y < b. . So assuming a constant distribution within each delay category, ω takes the following values:

   = 1, x ≤ a ≤ b ≤ y     b−x  b  = , a < x < b < y  ωDa = b−a (3.24) (x,y) −  = y a , x < a < y < b   b−a     = 0, x < a < y < b or x < a < y < b  3.1 Delay Transition Concepts and Theory 61

Example One: 8 minutes slack (sij = 8)

Now consider an example where the delay distribution has been partitioned into 4 discrete categories, ‘No delay’, ‘1 to 10 minutes’, ‘11 to 20 minutes’ and ‘20 to 30 minutes’ (assume for the sake of the example that there are no delays longer than 30 minutes). Let the total arrival delay of flight i be pi = (0.5, 0.2, 0.15, 0.15), and let the slack between between flights i and j be 8 minutes. Assuming a uniform distribution of delays within each category, the recovery function is therefore:

  1 0 0 0      0.8 0.2 0 0  rij =      0 0.8 0.2 0    0 0 0.8 0.2 and the propagated delay of flight j is therefore:

j pd~ = ~piRij (3.25)   1 0 0 0      0.8 0.2 0 0  = (0.5, 0.2, 0.15, 0.15)   (3.26)    0 0.8 0.2 0    0 0 0.8 0.2

= (0.66, 0.16, 0.15, 0.03). (3.27)

This example is illustrated in Table 3.2 (page 61).

Delay, D ≤ 0 mins 1 to 10 min 11 to 20 mins 20 to 30 mins Pr(TADi ∈ D) 0.5 0.2 0.15 0.15 ↓×1 .×0.8 ↓×0.2 .×0.8 ↓×0.2 .×0.8 ↓×0.2 Pr(PDj ∈ D) 0.66 0.16 0.15 0.03

Table 3.2: Example calculation of propagated delay distribution (PDj) based on total arrival delay distribution (TADi), slack, sij of 8 minutes. 62 Delay Transition Model: A new model for Robust Airline Schedule Design

Example Two: 10 minutes slack (sij = 10)

For this example, partition the delay distribution into 4 discrete categories that are ‘No de- lay’, ‘1 to 10 minutes’, ‘11 to 20 minutes’ and ‘Greater than 20 minutes’. Assume that for the D20+ = ˙ delays greater than 20 minutes, a third of them are in the range 21 to 30 (i.e. ω(21,30) 0.33), and the remainder are greater than 30 minutes. Let the total arrival delay of flight i be pi = (0.5, 0.2, 0.15, 0.15), and let the slack between between flights i and j be 10 minutes. Assuming a uniform distribution of delays within each category, the recovery function is therefore:   1 0 0 0      1 0 0 0  rij =      0 1 0 0    0 0 0.33˙ 0.66˙ and the propagated delay of flight j is therefore:

j pd~ = ~piRij (3.28)   1 0 0 0      1 0 0 0  = (0.5, 0.2, 0.15, 0.15)   (3.29)    0 1 0 0    0 0 0.33˙ 0.66˙

= (0.7, 0.15, 0.05, 0.1). (3.30)

This example is illustrated in Table 3.3 (page 62).

Delay, D ≤ 0 [1,10) [10,20) ≥ 20 Pr(TADi ∈ D) 0.5 0.2 0.15 0.15 ↓×1 .×1 .×1 .×0.33˙ ↓×0.66˙ Pr(PDj ∈ D) 0.7 0.15 0.05 0.1

Table 3.3: Example calculation of propagated delay distribution (PDj) based on total arrival D20+ = ˙ delay distribution (TADi), slack, si,j of 10 minutes, and ω(21,30) 0.33 3.1 Delay Transition Concepts and Theory 63

ω assumptions

As demonstrated in the examples, the values of ω are an important component of the re- covery function. Since we are discretising the delay space to embed the delay transition functions into a schedule design process, an assumption is required for estimating ω when the underlying distribution is unknown. Such assumptions will introduce error, which are explored in detail in Chapter 4, with Section 4.3.2 specifically addressing the ω-error. Several options exist for determining the values of ω. We have already discussed the option of assuming a uniform distribution in our examples. An alternative, more accu- b Da rate option would be to estimate ω(x,y) using historical delay information and the known distribution within each D. Alternatively, one way to very easily simplify the calculations without losing any of the accuracy is to ensure that each delay category has the same size (i.e. delays are discretised into intervals of equal length), and that slack is only allocated in portions equal to, or that are multiples of, the interval size. Therefore ω is either 0 or 1 in all cases except where the final delay state has no upper bound. Of course, an alternative option would be to describe the delay transition probabilities, Q, as not just a transition from propagated delay to total delay, but rather as a transition from predecessor flight delay to total delay given a certain amount of slack. However, there are problems with this approach from a practical implementation standpoint. The purpose of this model is to estimate the On Time Performance for a proposed schedule, making use of historical (or forecast) delay transition information. Determining Q from historical data requires sufficient data points in each transition state to ensure there is an adequate sample size of the underlying distribution. If the number of transition states were increased to incorporate the amount of available slack, there would very likely be transitions that do not have any historical data with which to estimate the probability. This issue is explored in more detail in Chapter 4.

3.1.4 Discrete Total Delay Transition Function

ij Consider qed, the probability that the total arrival delay for a given flight leg, j, will be within delay category d, given the preceding flight i had total arrival delay in category e, i.e.

ij qed = Pr(TADj ∈ d|TADi ∈ e). 64 Delay Transition Model: A new model for Robust Airline Schedule Design

The discrete total delay transition function is a matrix, Qij, where the (e, d)th entry corresponds ij to the delay transition probability qed. Combining the effects of the discrete recovery func- tion and the discrete propagated delay transition function, it defines a recursive relationship for determining the delay probability distribution of flight leg j, ~pj, relative to the probability distribution of its predecessor i, ~pi: ~pj = ~piQij. (3.31)

Recall from Equation (3.21) that ~pj = pd~ jQj and from Equation (3.23) that j pd~ = ~piRij then

~pj = pd~ jQj,

= ~piRijQj, (3.32)

= ~piQij, (3.33) and therefore Qij = RijQj. (3.34)

If a flight has no predecessor, it is equivalent to having a preceding flight with no delay. 1 Denote F the set of all flights with no predecessor. We define the no delay vector, ~p0, which consists of a 1 in the entry corresponding to the delay category that includes 0 minutes delay, and 0 in all other delay categories, i.e.:

~p0 = (1, 0, . . . 0) (3.35) so that

j j 1 ~p = ~p0Q , ∀ f ∈ F (3.36)

In the following section, we show how to use these delay transition functions to assess the 3.2 Estimated On Time Performance 65 expected on time performance of an airline schedule.

3.2 Estimated On Time Performance

In this section, the Expected On Time Performance Model (OTP-MOD) is introduced, mak- ing use of the concepts derived in Section 3.1. The basic premise of the OTP-MOD is to identify, for each flight leg in a given schedule, the probability of that flight leg incurring a delay within a particular interval. This is achieved by discretising the delay distribution into intervals, called delay categories, and then using transition probabilities to calculate the likelihood that each flight will end up in a certain delay category, given its predecessor was in a particular delay category. The main benefit of this model is its ability to capture the re- lationship between any existing propagated delay on a flight and the likelihood of incurring additional primary delay, where other existing models assume these different types of de- lay to be independent of one another (see Section 2.4.1). In addition, most airlines would be able to determine input parameters for the model using historical delay and schedule data, provided they have implemented a delay monitoring process that includes the tracking of delay codes. This method of parameter setting is explored in more detail in Chapter 4.

3.2.1 OTP-MOD Inputs

The model requires the following inputs:

1. Aircraft Schedule The scheduled flight times and aircraft allocations, used to identify the connections and slack between flights; 2. Delay Transition Function The probability of moving into a delay state given the amount of propagated delay on the flight; 3. Recovery Function The transition behaviour from total arrival delay on one flight to prop- agated delay on the next flight, mostly derived from the slack and connection information determined from the schedule.

An explanation of each input is provided in the following paragraphs. 66 Delay Transition Model: A new model for Robust Airline Schedule Design

Aircraft Schedule

Information contained in the aircraft schedule is used to determine the recovery function for each flight, to do this, the following information is required for each flight, f , in the schedule:

• pred( f ), the flight that precedes flight f in the schedule i.e. the flight that an aircraft completes immediately prior to starting flight f , and

• s f , the amount of slack between flight f and its predecessor. This information is easily calculated from the following standard schedule information:

• FLTID: A unique identifier for the flight, usually a flight number • STD: The scheduled time of departure∗ • STA: The scheduled time of arrival∗ • REG: The assigned aircraft (here identified by its unique registration, but any unique identifier is sufficient)

To identify the predecessor for each flight, one need only sort the above information by REG, and where there are matches on REG, sort by STD. The predecessor for the ith flight on the list is simply the (i − 1)th flight on the list, provided both flights are operated by the same aircraft (REG). Otherwise, flight i has no predecessor, and is considered the first flight in the schedule for that aircraft. The slack between a flight and its predecessor is the difference between the scheduled turn time and the minimum turn time (as described in Section 2.1.2), and can be calculated using Equation (2.2):

s f = STTpred( f ), f − MTT where Scheduled Turn Time is calculated as per Equation (2.1):

STTpred( f ), f = STD f − STApred( f ).

Recovery Function

The recovery function, Rpred( f ), f , was previously defined in Section 3.1.3, and is a discretisa- tion of the relationship:

PD f = TADpred( f ) − s f .

∗A date and time if dealing with a multi day schedule 3.2 Estimated On Time Performance 67

Delay Transition Function

To calculate the expected on time performance of a schedule, the OTP-MOD requires the propagated delay transition function Q f for each flight in the aircraft schedule. This delay transition function was previously defined in Section 3.1.2, and a method for estimating it from an airline’s historical delay data can be found in Section 4.1.5. Of course, where a schedule includes a new flight that has not been operated before (such as when a new market is launched) no historical delay data will exist. In such cases, the operating airline will need to make some assumptions to determine the input parameters. These assumptions could still be derived from historical delay data of flights that are assumed to be similar to the new route.

3.2.2 Methodology

Having described how to calculate the probability vector for a single flight based on the distribution of the preceding flight in Section 3.1.4, specifically Equation (3.33):

~p f = ~ppred( f )Rpred( f ), f Q f , it is now possible to calculate the probability vectors for all flights in an entire schedule. This is achieved by calculating the probability vector for each flight in chronological order of STD to ensure that the delay from the predecessor flight is available when required, since it will have already been calculated. This is summarised in Algorithm 1 (page 69).

The Expected On Time Performance Metric

Having calculated, for each flight leg, the probability that the flight leg will have delay in each discrete delay category, the model can now be used to assess the aircraft schedule in terms of its On Time Performance. For example it is possible to calculate the expected per- centage of flights that are delayed by more than 15 minutes (the standard measure used in industry reporting), provided the delay discretisation is such that each delay category con- sists entirely of delays that are less than or equal to 15 minutes, or entirely of delays that are greater than 15 minutes. Denote the set of these categories by D<15 and D≥15 respectively, 68 Delay Transition Model: A new model for Robust Airline Schedule Design and let N be the number of flights. Then the expected on time performance for the schedule is: f ∑ f ∈F ∑d∈D<15 p EOTP = d . (3.37) 15 N

3.2.3 Applications

There are many ways OTP-MOD could be used to assist in decision making at an airline. The most obvious is to use it to assess the expected reliability of a given schedule, and facilitate decisions on where to allocate available slack, and/or the benefit in allocating additional slack. The next part of this chapter describes an Integer Programming model that utilises the OTP-MOD to do this by optimising the delay profile of a schedule. An alternative use of this tool would be to assess the benefit of potential initiatives to improve On Time Performance at an airline. For example, an airline may be weighing up the decision of whether or not to invest in extra staff at an airport during peak times. If they can estimate the likely impact on delay transition probabilities of flights departing from that airport, they can then assess the overall impact it would have on On Time Performance of the airline. 3.2 Estimated On Time Performance 69

input : Flights, F, sorted by STD; Transition function, Q f , for all f ∈ F; Predecessor of each flight, pred( f ), if no predecessor exists pred( f ) = ; Recovery function, Rpred( f ), f , for each flight f with predecessors output : P = {~p f : ∀ f ∈ F} where ~p f is the probability vector for flight f parameters: ~p0 = (1, 0, . . . , 0) for f ∈ F do if pred( f ) = then f f ~p ← ~p0Q ; // If f has no predecessor, use Equation (3.36) else ~p f ← ~ppred( f )Rpred( f ), f Q f ; // Otherwise use Equation (3.33) end P ← P ∪ {~p f } end Algorithm 1: Calculating expected on time performance for all flights 70 Delay Transition Model: A new model for Robust Airline Schedule Design

3.3 Delay Transition Model (DTM)

This section presents a Mixed Integer Program (MIP) for optimising the delay distribution of an airline schedule by retiming the flights and rerouting aircraft. Motivated by the work of Lan et al. [110] and AhmadBeygi et al. [9] which both take existing airline schedules and make minor modifications to reduce the likelihood or amount of propagated delay, we present a MIP to do this using the delay transition functions described in Section 3.1. The purpose of the Delay Transition Model (DTM) is to take an existing airline schedule, that was likely designed to deliver optimal revenue and cost outcomes, and make minor modifications to improve robustness. Specifically, the DTM retimes flights in small intervals and reroutes aircraft to improve the expected on time performance of the schedule. It is assumed that the schedule has already been fleeted and routed, including compliance with relevant crewing and aircraft maintenance constraints. The DTM is designed to operate on a homogeneous aircraft fleet, and therefore should be applied separately to each fleet for any schedule that has multiple aircraft types. The premise is that by only allowing small changes, i.e. retiming within 15 minutes of the original scheduled time, the quality of the original schedule will be largely unaffected. In Section 3.5.5, the implications of aircraft rerouting for crew and maintenance feasibility are discussed. Aircraft routing problems are typically solved as flight string models such as the one presented in Barnhart et al. [25] (Barnhart and Cohn [21]). The use of string based models is primarily due to the way resource consumption is accumulated along a path. Our work in Section 3.1 has defined a recursive function for the delay probability of each flight relative to the delay probability of the previous flight, so an approach using an arc based connection network is possible and therefore explored here. A flight string formulation of the model is presented and solved in Chapter 5. The DTM is formulated as a connection network where flights are represented by nodes, connections between the nodes represent the flights being operated by the same aircraft in succession and binary variables indicate whether a connection is used in the solution. The connection network is similar to the network of the Aircraft Routing Problem of Clarke et al. [42], but with a very different cost structure and hence additional constraints required to capture the probability-based costs. The retiming of flights is handled via the use of flight-copies (e.g. see Lan et al. [110]), where a flight-copy has all the same information as 3.3 Delay Transition Model (DTM) 71 the original flight but has a slightly adjusted departure and hence arrival time; the cover constraints that ensure each flight in the schedule is covered are therefore modified to ensure that only one flight-copy is selected.

The novel features of the DTM are that, unlike the models reviewed in Chapter 2, it:

1. does not assume that primary delay on a flight is independent of the propagated delay already on the flight; and 2. allows optimisation over the profile of the delays in the schedule, rather than just a single point on the profile or statistic; 3. retimes and reroutes to reduce propagated delay.

Furthermore, the DTM is unique in its approach because it embeds a Markov Decision Pro- cess into a MIP, with the probability of being in each state modeled as a decision variable and the goal of the MIP being to optimise a distribution rather than the standard Stochastic Programming approach of optimising across series of scenarios to deliver the best expected outcome.

3.3.1 Retiming and Rerouting (DTM-RTN)

Before presenting the MIP formulation for flight retiming and aircraft routing, some nota- tion that will be used throughout the chapter is introduced. 72 Delay Transition Model: A new model for Robust Airline Schedule Design

Sets

The following sets are used throughout the remainder of the thesis: F = the set of all flight legs (original flights only, not retimed copies);

C f = the set of all copies of flight leg f retimed at certain intervals; includes f itself as well as the duplicates; S C = the set of all flight copies, i.e. f ∈F Cf ; P = the set of all airports; E = the set of possible connections between activities possible by an aircraft, defined so as to take into account minimum turn times between flights, and geographical consistency, E ⊆ C × C; D = the set of all delay categories; Pred(g) = the set of all nodes f , such that ( f , g) ∈ E is a valid aircraft connection; and Succ( f ) = the set of all nodes g, such that ( f , g) ∈ E is a valid aircraft connection.

Parameters

ij Determine qde = the probability that if flight-copy j is resourced by the same aircraft and directly after flight-copy i, and if flight-copy i has delay in category d, then flight-copy j will have delay in category e. For each i ∈ C, d ∈ D, j ∈ C, e ∈ D, (i, j) ∈ E. The methodology for determining the q parameter values is explored in Chapter 4.‡ f We also have wd = the cost of flight f having delay in category d for each f ∈ F, d ∈ D. For f <15 f ≥15 example, we would take wd = 0 for all d ∈ D and wd = 1 for all d ∈ D to have an objective function that favors delays less than fifteen minutes. l l Parameters no and nd are dummy flights representing a start node and end node at port l l l respectively. No represents the number of aircraft originating at port l, while Nd represents the number of aircraft whose final destination is port l.

‡Note that while q is defined for each connection ij, its value does not necessarily depend on that connection. See Section 4.4 (page 114) for more details. 3.3 Delay Transition Model (DTM) 73

Decision Variables

i i pd : 0 ≤ pd ≤ 1 ∀i ∈ C, d ∈ D

xij ∈ {0, 1} ∀i ∈ C, j ∈ C

i pd is the probability that flight copy i has delay in category d given that it has been selected. xij is a binary variable indicating that flight copy i is connected to flight copy j, that is xij = 1 if and only if an aircraft completes flight copy i then flight copy j, xij = 0 otherwise.

Formulation

( − ) f i DTM RTN min ∑ ∑ ∑ wd pd (3.38) f ∈F i∈C f d∈D

s.t.

∑ ∑ xji = 1 ∀ f ∈ F (3.39) i∈C f j∈Pred(i)

∑ xij = ∑ xji ∀i ∈ C (3.40) j∈Succ(i) j∈Pred(i)

l x l = N ∀l ∈ P (3.41) ∑ noi o l i∈Succ(no) l x l = N ∀l ∈ P (3.42) ∑ ind d l i∈Pred(nd) i ∑ pd = ∑ xji ∀i ∈ C (3.43) d∈D j∈Pred(i)

i ≥ ji j − ( − ) ∀ ∈ ∀ ∈ ∀ ∈ ( ) ∩ pd ∑ ∑ qed pe 1 ∑ xji d D, i C, g Pred i F (3.44) j∈Cg e∈D j∈Cg

i ≤ ji j + ( − ) ∀ ∈ ∀ ∈ ∀ ∈ ( ) ∩ pd ∑ ∑ qed pe 1 ∑ xji d D, i C, g Pred i F (3.45) j∈Cg e∈D j∈Cg

i pd ≥ 0 ∀d ∈ D, ∀i ∈ C (3.46) i pd ≤ 1 ∀d ∈ D, ∀i ∈ C (3.47)

xij ∈ {0, 1} ∀(i, j) ∈ E (3.48) 74 Delay Transition Model: A new model for Robust Airline Schedule Design

The objective, equation (3.38), minimises the probability of having flight delays in costly delay categories. Constraints (3.39) ensure that exactly one copy of each flight is selected. (3.40) ensures that there is consistency/flow balance between all flights. That is, if we con- nect into flight-copy i from a predecessor, then we must also connect out of flight-copy i into a successor. Constraints (3.41) ensure that only the available aircraft at each port are used, while (3.42) ensure the correct number of aircraft end up in each port at the end of the schedule. Constraints (3.43) ensure that if flight-copy i is selected, then the probabilities of i being in the different delay categories add up to 1, otherwise they must add up to zero. Constraints (3.44) and (3.45) are used to calculate the probability of each flight being in each delay category depending on the delay distribution of its predecessor and the transition probabilities. They linearise i = ji j pd ∑ qed pexji. e∈D Note this is a kind of big-M constraint, but because the p variables represent probabilities, the value of M is actually 1. Next we show that constraints (3.45) can be omitted.

Proposition 3.1. Any solution that is feasible with respect to constraints (3.39) - (3.44) and (3.46) - (3.48) is also feasible with respect to constraints (3.45), therefore constraints (3.45) can be omitted from DTM-RTN.

< Proof. To prove Proposition 3.1 two cases are considered. In the first, ∑j∈Cg xji 1 and in = the second ∑j∈Cg xji 1. < Case (i) ∑j∈Cg xji 1 Let (x˜, p˜) be a solution feasible with respect to constraints (3.39) - (3.44) and (3.46) - (3.48) < such that ∑j∈Cg x˜ji 1. Since xji are binary variables, the premise of the case implies = ∑j∈Cg x˜ji 0 so constraint (3.45) becomes:

i ≤ ji j + ∀ ∈ p˜d ∑ ∑ qed p˜e 1 d D. j∈Cg e∈D

i From constraints (3.46) and (3.47) it follows that p˜d ∈ [0, 1], so the above inequality is always valid for any feasible solution to constraints (3.39) - (3.44) and (3.46) - (3.48), and the result is proved for this case. = Case (ii) ∑j∈Cg xji 1 3.3 Delay Transition Model (DTM) 75

We will prove this case by contradiction. Let (x˜, p˜) be a solution feasible with respect to constraints (3.39) - (3.44) and (3.46) - (3.48). Now let us assume that this solution is infeasible with respect to constraint (3.45), then we have:

i > ji j + ( − ) p˜d ∑ ∑ qed p˜e 1 ∑ x˜ji , (3.49) j∈Cg e∈D j∈Cg which in this case simplifies to: i > ji j p˜d ∑ ∑ qed p˜e. (3.50) j∈Cg e∈D

Note also that due to the premise of the case, constraint (3.44) implies:

i ≥ ji j ∀ ∈ p˜k ∑ ∑ qek p˜e k D. (3.51) j∈Cg e∈D

By adding Equation (3.50) to the sum of Equations (3.51) over k ∈ D \ d we get:

i > ji j = j = ∑ p˜d ∑ ∑ ∑ qed p˜e ∑ ∑ p˜e 1, (3.52) d∈D d∈D j∈Cg e∈D j∈Cg e∈D where the equality on the right is derived from that fact that Qi is a transition matrix repre- senting the transition probabilities from one state to a series of possible states, and therefore:

ji = ji i = i ∀ ∈ ∀ ∈ ∀ ∈ ∑ qde 1 and ∑ qde pd pd i C, j C, d D. e∈D e∈D

But from constraints (3.43) and (3.39), we know that:

i ∑ p˜d = 1 d∈D so we have a contradiction, therefore our solution must be feasible with respect to constraint (3.45).

< < Note, if it were possible to prove a third case, 0 ∑j∈Cg xji 1 with binary constraints (3.48) relaxed, then Proposition 3.1 would hold even without the binary constraints (3.48). This would mean that the LP relaxation would provide a better bound even without con- 76 Delay Transition Model: A new model for Robust Airline Schedule Design straints (3.45). In the absence of a proof of this third case, for the purposes of solving for an integer solution, leaving constraints (3.45) in the formulation may ensure the LP relaxation provides a better lower bound.

3.3.2 Retiming Only (DTM-T)

It is possible to restrict the Delay Transition Model to retime flights only, rather than allow- ing rerouting. This is achieved by restricting the set E to contain only connections that were in the original schedule. This would result in Pred( f ) containing only copies of the flight that was originally scheduled to precede flight f , and similarly Succ( f ) would contain only copies of the flight that was scheduled to immediately succeed flight f . This version of the model is referred to as DTM-T.

3.3.3 Rerouting Only (DTM-R)

To restrict the Delay Transition Model to only allow rerouting of aircraft and not the retiming of flights, one only needs to define each set C f to contain only one copy of the flight f at the original scheduled time of departure. This version of the model is referred to as DTM-R.

3.4 Reformulated Delay Transition Model (DTM-RTA)

The DTM-RTN model is relatively weak because of its reliance on the big-M constraints (3.44) and (3.45). It is possible to reformulate the DTM-RTN model so that the delay proba- bilities are calculated on the connection arcs rather than on each flight node. This eliminates the big-M constraints and therefore provides a tighter formulation. This reformulation is similar to the variable splitting extended formulations described in Vanderbeck and Wolsey [164].

In the arc-based reformulation of the DTM-RTN we replace the decision variables pid ij with pde, the probability that we have selected flight copy i, and it has delay in category d, flight copy i connects to flight copy j, and flight copy j has delay in category e. All other 3.4 Reformulated Delay Transition Model (DTM-RTA) 77 decision variables, parameters and sets remain the same. Note that:

= ji ∀ ∈ ∀ ∈ pid ∑ ∑ ped i C, d D (3.53) j∈Pred(i) e∈D

Also note that: ji ji ped = qed pje ∀i ∈ C, ∀d ∈ D, ∀j ∈ Pred(i), ∀e ∈ D (3.54)

The reformulation is therefore articulated as follows.

Formulation

( − ) j ij DTM RTA min ∑ ∑ ∑ ∑ we pde (3.55) j∈C e∈D i∈Pred(j) d∈D

s.t.

∑ ∑ xij = 1 ∀ f ∈ F (3.56) j∈C f i∈Pred(j)

∑ xij = ∑ xji ∀i ∈ C (3.57) j∈Succ(i) j∈Pred(i) p x p = N ∀p ∈ P (3.58) ∑ no i o p i∈Succ(no ) p p = ∀ ∈ ∑ xin Nd p P (3.59) p d i∈Pred(nd )

ij = ∀ ∈ ∀ ∈ ( ) ∑ ∑ pde xij i C, j Succ i (3.60) d∈D e∈D

ij − ji = ∀ ∈ ∀ ∈ ∑ ∑ pde ∑ ∑ ped 0, i C, d D (3.61) j∈Succ(i) e∈D j∈Pred(i) e∈D

ij = ij ki pde ∑ ∑ qde pbd k∈Pred(i) b∈D

∀i ∈ C, ∀d ∈ D, ∀j ∈ Succ(i), ∀e ∈ D (3.62)

ij pde ≥ 0 ∀(i, j) ∈ E, ∀d ∈ D, ∀e ∈ D (3.63) 78 Delay Transition Model: A new model for Robust Airline Schedule Design

ij pde ≤ 1 ∀(i, j) ∈ E, ∀d ∈ D, ∀e ∈ D (3.64)

xij ∈ {0, 1} ∀(i, j) ∈ E (3.65)

Constraints (3.56) to (3.59) remain the same as in the DTM-RTN model. Constraint (3.61) ensures flow balance of the transition probabilities, i.e. the sum of the probabilities of arriv- ing in a certain delay state is the same as the sum of the probabilities of leaving that delay state. Equations (3.53) and (3.54) are combined to establish constraints (3.62).

3.5 Discussion

This section discusses various adjustments that can be made to the DTM-RTN and DTM- RTA models to provide additional functionality, adjust the objective and to address possible limitations.

3.5.1 Budget Total Slack

If we wish to put a budget on the total slack distributed throughout the schedule, we can calculate the slack before each flight i to be

∑ sjixji j∈Pred(i) where each sji is the slack between flights j and i and can be calculated a priori from the scheduled arrival time of j and the scheduled departure time of i. If the total slack budget is B, then the addition of the following constraint to either the DTM-RTN or the DTM-RTA would ensure the budget is not exceeded:

∑ sjixji ≤ B. (j,i)∈E 3.5 Discussion 79

3.5.2 Minimize expected delay

For each flight copy i, the delay distribution is given by pi,d, d ∈ D. So to minimize the sum of the expected delays over all flights, we can use:

min ∑ ∑ ∆d pi,d i∈C d∈D where ∆d denotes the average delay associated with delay category d. It is also not hard to minimize a tail probability, e.g. minimize the total probability of being in unfavorable delay categories:

min ∑ ∑ pi,d i∈C d∈D0 where D0 is the set of unfavourable delay categories. The average delay and tail probabilities could also be constrained or the expected delay could be minimized while keeping the tail below some limit, or any other combination of such variations is possible.

3.5.3 Include ω in objective

For the experiments in this thesis, the number of discrete delay categories has been restricted to 7 delay categories, limiting control over the tail of the delay distribution such as delays greater than 60 minutes or greater than 3 hours. However, in Section 4.3 the data for the Extreme Delay category was fit to an exponential distribution, providing a means for estimating ωe. Therefore, for example, delays greater than 60 minutes could be captured in the objective via: e pi,eω[60,∞)

e where ω[60,∞) is estimated from the fitted exponential distribution identified in Section 4.3.

3.5.4 Additional transition point

Both Borndorfer¨ et al. [61] and Fuhr [83] separate the arrival delay on a flight into two separate delays: ground delay on departure and air delay en route (Section 2.3, pages 42 and 44). For simplicity, the work of this thesis treats these as a single transition, the implications which are that: 80 Delay Transition Model: A new model for Robust Airline Schedule Design

• fewer decision variables are required (since the number of decision variables grow with the number of delay states and flights), • fewer constraints are required (since the number of constraints grows with the num- ber of decision variables and connections), and • the behaviour of delays on the ground and delays in the air are averaged out into a single transition.

3.5.5 Crew and Maintenance Feasibility

One potential limitation of the DTM models is that they do not explicitly capture crew rules or maintenance routes and therefore if the optimisation is conducted after crew pairing and maintenance routing decisions have been made, the resulting schedule may no longer be optimal or even feasible for the crew and aircraft resources. However, in what follows a description of how scheduling is conducted at the Airline is provided, and therefore an ex- planation of why this is not a problem. Suggestions for addressing any issues that might arise at other airlines where scheduling is approached differently are also provided.

Scheduling at the Airline

The schedule at the Airline is designed so that each aircraft has a daily sequence of flights called a line of flying (LOF) that starts and finishes in the one port and can be legally oper- ated by a single aircraft without requiring the most frequent form of maintenance (usually referred to as an A-check). Each LOF consists of 2 or 3 subsequences that also start and finish at the same port and can be legally operated by one crew. These subsequences are referred to as crew duties. This allows crew to follow the aircraft, and reduces delay propagation be- ing multiplied when crew and aircraft separate. These LOFs are not allocated to a specific aircraft until maintenance plans are produced several days prior to the day of operations. Thus, most aircraft start and finish their day at the same port, with special swap opportunities designed into the schedule so that aircraft can be swapped onto a different LOF that ter- minates at a maintenance port when that aircraft requires maintenance. A swap opportunity is a period of time when two aircraft that originated at different ports are on the ground at the same time for long enough that the crew from one aircraft can swap with the crew 3.5 Discussion 81 from the other aircraft before continuing their original scheduled duties using the different aircraft. This results in an aircraft switching to a different LOF, and therefore terminating at a different airport. In this context, it is therefore quite simple to optimise using the DTM without breaking the crew and maintenance constraints as follows:

1. Ensure crew duties remain within the allowable limits by either:

(a) Only allowing the retiming of sectors within small time frames so that the crew duties remain feasible, or (b) Adding a slack budget constraint as per Section 3.5.1 for each crew duty to maintain duty feasibility (see Appendix C for details)

2. Ensure maintenance feasibility by not allowing the re-routing of flights within crew duties i.e. allow connections between crew duties to be rerouted, but only allow retiming within crew duties so that no LOFs have their origin or destination changed

3. Ensure any connections that represent crew changes (connections between crew du- ties) are sufficiently long to allow a crew changeover by only including rerouting options when the connections are long enough 4. Do not allow swap opportunities to be broken

In fact, most of the above restrictions keep the DTM problems small because they limit the number of feasible connections and therefore the number of binary variables. However, they also reduce the magnitude of the improvement in the objective that is possible. Alternatively, the maintenance and crew constraints could be more readily captured in a Column Generation formulation of the DTM problem. This is explored in more detail in Appendix E.1.

Scheduling when crew pairings and maintenance routes in place

In other contexts where crew and aircraft do not follow the same lines of flight, it is still pos- sible to use the DTM and ensure crew and maintenance feasibility, however it is most likely this would require the DTM to be used only for retiming, and not rerouting. In addition, retiming would need to be done such that: 82 Delay Transition Model: A new model for Robust Airline Schedule Design

1. Crew duties remain within the allowable limits using the same options as per Item 1 above, and 2. Crew connections remain feasible, so that any pair of flights ( f , g) where crew are required to swap from one aircraft to another still have the minimum crew change (MCC) time between them. This can be achieved via a constraint of the form:

 ∑ xki + ∑ xkj = 0 ∀(i, j) ∈ (i, j) : i ∈ Cf , j ∈ Cg, stdj − stai < MCC) k∈Pred(i) k∈Pred(j)

It may also be possible to allow some minor rerouting by only allowing new connections between flights that are on LOFs with the same terminating port. However this depends on whether the LOFs are at risk of being longer than the allowable limits before maintenance is required, or if they are all short enough that some rerouting would keep them within these limits.

Design Principles Only

In an airline where the previous limitations are restrictive and provide little opportunity for improvement, instead of using a DTM model as part of the pure schedule design process, it may be of more benefit to use it to identify design principles that can be incorporated into early decisions in the schedule design process. That is, if ensuring existing crew pairings and maintenance routes remain feasible means that there is little improvement in the DTM objective, the model could instead be used to identify rules of thumb for where to allocate slack with the maintenance and crew constraints relaxed, and the rules of thumb could then be captured as part of the schedule design process prior to the crew pairing and maintenance routing decisions. The use of the DTM models to identify design principles is explored in Chapter 6.

Alternatively, it may be possible to use the DTM model prior to the maintenance routing and crew pairing steps in the schedule design process. 3.6 Computational Results 83

3.6 Computational Results

Computational experiments were conducted to assess the performance of DTM-RTN and DTM-RTA in terms of 3 criteria:

1. Optimality Can the models be solved to optimality within practical run times? For what sized problems can the models be solved to optimality? 2. Schedule Improvement To what extent does the proposed optimisation approach improve an existing schedule? 3. Model Comparison What are the relative strengths and weaknesses of the two different models? (DTM-RTN and DTM-RTA)

In the following sections the experiments conducted to assess these criteria are explained; first the test data used to evaluate these methods is described.

3.6.1 Test Data Sets

Chapter 4 explores a variety of topics to consider when determining the input parameters for the DTM models. Here, a summary of the input data for the computational experiments of this chapter is provided.

Original Schedules

Test sets were constructed from schedules operated by the Airline over the period of August 2010 to January 2011. Six (6) single day schedules were selected, representing the most common schedule operated in each month. The Airline operates a daily repeating schedule, so the most common daily schedule was operated on most days within the month, with only minor variations to account for demand peaks such as public holidays; demand troughs, such as mid week on leisure routes; and major disruptions, such as closure of an airport for days. Each of the schedules consists of between 200 and 224 flights operated by 35 to 40 aircraft. In addition to the full schedules, test sets of varying sizes were generated by randomly selecting a subset of aircraft registrations from each schedule and forming a schedule with the flights operated by these aircraft. Small sized test sets were generated by selecting up 15 aircraft registrations, Medium sized test sets consist of between 16 and 84 Delay Transition Model: A new model for Robust Airline Schedule Design

30 aircraft, while the Large sized test sets consist of 31 to 40 aircraft. Table 3.4 provides a summary of the different sized test sets generated, as well as the Full Schedule test sets.

Delay Categories

Unless otherwise specified, computational experiments were conducted using seven (7) de- lay categories, with the rationale for this selection described in Section 4.3. Weights were assigned to the delay categories as per Table 3.5; the weights were designed to minimise the number of flights delayed greater than 15 minutes to be in line with industry standards for On Time Performance reporting and KPIs.

Transition Probabilities

Transition probabilities were identified by departure port, with three unique transition cat- egories identified for groups of ports (clusters) that exhibited similar delay transition per- formance under regular operations as well as under off-schedule operations. The rationale behind these factors is described in Section 4.4.

Flight Copies

Flight copies were created at five (5) minute intervals relative to the original scheduled time of departure. Five minute intervals were selected because that is the standard for flight scheduling at the Airline. Experiments were conducted with retiming in intervals of 1 copy, 3 copies, 5 copies, 7 copies to allow retiming in 0, ±5,±10,±15 minutes respectively. It was determined that retiming within greater intervals would start to affect the quality of the schedule with respect to expected revenue, as well as the feasibility of the schedule with respect to existing crew pairings and their associated duty limits.

3.6.2 Computational Environment

The DTM-RTN and DTM-RTA models were both solved using CPLEX Version 12.2, oper- ated via the C++ API. In all experiments, unless otherwise specified, the default CPLEX settings were used. Computational experiments were conducted on a PC operating Win- 3.6 Computational Results 85 # Test Cases 333 33 43 43 2 3 1 3 1 3 2 1 2 1 2 1 1 1 1 18 20 10 6 Small Medium Large Full Schedule Flight Count 5-86 82-162 180-1885-89 200 82-179 174-212 200-224 22-8616-79 99-162 96-179 178-21225-83 194-20315-89 95-159 224 20-83 91-145 183-208 214 82-155 152-192 174-210 223 203 215 Small Medium Large Full Schedule Table 3.4: Test set summary: range of problem sizes in each test set Aircraft Count 4-143-13 16-271-14 17-30 31-365-15 16-29 33-344-14 18-29 32-334-15 17-28 38 32-371-15 16-28 36 31-36 35 16-30 32-38 40 31-40 39 39 35-40 Small Medium Large Full Schedule Test Set Schedule 1 Schedule 2 Schedule 3 Schedule 4 Schedule 5 Schedule 6 Overall 86 Delay Transition Model: A new model for Robust Airline Schedule Design

Category Weight No Delay 0 01 to 05 minutes 0 06 to 10 minutes 0 11 to 15 minutes 0 16 to 20 minutes 1 21 to 25 minutes 1 ≥ 26 minutes 1

Table 3.5: Delay category weights, designed to minimise delays > 15 minutes dows 7 Home Premium (64 bit), with an Intel(R) Core(TM) i7-2620M CPU @ 2.70 GHz and 8 GB RAM.

3.6.3 Optimality

Two experiments were used to assess the optimality performance of the DTM-RTN and DTM-RTA Integer Programs. In the first experiment, each problem instance was solved with a maximum solve time of 60 minutes to determine how many instances could be solved to optimality within the restricted time limit. The results, shown in Table 3.6, demonstrate that the models perform well for Small problems (< 15 aircraft) where only 1 flight copy is used (i.e. rerouting only) with 90% of these problem instances solved to optimality using both the DTM-RTN and DTM-RTA models. However, neither model scales well for anything larger than a single flight copy or more than 15 aircraft, with the average optimality gap§ after 60 minutes of runtime being 40%-90% for the DTM-RTN model, while the DTM-RTA failed to find integer feasible solutions for any of the problem instances with 5 flight copies or more. The second experiment for assessing the optimality performance of the models was to explore the behaviour of the optimality gap over run times longer than 60 minutes. Figure 3.3 (a) shows the profile of the optimality gap for a single Full Schedule instance with 3 copies solved with the DTM-RTN model. Figure 3.3 (b) shows the same problem instance solved with the DTM-RTA model. The figures show that the gap reduces¶ at an incredibly slow rate of 3.3% over a 12 hour run time for the DTM-RTN and 2.2% over the same period for the DTM-RTA, suggesting that a more effective technique is required to solve these problems to

Best LP objective−best integer solution §Gap is measured as . Best integer solution ¶Reduction measured as difference between gap at root node to gap at end of 12 hour runtime 3.6 Computational Results 87 0%6%0%0% 0% 0% 0% 0% 13% 0% 100%100%100% 44% 0% 0% 80.0%76.0%91.3% 55.0% 90.9% na na na Seven (7) Flight Copies DTM-RTN DTM-RTA 0%0%0% 0% 0% 0% 92% 0% 19% 13% 100%100% 88% 100% 0% 0% 59.5%83.1%78.5% 44.9% 76.7% na na na Five (5) Flight Copies DTM-RTN DTM-RTA 0%0%0% 0% 0% 0% 22% 6% 100%100%100% 100% 100% 29% 0% 0% 41.8%81.6%86.0% 38.0% 86.5% 59.7% na na Three (3) Flight Copies DTM-RTN DTM-RTA 0%0% 41% 14% 90%84%94% 90% 80% 88% 90%60% 90% 60% 0.0%2.3% 0.0% 2.2% 100% 86% 17.5%18.7% 10.7% 18.5% One (1) Flight Copy DTM-RTN DTM-RTA (%) Table 3.6: Optimality Gap of DTM-RTN and DTM-RTA after 60 minutes run time a Optimality gap only valid for instances where an integer solution was found a Medium Large Full Schedule Measure Integer Solution Found (%) Small Medium Large Full Schedule Solved to Optimality (%) Small Average Optimality Gap Small Medium Large Full Schedule 88 Delay Transition Model: A new model for Robust Airline Schedule Design

Optimality Gap Over Time Optimality Gap Over Time 100% 100%

90% 90%

80% 80%

70% 70%

Optimality Gap Optimality Gap Optimality

60% 60%

50% 50% 0 5000 10000 15000 20000 25000 30000 35000 40000 0 5000 10000 15000 20000 25000 30000 35000 40000 Run Time (CPU Seconds) Run Time (CPU Seconds)

(a) (b)

Figure 3.3: Optimality Gap versus Run Time: Full Schedule problem instance with 3 flight copies; (a) DTM-RTN, (b) DTM-RTA optimality within a practical time frame on a standard workstation used at the Airline.

3.6.4 Schedule Improvement

To assess the schedule improvement that can be achieved with the DTM-RTN and DTM- RTA models, the objective value of the best schedule obtained after 60 minutes of solve time was compared with the original schedule for each problem instance. Given that both the DTM-RTN and DTM-RTA models will find schedules with the same objective value if solved to optimality, the following results are shown for the DTM-RTN model only. How- ever the DTM-RTA results can be expected to be similar at the point of optimality. The difference in performance between the two models is explored separately in the next sec- tion. Figure 3.4 shows the improvement achieved in each instance for 1, 3, 5 and 7 flight copies. In the figure, the instances are presented along the x-axis in order of decreasing On Time Performance of the original schedule. Note that for the experiments with 3,5 and 7 flight copies, the departure times for the first flight of each aircraft was fixed to the original departure time, as was the arrival time for the final flight of each aircraft to ensure that the total slack allocated did not exceed that of the original schedule. This was done to ensure the improvement gained with 3,5 and 7 flight copies was not inflated by the presence of addi- tional slack, but instead was achieved through the better allocation of slack alone. As Figure 3.4 demonstrates, there is substantial variation in the improvement between the problem in- 3.6 Computational Results 89 stances. This is because the original schedule was not optimised with respect to On Time Performance, and therefore it is primarily random whether or not the original schedule per- formed well. Despite the variable nature of the improvement, there are many instances where the improvement is substantial (up to 8% of flights on time at 15 minutes that pre- viously were not), and very few where no improvement is achieved at all (2 instances out of 208). Figure 3.5 shows the average improvement across all instances. The results show an average of 2.2% more flights being on time when only a single flight copy is used (i.e. rerouting only). When this was extended to allow 3 flight copies (i.e. rerouting and retim- ing within ±5 minutes), an improvement for a further 1.8% of flights was achieved. This is despite an optimality gap of 67%, suggesting further improvement may be possible if the optimality gap can be decreased. To put this improvement into perspective, the cost of fly- ing faster to ensure an additional 1.0% of flights arrive on time would burn an additional 1.5 million USD worth of fuel per annumk. Overall these results indicate that the DTM models present promising techniques for improving the On Time Performance of a schedule, and further investigation to solving the problems to optimality is worthwhile.

3.6.5 Model Comparison

The DTM-RTA model was developed to address the big-M constraints of the DTM-RTN, which are known to cause the LP relaxation to provide a poor lower bound for the optimal integer solution. Table 3.7 and Table 3.8 compare the quality of the bounds provided by each model at the root node and after 60 minutes of run time. As expected, the DTM-RTA provides a much stronger bound, with an average gap at the root node of 46.8% compared with 74.9% for the DTM-RTN on Small problem instances. However this improved bound comes at a cost. While both formulations are compact (i.e. have a polynomial number of constraints), the DTM-RTN has fewer variables and fewer constraints. Specifically, the number of vari- ables required for the DTM-RTN formulation is O(|E| × |D|) while the number of variables required for the DTM-RTA formulation is O(|E|2 × |D|2). Furthermore the number of con- straints required for the DTM-RTN formulation is O(|E|2 × |D|), while the DTM-RTA for-

kAssumes fuel cost of 0.78 USD per litre, average passenger and freight loads and weather conditions for an airline with Airbus A320 aircraft flying 50000 sectors per annum. Source: Fuel and On Time Performance analysis at the Airline 90 Delay Transition Model: A new model for Robust Airline Schedule Design

Expected On Time Performance: Original Schedule versus Optimised* Schedule 90%

1 Flight Copy 3 Flight Copies 5 Flight Copies 7 Flight Copies

85%

80%

75%

70%

Expected On Time Performance Time On Expected 65%

60% Instance

Original Schedule Optimised* Schedule

Figure 3.4: Improvement in Expected On Time Performance By Instance (after 60 minutes run time) mulation requires O(|E|2 × |D|2). This is demonstrated in Table 3.7 and Table 3.8. This difference in the number of constraints and variables causes the DTM-RTA to have a signif- icantly longer set up time, as demonstrated in Figure 3.6. As a result of the longer set up time, as well as on average longer LP solve times, the DTM-RTA is outperformed by the DTM-RTN in terms of the quality of solution obtained after 60 minutes, despite its better bounds. Overall, when comparing results on the Full Schedule, the DTM-RTN performs better on 67% of instances, while the two methods draw on 29% of instances (Table 3.8). However, neither models perform particularly well on the Full Schedule, and further research is required to solve these problems adequately. Addi- tional approaches to solving the problem will be explored in Chapter 5.

3.6.6 Preliminary Conclusion

Initial results suggest that the DTM approach is promising in its ability to improve the ex- pected performance of an existing schedule, however further refinement of the approach is 3.6 Computational Results 91

On Time Performance Improvement versus Optimality Gap

100% 100%

95% 90% 88% 90% 80% 77% 85% 70% 67% 80% 60% 77.0% 77.2% 75.2% 76.2% 75% 73% 73% 73% 73% 50%

70% 40%

65% 30%

60% 20%

13% minutes) 60 (after Gap Optimality

55% 10% Average Expected On Time Performance Time On Expected Average 50% 0% 1 3 5 7 # Flight Copies

Original OTP Improved OTP Average Gap

Figure 3.5: Average Improvement in Expected On Time Performance (after 60 minutes run time)

Problem Setup Time 80

70

60

50

40

30

20 Setup Time (CPU Seconds) (CPU Time Setup 10

0 Problem Size DTM-RTA DTM-RTN

Figure 3.6: Comparison of problem set up time, DTM-RTN versus DTM-RTA 92 Delay Transition Model: A new model for Robust Airline Schedule Design qa (%) Equal T-T etrSlto (%) Solution Better DTM-RTA (%) Solution Better DTM-RTN Comparison Model (%) solution Integer No (%) Optimal Not Integer (%) Optimality to Solved Solutions Integral / Optimality minutes 60 after Gap Average Node Root at Gap Average seconds) (CPU Time Solve LP Average Gap / Relaxation LP Non-Zeroes # Average Columns # Average Rows # Average size Matrix Measure b a c etslto on t6 minutes minutes 60 60 at at found found solution solution Best integer best versus known bound solution Best integer best to compared relaxation LP c a (%) b (%) al .:Cmaio fDMRNadDTM-RTA, and DTM-RTN of Comparison 3.7: Table T-T DTM-RTA DTM-RTN n 1 lgtCopy Flight (1) One 045124,131 10,475 00 10.0% 90.0% 10.0% 90.0% 8.7% 20.1% ,6 9,252 1,465 .%0.0% 0.0% 0.0% 0.0% .53.41 0.05 9 8,996 591 100% 0% 0% T-T DTM-RTA DTM-RTN Copies Flight (3) Three 9772,356,092 79,757 78 94.4% 5.6% 77.8% 22.2% 38.0% 55.3% 41.8% 87.2% ,0 74,551 75,159 2,504 4,262 .%0.0% 0.0% .714.62 0.07 11% 89% 0% T-T DTM-RTA DTM-RTN ie()Fih Copies Flight (5) Five 9,8 5,381,637 190,581 13 75.0% 12.5% 81.3% 18.8% 44.9% 53.3% 59.5% 84.1% ,4 130,907 131,716 4,847 6,478 .%12.5% 0.0% .1268.43 0.21 33% 61% Small 6% rbe Instances Problem T-T DTM-RTA DTM-RTN Copies Flight (7) Seven 0,6 5,982,174 408,062 0.%44.4% 100.0% 00 55.0% 55.7% 80.0% 88.1% ,5 135,935 136,934 9,157 9,949 .%55.6% 0.0% 0.0% 0.0% .5503.43 0.35 56% 44% 0% T-T DTM-RTA DTM-RTN 7,1 3,461,009 172,219 53 51.4% 29.2% 65.3% 34.7% 34.5% 46.8% 45.3% 74.9% ,7 87,597 88,265 4,275 5,539 .%19.4% 0.0% .7198.70 0.17 Overall 50% 49% 1% 3.6 Computational Results 93 4% 67% 29% Overall 0% 4% 67%33% 21% 75% 63.7%68.2% na na 57,58940,605 917,688 832,027 102.02 na 2,276,331 45,746,418 DTM-RTN DTM-RTA 0% 17% 83% 0%0% 0% 0% 100% 100% 90.7%90.9% na na 97,436 1,446,430 325.45 na 112,859 1,553,345 5,685,004 83,341,951 Seven (7) Flight Copies DTM-RTN DTM-RTA Full Schedule 0% 67% 33% 0% 0% 67%33% 0% 100% 66.79 na 90.8%76.7% na na 61,90340,309 1,258,671 1,088,659 2,188,358 61,794,965 Five (5) Flight Copies DTM-RTN DTM-RTA a 0% 0% 100% 0%0% 0% 100% 9.32 na 100% 0% 90.5%86.5% na na 44,88620,649 320,914 590,897 1,017,645 23,857,473 Three (3) Flight Copies DTM-RTN DTM-RTA 0% 83% 17% 0%0% 17% 0% 0.65 20.16 3,731 106,768 100% 83% 50.1%18.7% 36.7% 18.5% 15,022 107,401 126,344 2,961,984 One (1) Flight Copy Table 3.8: Comparison of DTM-RTN and DTM-RTA, DTM-RTN DTM-RTA (%) c (%) b d na: No solution found withinLP time relaxation limit compared to best integerBest solution bound known versus best integer solutionBest found solution at found 60 at minutes 60 minutes c a b d Measure Average Gap after 60 minutes DTM-RTA Better Solution (%) Matrix size Average # Rows LP Relaxation / Gap Average LP Solve Time (CPU seconds) Optimality / Integral Solutions Solved to Optimality (%) Model Comparison DTM-RTN Better Solution (%) Average # Columns Average # Non-Zeroes Average Gap at Root Node Integer Not Optimal (%) No Integer solution (%) Equal (%) 94 Delay Transition Model: A new model for Robust Airline Schedule Design required to identify the optimal solution within a reasonable time frame; such refinements are investigated in Chapter 5. In particular, the models both struggle to close the optimality gap when more than one flight copy is used for each flight. Before exploring alternative methods for solving the DTM problem, in the next chapter we first describe how to deter- mine the input parameters of the model using historical delay information. Chapter 4 Delay Transition Model: Parameter Setting

This chapter describes how to calculate parameter estimates of the delay transition function using historical delay data from the Airline, including an exploration of the statistical accuracy of the parameter estimates. In Chapter 3, the Delay Transition Model (DTM) for improving the robustness of an airline schedule was introduced. The DTM takes as input a discrete total delay transition function for each (possible) connection between two flights in the schedule. Recall that the discrete total delay transition function is a matrix Qg f that has in the (i, j)th entry the probability that if flight g has delay in category i then the successor flight f will have delay in category j (see Section 3.1.4). Recall from Chapter 3, the discrete total delay transition function can be separated into a discrete propagated delay transition function and discrete recovery function as per Equation (3.34):

Qg f = Rg f Q f .

This chapter describes how Q f and Rg f can be initialised based on delay information recorded by a real airline. First the required data sources and the calculation methodology for Q f are described. The statistical accuracy of the parameter estimates is also explored. Finally a generic recovery matrix RN is defined based on the amount of slack between two flights. The contributions of this chapter are:

• an explanation of how to derive a parameter estimate of the discrete delay transition function using historical data from an airline; • an exploration of the impact of key design decisions on the statistical accuracy of the

95 96 Delay Transition Model: Parameter Setting

parameter estimate, decisions explored include:

– the number of delay categories, – the size of the intervals covered by each delay category, and – the classification of flights into groups that have similar delay transition be- haviour.

4.1 Estimating Delay Transition Function from Historical Data

To estimate the delay transition function, historical delay data is used. In this section, the required historical delay data is described followed by an explanation of how it can be used to identify primary delay and propagated delay on a flight. This is followed by a description of how to estimate the delay transition function for a flight.

4.1.1 Delay Reasons

Like many airlines, the Airline has adopted a delay code system based on the one proposed by The International Air Transportation Association (IATA). Each flight that has been de- layed has the total duration of that delay allocated to one or more delay codes according to the cause of the delay. The IATA delay codes can be broadly divided into ten categories as shown in Table 4.1 (page 97). The coding system adopted by the Airline is an extended version of the IATA system, with delay codes containing up to 3 digits rather than 2 to al- low more granular reporting of delay reasons, however the broad categorisations remain the same. For an overview of delay data collection in airlines more generally, the reader is referred to Wu [175]. Delay codes are entered into a delay database by the manager of the departure port of the flight on which the delay occurred. The delay codes in the database are used to iden- tify which functional area of the airline was responsible for the delay. The managers of the functional areas in the airline have Key Performance Indicators (KPIs) designed to minimise the number of delays attributed to their team. To help managers track and identify ways to improve their KPIs, managers receive regular reports showing where and when the de- lays attributed to their functional area occurred. The review of these reports is also used to ensure delays have been correctly coded in the database. Despite this review process, 4.1 Estimating Delay Transition Function from Historical Data 97 Table 4.1: Standard delay codes recommended by IATA 00 to 0911 to 18 Others21 and to airline 29 internal codes Passenger31 and to baggage 39 handling Cargo41 and to mail 48 Aircraft51 and to ramp 58 handling Technical61 and to aircraft 69 equipment Damage71 to to aircraft 77 and automated equipment Flight81 failure operations to and 89 crewing Weather 91 to 96 Air97 traffic to flow 99 management, Airport and Reactionary government delay authorities Miscellaneous IATA Code Description 98 Delay Transition Model: Parameter Setting there will always remain some bias inherent in having an airline employee enter the delay codes. For example, if an aircraft experiences a mechanical problem during a weather de- lay, the employee may legitimately choose to allocate it to either reason (or both reasons), depending on which allocation best serves their interests.

4.1.2 Identifying Primary versus Propagated Delay Using Delay Code Data

As can be seen in Table 4.1 (page 97), a subset of delay codes (91 to 96) are used to identify where there is a reactionary delay on a flight, which is equivalent to a propagated delay as described in Section 2.1.2. The delay codes attributed to each flight can therefore be used to identify how much, if any, of the delay on that flight was primary delay and how much was propagated delay.

Table 4.2 (page 99) shows example data from 2 flights from the Airline that were delayed. Note we have dropped the third delay code digit since it is not relevant for the purpose of categorising the delays. The table shows that Flight 0720 had a total delay of 30 minutes attributed to 3 delay codes: 18 minutes attributed to delay code 93, 10 minutes attributed to delay code 06 and 2 minutes attributed to delay code 63. As per the classifications in Table 4.1 this means that 18 minutes of the flight delay are classified as propagated (code 93), whereas the remaining 12 minutes of the delay on the flight are categorised as primary (codes 06 and 63).

Using the same delay categories of Example One in Section 3.1.3, we say that Flight 0720 has transitioned from delay state ‘11 to 20 minutes’ (with 18 minutes of propagated delay) to delay state ‘20 to 30 minutes’ (with 30 minutes total delay).

4.1.3 Identifying Primary versus Propagated Delay Using Departure Time Data

If delay code data is not collected, it is still possible to calculate how much of the delay on a flight was primary delay and how much was propagated delay using other flight in- formation such as the departure and arrival times (both scheduled and actual), provided the minimum turn time is known. Table 4.3 (page 100) shows the required data from the same 2 flights used in the example in Section 4.1.2. Note that the total arrival delay of flight 4.1 Estimating Delay Transition Function from Historical Data 99 Table 4.2: Example delay codes attributed to a flight Date Flight Number Dep Arr STD Code Duration (mins) 03/01/201003/01/201003/01/2010 072103/01/2010 072103/01/2010 0720 SYD 0720 HBA SYD 0720 07:00 HBA HBA AM 07:00 SYD HBA AM 87 09:25 SYD HBA AM 82 09:25 SYD AM 93 09:25 AM 06 00:20 63 00:19 00:18 00:10 00:02 100 Delay Transition Model: Parameter Setting 30/00A102 B Y 93 M1:5A 00 M1:5AM 11:55 AM AM 09:23 10:05 AM AM 07:39 11:25 AM AM 08:55 09:35 AM SYD 07:00 HBA HBA SYD 0720 0721 AC1 AC1 03/01/2010 03/01/2010 aeArrf DFih ubrDpArSDSAADATA ATD STA STD Arr Dep Number Flight ID Aircraft Date al .:Eapeflgtinformation flight Example 4.3: Table 4.1 Estimating Delay Transition Function from Historical Data 101

Flight 0721 is the actual arrival time minus the scheduled arrival time:

TAD0721 = ATA0721 − STA0721

= 09:23 AM − 08:55 AM

= 28 minutes and the total departure delay (TDD) of Flight 0720 is the actual departure time minus the scheduled departure time:

TDD0720 = ATD0720 − STD0720

= 10:05 AM − 09:35 AM

= 30 minutes

The equations described in Section 2.1.2 can be used to calculate the propagated delay and the departure delay on Flight 0720. First note that Flight 0721 and Flight 0720 are operated by the same aircraft, and Flight 0720 departs from the same port that Flight 0721 arrives at, so we can say that Flight 0721 connects to flight Flight 0720. The scheduled turn time between the two flights is calculated using Equation (2.1):

STT0721,0720 = STD0720 − STA0721

= 09:35 AM − 08:55 AM

= 40 minutes.

Assume, for example, that the minimum turn time (MTT) for the flight is 30 minutes, then the slack between the two flights is calculated using Equation (2.2):

Slack0721,0720 = STT0721,0720 − MTT

= 40 − 30

= 10 minutes. 102 Delay Transition Model: Parameter Setting

The propagated delay on Flight 0720 can then be calculated using Equation (2.3):

PDij = max(TAD0721 − Slack0721,0720, 0)

= max(28 − 10, 0)

= 18 minutes.

Therefore Flight 0720 had a total delay of 30 minutes of which 18 minutes are propa- gated delay. Using the same delay categories of the previous example, we say that Flight 0720 has transitioned from delay state ‘11 to 20 minutes’ to delay state ‘20 to 30 minutes’.

4.1.4 Transition Classifications

A scheduled flight is a scheduled operation between two ports at a specific time, usually iden- tified with a unique flight number. An operated flight is a specific instance of the scheduled flight that was actually operated, and is usually identified by a unique flight number and the date on which it was operated. In order to identify which historical delay information to use to estimate the delay transition function for a particular flight in the schedule, we classify the flight according to several key properties and use historical information from operated flights that have similar properties. For example, for a daily repeating schedule, each unique flight may have its own delay transition function. Other properties for classi- fying flights could include time of day, day of week, departing port, arrival port and time of year. The properties to use to determine flights with common delay transition functions is explored in Section 4.4.

4.1.5 Estimating Transition Function

Consider a scheduled flight f and denote F0 the set of historical operated flights identified as having similar delay transition properties to f . Assume that the set of delay categories D are well defined. f To estimate the propagated delay transition function, qij (defined in Section 3.1.2), the f Maximum Likelihood Estimate ([14]),[113]) will be used, denoted qˆij. Let nij be the number 4.2 Sample Size and Transition Probability Confidence Intervals 103 of historical flights in F0 that had propagated delay in category i, and total arrival delay in category j, then: f nij qˆij = (4.1) ∑k∈D nik

Approaches for determining the size of the discrete delay categories D will be explored in the next section, as will approaches for determining which flight subsets F0 should have unique transition probabilities. In order to support the decision, we will make reference to the confidence intervals of the transition probability estimates.

4.2 Sample Size and Transition Probability Confidence Intervals

To determine the confidence intervals of the transition probabilities, consider each delay transition from delay state i to be an independent trial where the result can be exactly one of k possible outcomes with probabilities qi1,..., qik. Each of the k possible outcomes cor- responds to a delay state, representing the occurrence of a delay within a discrete interval.

Then each row vector of the transition matrix, denoted ~qi, has a multinomial distribution ([131]). In [159], Thompson proposes a method for selecting the smallest sample size n for a random sample from a multinomial population such that the probability will be at least 1 − α that all of the estimated proportions will be simultaneously within a specified distance of its true population proportions, that is,

 Pr ∩i∈D|qji − qˆji| ≤ d ≥ 1 − α ∀j ∈ D (4.2)

Table 4.4 outlines the required sample size for various values of α and d using this method- ology. For example, if we wish to estimate~qj such that the probability that our estimate qˆji ∈

[qji − 0.05, qji + 0.05], ∀i ∈ D is 0.95, then we require that our sample has ∑k∈D njk ≥ 509, i.e. we need our sample to have 509 sectors in propagated delay category j. In most airlines, including the Airline, seasonal schedules are designed covering from 3 to 6 months of the year. Minor variations may be made to accommodate special events (such as school holidays and sporting events), but the base schedule will remain reasonably consistent for the entire schedule period. For example, an airline may have what is called 104 Delay Transition Model: Parameter Setting

d N α = 0.05 α = 0.01 1 99% 100% 4 60% 92% 14 30% 38% 20 25% 33% 57 15% 25% 127 10% 15% 509 5% 6.3% 796 4% 5% 1,415 3% 3.8% 3,184 2% 2.5% 12,736 1% 1.3% 15,723 0.9% 1.2% 19,900 0.8% 1% 25,992 0.7% 0.9% 35,377 0.6% 0.8% 50,943 0.5% 0.7% 79,599 0.4% 0.5% 141,510 0.3% 0.4% 318,397 0.2% 0.3% 1,273,587 0.1% 0.2%

Table 4.4: d values for 99% and 95% confidence intervals for Multinomial distributions by  Sample Size. i.e. Pr ∩i∈D|qji − qˆji| ≤ d ≥ 1 − α, α = 0.01 and α = 0.05 by N 4.3 Selecting Delay Categories 105 a ’Northern Winter Schedule’ that covers the period of winter in the Northern hemisphere. When designing a new schedule, the scheduled block time∗ for each route is determined with reference to the actual block times recorded in the most recent schedule over the same seasonal period. For example, the block times for each route in the Northern Winter 2010 will be scheduled as the kth-percentile of the block times that were recorded in Northern Winter 2009. The rationale being that seasonal occurrences such as weather (which can af- fect tailwinds and hence block times) and peak periods such as Christmas (which affect airport congestion and hence block times) will be relatively consistent over the same sched- ule period. For consistency, we propose to use the same methodology for determining the transition probabilities. That is, actual data from the most recent schedule over the same seasonal period will be used for estimating the transition probabilities. Thus, the available sample size will depend on the delay profile of the previous schedule. In addition, the sam- ple size (and hence confidence intervals) will depend on which flights are grouped to have a common delay transition function as well as the size and number of delay categories used.

4.3 Selecting Delay Categories

In this section the process used for determining the number and size of the delay categories is described. First, the size of the delay categories was selected so as to allow for the conve- nient calculation of a probability vector after allocating slack. As discussed in Section 3.1.3, this is easiest if the portions in which slack time are allocated are equal in size to each of the discretized delay categories. Within the region the Airline is operating, all flights are sched- uled to the nearest 5 minutes, e.g. 12:00, 12:05, 12:10 etc. Furthermore the minimum turn time is also a multiple of 5 minutes. This means that any slack will be allocated in multiples of 5 minutes and therefore the delay categories, D, will also have widths of 5 minutes. All delay categories in D have the same width (5 minutes), with the exception of two special delay categories that are unbounded. The first being the No Delay category, which is for flight legs with negative or zero delay. The second is the final delay category, Extreme Delays, which is for flight legs with delay greater than the maximum upper bound of all the other delay category intervals. For example, if 6 delay categories are used, then there would

∗The scheduled block time is the scheduled duration of a flight from when it leaves the gate at its origin, to when it arrives at its gate at its destination 106 Delay Transition Model: Parameter Setting be the following categories: No Delay (≤ 0 minutes), 1 to 5 minutes, 6 to 10 minutes, 11 to 15 minutes, 16 to 20 minutes and Extreme Delay (≥ 21 minutes).

The next decision is therefore to decide how many delay categories to use. For this decision, consider the impact of having a large number of delay categories versus having a small number of delay categories. There are four factors to consider:

1. Delay profile control: The more delay categories there are, the greater our ability to manage the delay profile via our objective in the DTM models; 2. ω-error: The fewer delay categories there are, the more error is introduced by ’aver- aging’ out the transition behavior of delays in the Extreme Delay category; 3. Sample size error: The more delay categories there are, the smaller the sample size in each propagated delay category, and thus the less accurate the transition probability estimates become for each transition state; and 4. Problem size: As the number of delay categories are increased, so too do the number of decision variables and constraints in both the DTM-RTN and DTM-RTA models.

The choice of how many delay categories to use depends on a trade off between these four factors. However, since the third of these factors relates to the sample size in each delay category, it is also influenced by the subsets of flights for which unique transition matrices are identified. As such, this decision cannot be made independently. Therefore the decision will be made with reference to the transition classifications which are discussed in Section 4.4. However, the ways these factors will influence the decision are briefly explored first.

4.3.1 Delay profile control

We intend to penalise delays greater than 15 minutes in our objective, since this is the in- dustry standard when reporting On Time Performance. Therefore at least 5 delay categories are needed to ensure that delays greater than 15 minutes can be identified separately from other delay categories. Specifically, the 5 delay categories would be No Delay (≤ 0 minutes), 1 to 5 minutes, 6 to 10 minutes, 11 to 15 minutes, and Extreme Delay (> 15 minutes). 4.3 Selecting Delay Categories 107

4.3.2 ω-error

In general, once a flight has entered the Extreme Delay state, it will not come out of it; this is true with respect to transitions where there is no slack. When there is slack, however, an ω value is required to determine what proportion of the flights in that delay state will stay where they are, and what proportion will be recovered to an earlier delay state (as described in Section 3.1.3). In order to understand the distribution of ω, the percentage of flights in each 5 minute interval of propagated delay was plotted for all flights in the Northern Winter Schedule 2011. The result is Figure 4.1, which shows that the data appears to be exponentially dis- tributed. The figure shows the exponential regression line that was obtained using least squares regression; the line appears to fit best for the larger delay categories. 30+ + Recall the notation ω(35,40] was used to refer to the percentage of delay category 30 that consists of delays in the interval (35,40]. When referencing the ω values for the Extreme Delay category, the intervals of interest are those that would be recovered via the allocation e of slack. Therefore, to simplify the discussion, we introduce the notation ωn to refer to e ω(u+5(n−1),u+5n], where e is the Extreme Delay state, u is the lower bound of the Extreme Delay date, and n represents the number of intervals of slack† that have been allocated. Therefore e ωn represents the percentage of flights in the Extreme Delay state that would be recovered via the allocation of n units of slack, i.e. 5n minutes of slack. Through analysis of historical schedules and discussions with scheduling experts at the Airline, it was determined that most slack will be allocated in the range of 5 to 15 minutes, e however it will be occasionally allocated in blocks of 30 minutes. Therefore, ωn is primarily of interest for n = 1 . . . 6. However, to ensure the range of possible scenarios are adequately e accounted for, the following analysis will also consider the distribution of ωn for up to n = 10.

e Table 4.5 shows the ωn values for n = 1 . . . 10 and 2 − 12 delay categories, based on the data in the Northern Winter 2011 schedule period. Least squares regression was used to identify the best fit for the data in Table 4.5, using exponential, logarithmic, linear and 2nd order polynomial functions. Based on the R2 values, it was determined that an exponential curve fit best in all cases. The χ2 goodness-of-fit test ([131]) was used to determine how

†Recall that slack is allocated in blocks of 5 minutes 108 Delay Transition Model: Parameter Setting

Percentage of Flights (%) 10% 15% 20% 25% 30% 35% 40% 0% 5%

0

1 - 5

6 - 10

11 - 15 Distribution Distribution of Flights In Extreme Delay iue41 itiuino ihsb rpgtddelay propagated by flights of Distribution 4.1: Figure 16 - Propagated Delay Range (Minutes) 20

21 - 25

26 - 30 Data

(5 Minute Intervals) 31 - 35

36 - 40

41 - 45 Exponential Exponential Trendline

46 - 50

51 - 55

56 - 60

61 -

65

66

- 70

71 - 75

76 - 80

81 - 85

86 - 90

91 - 95

96 - 100

4.3 Selecting Delay Categories 109 well the data fit the exponential distribution identified during regression testing. The χ2 goodness-of-fit test was conducted twice, the first test only fit the data for n = 1 . . . 5 while the second test fit the data for n = 1 . . . 10. The results are shown in Table 4.6. Table 4.6 shows that the Null Hypothesis that ω is exponentially distributed should be rejected for less than 6 delay categories when n = 1 . . . 5, and it should be rejected for less than 7 delay categories when n = 1 . . . 10. In the other cases, we accept the Null Hypothesis, therefore accepting that ω may be exponentially distributed. Based on these results, it is reasonable to deduce that the distribution for 2 to 5 delay categories is significantly different from the distribution for 6 or more delay categories. We therefore propose to use at least 7 delay cate- gories to avoid ’averaging’ out the behaviour of the Extreme Delay category when allocating slack for recovery.

4.3.3 Sample Size Error

Before exploring the transition classifications, assume there is only a single transition clas- sification, i.e. assume all flights have the same transition matrix. Under this assumption, analysing the sample data for the period from which the transition matrices are to be es- timated and counting how many flights there are in each propagated delay category, the results in Table 4.7 are obtained. From which the size of the 95% confidence interval can be determined using the data from Table 4.4. These confidence intervals are shown in Table 4.8. Table 4.8 can be read as follows: assuming there are 10 delay categories, based on the data available from the Northern Winter 2011 schedule, the estimate for the transition prob- ability vector, qˆ10, has a 95% probability of being in the range q10 ± 2.8% (as per Equation 4.2). Similarly, with 10 delay categories the 95% confidence interval for qˆ5 is q5 ± 3.0%. Us- ing this table, if it were decided that all 95% confidence intervals should be at most q ± 5%, then a maximum of 8 delay categories could be used. 110 Delay Transition Model: Parameter Setting aeoisRange Categories # xrm Delay Extreme 12 11 10 9 8 7 6 5 4 3 2 al 4.5: Table ( ( ( ( ( ( ( ( ( ( ( 50, 45, 40, 35, 30, 25, 20, 15, 10, 5, 0, ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ) ) ) ) ) ) ) ) ) ) ) ω n e 49 09 .%76 .%61 .%42 .%3.5% 3.6% 3.0% 4.2% 3.5% 3.0% 4.4% 3.7% 3.1% 2.6% 6.1% 5.2% 4.3% 3.5% 2.9% 6.3% 5.3% 4.5% 3.7% 3.0% 7.6% 2.4% 6.4% 5.4% 4.4% 3.6% 2.9% 8.3% 2.3% 9.9% 7.0% 5.7% 4.7% 3.8% 3.0% 2.3% 9.2% 10.9% 7.7% 6.3% 5.2% 4.2% 3.3% 2.6% 14.9% 1.9% 12.6% 10.6% 8.7% 7.1% 5.7% 1.4% 4.5% 3.5% 2.6% 15.6% 13.0% 1.0% 10.7% 8.7% 7.1% 1.9% 5.6% 4.3% 3.3% 16.3% 13.4% 1.4% 11.0% 8.9% 2.4% 7.0% 5.4% 4.1% 17.9% 1.7% 14.6% 11.8% 3.0% 9.3% 7.2% 5.5% 2.1% 18.3% 14.8% 4.0% 11.7% 9.1% 6.8% 2.9% 19.1% 5.0% 15.1% 11.7% 8.8% 3.6% 6.5% 21.0% 16.2% 12.2% 4.6% 22.6% 9.0% 17.1% 6.4% 24.6% 12.5% 9.0% 18.0% 12.9% yNme fDlyCtgre,Nrhr itrShdl 01 l Flights All 2011, Schedule Winter Northern Categories, Delay of Number by ======n=10 n=9 n=8 n=7 n=6 n=5 n=4 n=3 n=2 n=1 ω n e 4.3 Selecting Delay Categories 111

Extreme Delay maximum n = 5 maximum n = 10 # Categories Range R2 p-value R2 p-value 2 (0, ∞) 0.9991 0.00 0.9892 0.00 3 (5, ∞) 0.9991 0.00 0.9892 0.00 4 (10, ∞) 0.9991 0.00 0.9892 0.00 5 (15, ∞) 0.9984 0.03 0.9938 0.00 6 (20, ∞) 0.9991 0.56 0.9971 0.01 7 (25, ∞) 0.9904 0.49 0.9949 0.19 8 (30, ∞) 0.9889 0.21 0.9921 0.05 9 (35, ∞) 0.9939 0.71 0.9953 0.50 10 (40, ∞) 0.9828 0.56 0.9913 0.63 11 (45, ∞) 0.9818 0.68 0.9909 0.85 12 (50, ∞) 0.9841 0.79 0.9895 0.87

Table 4.6: p-value: χ2 goodness-of-fit results for exponential distribution, λe−λ 2 e R : least squares exponential regression results for ωn , by Number of Delay Categories, Northern Winter Schedule 2011, All Flights 112 Delay Transition Model: Parameter Setting 15 14 13 12 11 10 9 8 7 6 5 Range 4 3 2 1 # Category Delay Propagated a ag sol ai hntedlyctgr snttefia ea aeoy(xrm ea) nta ae h pe on ftedlyctgr is category delay the of bound upper the case, that In Delay). (Extreme category delay final the not is category delay the when valid only is Range al .:AalbeSml ieFrFihsi ahPoaae ea aeoy otenWne ceue21,AlFlights All 2011, Schedule Winter Northern Category, Delay Propagated Each in Flights For Size Sample Available 4.7: Table ( ( ( ( ( ( ( ( ( ( ( ( ( 0 65 60, 60 55, 55 50, 50 45, 45 40, 40 35, 35 30, 30 25, 25 20, 25 15, 15 10, 65, ( ,10 5, ≤ ,5 0, ∞ 0 ] ] ) a ] ] ] ] ] ] ] ] ] ] ] 58 58 58 58 58 58 58 58 58 58 25887 25887 25887 25887 25887 25887 25887 25887 25887 25887 25887 1015 1815 1815 1815 1815 1158 1506 1158 2005 1506 1158 2401 2005 1506 1158 2401 2005 1506 1158 2401 2005 1506 1158 2401 2005 1506 1158 2401 2005 1506 1158 2401 2005 1506 1158 2401 2005 1506 1158 2401 2005 1506 5130 2401 2005 1506 2401 2005 2401 01 21 415 14 13 12 11 10 9 8 7 6 5 927878787878787878798 798 798 798 798 798 798 798 798 3972 1437 0 0 0 0 0 0 608 608 608 608 608 608 608 3174 3174 56434343434343463 463 463 463 463 463 463 2566 ubro Categories of Number 133737373737377 377 377 377 377 377 2103 7622222222272 272 272 272 272 1726 44232323233 233 233 233 1454 211919159 159 159 1221 0213163 163 1062 9 118 899 ∞ 781 . 4.3 Selecting Delay Categories 113 0.95 . ≥ 4.1% ∞

d | ≤ ji ˆ q 3.8% 15.0% − ji q | D ∈ i 3.5% 9.0% 9.0% ∩  Pr 3.3% 9.0% 9.0% 9.0% 3.0% 7.4% 7.4% 7.4% 7.4% 2.8% 6.9% 6.9% 6.9% 6.9% 6.9% 2.5% 5.9% 5.9% 5.9% 5.9% 5.9% 5.9% Number of Categories 2.3% 5.3% 5.3% 5.3% 5.3% 5.3% 5.3% 5.3% 2.1% 2.1% 4.6% 4.6% 4.6% 4.6% 4.6% 4.6% 4.6% 1.8% 4.0% 4.0% 4.0% 4.0% 4.0% 4.0% 4.0% 4.0% 4.0% 5 6 7 8 9 10 11 12 13 14 15 0.8% 0.8%2.4% 0.8% 2.4%2.6% 0.8% 2.4% 2.6%3.0% 0.8% 2.4% 2.6% 3.0%1.6% 0.8% 2.4% 2.6% 3.0% 3.4% 0.8% 2.4% 2.6% 3.0% 3.4% 0.8% 2.4% 2.6% 3.0% 3.4% 0.8% 2.4% 2.6% 3.0% 3.4% 0.8% 2.4% 2.6% 3.0% 3.4% 2.4% 0.8% 2.6% 3.0% 3.4% 2.6% 2.4% 3.0% 3.4% 3.0% 2.6% 3.4% 3.4% 3.0% 3.4% 0.8% 0.8%2.1% 0.8% 2.3%3.0% 0.8% 2.6% 3.4% 0.8% 2.6% 4.0% 0.8% 3.2% 4.0% 0.8% 3.5% 5.3% 0.8% 3.8% 5.9% 0.8% 4.1% 6.9% 0.8% 4.5% 7.4% 4.9% 0.8% 9.0% 9.0% 5.6% 15.0% ] ] ] ] ] ] ] ] ] ] ] a ) ] ] 0 ∞ 0, 5 ≤ 5, 10 ( 65, 10, 15 15, 20 20, 25 25, 30 30, 35 35, 40 40, 45 45, 50 50, 55 55, 60 60, 65 ( ( ( ( ( ( ( ( ( ( ( ( ( Average Minimum values for 95% Confidence Interval for flights in each propagated delay category, i.e. Maximum d Range is only valid when the delay category is not the final delay category (Extreme Delay). In that case, the upper bound of the delay category is a Propagated Delay Category #1 2 3 4 Range 5 6 7 8 9 10 11 12 13 14 15 Table 4.8: Northern Winter Schedule 2011, All Flights 114 Delay Transition Model: Parameter Setting

4.4 Identifying Transition Classifications

In order to identify which criteria to use when identifying which subsets of flights should share a common transition matrix, we put the question to experienced operations managers at the Airline. Discussions with these managers identified the following factors that influence the primary delay profile of a flight: 1. The departure airport: different airports have different infrastructure, staffing levels and congestion that affect delays on departure; 2. The arrival airport: similarly, the different airports have different likelihood of delay on arrival, mostly due to congestion and air traffic control; 3. The time of day: at busy airports, delays are more likely during peak flying times. The first two of these factors are consistent with those adopted by Wu, whose delay absorp- tion and turnaround efficiency parameters were determined to be port and handler specific (Wu [173]). When trying to establish the transition matrix for subsets relating to routes (i.e. Departure-Arrival airport pairs), even without separating them into off peak and peak times of the day, there was insufficient data to obtain satisfactory confidence intervals for the transition parameters even with only 5 delay categories. Furthermore, identifying a tran- sition matrix for each departure port proved to have insufficient data also. For example, Table 4.9 shows the 95% confidence intervals for the 10 largest ports (by number of flight departures) for each of the 5 propagated delay categories given the avaible data. The table shows that only the top 4 ports can ensure 95% Confidence Intervals of q ± 10% for all of the propagated delay categories, while the remaining ports have at least one propagated delay category where the 95% Confidence Interval is q ± 25%. Therefore, it was determined that the different routes should be clustered into groups with similar performance. Given that it is not possible to obtain reasonable estimates for a full transition matrix for 5 delay categories, different criteria for establishing the similarities of the delay profile of the different routes need to be identified. It was determined that two factors were most relevant: 1. The percentage of flights that were delayed under regular operations (i.e. when there was no propagated delay), and 2. The percentage of flights that incurred a primary delay during off-schedule opera- tions (i.e. when the aircraft was already off-schedule with a propagated delay). 4.4 Identifying Transition Classifications 115 1.7%1.7%2.4% 5.6%2.7% 5.7%2.8% 5.8%3.2% 8.0% 5.7%3.7% 8.0% 17.5%3.4% 8.5% 13.5%3.3% 8.0% 13.6% 25.0% 4.0% 18.7% 25.0% 24.1% 25.0% 13.5% 25.0% 41.0% 25.0% Minimum Average Maximum 15) > Extreme Delay ( ] 10, 15 0.95 in each propagated delay category. Northern Winter Schedule 2011, 5 Delay ]( ≥

d 5, 10 | ≤ ji ˆ q ]( − ji 0, 5 Propagated Delay Category q | D ∈ i )( ∩ 0  ≤ Pr ( 1.7%1.7%2.4%2.7% 7.2%2.8% 7.5% 6.8%3.2% 6.4% 7.2% 8.0%3.7% 6.2% 7.1% 25.0% 8.0%3.4% 7.2% 25.0% 15.0% 8.5%3.3% 15.0% 15.0% 25.0% 8.0%4.0% 15.0% 25.0% 25.0% 4.2% 25.0% 41.0% 25.0% 4.0% 31.0% 15.0% 25.0% 4.8% 15.0% 30.0% 9.5% 4.2% 25.0% 9.5% 9.5% 15.0% 15.0% 8.5% such that d No Delay J I F B E C G D A H Port Table 4.9: Categories, By Port for the 10 largest ports (by number of departures) 116 Delay Transition Model: Parameter Setting

These two factors are relevant because of the scheduling approach for which these tran- sition matrices will be used. The DTM − RTN and DTM − RTA models are designed to allocate slack within a schedule to reduce the probability of flights incurring unfavorable delays. The first measure is relevant because the allocated slack is most useful if it can re- cover a delay (i.e. reduce a propagated delay), so it is likely that we will want to schedule slack after flights that departed a port where the likelihood of a delay was high. In addition, slack will be more useful if it is allocated before a flight that performs worse when it is al- ready off-schedule, so grouping ports that are similar on this dimension will result in better allocation of slack. These two factors were reviewed with experienced operations managers from the Airline, and it was agreed that these were logical criteria on which to cluster the different ports.

The k-means clustering technique was used to group the ports into 1, 2, 3, and 4 partitions according to these two factors. k-means clustering is a type of cluster analysis that partitions n observations (in this case ports) into k clusters such that the distance between each obser- vation and the centre of its cluster is minimised, where the centre of the cluster is the mean of all observations in that cluster. Lloyd’s algorithm ([118], [103]) was used to identify the k-means clusters. For a description of Lloyd’s algorithm, see Appendix B.7. The number of ports was sufficiently small that this could be implemented via a spreadsheet. The resulting clusters are shown in Figure 4.2.

By increasing the number of clusters, there is a decrease in the average distance from each port to the cluster average, as shown in Table 4.10. However, this decreased distance is offset by an increase in the likely error associated with estimating the transition probabilities from smaller sample sizes since more clusters equates to fewer data points in each cluster. Determining the optimal trade-off between the error caused by having fewer clusters (dis- tance error) and the error caused by having more clusters (sample size error), is beyond the scope of this thesis. In what follows, the trade-off is explored and a best judgement decision is made.

To explore the trade off between the distance error and the sample size error, the sample sizes were observed in each cluster, counting the number of data points in each propagated delay category when there are 5, 6, 7 or 8 delay categories. Table 4.11 was constructed using the observed sample sizes in our data set and Thompson’s methodology for sample sizes 4.4 Identifying Transition Classifications 117

80% 80%

60% 60% Port in D in Port average D Cluster

Cluster B average B Cluster

Schedule Operations (%) Operations Schedule Schedule Operations (%) Operations Schedule -

-

Port in C in Port average C Cluster 40% 40%

Cluster A average A Cluster

Port in B in Port Port in B in Port average B Cluster

mean Clustering mean mean Clustering mean - -

4 2

Port in A in Port

20% 20% Port in A in Port average A Cluster Flights With No Primary Delay, Off Delay, No Primary With Flights Flights With No Primary Delay, Off Delay, No Primary With Flights

0% 0%

0% 0% for k = 1,2,3,4

80% 60% 40% 20% 80% 60% 40% 20%

100% 100%

(%) Operations (%) Operations

Flights With No Primary Delay, Regular Regular Delay, Primary No With Flights Flights With No Primary Delay, Regular Regular Delay, Primary No With Flights

80% 80%

k-means clusters

60% 60%

Figure 4.2:

Port in C in Port average C Cluster

Schedule Operations (%) Operations Schedule Schedule Operations (%) Operations Schedule - -

Cluster A average A Cluster

40% 40% Port in B in Port average B Cluster (c) (d) (a) (b)

Port in A in Port mean Clustering mean Clustering mean - - 3 1

Port in A in Port average A Cluster 20% 20% Flights With No Primary Delay, Off Delay, No Primary With Flights Flights With No Primary Delay, Off Delay, No Primary With Flights

0% 0%

0% 0%

80% 60% 40% 20%

80% 60% 40% 20%

100% 100% (%) Operations (%) Operations

Flights With No Primary Delay, Regular Regular Delay, Primary No With Flights Flights With No Primary Delay, Regular Regular Delay, Primary No With Flights 118 Delay Transition Model: Parameter Setting

Number of Clusters Port 1 2 3 4 A 0.44 0.42 0.21 0.21 B 0.09 0.10 0.12 0.12 C 0.25 0.19 0.18 0.18 D 0.15 0.10 0.15 0.07 E 0.17 0.17 0.10 0.10 F 0.17 0.10 0.15 0.07 G 0.09 0.03 0.08 0.02 H 0.04 0.04 0.07 0.07 I 0.28 0.13 0.14 0.14 J 0.05 0.10 0.11 0.11 K 0.18 0.10 0.10 0.09 L 0.09 0.04 0.02 0.07 M 0.13 0.06 0.04 0.04 N 0.20 0.05 0.05 0.05 O 0.11 0.12 0.08 0.05 P 0.19 0.21 0.16 0.07 Q 0.12 0.11 0.07 0.04 R 0.17 0.16 0.11 0.02 S 0.30 0.23 0.20 0.20 T 0.19 0.15 0.10 0.06 Minimum 0.04 0.03 0.02 0.02 Average 0.17 0.13 0.11 0.09 Maximum 0.44 0.42 0.21 0.21

Table 4.10: Distance from port to cluster average for 1, 2, 3 & 4 clusters 4.4 Identifying Transition Classifications 119

Average d value Maximum d value # Clusters |D| = 5 |D| = 6 |D| = 7 |D| = 8 |D| = 5 |D| = 6 |D| = 7 |D| = 8 1 1.7% 2.4% 2.6% 2.9% 3.0% 3.4% 4.1% 4.7% 2 2.5% 3.4% 3.7% 4.1% 4.4% 4.9% 6.1% 6.9% 3 3.0% 4.1% 4.6% 5.1% 5.5% 6.3% 8.0% 8.5% 4 3.6% 5.0% 5.7% 6.5% 8.0% 8.5% 15.0% 15.0%  Table 4.11: Maximum and Average d values such that Pr ∩i∈D|qji − qˆji| ≤ d ≥ 0.95 by number of delay categories (|D|) and number of clusters for estimating multinomial proportions ([159]). It shows the average and maximum widths of the 95% confidence intervals for each propagated delay category. For example, with 1 cluster and 5 delay categories, in the worst case each transition probability estimate will be within ±3.0% of the true transition probability with 95% probability. Furthermore, the average 95% confidence interval for 1 cluster and 5 delay categories is q ± 1.7%. Figure 4.3 shows the trade-off between distance error and sample size error. Based on the figure, it was determined that there should be at least two clusters given the size of the reduction in distance error relative to the moderate increase in sample size error when going from 1 to 2 clusters. Furthermore, 7 delay categories were selected since previously it was determined that 7 delay categories was sufficient to ensure there was not significant ω-error, and 8 delay categories noticeably increases the sample size error. Finally, 3 clusters were selected as this was the minimum distance error that could be realised whilst still keeping the sample size error below 5%. 120 Delay Transition Model: Parameter Setting

Sample Size Error 0.0% 1.0% 2.0% 3.0% 4.0% 5.0% 6.0% 7.0% iue43 apesz essdsac ro for error distance versus size Sample 4.3: Figure 0.0%

2.0% Distance ErrorSampleSize Error versus

4.0%

6.0%

Distance Distance Error 8.0% 4 4 clusters k = 10.0%

,2 ,4cutr,and clusters, 4 3, 2, 1, 3 3 clusters

12.0%

2 2 clusters

14.0%

| D

| = 16.0%

,6 ,8dlycategories delay 8 7, 6, 5, 1 1 cluster

18.0%

8 8 Categories 7 Categories 6 Categories 5 Categories

4.5 Recovery Matrices 121

4.5 Recovery Matrices

Here we describe the structure of the recovery matrices Rg f . For notational simplicity, in this section we also refer to Rg f as Rs where s is the number of slack units allocated between flights g and f . As mentioned in Section 3.1.3, error is minimised and calculations simplified if we assume delay categories have the same width as slack units. Recall slack is defined in Section 2.1.2 and calculated as per Equation (2.2).

If there is no slack between two flights f and g then we have Rg f = R0 = I, where I is the identity matrix. However, for example if there were 6 delay states, we would get:

  1 0 0 0 0 0     1 0 0 0 0 0      0 1 0 0 0 0  R1 =   (4.3)   0 0 1 0 0 0      0 0 0 1 0 0    e e 0 0 0 0 ω1 1 − ω1

  1 0 0 0 0 0     1 0 0 0 0 0      1 0 0 0 0 0  R2 =   (4.4)   0 1 0 0 0 0      0 0 1 0 0 0    e e e 0 0 0 ω1 ω2 1 − ∑k=1..2 ωk   1 0 0 0 0 0     1 0 0 0 0 0      1 0 0 0 0 0  R3 =   (4.5)   1 0 0 0 0 0      0 1 0 0 0 0    e e e e 0 0 ω1 ω2 ω3 1 − ∑k=1..3 ωk and more generally s h s i R = rij , (4.6) 122 Delay Transition Model: Parameter Setting where s is the number of slack units allocated,

   1, if i < N and j = 1 and i − s ≤ 1,       1, if i < N and j > 1 and j = i − s,    rs = e = > ≥ − (4.7) ij ω(j−N+s+1), if i N and N j N s,    − e i = N j = N   1 ∑k=1..s ωk , if and ,     0 otherwise 

e where N is the number of delay categories and ωk is the proportion of delays in category N that would be recovered to category N − k when there is k units of slack available (defined as per Section 4.3.2, page 107). Equivalently:

   1, if i < N and j = 1 and i ≤ j + s,       1, if i < N and j > 1 and i = j + s,    rs = e = > ≥ − (4.8) ij ω(j−N+s+1), if i N and N j N s,    − e i = N j = N   1 ∑k=1..s ωk , if and ,     0 otherwise 

For example, consider a delay set with 5 states: ≤ 0, (0, 5], (6, 10], (11, 15], (15, ∞), and as- sume the distribution of the delays in the range (15, 20] is:

e = (15,∞) = ( ∈ ( ]| ∈ ( )) = ω1 ω(15,20] Pr pd 15, 20 pd 15, ∞ 0.1 then   1 0 0 0 0     1 0 0 0 0    1   R = 0 1 0 0 0  (4.9)     0 0 1 0 0    0 0 0 0.1 0.9 4.6 Limitations of using historical data 123

4.6 Limitations of using historical data

While historical data can be useful to establish the parameter values for our delay transition function, Q, there are several limitations that ought to be acknowledged. These limitations can broadly be categorised as:

• bias and/or noise in the data, • missing or unavailable data, or • obsolete data.

In what follows, each of these limitations is discussed in more detail, with particular reference to likely sources of the issue in our delay transition function. Where possible, suggestions to overcome the issue have also been provided. This section provides only a basic discussion of the limitations; any practitioner or researcher choosing to use historical data is advised to do so with consideration of any potential issues that may exist in their own unique data source.

4.6.1 Bias and noise

Bias may exist in the delay transition data for a variety of reasons. For example, as already noted in Section 4.1.1 (page 96), when employees are responsible for entering the delay codes associated with the flights they are accountable for, there may be inherent bias in the way they allocate delay codes. Consider the case where an aircraft experiences a mechanical problem during a weather delay. The employee may legitimately choose to allocate it to either reason (or both reasons), depending on which allocation best serves their interests. Another source of bias may be the schedule itself. For example, there are some flights in the Airline’s network where there is known to be slow passenger disembarkation due to an above average number of passengers requiring a lift or assistance down the stairs due to limited mobility. This may result in the next outbound flight of the same aircraft incurring a departure delay. This is not a propagated delay because the inbound flight technically arrived on time. Instead, because of the way delays are coded, it will appear as a primary delay in the transition data for the outbound flight. The schedule, and specifically the aircraft connection, is therefore creating bias in the delay transition probability of the outbound flight. This is unlikely to be an issue in the retiming only version of the DTM, 124 Delay Transition Model: Parameter Setting since retiming will not change the likelihood of slow disembarkation. Rerouting, on the other hand, would certainly affect the delay transition data of the outbound flight. It would be possible to identify these types of delays in the dataset by using a special delay code to isolate them for the transition function, and associate them with a specific inbound flight. This would require an additional transition point for each flight, as discussed in Section 3.5.4 (page 79). Another source of noise in the data may be recovery decisions undertaken by opera- tions controllers. The delay code data is after-ops data, which means the delay codes in the dataset are on flights that have been subject to various operations adjustments such as air- craft swaps and crew changes. Implicit in our use of this data is an assumption that the likelihood of these recovery decisions, and their subsequent impact on the delay transition probabilities, is not affected by our schedule adjustments. This assumption may or may not hold, depending on the underlying schedule, the adjustments made, and the practices of the operations controllers.

4.6.2 Missing data

Two scenarios have been identified where the use of historical data to determine the Q parameter is limited by data availability. The first scenario, mentioned previously in Section 3.2.1 (page 67), is when a schedule includes a new flight that has not been operated before, such as when a new market is launched. In such a case, no historical delay data will exist so the operating airline will need to make some assumptions to determine the input parameters. These assumptions could still be derived from the historical delay data of flights that are considered to be similar to the new flight. The second scenario occurs when an inbound flight is delayed, but the airline is able to complete the turnaround faster than the minimum turnaround time, reducing the amount of propagated delay on the outbound flight. This type of recovery, referred to as a hot turn, is not recorded in the delay codes and so will not appear in the historical delay data. However, this issue only arises when using delay code data to identify primary versus propagated delay (as described in Section 4.1.2, page 98). If the departure time and arrival time is used to identify primary versus propagated delays instead of the delay code data (as described in 4.6 Limitations of using historical data 125

Section 4.1.3, page 98), it is possible to identify a successful hot turn, so it will be accurately reflected in the Q parameter.

4.6.3 Obsolete data

Past performance is not always an indicator of future performance. There are many reasons why parameter estimates based on historical data could become obsolete, mostly due to changing operating conditions. For example, at an airport that is operating near its capacity of boarding gates, airlines are likely to incur delays due to gate unavailability. However, if the owners of the airport choose to invest in additional gate infrastructure, the occurrence of these delays will reduce, rendering the historical delay probabilities inaccurate. Other reasons performance might change include when an airline changes ground handling agent, invests in additional resources, implements a new procedure to improve turnarounds, or increases the utilisation of its assets. In all these cases, it would be possible for the airline to predict some level of shift in their delay transition probabilities due to their decision to change part of its operation. Therefore, they may choose to alter the delay parameters based on some estimation of this shift.

Chapter 5 Delay Transition Model: Solution Approaches

This chapter explores a column generation approach for solving the Delay Transition Model, including an investigation into exact and heuristic algorithms for solving the resulting subproblem. Interesting properties of the Delay Transition Model problem are explored such as integrality properties of the linear relaxation of the master problem and the structure of the shortest path subproblem.

In this chapter, we present a set partitioning formulation for the DTM problem and de- scribe a column generation approach to solve it. The solution approach utilises a label set- ting algorithm for solving the pricing subproblem, exploiting its special structure: namely the stochastic monotonicity of the delay transitions and the non-decreasing cost function. We then present several speed ups for accelerating the column generation algorithm and demonstrate the conditions under which solving the linear relaxation of the problem at the root node will produce an optimal solution that is integer. Next, we validate the data from the Airline to confirm that the subproblem does indeed exhibit the requisite stochas- tic monotonicity and justify the practicality of a non-decreasing cost vector. The primary contributions of this chapter are:

• An efficient column generation algorithm for solving practical examples of the DTM problem • A label setting algorithm for solving shortest path problems with stochastic, multi- plicative arc costs, provided the transition functions along the arcs are stochastically monotone, and the cost function is non-decreasing • Confirmation that typical scheduling problems at the Airline have stochastically mono- tone transition functions and non-decreasing cost functions

127 128 Delay Transition Model: Solution Approaches

5.1 Column generation formulation (DTM-COLGEN)

An alternative way to solve the DTM models (DTM-RTN and DTM-RTA) is to use a for- mulation that lends itself to column generation, similar to those of Barnhart et al. [25] and Lan et al. [110]. As mentioned in Appendix B.3, column generation is a technique that has been widely applied to airline scheduling and planning problems. Aircraft routing (and crew scheduling) problems have previously been formulated in such a way because it is much easier to capture the complex maintenance constraints (or crew duty rules) as part of a subproblem than it is to capture them within a single model (Barnhart et al. [23], [25]). Similarly, in the case of the DTM models, the stochastic objective function motivates a col- umn generation approach so that the complexity of calculating the objective can be moved to the subproblem. However, a further justification for such models is the fact that, in many cases, the LP relaxation of the column generation form can provide a better bound (Barnhart et al. [23]). Given that the optimality gap is a major issue with our original DTM models, exploring the column generation form is certainly a valid line of investigation. In a column generation formulation we consider the set of flight strings, where a flight string is a sequence of flights that can be feasibly operated by one aircraft. The goal is to select the optimal subset of flight strings to cover all flights whilst minimising the objective, in our case the probability of having flights in unfavourable delay categories.

In addition to the notation introduced in Chapter 3, consider S, the set of all feasible l l strings, So ⊂ S the set of strings that originate at port l and Sd ⊂ S the set of strings that end at port l. There is also a new decision variable ys ∈ {0, 1} for all s ∈ S, a binary variable indicating that flight string s is used in the final solution. There are also parameters vs which indicate the cost of s (in terms of the probability of having flights in unfavorable delay categories), as well as a f s which is 1 if flight f appears in string s and 0 otherwise. The formulation can now be written as:

(DTM − COLGEN) min ∑ vsys (5.1) s∈S s.t.

∑ a f sys = 1 ∀ f ∈ F (5.2) s∈S 5.2 Solution Approach 129

O ∑ ys = Nl ∀l ∈ L (5.3) O s∈Sl D ∑ ys = Nl ∀l ∈ L (5.4) D s∈Sl

ys ∈ {0, 1} ∀s ∈ S (5.5)

Constraints (5.2) ensure that each flight is covered exactly once. Constraints (5.3) ensure that there are only as many strings selected from each starting port as there are available aircraft, and constraints (5.4) ensure that the correct number of aircraft finish at each port. Of course, it is not likely to be practical to enumerate all feasible strings in S prior to optimising DTM-COLGEN. Instead flight string variables must be dynamically generated using column generation, as described in the following section.

5.2 Solution Approach

To solve the DTM-COLGEN formulation, a branch-and-price algorithm is proposed. Branch- and-price is a branch-and-bound algorithm where at each node in the branch-and-bound tree, column generation is used to solve the LP relaxation. However, for all test cases consid- ered in this thesis, the algorithm obtained an integral solution at the root node, and therefore the branching component of the branch-and-price algorithm was not required.

5.2.1 LP Relaxation

Given the large number of possible flight strings in DTM-COLGEN, it is more practical to work with a subset of strings Srmp ⊆ S. The problem with only a subset of strings is known as the Restricted Master Problem (RMP). The column generation algorithm can then be used to dynamically identify additional flight string variables that should be incorporated into the RMP to improve the objective value. Dual variable information from the optimal RMP is then used to calculate the reduced costs of variables relating to flight strings that are not yet included in the RMP. For the DTM-COLGEN minimisation problem, any flight strings with a negative reduced cost may improve the solution and should therefore be considered for inclusion in the RMP. There are many different strategies for determining which negative 130 Delay Transition Model: Solution Approaches reduced cost variables to incorporate into the RMP, the most common of which is to select the variable with the most negative reduced cost (see Appendix B.3.2 for a brief exposition on alternative strategies). When there are no more strings with negative reduced costs, the optimal solution to the RMP is also optimal for the unrestricted master problem. This process of generating additional flight strings, or identifying that none exist, is referred to as the pricing subproblem. A method for solving the pricing subproblem for DTM-COLGEN is described in the next section. Since the DTM-COLGEN model is designed to take an existing schedule and improve it by making minor adjustments to flight times and aircraft routings, an initial feasible RMP is easily obtained using the flight strings from the original schedule. The column generation process that has just been described is illustrated in Algorithm 7 (page 300). In the algorithm, the RMP is initialised with the flight strings for the initial schedule, and the minimum cost value r∗ is initialised to an arbitrary negative number. The algorithm then solves the RMP to optimality, extracting the optimal solution and dual variable information. The dual variable information is then used to solve the pricing sub- problem, which identifies the flight string (s∗) with the minimum reduced cost (r∗). If the reduced cost r∗ is negative, the flight string s∗ is added to the RMP and the loop repeats. If the reduced cost is not negative, the loop terminates and the solution to the RMP is returned as the optimal solution to the problem. For a more thorough explanation of column generation, the reader is referred to Ap- pendix B.3 of this thesis, or Wolsey [170].

5.2.2 Pricing subproblem

Let π f be the dual variable associated with the cover constraint for flight f (Constraint 5.2), and let φl and δl be the dual variables associated with the aircraft count constraints (5.3) and

(5.4) respectively. The reduced cost of a flight string s originating at port os and ending at port ts is: = − − − v¯s vs ∑ a f sπ f φos δts (5.6) f ∈Fs where vs is calculated as

vs = ∑ ∑ w f d p f d (5.7) f ∈Fs d∈D 5.2 Solution Approach 131

and where Fs is the set of flights covered by flight string s. Recall that w f d represents the cost of having flight f in delay category d, while p f d represents the probability that flight f has delay in category d. Note that due to the structure of the subproblem, each p f d implicitly depends on s. The goal of the pricing subproblem is to find a flight string with the minimum reduced cost. The original DTM-RTN model (Section 3.3, Equations (3.38) to (3.45)) can be leveraged to identify such flight strings by adjusting the model to only find a single flight string with the minimum reduced cost, rather than a complete cover of all flights. This is achieved by replacing the objective of the original DTM-RTN model with an objective that minimises v¯s:

= − − − v¯s vs ∑ a f sπ f φos δts (5.8) f ∈F

= ∑ ∑ w f d p f d − ∑ π f xj f − ∑ ∑ φl xl f − ∑ ∑ δl x f l. (5.9) f ∈C d∈D (j, f )∈E l∈L ∈ ( l ) l∈L l f Succ no f ∈Pred(nd)

An additional constraint to ensure that only a single flight string is found must also be included:

∑ ∑ xl f = 1. l l∈L f ∈Succ(no) Furthermore, constraints (3.41) and (3.42) are relaxed to inequalities to allow less than the total number of aircraft to flow through the network, while the flight cover constraints (3.39) are relaxed completely.

The formulation thus becomes: (DTM − PRICE − MIP)

min ∑ ∑ w f d p f d − ∑ π f xj f − ∑ ∑ φl xl f − ∑ ∑ δl x f l (5.10) f ∈C d∈D (j, f )∈E l∈L ∈ ( l ) l∈L l f Succ no f ∈Pred(nd)

s.t.

∑ ∑ xl f = 1 (5.11) l l∈L f ∈Succ(no)

∑ x f j = ∑ xj f ∀ f ∈ C (5.12) j∈Succ( f ) j∈Pred( f ) 132 Delay Transition Model: Solution Approaches

l ∑ xl f ≤ No ∀l ∈ L (5.13) l f ∈Succ(no) l ∑ x f l ≤ Nd ∀l ∈ L (5.14) l f ∈Pred(nd)

∑ p f d = ∑ xj f ∀ f ∈ C (5.15) d∈D j∈Pred( f )

≥ j f − ( − ) ∀ ∈ ∀ ∈ ∀ ∈ ( ) ∩ p f d ∑ ∑ qed pje 1 ∑ xj f d D, f C, g Pred f F (5.16) j∈Cg e∈D j∈Cg

x f j ∈ {0, 1} ∀( f , j) ∈ E (5.17)

0 ≤ p f d ≤ 1 ∀ f ∈ C, d ∈ D. (5.18)

The above formulation can be expected to have similar shortcomings to the original DTM-RTN formulation, specifically the big-M constraints (5.16). Since the goal of the sub- problem is to find the least cost flight string, it may be possible to exploit the shortest path structure of the problem. Therefore the application of techniques for solving shortest path problems such as dynamic programming will be explored in Section 5.3.

5.2.3 IP Solution

The optimal integer solution to the DTM-COLGEN problem can be obtained using a branch- ing strategy called branching on follow-ons. The general theory behind branching on follow-ons was first described in Barnhart et al. [23] and Ryan and Foster [143], and the approach was used for similar formulations to DTM-COLGEN in Barnhart et al. [25] and Lan et al. [110]. Barnhart et al. proved that this strategy will yield optimal integer solutions to the problem in [25]. The branch on follow-ons strategy is described briefly here, but for further details the reader is referred to Barnhart et al. [23], [25]. Consider a solution to DTM-RMP. If the solution is not integer, identify a fractional variable xs and another fractional variable xt, where string s and t contain a common flight f , with flight f followed immediately by flight g in string s, while in string t, f is not followed by flight g. It is known that such a pair of strings exist because of constraint (5.2), and the fact that no two strings are identical. A search tree is created that is similar in structure to the standard branch-and-bound search 5.3 Pricing Subproblem Acceleration 133 algorithm. On the left branch of the search tree, flight f is required to be followed by flight g, while on the right branch it is enforced that flight f is not to be followed by flight g. These constraints can be enforced in the subproblem by eliminating all arcs out of f and all arcs into g, except for the arc ( f , g) in the left branch, and eliminating only the arc ( f , g) in the right branch. Note that for all test cases considered, the solution at the root node was found to be integral and therefore no branching was required. However, in any version of the DTM problem where aircraft maintenance constraints or crew flight duty limits must be captured, the branching on follow-ons strategy is likely to be required.

5.3 Pricing Subproblem Acceleration

The pricing problem formulation presented in Section 5.2.2 is very similar to the original DTM-RTN formulation of Chapter 3, and is therefore likely to face the same challenges in finding an optimal integer solution within a reasonable solve time (as demonstrated in the numerical results in Figure 6.1, page 156). Therefore, alternative approaches to solving the pricing subproblem using shortest path methods are explored in this section.

5.3.1 A connection network for DTM-PRICE

Barnhart et al. ([25]) show that the pricing subproblem for their string-based aircraft routing model can be cast as a constrained shortest path problem in a connection network. This is achieved by allocating each component of the reduced cost for the string to an arc so that the reduced cost for the entire string is calculated by summing these components along the string. It is possible to articulate an equivalent connection network for the DTM-PRICE problem, and while the reduced cost calculation is not as straightforward, the connection network is still a very useful structure for formulating the problem. Consider the following network for the DTM-PRICE problem. Each flight-copy is repre- sented by a node, and an arc (i, j) exists between two nodes if an aircraft can feasibly operate flight-copy i then flight-copy j. Dummy nodes are created for each possible originating port

(Ol) and each possible terminating port (Dl) for an aircraft. An arc (Ol, i) exists if the de- parture port of flight-copy i is l, similarly an arc (i, Dl) exists if the arrival port of flight-copy i 134 Delay Transition Model: Solution Approaches is l. Reusing the notation of Section 3.3.1 (page 71), the set of all arcs is denoted E. Denote the set of nodes relating to flight-copies NF, the set of nodes relating to originating ports NO and the set of nodes relating to terminating ports NT. The set of all nodes is denoted N.

Note that NF, NO and NT are mutually exclusive sets and N = NF ∪ NO ∪ NT. Left f light(i) refer to the flight associated with node i for all i in NF, and let port(i) refer to the port that dummy node i represents for all i in NO ∪ NT. Associate with each arc a delay transition matrix Qij = ΩijQj, and with each node a cost ςi, where

ςi = −πi − φi − δi ∀i ∈ N. (5.19)

The values for πi, φi and δi are related to the dual variables from the DTM-RMP as follows:

   π f light(i), if i ∈ NF,  πi = , (5.20)  0 otherwise 

   φport(i), if i ∈ NO,  φi = , and (5.21)  0 otherwise     δport(i), if i ∈ NT,  δi = (5.22)  0 otherwise 

Consider also a pmf vector α = (1, 0, ..., 0), and a cost vector wk representing the cost of having delay in each category for node k. Note that wk is zero for all k in NO ∪ NT. Then the pmf at node i if it was reached via path s = (1...ni) is calculated by multiplying the transition costs along the arcs in the path:

! p(i, s) = α ∏ Qk,k+1 Qn,i. (5.23) (k=1...n−1)

The total cost of the path s = (1...n) is given by:

v¯s = ∑ (pkwk) + ∑ ςk, (5.24) k=1...n k=1...n 5.3 Pricing Subproblem Acceleration 135 which is equivalent to

v¯s = ∑ (pkwk − πk) − φ1 − δn, (5.25) k=2...n−1 or = ( − ) − − v¯s ∑ pkwk πk φos δts . (5.26) k=2...n−1 Note that if the value of a path is calculated at an intermediate point before it reaches a dummy node for a terminating port, i.e. if n is not a destination dummy node, then the value is only:

v¯s = ∑ (pkwk − πk) − φ1. (5.27) k=2...n−1

It is easy to verify that the path through this connection network with the minimum v¯s is a solution to DTM-PRICE. However, as with the problem faced by Lan et al ([110],[109]), finding such a minimum path is not a traditional shortest path problem because the cost components of v¯s at a node i do not only depend on the value at i − 1 and the connection

(i − 1, i), rather each component pi depends the path taken to reach i. Whilst it is not possible to cast DTM-PRICE as a traditional shortest path problem, and enumeration of all possible paths to identify the string with the minimum reduced cost is impractical, it is possible to use a label setting algorithm that allows us to identify the minimum cost string without having to generate labels corresponding to all possible paths. This is because the connec- tion network being searched is an acyclic, directed graph, and it is possible to identify a dominance criteria that allows some paths to be pruned.

5.3.2 Shortest Path Algorithm for DTM-PRICE

In Appendix B.5 we provide an overview of the various shortest path problems and solution approaches presented in the literature. It is not possible to use the Bellman-Ford algorithm on the DTM-PRICE network because the cost of each arc depends not only on the arc itself, but the path taken to reach that arc (see Appendix B.5.1 for description of the algorithm). Furthermore, Dijkstra’s algorithm ([60]) was not considered because of the negative cost arcs associated with the dual variables in DTM-PRICE. Therefore, instead of using Bellman- Ford or Dijkstra’s algorithms to solve DTM-PRICE, we utilise the more general concept of label setting to extend the Bellman-Ford algorithm to solve the DTM-PRICE problem. 136 Delay Transition Model: Solution Approaches

5.3.3 Stochastic Dominance Results on DTM-PRICE

This section explores how stochastic dominance (see Appendix B.6.2) can be used to estab- lish an efficient label setting algorithm for the DTM-COLGEN pricing subproblem. Unlike the work in Dovica et al. [61], it is not assumed that propagated delay is independent of primary delay, so it is not immediately obvious if certain paths can be pruned due to dom- inance. However, it is demonstrated below that under certain realistic circumstances, it is possible. For details of the definitions, notation and theorems used in this section, refer to Appendix B.6.2. Consider two distinct paths, s and t, to a node i on the connection network described in Section 5.3.1. A criterion is sought to identify if one path s to node i is “better” than an alternative path t. If the paths are complete, i.e. i is an end node, then it is simply a matter of calculating the reduced cost along the entire path. But what if i is an intermediate node? We say that s dominates t if any extension of path t to a complete path can also be used to extend s with no greater resulting cost. Is it possible, without visiting all subsequent nodes, to establish if s dominates t? In general, the answer is no. However, if the transition matrices are stochastically monotone (D(Q) ≥ 0) and the cost vector is nondecreasing (∆(w) ≥ 0), then the answer is yes. The following lemma enables the comparison of labels for two paths in the DTM-PRICE connection network to identify if one label, and hence one path, dominates the other.

Lemma 5.1. Let i be a node in the connection network described in Section 5.3.1, and let s and t be two distinct paths to node i. Let ps be the pmf at node i if path s was taken, and let pt be the pmf s t at node i if path t was taken. Let v¯i and v¯i be the cost at node i accumulated along paths s and t as per equation (5.27). If the transition matrices on all arcs reachable from node i are stochastically s t monotone, the cost vector w has ∆(w) ≥ 0, v¯i ≤ v¯i , and ps ≺FSD pt then any path that can complete s t t can also complete s and will have a lower cost if it is via s rather than t i.e. v¯ f ≤ v¯ f where f is some node that can be reached from node i.

Proof. This lemma follows directly from Theorems B.7, B.8, and B.9. First we show that this is true if our path is extended by a single arc from i to a node f , that is our two paths are s (s, f ) and (t, f ). The result for longer paths follows by induction. Let p f be the pmf at node f if we travel via path (s, f ), and let Qi f be the transition matrix along the arc from node i to 5.3 Pricing Subproblem Acceleration 137 node f , then we have: s t p f = psQi f and p f = ptQi f .

By Theorem B.8, the fact that Qi f is stochastically monotone and ps ≺FSD pt, it must be that

s t p f ≺FSD p f .

We also have s s t t c f = p f w and c f = p f w

s where c f is the cost of node f via path s. Then by Theorem B.9 and the fact that ∆(w) ≥ 0 s ≺ t and p f FSD p f , we have s t c f ≤ c f .

Finally, we have s s s t t t v¯ f = c f + v¯i − π f and v¯ f = c f + v¯i − π f

Clearly, s t v¯ f ≤ v¯ f .

Induction can be applied to achieve the same result for paths extended by multiple arcs.

The following definitions formalise the conditions of Lemma 5.1 in terms of efficient and dominant labels.

s s t t Definition 5.1. The DTM-PRICE label (v¯i , pi ) dominates the label (v¯i , pi ) if

s t s t v¯i ≤ v¯i and pi ≺FSD pi .

s s Definition 5.2. A label (v¯i , pi ) corresponding to a path s ending at node i is called efficient if it is not dominated by any other label at node i. The path s is also called efficient if its corresponding label is efficient.

Of course, since stochastic dominance is only a partial ordering, it is possible to end up with a result where neither ps dominates pt nor pt dominates ps. Alternatively, it might be s t that ps ≺FSD pt but not v¯i ≤ v¯i . In such cases, the label setting algorithm will need to keep track of both paths to i. 138 Delay Transition Model: Solution Approaches

5.3.4 DTM-PRICE-LABEL: Extending the Bellman-Ford Algorithm for DTM- PRICE

In Appendix B.5.1, we describe the Bellman-Ford algorithm for solving shortest path prob- lems. In order to update the Bellman-Ford algorithm (Algorithm 8, page 308) to handle the pricing subproblem DTM-PRICE, two adjustments need to be made. First, multiple la- bels corresponding to different paths to each node must be tracked. Second, the ’strictly less than’ criteria must be replaced with the dominance criteria of Definition 5.1 to ensure only efficient labels are kept. The DTM-PRICE-LABEL algorithm (Algorithm 2, page 141) achieves these adjustments. The DTM-PRICE-LABEL algorithm begins by creating a path from the source to any node that can be the first node in a path (practically speaking, this relates to the nodes representing flight-copies that depart from an originating port). Then, as per Algorithm 8, each node is visited in chronological order. For each node i, a set of non-dominated paths to i is constructed. The algorithm seeks to to identify all efficient paths to i by exploring the efficient paths to the predecessors of i.

As each path si to i is identified, it is compared with previously identified paths to i for dominance. If si dominates any efficient path ui, ui is removed from the set of efficient paths.

If si is not dominated by any efficient path, it is added to the set of efficient paths Si. Finally, if i can be the final node in a path, i.e. there exists an arc from i to a terminating node in NF, then si is a full path (practically speaking this relates to nodes representing

flight-copies that arrive at a terminating port). If si is a full path and it has total value, v¯si , less ∗ than all previously identified full paths, si is kept as s , the minimum reduced cost string found so far. Once each node has been visited, s∗ is returned.

5.3.5 Related Work

The DTM-PRICE-LABEL algorithm is related to, but distinct from similar algorithms and models in the literature. In this section, we provide a brief overview of two similar algo- rithms and models, clarifying where the key differences are to highlight the novel aspects of the DTM-PRICE-LABEL algorithm. The algorithm used by Borndorfer et al. to solve the Most Robust Rotation Problem (Mo- RoRoP) in [61] has similarities to DTM-PRICE-LABEL, specifically it finds a path with the 5.3 Pricing Subproblem Acceleration 139 smallest probability of delay (either propagated delay or arrival delay) using a label setting algorithm that finds efficient labels for each node using stochastic dominance on discretized probability density functions. However, the important difference is that Borndorfer et al. assume independence of primary and propagated delay, simplifying the costs in their net- work into additive costs on the arcs in the network rather than multiplicative costs. The result is that the dominance criteria of their algorithm is far more obvious (to the point where no proof of its validity is provided). Therefore, the DTM-PRICE-LABEL algorithm is novel in that it utilises a stochastic dominance result based on paths with multiplicative delay transition probabilities rather than additive costs along the path. See Section 2.3.4 for a more detailed exposition of the work of Borndorfer et. al. in [61].

In [168], Wellman et. al. present a priority-first search dominance algorithm, PFS- Dominance, to find the optimal path in a transportation network with uncertain, time- dependent edge costs. Similar to the DTM-PRICE-LABEL algorithm, PFS-Dominance makes use of stochastic consistency (monotonicity) and stochastic dominance in a dynamic program- ming approach to solving a shortest path problem. Furthermore, the utility of a node de- pends on the entire path taken to the node, not just a pairwise comparison of connections into the node. However, there are some important differences between the DTM-PRICE- LABEL algorithm and the PFS-Dominance algorithm. The most important of which is that the PFS-Dominance algorithm is not presented in the context of a subproblem solver for a column generation problem, so makes no consideration of any dual variable costs from a master problem, which are negative costs. Therefore, the criterion used to prune the paths in the PFS-Dominance algorithm does not capture these negative costs. In the presence of such negative dual variable costs on each node (which are time-independent in DTM-PRICE), the condition that ensures that the PFS-Dominance algorithm finds an optimal path would no longer be valid. Specifically, the utility of a path would no longer be a non-increasing func- tion of arrival time, rather it would be a non-increasing function of arrival time plus the dual variable costs of each node on the path.

A less significant, but none-the-less relevant, difference between the two algorithms is that the PFS-Dominance algorithm only measures utility as a function of total travel time to the final destination, while DTM-PRICE-LABEL measures utility at each node and the utility at a node is a function of the delay between the scheduled arrival time (which is node 140 Delay Transition Model: Solution Approaches dependent) and the actual arrival time (which is path dependent). In other words, the nodes in the DTM-PRICE network represent a scheduled arrival at a location as opposed to the nodes in the PFS-Dominance network which represent a location only (and the scheduled arrival time is merely the earlier the better). The result is that the DTM-PRICE network has significantly more nodes, but at most a single arc between any two nodes whereas PFS- Dominance allows multiple arcs between any two nodes. 5.3 Pricing Subproblem Acceleration 141

input : N, the set of nodes; E, the set of arcs (i, j); E∗i, the set of arcs into node i th parameters: w~ i, where the d element wid is the cost of node i being in delay category d ςi, the cost associated with node i NF, the set of nodes corresponding to flight-copies NO/NT, the set of nodes corresponding to originating/terminating ports Qij, the transition probability along each arc (i, j) STDi/STAi departure/arrival time of flight-copy to which node i relates variables : Si, the set of non-dominated paths to node i ~rs = (vs, ~ps): the reduced cost vector for each path s ∈ S s, the current path (sequence of nodes) under consideration output : s∗, a sequence of nodes with the minimum reduced cost and its reduced cost v∗ v∗ ← ∞ ; // Initialise v∗ to a sufficiently large number for i ∈ NO do s ← (o, i) ; // s is a path from the source node to node i Si ← s ; // Initialise Si ps ← (1, 0, . . . , 0) ; // Initialise to No Delay end for i ∈ SortBySTD(NF) do Si ← ∅ ; // Initialise Si to the empty set for j ∈ E∗i do for t ∈ Sj do s ← (t, i) ; // s is sequence t followed by node i s ~t ~p ← p Qji ; // Calculate delay profile s t s v ← v + ~p w~ i + ςi ; // Calculate the cost of the path S Si ← Si {s} ; ; // Dominance search loop for u ∈ Si \{s} do ~s ~u s u if p FSD p AND v ≤ v then Si ← Si \{u} ; // Remove paths dominated by s ~u ~s u s else if p FSD p AND v ≤ v then Si ← Si \{s} ; break; end end z ← destination(i) ; s ∗ if z ∈ NT AND (i, z) ∈ E∗z AND v + ςz < v then s∗ ← s ; ∗ s v ← v + ςz ; end end end end Return s∗,v∗ Algorithm 2: DTM-PRICE-LABEL: Labelling algorithm for the DTM-COLGEN pricing subproblem 142 Delay Transition Model: Solution Approaches

5.4 Column Generation Speedups

In this section, several options for accelerating the column generation solution approach are explored. Additional speedups that were considered but not implemented are discussed in Appendix E.3.

5.4.1 Subproblem Warm Start

= | |3 At each node in Algorithm 2, to calculate the value of p fk Q fk, fk−1 p fk−1 , there are D calculations are required. However, these values do not change from iteration to iteration within the column generation algorithm, only the values of the dual variables do. Therefore, it may be possible to reduce the total computation time by maintaining the search tree in Algorithm 2 between iterations, and adjusting the algorithm to only update nodes where the dual variables have changed at some point along the path to that node. Several initial experiments were conducted to evaluate this idea, and it was concluded that the overhead of managing the search tree (i.e. checking if a particular node had already been explored or not), did not outweigh the time saved calculating the p values. Therefore this idea was not further explored.

5.4.2 Solve Restricted Subproblem (DTM-PRICE-RSP)

For the DTM-COLGEN solution approach, the time spent solving the DTM-RMP is small relative to the time spent solving the DTM-PRICE problem, especially with respect to prob- lem instances where more than one flight-copy is used for each flight i.e. instances with retiming as well as rerouting (see Table 6.3, page 159). Therefore, for the larger problems where many iterations of column generation are required, it is the DTM-PRICE solve time that is critical to ensuring the problem can be solved within a reasonable time frame. One option to reduce the DTM-PRICE solve time is to restrict the search space explored in the subproblem, extending the search space only when it is required to determine if a nega- tive reduced cost string still exists. This results in an algorithm that more quickly identifies good solutions, while still ensuring the optimal solution is found. See Appendix E.3 for a summary of similar approaches found in the literature. 5.4 Column Generation Speedups 143

Similar to the heuristic presented in Stalhane et al. [153], we restrict our search space by only searching a reduced version of the connection network. In order to describe the algorithm, some additional notation is required. Recall that the set E (section 3.3.1, page 71) is the set of all valid connections in the network described in Section 5.3.1. Let ~y∗ be the current solution to the RMP. Let the set ERT be the subset of connections in E that facilitate ∗ retiming only with respect to ~y and the set ERR be the subset of connections in E that ∗ facilitate rerouting only with respect to ~y . The two subsets ERT ⊂ E and ERR ⊂ E are defined as follows:

   [  ERT = (i, j) ∈ E : i ∈ Cf , j ∈ Cg, ( f , g) ∈ {( f , g) ∈ s} (5.28)  ∗  (s:~ys >0)    [ [  ERR = (i, j) ∈ E : i ∈ {s}, j ∈ {s} (5.29)  ∗ ∗  (s:~ys >0) (s:~ys >0)

S where ∗ {s} refers to the set of all flight-copies that are used in the current solution to (s:~ys >0) S the RMP and ∗ {( f , g) ∈ s} refers to the set of all connections that are used in the (s:~ys >0) current solution to the RMP. Recall that Cf is the set of flight copies that are a copy of the original flight f .

As an illustration of the sets ERT and ERR, consider the network shown in Figure 5.1(a). The squares represent source and sink nodes, while the circles represent flight-copy nodes and the dashed lines represent possible, valid connections between nodes. Each set of three nodes that are directly aligned and in close proximity to each other represent copies of the same flight. An example solution to the DTM-COLGEN problem for this network is illus- trated in Figure 5.1(b), where the solid lines represent actual connections used in the solu- tion. The restricted network that allows retiming only with respect to this solution, ERT, is shown in Figure 5.2(a). The restricted network that allows rerouting only with respect to this solution, ERR, is shown in Figure 5.2(b). In both figures, any of the possible connec- tions, including connections in the existing solution, can be selected as part of the restricted network.

The algorithm for solving the DTM-COLGEN problem via a restricted subproblem ap- proach is therefore described as follows: 144 Delay Transition Model: Solution Approaches

(a)

(b)

Figure 5.1: An example network and possible solution. Figure 5.1(a) shows the network while Figure 5.1(b) shows a possible solution. 5.4 Column Generation Speedups 145

(a)

(b)

Figure 5.2: Restricted networks for retiming or rerouting with respect to the current solution. Figure 5.2(a) shows the subset ERT while Figure 5.2(b) shows the subset ERR. 146 Delay Transition Model: Solution Approaches

1. Solve the RMP to obtain the optimal solution ~y∗

2. Solve DTM-PRICE on the connection network ERR 3. If the solution at Step 2 is a string with a negative reduced cost, • Add the identified string to the RMP and GOTO Step 1. • Otherwise CONTINUE.

4. Solve DTM-PRICE on the connection network ERT 5. If the solution at Step 4 is a string with a negative reduced cost, • Add the identified string to the RMP and GOTO Step 1. • Otherwise CONTINUE. 6. Solve DTM-PRICE on the connection network E. 7. If the solution at Step 6 is a string with a negative reduced cost, • Add the identified string to the RMP and GOTO Step 1. • Otherwise STOP, the optimal solution has been found. Clearly steps 2 and 4 can be interchanged. However, it was determined through exper- imentation that Algorithm 2 performs faster on the ERR subproblem than on the ERT sub- problem, and therefore it would be most efficient to start with ERR. Computational results exploring the benefits of DTM-PRICE-RSP are provided in Section 6.1.3. Specifically, Table 6.3 and Figure 6.2 show the improvement of DTM-PRICE-RSP over DTM-PRICE-LABEL.

5.5 Stochastically Monotone Matrices and Non-Decreasing Cost Vectors

In Section 5.3.3, results were obtained that allow an efficient label setting algorithm to be applied to the DTM − PRICE problem. However, for these results to be valid, the data used in the algorithm must adhere to certain conditions. Specifically, the transition matrices must be stochastically monotone and the cost vectors used in the objective must be non- decreasing, i.e. we must have D(Q) ≥ 0 and ∆(v) ≥ 0.

5.5.1 Non-decreasing cost vector

It is not difficult to justify the use of a non-decreasing cost vector. The elements of the cost vector are associated with discrete categories of total flight delay, with the delay categories 5.5 Stochastically Monotone Matrices and Non-Decreasing Cost Vectors 147 sorted in decreasing order of the delay durations contained within each category. From both a passenger and airline perspective, the shorter the delay the better. Therefore the cost vector should logically be non-decreasing to ensure that the delay categories with shorter delays are valued more highly than the categories with longer delays.

5.5.2 Stochastically Monotone Transition Matrices

It is reasonable to expect that the delay transition matrices are stochastically monotone; when an aircraft is off schedule, it is more likely that additional issues will occur. Further- more, it is very difficult for the ground staff and flight crew to make up any time during a turn around, so things will at least stay the same if they do not get worse. However, it was confirmed that the transition matrices for the Airline, as identified in Section 4.4, are stochastically monotone as per Definition B.11. For each transition matrix, the cumulative distribution of each row was calculated, and the dominance matrix was calculated by sub- tracting each row i + 1 of the cumulative distribution matrix from row i. Each entry in the dominance matrix was observed, and if all entries were greater than zero, then it was con- firmed that the transition matrix is stochastically monotone. Table 5.1 provides an example of one such transition matrix. This can be equivalently seen in Figure 5.3, where the CDF of each delay category completely dominates the CDFs of all “worse” delay categories.

5.5.3 Stochastically Monotone Recovery Matrices

In addition to confirming that the cost vectors are nondecreasing and the transition matrices are stochastically monotone, it needs to be confirmed that the use of slack to recover a flight does not undermine the stochastic monotonicity of the delay transition process. Recall the recovery transition matrix, R f g, represents the transition probabilities from the total arrival delay of flight f , TAD f , to the propagated delay of flight g, PDg. As noted in Section 4.5, the n × n matrix R f g has entries as follows:

f g h s i R = rij (5.30) 148 Delay Transition Model: Solution Approaches

0 [1, 5][6, 10][11, 15][16, 20][21, 25][26, 30][31, ∞) 0 50% 23% 12% 6% 3% 2% 1% 3% [1, 5] 0% 51% 19% 15% 7% 3% 1% 4% [6, 10] 0% 0% 52% 27% 12% 4% 2% 4% [11, 15] 0% 0% 0% 52% 26% 12% 4% 6% [16, 20] 0% 0% 0% 0% 50% 25% 12% 12% [21, 25] 0% 0% 0% 0% 0% 53% 24% 23% [26, 30] 0% 0% 0% 0% 0% 0% 50% 50% [31, ∞) 0% 0% 0% 0% 0% 0% 0% 100% (a) Transition Matrix

0 [1, 5][6, 10][11, 15][16, 20][21, 25][26, 30][31, ∞) 0 50% 73% 85% 91% 94% 95 % 96% 100% [1, 5] 0% 51% 70% 85% 92% 95% 96% 100% [6, 10] 0% 0% 52% 79% 90% 94% 96% 100% [11, 15] 0% 0% 0% 52% 78% 90% 94% 100% [16, 20] 0% 0% 0% 0% 50% 76% 88% 100% [21, 25] 0% 0% 0% 0% 0% 53% 77% 100% [26, 30] 0% 0% 0% 0% 0% 0% 50% 100% [31, ∞) 0% 0% 0% 0% 0% 0% 0% 100% (b) Cumulative Distribution

0 [1, 5][6, 10][11, 15][16, 20][21, 25][26, 30][31, ∞) 0 - [1, 5] 50% 22% 15% 6% 2% 0 % 0% 0% [1, 5] - [6, 10] 0% 51% 18% 6% 2% 1% 0% 0% [6, 10] - [11, 15] 0% 0% 52% 27% 12% 4% 2% 0% [11, 15] - [16, 20] 0% 0% 0% 52% 28% 24% 6% 0% [16, 20] - [21, 25] 0% 0% 0% 0% 50% 23% 11% 0% [21, 25] - [26, 30] 0% 0% 0% 0% 0% 53% 27% 0% [26, 30] - [31, ∞) 0% 0% 0% 0% 0% 0% 50% 0% (c) Dominance Matrix

Table 5.1: Confirmation of stochastic monotonicity on example transition matrix 5.5 Stochastically Monotone Matrices and Non-Decreasing Cost Vectors 149

Cumulative Distribution Function of Total Delay by Propagated Delay Category 100%

90%

80%

70%

60%

50%

40%

30%

20% % Flights in Total Delay Category Delay Total in Flights % 10%

0% 0 5 10 15 20 25 30 31+ Total Delay on Flight (minutes)

No Delay 01 to 05 minutes 06 to 10 minutes 11 to 15 minutes 16 to 20 minutes 21 to 25 minutes 26 to 30 minutes 31+ minutes

Figure 5.3: Cumulative Distribution Function of Stochastically Monotone Transition Matrix

where s is the amount of slack between flights f and g, and

   1, if i < n and j = 1 and i ≤ j + s,       < > = +  s  1, if i n and j 1 and i j s,  rij = (5.31)  ωs , if i = n and j ≥ n − s,   n,j     0 otherwise. 

Then the cumulative transition matrix C(R f g) has entries as follows:

f g h s i C(R ) = c(rij) (5.32) where s s c(rij) = ∑ rik (5.33) k∈1..j 150 Delay Transition Model: Solution Approaches then    1, if i < n and j ≥ 1 and i ≤ 1 + s,       < > ≤ +  s  1, if i n and j 1 and i j s,  c(rij) = (5.34)  ωs , if i = n and j ≥ n − s,   ∑k∈[n−s...j] n,k     0 otherwise  which is equivalent to

   1, if i < n and i ≤ j + s,    c(rs ) = s (5.35) ij ∑k∈[n−s...j] ωn,k, if i = n and j ≥ n − s,    0 otherwise 

To confirm whether or not R f g is stochastically monotone, we calculate the dominance matrix, D(R f g): s s dij = c(rij) − c(ri+1,j).

D(R f g) is an (n − 1) × n matrix with entries as follows:

  − = + < > +  0 0 0, if i 1 n and i j s,       1 − 1 = 0, if i + 1 < n and i + 1 ≤ j + s,       1 − 0 = 1, if i + 1 < n and i = j + s,    dij = 1 − 0 = 1, if i + 1 = n and j < n − s and i ≤ j + s, (5.36)      0 − 0 = 0, if i + 1 = n and j < n − s and i > j + s,     s   1 − ∑ ∈[ − ] ω , if i + 1 = n and j ≥ n − s,   k n s...j n,k     ⇒ j ≥ i + 1 − s ⇒ i ≤ j + s − 1 ⇒ i ≤ j + s, 

For the first five entries in Equation 5.36, it is clear that dij ≥ 0. For the final entry, recall that s ωn,k represents the proportion of propagated delays in category n that would be recovered to be in category k in the presence of s units of slack. It follows that

s s ∑ ωn,k ≤ ∑ ωn,k = 1 ∀j ∈ [1 . . . n] k∈[n−s...j] k∈[1...n]

s and therefore dij ≥ 0, for all (i, j) in (n − 1) × n and therefore R is stochastically monotone. 5.5 Stochastically Monotone Matrices and Non-Decreasing Cost Vectors 151

Table 5.2 provides an example R,C(R) and D(R) for a recovery matrix, R3. 152 Delay Transition Model: Solution Approaches

0 [1, 5][6, 10][11, 15][16, 20][21, 25][26, 30][31, ∞) 0 1 0 0 0 0 0 0 0 [1, 5] 1 0 0 0 0 0 0 0 [6, 10] 1 0 0 0 0 0 0 0 [11, 15] 0 1 0 0 0 0 0 0 [16, 20] 0 0 1 0 0 0 0 0 [21, 25] 0 0 0 1 0 0 0 0 [26, 30] 0 0 0 0 1 0 0 0 [31, ∞) 0 0 0 0 0 0.3 0.2 0.5 (a) Recovery Matrix, R3

0 [1, 5][6, 10][11, 15][16, 20][21, 25][26, 30][31, ∞) 0 1 1 1 1 1 1 1 1 [1, 5] 1 1 1 1 1 1 1 1 [6, 10] 1 1 1 1 1 1 1 1 [11, 15] 0 1 1 1 1 1 1 1 [16, 20] 0 0 1 1 1 1 1 1 [21, 25] 0 0 0 1 1 1 1 1 [26, 30] 0 0 0 0 1 1 1 1 [31, ∞) 0 0 0 0 0 0.3 0.5 1 (b) Cumulative Distribution

0 [1, 5][6, 10][11, 15][16, 20][21, 25][26, 30][31, ∞) 0 - [1, 5] 0 0 0 0 0 0 0 0 [1, 5] - [6, 10] 0 0 0 0 0 0 0 0 [6, 10] - [11, 15] 1 0 0 0 0 0 0 0 [11, 15] - [16, 20] 0 1 0 0 0 0 0 0 [16, 20] - [21, 25] 0 0 1 0 0 0 0 0 [21, 25] - [26, 30] 0 0 0 1 0 0 0 0 [26, 30] - [31, ∞) 0 0 0 0 1 0.7 0.5 0 (c) Dominance Matrix

Table 5.2: Confirmation of stochastic monotonicity on example recovery matrix Chapter 6 Delay Transition Model: Results and Analysis

This chapter presents computational results of the various algorithms described in Chapter 5 and provides an analysis of the Delay Transition Model robust scheduling approach and its associated results.

This chapter begins with the computational performance of the various algorithms de- veloped in Chapter 5. This is followed by an analysis of the resulting robust schedules to establish insights into their structure. Finally the conclusions to Part II are drawn, including opportunities for future research. The primary contributions of this chapter are:

• computational results demonstrating the computation time, solution quality, and op- timality performance of the Delay Transition Model solution algorithms; • insights into approaches for generating robust schedules based on the schedules ob- tained using the Delay Transition Model; and • opportunities for future research to extend the Delay Transition Model and associated solution algorithms.

6.1 Computational Results

Computational experiments were first conducted to determine the best approach for solv- ing the pricing subproblem of the DTM-COLGEN algorithm, including an assessment of the relative strengths and weaknesses of the different subproblem solvers. After the pre- ferred algorithm for the pricing problem was identified, computational experiments were conducted to assess the performance of the DTM-COLGEN algorithm in terms of 3 criteria:

1. Solution Approach Comparison How does DTM-COLGEN compare to the original MIP models (DTM-RTN and DTM-RTA)?

153 154 Delay Transition Model: Results and Analysis

Name Section Description DTM 3.3 The scheduling framework that optimises the reliability of a schedule, where reliability is measured via the proportion of flights in each delay category, calculated using delay transi- tion matrices DTM-COLGEN 5.1 The column generation algorithm used to solve the DTM, it is also used to refer to the master problem MIP DTM-RMP 5.2.1 The relaxed master problem in the DTM- COLGEN algorithm DTM-R 3.3.3 The basic, node based MIP for solving the DTM via rerouting aircraft only DTM-T 3.3.2 The basic, node based MIP for solving the DTM via retiming flights only DTM-RTA 3.4 The arc based reformulation of the basic MIP for solving the DTM DTM-RTN 3.3.1 The basic, node based MIP for solving the DTM via rerouting aircraft and retiming flights DTM-PRICE-MIP 5.2.2 The MIP formulation of the pricing problem in the DTM-COLGEN algorithm DTM-PRICE-LABEL 5.3.4 The Label Setting Algorithm derived by ex- tending the Bellman-Ford algorithm for the pricing problem in the DTM-COLGEN algo- rithm, with stochastic dominance on cost and probability vector only DTM-PRICE-RSP 5.4.2 An extension of DTM-PRICE-LABEL where the connection network is restricted to a sub- set of connections

Table 6.1: Summary of Models and Algorithms related to the Delay Transition Model

2. Optimality Do the solution approaches solve the DTM to optimality within practical run times? For what sized problems can the problem be solved to optimality? 3. Schedule Improvement Where the DTM-COLGEN algorithm identifies better solutions than those found in Chapter 3, to what extent does the proposed optimisation approach im- prove an existing schedule?

In the following sections the experiments conducted to assess these criteria are explained. Table 6.1 (page 154) provides a summary of the various models and solution approaches discussed in the results. 6.1 Computational Results 155

6.1.1 Test Data Sets

The same data sets described in Section 3.6.1 (page 83) were used to test the DTM-COLGEN solution approach.

6.1.2 Computational Environment

The column generation framework was implemented in C++, as were the label setting sub- problem solution approaches (DTM-PRICE-LABEL, DTM-PRICE-RSP,DTM-PRICE-LABEL2), while the MIP subproblem solution approach (DTM-PRICE-MIP) and the relaxed master problem (DTM-RMP) were solved using using CPLEX Version 12.2, operated via the C++ API. In all experiments, unless otherwise specified, the default CPLEX settings were used. Computational experiments were conducted on a PC operating Windows 7 Home Premium (64 bit), with an Intel(R) Core(TM) i7-2620M CPU @ 2.70 GHz and 8 GB RAM.

6.1.3 DTM-COLGEN Pricing Algorithms

In this section, the computational performance of the various pricing algorithms described in Section 5.2.2, Section 5.3 and Section 5.4 are compared.

Labeling Algorithm versus MIP First, the labeling algorithm DTM-PRICE-LABEL (Sec- tion 5.2.2) is compared against the Mixed Integer Program DTM-PRICE-MIP (Section 5.3.4). As expected, the labeling algorithm easily outperforms the MIP as demonstrated in Table 6.2 (page 157). Table 6.2 compares the average solve time for each iteration of the pricing algorithm, for all of the different problem sets, and for 1,3,5 and 7 flight-copy instances. DTM- PRICE-LABEL is faster on average than DTM-PRICE-MIP in all cases, for example solving the Full Schedule problem instances with 1 flight-copy 155 times faster on average. Since both algorithms are solving the pricing subproblem to optimality, the faster solve time per it- eration of the DTM-PRICE-LABEL algorithm naturally translates to better solutions being found more quickly, as shown in Figure 6.1. The figure compares the quality of solutions obtained over time by DTM-PRICE-LABEL and DTM-PRICE-MIP for a single Full Schedule 156 Delay Transition Model: Results and Analysis

Optimality Gap Over Time, Full Schedule, 1 Copy 7%

6%

5%

4%

Gap (%) Gap 3%

2%

1%

0% 0 200 400 600 800 1000 1200 Run Time (CPU Seconds)

DTM-PRICE-LABEL DTM-PRICE-MIP

Figure 6.1: Optimality gap versus time, Full Schedule, 1 Flight Copy, DTM-PRICE-LABEL versus DTM-PRICE-MIP. Gap measured from known optimal value. problem instance with 1 flight-copy. The solution quality is measured by the gap∗ between the best solution found and the known optimal solution to the problem. It demonstrates that DTM-PRICE-LABEL converges to the optimal solution significantly faster.

Restricted Subproblem versus Basic Labeling Algorithm Next, the restricted subprob- lem pricing algorithm DTM-PRICE-RSP (Section 5.4.2) is compared against the basic label- ing algorithm DTM-PRICE-LABEL. Since in each iteration DTM-PRICE-RSP is solving a smaller problem than DTM-PRICE-LABEL, it is not surprising to discover that per iteration it is faster, solving the 7 flight-copy instances in a fraction of the time (see Table 6.2). Further- more, DTM-PRICE-RSP is more scalable than DTM-PRICE-LABEL, with iterations for the Full Schedule, 7 flight-copy instances taking on average 247 times longer than the Full Sched- ule, 1 flight-copy instances for DTM-PRICE-RSP, compared with 29,209 times longer for the same comparison with DTM-PRICE-LABEL.

∗ (best solution)-(optimal solution) gap = optimal solution , this definition of the gap could be used because it is calculated after the optimal solution had been found for the problem instance 6.1 Computational Results 157 0.260.020.023.780.040.04 75.83 0.21 0.050.100.08 49.86 2.96 175.38 0.69 3.550.11 0.550.09 13.22 4.73 53.83 45.11 282.04 9.17 14.74 28.87 5.55 5.39 259.37 797.98 13.64 380.13 15.34 347.14 15.59 2932.21 18.86 3213.11 22.30 16.3717.12 27.65 25.73 309.50 409.50 4742.70 4742.70 One (1) Flight Copy Three (3) Flight Copies Five (5) Flight Copies Seven (7) Flight Copies Small Problem Instances DTM-PRICE-MIP DTM-PRICE-LABEL DTM-PRICE-RSP Medium Problem Instances DTM-PRICE-MIP DTM-PRICE-LABEL DTM-PRICE-RSP Large Problem Instances DTM-PRICE-MIP DTM-PRICE-RSP Full Schedule Problem Instances DTM-PRICE-MIP DTM-PRICE-RSP DTM-PRICE-LABEL DTM-PRICE-LABEL Table 6.2: Comparison of AverageDTM-COLGEN Solve was Time run per for Iteration up by topricing 1 Pricing algorithms/models. hour Algorithm or (CPU until Seconds). an optimal The solution column was generation found for algorithm each problem instance using each of the different 158 Delay Transition Model: Results and Analysis

However, this increased speed per iteration is offset by the fact that in each iteration of DTM-COLGEN the DTM-PRICE-RSP is not always finding the optimal flight sequence to add into the master problem, rather it is finding the optimal flight sequence out of a restricted subset of options. This results in the DTM-COLGEN algorithm generally requiring more iterations to solve the entire problem to optimality when using DTM-PRICE-RSP as the pricing solver, as demonstrated in Table 6.3. The net result of being faster per iteration but requiring more iterations is that DTM-PRICE-RSP is still faster overall. For example, it takes a quarter of the time to solve the Small, 7 flight-copy problem instances, as shown in Table 6.3. Figure 6.2 compares the quality of solutions obtained over time by DTM-COLGEN when DTM-PRICE-LABEL and DTM-PRICE-RSP are used as the pricing solver for a single Full Schedule,3 flight-copy problem instance. The solution quality is again measured by the gap between the best solution found and the known optimal solution to the problem. The fig- ure demonstrates that while DTM-PRICE-RSP allows the DTM-COLGEN algorithm to find good quality solutions quickly, the rate of improvement trails off, suggesting that an algo- rithm that initially uses DTM-PRICE-RSP, but converts to DRM-PRICE-LABEL when the rate of improvement slows to certain threshold would be a worthwhile extension to the algorithm (an extension that we will leave for future research). One explanation as to why solution quality improves at a slower rate with the DTM- PRICE-RSP solver when the column generation algorithm gets closer to the optimal solution is that each iteration starts to take longer to solve, as demonstrated in Figure 6.3(a). The figure shows the solve time for each iteration for an example Medium, 1 flight-copy instance. In contrast, the same figure shows that the solve time per iteration reduces for the DTM- PRICE-LABEL algorithm. Figure 6.3(b) shows the same information against run time rather than per iteration.

Scalability The DTM-COLGEN algorithm with DTM-PRICE-LABEL was used to opti- mise a variety of schedules of different sizes (as described in Section 3.6.1). The number of iterations of column generation required to solve the problem to optimality was plot- ted against the number of flights in the original schedule, the result is Figure 6.4. The figure shows that the number of iterations of column generation required to solve the LP relaxation of the DTM-COLGEN problem grows with the number of flights in the schedule. Interest- 6.1 Computational Results 159 In- Small 1010 31 11 548 141 1732 443 315315 101 168 101 164 90 156 0.030.03 0.31 0.07 5.44 0.86 19.27 2.84 4.8%4.8% 91.5% 66.1% 99.3% 97.2% 99.7% 99.0% One (1) Flight Copy Three (3) Flight Copies Five (5) Flight Copies Seven (7) Flight Copies DTM-PRICE-RSP Average Iterations (#) DTM-PRICE-LABEL Average Solve Time (CPU Seconds) DTM-PRICE-LABEL Average Pricing Algorithm Solve Time perDTM-PRICE-LABEL Iteration (CPU Seconds) Average Time Spent in Pricing AlgorithmDTM-PRICE-LABEL (%) DTM-PRICE-RSP DTM-PRICE-RSP DTM-PRICE-RSP stances Table 6.3: Comparison of DTM-COLGEN Algorithm Performance with DTM-PRICE-LABEL versus DRM-PRICE-RSP on 160 Delay Transition Model: Results and Analysis

Optimality Gap Over Time, Full Schedule, 3 Copies 20%

18%

16%

14%

12%

10%

Gap (%) Gap 8%

6%

4%

2%

0% 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 Run Time (CPU Seconds)

DTM-PRICE-LABEL DTM-PRICE-RSP

Figure 6.2: Optimality gap versus time, Full Schedule, 3 Flight Copies, DTM-PRICE-LABEL versus DTM-PRICE-RSP. Gap measured from known optimal value.

Iteration Subsolver Duration versus Iteration Number Iteration Subsolver Duration versus Elapsed 700 Computation Time

700 600 600 500 500 400 400 300 300 200 200

100

Iteration subsolver time (CPU Seconds) (CPU time subsolver Iteration 100 Iteration Subsolver Time (CPU Seconds) (CPU Time Subsolver Iteration

0

0

1

57 15 29 43 71 85 99

141 295 127 155 169 183 197 211 225 239 253 267 281 309 323 337 351 365 379 113 0 1000 2000 3000 4000 5000 6000 7000 8000 Iteration (#) Elapsed Time (CPU Seconds)

DTM-PRICE-LABEL DTM-PRICE-RSP DTM-PRICE-LABEL DTM-PRICE-RSP

(a) (b)

Figure 6.3: Average iteration solve time versus (a) iteration number and (b) elapsed compu- tation time, Medium Problem Instance 6.1 Computational Results 161

Column Generation Iterations Required Versus Number of Flights 1,200

1,000

800

600 # Iterations # 400

200

- - 50 100 150 200 250 Number of Flights in Schedule

1 Flight Copy 3 Flight Copies

Figure 6.4: Increase in column generation iterations required versus Number of Flights in the Schedule, DTM-PRICE-LABEL, 1 Flight Copy versus 3 Flight Copies ingly, however, it shows that this does not vary substantially when additional flight-copies are introduced (i.e. when the algorithm allows retiming as well as rerouting). In contrast, the solve time of the subproblem does grow dramatically when additional flight-copies are introduced and yet it does not grow as the number of flights in the original schedule increases (see Figure 6.5). Since the DTM-PRICE-RSP algorithm was identified as the most efficient, in what fol- lows it is the pricing algorithm in use when results for the DTM-COLGEN algorithm are presented (unless otherwise specified).

6.1.4 Solution Approach Comparison

In this section, the computational performance of the DTM-COLGEN (Section 5.1) algorithm is compared against the original MIP approach DTM-RTN (Section 3.3.1). As expected, the DTM-COLGEN algorithm outperforms the DTM-RTN in terms of both:

1. its ability to find good quality solution in practical run times, and 162 Delay Transition Model: Results and Analysis

Pricing Subproblem Solve Time Versus Number of Flights 25

20

15

10

Solve Time (CPU Seconds) (CPU Time Solve 5

- - 50 100 150 200 250 Number of Flights in Schedule

1 Flight Copy 3 Flight Copies

Figure 6.5: Increase in DTM-PRICE-LABEL solve time with number of Flights in the Sched- ule, DTM-PRICE-LABEL, 1 Flight Copy versus 3 Flight Copies

2. its ability to find the optimal solution in significantly less run time.

The fact that DTM-COLGEN is able to find good quality solutions in practical run times is demonstrated in Table 6.4. The table shows the average improvement† gained versus the original schedule when both the DTM-RTN MIP and the DTM-COLGEN algorithm (with DTM-PRICE-RSP as the pricing solver) are run with a maximum solve time of 60 minutes. It shows that in all but some of the smaller problem instances, the DTM-COLGEN produces the greatest improvement against the original schedule e.g. 5.5% improvement compared with 3.7% improvement in the Full Schedule, 7 flight-copy instances. The fact that DTM-COLGEN is able to find the optimal solution in less run time than DTM-RTN is demonstrated in both Figure 6.6 and Table 6.4. Figure 6.6 demonstrates how much quicker the DTM-COLGEN algorithm is at finding an optimal solution on a Full Sched- ule, 3 flight-copy instance. It shows that while DTM-COLGEN is able to find an optimal so- lution within 22 minutes run time (1300 CPU seconds), after 2.8 hours (10,000 CPU seconds) the DTM-RTN still has an optimality gap of 3.5%. Table 6.4 shows the percentage of prob-

† (New Schedule OTP)-(Original Schedule OTP) Improvement is measured by (Original Schedule OTP) 6.1 Computational Results 163

Optimality Gap over Time, Full Schedule, 3 Copies 30%

25%

20%

15% Gap (%) Gap

10%

5%

0% 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 Run Time (CPU Seconds)

DTM-COLGEN with DTM-PRICE-RSP DTM-RTN

Figure 6.6: Optimality gap versus time, Full Schedule, 3 Flight Copies, DTM-COLGEN with DTM-PRICE-RSP versus DTM-RTN. Gap measured from known optimal value. lem instances solved to optimality when both the DTM-RTN MIP and the DTM-COLGEN algorithm (with DTM-PRICE-RSP as the pricing solver) are run with a maximum solve time of 60 minutes. In all problem sets, the DTM-COLGEN algorithm is able to solve more in- stances to optimality, demonstrating that the DTM-COLGEN algorithm is significantly more efficient at finding optimal solutions.

6.1.5 Optimality

Two experiments were used to assess the optimality performance of the DTM-COLGEN al- gorithm with DTM-PRICE-RSP. In the first experiment, each problem instance was solved with a maximum solve time of 60 minutes to determine how many instances could be solved to optimality within the restricted time limit. The results, shown in Table 6.4, demonstrate that the algorithm performs well for all problems where only 1 flight-copy is used (i.e. rerouting only) with 86% of these problem instances solved to optimality, while it begins to struggle on the Large problems with 3 or more flight-copies. However, as noted previ- 164 Delay Transition Model: Results and Analysis Measure Overall Schedule Full Large Medium Small Improvement Average Overall Schedule Full Large Medium Small (%) Optimality to Solved a mrvmn smaue by measured is Improvement al .:Cmaio fpromneatr6 iue u ieDMRNvru T-OGN(DTM-PRICE-RSP) DTM-COLGEN versus time:DTM-RTN run minutes 60 after performance of Comparison 6.4: Table a nOiia ceue(%) Schedule Original on NwShdl T)(rgnlShdl OTP) Schedule OTP)-(Original Schedule (New Oiia ceueOTP) Schedule (Original T-T DTM-COLGEN DTM-RTN .%5.0% 5.0% .%7.6% 7.1% 5.4% 2.5% 7.5% 7.0% 5.7% 2.5% 8 86% 48% 0 80% 90% 60% 90% %86% 88% 0% 0% n 1 lgtCopy Flight (1) One T-T DTM-COLGEN DTM-RTN 59 17.3% 15.9% he 3 lgtCopies Flight (3) Three 51 17.6% 18.0% 18.1% 16.0% 15.1% 15.2% 16.6% 15.9% 2 100% 22% %80% 7% %50% 40% 100% 0% 0% 0% T-T DTM-COLGEN DTM-RTN 58 16.1% 15.8% 08 9.5% 19.7% 18.2% 10.8% 18.8% 17.1% .%7.0% 7.8% ie()Fih Copies Flight (5) Five 9 100% 19% %56% 6% %20% 15% 45% 0% 0% 0% T-T DTM-COLGEN DTM-RTN ee 7 lgtCopies Flight (7) Seven 44 14.8% 14.4% 64 14.5% 22.1% 16.4% 21.6% .%5.5% 6.8% 3.7% 1.2% %35% 2% %0% 0% 22% 83% 0% 0% 6% 0% 6.1 Computational Results 165 ously, the DTM-COLGEN algorithm is able to solve significantly more problem instances of larger sizes than the basic DTM-RTN model. The second experiment for assessing the optimality performance of the DTM-COLGEN algorithm was to explore the optimality performance on run times longer than 60 minutes. Figures 6.7(a) to 6.7(d) show the proportion of problem instances solved to optimality over a 12 hour runtime for the Small, Medium, Large and Full Schedule problem sets. Figure 6.7(a) shows that the algorithm can find the optimal solution for all of the Small problem instances with up to 7 flight-copies in 165 minutes. Furthermore, all of the single flight-copy instances could be solved within the 12 hour period. However, 12 hours is insufficient to solve some of the other problem sets to optimality. For the Medium problem set, the algorithm solved 86% and 55% of the 5 and 7 flight-copy instances respectively. For the Large problem set, 93% and 17% of the 3 and 5 flight copies were solved to optimality, while none of the 7 flight-copy instances could be solved within the time limit. Similarly for the Full Schedule problem set, 80% and 17% of the 3 and 5 flight copies were solved to optimality, with none of the 7 flight-copy instances solved. Practically speaking, run times of 12 hours would seem reasonable when designing a schedule, as it would allow the schedule designer to run the optimisation overnight and review the updated schedule upon return to work the next morning. Therefore, it is rec- ommended to explore further opportunities to accelerate this algorithm to find optimal so- lutions within a 12 hour time frame; ideas for this, including those from the literature are explored in Appendix E.3. However, the schedule design process does not require an opti- mal solution but rather any improvement on the original schedule is of benefit to an airline. The schedule improvement achieved by the algorithm is explored in more detail in the next section.

6.1.6 Schedule Improvement

To assess the schedule improvement that can be achieved with the DTM-COLGEN algo- rithm, the objective value of the best schedule obtained after 60 minutes of solve time was compared with the original schedule for each problem instance. Figure 6.8 (page 167) shows the improvement achieved in each instance for 1, 3, 5 and 7 flight copies. As noted in Section 3.6.4, the substantial variation in the improvement between the prob- 166 Delay Transition Model: Results and Analysis

Small Instances Solved To Optimality Over Time Medium Instances Solved To Optimality Over 100% Time 100%

90% 90% 80% 80% 70% 70% 60% 1 60% 50% 1 3 50% 3 40% 5 40% 5 30% 7 30% 7 20% 20%

% ProblemInstances % Optimal 10% % Instances Problem Optimal % 10%

0% 0% 0 10000 20000 30000 40000 0 10000 20000 30000 40000 Run Time (CPU Seconds) Run Time (CPU Seconds)

(a) (b) Large Instances Solved To Optimality Over Time Full Schedule Instances Solved To Optimality 100% Over Time 100%

90% 90% 80% 80% 70% 70% 60% 1 60% 50% 1 3 50% 3 40% 5 40% 5 7 30% 30% 7

20% 20% % Instances Problem Optimal %

10% Instances Problem Optimal % 10%

0% 0% 0 10000 20000 30000 40000 0 10000 20000 30000 40000 Run Time (CPU Seconds) Run Time (CPU Seconds)

(c) (d)

Figure 6.7: Problem Instances solved to optimality using DTM-COLGEN with DTM-PRICE- RSP over time 6.1 Computational Results 167

Expected On Time Performance: Original Schedule versus Optimised* Schedule 90% 1 Flight Copy 3 Flight Copies 5 Flight Copies 7 Flight Copies

85%

80%

75%

70% Expected On Time Performance Time On Expected

65%

60% Instance

Original Schedule Optimised Schedule*

Figure 6.8: Improvement in Expected On Time Performance By Instance (after 60 minutes run time - DTM-COLGEN with DTM-PRICE-RSP) lem instances is because the original schedule was not optimised with respect to On Time Performance, and therefore it is primarily random whether or not the original schedule per- formed well (see Figure 6.8). Despite the variable nature of the improvement, there are many instances where the improvement is substantial (up to 3% of flights on time at 15 minutes that previously weren’t), and very few where no improvement is achieved at all (6 instances out of 208).

Figure 6.9 (page 168) shows the average improvement across all instances. The results show an average of 2.1% more flights being on time when only a single flight copy is used (i.e. rerouting only). When this was extended to allow 3 flight copies (i.e. rerouting and retiming within ±5 minutes), an improvement for a further 3.0% of flights was achieved. This is despite only 80% of the instances having been solved to optimality. As mentioned in Section 3.6.4, the cost of flying faster to ensure an additional 1.0% of flights arrive on time would burn an additional $1.5 million USD worth of fuel per annum at the Airline. Note that the average improvement was less for 5 and 7 flight copies because less of the problem instances were solved to optimality. 168 Delay Transition Model: Results and Analysis

Average Expected On Time Performance: Original Schedule versus Optimised* Schedule 81% 100%

80.0%

80% 86% 79.6% 90% 79.4% 80%

79% 80%

78% 70%

77.0% 77% 56% 60%

76% 75.9% 75.9% 75.9% 75.9% 50% % Instances Optimal Instances %

75% 40%

35% Average Expected On Time Performance Time On Expected Average 74% 30%

73% 20% 1 Flight Copy 3 Flight Copies 5 Flight Copies 7 Flight Copies # Flight Copies

Original Schedule Optimised Schedule* % Instances Optimal

Figure 6.9: Average Improvement in Expected On Time Performance (after 60 minutes run time - DTM-COLGEN with DTM-PRICE-RSP)

Despite not being able to solve the Full Schedule problem instances to optimality within 12 hours, the algorithm is able to rapidly find solutions that are significantly better than the original schedule. Figure 6.10 (page 169) shows the objective of each schedule relative to the original schedule over time. For example, Figure 6.10 (a) shows that after 10 minutes solve time, the proportion of delays in unfavorable delay categories is 7.5% less than the original schedule. 6.1 Computational Results 169

Objective Improvement Over Time Objective Improvement Over Time 8% 20%

18% 7%

16%

6%

14%

5%

12%

4% 10%

8%

3% Objective Improvement Objective Objective Improvement Objective 6% 2% 4%

1% 2%

0% 0% 0 2000 4000 6000 8000 10000 12000 0 2000 4000 6000 8000 10000 12000 Run Time (CPU Seconds) Run Time (CPU Seconds)

(a) 1 Flight Copy (b) 3 Flight Copies

Objective Improvement Over Time Objective Improvement Over Time 12% 7%

6%

10%

5% 8%

4%

6%

3%

4% Objective Improvement Objective Objective Improvement Objective 2%

2% 1%

0% 0% 0 2000 4000 6000 8000 10000 12000 0 2000 4000 6000 8000 10000 12000 Run Time (CPU Seconds) Run Time (CPU Seconds)

(c) 5 Flight Copies (d) 7 Flight Copies

Figure 6.10: Objective improvement over time, Full Schedule problem instances 170 Delay Transition Model: Results and Analysis

6.2 Benchmarks

The DTM was designed to address several limitations of existing models in the literature which were identified in Section 2.4. The first limitation, regarding the assumption of pri- mary and propagated delay independence was addressed in Chapter 2 where the hypothesis that the likelihood of primary delay is independent of propagated delay was rejected using Pearson’s χ2 test for independence (section 2.4.1). To assess whether the design of the DTM was successful in addressing the other limita- tions, experiments were designed to test the benefits, specifically: 1. Delay profile optimisation How does optimisation of the delay profile instead of average delay improve the quality of the results obtained? 2. Re-timing and rerouting Does optimising the schedule by re-timing flights and rerouting aircraft improve the quality of results beyond re-timing only or rerouting only? The first question can be assessed by benchmarking results from optimising a schedule using the DTM compared with results from optimising a schedule using the SLM and MLM of AhmadBeygi et al. [8]. The SLM and MLM were selected for comparison over the RAMR of Lan et al. [110] and the PDP of Borndorfer et al. [61] because of their: • Computational efficiency: the SLM could solve all test cases considered within 4 seconds compared to 42 seconds for the PDP (Borndorfer et al. [61]), while solve times for the RAMR were not reported (Lan et al. [110]); • Solution quality: AhmadBeygi et al. [9] reported up to a 48.7% reduction in delay propagation using the SLM, comparable with the average of 44% reported by Lan et al. [110] for the RAMR, and well ahead of the 5% reported by Borndorfer et al. [61] for the PDP; and • Ability to be solved to optimality: both the PDP and RAMR relied on heuristics to be solved, while the SLM could be solved to optimality using a basic LP solver. The second question can be assessed using the DTM only, since adjusting the DTM for retiming, rerouting or both is simply a matter of limiting the connections available between the various flight-copies. To provide context for the results related to the above two questions, we will also com- pare the computational efficiency of the different solution approaches, since there may be a trade-off between solution quality and computational efficiency. 6.2 Benchmarks 171

6.2.1 Delay profile optimisation

To demonstrate the benefits of the DTM, which provides a flexible objective a function, we ask the following question:

How does the optimisation of a delay profile improve the quality of the results obtained compared to the minimisation of total (or average) delay?

The answer to this question is likely dependent on what part of the delay profile one wishes to optimise. It is reasonable to expect that average and total delay are highly correlated with other punctuality measures, such as On Time Performance at 15 minutes, and therefore minimising average delay will also improve these other measures. However, a question remains: how does the improvement compare to an objective that was designed to optimise for the desired outcome? The hypothesis of this thesis, and hence the rationale for developing a model with the flexibility to manage the delay profile, is that while average and total delay will be corre- lated to various other measures of punctuality, the quality of an optimised schedule will be affected by the level of control that could be exerted over the desired outcome, i.e. whether the preferred measure was itself being optimised or a proxy was being used instead. To test this hypothesis the following experiments were conducted. A set of ten (10) distinct schedules from the Airline were used as a starting point, each schedule having 35-40 aircraft and 200-230 flights. The schedules were then optimised using a variety of models and objectives. Specifically the SLM and the MLM were both used, as was the DTM with four (4) different variations of the objective used to optimise four (4) different aspects of the delay profile, namely:

1. average delay (DTM-AVG), 2. the percentage of flights delayed greater than 0 minutes (DTM-AT-0), 3. the percentage of flights delayed greater than 15 minutes (DTM-AT-15), and 4. the percentage of flights delayed greater than 30 minutes (DTM-AT-30).

For all experiments, retiming was within 10 minutes either side of the original scheduled time for each flight; rerouting was not allowed. The performance outcome of the resulting schedules was then measured using four different punctuality metrics, each calculated us- ing the OTP-MOD method described in Chapter 3 (section 3.2, page 65). Specifically the 172 Delay Transition Model: Results and Analysis following punctuality measures were calculated for each schedule:

• the average delay (Average Delay) • the percentage of flights delayed greater than 0 minutes (OTP at 0) • the percentage of flights delayed greater than 15 minutes (OTP at 15) • the percentage of flights delayed greater than 30 minutes (OTP at 30)

The results are summarised in Table 6.5. Each row represents the set of schedules ob- tained using the identified optimisation model. The Average Outcome columns show the average performance for each set of schedules on each of the four punctuality measures. The Improvement on Original columns shows, on average, how much better than the orig- inal schedule the optimised schedule is for each punctuality measure. The Outcome Rank columns identify the order of performance for each schedule set, from best (1) to worst (7), on each of the four punctuality measures.

As hypothesized, each optimisation model provides an improvement over the original schedule, regardless of the outcome measure under consideration. Unsurprisingly, the op- timisation models that specifically targeted the desired outcome measure in its objective performed best for that outcome, i.e. DTM-AVG performed best on Average Delay, DTM- AT-ZERO performed best on OTP at 0, etc. The exception is the SLM and MLM, which were expected to minimise the average delay; it was therefore expected that this optimisation ap- proach would outperform the DTM-AT-ZERO, DTM-AT-FIFTEEN and DTM-AT-THIRTY approaches on the Average Delay outcome.

The fact that the SLM/MLM were designed under an assumption that does not hold for the data in use may provide an explanation for this exception. The SLM and the MLM minimise the total delay of the schedule (and hence average delay, since the number of flights is fixed) by minimising the total propagated delay for a given profile of primary delays under the assumption that primary and propagated delay are independent. As noted in Chapter 2, primary and propagated delay were determined not to be independent based on analysis of the Airline data (section 2.4.1, page 45).

These results validate our initial hypothesis that: (1) optimising proxies such as average delay are effective for improving the performance of other punctuality measures, but (2) the magnitude of the improvement is greater when the optimisation objective more accurately reflects the target outcome. 6.2 Benchmarks 173

Optimisation Model Average Outcome Improvement on Original Outcome Rank Average Delay OTP at 0 OTP at 15 OTP at 30 Average Delay OTP at 0 OTP at 15 OTP at 30 Average Delay OTP at 0 OTP at 15 OTP at 30 Original Schedule 14.85 63.0% 23.9% 14.8% ---- 7 7 7 7 SLM 13.19 56.0% 20.2% 13.8% 11.2% 11.1% 15.5% 7.0% 6 5 6 6 MLM 13.18 56.0% 20.2% 13.7% 11.3% 11.1% 15.7% 7.1% 5 4 5 5 DTM-AVG 12.85 54.7% 19.4% 13.6% 13.5% 13.1% 19.0% 8.4% 1 2 2 2 DTM-AT-0 12.89 54.5% 19.5% 13.6% 13.3% 13.5% 18.7% 7.9% 3 1 3 4 DTM-AT-15 12.86 54.8% 19.4% 13.6% 13.5% 13.1% 19.1% 8.3% 2 3 1 3 DTM-AT-30 13.08 57.2% 20.0% 13.4% 11.9% 9.1% 16.5% 9.3% 4 6 4 1

Table 6.5: Optimisation objective against delay profile outcome

6.2.2 Retiming and rerouting

To demonstrate the benefits of optimising the schedule by retiming flights and rerouting aircraft, versus doing either in isolation, the DTM was adjusted to solve:

1. the retiming only problem, DTM-T, by allowing only connections between flight- copies if there was a connection between the original copies of the flight in the origi- nal schedule; 2. the rerouting only problem, DTM-R, by only allowing a single copy of each flight at the original flight time; and 3. the retiming and rerouting problem, DTM-RT, allowing all valid connections between flight-copies (as per the original DTM specification).

Results for optimising each version of the problem were obtained using the same data sets that were used in Section 6.2.1, with the objective to minimise the percentage of flights delayed greater than 15 minutes (DTM-AT-15). For the DTM-T and DTM-RT experiments, each instance was repeated for 3, 5, 7 and 9 flight copies, i.e. retiming within ±5, 10, 15 and 20 minutes of the original scheduled flight respectively. For this experiment, there is no lim- itation on the total slack allocated to each LOF, therefore retiming within ±5, 10, 15 and 20 minutes is equivalent to adding 10, 20, 30 and 40 minutes of slack respectively to each line of flying. Each variation was solved using the DTM-PRICE-RSP algorithm, set to a maximum run time of 86400 CPU seconds (or 24 CPU hours). The quality of the resulting schedules was compared using the DTM-EOTP objective. Figure 6.11 shows the average improvement for each instance for rerouting and retiming versus retiming only. Figure 6.11(a) shows the improvement from rerouting and retiming, but separates the improvement into the benefit from retiming only and the incremental benefit from rerouting with retiming. The results for rerouting only are visible in the first bar in Figure 6.11(a) (i.e. rerouting and retiming, but with 0 minutes additional slack is equivalent to rerouting only). Figure 6.11(b) shows 174 Delay Transition Model: Results and Analysis

Reroute and Retime Improvement Retime Only Improvement 8% 8%

7% 7%

6% Total, 5.8% 6%

Total, 4.9% 1.2% 5% 5%

4% 1.5% 4%

3% Total, 2.2% 3% 4.6% 5.3% 2% 5.1% 3.4% 4.6% 2%

Average OTP Improvement OTP Average 3.4%

1% 2.2% Average OTP Improvement OTP Average 1% 0% 0 10 20 0% Total Additional Slack Added per LOF (minutes) 10 20 30 40 Retime only Incremental from rerouting (and retiming) Total Additional Slack Added per LOF (minutes)

(a) Retime and Reroute (DTM-RT) (b) Retime only (DTM-T)

Figure 6.11: Comparison of OTP improvement from retiming and rerouting versus retiming only

the average improvement for retiming only for up to 40 minutes of additional slack (since the DTM-RT could not be solved to optimality within the time limits for 30 and 40 minutes of additional slack). Interestingly, the improvement obtained by rerouting and retiming for 20 minutes (5.8%) is not even achieved by adding 40 minutes per LOF when retiming only is performed (5.3%). It is estimated that the additional 20 minutes of slack required to come close to the rerouting benefit would cost between 1.5 and 9.6 million US dollars‡ for the major commercial airlines in the Oceania region. However, this value in terms of OTP improvement is not achieved for free computationally; the reroute and retime problem (DTM-RT) is significantly more difficult to solve than the retime only problem (DTM-T). For example, when adding 40 minutes of slack, 80% of the problem instances for DTM-T could be solved to optimality within 1 hour, with an average solve time of 51 minutes, while none of the instances for DTM-RT could be solved within 60 minutes, in fact none were even solved within the maximum run time of 24 hours (see Table 6.6).

‡In Section 6.3.3, it is estimated that to add 255 minutes of slack per LOF to a 23 aircraft fleet would cost 9.2m 9.2 million US dollars per year for a 23 aircraft fleet, or 255×23 = 1569 USD per minute per aircraft. This can be used to estimate the cost to introduce 20 minutes of slack to each line of flying in the major commercial airlines in the Oceania region as follows:

Group: 306 aircraft ([94]), 9.6 million USD; • : 104 aircraft ([10]), 3.3 million USD; • Jetstar Group: 100 aircraft ([18]), 3.1 million USD; • Virgin Australia: 80 aircraft ([165]), 2.5 million USD; and • Tigerair: 48 aircraft ([160]),1.5m USD. 6.2 Benchmarks 175

Solved to optimality in < 60 minutes Average solve time (CPU mins) Flight Copies Additional Slack DTM-T DTM-RT SLM MLM DTM-T DTM-RT SLM MLM 1 0 mins 100% 100% 100% 100% 0.06 2.97 0.00 0.00 3 10 mins 100% 20% 100% 100% 0.22 72.53 0.03 0.15 5 20 mins 100% 0% 100% 100% 2.26 1563.14 0.03 0.20 7 30 mins 100% 0% 100% 100% 8.61 n/a 0.03 0.22 9 40 mins 80% 0% 100% 100% 51.78 n/a 0.03 0.23

Table 6.6: Solve time performance for DTM-RT, DTM-T, SLM and MLM

6.2.3 Model performance

We have already alluded to the trade-off between solution quality and computational effi- ciency in the previous section; here we assess that trade-off. First, we note that modifying the SLM or MLM to capture rerouting would result in a vastly different model structure, including the likely loss of the integrality characteristic of the Linear relaxation and hence a significantly more difficult model to solve. Therefore, this section focuses on comparing the model performance of the SLM/MLM versus the DTM-T.

Expanding the results collected for the DTM-T in Section 6.2.2, we solve the same in- stances using the SLM and MLM models. The average solve time and percentage of opti- mal solutions obtained within 60 minutes are compared for the different models. The results are shown in Table 6.6 (page 175). It is evident from the table of results that the SLM and MLM approaches are vastly more efficient than the DTM-T in terms of the computation time required to solve the problems to optimality. Specifically, all instances could be solved to optimality within 60 minutes, while only 80% of the 9 flight-copy instances could be solved to optimality in the same time limit for the DTM-T. In fact, the average solve time for the 9 flight-copy instances is only 0.23 minutes for the MLM compared with 51.78 minutes for the DTM-T. This is because the SLM and MLM can be solved using basic Linear programming techniques, while the DTM-T problem requires column generation with a specialist pricing algorithm. The SLM/MLM approaches are also more scalable than the DTM-T: the 9 flight- copy instances take on average 1.5 times longer to solve than the 3 flight-copy instances with the MLM (0.15 to 0.23 minutes) compared with the DTM-T which takes 235 times longer to solve the 9 flight-copy instances than the 3 flight copy instances (0.22 to 51.78 minutes).

We have already explored the accuracy of the SLM/MLM in Section 6.2.1, and note that the DTM models are far better at optimising the desired outcome, while the SLM/MLM 176 Delay Transition Model: Results and Analysis objective acts as more of a proxy for the desired on time performance measures such as average delay. However, as can be seen in Table 6.5 (page 173), they are quite effective in this role. For example, while the DTM-AVG improves the Average Delay by 2.00 (12.85 compared with the 14.85 of the original schedule schedule), the MLM achieves 84% of this benefit, improving the same measure by 1.67 (13.18 compared with 14.85).

These results demonstrate that the trade-off between the SLM/MLM approaches and the DTM approach is one of accuracy versus solve time, with the SLM/MLM offering a way to very rapidly solve the robust scheduling problem at the expense of accuracy and hence lesser quality solutions when compared with the DTM approach. Each approach will have its own advantage in different contexts. For example, the efficiency with which SLM/MLM approaches can be solved lends them to being embedded as part of a solution approach that integrates the robustness measure among other broader objectives for airline scheduling such as cost, revenue and profitability. On the other hand, the DTM approach is more appropriate for longer-term planning decisions where the additional computation time is acceptable given the improvement in solution quality.

One other point of difference between the models is the retiming intervals. The structure of the SLM/MLM models only allow retiming within 1 minute intervals, while the DTM- T provides flexibility to specify the retiming intervals. The reason the SLM/MLM models only allow retiming within 1 minute intervals is because the scheduled time for each flight is determined by a continuous variable, which due to the structure of the problem happens to always yield integer values when the linear relaxation is solved. Adding constraints to restrict the flight time intervals would significantly alter the structure of the problem, likely resulting in the loss of integrality for the linear relaxation. The flexibility to determine the retiming windows is useful in the Australian context because flights are scheduled to the nearest 5 minutes, so retiming in shorter intervals is not only redundant, but would result in inaccurate solutions (given rounding would be required to establish the scheduled time).

6.3 Robust Scheduling Insights

The idea for the DTM originally arose from a debate between two managers at The Air- line. An experienced scheduler, who was tasked with improving the operational integrity 6.3 Robust Scheduling Insights 177 of the schedule, was championing the value of slack to improve reliability with a commer- cial manager whose objective was to ensure maximum utilisation of the The Airline’s fleet of aircraft (and hence minimise slack). The two managers priorities were clearly conflicting, so the question of what would deliver the best outcome for the airline would need to be addressed. The commercial manager conceded that it would be possible to include some slack without affecting utilisation, given that accepted constraints such as crew duty limi- tations, airport curfews and commercially attractive flight times naturally limit the possible utilisation for some aircraft. Thus, the managers were able to agree that some slack could be added for “free”, provided the additional slack did not break any of the accepted con- straints or require any flight sectors to be dropped from the schedule to meet the accepted constraints. It would therefore be a matter of ensuring slack was allocated where it would achieve the greatest benefit. This raised a series of questions about where slack should be allocated to derive the greatest benefit: for a fixed amount of slack in a single line of flying, should slack be concentrated to one turn-around as a ’circuit breaker’, or should it be dispersed across the day? Should slack be allocated towards the start, middle, or end of the day? These questions are addressed in Section 6.3.1. The debate of whether it is worth sacrificing aircraft utilisation to provide slack for op- erational integrity remains unresolved and requires consideration of the commercial trade- offs (How much would it cost to improve reliability? What premium would a customer be prepared to pay for that reliability?), as well as a good understanding of the drivers of operational re- liability. To support future research into this area, we have conducted some preliminary analysis on the value of slack in terms of operational reliability. First, in Section 6.3.2 we explore the question of how much slack is useful and what the value of slack is in terms of delivering improved reliability. We then further explore the value of slack relative to other options for operational reliability in Section 6.3.3.

6.3.1 Where does the slack go?

To address the question of where slack is allocated, a multiple linear regression analysis using the ordinary least squares method was conducted. The focus of the analysis was identifying where the slack should be allocated within a single line of flying (LOF), and therefore the regression was conducted on a set of LOFs, with each LOF representing a single data point. 178 Delay Transition Model: Results and Analysis

The regression was designed to assess what variables are associated with improvement in the OTP of a LOF and therefore measures associated with the LOF both pre-optimisation and post-optimisation were required. To ensure a like-for-like comparison could be made for a single LOF, the post-optimisation results were derived from a schedule that was opti- mised using retiming only. The methodology for assessing which explanatory variables are associated with improved OTP is described below:

1. Define a metric for measuring the OTP improvement in a LOF (dependent variable); 2. Establish a hypothesis of which dimensions of slack allocation influence the magni- tude of OTP improvement; 3. Identify metrics for assessing the hypothesized dimensions (explanatory variables); 4. Conduct a linear regression analysis on the identified metrics to explore their influ- ence on the OTP improvement; then 5. Analyse the resulting linear model and interpret the coefficients.

Measuring improvement in OTP for a single LOF

Let the OTP of LOF i, denoted OTPi, be the average OTP of all flight sectors in LOF i. Note that OTPi will not only be a function of the slack allocated, but also of some basic properties of the LOF, specifically the transition function of the flights in the LOF and how many sectors there are. So that these factors do not skew the results of our regression analysis, we define a metric to standardize the OTP performance of a LOF. Define the SLACK PERFORMANCE of

LOF i, denoted SPi, as: WorstCasei − OTPi SPi = . WorstCasei − BestCasei

The BestCasei is calculated as the OTP of LOFi if all delays were primary delays only, i.e. if there was an infinite amount of slack between each flight sector in the LOF. The WorstCasei is calculated as the OTP of LOFi if all turns were minimum turns, i.e. if there was no slack between any of the flight sectors in the LOF. The SLACK PERFORMANCE metric is therefore a number between 0 and 1 representing how far OTPi is from the worst possible OTP for

LOFi, where 0 indicates a LOF with its worst possible OTP and 1 indicates a LOF with its 6.3 Robust Scheduling Insights 179 best possible OTP performance. Denote the SLACK PERFORMANCE IMPROVEMENT:

OTPi∗ − OTPi ∆SPi∗ = SPi∗ − SPi = , BestCasei − WorstCasei where i∗ refers to LOF i post optimisation.

Hypotheses and proposed metrics

For a fixed amount of slack added to a LOF, it was hypothesized that the following dimen- sions would influence ∆SPi∗ :

• Spread Is the slack concentrated or dispersed across the LOF? • Location Is the slack allocated towards the start, end or middle of the LOF? • Initial LOF quality How good was the LOF OTP to begin with?

To measure the spread of slack across a LOF, we propose to use the variance of the slack per turn, i.e. 1 σ2 = (s − µ )2, i N ∑ f i f ∈LOFi where N is the number of flights in LOFi, s f is the slack allocated immediately prior to flight f µ i µ = 1 s , and i is the average slack per turn in LOF ( i (N−1) ∑ f ∈LOFi f ). To measure the location of slack within a LOF, we propose to use the centre of mass of the slack, i.e. s f BLHi, f τi = ∑ × , Stot BLHi f ∈LOFi where BLHi, f is the cumulative block hours of all flights in LOF i prior to flight f , and

BLHi,tot is the cumulative block hours of all flights in LOF i. The result, τi is a number between 0 and 1 representing what part of the LOF, in terms of proportion of total block hours (BLH), the slack is allocated to. For example, a value of 0 means the slack is all at the start of the LOF, a value of 1 means the slack is all at the end of the LOF, while a value of 0.5 indicates all the slack has been allocated in the middle of the LOF.

To measure the initial LOF quality, we propose to use the slack performance measure SPi. 180 Delay Transition Model: Results and Analysis

Schedule # LOFS Slack per LOF Sectors per LOF OTP at 15 Minimum Turns (%) σ τ SP Mean Original 378 100 6 77.0% 35% 27.6 0.661 0.413 Retimed ±5 mins 378 106 6 80.0% 9% 24.8 0.676 0.489 Retimed ±10 mins 378 113 6 81.1% 3% 23.9 0.679 0.516 Retimed ±15 mins 378 119 6 81.5% 2% 23.7 0.680 0.526 Standard Deviation Original 378 79 2 7.0% 29% 26.0 0.180 0.127 Retimed ±5 mins 378 77 2 5.6% 15% 25.7 0.143 0.100 Retimed ±10 mins 378 76 2 5.2% 10% 25.4 0.135 0.099 Retimed ±15 mins 378 74 2 5.1% 8% 24.9 0.132 0.101

Table 6.7: Summary of data used for regression analysis

Data

The same ten schedules used in Section 6.2.1 were used for the regression analysis, with each LOF in each schedule used as a data point. Each schedule was optimised using the DTM-T method to retime the flights within ±5, ±10 and ±15 minutes. Table 6.7 provides a sum- mary of the resulting data set. Each retimed LOF i∗ was then compared with the correspond- ing LOF in the original schedule i to establish ∆SPi∗ , ∆τi∗ = τi∗ − τi and ∆σi∗ = σi∗ − σi. This resulted in 3 subsets of data: DS5, DS10 and DS15 corresponding to the optimised schedules retimed within ±5, ±10 and ±15 minutes respectively.

OTP was calculated using the EOTP15 measure; the measure for a single LOF was the sum of EOTP for each flight divided by number of flights (i.e average OTP).

Linear Regression

For each data set, DS5, DS10 and DS15, an ordinary least squares (OLS) regression was conducted for the dependent variable ∆SPi∗ as a linear function of the three hypothesized 1 explanatory variables, SPi, ∆τi∗ and ∆ . σi∗ Inspection of residual plots for this original model suggested a non-random distribu- tion, particularly for SPi (see Figure F.1, page 341), so the original model was rejected. In particular, the residuals appeared correlated to SPi, so a second model was attempted using 2 SPi as an explanatory variable in lieu of SPi. Inspection of the residual plots for the revised model suggest a random distribution of residuals (see Figure F.2, page 342). Furthermore, the F-statistic for the hypothesis that all coefficients in the model are zero result in a p-value that is much less than 0.05 for all 6.3 Robust Scheduling Insights 181

Coefficient Coefficient p-value (t-statistic) 2 1 2 1 2 Data set Adjusted R p-value (F-statistic) ∆ σ ∆τ SP ∆ σ ∆τ SP

DS5 0.9372 4.6E-147 0.0221 -0.0468 -0.4796 0.002 0.290 0.000 DS10 0.9463 4.5E-179 0.0188 -0.0583 -0.6601 0.003 0.050 0.000 DS15 0.9484 6.4E-192 0.0140 -0.0609 -0.7415 0.020 0.014 0.000

Table 6.8: Summary of linear regression model: Dependent variable ∆SPi∗ as linear function 2 of SPi , ∆τi∗ and ∆σi∗ data sets, so we do not reject this model (see Table 6.8, page 181). In addition the Adjusted R2 value for the model is greater than 0.93 for each data set, suggesting a good fit and supporting the validity of the model. The coefficients, Adjusted R2 values, and p-values for this model are presented in Table 6.8 (page 181).

An alternative version of the model was considered with a single data set, DSALL =

DS5 ∪ DS10 ∪ DS15, and an additional explanatory variable representing the change in slack for the optimised LOF compared to the original LOF, ∆µi∗ = µi∗ − µi, to capture the fact that there were varying amounts of additional slack allocated in each of the three data sets.

Unfortunately this model had significant multicollinearity for the ∆µi∗ variable (as indicated by the Variance Inflation Factor, or VIF, of 10.5) and hence could not be used. Instead, since the purpose of the regression was where to allocate the slack, not how much to allocate, the regression was conducted on each data set separately, with the increase in slack per LOF being fixed within each data set. By exploring the regression model for each dataset instead of one combined data set, we can still explore how the parameters change with increasing amount of additional slack by comparing the results on the different datasets.

Interpretation of Linear Model and Insights

Table 6.8 (page 181) shows the results of the OLS regression for ∆SPi∗ as a linear function of 2 1 SP , ∆τi∗ and ∆ . Analysis of the coefficients of each explanatory variable provides several i σi∗ insights into the effective allocation of slack within a LOF. 2 First, recall that σi represents the variance of the slack per turn in LOF i, and therefore ∆ 1 provides a measure of how the spread of the slack has changed from the original LOF i σi∗ to the optimised LOF i∗. The fact that the coefficients of ∆ 1 are all positive (0.0221, 0.0188 σi∗ and 0.0140 for data sets DS , DS and DS respectively) indicates that as 1 increases, i.e. 5 10 15 σi the spread of slack decreases, the performance of the LOF improves. Thus suggesting that 182 Delay Transition Model: Results and Analysis

Average % Slack Allocation per Turn (8 Sector LOFs, DS15)

35%

30%

25%

20%

15%

10%

5% % Slack Allocated (Average) Allocated Slack %

0% 1 2 3 4 5 6 7 Turn Original LOFs Optimal LOFs Equal Distribution

Figure 6.12: Optimal LOFs for DS15 show slack is more evenly distributed than original LOFs slack is better dispersed across the LOF rather than concentrated at specific turns. This is demonstrated in Figure 6.12 (page 182) which shows the average proportion of slack allo- cated to each turn in the 8 sector LOFs of DS15 both pre- and post-optimisation. The figure shows a smoothing effect from the optimised allocation of slack along the LOF, with the slack more evenly distributed across all of the turns in the optimised LOFs.

Observing the coefficient of SPi, which represents the quality of the LOF pre-optimisation, we see that the worse the original OTP of the LOF, the greater the improvement achieved through the addition of slack using optimisation. This is not only evident from the negative coefficients of the SPi variable in each regression model, but is also visible in Figure 6.13, which shows SPi versus ∆SPi∗ for data set DS15.

Finally, the coefficient for ∆τi∗ provides an insight into where the slack should be allo- cated along the LOF, i.e. whether it should be earlier or later in the day. Interestingly, the p − value for the ∆τi∗ coefficient is not significant at the 0.05 threshold for datasets DS5 and

DS10, so we reject the null hypothesis that the coefficient is non-zero for these models. On the other hand, for dataset DS15, we accept the hypothesis that the coefficient is non-zero. 6.3 Robust Scheduling Insights 183

ΔSPi* versus SPi (DS15) 80% y = -0.7144x + 0.5423 R² = 0.7095 70%

60%

50%

i*

40%

SP Δ

30%

20%

10%

0% 0% 10% 20% 30% 40% 50% 60% 70% 80% 90%

SPi

Figure 6.13: Greatest improvement in LOF performance obtained where original perfor- mance was poorer, i.e. ∆SPi∗ ∝ −SPi

The negative coefficient in this case indicates that slack is better allocated earlier in the day, since a higher τ value is associated with slack allocation weighted towards the end of the day. This relationship is visible in Figure 6.14 (page 184) which shows the cumulative distri- bution of slack allocation along the LOF for both the original and optimised LOFs in DS15. By interpreting the coefficients of the OLS regression model, we have established that: (i) slack is best allocated across many turns throughout the LOF rather than concentrated around a few turns; (ii) improvement in performance is greatest when slack is allocated to poorer performing LOFs (where performance is measured relative to the best and worst case for the LOF under consideration); and (iii) slack is best allocated earlier in the day. An alternative interpretation of observation (ii) is that slack is best allocated across many LOFs rather than concentrating it on a single LOF; this interpretation stems from the fact that improvement is greatest on the LOFs performing closest to their worst case, which is the LOFs with the least slack, since by definition the worst case is the expected performance when their is no slack at all. Therefore both observations (i) and (ii) support the spread of slack across a schedule rather than concentrating it to individual aircraft or turns. 184 Delay Transition Model: Results and Analysis

Cumulative Slack Allocation (% Slack versus %LOF BLH, DS15) 100%

90%

80%

70%

60%

50%

40%

30% % Slack Allocated Slack % 20%

10%

0% 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% % LOF (BLH)

% Slack Original % Slack Optimal

Figure 6.14: Optimal LOFs for DS15 allocated slack earlier in the LOF than the original LOF

These results are subject to several limitations. First, the regression model assumes a linear relationship between the dependent and explanatory variables. Second, the models only addressed the addition of small amounts of slack (10 to 30 minutes); the insights may vary when greater amounts of slack are added. Finally, the analysis only considers the retiming of an existing LOF, with retiming only allowed in small windows, and therefore these results will be influenced by the structure of the original LOFs.

Finally, it is worth noting that the peak of slack allocation at turn number four in the Original LOFS of Figure 6.12 (page 182) appears to be a fire-break buffer. That is, a buffer designed to absorb long delays and/or provide an opportunity to swap aircraft in the event of a major delay. By assuming that only push-back recovery is used, our model may be ignoring the value of these swap opportunities, and therefore by smoothing them out, it is possible that the Optimal LOFs are no longer as robust to major delays. To explore this issue further, additional research is recommended into extending the DTM to incorporate recovery decisions other than push-back (see Section 6.4.3, page 196). 6.3 Robust Scheduling Insights 185

OTP Improvement per Minute of Slack Added versus Total Slack Added 0.9%

0.8%

y = -0.001ln(x) + 0.0068 0.7% R² = 0.9982

0.6%

0.5%

0.4%

0.3% of Slack Slack (%) of

0.2%

0.1%

0.0%

Average OTP Improvement per Minute per Improvement OTP Average 0 5 10 15 20 25 30 35 40 45 Total Additional Slack per LOF (minutes)

Figure 6.15: OTP Improvement per minute of slack added versus total slack added

6.3.2 How much slack is enough?

To support future research into the trade-off between maximising aircraft utilisation to achieve commercial outcomes and reducing utilisation to ensure operational reliability, we consider the following questions: (i) How much slack is useful/required? and (ii) What profile of delay is recovered using slack?

To investigate how much slack is useful, we explored how the improvement in reliability obtained per minute of slack added to a LOF varied with the total amount of slack added. This was done using the same results as Figure 6.11 (b) (page 174, section 6.2.2), i.e. a series of LOFs were optimised for OTP at 15 minutes, using the DTM-T to retime flights within ±5, 10, 15 and 20 minutes of the original scheduled flight i.e. adding 10, 20, 30 and 40 minutes of slack respectively to each LOF. Figure 6.15 (page 185), shows the average improvement in OTP at 15 achieved for each additional minute of slack added to the LOF. The results demonstrate diminishing returns for adding slack, i.e. the first minute of slack provides the greatest benefit, with each subsequent minute of slack added providing less improvement than the previous minute. 186 Delay Transition Model: Results and Analysis

Reduction of Delays by Delay Category (%) 4.0%

3.5% 3.4%

3.0%

2.5% 2.2% 2.0%

1.5%

1.0%

0.5%

0.0% 0.0% % Delays Delays Reduced % 0.0% -0.3% -0.3% -0.5% -0.4% -0.5% -0.4% -0.6% -0.6% -0.7% -1.0% -0.9% -0.9%

-1.5%  (,5] (5,1] (1,15] (15,2] (2,25] (25, Delay Category

plus 10 minutes slack plus 20 minutes slack

Figure 6.16: Average improvement by Delay Category for 10 and 20 minutes additional slack per LOF

The same results were used to investigate what profile of delay is recovered using slack. The profile of delays (i.e. proportion of delays in each category) for the optimised schedules with 10 and 20 minutes of slack added were compared with the original schedule. The percentage of improvement in each category compared to the original schedule is shown in Figure 6.16, page 186. Interestingly, the results for the addition of 10 and 20 minutes of slack both show no improvement in the 0 to 5 minutes delay category. For the remaining categories of delay, however, they both show greatest improvement for the ‘shorter’ delays, with reduced ability to recover the ’longer delays’. This will partially be due to the long tail of delays captured in the 25 minute plus category (see, for example, Figure 2.4, page 49), meaning that even with some slack for these long delays, it is insufficient to transition the delay out of the 25 minute plus into one of the ‘shorter’ categories.

Further research is required to better understand how much slack is enough, but these preliminary results suggest that continuing to add additional slack becomes an increasingly expensive way to improve OTP, and the impact of slack alone is fairly limited when trying to reduce lengthy delays. The question remains whether instead of adding slack to each 6.3 Robust Scheduling Insights 187

LOF, it is more beneficial to plan each aircraft with maximum utilisation, and use leftover capacity to allocate an entire spare aircraft that can be used to recover lengthy delays such as when one aircraft becomes unserviceable. To assess this style of slack, a model would need to consider a broader range of recovery options than just basic push-back, and the approach would also likely impact not just on time performance, but the number of cancellations too.

6.3.3 What is the value of slack?

Slack is just one way to improve operational reliability, providing an opportunity to catch up after things have already gone off-schedule. Alternative approaches would focus on pre- venting delays in the first place, for example through streamlined policies and procedures or new technology. In this section we establish a framework for exploring the value of slack in terms of the OTP improvement it delivers compared with other options for improving operational reliability. This is done by identifying the cost of allocating enough slack to achieve a 1% improvement in OTP for each option considered. This framework can then be used to compare a range of initiatives for improving On Time Performance. To assess the cost of each 1% improvement, first we sought to identify the key factors affecting OTP by conducting a multiple linear regression analysis using the ordinary least squares method, using the same methodology for the regression analysis conduction in Sec- tion 6.3.1, but identifying different explanatory and dependent variables more appropriate to the question at hand. The coefficients of the resulting model were then used to establish the improvement required in each factor to achieve a 1% improvement in OTP.

Dependent variable

Since we are measuring the key factors affecting OTP, the dependent variable in this case will be OTPi, the average OTP of all flight sectors in LOF i.

Hypotheses and proposed metrics

It was hypothesized that the following factors affect OTP:

1. Primary delay performance When everything is running on schedule, how often do things go wrong? 188 Delay Transition Model: Results and Analysis

2. Turnaround performance How well does the airline deliver its turnaround process to pre- cision when there is no slack? 3. Slack How much opportunity is there in the schedule to catch up when things go wrong?

To measure the primary delay performance, denoted pi, we use the expected OTP of LOF i if all flights in i had zero propagated delay and therefore only primary delays, i.e. if there was an infinite amount of slack between each flight sector in the LOF. The turnaround performance, denoted ti, was measured using the transition performance of LOF i assuming all flights had zero slack. Slack, denoted si, was measured using the average slack per turnaround in the s = 1 s s f f − N LOF, i.e. i (N−1) ∑ f ∈LOFi f , where f is the slack between flights and 1, and is the number of flights in LOF i.

Linear Regression

To establish what improvement is required in each of the identified factors to achieve a 1% improvement in OTP, a multiple linear regression analysis using the ordinary least squares method was conducted. The regression was conduced using the optimised schedules of

DS15 described in Section 6.3.1 where each LOF represents a single data point. The opti- mitised schedules of DS15 were used so that the data set represents a schedule where as much slack as possible that can be added for “free” has been optimally allocated, so that any additional slack would come at a cost.

The OLS was conducted for the dependent variable OTPi as a linear function of the three hypothesized explanatory variables pi, si and ti, i.e. OTPi = α1 pi + α2si + α3ti. Inspection of the residual plots for this model suggest a sufficiently random distribution to accept the model (see Figure F.3, page 343). Furthermore the F-statistic for the hypothesis that all coefficients are zero is 1381.41, for the F3,74-distribution this equates to a p-value of 6.8E-202 which is much less than 0.05, so we do not reject this model. In addition, the Adjusted R2 value for the model is 0.917 suggesting a good fit and supporting the validity of the model. The coefficients and their associated p-values are shown in Table 6.9 (page 189). The cost of 1% improvement in OTP for each factor was calculated by dividing 1% by each coefficient; the results are shown in the final column of Table 6.9. For example, a 1% improvement in OTP would require an additional 51 minutes of slack per flight. Next we estimate how much this would cost to implement. 6.3 Robust Scheduling Insights 189

Parameter Coefficient, α t-stat p-value 1% OTP improvement per ... Intercept +0.018747 -5.56 5.27E-08 n/a Average slack per flight (minutes), si +0.000196 -5.28 2.18E-07 additional 51 minutes Primary delay performance (% OTP), pi -0.931874 33.79 1.07E-115 reduction of 1.1% Minimum turn performance (% OTP), ti -0.300144 39.57 9.32E-136 reduction of 3.3%

Table 6.9: Summary of linear regression model, ∆EOTPi = α1 pi + α2si + α3ti

Cost to improve On Time Performance with slack

The book The Global Airline Industry [27] contains an overview of ownership costs for the A320 aircraft fleets of Northwest Airlines and JetBlue. In 2005 Northwest had an average daily utilisation of 9.3 hours per aircraft per day and ownership costs of 613 USD per hour, i.e. a daily cost of 5700 USD. In the same year JetBlue had an average daily utilisation of 13.7 hours and ownership costs of 486 USD per hour, i.e. a daily cost of 6658 USD. For our estimates, we will assume an average of 6180 USD per day.

As per Table 6.7 (page 180), DS15 has an average of 6 sectors, or 5 turns, per LOF there- fore an additional 51 minutes of slack per flight would require an additional 5 × 51 = 255 minutes, or 4.25 hours per LOF. An airline operating 50,000 sectors per annum with 6 sec- tors per aircraft per day would have 23 aircraft (i.e. 23 LOFs). Therefore the additional 4.25 hours of slack per LOF would require 4.25 × 23 × 365 = 35, 678 additional hours of aircraft time. If we assume that aircraft time is only useful between 0600 AM and midnight (due to either airport curfews or commercial unattractiveness of overnight flying), this would require an additional 35, 678 ÷ (18 × 365) = 5.43 aircraft. Alternatively, assuming the ad- ditional aircraft can be spread across the full 24 hours in a day then only an additional 4.07 aircraft would be required. Using the assumed 6180 USD per day, this results in a cost of 12.2 million USD per annum§ and 9.2 million USD per annum¶ respectively. The estimate of 9.2-12.2 million USD to improve OTP by 1% is subject to several caveats discussed in detail below. However, the estimate is sufficient to show that it is significantly more expensive than the previously identified 1.5 million USD it would cost to improve OTP by flying faster (see Section 3.6.4), suggesting that there are more efficient ways to im- prove OTP than introducing additional aircraft to increase slack. One reason flying faster is more cost effective is because the approach can be embedded in a policy where it is applied

§5.43 × 6180 × 365 = 12.2 million ¶4.07 × 6180 × 365 = 9.2 million 190 Delay Transition Model: Results and Analysis reactively, i.e. only if a delay has already occurred where flying faster to catch up will reduce the delay. Slack, on the other hand, needs to be added preemptively into the schedule and may not always be useful if a delay does not occur on a flight preceding the slack. How- ever, when it can be added for free, adding slack remains a useful method for increasing reliability. Furthermore, there are limits to the improvement that can be achieved by flying faster because the difference between the planned operating speed and the maximum speed is limited to a few minutes per sector. As mentioned, the estimate of 9.2-12.2 million USD per 1% OTP improvement is subject to several caveats and limitations. First, it assumes the schedule already has slack opti- mally allocated where it is available and “free”, i.e. that each LOF has no capacity for addi- tional slack without losing revenue due to reducing flights to fit within curfews or retiming evening flights into overnight flights which typically attract a lower fare for shorter sectors. Second, it only factors in an average cost of ownership for the additional aircraft time, it does not capture any other costs that might be incurred to reschedule the flights to include additional slack such as longer crew duties resulting in increased manpower costs, addi- tional ground costs such as airport parking or ground power, or any towing requirements if an aircraft is scheduled to be on the ground for too long requiring it to be towed off gate. Furthermore, it assumes an ability to reroute the LOFs to deliver the original schedule with only the extra aircraft identified. In reality, depending on the network, a greater number of aircraft may be required to deliver the schedule. On the other hand, it may be cheaper to add slack without the additional aircraft by retiming flights outside customer preferences but accepting a lower fare to ensure sufficient demand.

Benchmarking approaches for improving OTP

So far we have established a framework for assessing the value of slack in terms of OTP improvement as well as its associated cost. This framework could be extended to identify the value and cost of other approaches for improving OTP. For example, having identified that a 1.1% improvement in primary delay performance would deliver a 1% improvement in OTP, it would be possible to analyse the delay code data described in Section 4.1.1 (page 96) to identify the root cause of primary delays and identify means for addressing them. For example, if analysis of the delay codes highlighted a large number of delays in Passenger 6.4 Conclusion to Part II 191 and baggage handling were due to mistakes by staff, it would be possible to investigate the cost to deliver training to correct the mistakes as well estimate the expected reduction in mistakes to establish the impact on primary delay performance and hence the expected OTP improvement. Future research is recommended to explore this analysis to establish the value of slack relative to other levers.

Future research is also recommended to assess the value of OTP to help establish the level of investment an airline should make to achieve operational reliability. This research would need to consider a variety of questions: What premium would passengers be prepared to pay for reliability? How does this vary depending on whether the airline is a full service or low cost carrier? How does this vary depending on the reliability of competitors? An alternative approach could focus on the cost of recovery, including but not limited to requirements to provide disrupted passengers with accommodation and/or meal allowances.

6.4 Conclusion to Part II

In this part of the thesis (Part II), we addressed the simplified robust schedule design prob- lem of taking an existing airline schedule and using it to construct a new schedule with equivalent costs that is most robust in the absence of any active recovery decisions. Specifi- cally we developed a new metric for measuring the robustness of a schedule, and designed an approach to optimise this metric by reallocating slack through the retiming of flights and rerouting of aircraft. Our research builds on existing models that reallocate slack through the retiming of flights or the rerouting of aircraft. Our optimisation model is unique from other approaches because: it does not assume that primary delay is independent of prop- agated delay; it allows for the retiming and rerouting of a schedule in one model; and it optimises a profile of delay rather than a single statistic such as average delay. In addition to the novelty of the model itself, our solution approach for optimising the model utilised a bespoke algorithm, the DTM-PRICE-LABEL, a label setting algorithm which exploited special properties of the underlying problem, namely that the delay transition function is stochastically monotone (i.e. things stay the same or get worse, rather than getting better), and that a practical cost function for the delay profile is non-decreasing. Using this model and solution approach, we were able to assess where best to allocate slack within a sched- 192 Delay Transition Model: Results and Analysis ule to achieve robustness to minor delay. In what follows, an explanation of the research methodology adopted is provided, followed by a summary of the findings, and recommen- dations for future research.

6.4.1 Research Approach

Recognizing the complexity of the robust schedule design problem, particularly with ref- erence to the interaction between the original schedule design and recovery actions taken in the event of disruption, some simplifying assumptions were made. Specifically, it was assumed that the only recovery action that would be taken would be push-back, i.e. all flights would be delayed until their required resources were available. Furthermore, given the challenges in measuring the planned cost compared with the actual cost of a schedule, again due to the complex interaction between the original schedule and recovery actions undertaken, a further simplifying assumption was made to take an existing schedule (op- timised for cost) and make minor modifications to reallocate slack within the schedule and thereby improve its robustness. The goal of the research was to develop an approach that addressed limitations of exist- ing solutions to the problem and could be adopted for use in a practical setting, i.e. usable on real airlines schedules, solutions available within practical run times, and parameter set- ting achievable using data available to an airline. The steps taken to achieve this goal were:

1. Conducted a review of existing techniques for designing robust schedules; 2. Developed a new metric and optimisation model to address the identified shortcom- ings of existing approaches; 3. Used real historical data to set parameters and analyse the accuracy of calculated parameters; 4. Developed a bespoke, column generation based algorithm to solve the optimisation model; 5. Used the model to optimise schedules from a real airline, the Airline; 6. Analysed the results obtained to identify practical recommendations for allocating slack to achieve a robust schedule.

The findings obtained through implementing this approach are outlined in the following section. 6.4 Conclusion to Part II 193

6.4.2 Findings

Finding 1: Primary Delay is not independent of Propagated Delay

All approaches reviewed in Chapter 2 explicitly assumed that primary and propagated de- lay are independent of one another, with the assumption usually made because it facilitates a simplified computational technique. Anecdotally, operational staff at the Airline had al- ways assumed the opposite was in fact true, i.e. that usually the presence of a propagated delay was more likely to induce further primary delays. In Chapter 2, we analytically ex- plored the relationship between primary and propagated delay using the Pearson’s χ2 test for independence on historical data from the Airline, demonstrating that the assumption of independence was not valid for the data assessed. This challenges previous research that has adopted techniques designed under the assumption of independence of primary and propagated delay.

Finding 2: Optimising the new metric with retiming and rerouting can significantly im- prove expected OTP

Using the optimisation model developed in Chapter 3 and the refined approach for solving the model presented in Chapter 5, it was established that significant improvements in the expected On Time Performance of a schedule could be obtained by retiming flights within small time windows and rerouting aircraft (see Chapter 6, Section 6.1.6). In just 60 min- utes of computation time, allowing rerouting and retiming within 5 minutes of the original schedule, the method was able to improve the expected OTP for existing schedules from an average of 75.9% to 80.0%

This reinforces findings of previous research in Lan et al. [110] and Ahmadbeygi et al. [8] that demonstrated significant improvements in the expected delay of a schedule by rerouting and retiming respectively. Furthermore, it extends the findings by retiming and rerouting in the one model, focusing on a new metric consistent with standard industry measures for punctuality (rather than an average delay measure), and ensuring the finding remains valid regardless of the assumption of independence. 194 Delay Transition Model: Results and Analysis

Finding 3: A trade-off is required between various drivers of statistical accuracy when using historical delay data to compute delay transition functions

In Chapter 4, a series of considerations for discretizing the delay transition functions was explored. Consideration was given to the number of delay categories to discretize the con- tinuous distribution into, with the primary concern being to ensure that the parameter esti- mates for the delay transition function were statistically significant, with sample size being the key driver of significance. However, it was found that to ensure sufficient sample size to achieve statistically significant parameter estimates required both an increased clustering of flights and a coarser discretization of the delay distribution. This resulted in both an averag- ing out of delay behaviour for flights in the same cluster as well as reducing the granularity of the discrete function. This in turn introduced approximation error for the resulting tran- sition calculations, leading to the finding that a trade-off is required between the various drivers of statistical accuracy. Further research is required to establish an accurate approach for categorizing and discretizing the delay profiles to make this trade-off effectively.

Finding 4: Delay transition functions for the Airline are stochastically monotone

Critical to the development of an efficient label setting algorithm for the column generation subproblem of Chapter 5 is the stochastic monotonicity of the delay transition function. The stochastic monotonicity of the delay transition functions developed using historical data from the Airline was established by calculating the dominance matrix for each delay transition function and testing that each entry was non-negative (see Chapter 5, Section 5.5.2). To the best of the author’s knowledge, this has not been tested or ascertained before due to the novelty of using a delay transition function for robust airline scheduling.

Finding 5: Integrality of the linear programming relaxation of the Delay Transition Model restricted master problem (DTM-RMP)

Initial results of solving the linear relaxation of DTM-RMP from Chapter 5 yielded only integer valued solutions. Following extensive testing and further computational results yielding only integer valued optimal solutions, analysis was conducted to establish whether or not this was a coincidence or whether some underlying structure of the problem could guarantee that the optimal solution to the linear relaxation would always be integral. While 6.4 Conclusion to Part II 195 we were unable to prove analytically that the problem will always have an integer valued optimal solution for the general case, a proof for the case with only one aircraft is provided in Appendix D.

Finding 6: Available slack is most valuable when distributed across a schedule

In Chapter 6, Section 6.3.1, results from the DTM solution approach were used to investigate where best to allocate slack within a schedule. An ordinary least squares regression analysis was conducted on several optimised schedules to identify what factors of slack allocation were associated with improvement in OTP. Both increasing the spread of slack across a LOF, and increasing spread between LOFs (by allocating slack to those LOFs with the least slack) were found to be significant factors in the OTP improvement achieved. To the best of the author’s knowledge, analysis to determine where slack is best allocated in an airline schedule has not been previously researched, rather existing research has focused on the optimisation method used for allocating the slack. Having said that, Wu did observe that the convention of adding a fire-break buffer to a line of flying (i.e. a large amount of slack in the middle of the day) did not control delay propagation on afternoon flights to the extent that would have been expected (Wu [176]). Wu’s observation, which is consistent with this finding, was based on the examination of average delays for a single aircraft routing.

Finding 7: The allocation of slack to a line-of-flying provides diminishing returns in OTP improvement as more slack is added

In Chapter 6, Section 6.3.2, results from the DTM solution approach were used to investi- gate how much OTP improvement was achieved per unit of slack added to each LOF. The results demonstrate that the first minute of slack provides the greatest benefit, with each subsequent minute of slack providing less improvement than the previous minute, i.e. the addition of slack provides diminishing returns in punctuality improvement. To the best of the author’s knowledge, no prior research has been conducted to demonstrate the dimin- ishing returns of slack for improving on time performance. However, while this finding is not observed or discussed by Ahmadbeygi et al. [8], it is consistent with the results they present to demonstrate the impact of their approach. 196 Delay Transition Model: Results and Analysis

Finding 8: The addition of slack, beyond that which can be introduced for zero cost, is an expensive approach for improving On Time Performance

In Chapter 6, Section 6.3.3, results obtained using the DTM solution approach were com- bined with information in the literature about the cost of aircraft capacity to establish an es- timate of the cost to improve OTP through the addition of slack. An ordinary least squares regression analysis was conducted on several optimised schedules to identify what factors, including the addition of slack, were associated with improvement in OTP. The coefficient of the resulting model could then be interpreted as the OTP improvement achieved per minute of slack added. Using this coefficient, it was calculated that an additional 51 min- utes of slack would be required to improve OTP by 1%, and the cost to free up sufficient aircraft time to make this slack available is approximately 9.2-12.2 million USD. Prior research into slack allocation for robust airline scheduling has focused on the al- location of “free” slack, making minimal adjustments to an existing schedule to reallocate slack more effectively, and/or adding a small amount of slack for theoretically no cost. The Eurocontrol Technical Report [157] investigated the cost of buffer in terms of under-utilised resources, but assumed the cost of aircraft capacity to be zero, asserting they are ’sunk’ costs. While this assumption holds where there is capacity to add slack without jeopardizing the schedule (either dropping flights entirely, or shifting flights into commercially unattractive times), it fails when the schedule has been saturated with ’free’ slack. Therefore, our find- ing represents a unique insight into the cost to improve OTP using slack where there is no available capacity to allocate slack for free.

6.4.3 Future Research

Throughout this part of the thesis, several opportunities to advance the research were pro- posed. These proposals can each be categorized as either:

• improving the model (Delay Transition Model), • enhancing the accuracy of the parameter estimates, • improving the solution approach to DTM-COLGEN, or • exploring other applications of the model.

In what follows, opportunities within each category are briefly explored. 6.4 Conclusion to Part II 197

The model

In Appendix C, both the implications of incorporating crew and maintenance decisions into the Delay Transition Model and the changes required to adapt the Delay Transition Model ap- proach to airlines with different network structures to the Airlineare explored.

First, in Appendix E.1 the implications of incorporating crew and maintenance decisions into the Delay Transition Model are described, as well as modeling techniques to address them. The adjustments described are somewhat restrictive in how much the existing sched- ule can be changed. Future research is recommended to explore less restrictive approaches to modeling and constraining the maintenance swap opportunities and maintenance opportuni- ties in the DTM-COLGEN model (Appendix E.1.1, page 328). Furthermore, the crewing and maintenance constraints described in Appendix E.1 are tailored to the production driven schedule design adopted at the Airline. Further work is required to capture crew and main- tenance constraints in the Delay Transition Model for it to be used at other airlines, though some consideration was given to the topic in Appendix E.2.5 (page 334). This may also require refinement of the DTM-COLGEN solution approach.

Given the impact the underlying design process has on the usability of the DTM and DTM-COLGEN solution approach, it would be interesting to explore the trade-offs between a simple production driven schedule design process (such as the one at the Airline) versus the flexibility of other schedule design processes. It would be particularly interesting to explore whether the benefits of this approach, such as simplicity of operations, the robustness of crew staying with the aircraft and cost effectiveness of not having crew layover out of base, outweigh the potential benefits of having more flexibility when scheduling crew and aircraft (Appendix E.2.5, page 335).

While slack time is regularly added into the ground time of a schedule to enable prop- agated delay to be reduced, in the literature at least, slack time has not been added into the scheduled block time. Furthermore, it is possible for airlines to fly their planes faster to make up time en route at the cost of additional fuel burnt. Through the additional transi- tion point for block delays, as described in Section 3.5.4 (page 79), it would be interesting to test the impact of adding slack into turns versus blocks. The block transition could also capture the option to fly faster as an alternative recovery decision. The separation into two transition points would also improve the accuracy of the parameters being estimated by 198 Delay Transition Model: Results and Analysis deaveraging the combined effects of ground delay and en route delay.

Finally, as summarised in Findings 7 and 8, allocating small amounts of slack time into the schedule and considering push-back as the only recovery option can only improve the robustness of a schedule to minor delays. Further improvements in schedule robustness would require an ability to address major delays, and therefore, in order to broaden the impact of the DTM, future research is recommended to incorporate other recovery decisions such as cancellations, crew swaps and aircraft swaps as well as other forms of redundancy such as spare aircraft and aircraft swap opportunities.

Parameter estimate accuracy

As mentioned in Section 4.4 a comprehensive exploration of the statistical accuracy of the transition probabilities identified using historical data is beyond the scope of this thesis. As such future research into accurate estimates of the transition probability parameters is recommended.

Furthermore, the delay performance of flights leaving a particular port depend not only on the historical performance, but on many other factors that may have changed, including but not limited to, the experience levels of crew operating the flight, the engagement of staff and the weather. Further research is required to identify the factors that affect the likelihood of a specific flight incurring a delay, and the degree to which they influence it. Our work has already identified the presence of propagated delay as a critical factor (see Section 2.4.1), however other critical factors remain. To assess the relative significance of each factor, one approach would be to do a longer term, historic analysis of flight delay performance rela- tive to the key factors, for example via a multivariate regression model. A model could be built to predict the probability of primary delay based on various factors such as passenger loads, weather, airport traffic, staff numbers, amongst others. Such research could not only improve the accuracy of the transition probability parameters used as input into the DTM model, but would also provide valuable insights into the key issues at play when trying to manage the On Time Performance of an airline. 6.4 Conclusion to Part II 199

Solution approach

While the computational results of Section 6.1 demonstrate the effectiveness of the DTM- COLGEN algorithm for generating robust schedules, there remain opportunities to acceler- ate the solution approach, particularly with reference to solving the DTM-PRICE problem. Ideas already considered include an algorithm that initially uses DTM-PRICE-RSP, but re- verts to DRM-PRICE-LABEL when the rate of improvement slows to certain threshold as described in Section 6.1.3 (page 158), as well as the additional speedups of Appendix E.3 (page 335).

In addition to accelerating the solution algorithm, implementation of the DTM-COLGEN problem with crew and maintenance constraints, described in Appendix E.1.4 (page 331), is recommended to facilitate analysis of the impact of the additional constraints on the so- lution algorithm. Similarly an investigation into the efficiency of a labeling algorithm for solving the pricing problem with maintenance constraints, DTM-PRICE-MTCE (Appendix E.1.1, page 327), would be of interest.

Other applications

The Delay Transition Model described in this thesis deals with the allocation of slack to re- cover from delay, with the goal being to distribute the slack so as to optimally reduce the likelihood of having delays in unfavorable delay categories. More generally, it addresses the optimal allocation of a replenishing resource (i.e. slack time) at various points in a degen- erative process (i.e. a sequence of flights). The modeling and optimisation approach could therefore equally be applied to other applications that exhibit a similarly degenerative tran- sition process. Examples worth exploring include infrastructure repair projects such as road and pavement maintenance models (Dekker et al. [52], Moazami et al. [126], Ortiz-Garc´ıa et al. [130]), general maintenance models (Dekker [51]) or health care applications where different treatments have varying chances of preventing and/or curing an illness. In any of these applications, it would need to be confirmed that the repair and degenerative processes exhibit stochastic monotonicity as per the aviation example of this thesis. 200 Delay Transition Model: Results and Analysis

6.4.4 Contributions

At the beginning of each chapter in Part II, the primary contributions of that chapter were highlighted. The most significant of these contributions are:

• Statistical evidence that primary delay on a flight is not independent of the propa- gated delay already on the flight; • A simple framework for calculating the expected on time performance of a schedule that does not rely on computationally intensive simulation and can use historical data readily available at most airlines; • The Delay Transition Model, a MIP for optimising the expected on time performance of a schedule, the particularly novel features of which are that it:

1. does not assume that primary delay on a flight is independent of the propagated delay already on the flight; 2. allows optimisation over the profile of the delays in the schedule, rather than just a single point on the distribution or a statistic; 3. retimes flights and reroutes aircraft to reduce propagated delay; and 4. has been modeled uniquely via the embedding of a Markov Decision Process into a MIP, with decision variables representing the probability of being in each state.

• An efficient column generation algorithm for solving practical examples of the De- lay Transition Model problem, including a label setting algorithm for solving short- est path problems with stochastic, multiplicative arc costs, provided the transition functions along the arcs are stochastically monotone, and the cost function is non- decreasing; • Confirmation that typical scheduling problems at the Airline have stochastically mono- tone transition functions and non-decreasing cost functions; • Proof that the solution to the linear relaxation of the DTM-COLGEN master problem is integral at the root node; • Computational results demonstrating the computation time, solution quality, and op- timality performance of the various Delay Transition Model solution algorithms; • Insights into approaches for generating robust schedules based on the schedules ob- tained using the Delay Transition Model; and 6.4 Conclusion to Part II 201

• An explanation of changes required to adapt the Delay Transition Model approach to airlines with different network structures to the Airline.

Part III

Disruption Management

203

Introduction to Part III 205

Introduction to Part III

HEN an airline or airport resource becomes unavailable so that the original sched- W uled usage of resources is no longer feasible, an airline must decide how to recover its operations. Airlines are constantly facing operational disruptions such as reduced airport capacity due to bad weather or labour disputes, or unexpected aircraft unavailability due to mechanical failures, leading to delayed or canceled flights. In response to this issue, in 2008/9, the French Operational Research and Decision Sup- port Society organized a worldwide competition, the ROADEF 2009 Challenge, to explore new approaches for handling operational disruption in airlines. In this part of the thesis, we report on and extend research done to address the ROADEF Challenge (the Challenge). In Chapter 7 we provide an overview of the existing approaches to recovery, both in actual commercial airline operations, as well as advances that have been made academically. In Chapter 8 we then present a new model and algorithm for solving the recovery prob- lem for disrupted passengers and aircraft. We present two mixed integer programming models (MIPs) developed for integrated schedule, aircraft and passenger itinerary repair, which are the focus of the Challenge. Both models are based on the flight connection net- work, and use continuous variables for flight times in the repaired schedule, but explore different trade-offs between size and strength of the model. Since neither MIP can yield good quality solutions in the strict time lines required for operational decision-making, we address the problem in two stages, and develop an iterative approach based on our MIP models. These yield significant improvement on basic MIP optimisation, particularly on the larger problems. Interestingly, for all test cases considered, the Multi-commodity network flow model of the second stage yields integer solutions when being solved as a Linear Program. In Chapter 9 we investigate the structure of the problem to explore why this is the case.

Chapter 7 Schedule Recovery: Airline Disruption Management

This chapter explores the airline schedule recovery problem, including a brief literature review and overview of the specific problem definition addressed by the ROADEF 2009 Challenge. Two Mixed Integer Programming formulations for addressing the challenge are presented.

Airlines are constantly facing operational disruptions such as reduced airport capacity due to bad weather or labor disputes, or unexpected aircraft unavailability due to equip- ment failures, leading to delayed or canceled flights. In response to this issue, in 2008/9, the French Operational Research and Decision Support Society organized a worldwide com- petition - the ROADEF 2009 Challenge, or the Challenge - to explore new approaches for handling operational disruption in airlines (Palpant et al. [133]). In this chapter, two mixed integer programming models (MIPs) are presented for integrated schedule, aircraft and pas- senger itinerary repair, which are the focus of the Challenge. Both models are based on a flight connection network and use continuous variables for flight times in the repaired schedule, but represent different trade-offs between size and strength of the model. The chapter begins with a brief introduction to the Challenge followed by a general review of the airline recovery literature, focusing on considerations addressed in the Challenge.A summary of the methods adopted by the competition finalists is then provided. Finally the two MIPs developed to address the Challenge are presented. The primary contributions of this chapter are:

• A comprehensive Mixed Integer Programming model for recovering both aircraft and passengers when an airline is operationally disrupted, including consideration of a wide range of resources: passengers, airports, aircraft capacity, aircraft maintenance requirements, and many disruption types: flight delays, flight cancellations, airport

207 208 Schedule Recovery: Airline Disruption Management

capacity restrictions and aircraft availability. • Formulation of an alternative MIP model to reduce the number of variables required.

7.1 Introduction to the Challenge

Since deregulation in the 1970s, airlines have been operating near their capacities, allowing little slack in flight durations in the hope that the airline schedule will operate as planned. However, this optimistic scenario is rarely achieved in practice since airline schedules are frequently disrupted by bad weather, aircraft mechanical failures, airport fuel shortage, sur- face transportation congestion, strikes, fluctuating customer demands and many other in- tangible factors. In fact, airlines have been suffering from increasing levels of disruption in the last decades.

In 2003, fuel shortage hit Sydney airport caused numerous flights delayed or cancelled affecting around 2,500 passengers, and more recently computer glitch hit US flights with dozens of flights cancelled or delayed (BBC News [3, 4]. The Federal Aviation Administra- tion (FAA) reported a 58% increase in delays from 1995 to 1999, and a 68% increase in flight cancellations over the same period (Schaefer et al. [145]). In 2000, about 30% of the flight legs were delayed and about 3.5% of these flight legs were cancelled in one major U.S. air- line (Lan et al. [110]). Research showed that a 1% increase in air traffic results in a 5% more delays, and air traffic in the United States and Europe was predicted to double in the next 10 to 15 years (Schaefer et al. [145]).

These disruptions have imposed huge costs on airports and airlines. Indeed, the im- pacts of irregularities encountered by a single US major airline exceeded $400 million per year (Bratu and Barnhart [37]). In most airlines, the controllers performing the recovery have little IT-based decision support to help construct high-quality recovery options. Of- ten, the controllers are content with producing only one viable plan of action, as it is a time consuming and complex task to build a recovery plan. Furthermore the controllers have little help in estimating the quality of the recovery action they are about to implement. No planning tool has been able to cope with the complexity of re-planning on the day of oper- ation, given that the time span for proposing a solution is only a few minutes. Numerous suggestions for such subsystems have been put forward, but today no general tool is able 7.1 Introduction to the Challenge 209 to handle aircraft, crew, and passenger concurrently in a single system (Clausen et al. [43]).

Disruption management techniques have emerged and are becoming essential for airline operations. Some airlines are now shifting towards ensuring that planned schedules are robust and allow for efficient recovery (Kohl et al. [106]), but, however robust the schedule, disruption handling is an essential feature of airline operations. The French Operational Research and Decision Support Society thus organized a worldwide competition in 2008/9 for airline disruption management. The problem of the Challenge was to find the best aircraft routing and passenger re-accommodation solution to recover from a fixed set of disruptions within a specified period of time, with given regular operating constraints. The aim of the Challenge was to explore the problems encountered in real world airlines when disruptions happen and find efficient approaches to solve them. The Challenge provides two sets of problem instances (each with 10 instances), each set having a different size. Four types of disruptions were considered:

1. airport capacity: restrictions on the number of departures and landings (including total airport closure) for a given period; 2. aircraft unavailability: a time and duration of an aircraft unavailability (i.e. due to an unserviceability or fault); 3. flight cancellations; and 4. flight delays.

Airlines typically recover from disruptions in stages: for example aircraft recovery fol- lowed by crew recovery and finally passenger recovery (Rosenberger et al. [140]). The Chal- lenge omits crew recovery, but provides an opportunity to do better than a traditional airline by integrating some of these different stages. It thus involves integrated aircraft routing, passenger itinerary handling, landing and takeoff slot management and maintenance han- dling. Moreover, to replicate the real-world challenge, recovery decisions have to be made quickly, with solutions required within ten (10) minutes.

Since crew recovery was omitted, and because aircraft from different families have rather different cabin and cockpit features, and cannot therefore be flown by the same crew, air- lines typically avoid reassigning flights to planes from a different family during disruptions. Consequently in the Challenge aircraft swaps are limited to within an aircraft family. 210 Schedule Recovery: Airline Disruption Management

7.2 Literature Review: Airline Disruption Management

Clausen et al. [43] provide an excellent survey of disruption management, and for addi- tional background the reader is recommended to refer to that work. In this section the focus is on the particular issues raised by the Challenge, some of which have not been tackled in previous airline disruption management research. Solving the Challenge requires techniques for fast disruption handling, taking into ac- count aircraft and passenger disruptions, and ensuring slot constraints and maintenance requirements are satisfied. These requirements can be listed in increasing order of nov- elty/difficulty as handling

1. flight cancellations by aircraft swapping, 2. tail specific maintenance and location recovery by aircraft routing, 3. delays by flight retiming, 4. slot reductions by retiming and cancellations, and 5. passenger itinerary disruption by constraints on connections.

Aircraft swapping is a set of changes to the sequence of flight legs assigned to an aircraft in order to achieve operational goals, such as laying on a larger aircraft, or adding an extra flight, in response to demand, or recovering from a cancelled flight. The problem is naturally modelled as a connection network where each node represents a flight leg and its directed outgoing edges connect it to subsequent flight legs that could be flown by the same aircraft. A solution is a set of paths that cover every node in the network. A complicating feature of the connection network model is that although every flight leg departing from an airport after an aircraft arrival is a potential connection, a connection that leaves the aircraft grounded for many hours before its next flight is unlikely to be part of a path in a solution to the problem. A useful preprocessing step is therefore to prune away such long connections, but without, of course, removing any connections that might appear in a solution. This preprocessing step is described in Lever [116]. An additional constraint on aircraft swapping is that the number of aircraft of each type at each airport at the end of the “swapping period” should be as close as possible to the number originally scheduled (see, e.g. Talluri [155]). The model therefore requires a multi- commodity flow - one for each aircraft type. When maintenance needs to be considered for specific aircraft, as occurs in the Challenge, a commodity is needed for each individual 7.2 Literature Review: Airline Disruption Management 211 aircraft. In this case the feasible path for such an aircraft must include an additional “main- tenance” node whose incoming and outgoing edges connect it to potential preceding and following flight legs. To date, aircraft-specific maintenance requirements have only been enforced in tail assignment models (Groenkvist [93]).

Another method for handling disruption is to retime flights (Bard et al. [20], Jarrah et al. [101]). This introduces a cost due to passenger delays which were modelled in Teodorovic and Stojkovic [156] by adding a delay cost on arcs dynamically after solving one stage of the connection network, and while constructing the next. A node, and associated extra edges, could be added on the connection network for each possible retimed flight. However this model grows quadratically with the number of possible retimings and to keep the model of manageable size an alternative model is often used.

A model which handles retiming with less growth is the time-line model. It has a time line for each airport, with time increasing along the line. Each flight leg from one airport to another is represented by an arc between the timelines of the two airports. Connections are implicit: a flight leg arriving at an airport sufficiently earlier than a flight leg departing from the same airport can connect to it. To allow for retiming, edges parallel with the flight edges are included with specific time intervals, as done by Jarrah et al. [101].

To get aircraft to the right position after a disruption it is sometimes necessary to intro- duce potential “ferry” flights into the network which take an aircraft from one airport to the one where it is needed. Yan et.el. [177] introduce not only retimed flights but also ferry flights.

The last source of disruption in the Challenge is airport disruption: either temporary closure, or reduced landing and take-off slot capacities for a certain time. Temporary airport closure has been handled using a time-line network, including extra “through-flight” arcs, using a single-commodity network flow (Thengvall et al. [158]). The problem of reduced slot capacity at a single airport has also been addressed by Luo and Yu [122].

The final requirement of the Challenge is to minimise passenger disruption. Passengers may suffer a delay, or worse a cancellation, but the very worst situation is for the passen- gers to start their itineraries, and find themselves stranded en-route. Passenger delays were minimised in Teodorovic and Stojkovic [156] using a greedy algorithm, but the quality of the solutions was not discussed. Lettovsky [115] employed a Passenger Flow Model in an 212 Schedule Recovery: Airline Disruption Management integrated disruption handling approach, but Lettovsky wrote that “the model can become large and complex to solve” and only parts of it were implemented. A Passenger Delay Model (PDM) was implemented in an integrated algorithm handling aircraft, crew and pas- senger disruption (Bratu and Barnhart [37]). Due to its excessive execution times the PDM is considered unfit for operational use. An alternative model which approximates passen- ger disruption cost (the Disrupted Passenger Metric) was presented and shown to generate solutions which reduce passenger delays and disruptions in run times more appropriate for operational use. This brief survey highlights the range of issues that must be addressed in managing disruption in airlines. Most of the techniques surveyed addressed a small subset of these is- sues, and the few integrated disruption handling methods tackled crew disruption but not, for example, aircraft maintenance or slot disruption. Moreover handling multiple issues dramatically reduces scalability, so algorithm developers have found heuristics or meta- heuristics attractive (e.g. Andersson [15]), Bisaillon et al. [35]). In the following section, the methods adopted by the finalists in the Challenge are discussed.

7.3 Literature Review: The Challenge Finalists

Prior to the Challenge, few inroads had been made into the integrated airline recovery prob- lem. However, the Challenge motivated a number of teams to submit entries to address the problem. In this section, a summary of the methods adopted by the Challenge finalists is presented. For a detailed description of the problem as formulated in the Challenge, the reader is referred to Palpant et al. [133]. Entrants to the challenge were assessed on three problem sets, two that were public and one that was unknown. These problem sets include problem instances of various sizes and with different combinations of disruptions considered. The instances are available for download on the Challenge website ([1]), and a summary is also provided in Chapter 8, Section 8.3. Artigues et al. [17] provides a review of the Challenge, including a summary of the methods used by the nine (9) teams that reached the final stage of the competition. The winning entry used a three-phase “large neighbourhood search heuristic” to achieve 7.3 Literature Review: The Challenge Finalists 213 fast improvement in the solutions it generated (Bisaillon et al. [36]). The first phase is re- ferred to as the Construction phase and is designed to generate feasible solutions, focusing on the original aircraft rotations and making adjustments by delaying or canceling flights until the rotation is feasible. Aircraft are treated one by one, in random order and occasionally flights that exceed airport capacity constraints are required to be left in the solution to en- sure maintenance constraints are met; these will be repaired in phase two. The second phase is referred to as the Repair phase, and itself consists of three parts: (i) flights are delayed or canceled to satisfy airport capacity constraints, then (ii) previously canceled flights are rein- serted into rotations where there are opportunities to, and finally (iii) passenger itineraries are repaired, first canceling those that are no longer feasible, then finding alternatives using a shortest path method where passenger solutions sought in order of passenger value. The third phase is referred to as the Improvement phase and is designed to make large changes to the solution to see if it is possible to better accommodate passengers. Flights are indi- vidually delayed, with the delay propagated along the aircraft rotation where required, and passengers re-accommodated using the same method as used in the repair phase; the result- ing solution is compared to the previous best, and only accepted if it is better.

The entry that achieved second place in the competition used a hybrid method combin- ing heuristics and mathematical programming (Mansi et al. [123]). The two stage approach consists of a first stage that generates a feasible solution using a series of MIPs followed by a second stage that adopts an oscillation strategy to improve the feasible solution. A series of three MIPs are used to generate a feasible solution, using what can be likened to a relax- and-fix approach. In the first MIP, P, the objective is to maximise the number of aircraft meeting their maintenance constraints. Using the solution to P, the variables that relaxed the maintenance constraints are then fixed for a new variation of the MIP, P(Q), that seeks to maximize the number of passengers arriving at their final destination, minimize total delay, and minimize a penalty for violating airport capacity constraints. The MIP is solved itera- tively with the penalty for violating airport capacity constraints gradually increased until it runs out of time or the airport constraints are met. A third and final version of the MIP, P’, is then solved, where a large part of the original P is fixed from the previous two steps and the focus is on passenger recovery. After P’ is solved, a heuristic is applied to repair any infeasible maintenance rotations. In the second stage, an oscillation strategy is adopted it- 214 Schedule Recovery: Airline Disruption Management erating between a construction phase and destruction phase. In the construction phase new aircraft rotations are created to fit into the gaps in aircraft utilisation in the existing solution and new passenger itineraries are also created using a best-first search heuristic. In the de- struction phase, unprofitable aircraft cycles∗ are deleted, where unprofitable cycles are those where aircraft capacity is under-utilised i.e. flights in the cycle have a large proportion of empty seats. In the destruction phase, passenger itineraries are only deleted if a flight on the itinerary is canceled and no alternative itinerary exists. In both phases of the oscillation strategy, a MIP knapsack problem is used to allocate rotations to aircraft and itineraries to passengers.

The entry that finished in third place used a MIP formulation to model the problem (Acuna-Agost et al. [5]). In line with our experience, Acuna-Agost et al. found it was not possible to solve their MIP using a state-of-the-art MIP solver for the complex instances pro- posed by the Challenge. The authors therefore adopt several strategies to simplify the prob- lem. First they reduce the size of the MIP model by restricting the search space to schedules near or similar to the original schedule. They then solve the resulting MIP using an adapted version of the Statistical Analysis of Propagation of Incidents (SAPI) methodology originally designed for disruption management in train scheduling (Acuna-Agost et al. [6]). Finally, they apply a post-optimisation procedure to re-accommodate any passengers canceled in the current solution. The MIP approach used by Acuna-Agost et al. [5] is the most compa- rable to the one developed in this thesis, with the key difference being in the methodology for tackling the resulting large and complex model.

Eggermont et al. [72], who finished in fourth place, decomposed the problem into a se- ries of subproblems and solved them sequentially. In the first subproblem, a simple heuristic is used to fix aircraft rotations, ignoring airport capacity constraints. In the second subprob- lem, airport constraints are addressed, allocating airport slots to each flight at the earliest possible time as long at the airport capacities allow, first prioritising flights that are identi- fied as pre-maintenance (i.e. required to get an aircraft to its required maintenance location), then addressing the remaining flights aircraft by aircraft in random order. Once airport slots have been allocated, the delays on each flight are fine tuned to improve passenger connec- tivity while keeping each flight within its allocated airport slot. The objective is to maximise

∗Aircraft cycles are aircraft rotations where the first flight originates at the destination of the final flight 7.3 Literature Review: The Challenge Finalists 215 slack on passenger connections, weighted by the number of passengers with that connec- tion on their itinerary. In the final subproblem, passengers who can no longer travel on their original itinerary due to cancellations or missed connections are reallocated on the cheapest feasible alternate route.

Of the remaining five finalists, only Dickson et al. [57] solve an integrated model, ad- dressing the problem size by restricting the search space. The other finalists opted to de- compose the problem into more tractable subproblems (Artigues et al. [17]). Darlay et al. [50], Jozefowiez et al. [102] and Peekstok and Kuipers [135] all adopt approaches that alter- nate between solving for aircraft rotations and passenger reallocation, while Eggenberg and Salani [68, 70] solve these subproblems sequentially. Jozefowiez et al. [102] and Peekstok and Kuipers [135] also have an initial phase that searches for a feasible solution with the remaining phases designed to improve on the solution while retaining feasibility. Peekstok and Kuipers [135] do, however, allow their simulated annealing algorithm to accept infea- sible solutions for passenger constraints, noting that it is the aircraft and airport constraint feasibility that is particularly difficult.

Bisaillon et al. [36] and Mansi et al. [123] significantly outperformed the remainder of the finalists, scoring 95.9 and 92.73 out of 100 respectively, compared with the next best score of 74.26 achieved by Acuna-Agost et al. [5] (Artigues et al. [17]). Common to these two methods was the use of a construction phase to establish a feasible solution followed by an improvement phase. Bisaillon et al. [36] established feasibility via a construction heuristic while Mansi et al. [123] used a series of MIPs that optimise a measure of feasibility. In the improvement phase, both approaches used heuristics for deleting aircraft cycles and identifying new cycles to reintroduce into the freed up capacity.

The method presented in this thesis adopts a MIP based mathematical modelling ap- proach, achieving scalability by restricting the search space. The model and solution ap- proach presented in this thesis is an enhancement of the one originally submitted for the Challenge (Dickson et al. [57]), and is more competitive with the best solution. It is promis- ing that the approach shares key attributes with two of the top three finalists (Mansi et al. [123] and Acuna-Agost et al. [5]), specifically that it: (i) consists of an integrated model that captures both aircraft and passenger rotations rather than decomposing the approach into subproblems and (ii) it is MIP based. However, further refinements are required to im- 216 Schedule Recovery: Airline Disruption Management prove it to the point where it is truly competitive with the solutions obtained by the leading entrants. Examples of such improvements are identified in Section 9.3.3, including oppor- tunities to combine the best features of the winning entrants with the benefits of the method described in Chapter 8.

7.4 Integer programming formulations

In this section, the disruption management problem defined by the Challenge is described, and two MIP models that address the problem are developed. The two models have much in common: both are based on the flight connection network, and both use continuous variables for flight departure times. They differ primarily in their choice of variables for modelling the flows of aircraft through the schedule: the first uses binary variables x f ,g,a to indicate that aircraft a will fly flight f and then flight g, whilst the second “decomposes” these into binary variables y f ,g indicating that the same aircraft will fly f and then g and w f ,a indicating that aircraft a will fly flight f . It is expected that the former yields a stronger model and the latter yields a smaller model; their strengths and weaknesses will be evalu- ated computationally in Chapter 8.

7.4.1 The ROADEF problem and a first MIP model (Original Formulation)

The focus of the Challenge is an integrated schedule, aircraft and passenger itinerary repair problem; crew recovery is not considered. The planned schedule, together with the current state of the system is given, including flights in progress, and disruptions in the form of current flight delays, flights cancelled, reduced airport capacities, and aircraft unavailabil- ity periods. A recovery period is given, which defines the portion of the schedule requiring recovery. To recover the schedule, actions that can be taken are to cancel flights, introduce new flights, delay planned flights, and re-route passengers. This must be done under certain constraints, and incurring certain costs, that are discussed in more detail in what follows. However for simplicity of exposition a number of details in the description of the problem are omitted; for complete details of the Challenge, see Palpant et al. [133]. Note that the intro- duction of new flights is only considered where they may be needed to reposition aircraft for required maintenance; broader consideration of new flights seems particularly difficult. 7.4 Integer programming formulations 217

One important feature of the Challenge is that aircraft are subdivided into families, each aircraft family into models, and each model into configurations. For the most part, aircraft with the same configuration (which also means of the same model in the same family) are identical. The only features that distinguish aircraft of the same configuration, according to the parameters of the Challenge, are their starting point at the current time, and the fact that some specified individual aircraft might have a maintenance event, or an otherwise unspec- ified period of unavailability, scheduled during the recovery period. Thus the most effective way to model the aircraft, which avoids unnecessary symmetry in the model, is to define aircraft “groups”. Each individual aircraft with pre-scheduled unavailability constitutes its own group. Otherwise all aircraft with the same configuration constitute a group. This al- lows flow to be defined for all aircraft in a group, without the need for individual aircraft subscripts. Note that different starting points in the recovery period is easily handled with the use of dummy start nodes.

In the recovered schedule, flights are generally optional, (no aircraft in a group has to perform any of them, except, perhaps some that are specifically designated so), and the start times of flights can be delayed (but not brought forward).

Airports can only handle so many flights at a time, and particularly in times of disrup- tion, the airport capacity is a key limitation. Capacity limitations are defined for distinct periods of time, referred to as slots.

Before the MIP is presented, some necessary notation is introduced. Let Aˆ denote the set of all individual aircraft, A denote the set of aircraft groups, (defined as discussed above), and F denote the set of flights planned for the recovery period, including any new flights. E denotes the set of possible connections between activities. For each a ∈ A, write F(a) to denote the set of flights that could potentially be flown by a in the recovered schedule (the Challenge limits aircraft swaps to within the same aircraft family, and of course not all flights may be “reachable” for all aircraft from their current position within the recovery period). Some aircraft will have a maintenance event scheduled during the recovering period, or be otherwise unavailable for a period of time. Write Amtc ⊆ A to denote the set of aircraft groups which have a scheduled maintenance event to be considered. Notationally, consider a ∈ A to be interpreted as a set of aircraft: if aˆ ∈ Aˆ is an individual aircraft in group a ∈ A, then write aˆ ∈ a. However for the most part, individual aircraft can be ignored. 218 Schedule Recovery: Airline Disruption Management

Aircraft movements

For each aircraft group a ∈ A a network is defined with nodes N(a) representing activities that can or must be undertaken by aircraft in group a. Thus N(a) represents flights in F(a), 0 0 together with a set of dummy start nodes, F (a), one for each aˆ ∈ a, denoted by faˆ , (so 0 0 F (a) = { faˆ : aˆ ∈ a}), and an additional node for each maintenance event, Mtc(a), or period of unavailability, U(a), if there is one (recall the latter are only required for groups consisting of a single aircraft). So N(a) = F(a) ∪ F0(a) ∪ Mtc(a) ∪ U(a). Note that each activity f ∈ N(a) has a scheduled start time, start f , and end time, end f . In the recovered schedule, flights in F(a) are generally optional, (no aircraft in group a has to perform any of them, except, perhaps, some that are specifically designated so), and the start times of flights can be delayed (but not brought forward). By contrast the times of maintenance, or periods of unavailability, are fixed. Define E(a) ⊆ N(a) × N(a) to be the set of possible connections between activities. These are defined so as to take into account minimum turn times between flights, and other such considerations.

Now to model the “flow” of aircraft through the recovered schedule, the first model uses binary variables x f ,g,a for each a ∈ A and each ( f , g) ∈ E(a) to indicate whether or not an aircraft from group a undertakes activity f then g. Thus the following network flow constraints are required:

x 0 ≤ 1, ∀a ∈ A, ∀aˆ ∈ a, (7.1) ∑ faˆ ,g,a 0 g:( faˆ ,g)∈E(a) 0 ∑ xg, f ,a ≥ ∑ x f ,g,a, ∀a ∈ A, ∀ f ∈ N(a) \{ fa }, and (7.2) g:(g, f )∈E(a) g:( f ,g)∈E(a)

∑ xg, f ,a = 1, ∀a ∈ A, ∀ f ∈ Mtc(a) ∪ U(a). (7.3) g:(g, f )∈E(a)

Since each flight can be assigned at most one aircraft, the following is also required:

∑ ∑ xg, f ,a ≤ 1, ∀ f ∈ F. (7.4) a∈A g:(g, f )∈E(a)

For each aircraft a ∈ Amtc that has a maintenance event, the Challenge requires that the flight hours completed by a prior to the start of the maintenance not exceed a given value max f lt tma, which takes into account the individual flight history for aircraft a at the cur- 7.4 Integer programming formulations 219 rent time. (Note that it is assumed that each aircraft has at most one maintenance event planned during the recovery period.) To model this requirement, resource variables are in- troduced to track the number of flight hours used. For each a ∈ Amtc and each f ∈ N(a), define τf ,a ≥ 0 to be the flight hours completed by aircraft a prior to the start of activity f . Then the following constraints are required:

mtc τg,a ≥ τf ,a + f lt tm f − M(1 − x f ,g,a), ∀a ∈ A , ∀( f , g) ∈ E(a), f 6∈ Mtc(a), and (7.5)

mtc τf ,a ≤ max f lt tma, ∀a ∈ A , ∀ f ∈ Mtc(a), (7.6)

where f lt tm f denotes the flight hours of f if f ∈ F(a), and is set to zero otherwise. In equation (7.5), M is a constant that is large enough to ensure the constraint is inactive when x f ,g,a is zero. Note that the Challenge assumes that flight times are independent of aircraft model or configuration, and swaps are not permitted outside of an aircraft family, so flight time does not depend on a.

Flight coverage

Each flight in the schedule can be flown by at most one aircraft, and will not be flown at all if the flight is cancelled. Binary book-keeping variables z f are included, and set to 1 if flight f is cancelled, enforced via the constraint

∑ ∑ x f ,g,a + zg = 1, ∀g ∈ F. (7.7) a∈A f :( f ,g)∈E(a)

Note that the inclusion of Constraint (7.7) causes Constraint (7.4) to become redundant since the x f ,g,a are also binary variables.

Flight departure times

Flights in F may also be delayed. Continuous variables t f are used to denote the departure time of flight f ∈ F in the recovered schedule:

t f ≥ sched dep tm f , ∀ f ∈ F, (7.8) 220 Schedule Recovery: Airline Disruption Management

where sched dep tm f denotes the departure time for f in the original schedule. If f is can- S celled, t f may be arbitrary. For notational convenience, also define t f for all f ∈ a∈A N(a), and for maintenance and unavailability activities include constraints that fix t f to be the start time the activity. Of course aircraft in group a can only use connection ( f , g) if tg ≥ t f + dur f ,a, where dur f ,a denotes the duration of activity f if undertaken by aircraft in a, taken to be the flight time plus minimum turn time in the case that f is a flight. Thus requir- ing the constraint

tg ≥ t f + dur f ,a − M(1 − x f ,g,a), ∀a ∈ A, ∀( f , g) ∈ E(a). (7.9)

Again, M is a constant that is large enough to ensure the constraint is inactive when x f ,g,a is zero.

Airport slot capacities

Airports can only handle so many flights at a time, and particularly in times of disruption, the airport capacity is a key limitation. Let P denote the set of airports. In the Challenge, each airport p ∈ P has a defined set of time slots, which are denoted by S(p), and positive integers arr caps and dep caps for each s ∈ S(p) denoting the maximum number of arrivals and departures respectively permitted at airport p during slot s ∈ S(p). In order to link the departure time variables to the airport slot capacities, denote binary variables d f ,s set to 1 to indicate that flight f departs during slot s ∈ S(o( f )), and l f ,s, set to 1 to indicate that flight f arrives during slot s ∈ S(d( f )), where o( f ), d( f ) ∈ P denote the origin and destination airport for flight f respectively. Now these can be logically linked using the minimum and maximum possible flight times for flight f : if d f ,s = 1 then l f ,s0 = 1 for some 0 slot s ∈ S(d( f )) which overlaps with the time interval [starts + f lt tm f , ends + f lt tm f ], where starts and ends denote the start and end times of slot s respectively. Define, for each s ∈ S(o( f )), σdest( f , s) ⊆ S(d( f )) to be the set of possible arrival slots for flight f at its destination.

The slot indicator variables must be linked to the flight departure time variables. This 7.4 Integer programming formulations 221 can be achieved via

t f ≥ starts − M(1 − ∑ d f ,s0 ), ∀ f ∈ F, ∀s ∈ S(o( f )), (7.10) s0≥s

t f ≤ ends + M(1 − ∑ d f ,s0 ), ∀ f ∈ F, ∀s ∈ S(o( f )), (7.11) s0≤s

t f + f lt tm f ≥ starts − M(1 − ∑ l f ,s0 ), ∀ f ∈ F, ∀s ∈ S(d( f )), and (7.12) s0≥s

t f + f lt tm f ≤ ends + M(1 − ∑ l f ,s0 ), ∀ f ∈ F, ∀s ∈ S(d( f )). (7.13) s0≤s

Again, M is a constant that is large enough to ensure the constraint is inactive when d f ,s (or l f ,s) is zero. Next, assume a time ordering on slots, so that terms such as ∑s0≥s d f ,s0 taking value 1 indicates that flight f will depart in slot s or later. All but the first of the above constraints can be tightened by lifting in the cancellation variables:

t f ≤ ends(1 − z f ) + M(1 − ∑ d f ,s0 ), ∀ f ∈ F, ∀s ∈ S(o( f )), (7.14) s0≤s

t f + f lt tm f (1 − z f ) ≥ starts − M(1 − ∑ l f ,s0 ), ∀ f ∈ F, ∀s ∈ S(d( f )), and (7.15) s0≥s

t f + f lt tm f ≤ ends(1 − z f ) + M(1 − ∑ l f ,s0 ), ∀ f ∈ F, ∀s ∈ S(d( f )). (7.16) s0≤s

Note also that the slot indicator variables must be linked directly to the cancellation vari- ables to ensure that either a flight is assigned a slot or it is cancelled:

∑ d f ,s + z f = 1, ∀ f ∈ F, and (7.17) s∈S(o( f ))

∑ l f ,s + z f = 1, ∀ f ∈ F. (7.18) s∈S(d( f ))

The aim of modelling slot usage is to stay within the given airport capacities:

∑ d f ,s ≤ dep capp,s, ∀p ∈ P, ∀s ∈ S(p), and (7.19) f :s∈S(o( f ))

∑ l f ,s ≤ land capp,s, ∀p ∈ P, ∀s ∈ S(p), (7.20) f :s∈S(d( f )) where dep capp,s and land capp,s are the maximum number of departures and arrivals re- 222 Schedule Recovery: Airline Disruption Management spectively permitted in slot s at airport p.

Passenger reservations and reaccommodation

Passenger’s are recorded in the Challenge by reservations. Let R denote the set of all reser- vations. For each r ∈ R, we are given the numr, the number of passengers for which the reservation is made, and Πr = ( f1, f2,... ), the sequence of flights constituting the itinerary for the reservation. The booking class of each flight in the itinerary is also known. In the Challenge, passengers can be rerouted, reaccommodated in different booking classes, or their travel can be cancelled; of course all of this comes with a cost. To model all of these options in a linear way is possible, but leads to very large, weak models, particularly when reser- vations with multi-flight itineraries, or more than one passenger, must be considered. For completeness’ sake, such a model is presented here; in Chapter 8 the simplifications used to make this part of the problem tractable are explained. For each reservation r ∈ R, define a flight connection network (N(r), E(r)) of flights that could possibly be used to transport the passengers to their destination, together with o d dummy start and end nodes, nr and nr respectively. Also define integer variables v f ,g,b,r ≥ 0 to count the number of passengers with reservation r that use connection ( f , g) ∈ E(r), accommodated in f in class b. (A default class is assumed for the start node). Note in doing so it is assumed that passengers with the same reservation can be split up in the recovered schedule, which is permitted under the Challenge rules. Clearly ∑b∈B( f ) v f ,g,b,r will induce a o d flow in (N(r), E(r)) from nr to nr :

v o ≤ num , ∀r ∈ R, and (7.21) ∑ ∑ nr , f ,b,r r 0 f :(nr , f )∈E(r) b∈B( f )

∑ ∑ vg, f ,b,r = ∑ ∑ v f ,g,b,r, ∀r ∈ R, ∀ f ∈ F(r), (7.22) g:(g, f )∈E(r) b∈B(g) g:( f ,g)∈E(r) b∈B( f )

o d where B( f ) denotes the classes available on flight f , and F(r) = N(r) \{nr , nr } is the set of flights possibly useful for passengers in reservation r. In order for a passenger itinerary to be physically possible, and permitted by the rules, each connection ( f , g) used in an itinerary must satisfy tg ≥ t f + f lt tm f + min cnnct tm f ,g, where min cnnct tm f ,g denotes the minimum time that must be allowed between flights f 7.4 Integer programming formulations 223 and g in order for passengers to connect between the two. Note the Challenge has a constant connection time irrespective of airport, or flight pair, however there is no added complica- tion to the model if it is allowed to vary by flight pair. Denote binary variables u f ,g set to 1 if flights f and g can be connected in a passenger itinerary, modelled via the constraints:

tg ≥ t f + f lt tm f + min cnnct tm f ,g − M(1 − u f ,g), ∀( f , g) ∈ E, (7.23) where E ⊆ F × F is the set of all possible ordered pairs of flights that could be connected. Thus, it is required that

∑ ∑ v f ,g,b,r ≤ Mu f ,g, ∀( f , g) ∈ E, (7.24) r∈R:( f ,g)∈E(r) b∈B( f ) where here M can be taken to be the capacity of the largest aircraft that can fly f , or g, whichever is smaller, or ∑r∈R:( f ,g)∈E(r) nr if that is smaller still. Passengers cannot connect between flights that are cancelled, so it is required that

u f ,g ≤ 1 − z f , ∀( f , g) ∈ E, and (7.25)

u f ,g ≤ 1 − zg, ∀( f , g) ∈ E. (7.26)

It is also required that all passengers fit on the aircraft in their assigned class:

∑ ∑ v f ,g,b,r ≤ ∑ capa,b ∑ xg, f ,a, ∀ f ∈ F, ∀b ∈ B( f ), (7.27) r: f ∈N(r) g:( f ,g)∈E(r) a: f ∈N(a) g:(g, f )∈E(a) where capa,b is the number of seats available in aircraft a in class b.

For the Challenge, it is required that each passenger’s arrival time at their destination not be delayed past a certain point, given by latest tmr for each r ∈ R. To model this require- ment for reservations r with more than 1 passenger, (numr ≥ 2), additional binary variables v¯ f ,r are introduced for each f arriving at the destination of r, set to 1 if any passengers in the reservation use f to reach their destination, and zero otherwise. For convenience, also include such variables for single-passenger reservations, in which case they are simply 224 Schedule Recovery: Airline Disruption Management book-keeping variables. Thus it is required

1 d v¯ = v d , ∀r ∈ R , ∀ f ∈ F (r), and (7.28) f ,r ∑ f ,nr ,b,r b∈B( f )

1 d v d ≤ num v¯ , ∀r ∈ R \ R , ∀ f ∈ F (r), (7.29) ∑ f ,nr ,b,r r f ,r b∈B( f )

1 d where R = {r ∈ R : numr = 1} is the set of single-passenger reservations and F (r) = d { f ∈ F(r) : ( f , nr ) ∈ E(r)} is the set of flights arriving at r’s destination, and ask that

d t f + f lt tm f ≤ latest tmr + M(1 − v¯ f ,r), ∀r ∈ R, ∀ f ∈ F (r). (7.30)

The objective function

The objective function defined for the Challenge involves a number of components, some of which require additional variables to model. op If flight f ∈ F is cancelled, the given operational cost of the flight, Cf is saved, so

= op Zf lt cancel : ∑ Cf z f f ∈F gives the total cost savings due to cancelled flights. For each airport p ∈ P, the Challenge prescribes a number of aircraft of each family, model and configuration that are desired to be positioned at that airport at the end of the recovery period, and deviations from those values are penalized. Let Φ f am denote the set of families, Φmod denote the set of models, and Φcon f ig the set of configurations. For notational convenience, view each of these as a set of sets of aircraft, e.g. φ ∈ Φ f am is the set of f am f am aircraft constituting family φ. So for each p ∈ P, there are num acp,φ for each φ ∈ Φ , mod mod con f con f num acp,µ for each µ ∈ Φ , and num acp,χ for each χ ∈ Φ . Since each aircraft group a ∈ A consists of aircraft belonging to a single family, model and configuration, we may deliberately confuse notation and write a ∈ χ, for example, to indicate that all aircraft in group a have configuration χ. Now observe that, for example,

      n fp,φ :=  xg, f ,a − x f ,g,a + (1 − x 0 ) ∑ ∑ ∑ ∑ ∑ ∑ faˆ ,g,a a∈φ  ∈ ( ) ( )= ( )∈ ( ) ( )∈ ( ) ˆ0 0  f F a :d f p g: g, f N a g: f ,g N a aˆ∈a∩A (p) g:( faˆ ,g)∈E(a) 7.4 Integer programming formulations 225 counts the number of aircraft of family φ at airport p at the end of the recovery period, since the inner part of the first term is 1 if f is the last flight flown by the rotation for aircraft a, and zero otherwise, and the second term accounts for any aircraft that didn’t leave their starting port, where Aˆ 0(p) ⊆ Aˆ is the set of aircraft positioned at airport p at the start of the recovery period. Similar formulae can be used to calculate the number of aircraft of model µ, nmp,µ, and of configuration χ, ncp,χ, arriving at p at the end of the recovery period. The objective penalty is then calculated as

 f am mod Zac pos := ∑ Cf amily ∑ |n fp,φ − num acp,φ | + Cmodel ∑ |nmp,φ − num acp,µ | p∈P φ∈Φ f am µ∈Φmod  con f +Ccon f ig ∑ |ncp,χ − num acp,χ | χ∈Φcon f where Cf amily, Cmodel and Ccon f ig are parameters defined by the Challenge, and the absolute value is linearized in the usual way with the use of additional variables.

The other costs in the Challenge related to passengers. First, cancelled passenger itineraries are handled similarly to cancelled flights: the Challenge applies a cost that can be modelled as pax cancel Z := C (num − v o ), pax cancel ∑ r r ∑ ∑ nr , f ,b,r o o r∈R b∈B(nr ) f :(nr , f )∈E(r)

pax cancel where Cr is a given parameter for each r ∈ R. Other costs are associated with delays or downgrading (if a passenger flies in a lower class seat). The latter are readily captured via = downgrade Zpax down : ∑ ∑ ∑ Cr, f ,b ∑ v f ,g,b,r, ∈ o d r R f ∈N(r)\{nr ,nr } b∈B( f ) g:( f ,g)∈E(r)

downgrade where Cr, f ,b is the given cost of flying the passengers with reservation r on flight f in class b.

Delay costs are much more involved to model. They depend on the amount of time the passengers arrive at their destination after the planned arrival time, denoted by sched tmr.

Define new variables Tr, f ≥ 0 to denote the delay time in the repaired schedule from pas- d sengers arriving at their destination on flight f ∈ F (r), i.e. the time after sched tmr that passengers are delivered to their destination if they are reaccommodated on flight f ; Tr, f 226 Schedule Recovery: Airline Disruption Management will be set to zero otherwise. This is accomplished via the constraints:

d Tr, f ≥ t f + f lt tm f − sched tmr − M(1 − v¯ f ,r), ∀r ∈ R, ∀ f ∈ F (r). (7.31)

The objective used in the Challenge can be expressed as

= delay legal ( − )+ Zpax delay : ∑ ∑ Cr,δ ∑ vˆ f ,r Tr, f legal delay tmr,δ r∈R δ∈∆r f ∈Fd(r) pax delay + ∑ Cr ∑ vˆ f ,rTr, f r∈R f ∈Fd(r)

where vˆ = v d gives the number of passengers in reservation r arriving at their f ,r ∑b∈B( f ) f ,nr ,b,r destination on flight f , ∆r is a set of possible delay times legal delay tmr,δ after which the delay legal airline incurs a cost for each passenger, Cr,δ , (e.g. a 3-hour delay will require the airline to purchase a meal, whereas a 6-hour delay could require a hotel room), the plus function is + pax delay defined as (·) = max{·, 0}, and Cr is simply the objective cost incurred per unit of passenger arrival delay time. This is sufficient to model reservations with a single passenger 1 (in R ), since in this case vˆ f ,r is either zero, which case Tr, f = 0 also, or vˆ f ,r = 1, and so the vˆ f ,r variables can simply be omitted in the above expression, leading to a readily linearised objective function. However for reservations with multiple passengers, this component of the objective is difficult to linearize. Of course reservations could be duplicated for multiple passengers, so that all reservations had only one passenger, but this would increase the already large number of variables further. Indeed this difficulty is part of our motivation to considering alternate approaches to modelling passengers; this will be discussed further in Chapter 8.

The integrated problem is defined as a whole as

min Zpax cancel + Zpax down + Zpax delay + Zac pos − Zf lt cancel,

s.t. schedule and aircaft constraints (7.1) − (7.10), (7.14) − (7.20) hold, and

passenger model constraints (7.21) − (7.31) hold.

For a succinct definition of the notation and the model formulation presented here, the reader is referred to Appendix G.1. This model – in particular the passenger aspects – is 7.4 Integer programming formulations 227 clearly not soluble with current technologies for even modest-sized problems. Thus ways of simplifying or decomposing the problem need to be explored. However first an alterna- tive model is discussed.

7.4.2 A second MIP model (Decoupled Formulation)

The goal of the second model is to reduce the number of variables needed for the schedule and aircraft aspects of the problem. Even though this may yield a weaker model, it offers a trade-off worth exploring in cases where solution time is very limited. In this model, the x f ,g,a variables are replaced with binary variables y f ,g, indicating that the same aircraft does

flight f and then g, for each ( f , g) ∈ E, and binary variables w f ,a, indicating that aircraft a flies flight f . These are logically linked via the constraints defined over pairs of flights ( f , g):

wg,a ≥ y f ,g + w f ,a − 1 ∀a ∈ A, ∀( f , g) ∈ E(a) (7.32)

In addition to adding the above constraints, it is required that the y f ,g variables are also 0 S 0 defined for f ∈ F = a∈A F (a), the dummy start nodes for each aircraft, so it is required:

0 w f ,a = 1 ∀a ∈ A, ∀ f ∈ F (a), (7.33)

The changes to the first model which are required when using the decoupled variables are now described. First replace flight cover and aircraft flow constraints (7.7) to (7.3) with:

∑ w f ,a + z f = 1, ∀ f ∈ F. (7.34) a: f ∈F(a)

0 ∑ yg, f = 1 − z f , ∀ f ∈ N \ F , and (7.35) g:(g, f )∈E

∑ y f ,g ≤ 1 − z f , ∀ f ∈ N (7.36) g:( f ,g)∈E

w f ,a = 1, ∀a ∈ A, ∀ f ∈ Mtc(a) ∪ U(a), (7.37)

Constraint (7.5) can be handled by introducing a binary variable p f ,a which is 1 if and only if flight f precedes the maintenance for aircraft a. (Recall that it is assumed that at most 228 Schedule Recovery: Airline Disruption Management one maintenance event per aircraft within the recovery period).

p f ,a ≥ y f ,m ∀a ∈ A, ∀ f ∈ F(a), m = Mtc(a), (7.38)

pg,a ≥ yg, f + p f ,a − 1 ∀a ∈ A, ∀( f , g) ∈ E(a), (7.39)

max f lt tma ≥ ∑ f lt tm f p f ,a ∀a ∈ A (7.40) f ∈F(a)

The constraint (7.9) on flight departure time becomes

 tg ≥ t f + ∑ dur f ,aw f ,a − M(1 − y f ,g), ∀( f , g) ∈ E. (7.41) a∈A

Finally, in constraint (7.27), and in the equation defining n fp,φ simply replace the sum involving the xg, f ,a variables with w f ,a. No other constraints are affected by the change of variables. Chapter 8 A Mixed Integer Programming approach to Airline Disruption Management

This chapter explores approaches for solving the two Mixed Integer Programs described in Chapter 7. Strengthening constraints, reformulations and approximations for the MIPs are presented as well as a MIP-based heuristic algorithm for solving them. Computational results of the various MIPs and algorithms are also presented.

Neither of the MIPs presented in Chapter 7 is likely to yield good quality solutions in the strict time lines imposed by the Challenge, (and that are required for operational decision- making), even on modest-sized problems. Thus ways of simplifying or decomposing the problem need to be explored. This chapter begins by exploring a reformulation to reduce the network size of the MIP formulations presented in Section 7.4.1 and Section 7.4.2 as well as additional constraints to improve the strength of both models. Next an algorithm to ad- dress the problem in two stages is proposed and an iterative, heuristic approach to solving the problem based on the MIP models is developed. Computational results are presented that explore the performance of the different formulations and the different parameters for the heuristic algorithm. The algorithms yield significant improvement on basic MIP opti- misation, particularly on the larger problems. Finally, opportunities to extend the research and improve the solution approach are discussed. The primary contributions of this chapter are:

• A two-staged algorithm that first seeks to optimise passengers’ recovery on their orig- inal planned reservations, followed by Stage Two recovery that keeps flight times and aircraft rotations from Stage 1 constant but allows passenger itineraries’ to change; • An iterative algorithm for Stage 1 that allows better solutions to be found for larger

229 230 A Mixed Integer Programming approach to Airline Disruption Management

problem instances within the strict time limits required of a day of operations solution approach; • Identification of strengthening constraints to improve the solve time performance of the original models presented in Chapter 7, including results demonstrating the per- formance improvement gained via the constraints; • A Dantzig-Wolf style decomposition of the maintenance constraints to reduce the size of the connection network of the two MIPs described in Chapter 7; • Approximations of the objective to reduce the number of variables required and an exploration on the impact on solution quality versus solve time improvement; • Computational results exploring the computation time and solution quality trade-off of the various MIPs and algorithms presented; • Analysis of the computational results to determine the most effective combination of MIP-variants and heuristic parameters to use to best solve the problem sets provided in the Challenge within the alloted 10 minutes.

8.1 Reformulations and Strengthening Constraints

This section explores a reformulation to reduce the network size of the MIP formulations presented in Section 7.4.1 and Section 7.4.2 as well as additional constraints to improve the strength. Specifically a reformulation of the maintenance constraints and additional constraints to strengthen the airport capacity constraints are explored.

8.1.1 Remodelling of Maintenance constraints

MIP models with big-M constraints of the type used in the models here are known to be “weak”, in the sense that their LP relaxation’s feasible region is far from the integer feasible set. This is not to say that they cannot act as effective primal heuristics. Indeed the ap- proach here is built on the hope that state-of-the-art integer programming solvers are now so adept at “correcting” weak models, that reasonable solutions can be obtained in practical run times from such models. Nevertheless, the following work was conducted to redress some aspects of the model weakness. The models have two main sources of big-M constraints: (i) the maintenance constraints, 8.1 Reformulations and Strengthening Constraints 231 and (ii) the continuous flight time delays. Dealing with the latter would seem to require a radical revision of the entire approach, so it was not considered. Instead, it was noted that the former can be addressed via a kind of Dantzig-Wolfe reformulation. The introduction of new variables as part of the reformulation is offset by a reduction in x f ,g,a variables, due to a reduction in the number of aircraft groups as a result of the fact that aircraft requiring maintenance no longer need be identified as a separate aircraft group and therefore can be “absorbed” into their configuration group. An equivalent reformulation can be applied to unserviceable aircraft, again reducing the number of aircraft groups.

mtc 0 Define for each a ∈ A a set Sa of flight sequences in (N(a), E(a)), each starting at fa and ending with the unique flight in Mtc(a) representing the maintenance event, having the property that the total flight time in the sequence does not exceed max f lt tma. For each

flight sequence σ ∈ Sa, define a binary variable sσ,a indicating that sequence σ is selected for aircraft a. Since maintenance events are compulsory, it is required that

mtc ∑ sσ,a = 1, ∀a ∈ A . (8.1) σ∈Sa

Now the use of these flight sequence variables does not mean that x (or w) variables for aircraft a ∈ Amtc can be eliminated. Since flights can be moved in time, it cannot a priori be determined that a particular flight will occur before, or after, the scheduled maintenance event. For some instances, it may be possible to make such deductions, and so eliminate variables in a preprocessing step. Here the general case is presented, linking the s and x variables via the constraint

mtc [ ∑ sσ,a ≤ x f ,g,a, ∀a ∈ A , ∀( f , g) ∈ σ, (8.2) σ:( f ,g)∈σ σ∈Sa where the notation ( f , g) ∈ σ is used to indicate that connection ( f , g) is a sub-sequence of flight sequence σ, which are treated notationally as a set of connections.

8.1.2 Optional Airport Slot Capacity Constraints

The basic airport capacity constraints, denoted by Equations (7.10) and (7.14)-(7.16), are relatively weak because of their reliance on big-M values. In an effort to improve them, 232 A Mixed Integer Programming approach to Airline Disruption Management several constraints designed to strengthen them are described below.

Airport Slot Constraints Set 1

The slot indicator variables d f ,s and l f ,s can be logically linked using the minimum and 0 maximum possible flight times for flight f : if d f ,s = 1 then l f ,s0 = 1 for some slot s ∈

S(d( f )) which overlaps with the time interval [starts + f lt tm f , ends + f lt tm f ]. To make use of this property, define, for each s ∈ S(o( f )), σdest( f , s) ⊆ S(d( f )) to be the set of possible arrival slots for flight f at its destination. Similarly define, for each s ∈ S(d( f )), σorig( f , s) ⊆ S(o( f )) to be the set of possible departure slots for flight f at its origin. Then require:

d f ,s ≤ ∑ l f ,s0 , ∀ f ∈ F, ∀s ∈ S(o( f )), and (8.3) s0∈σdest( f ,s)

l f ,s ≤ ∑ d f ,s0 , ∀ f ∈ F, ∀s ∈ S(d( f )). (8.4) s0∈σorig( f ,s)

Airport Slot Constraints Set 2

Another useful way of strengthening this model plays on the idea that the d and l variables provide “coarse estimates” of the t variables. So constraint (7.9) can be “mirrored” with these variables. First, observe that if flight f connects to flight g, i.e. if x f ,g,a = 1 for some a , and if flight f lands in slot s or later, i.e. if ∑s0≥s l f ,s0 = 1, then flight g cannot depart 0 before the start of slot s plus the minimum turn time, i.e. dg,s0 = 0 for all s with ends0 < starts + mtt f ,a, where mtt f ,a denotes the minimum turn time for aircraft group a following flight f . (Note minimum turn time depends on f since it varies for multi-leg flights. Also 0 dur f ,a = f lt tm f + mtt f ,a.) Setting ρ(p, s, f , a) = {s ∈ S(p) : ends0 < starts + mtt f ,a} for each airport p ∈ P, slot s ∈ S(p), aircraft group a ∈ A, and flight f ∈ F(a), require that x f ,g,a + ∑ l f ,s0 − 1 ≤ 1 − ∑ dg,s0 , ∀a ∈ A, ∀ f ∈ F(a), ∀( f , g) ∈ E(a), ∀s ∈ S(d( f )), s0≥s s0∈ρ(d( f ),s, f ,a) 8.2 A practical MIP-based heuristic 233 or equivalently

x f ,g,a + ∑ l f ,s0 + ∑ dg,s0 ≤ 2, ∀a ∈ A, ∀ f ∈ F(a), ∀( f , g) ∈ E(a), ∀s ∈ S(d( f )). s0≥s s0∈ρ(d( f ),s, f ,a) (8.5) Of course there is also a “symmetric” version of this constraint:

x f ,g,a + ∑ l f ,s0 + ∑ dg,s0 ≤ 2, ∀a ∈ A, ∀( f , g) ∈ E(a), ∀s ∈ S(d( f )), (8.6) s0∈ρˆ(d( f ),s, f ,a) s0≤s

0 where ρˆ(p, s, f , a) = {s ∈ S(p) : starts0 > ends − mtt f ,a}.

Airport Slot Constraints Set 3

An additional way to strengthen the airport slot constraints is to recognise that the d f ,s and l f ,s variables are essentially weights for determining the earliest and latest possible departure and arrival times of the flight. i.e. the earliest departure time for flight f is simply

∑s∈S(d( f )) d f ,sstarts and the earliest arrival time for flight f is ∑s∈S(l( f )) l f ,sstarts. This yields the additional constraints:

t f ≥ ∑ d f ,s0 starts0 , ∀ f ∈ F, (8.7) s∈S(d( f ))

t f ≤ ∑ d f ,s0 ends0 , ∀ f ∈ F, (8.8) s∈S(d( f ))

t f + f lt tm f ≥ ∑ l f ,s0 starts0 , ∀ f ∈ F, (8.9) s∈S(l( f ))

t f + f lt tm f ≤ ∑ l f ,s0 ends0 , ∀ f ∈ F. (8.10) s∈S(l( f ))

8.2 A practical MIP-based heuristic

For effective disruption management, solutions must be found quickly, thus the Challenge set a time limit of 10 minutes, on a standard computer. In order to achieve such times for realistic problem sizes, a practical heuristic is required. Our approach is to divide the problem into two stages. In Stage 1, passenger costs are only estimated, so as to greatly simplify the model. This allows us to use a MIP-based 234 A Mixed Integer Programming approach to Airline Disruption Management technique to determine flight delays, cancellations and aircraft rotations. In Stage 2, we thus know which flights are occurring when, together with their operating aircraft, and modelling passenger reaccommodation accurately becomes relatively simple.

8.2.1 Stage 1: assuming original passenger itineraries

Three variants are considered for Stage 1, each of which approximates the actual passenger costs to different degrees, with commensurate speed-ups for solution of the resulting MIP model. In all cases, booking classes are ignored, and downgrade costs neglected. Further- more, it is assumed that all passengers in a reservation complete their trip on the original flights planned (albeit with some possible delays), or are canceled. This is called the original passenger itinerary assumption. Subject to this assumption, in Variant 1 the costs are modeled accurately, by using binary variables νr set to 1 to indicate all passenger on reservation r will d fly their planned itinerary, together with the delay time variables Tr, f for f ∈ F (r) where d F (r) is restricted to the last flight in Πr, and passenger connection u f ,g variables. Variant 2 associates approximate passenger delay and cancellation costs with flight variables, al- lowing the ν and T variables to be omitted, while Variant 3 ignores cancellation costs for multi-leg itineraries caused by illegal flight connections, allowing the u variables to also be omitted. In what follows, the changes required to the Original formulation are described for each variant; modifications for the Decoupled formulation are similar.

Stage 1, Variant 1: an accurate cost model

Using ν, T and u variables as described above, the following constraints are required for passenger reaccommodation feasibility. Constraint (7.23) is kept as is. Constraint (7.24) is replaced by

νr ≤ ug,h, ∀r ∈ R, (g, h) ∈ Πr, (8.11) where the notation is abused somewhat to write (g, h) ∈ Πr if connection (g, h) is in the original passenger itinerary for reservation r, and take Πr as the empty set for this purpose if the itinerary for reservation r is single-leg. Note that constraints of this type will be gen- erated only for reservations with multi-leg itineraries. Constraints (7.25) and (7.26) remain 8.2 A practical MIP-based heuristic 235 as is, while (7.27) is replaced by:

 

∑ numrνr ≤ ∑  ∑ capa,b ∑ xg, f ,a, ∀ f ∈ F, (8.12) r: f ∈F(r) a: f ∈F(a) b∈B( f ) g:(g, f )∈E(a)

where F(r) is restricted to the set of flights in Πr. Finally, instead of (7.30), it is required that

d t f + f lt tm f ≤ latest tmr + M(1 − νr), ∀r ∈ R, ∀ f ∈ F (r). (8.13)

To model the objective function, replace the last term in the definition of Zpax cancel with numrνr, modify (7.31) to

d Tr, f ≥ t f + f lt tm f − sched tmr − M(1 − νr), ∀r ∈ R, ∀ f ∈ F (r), (8.14)

and calculate Zpax delay via

  = delay legal ( − )+ + pax delay Zpax delay : ∑  ∑ Cr,δ ∑ Tr, f legal delay tmr,δ Cr ∑ Tr, f  , r∈R δ∈∆r f ∈Fd(r) f ∈Fd(r) where the (·)+ function is linearised in the usual way. The MIP to solve in Stage 1, Variant 1, is thus

min Zpax cancel + Zpax delay + Zac pos − Zf lt cancel,

s.t. schedule and aircaft constraints (7.1) − (7.10), (7.14) − (7.20) hold, and

passenger model constraints (7.23), (7.25), (7.26), (8.11) − (8.14) hold.

(Note Zpax down is omitted since Stage 1 ignores downgrade costs.)

Stage 1, Variant 2: approximate passenger disruption costs

Variant 2 uses a very approximate passenger model, omitting the ν and T variables. In- dividual itineraries are not modeled, instead the relevant disrupt cost for each itinerary is associated with each associated flight cancellation, flight delay and (if relevant) connection. op To achieve this, the cancellation cost of a flight, Cf is modified to included the cancellation 236 A Mixed Integer Programming approach to Airline Disruption Management cost of all reservations planned to use that flight, and a new cost term,

  pax connect Zpax connect := ∑  ∑ Cr  (1 − u f ,g) ( f ,g)∈E r:( f ,g)∈Πr is included to penalize cases in which an illegal passenger connection would result in can- celled original itineraries. Finally, a new cost term

delay legala pprox pax delay  Zf light delay := ∑ (Cr + Cr ) ∑ t f − sched dep time f , r∈R f ∈Fd(r)

delay legal approx is included to approximate the cost of delaying passengers, where Cr is a linear approximation of the piecewise linear legal delay costs. Note that this objective approxima- tion tends to over-cost the impact of flight cancellations and illegal passenger connections for multi-leg itineraries, since a canceled flight implies a zero passenger connection variable, and more than one flight cancellation in an itinerary results in double-counted reservation cancellation cost. Similarly, this objective will over-cost the impact of a delay on a flight containing passengers already disrupted due to a missed connection. The MIP to solve in Stage 1, Variant 2, is thus, taking into account the above modifications,

min Zpax cancel + Zpax connect + Zf light delay + Zac pos − Zf lt cancel,

s.t. schedule and aircaft constraints (7.1) − (7.10), (7.14) − (7.20) hold, and

passenger model constraint (7.23) holds.

Stage 1, Variant 3: passenger costs due to flight cancellation/delay only

Here only passenger costs due to flight cancellations and flight delays are included, so the model requires no ν, T or u variables, and is simply

min Zpax cancel + Zac pos + Zf light delay − Zf lt cancel,

s.t. schedule and aircaft constraints (7.1) − (7.10), (7.14) − (7.20) hold.

op where Zf light delay, and Cf in the definition of Zpax cancel are the same as for Variant 2. 8.2 A practical MIP-based heuristic 237

8.2.2 Stage 2: passenger reaccommodation in a fixed schedule

This stage takes as input the flight schedule and aircraft assignment determined in Stage 1, and seeks an optimal passenger reaccommodation. The problem is formulated as a general integer linear multi-commodity flow problem, solved as an LP relaxation using a standard commercial solver. This can be modelled using only the v f ,g,b,r variables defined in the previous section:

min Zpax cancel + Zpax down + Zpax delay,

s.t. (7.21), (7.22) and (7.27), where the right-hand side of (7.27) is now a constant computed from the inputs, F(r) and E(r) are defined to be only flights and connections “legal” for reservation r (flights arriving before latest tmr and connections with legal passenger connect time), and Tr, f used in the calculation of Zpax delay is now a constant computed from the inputs, making the Zpax delay linear in the v variables. This model is called the Passenger Reaccommodation model and is denoted as PRM. A detailed formulation of the model is provided in Chapter 9.

Whilst this model can have a large number of variables, it takes the form of a general integer linear multi-commodity flow problem, making it amenable to efficient specialized techniques. On testing, it was discovered that for the problem instances considered, solving the LP relaxation using a standard commercial solver was sufficient to find an optimal in- teger solution. For computational results and a discussion on the performance, see Section 8.3.2. For an analysis of the boundary points of the LP feasible region, specifically to explore the conditions under which the optimal solution to the LP relaxation is integral, see Chapter 9.

Given the scale of the problems being considered, and the time limited nature of the Chal- lenge, even the setup times of the optimization models are a factor. To reduce the number of connections included, and thereby reduce the problem set up time, the number of paths considered in the multi-commodity flow model are restricted by considering only flights from the MAX PAX PATHS shortest paths for each reservation. All feasible combinations of flights from these shortest paths are also considered. 238 A Mixed Integer Programming approach to Airline Disruption Management

8.2.3 An iterative approach to solving Stage 1

The division into two stages is not, on its own, enough to obtain feasible solutions to large re- alistic problems within the time limit. Therefore an iterative approach has been developed. The algorithm starts with highly restricted connection networks (N(a), E(a)) for a ∈ A, solves the resulting MIP model, loads the resulting feasible solution found into the MIP solver, expands the connection networks, and repeats. Three key parameters are used to control the size of the connection networks, specifically:

• MAX FLT DELAY restricts how long each flight can be delayed. This restricts the slot variables that need to be created, and reduces big-M values. • MAX GROUND TM limits connections from each flight to outgoing flights with orig- inal planned departure times after the original scheduled arrival time of the flight, but not more than MAX GROUND TM time units later. • MAX SLACK SHIFT limits connections from each flight to outgoing flights with orig- inal planned departure times on or before the original scheduled arrival time of the flight, but not more than MAX SLACK SHIFT time units earlier.

Note that existing connections are added automatically for all aircraft groups and indepen- dent of the above parameters so that the original aircraft rotations remain feasible. In the first iteration, an extremely limited network is considered, with only existing rota- tions included (i.e. MAX GROUND TM=MAX SLACK SHIFT=0), as well as the potential to delay flights by MAX INITIAL DELAY, which is the maximum flight delay of the disrup- tions that have already occurred prior to the beginning of the recovery period. The network is then iteratively extended in three phases. In the first phase, the maximum flight delay is gradually extended from MAX INITIAL DELAY to MAX FLT DELAY for flights that were cancelled in the previous solution as well as for flights where a passenger missed their con- nection due to insufficient connection time. In the second phase, inbound connections are added to flights that were canceled in the previous solution. In the third phase both the maximum flight delay and the number of inbound connections are increased for all flights. The number of iterations spent in each phase determines the rate at which the parameters are extended; the parameters are increased an equal amount at each iteration, so that at by the end of each phase they have reached a predetermined maximum. Algorithm 3 shows the pseudo code for this iterative approach. The experiments in Section 8.3.1 explore the 8.2 A practical MIP-based heuristic 239 quality of solutions obtained with this iterative approach compared with standard MIP op- timisation.

8.2.4 Other speed-ups

Tightening of big-M bounds

To ensure the model is as tight as possible, big-M values are set to the minimum feasible value. For example, in constraint 7.9 define

M := sched dep tm f + dur f ,a + MAX FLT DELAYf − sched dep tmg

so that, if x f ,g,a = 0, we have

tg ≥ t f + dur f ,a − M ≡ tg ≥ t f − sched dep tm f − MAX FLT DELAYf + sched dep tmg

Which, as the flight time of f is delayed towards its maximum departure time, tends to- wards the existing bound tg ≥ sched dep tmg, whilst remaining feasible for all valid depar- ture times of f . A similar logic is applied to other big-M constraints.

Model set up

As mentioned previously, due to the time limit of the Challenge and the size of the prob- lem sets, it is necessary to be concerned with the time taken to set up the problem. To keep set up time short, arrays and indexed sets that map the various relationships between flights, passengers and airport slots are developed during reading of the input files, so that, for example, iterating over long lists of flights or itineraries is not required when trying to establish connectivity relationships. Whilst this uses additional memory due to the large amount of duplicate information stored, under the conditions of the Challenge the memory cost is far outweighed by the benefit of reduced setup time. This speed-up was only lightly touched upon, and further research into data structures that lend themselves to efficient updating as new disruption information becomes available is certainly warranted. In particular, the set up time of the MIP models remains a barrier to 240 A Mixed Integer Programming approach to Airline Disruption Management

finding solutions quickly, as demonstrated in the results in Section 8.3.1. 8.2 A practical MIP-based heuristic 241

input : MIP∗ the current restricted network; F the set of all flights parameters: d,c, and n the number of iterations for phase 1,2 and 3 respectively, Maximum runtime t variables : The set of cancelled flights Cf , The set of missed passenger connections Cp output : Best feasible solution found for MIP, the unrestricted network begin BestSol ←− Solve (MIP∗); // Solve MIP∗ using optimiser Do loop 1: Local search, extending delay only ; Do loop 2: Local search, extending delay and adding connections ; Do loop 3: Broad search ; end Algorithm 3: Iterative solving algorithm

for i ← 1 to d do Cf ← GetCancelledFlights (BestSol); Cp ← GetMissedConnections (BestSol); NewMaxDelay ← MAX DELAY × i ÷ d ; for f ∈ Cf ∪ Cp do MIP∗ ←− ExtendDelay (MIP∗, f ,NewMaxDelay); end Load (BestSol); // Reload best solution into optimiser if time > t then exit; else BestSol ←− Solve (MIP∗); end end Algorithm 4: Iterative solving algorithm loop 1: Local search, extending delay only 242 A Mixed Integer Programming approach to Airline Disruption Management

for i ← 1 to c do Cf ← GetCancelledFlights (BestSol); Cp ← GetMissedConnections (BestSol); NewMaxGroundTime ← MAX GROUND TIME × i ÷ c; NewMaxSlackShift ← MAX SLACK SHIFT × i ÷ c; for f ∈ Cf ∪ Cp do for g ∈ F do if Flight g arrival time between DepartureTime( f )-NewMaxGroundTime and DepartureTime( f )+NewMaxSlackShi f t then MIP∗ ←− AddConnection (MIP∗,g, f ); end end end Load (BestSol); if time > t then exit; else BestSol ←− Solve (MIP∗) end end Algorithm 5: Iterative solving algorithm loop 2: Local search, extending delay and adding connections

for i ← 1 to c do NewMaxDelay ← MAX DELAY × i ÷ n ; NewMaxGroundTime ← MAX GROUND TIME × i ÷ n; NewMaxSlackShift ← MAX SLACK SHIFT × i ÷ n; local search; for f ∈ F do MIP∗ ←− ExtendDelay (MIP∗, f ,NewMaxDelay); for g ∈ F do if Flight g arrival time between DepartureTime( f )-NewMaxGroundTime and DepartureTime( f )+NewMaxSlackShi f t then MIP∗ ←− AddConnection (MIP∗,g, f ); end end end Load (BestSol); if time > t then exit; else BestSol ←− Solve (MIP∗) end end Algorithm 6: Iterative solving algorithm loop 3: Broad search 8.3 Computational Results 243

8.3 Computational Results

A range of computational experiments were conducted to assess the benefits and trade-offs of the different models and solution approaches discussed in Sections 7.4, 8.1 and 8.2, with the ultimate goal being to determine the most effective combination of Stage 1 variants and Stage 2 variants for the complete 2-stage algorithm. In the following sections the experiments conducted to assess the different variants of the models and algorithm parameters are explained. Results for the Stage 1 variants are presented in Section 8.3.1, the results for Stage 2 in Section 8.3.2, and finally results for the overall algorithm in Section 8.3.3. Table 8.1 provides a summary of the various models and solution approaches discussed in the results. All tests were conducted on the problem sets provided for the Challenge, which are avail- able for download on the Challenge website ([1]). These problem sets include problem in- stances of various sizes and with different combinations of disruptions considered. The instances in Problem Set A, which have only 85 aircraft, less than 1000 flights and less than 4000 itineraries, are distinctly smaller than those in Problem Set B, which have 255 aircraft, 2000 to 4000 flights and 7,000 to 12,000 itineraries. A summary of the problem attributes is provided in Table 8.2. All code was implemented in Xpress Mosel Version 2.0.0 and run in Xpress-IVE Ver- sion 1.18.01 on a PC with an Intel(R) Core(TM)2 Duo processor and 2GB of RAM running Windows XP Professional SP2 (32 bits). Unless otherwise specified, the optimizer was set to run for a maximum of 600 seconds (including setup time), and the best result obtained at that time was observed.

8.3.1 Results for Stage One Solution Approaches

Several experiments were conducted on the Stage One model to assess the performance of the different formulations and solution approaches described in Sections 7.4.1, 7.4.2, 8.1 and 8.2. Specifically, the following experiments were conducted:

• Compare solution quality and scalability of MIP1 (the original formulation) with MIP2 (the decoupled formulation); • Assess the trade-off between solution quality and solve time for the two models under 244 A Mixed Integer Programming approach to Airline Disruption Management

Name Description Iterative Algorithm The algorithm developed to solve MIP1 and MIP2 by restricting the size of the underlying connec- tion networks, then selectively increasing the net- work while there is available run time (see Section 8.2.3) MIP1 The original version of the MIP described in Sec- tion 7.4.1, simplified with the original passenger itinerary assumption (Variant 1) as described in Sec- tion 8.2.1 MIP2 The reformulated version of MIP1, as described in Section 7.4.2, simplified with the original passenger itinerary assumption (Variant 1) as described in Sec- tion 8.2.1 MIP1-M (or MIP2-M) MIP1 (or MIP2) reformulated with the path based maintenance constraints described in Section 8.1.1 MIP1-S[123] (or MIP2-S[123]) MIP1 (or MIP2) with the optional airport slot con- straints described in Section 8.1.2. The numbers are used to identify which of the three sets of op- tional constraints have been added e.g. -S1 indi- cates Set 1 only has been added, while -S123 indi- cates that Sets 1, 2 and 3 sets have all been added MIP1-MS[123] (or MIP2-MS[123]) MIP1 (or MIP2) reformulated with the path based maintenance constraints and the optional airport slot constraints PRM The Passenger Recovery Model described in Sec- tion 8.2.2; see Section 9.1 for the detailed formula- tion Stage 1 The first stage of the two-stage algorithm which seeks to optimise the flight schedule, assuming passengers will either travel on their original itinerary or not travel at all (described in Section 8.2.1) Stage 2 The second stage of the two-stage algorithm which seeks to optimize the passenger recovery solution once the flight schedule has been fixed (described in Section 8.2.2) Two-stage algorithm An heuristic algorithm that seeks to solve the problem described in Section 7.4 by dividing it into two simpler subproblems (see Stage 1 and Stage 2 above)

Table 8.1: Summary of Models and Algorithms related to the the Challenge 8.3 Computational Results 245 Table 8.2: Summary of problem instances BBBBB B01B B02B B03B B04B B05B 255 B06 255 B07 255 B08 255 B09 1,719 255 B10 1,727 255 1,719 255 1,719 255 2,583 255 7,864 1,719 255 7,933 1,727 7,826 1,719 7,864 2,868 11,214 2,583 8,126 8,255 8,123 - 8,126 11,565 - - Y Y - - - Y - Y - Y - - - - Y Y - Y - Y Y - Y Y Y Y - 40 36 38 42 52 40 36 34 42 52 AAAAA A01A A02A A03A A04A A05A A06 85 A07 85 A08 85 A09 85 A10 85 237 85 111 85 173 85 293 85 928 1,305 85 237 111 802 1,069 173 1,485 293 3,959 928 1,221 736 984 - 1,424 3,773 - - Y Y - - - Y - Y - Y - - - - Y Y - Y Y - Y - Y Y Y Y 16 - 12 10 18 52 16 12 10 18 52 Problem Set Instance Aircraft Count Flight Count Itinerary Count Airport Disruptions Aircraft Disruptions Flight Disruptions Recovery Period (Hours) 246 A Mixed Integer Programming approach to Airline Disruption Management

Network Size Parameter Tiny Small Medium Large Huge MAX SLACK SHIFT 0 1 2 3 4 MAX GROUND TIME 1 2 4 6 12 MAX FLT DELAY 1 3 6 9 18 MAX OPTIONS 5 10 50 500 1000

Table 8.3: Parameter settings for different sized networks, time-based parameters are given in hours

various restrictions on the size of the connection network; • Assess the performance of the reformulated maintenance constraints described in Sec- tion 8.1.1; • Compare performance of the models with and without the additional slot variable constraints in Section 8.1.2; • Explore parameter settings and quality of solutions obtained using the iterative solv- ing approach described in Section 8.2.3.

MIP1 (original) versus MIP2 (decoupled)

The two formulations were tested on the twenty (20) problems described in Table 8.2, us- ing the original passenger itinerary assumption, Variant 1 (an accurate cost model), the original maintenance constraints, and none of the optional airport constraints. In order to assess the scalability of the two formulations, we investigate the quality of solutions obtained under various restrictions of the network. This is done by limiting the parameters identified in Section 8.2.3. Five different sets of parameters are tested, representing networks ranging in size from very small to very large. The exact parameters for each identified network size are described in Table 8.3. Table 8.4 and Figures 8.1, 8.2 and 8.3 present a summary of results from which several important observations that can be made:

1. The decoupled model, MIP2, performs slightly better with respect to the quality of integer solutions found within the time limit; 2. The Linear Programming (LP) relaxation MIP1 performs better than MIP2 in terms of (i) scalability, (ii) solve time, and (iii) tightness of the lower bound; 8.3 Computational Results 247

Average # Rows per Problem Average # Columns per Problem

300,000 100,000

90,000 250,000 80,000

70,000 200,000 60,000

150,000 50,000

# Rows # 40,000 # # Columns 100,000 30,000

20,000 50,000 10,000

0 0 Tiny Small Medium Large Huge Tiny Small Medium Large Huge Network Size Network Size MIP2 MIP1 MIP2 MIP1 (a) (b)

Figure 8.1: Growth in matrix size by network size

LP Solve Time by Problem Size LP Solve Time by Problem Size (Tiny Network) (Small Network)

1,000.0 1,000.0

100.0 100.0

10.0

10.0

1.0

1.0 0.1 1 2 3 4 5 6 7 8 9 LP solve time (CPU seconds) LP solve time (CPU seconds)

0.1 0.0 1 2 3 4 5 6 7 8 9 Problem Size (smallest to largest) Problem Size (smallest to largest) MIP2 MIP1 MIP2 MIP1 (a) (b)

Figure 8.2: Comparison of LP solve time by model type

3. Neither model performs well on anything but the Tiny network; and 4. Setup time of MIP1 is a major limiting factor with respect to scalability

The variation in performance of the two models can best be explained by how the prob- lem matrix grows with growth in network size, as demonstrated in Figure 8.1 (page 247). Figure 8.1(a) shows that the number of constraints grows considerably faster for MIP2, while 8.1(b) shows the number of variables grows faster for MIP1. The increased number of con- straints in MIP2 is likely why its scalability as an LP is reduced, while the increased number of variables (which are predominantly binary variables) is the likely cause of poorer quality integer solutions for MIP1. Finally, given that less than a third of the problems were solved to optimality, and less 248 A Mixed Integer Programming approach to Airline Disruption Management etslto on n60 os hnohrfruain()5%0 1 %1%0 7 %1%0 1 1% 21% 0% 11% 0% 17% 0% 17% 6% 11% 0% 50% (%) formulation other than worse 600s in found solution Best etslto on n60 etrta te omlto % %5%6 1 %1%0 7 %1%1 21% 1% 11% 0% 17% 0% 17% 0% 11% 6% 50% 0% (%) formulation other than better 600s in found solution Best etslto on n60 qa oohrfruain()5%5%8%8%8%8%8%8%8%8%7%78% 78% 89% 89% 83% 83% 83% 83% 83% 83% 50% 50% (%) formulation other to equal 600s in found solution Best oitgrslto on ihn60 % 0 0 0 0 0 0 0 5 0 0 0 53% 60% 70% 70% 65% 70% 60% 70% 60% 60% 10% 30% (%) 600s within found solution integer No pia ouinfudwti 0s()4%8%3%2%2%2%1%2%1%2%2%33% 24% 20% 10% 20% 15% 20% 20% 25% 30% 80% 45% (%) 600s within found solution Optimal vrg a tro i pia nw)2 .%3.%4.%3.%3%3.%3.%2.%3.%2.%32.3% 27.2% 37.5% 25.4% 37.3% 32.5% 38% 37.8% 42.4% 38.6% 6.2% 2% known) optimal (if root at gap Average nee ouinfudwti 0s()2%1%1%1%1%2%1%1%2%1%1%24% 16% 10% 20% 15% 15% 20% 10% 15% 10% 10% 25% (%) 600s within found solution Integer vrg Psletm sc .s66 18 11 35 56 28 92 59 57 4 25.6s 14s 25.7s 15.9s 39.2s 22.8s 35.6s 13.5s 21.1s 11.8s 6.6s 5.8s (sec) time solve LP Average vrg u ie(e)316 9.s421 3.s406 6.s443 6.s257 6.s309 405.7s 380.9s 464.9s 295.7s 469.4s 424.3s 467.5s 450.6s 432.7s 412.1s 193.9s 321.6s (sec) time run Average Psle n60 % 0%10 0%5%9%5%9%5%5%5%8%30% 87% 50% 50% 50% 90% 50% 95% 50% 100% 100% 100% (%) 600s in solved LP ewr ieTn ml eimLreHg oa AlNtokSizes) Network (All Total Huge Large Medium Small Tiny Size Network Measure al .:Smayo eut o ifrn ie networks sized different for results of Summary 8.4: Table I1MP I1MP I1MP I1MP I1MP I1MIP2 MIP1 MIP2 MIP1 MIP2 MIP1 MIP2 MIP1 MIP2 MIP1 MIP2 MIP1 8.3 Computational Results 249

Setup Time by Problem Size Setup Time by Problem Size (Tiny Network) (Small Network)

100.0 1,000.0

100.0

10.0

10.0

1.0 1.0 Setup time (CPU seconds) Setup time (CPU seconds)

0.1 1 2 3 4 5 6 7 8 9 0.1 1 2 3 4 5 6 7 8 9 Problem Size (smallest to largest) Problem Size (smallest to largest) MIP2 MIP1 MIP2 MIP1 (a) (b)

Figure 8.3: Comparison of set up time by model type than half had a feasible integer solution found within 600 seconds for either model, it is quite clear that neither model provides an adequate solution to the problem. Additional refinements are therefore explored in the following sections of this paper.

Network Sizes

Having compared the performance of MIP1 and MIP2, next the issue of scalability is further explored to determine whether it is necessary to use an extended network to search for a good solution, or whether restricting the search space to reduce run time yields solutions of a suitable quality. To assess the quality of solutions against network size, the same parame- ters as in the previous section for MIP1 are used, except that the optimizer is allowed to run for 24 hours. There were still many problem instances where the optimal solution could not be found for the larger network sizes within this time limit, specifically all of Problem Set B. For the 50% of problem instances where the optimal solution was found for all network sizes within the 24 hour time limit, the trade-off between network size and solution quality was explored. There was substantial improvement in solution quality for each increase of network size, with the greatest improvement coming from increasing the network from Tiny to Small, where on average, the cost of the optimal solution was reduced by 69%. Increas- ing the network size from Small to Medium yielded on average a 52% improvement in the optimal value, Medium to Large a 3% improvement, and Large to Huge a 1% improvement. This improvement in solution quality comes at a cost; the majority of the larger networks 250 A Mixed Integer Programming approach to Airline Disruption Management can not be solved to anywhere near optimal within the 600s time limit of the Challenge . In fact, only 10% of the problem instances were solved to optimality with the Huge network. Furthermore, the CPU time required to achieve optimality increases exponentially with each increase in network size. For example, solving instances with a Small network size took on average 10.8 times longer than solving the same instances on a Tiny network. Similarly, solving instances with a Medium network took 91.0 times longer than solving with a Small network. Further improvements to the formulation and solution approach are required to achieve better quality solutions within the 600s time limit.

Maintenance Reformulation

Computational experiments were conducted to assess the performance of the remodelled maintenance constraints presented in Section 8.1.1. For this experiment, only instances from Problem Set B were considered because the instances in Problem Set A do not have mainte- nance that occurs during the recovery period, and therefore the reformulation is irrelevant. As with the previous experiments, the scalability of the various formulations was assessed by testing on the different network sizes described in Table 8.3. Results obtained on MIP1, MIP1-M, MIP2 and MIP2-M were compared, and four observations that were considered noteworthy are outlined below. First, the reformulated maintenance constraints reduced the time required to set up the model, particularly for MIP2. Each problem instance took between 23% and 60% less time to set up for MIP2-M than for MIP2 and MIP1-M took 1-2% less time to set up than MIP1. This is due to a reduction in the number of variables required under the maintenance refor- mulation. Second, the LP relaxation could be solved within the time limit for more of the problem instances using MIP1-M, particularly on the Huge network where 80% were solved compared to 0% when using MIP1; there was no change for MIP2-M compared to MIP2. Third, the solver was able to find an integer solution within the 600s time limit for more problem instances. MIP1-M found an integer solution in 70% of the problem instances on the Tiny network, compared with only 50% for MIP1. Similarly an integer solution could be found for MIP2-M in 100% of instances on the Tiny network, compared to only 80% for MIP2. Furthermore, an optimal solution was found 20% of the time for MIP1-M compared with only 10% of the time for MIP1; both MIP2 and MIP2-M found the optimal solution 80% 8.3 Computational Results 251 of the time for the Tiny network. The fourth observation is that the quality of the bound pro- vided by the LP relaxation improves for MIP2. For each formulation, we observed the gap between the LP relaxation and the optimal value (where the optimal value was known) and noted that the maintenance reformulation has a smaller gap at the root node. For MIP2 the gap was 14.0% compared with 12.8% for MIP2-M. This is still slightly larger than the average of 11.4%, for both MIP1 and MIP1-M. Some gains have been achieved in the quality of solution obtained using the reformu- lation of the maintenance constraints. However, these gains are insufficient to improve the scalability of the model for the larger network sizes, with no integer solutions being found for the Small to Huge network sizes. Additional refinements are therefore explored in the following sections of this paper.

Airport Slot Constraints

In Section 8.1.2, several constraints were identified that, while not essential to the validity of the model, were designed to strengthen the basic airport capacity constraints which are relatively weak because of their reliance on big-M values. In this section, these constraints are explored to determine whether or not they provide improvement to the results obtained within the 600 second time limit. All of these constraint sets work to improve the formu- lation by reducing the extent to which the solutions of the LP relaxation yield fractional values for the slot assignment variables. Therefore, it is worth noting that these constraints only become relevant for test cases where MAX DELAY is greater than 1, because when MAX DELAY is less than or equal to one, there will only be a single slot departure variable and a single slot arrival variable, so these constraints will provide no additional benefit. For each problem instance, four measures were obtained on MIP1 and compared with results obtained using different combinations of the three sets of strengthening constraints. Parameters were set as per the Small network as described in Table 8.3, with the exception of MAX DELAY which was set 3, 6 and 9 hours in the various experiments. Figure 8.4 (page 253) shows how the different combinations of slot constraints performed relative to the orig- inal model, MIP1. First, the value of the LP objective at the root node was investigated to assess the quality of the lower bound it provided in each variation of the model. The re- sults, shown in Figure 8.4(a), demonstrate that the bound provided by the LP was increased 252 A Mixed Integer Programming approach to Airline Disruption Management most dramatically by combinations containing Set 3, with the improvement in the bound increasing with higher values of MAX DELAY. Similarly, the best bound obtained for the MIP after 600s was best for combinations involving Set 3, as shown in Figure 8.4(c). Figure 8.4(b) shows that in all but the Set 3 only combination, the additional constraints signifi- cantly increase the solve time of the LP relaxation. Finally, a comparison of the quality of the integer solutions obtained within the time limit is shown in Figure 8.4(d). The figure shows that Set 2 has a negative impact on the solution quality, while all other combinations have a moderately positive impact on the solution quality. These results demonstrate the usefulness of the additional slot constraint sets for im- proving the bound provided by the LP relaxation. However, this benefit is not always out- weighed by the associated increase in LP solve time, especially given that for Problem Set B the LP relaxation could not be solved within the time limit for anything but the Tiny net- work. However, constraint Set 3 causes only a moderate increase (less than 5%) in LP solve time, whilst still having the greatest improvement in assosciated bound. Future research could explore the benefits of adding these constraints selectively for flights that are known to be operating into or out of airports that have very tight capacity limits because it is these flights where the slot constraints variables are most difficult to solve to integrality. Note that whilst the results are presented for MIP1, the same experiments were con- ducted on MIP2 and similar results were obtained.

Iteration

In Section 8.2.3, an iterative approach to solving the Stage 1 MIP was described. A wide range of experiments were conducted to determine the best values for (d,c,n) the number of iterations for loops 1,2 and 3 respectively as well as which model formulation to use. It was identified that (3,3,3) with MIP2-MS3 provided, on average, the best performance across all of the problem instances. Where MIP2-MS3 denotes the second MIP model (Decoupled Formulation) with the reformulated maintenance constraint and Set 3 of the airport slot constraints. Table 8.5 compares the solutions obtained using the iterative approach with the solutions obtained by solving MIP2-MS3 using the optimiser only. For the optimiser only approach, 8.3 Computational Results 253

% Increase In LP Objective At Root Node % Increase in LP Solve Time Compared to Compared To MIP1 MIP1 120% 60%

100% 50%

80% 40%

60% 30%

20% 40% % Increase % Increase

10% 20%

0% 0%

-10% -20% MIP1-S1 MIP1-S2 MIP1-S3 MIP1-S12 MIP1-S13 MIP1-S23 MIP1-S1 MIP1-S2 MIP1-S3 MIP1-S12 MIP1-S13 MIP1-S23 Formulation Formulation MAX_DELAY = 3 MAX_DELAY = 6 MAX_DELAY = 9 MAX_DELAY = 3 MAX_DELAY = 6 MAX_DELAY = 9 (a) (b) % Increase in Best Bound (at 600s) Compared to MIP1 % Improvement in Best Integer Solution (at 600s) Compared to MIP1 7%

6% 15%

5% 10%

4% 5%

3% 0% 2%

% Increase -5% 1%

% Improvement -10% 0%

-1% -15%

-2% -20% MIP1-S1 MIP1-S2 MIP1-S3 MIP1-S12 MIP1-S13 MIP1-S23 MIP1-S1 MIP1-S2 MIP1-S3 MIP1-S12 MIP1-S13 MIP1-S23 Formulation Formulation MAX_DELAY = 3 MAX_DELAY = 6 MAX_DELAY = 9 MAX_DELAY = 3 MAX_DELAY = 6 MAX_DELAY = 9 (c) (d)

Figure 8.4: Comparison of results with various airport slot constraints 254 A Mixed Integer Programming approach to Airline Disruption Management parameters were set as per the Tiny, Small and Medium networks in Table 8.3. The iterative approach provides a significant improvement on the larger instances from Problem Set B, for which the approach was designed. The average improvement for the iterative approach was 23-60% when compared to the optimiser only approach, depending on the network size used for the optimiser only. Furthermore, with the iterative approach a feasible solution was found for all problem instances within the time limit. In the few instances where basic op- timisation finds a better solution than the iterative approach, most of these occurred on the Small and Medium networks, for which basic optimisation could only find feasible solutions for 40% of the problem instances, and could find no feasible solutions for any instances in Problem Set B. The iterative approach is therefore a useful tool for finding good solutions to the larger problem instances within the time limit.

8.3.2 Stage Two: Passenger Reaccommodation

In this section the performance of the Passenger Reaccomodation model is explored for various restrictions on the passenger flow network. Note that whilst the PRM model was formulated as an integer program, for all test cases considered the LP relaxation yielded an integer solution. This is an interesting result given that the model is a Multi-commodity network flow, which are not generally known to have integral solutions to the LP relaxation. The structure of the model is explored in Chapter 9 to determine the conditions under which the solution to the LP relaxation can be guaranteed to be integral.

Solution Time Required

To assess the performance of PRM, solutions to Stage 1 were obtained for each of the prob- lem instances and the resulting flight schedule and aircraft assignment was used as input into Stage 2. The Stage 1 solutions were obtained using the iterative approach on MIP2-MS3 with 3 iterations in each of in loops 1,2 and 3. As mentioned in Section 8.2.2, the problem size for Stage 2 is limited by restricting the number of feasible paths (MAX PAX PATHS) for each passenger group. As part of the 2-stage algorithm, we would like to guarantee an optimal solution can 8.3 Computational Results 255 6% 100% 100% 46%29%30%74%33%66% -25%26% 11%30% 9% -458%75% 100%28% 10% 14% -1% 19% 12% -318%26% 6% -131% 3% 100%32% 100% 14% 100%33% 20% 100%27% 8% 100% 3% 100%34% 100%51% 100% 100%16% 100% 100% 100% 23% 100% -54% 100% 100% 100% 100% 60% 21% 100% -11% 100%-11% 100% 100% 100% 100% 100% 100% Improvement from Iterative Algorithm versus Optimiser Only MIP2-MS3-Tiny MIP2-MS3-Small MIP2-MS3-Medium 412,892 678,711 952,227 256,678 748,547 2,231,727 1,112,797 2,436,412 34,576,916 42,383,574 15,835,424 36,375,077 17,863,438 17,956,744 96,821,407 18,734,156 40,888,839 18,776,071 23,170,973 122,718,301 Iterative Algorithm Optimiser Only Table 8.5: Results from Stage One: Iterative Algorithm versus Optimiser Only --- 763,812953,835 329,928748,904 766,412 409,587 286,677 718,463 318,978 1,367,6818,535,741 1,051,5331,014,028 400,2011,591,3059,794,734 873,772 977,832 1,260,284 966,677 583,041 810,872 1,144,543 - 51,744,765 -22,111,68138,792,75622,124,93224,289,45687,263,394 -27,365,941 - - 47,506,187 -28,226,330 -31,876,806 ------110,578,644 - - MIP2-MS3-Tiny MIP2-MS3-Small MIP2-MS3-Medium B02 B03 B04 B05 B07 B08 B09 B10 B01 B06 A02 A03 A04 A05 A06 A07 A08 A09 A10 A01 Average Set B Average Set A Instance Name Average Overall 256 A Mixed Integer Programming approach to Airline Disruption Management be found for the PRM within the time we allocate to Stage 2. To achieve this, a series of experiments were conducted to establish how long to allocate to Stage 2 depending on the value of MAX PAX PATHS. Table 8.6 shows what percentage of the problem instances were solved within 60 seconds to 540 seconds for different values of MAX PAX PATHS, as well as the average gap from the best solution found (when MAX PAX PATHS is 100). The re- sults indicate that whilst there is significant improvement in solution quality as the num- ber of MAX PAX PATHS is increased from 1 to 5, this is not maintained as it increases from 5 to 100. Furthermore, it can be seen that it is not possible to have more than 9 MAX PAX PATHS and still solve Stage 2 within the 600 second time limit. Therefore, given that we would like to use some of the 10 minutes to solve Stage 1 of the algorithm, a value for MAX PAX PATHS between 2 and 9 should be selected, depending on how much time is allocated to Stage 2. In Section 8.3.3, experiments are conducted with different allocations of the 10 minute time limit to Stage 1 and Stage 2.

8.3.3 Algorithm Results

In this section, results from the 2-stage algorithm are presented. The performance of the algorithm, depending on what proportion of the ten minutes is allocated to each stage is explored. Figure 8.5 shows how the quality of solution varies according to how much time is spent in each stage of the algorithm. The figure shows that as the amount of time spent in Stage 1 increases, the solution quality increases, until the point where equal time is spent in each, after which it moderately decreases. We therefore propose to spend equal time in each stage of the algorithm. Table 8.7 shows the improvement gained by incorporating the second stage of the algorithm. The table shows the true objective of the Challenge as described in Section 7.4.1, rather than the approximate objective used in our Stage 1 models (described in Section 8.2.1). The objec- tive was calculated using the cost checker provided on the Challenge website ([1]). The re- sults show that by allocating solution time to reaccommodate passengers on itineraries that do not match their original reservation, the cost was reduced by 193%, on average. This suggests that passenger rerouting is a valuable part of airline recovery, particularly for the problem instances of the Challenge . Capturing alternative passenger itineraries in Stage 1, 8.3 Computational Results 257 600 600 600 600 600 > > > > > PATHS PAX MAX 60 120 180 240 300 360 420 480 540 (%) (seconds) PATHS % Solved within ... seconds Average Gap Solve All within ... 12345 100% 100%6 100% 100% 100%7 90% 100% 100%8 100% 50% 100% 100%9 100% 50% 100% 100% 95% 100% 100% 50% 100% 100% 90% 100% 100% 100% 50% 100% 100% 90% 100% 100% 100% 100% 50% 100% 100% 60% 100% 100% 100% 100% 50% 100% 100% 50% 90% 100% 100% 100% 100% 50% 100% 90% 100% 100% 100% 100% 100% 90% 100% 100% 26% 95% 100% 100% 100% 10% 100% 90% 100% 100% 100% 100% 95% 100% 5% 100% 100% 100% 100% 4% 100% 100% 3% 100% 3% 60 2% 60 2% 120 2% 180 180 180 240 300 360 15 25% 38% 38% 38% 38% 63% 88% 88% 88% 1% 20 40% 40% 40% 50% 50% 50% 50% 50% 50% 0% 25 39% 44% 44% 44% 44% 50% 56% 56% 56% 0% 50 20% 20% 40% 50% 70% 80% 80% 80% 80% 0% 100 15% 15% 15% 15% 15% 15% 15% 15% 15% 0% PAX Table 8.6: Stage 2 Passenger recovery results, % problem instances solved within time limit by MAX 258 A Mixed Integer Programming approach to Airline Disruption Management

Algorithm Performance By Stage1/Stage2 Solution Time 20

18 A01_6088570 A02_6088570

A03_6088570 16 A04_6088570 A05_6088570 14 A06_6088590 A07_6088590 12 A08_6088590 A09_6088590

10 A10_6088590

Solution )/ Best] )/ Solution

- B_01 8 B_02 B_03 6 B_04 B_05

Gap [(Best [(Best Gap 4 B_06 B_07 2 B_08 B_09 B_10 - 1;9 2;8 3;7 4;6 5;5 6;4 7;3 Average Stage 1 versus Stage 2 Solution Time (Stage 1 mins;Stage2 mins)

Figure 8.5: Algorithm performance by Stage 1 / Stage 2 Time Allocation or alternatively iterating between Stage 1 and Stage 2, would be a valid path for future re- search. Additional areas for future research are proposed in the conclustion to this part of the thesis in Section 9.3. 8.3 Computational Results 259 9% 58% 36% 92% 34% 65% -27% -30% 229% 183% 564% 415% 554% 517% 429% 151% 130% 153% 101% 201% 193% 115% 272% Improvement Stage One Only versus Two Stage 412,892678,711952,227256,678748,547 125,535 620,425 336,868 350,516 1,076,162 2,231,7271,112,7972,436,412 336,242 815,679 1,267,185 34,576,91642,383,57415,835,42436,375,07717,863,43817,956,744 21,851,161 96,821,40718,734,15640,888,83918,776,07123,170,973 31,662,379 3,072,355 5,561,063 2,894,630 3,395,235 38,500,999 8,136,247 16,142,185 9,325,635 7,710,686 122,718,301 74,425,563 Table 8.7: Improvement in objective due to second stage of Two Stage Algorithm Stage One Only (600 seconds) Stage One & Two (300 seconds each) B02 B03 B04 B05 B06 B07 B08 B09 B10 B01 A07 A08 A01 A02 A03 A04 A05 A06 A09 A10 Average Set B Average Set A Instance Name Average Overall 260 A Mixed Integer Programming approach to Airline Disruption Management

8.4 Discussion

The Challenge is a real test of airline disruption management designed by a team from a commercial enterprise (Palpant et al. [133]). Consequently it is not focused on one re- source, such as aircraft tail assignment, but involves aircraft, airport capacity and passen- gers. More importantly it takes into account the many side-constraints that are faced by airline controllers such as pre-assigned aircraft maintenance, aircraft unavailability, mini- mum turnaround times, aircraft final location, airport slot capacity reductions, passenger itineraries and aircraft capacities. The complexity of the side constraints and the sheer number of passenger itineraries make this a very challenging application. To achieve scalability, other groups have used local improvement techniques which are specific to the application (Artigues et al. [17]). The approach presented here is to use a traditional mathematical model and achieve scalability by problem decomposition. Two variants of the model are compared. The first model is designed to be tight, while the second is designed to be more compact and scalable. For the tighter model scalability is achieved by creating a minimal number of groups of aircraft, within which each aircraft can be treated as indistinguishable by the model. A particular cause of extra groups are the aircraft maintenance constraints. By pre-computing possible sequences of activities for these aircraft it has proven possible to avoid introducing these additional groups, and therefore to improve scalability as well as tightness for the first model. The requirement for finding solutions quickly is addressed by decomposing the prob- lem into two stages - aircraft disruption handling and passenger disruption handling. The aircraft disruption handling stage takes into account the original passenger itineraries to ensure as far as possible that the aircraft capacities after aircraft swapping are still sufficient to accommodate passenger demand. The first stage is solved via a MIP-based search, where the solution space is expanded to gradually explore further and further away from the original schedule. At each iteration the solution to the previous, more restricted problem is preloaded into the optimizer to facilitate a warm start and therefore improve the performance of both the heuristic search and branch and bound algorithm which are known to perform better with an incumbent solution. The second stage - minimising passenger disruption - is treated as a Multi-commodity 8.4 Discussion 261 network flow problem, for which the linear relaxation yields integer solutions. Understand- ing the nature of this model and why we have so far only obtained integer solutions to the Linear relaxation is explored in Chapter 9. However, with the aircraft routing already fixed in Stage 1, there appears to be little opportunity for further optimisation in Stage 2.

Chapter 9 Passenger Recovery

This chapter presents a detailed formulation of the Passenger Recovery Model developed for the 2-stage algorithm of Chapter 8 and explores the conditions under which the optimal solution to the LP relaxation is integral.

In Chapter 8, a 2-stage algorithm was presented for solving the airline recovery prob- lem formulated for the ROADEF 2009 Challenge (the Challenge). In this chapter the Integer Programming model that was developed to address the second stage problem of recovering passengers is presented. The model is designed to recover passengers after decisions have been made with respect to routing aircraft and delaying and canceling flights, thus the flight schedule is known and fixed. The model, formulated as a Multi-commodity network flow, proves to have interesting properties which cause it to yield integer solutions when being solved as a Linear Program. In this chapter, the structure of the constraint matrix is explored and it is demonstrated that it is Totally unimodular (TU) in some special cases, and it is con- jectured that it is Total Dual Integral (TDI) for the problem instances addressed in this thesis. The chapter begins with a description of the Passenger Recovery Model formulation.Next the structure of the constraint matrix is explored, and proofs and conjectures related to the TU and TDI nature of the model are presented. Finally the conclusions to Part III are drawn, including opportunities for future research. The primary contributions of this chapter are:

• The formulation of an Integer Programming passenger recovery model; • Proof that for instances where passengers are restricted to a single flight leg on each itinerary, the constraint matrix is totally unimodular, and therefore the solution to the LP relaxation will yield an integer optimal value; • A conjecture that for the problem instances addressed in this thesis, the system is totally dual integral, and therefore the solution to the LP relaxation will always yield

263 264 Passenger Recovery

an integer optimal value.

9.1 Passenger recovery model

This section describes, in more detail, the Passenger Recovery model originally presented in Section 8.2.2. The context, problem description, and formulation of the Passenger Recovery model have all previously been described in Chapters 7 and 8. However, the explanation provided here will assist with analysis of the properties that cause the solutions to the LP relaxation to be integer. Furthermore, additional detail is provided on the network structure and costs. Before revisiting the formulation, a brief reminder of the problem description is pro- vided. Passenger’s are recorded in the Challenge by reservations. The booking class of each flight in the itinerary is also known. As a result of disruptions to the schedule, some or all of the original passenger itineraries are no longer feasible. In the Challenge, passengers can be rerouted, reaccommodated in different booking classes, or their travel can be canceled; of course all of this comes with a cost. Furthermore passengers with the same reservation can be split up in the recovered schedule. The model relates to the recovery of passengers given a new schedule, where all flight times and aircraft capacities are known. The notation used in this formulation was originally defined in Chapter 7, a summary is provided in Appendix G.2 (page 352). The IP is formulated as a Multi-commodity network flow on a flight connection network. Nodes in the network represent flights and arcs between the nodes represent connections r or flow between flights. Integer variables v f ,g,b count the number of passengers with reser- vation r that use connection ( f , g) ∈ E(r), accommodated in g in class b. Dummy flights o d are used to represent the origin (nr ) and destination (nr ) of the journey for passengers with reservation r.

Constraints

The constraints of the model describe the “flow” of passengers through the network. First,

Constraint (9.1) ensures no more than the required number of passengers, numr, are accom- 9.1 Passenger recovery model 265 modated:

r v o ≤ num , ∀r ∈ R. (9.1) ∑ ∑ nr , f ,b r o f :(nr , f )∈E(r) b∈B( f )

Constraint (9.2) ensures passenger flow consistency:

r r ∑ ∑ vg, f ,b − ∑ ∑ v f ,g,b = 0, ∀r ∈ R, ∀ f ∈ F(r). (9.2) g:(g, f )∈E(r) b∈B(g) g:( f ,g)∈E(r) b∈B( f )

Constraint (9.3) requires that all passengers fit on the aircraft in their assigned class:

r ∑ ∑ v f ,g,b ≤ cap f ,b, ∀ f ∈ F, ∀b ∈ B( f ). (9.3) r: f ∈N(r) g:( f ,g)∈E(r)

To ensure the resulting passenger itineraries are valid with respect to minimum con- nection time, connections ( f , g) are only added if sched depg ≥ sched dep f + f lt tm f + min cnnct tm f ,g. Furthermore, connections to a particular flight for a given passenger are only added if it arrives before their latest arrival time. Similarly it is possible to pre-process to ensure connections are only added if a flight can be feasibly connected to a flight that arrives at the final destination before the latest arrival time.

The objective function

The objective function defined for the Challenge involves a number of components which are designed to maximise the utility of the passenger flows delivered by the solution. Each arc has associated with it a cost,

r r r r c f ,g,b = down grade f ,g,b + delay f ,g,b + value f ,g,b

r Where down grade f ,g,b is zero if b is the same or a better class than the original reserva- tion, and negative otherwise. If g does not arrive at the final destination of passengers on r r reservation r, then delay f ,g,b and value f ,g,b are both zero. Otherwise, since g arrives at the r final destination for passengers on reservation r, delay f ,g,b is a negative value determined by the arrival time of g compared to the original planned arrival time for passengers on r r. delay f ,g,b is zero if flight g arrives at the same time or earlier than passenger r’s original 266 Passenger Recovery

r planned arrival time. Similarly, value f ,g,b is a positive value that is a function of the price the passenger paid for the reservation, the length of the trip, and whether or not they were on the outbound or inbound leg of their journey. So the passenger recovery model objective is:

r r Z := ∑ ∑ ∑ ∑ c f ,g,bv f ,g,b (9.4) r∈R f ∈F(r) g:( f ,g)∈E(r) b∈B( f )

Equivalent Formulation

Note that, without loss of generality, the b subscript can be dropped, and each b ∈ B( f ) treated as separate flights. It is also possible to omit the dummy end nodes as well as the dummy start nodes for all but the single leg itineraries, generating the model below. For this formulation, some additional notation is required. Denote O(r) ⊆ E(r) the set of possible passenger connections in reservation r, such that the first flight departs from the origin of the reservation, i.e. O(r) = {( f , g) : ( f , g) ∈ E(r), dep( f ) = dep(r)}. Constraint (9.1) can thus be replaced with:

r r v + v o ≤ num , ∀r ∈ R. (9.5) ∑ f ,g ∑ nr , f r o ( f ,g)∈O(r) f :(nr , f )∈E(r)

Denote T(r) ⊆ F(r) the set of possible flights in reservation r such the flight neither departs from the origin nor arrives at the destination of the reservation, i.e. T(r) = { f : dep( f ) 6= dep(r), arr( f ) 6= arr(r)}. Constraint (9.2) becomes:

r r ∑ vg, f − ∑ v f ,g = 0, ∀r ∈ R, ∀ f ∈ T(r). (9.6) g:(g, f )∈E(r) g:( f ,g)∈E(r)

Denote D(r) ⊆ E(r) the set of possible passenger connections in reservation r, such that the second flight arrives at the destination of the passenger reservation, i.e. D(r) = {( f , g) : ( f , g) ∈ E(r), arr(g) = arr(r)}. Since there are no longer dummy end nodes, constraint (9.3) becomes:

r r ∑ ∑ v f ,g + ∑ ∑ vg, f ≤ cap f , ∀ f ∈ F. (9.7) r: f ∈N(r) g:( f ,g)∈E(r) r: f ∈N(r) g:(g, f )∈D(r) 9.1 Passenger recovery model 267

Passenger Recovery Model Formulation

r r min ∑ ∑ ∑ c f ,gv f ,g r∈R f ∈F(r) g:( f ,g)∈E(r)

s.t.Demand constraints (9.5), hold,

Flow balance constraints (9.6) hold, and

Capacity constraints (9.7) hold.

Throughout this chapter, the constraint matrix of equations (9.5), (9.6) and (9.7) will be referred to as Aprm. Constraints of the type identified in equation (9.5) are referred to as demand constraints, with demandp identifying the demand constraint for passengers trav- demand eling on reservation p. Aprm refers to all rows in Aprm relating to demand constraints.

Constraints of equation (9.6) are referred to as f low balance constraints, with f low balancep,i f low balance controlling flow of passengers from reservation p into/out of flight i. Aprm refers to all rows in Aprm relating to f low balance constraints. Constraints of equation (9.7) are re- capacity ferred to as capacity constraints, with capacityi referring to the capacity of flight i. Aprm refers to all rows in Aprm relating to capacity constraints.

This model is a multi-commodity network flow problem, which is known to be NP − complete for integer flows. However, it can be shown that for special cases where passengers travel on at most 1 flight legs in any itinerary, the constraint matrix is totally unimodular, and therefore an integer optimal solution can be obtained by solving the LP relaxation. We also conjecture that for the problems we address in this thesis, the system of equations f low balance capacity demand Aprm x = 0,Aprm x ≤ cap,Aprm x ≤ num is total dual integral, and therefore can also be optimised using the LP relaxation while still yielding an integer solution. Our computational results support this conjecture, and investigation into a proof or counter- example for this conjecture is recommended as an area for future research. See Section 9.2.4 for a brief discussion of this topic. 268 Passenger Recovery

9.2 Integral boundary points of the passenger recovery model

Appendix B contains a review of the literature and background theory relating to totally unimodular (TU) matrices and total dual integral (TDI) systems of equations (Appendix B.4, page 301). These concepts are of particular relevance when investigating whether the LP relaxation of an IP will yield an integer-valued optimal solution. Before entering into a detailed analysis of the structure the PRM and the feasible region defined by its constraints, a commentary on the entries in the constraint matrix, Aprm is provided. A special case of the passenger recovery model is then explored, followed by a discussion of the more general case.

9.2.1 Matrix entries

For all proofs that follow, it is useful to note which constraints each variable appears in and the sign of each coefficient. For variables relating to flow from a dummy start node, i.e. r single leg itineraries, v o , there will be only two non-zero entries in the constraint matrix: nr , f a +1 entry in the row relating to constraint capacity f and a +1 entry in the row relating to constraint demandr. Every other row will have a 0 entry. For variables relating to two leg r itineraries, i.e. v f ,g such that dep( f ) = dep(r) and arr(g) = arr(r), there will be three non- zero entries in the constraint matrix: a +1 entry in the row relating to constraint capacity f , a +1 entry in the row relating to constraint capacityg and a +1 entry in the row relating to constraint demandr. Every other row will have a 0 entry. For variables relating to the first r two legs in an itinerary with three or more legs, i.e. v f ,g such that dep( f ) = dep(r) and arr(g) 6= arr(r), there will be three non-zero entries in the constraint matrix: a +1 entry in the row relating to constraint capacity f , a +1 entry in the row relating to constraint demandr and a −1 entry in the row relating to constraint f low balancer,g. Every other row will have a 0 entry. For variables relating to the last two legs in an itinerary with three or more legs, r i.e. v f ,g such that dep( f ) 6= dep(r) and arr(g) = arr(r), there will be three non-zero entries in the constraint matrix: a +1 entry in the row relating to constraint capacity f , a +1 entry in the row relating to constraint capacityg and a +1 entry in the row relating to constraint f low balancer, f . Every other row will have a 0 entry. Finally, for variables relating to flow between two flights that neither depart from the origin of the reservation, nor arrive at the 9.2 Integral boundary points of the passenger recovery model 269

r destination of the reservation, i.e. v f ,g such that dep( f ) 6= dep(r) and arr(g) 6= arr(r), there will be three non-zero entries in the constraint matrix: a +1 entry in the row relating to constraint capacity f , a +1 entry in the row relating to constraint f low balancer, f and a −1 entry in the row relating to constraint f low balancer,g. Every other row will have a 0 entry. Table 9.1 summarises this description of the matrix coefficients for all types of variables.

r Variable, v f ,g o f = nr dep( f ) = dep(r) dep( f ) 6= dep(r) dep( f ) = dep(r) dep( f ) 6= dep(r) Constraint arr(g) = arr(r) arr(g) = arr(r) arr(g) 6= arr(r) arr(g) 6= arr(r)

demandr +1 +1 0 +1 0 capacity f 0 +1 +1 +1 +1 capacityg +1 +1 +1 0 0 f low balancer, f 0 0 +1 0 +1 f low balancer,g 0 0 0 -1 -1 All other constraints 0 0 0 0 0

Table 9.1: Matrix entries for the Passenger recovery model

9.2.2 A special case of the Passenger Recovery model, N=1

In this section, a special case of the Passenger Recovery model where passengers only travel on single flight-leg itineraries is explored. In this case, it is proven that the constraint matrix

Aprm is TU.

Lemma 9.1. Let the matrix Aˆ prm be the constraint matrix for a passenger recovery network that consists of only single-leg itineraries. Aˆ prm is totally unimodular .

Proof. It is proven that Aˆ prm is totally unimodular by showing that it satisfies the conditions of Theorem B.2 (Appendix B.4.1, page 302). For variables relating to single leg itineraries there are only two non-zero entries in the constraint matrix: a +1 entry in the row relating to constraint capacity f and a +1 entry in the row relating to constraint demandr. Therefore

Condition B.2.1 is satisfied. Condition B.2.2 is satisfied because all entries in Aˆ prm are either

0 or +1. Condition B.2.3 requires that the rows of Aˆ prm be partitioned into two disjoint sets such that if two non-zero entries in a column of Aˆ prm have the same sign, then the row of one is in A1, and the other is in A2. Each variable will appear in at most one capacity constraint with a +1 coefficient, and at most one demand constraint with a +1 coefficient. Therefore, by allocating all the rows that correspond to capacity constraints, to B1 and all the rows that 270 Passenger Recovery

A C

P P E B

R R D

Legend

Source Sink Flight

Figure 9.1: Example passenger flow network with non-TU PRM constraint matrix, Aprm

correspond to demand constraints to B2, such a partition is achieved. Finally condition B.2.4 must also hold since there are no entries with negative signs.

9.2.3 Aprm not generally TU

Whilst Theorem B.2 is useful for establishing the TU nature of certain instances of Aprm , it is not sufficient to establish the TU nature of Aprm more generally because condition 1 does not hold. In fact, as will be shown here, there are instances of Aprm that are not TU.

To show that Aprm is not always TU, consider the network depicted in Figure 9.1 (page 270). The network consists of two passenger groups, r and p, both of which can reach their destination via the following two paths: Flight A → Flight C → Flight B or Flight D → Flight B. This network yields a constraint matrix that contains the following square submatrix depicted in Table 9.2. The matrix has determinant 2, and therefore the Aprm constraint matrix is not totally unimodular. 9.2 Integral boundary points of the passenger recovery model 271

r p p p r r xea xea x x x xac  ed db cb  +1 +1 0 0 0 0 capacitya  0 +1 +1 0 0 0  demp    0 0 +1 −1 0 0  f lowp d B=   ,  0 0 0 +1 +1 0  capacity   b  0 0 0 0 −1 +1 f lowr,c +1 0 0 0 0 −1 f lowr,a

Table 9.2: Square submatrix from Aprm for example network shown in Figure 9.1

9.2.4 A conjecture on the integrality of the Passenger Recovery Model

As we have shown, Aprm is not generally TU, except in the case with only single flight leg itineraries. However, the computational results obtained solving the linear relaxation of the PRM in this thesis consisted only of integer valued solutions. This suggests the presence of a special structure in our problem instances, leading to the following conjecture.

Conjecture 9.1. Let the matrix Aˆ prm be the constraint matrix for a passenger recovery network that consists of itineraries with at most two flight-legs. The system of linear inequalities that describe n o ˆ capacity ˆ demand the passenger recovery model, P := x|Aprm x ≤ cap, Aprm x ≤ num is total dual integral (TDI).

We attempted a proof of Conjecture 9.1 that makes the use of the total dual integrality theory summarised in Appendix B, specifically Theorem B.4 (page 303). The goal was to show that each face, F, of P forms a Hilbert Basis, and therefore the system of equations is TDI. To demonstrate that each vector on the cone of P is also in the integral cone, we sought a mapping for ~µ given~λ. Using the proposed mapping, we then sought to demonstrate that m ~ each ~µ ∈ Z and that for any point ~x on the integral cone, ~x = λAˆ prm = ~µAˆ prm. A variety of mappings were explored, and in each case a sticking point occurred at the same point, namely where the dual variables for two capacity constraints, say capacity f and capacityg, were both equal to half and there exists a passenger group for whom flight f followed by flight g is a valid itinerary. At the time of writing, we have been unable to ascertain that this point is not on the cone of P, nor have we been able to use these points to successfully generate a counter example that is not TDI. In either case, the finding would be valuable. First, if we can prove the point is not on the cone of P, then we may be able to prove the conjecture and will have an insight into the structure that is supporting the integrality. On the other hand, if we successfully 272 Passenger Recovery generate a counter example, it would point to attributes that are not present in the test cases that were used in this thesis, enabling us to refine the conditions under which integrality of the PRM can be assured. In either case we would obtain a better understanding of the underlying structure that is driving our computational results, making it a valid direction for future research. Whatever the finding, we could also hope to extrapolate it to cases where passenger itineraries can consist of more than 2 flight legs.

9.3 Conclusion to Part III

In this part of the thesis (Part III), we addressed the airline recovery problem as posed by the ROADEF 2009 Challenge. The problem addresses the recovery of a flight schedule and passenger itineraries in the face of operational disruption, with consideration given to air- craft availability and capacity, airport slot capacities and aircraft maintenance constraints. Specifically we developed a two stage, MIP based algorithm to address the problem. In the first stage the schedule was repaired under the assumption that passengers would remain on their original itineraries and in the second stage, with the schedule fixed, passengers were re-accommodated on the best available itinerary. When the approach was developed for the Challenge, it was among the first approaches to the integrated airline recovery prob- lem that simultaneously dealt with such an array of resources and operational constraints. By design, the Challenge has since motivated a raft of research into the integrated schedule recovery problem. In what follows, an explanation of the research methodology adopted is provided, followed by a summary of the findings and recommendations for future research.

9.3.1 Research Approach

The goal of the research was to develop an approach that solved the integrated airline re- covery problem posed by the Challenge, with an emphasis on obtaining solutions within the practical time frames required of an airline (identified as 10 minutes by the Challenge). Fur- thermore, a primary objective was to design an approach that would use all available time to keep looking for a global optimum, rather than an heuristic approach that may solve the problems quickly but never reach the optimum. Starting with a solution approach that would technically find the global optimal solution with enough computational time, our 9.3 Conclusion to Part III 273 subsequent methodology can best be described as a series of compromises to improve the solve time required to obtain a good solution. Specifically, the steps followed in the ap- proach were:

1. Formulate a MIP for solving the the Challenge, exploring the time required to find an optimal solution; 2. Identify and assess a series of model reformulations designed to reduce the compu- tational time required to solve the problem; 3. Decompose the problem into two simpler problems: schedule recovery with fixed passenger itineraries followed by passenger recovery on a fixed schedule; 4. Develop an algorithm that retains the ability to find the optimal solution, but is also able to find a feasible solution quickly.

The findings obtained through implementing this approach are outlined in the following section.

9.3.2 Findings

Finding 1: Practical sized problems difficult to solve to optimality using a basic MIP

Though our solution approach has at its core a MIP, a variety of experiments were con- ducted which highlighted the limitations of a basic MIP for solving practical instances of the problem, motivating the development of a MIP-based heuristic. Computational results in Section 8.3.1 (page 249) demonstrated that the MIP could not be solved to optimality within the 10 minute limit imposed by the Challenge; specifically less than a third of the problem instances could be solved to optimality within 10 minutes using a commercial solver. Re- finements to the MIP were developed to address known shortcomings of the formulation such as the big-M constraints used to model maintenance requirements and airport slot ca- pacity limitations. While these refinements were an improvement, they were not able to yield sufficient improvement to gain optimal solutions in practical run times. In fact, the only refinement to the basic MIP that increased the proportion of problems that could be solved to optimality was the reduction of the network size, effectively limiting the distance from the initial schedule to the recovered schedule, however this came at the expense of the quality of the optimal solution. The best results to the problem were obtained using a 274 Passenger Recovery

MIP-based heuristic which started with a reduced network, iteratively solving the problem and selectively growing the network (Section 8.3.1, page 252). Our finding is consistent with existing results in the literature, in particular with the results of Mansi et al. [123] who also developed a MIP-based heuristic approach for the Challenge. In fact, Mansi et al. were un- able to present any results on their MIP formulation because they were unable to load the linear relaxation without exceeding the memory limitations on a computer with 2GB RAM (Mansi et al. [123]).

Finding 2: Passenger re-accommodation after schedule recovery significantly improves solution quality

To simplify the integrated schedule recovery problem, our approach initially made the as- sumption that passengers would travel on their original itineraries or not travel at all. Sub- sequently a second phase passenger re-accommodation process was introduced to assess whether it was worth spending some proportion of the 10 minute limit searching for al- ternative itineraries after the schedule has been repaired. Computational results in Section 8.3.3 (page 256) clearly demonstrate the benefit of passenger re-accommodation, with over- all disruption costs reducing by 193% on average when 5 minutes of the computation time was allocated to passenger recovery. This finding is interesting for two reasons. First, it demonstrates the value of considering the impact of disruptions on passengers rather than focusing soley on recovering the flight schedule. Second, it suggests there is potential value in solving the integrated schedule recovery problem with alternative passenger itineraries captured in the first stage, rather than just the original booked itineraries.

Finding 3: The PRM linear program for passenger recovery yields integer valued optimal solutions

The Passenger Recovery Model of the second stage was formulated as a Multi-commodity network flow problem, with the commodities representing passengers on different reser- vations. Computational results in Section 8.2.2 (page 237) yielded only integer valued so- lutions to the LP-relaxation of the Passenger Recovery Model. This is a significant finding given that Multi-commodity network flow problems are not typically integral. 9.3 Conclusion to Part III 275

Finding 4: For certain classes of the PRM, the linear relaxation will always yield an inte- ger valued optimal solution

Through an analysis of the PRM constraints, we were able to prove that for the simple case where passengers only ever travel on single flight leg itineraries, the PRM constraint matrix is totally unimodular, and therefore the linear relaxation will always yield integer valued solutions (Section 9.2.2, page 269). With the use of a counter-example, we were also able to show that for passenger itineraries with multiple flight legs, this is not always the case (Section 9.2.3, page 270). However, we conjecture that there exists a class of more complex passenger networks containing itineraries with 2 or more flights legs that are Totally dual integral, and will therefore always yield an integer valued optimum for the linear relaxation (Section 9.2.4, page 271).

9.3.3 Future Research

There remain a number of aspects of the problem to be explored. Firstly a closer integration of the two stages could improve the passenger disruption handling. In particular extra flights could be introduced to avoid the heavy cost of passenger itineraries that are started but not completed. The review of the approaches adopted by the best performing finalists in the Challenge (section 7.3, page 212) points to several opportunities to improve our algorithm without fundamentally changing the approach. First, as noted in Section 7.3, a strength of the top two finalists in the Challenge was their use of heuristics to add and delete cycles into aircraft rotations; these heuristics could be adapted for use in our MIP framework, adding the cycles identified using the heuristics into our network, but adding them as aggregated flight nodes (rather than individual flights) to keep the network small. Another strength of the top two finalists was their use of a construction phase to identify a feasible solution; adopting such an approach to obtain an initial feasible solution to start our algorithm may help to improve its performance. Another opportunity to improve our approach is due to Eggermont et al. [72]. They utilise a clever heuristic for allocating airport slots to maximise the likelihood that aircraft requiring maintenance will be able to reach their maintenance destination by the required time. By pre-allocating our airport slots in this manner, we could reduce the number of 276 Passenger Recovery binary variables and big-M constraints by adding slot variables for the pre-allocated slots while still ensuring our solution will be feasible with respect to maintenance. The search space could then be gradually increased through the addition of alternative slot variables as per the current iterative algorithm. The more fundamental question raised by the different approaches to the challenge is whether aspects of different approaches can be combined in a single algorithm. In partic- ular, in case the sequencing of the two stages in our approach leads to a loss of solution quality, it would be interesting to use the current Stage 1 and Stage 2 models within an iterated approach which solves both models repeatedly: for example in a large neighbour- hood search approach. Given that the PRM can be solved efficiently as a Linear Program, it naturally lends itself to being embedded in such an iterated approach. As already noted in Section 9.2.4, further investigation into the underlying structure of our PRM problem instances and the conjecture that the linear relaxation will always yield integer valued optimal solutions is also recommended. Finally this work is a part of a set of projects whose target is the integration of resource allocation for multiple resources, and a (temporal) integration of planning, scheduling and operational control in airlines and other transport networks. In this context, the inclusion of crew recovery in this algorithm is an essential feature of our ongoing research.

9.3.4 Contributions

At the beginning of each chapter in Part III, the primary contributions of that chapter were highlighted. The most significant of these contributions are:

• A comprehensive Mixed Integer Programming model for recovering both aircraft and passengers when an airline is operationally disrupted, including consideration of a wide range of resources and many disruption types; • A two-staged algorithm that first seeks to optimise passengers’ recovery on their orig- inal planned reservations, followed by re-optimisation of passenger itineraries’ after the schedule has been recovered; • Computational results exploring the computation time and solution quality trade-off of the various MIPs and algorithms presented; • The formulation of an Integer Programming passenger recovery model, whose linear 9.3 Conclusion to Part III 277

relaxation yields integer valued solutions; • Proof that for instances where passengers are restricted to a single flight leg on each itinerary, the constraint matrix is totally unimodular, and therefore the solution to the LP relaxation will always yield an integer valued optimal;

Part IV

Conclusion

279

Chapter 10 Conclusion

This chapter provides a summary of the problem addressed, how it was investigated, the findings presented in the thesis and recommendations for future research.

In this thesis we addressed the problem of robust airline scheduling, acknowledging the interdependence between schedule design and recovery when considering the robustness of a schedule. Given the difficulty of solving an integrated design and recovery problem, we began our research by exploring a simplified robust scheduling problem in Part II, as- suming that the only recovery action available is push-back. We extended existing research by developing a model, the Delay Transition Model, that addressed shortcomings of models in the literature. The result of addressing the reduced scope of robustness to delay with push-back only was that our approach was able to deliver robustness to minor delay, but had limited impact on robustness to major shocks or long delays. Since robustness to ma- jor shocks is heavily interlinked with recovery decisions, we next explored the recovery problem in Part III, discovering that addressing a variety of operational constraints and re- sources in an integrated recovery model makes it difficult to find solutions within practical run times. The long term goal of our research is to develop an approach to robust schedul- ing that incorporates a variety of different recovery decisions and disruption scenarios. The first step in this line of research has been to investigate two simplifications of the problem, specifically schedule design with push-back recovery only and disruption management for a single disruption scenario. Future research will need to draw together the lessons from the two problems, tying them together to address a broader range of disruption and recovery scenarios during the design phase. In what follows, we provide a recap on the research conducted in each of Part II and Part III, followed by more general conclusions that apply to both parts, or that apply to the broader problem of robust scheduling through integrated design and recovery.

281 282 Conclusion

10.1 Recap: Simplified Robust Scheduling

In part II of this thesis, we addressed the simplified robust schedule design problem of tak- ing an existing airline schedule and using it to construct a new schedule with equivalent costs that is most robust in the absence of any active recovery decisions. Specifically we de- veloped a new metric for measuring the robustness of a schedule, and designed an approach to optimise this metric by reallocating slack through the retiming of flights and rerouting of aircraft. Our research builds on existing models that reallocate slack through the retiming of flights or the rerouting of aircraft. The particularly novel features of the model being that: it does not assume that primary delay on a flight is independent of the propagated delay already on the flight; it allows optimisation over the profile of the delays in the schedule, rather than just a single point on the distribution or a statistic; and it retimes flights and reroutes aircraft to reduce propagated delay. In addition to the novelty of the model itself, our solution approach for optimising the model utilised a bespoke algorithm, the DTM-PRICE-LABEL, a label setting algorithm which exploited special properties of the underlying problem, namely that the delay transi- tion function is stochastically monotone (i.e. things stay the same or get worse, rather than getting better), and that a practical cost function for the delay profile is non-decreasing. For further explanation of the research methodology adopted, a summary of the find- ings, and recommendations for future research associated with Part II of this thesis, the reader is referred to the conclusion section in Chapter 6, Section 6.4.

10.2 Recap: Disruption Management

In part III of this thesis, we addressed the airline recovery problem as posed by the ROADEF 2009 Challenge. The problem addresses the recovery of a flight schedule and passenger itineraries in the face of operational disruption, with consideration given to aircraft avail- ability and capacity, airport slot capacities and aircraft maintenance constraints. Specif- ically we developed a two stage, MIP based algorithm to address the problem. In the first stage the schedule is repaired under the assumption that passengers will remain on their original itineraries and in the second stage, with the schedule fixed, passengers are 10.3 Robust Airline Scheduling and Disruption Management 283 re-accommodated on the best available itinerary. When the approach was developed for the Challenge, it was among the first approaches to the integrated airline recovery problem that simultaneously dealt with such an array of resources and operational constraints. The primary contributions of our research is twofold. The first is the design of an algo- rithm for the first stage that, given sufficient computation time, will find a global optimum while initially focusing on finding feasible solutions quickly. The second is the formulation of a multi-commodity network flow model for passenger recovery which despite being a MIP, yields integer valued solutions when the linear relaxation is solved. For further explanation of the research methodology adopted, a summary of the find- ings, and recommendations for future research associated with Part III of this thesis, the reader is referred to the conclusion section in Chapter 9, Section 9.3.

10.3 Robust Airline Scheduling and Disruption Management

In Chapter 1 we introduced two frameworks for integrating recovery and design to deliver a robust schedule: one in which schedule design and recovery are integrated within a stochas- tic programming model and a second in which simulation is used to assess key measures associated with robust schedules, so that the robustness measures can then be designed into a scheduling approach. It was noted that, in either framework, the complexity of developing a realistic model of airline operations and solving the associated problems within a practical runtime was beyond the scope of this thesis (section 1.3.1, page 11). However, the simplified problems addressed were designed to advance the research towards implementation of one or both of the frameworks described. The Delay Transition Model of Part II has established a foundation for integrating schedule design decisions with recovery and expected delay outcomes. However, it is yet to capture crew and passenger impacts or recovery decisions such as rerouting aircraft or canceling flights. Given that the efficient solution algorithm for the problem is dependent on the stochastic monotonicity of the transition functions, it would be interesting to see if the spe- cial structure of the problem could be retained as additional resources and recovery options are included. In the meantime, the lessons learned of where the slack should be allocated could be incorporated into a schedule design approach. 284 Conclusion

The recovery algorithm of Part III is better suited to a simulation-based assessment of the robustness of a schedule. For small enough recovery periods and/or with enough com- putational power, the algorithm is sufficient for use in this capacity, however the computa- tional time required may be prohibitive to gather enough data points. Alternatively, while it can not solve larger problems fast enough for practical use in an operating environment, the approach could be used to pre-compute recovery options for a given schedule and set of disruption scenarios, which could then be used by operations controllers to assist their problem solving on the day of operations. In addition to the progress on robust scheduling and disruption management, some common themes emerged when addressing the two different problems. Interestingly, the research into each simplified problem yielded an integer program whose linear relaxation produces an integral optimum. Furthermore, the most successful algorithms for solving each problem required the structure of the problem to be exploited. Specifically, the label setting algorithm for the Delay Transition Model column generation algorithm exploited the stochastic monotonicity of the delay transition function, while the MIP-based algorithm of the recovery problem exploited the fact that it is recovering from disruption to an existing schedule, and therefore a reasonable solution might be found “near” the original solution.

10.4 Future Research

Opportunities for extending the research on each simplified problem were highlighted in their respective parts of the thesis. Here we focus on opportunities for extending the re- search to address the broader robust airline scheduling framework. The Delay Transition Model is a very basic integrated design and recovery model. Future research is recommended to extend it to capture more recovery options (such as aircraft swaps and flight cancellations), more complex disruptions (such as airport closure and air- craft unavailability, rather than basic delay), and additional resources (such as crew, passen- gers and airport capacity). To deliver a robust schedule via simulation-based assessment, future research is recom- mended to accelerate the recovery algorithm discovered in Part III. The research would also require a source of different schedules (e.g. a schedule generator), a set of possible indicators 10.5 Contribution 285 of robustness for consideration (e.g. swap opportunities, available slack), and a simulator to generate disruption scenarios. Future research is also recommended to incorporate crew into the model, however this would significantly increase the complexity of the problem.

10.5 Contribution

At the beginning of each chapter in this thesis, the primary contributions of the chapter were highlighted. The most significant of these contributions are:

• The Delay Transition Model, a MIP for optimising the expected on time performance of a schedule, the particularly novel features of which are that it:

1. does not assume that primary delay on a flight is independent of the propagated delay already on the flight; 2. allows optimisation over the profile of the delays in the schedule, rather than just a single point on the distribution or a statistic; 3. retimes flights and reroutes aircraft to reduce propagated delay; and 4. has been modeled uniquely via the embedding of a Markov Decision Process into a MIP, with decision variables representing the probability of being in each state.

• An efficient column generation algorithm for solving practical examples of the Delay Transition Model problem, including a label setting algorithm for solving shortest path problems with stochastic, multiplicative arc costs, provided the transition functions along the arcs are stochastically monotone, and the cost function is non-decreasing; • A MIP-based heuristic algorithm for solving the airline recovery problem that first op- timises passengers’ recovery on their original planned reservations, followed by re- optimisation of passenger itineraries’ after the schedule has been recovered; • The formulation of two Mixed Integer Programs that consistently yield integer valued optimal solutions to their LP relaxation (the DTM-RMP and the PRM), including an exploration into the conditions under which this will occur; • Computational results that explore the performance of the various algorithms as well as generating insights into the problems addressed.

Appendix A Glossary and Acronyms

A.1 Glossary

Table A.1: Summary of key terms used throughout the thesis

Term Definition (aircraft) configuration A subset of aircraft with the same model and seating layout (and hence family) (aircraft) family A subset of aircraft with common characteristics, e.g. A318, A319, A320 and A321 are all in the same family; crews are often trained to operate all aircraft in the same family due to the cock pit and flight operations being similar (aircraft) model A type of aircraft, e.g. Boeing 787, Airbus A330 aircraft swaps when an aircraft that was scheduled to operate a flight is replaced with another aircraft crew pairing a sequence of flights that can be operated by a crew member or group of crew day of operations activities that occur on the day of, or within several days of the scheduled time of a flight. Usually used to refer to the actual oper- ations of an airline, rather than the schedule or plan. flight A scheduled service between a departure airport and an arrival ports, with a scheduled departure time and a scheduled arrival time

287 288 Glossary and Acronyms

Table A.1: (continued)

Term Definition flight-copy An activity representing a flight, it is the same service as the origi- nal flight, but possibly rescheduled within a small time window itinerary A series of one or more flight legs that a passenger will travel on to reach their destination line of flying A series of one or more flight legs designed to be conducted by a single aircraft in sequence low cost carrier An airline that offers a no-frills service, usually targeted at leisure travelers, with the fare purchased including only the seat with lim- ited or no extras (e.g. checked baggage allowances and on-board catering are often not provided as part of the fare) minimum turn time The minimum time required between a flight arriving and subse- quent departure for the same aircraft; ensures sufficient time to conduct critical activities such as disembarkation, removal of bags, refuelling, loading of bags and boarding for the next flight minimum connection time The minimum time required between a flight arrival and subse- quent departure for passengers to be able to connect to the depart- ing flight; ensures sufficient time to conduct critical activities such as disembarkation, airport transit and boarding the next flight Operations Control Centre The business unit within an airline responsible for monitoring the day-to-day operations and updating the plan in response to dis- ruptions On-Time Performance The reliability of an airline, usually measured by the percentage of flights that departed (or arrived) within fifteen minutes of the scheduled departure (or arrival) time push-back Refers to a recovery strategy where in the event of an unavailable resource, a flight is delayed (or pushed back) until all the required resources become available reservation A booking made by a group of passengers to travel on a certain itinerary A.2 Acronyms 289

Table A.1: (continued)

Term Definition slack (time) Spare time for an activity; in the context of a turn, the difference between the scheduled turn time and the minimum turn time slots airport slots, refers to windows of time and limitations on number of take-offs or departures allowed in that time window turn (or turnaround) The activities conducted between the arrival of one flight and the subsequent departure of the same aircraft; includes activities such as passenger disembarkation, removal of bags, refuelling, catering, loading of bags and boarding for the next flight the Airline The low cost, point-to-point airline which is used as the basis for most of the work in Part II of this thesis. the Challenge The 2008/9 ROADEF Challenge, organized by the French Opera- tional Research and Decision Support Society

A.2 Acronyms

Table A.2: Summary of acronyms used throughout the thesis

Term Definition ATA Actual time of arrival ATD Actual time of departure ASQ The American Society for Quality DTM Delay transition model EOTP Expected on-time performance IAD Independent arrival delay IATA The International Air Transport Association IP Integer Program(ming) LP Linear Program(ming) LCC Low cost carrier LOF(s) Line(s) of flying 290 Glossary and Acronyms

Table A.2: (continued)

Term Definition MCC Minimum connection time MILP Mixed Integer Linear Program MIP Mixed Integer Program MLM Multi-layer model MTT Minimum turn time OCC Operations control centre OTP On-time performance OTP-MOD On-time performance model PD Propagated delay PFS Priority-first search PRM Passenger recovery model RMP Relaxed master problem ROADEF Societ´ e´ francaise de Recherche Operationnelle´ et Aide a` la Decision´ (in French) SLM Single layer model STA Scheduled time of arrival STD Scheduled time of departure STT Scheduled turn time TAD Total arrival delay TDI Total dual integral TU Totally unimodular Appendix B Background Mathematical Theory

This chapter provides an overview of the mathematical theory relevant to the content of the remainder of the thesis.

The techniques employed throughout the thesis are rooted in integer programming. This chapter begins with Section B.1 which provides a brief overview of the integer program- ming paradigm including terminology and solution approaches. Three integer program- ming techniques are then explained in more detail. First, in Section B.2, the branch and bound algorithm is described due to its pervading influence on integer programming solution al- gorithms. Then in Section B.3 a review of the literature on column generation is provided because it is the approach adopted for solving the IP of Chapter 5. Section B.4 explores gen- eral conditions under which the solution to the linear relaxation of an IP are integral. These conditions will be used in the proofs that the relaxed master problem of Chapter 5 as well as the passenger recovery models of Chapter 9 have integral linear relaxations. Finally, the subproblem of the column generation approach in Chapter 5 is a variation of the shortest path problem, and so shortest path problems and their solution approaches are described in Section B.5. The technique adopted for solving the subproblem of Chapter 5 is only valid because of special properties of the subproblem. The proof that the algorithm is valid relies on the stochastic dominance and stochastic monotonicity properties explained in Section B.6.

B.1 Integer Programming

This thesis is primarily concerned with the application of integer programming techniques to solving problems in Airline Scheduling and Disruption Management. Integer program- ming is an extensive topic encompassing a variety of approaches to solving the special class

291 292 Background Mathematical Theory of optimisation problems that require some decision variables to be integer. For a detailed exposition of integer programming, the reader is referred to Wolsey [170], Nemhauser and Wolsey [129] or Schrijver [147]. In what follows, we give a brief introduction to the integer programming techniques most relevant to this thesis.

B.1.1 What is an Integer Program?

A Mixed Integer Program (MIP) is a mathematical optimisation problem in which some or all of the variables are restricted to integers, usually written in the following form:

max cx + hy

s.t. Ax + Gy ≤ b

x ≥ 0, y ≥ 0, y ∈ Z where A is an m × n matrix, G is an m × p matrix, c is an n-dimensional row-vector, h is a p- dimensional row-vector, b is an m-dimensional vector, x is an n-dimensional column-vector of variables, and y is a p-dimensional column-vector of integer variables. If all variables are integer, then n is zero and we have an Integer Program (IP). Further- more, if n is zero and we restrict all the variables in y to 0-1 values, then we have a 0-1 or Binary Integer Program (BIP).

B.1.2 Linear Programming (LP) Relaxation

The following definitions, from Wolsey [170], provide the terminology required to discuss the LP Relaxation of an IP.

Definition B.1. A subset of Rn described by a finite set of linear constraints P = {x ∈ Rn : Ax ≤ b} is a polyhedron.

Definition B.2. A polyhedron P ⊆ Rn+p is a formulation for a set X ⊆ Zn × Rp if and only if X = P ∩ (Zn × Rp).

Definition B.3. For the integer program max{cx : x ∈ P ∩ Zn} with formulation P = {x ∈ n R+ : Ax ≤ b}, the linear programming relaxation, or LP relaxation, is the linear program zLP = max{cx : x ∈ P}. B.1 Integer Programming 293

P1 4 P2

3

P3 2

1

0 0 1 2 3 4

Figure B.1: Formulation comparisons

LP Relaxations are of particular interest when solving IPs since the solution to the LP Relaxation provides an upper bound on the solution to the IP. That is, we know for certain that the solution to the IP will be no better than the solution to the LP Relaxation. This is of particular importance in algorithms such as branch and bound, which rely on a good upper bound to determine whether or not a solution is optimal (see Section B.2, page 294).

B.1.3 Good Formulations

The formulation of a MIP can have an impact on the quality of the upper bound provided by the LP relaxation. The following definition, also from Wolsey [170], provides the termi- nology required to discuss the quality of an IP formulation.

n Definition B.4. Given a set X ⊆ R , and two formulations P1 and P2 for X, P1 is a better formu- lation than P2 if P1 ⊂ P2.

Figure B.1 (page 293), adapted from Wolsey [170], shows 3 different formulations for the same IP. In this case P3 is better than both P1 and P2. In fact, in this example, P3 is called ideal because when solving the LP relaxation, the optimal solution will be found at an extreme point which happens to be integer. Thus by solving the LP relaxation, the IP is solved. 294 Background Mathematical Theory

B.1.4 Solution Approaches

There are an extensive number of techniques for solving problems in Integer Programming. Many of the techniques are designed to solve the problem to optimality, such as branch and bound, Benders decomposition, column generation, cutting plane methods, and Lagrangian relaxation (see Wolsey [170] for an introduction to these methods). However, given that most problems that arise in practice are NP-hard (Papadimitriou [134], Nemhauser and Wolsey [129]), there are also a variety of heuristic approaches that aim to find a good so- lutions to the problem quickly such as greedy search, local search (Croes [49], Reiter and Sherman[137]), tabu search (Glover [89, 90]), simulated annealing (Kirpatrick et al. [105]) and genetic algorithms (Goldberg [91], or see Holland [99]), among others. In what follows we provide an overview of the techniques most relevant to this thesis.

B.2 Branch and Bound

One of the most general approaches for solving constrained optimisation problems is the branch and bound algorithm (Lawler and Wood [112]). A variation of the algorithm was first applied to Integer Programming in the 1960 paper of Land and Doig [111]. Variations of the branch and bound algorithm are probably the most ubiquitous approach to solving IPs, since they are the basic algorithm at the heart of most commercial solvers. Furthermore, the framework is extended by many other more advanced algorithms such as branch-and- price and branch-and-cut.

Using the fact that the LP relaxation of an IP is easier to solve than the IP, the branch and bound algorithm implements a ’divide and conquer’ strategy. The algorithm begins by solving the LP relaxation of the IP. From there, a search tree is constructed, where at each node in the tree a variable whose value is non-integer in the solution to the LP relaxation is selected for branching. Let x be the non-integer valued variable, and x˜ its value. Two child nodes are generated by taking the LP of the parent node and adding the constraint

x ≤ bx˜c B.3 Column Generation 295 on one branch, and the constraint x ≥ dx˜e on the other branch, where bxc and dxe represent the floor and ceiling of x respectively. This means that the non-integer value x˜ will not be in the solution to the LP of either child node. Nodes can be pruned if the LP relaxation is infeasible or the solution to its LP relaxation is worse than any integer solution found so far. The process is then repeated for every child node that has non-integer valued variables. The algorithm stops when there are no more feasible nodes with non-integer valued variables in the solution. If there are no child-less feasible nodes, then no integer solution exists. Otherwise, the best integer solution found during the search is returned and is the optimal integer solution. Wolsey [170] provides an introduction to branch and bound with examples.

B.3 Column Generation

Since column generation is the primary solution approach adopted to solve the Delay Tran- sition Model in Part II of this thesis, this section provides a brief review of the column generation literature, with particular emphasis on integer programming. For a thorough handling of the topic of column generation, the reader is referred to the book Column Gen- eration edited by Desaulniers and Desrosiers [54]. Furthermore, Lubbecke and Desrosiers [120, 121] provide a survey of column generation biased toward solving integer programs. The general principle of column generation is that most variables in a large linear pro- gram will have a value of zero in the optimal solution, and therefore only a subset of vari- ables will appear in a solution. Therefore, an algorithm need only address a subset of vari- ables in order to find the optimal solution. Column generation works by first taking a restricted version of the original problem, referred to as the Restricted Master Problem (RMP), that includes only a subset of the vari- ables. The algorithm then incorporates new variables on the fly, solving a subproblem to identify variables that will improve the overall objective and therefore ought to be included in the RMP. The subproblem, often referred to as the pricing problem, uses dual information from the RMP to identify variables with negative reduced costs. The process of selecting a new variable (or variables) to include in the RMP is referred to as pricing. When no more 296 Background Mathematical Theory variables with a negative reduced cost exist, the optimal solution to the problem has been found. For an introduction to duality theory and reduced costs, the reader is referred to Winston [169]. For further detail on how dual information can be used to identify the re- duced cost of candidate variables in the RMP, the reader is referred to Wolsey [170] and Nemhauser and Wolsey [129]. A basic column generation algorithm is illustrated in Algorithm 7 (page 300). In the al- gorithm, the RMP is initialised with an initial set of variables such that there exists a feasible solution to the RMP. The minimum cost value r∗ is initialised to an arbitrary negative num- ber. The algorithm then solves the RMP to optimality, extracting the optimal solution and dual variable information. The dual variable information is then used to solve the pricing subproblem, which identifies the variable (x∗) with the minimum reduced cost (r∗). If the reduced cost r∗ is negative, the variable x∗ is added to the RMP and the loop repeats. If the reduced cost is not negative, the loop terminates and the solution to the RMP is returned as the optimal solution to the problem. This is only a basic column generation algorithm because it uses a simple pricing strategy of inserting the minimum cost variable into the master problem rather than exploring more complex strategies. Column generation has been applied to a variety of airline scheduling problems such as aircraft routing (Barnhart et al. [25], Lan et al. [110]), robust aircraft routing (Borndor- fer et al. [61]), crew pairing (Desaulniers et al. [53], Tran et al. [161]) and crew roster- ing (Gamache et al. [125]). Column generation has also been used to solve the cutting stock problem (Gilmore and Gomory [87,88]), Barnhart et al. [22]) vehicle routing problems (Ribeiro and Soumis [139]), robust inventory ship routing (Christiansen and Nygreen [40]), lot sizing (Vanderbeck [162, 163]) and bin packing (Vanderbeck [162]), among many others (see Lubbecke and Desrosiers [121] for an extensive list of applications).

B.3.1 Branch and Price

For integer programming, the primary benefit of column generation is that it is sometimes possible to construct a better formulation of an IP with an exponential number of variables. Such formulations can be solved using column generation. In general terms, branch-and-price follows a similar structure to branch and bound, ex- cept that sets of columns are left out of the LP relaxation at each node. Unless the solution B.3 Column Generation 297 to the linear relaxation of the master problem is naturally integral, when solving an IP us- ing column generation, columns will need to be generated in every node of the branch and bound tree. At each node in the tree, after the LP relaxation is solved, the subproblem is solved to identify columns to bring into the basis. This process is repeated at the node until no columns price out to enter the basis, at which point branching is required. Barnhart et al. [25] note that two challenges of branch-and-price when compared to branch and bound are that (i) conventional branching on variables may not be effective because fixing variables can destroy the structure of the pricing problem and (ii) solving the LP to optimality at each node may be inefficient, in which case managing the branch-and- price tree may require different rules to the branch and bound tree. To overcome these challenges, different branch-and-price strategies have been adopted in the literature. Two prevalent approaches for branching on set partitioning problems im- pose restrictions on which subsets each element belongs to. One approach requires two spe- cific elements to appear in the same subset on the left branch and in different subsets on the right branch. An alternative approach requires that an element appear in a specific subset on the left, and then any other subset on the right. Barnhart et al. [25] explore adaptations of these branching strategies for general mixed integer programming master problems.

B.3.2 Pricing strategies

In theory, any variable with negative reduced cost is a candidate for inclusion into the mas- ter problem. A common strategy for pricing is to select the variable with the most negative reduced cost. However, many other effective pricing strategies have been explored in the literature such as steepest-edge and Devex (Forrest and Goldfarb [80], Harris [95]) which are based on the simplex method, and deepest-cut (Vanderbeck [163]) which seeks to cut away as much of the dual space as possible. Identifying a variable with a negative reduced cost is usually achieved by solving a spe- cially formulated subproblem. There can, in fact, be many such subproblems and selecting which subproblem to source the new variable from is part of the pricing strategy. The role of the pricing subproblem is to identify a column that can improve the solution to the RMP, or prove that no such column exists. When pricing integer programs, formulating the subprob- lem in a way that leads to the selection of variables with the integral property is important. 298 Background Mathematical Theory

This can be achieved either through strengthening the linear relaxation of the pricing integer programs or adopting a direct combinatorial method if the subproblem can be formulated in such a way (e.g. as a constrained shortest path problem). The subproblems for selecting the next variable (or variables) to bring into the RMP must be solve repeatedly, and therefore it is important that they be solved very quickly. When the subproblem is solved using a dynamic programming algorithm, many negative cost columns may be identified before the smallest reduced cost column is found. To accelerate the column generation algorithm in such cases, it is possible to add the first n negative cost columns identified instead of solving the pricing problem to optimality (Savelsbergh [144]). An alternative acceleration technique applies a two-phase approach, where an approxima- tion or heuristic algorithm is used to solve the pricing problem until no negative cost vari- ables can be found, at which point an optimization algorithm is invoked to either prove optimality or identify a column with a negative reduced cost (Barnhart et al. [25]). Where the subproblem is a shortest path problem, restricted networks can be used to accelerate the pricing algorithm. For example, Gamache et al. [125] calculate less precise measures for the value of each path which has the effect of restricting each network dynamically according to the dual information; Feillet et al. [77] and Barnhart et al. [22] also present approaches where the pricing problem is solved on a restricted network. Desaulniers et al. [55] provide a summary of acceleration techniques for the pricing subproblem as well as other aspects of the column generation algorithm (i.e. the master problem, branch-and-price, pre-processing and post-optimization).

B.3.3 Other topics

Set partitioning models, such as the DTM-COLGEN model of Chapter 5, are good because they typically produce tight LP relaxations. However, they have the draw back of a highly degenerate master problem, resulting in long sequences of pricing out degenerate variables (Fischetti et al. [78]). One approach to address this is the dynamic constraint aggregation method of Elhallaoui et al. [76]. Degeneracy also contributes to the tailing off effect where a near optimal solution can be found relatively quickly, but the progress per iteration di- minishes as the solution approaches the optimum. In branch-and-price, this behaviour can be addressed by choosing to terminate the column generation process early, since the solu- B.3 Column Generation 299 tion to the LP is merely required to establish a bound and so is not required to be solved to optimality (see Barnhart et al. [25]). Dual degeneracy and instability of the behaviour of dual variables, i.e. when dual vari- ables do not smoothly converge to their optima but instead oscillate wildly, can also cause efficiency issues for larger problems. This behaviour can be addressed using stabilization techniques such as: the Boxstep method (Marsten et al. [124]) which bounds the dual variables to a box around the optimal solution to the current RMP; the stabilized column generation method (Du Merle et al. [62], Ben Amor et al. [13]) which is more flexible than the Boxstep method and penalizes dual variables when they lie outside the desired box; and the interior point stabilization technique of Rousseau et al. [142]. 300 Background Mathematical Theory

input : Xinit: the initial set of variables ouput : opt: the optimal solution to the master problem variables: x∗: the variable with the minimum reduced cost from the last time the ∗ ∗ pricing subproblem was solved, r : the reduced cost of x , XRMP: the set of variables in the RMP, d: dual variables from RMP, optRMP optimal solution to the RMP XRMP ← Xinit ; r∗ ← −∞ ; // Initialize r∗ with a negative value, the loop will continue until r becomes non-negative while r∗ < 0 do optRMP, d ← SolveLP(RMP) ; // Extract dual variables by solving RMP and RMP dual r∗, x∗ ← SolvePricingSubproblem (d) ; // Identify min cost string x∗, and its reduced cost r∗ if r∗ < 0 then ∗ ∗ XRMP ← XRMP ∪ {x } ; // Add x to the RMP end end opt ← optRMP ; // Return the optimal solution Algorithm 7: A basic column generation algorithm B.4 Integral Polyhedra 301

B.4 Integral Polyhedra

There is a vast literature addressing linear programs that yield integer valued optimal so- lutions. The emphasis of the review contained in this section is to provide the background theory for proofs presented in Chapters 5 and 9. We review the literature relating to totally unimodular (TU) matrices, which are of particular interest because any LP with a TU con- straint matrix will have an integer-valued optimal solution (Nemhauser and Wolsey [129]). We also give an overview of total dual integral (TDI) systems, describe background theory that enables the TDI nature of a system of linear equations to be identified and explain the benefits of an IP that is TDI.

B.4.1 Totally unimodular matrices

A matrix A is said to be totally unimodular if each square submatrix of A has determinant equal to 0,+1 or −1. Interest in TU matrices is largely due to a theorem of Hoffman and Kruskall ([97]) which ensures the integrality of extreme points on the feasible region of a Linear Program with a TU constraint matrix. The theorem is stated below for completeness.

Theorem B.1. (Hoffman and Kruskal [97]) A 0, 1, −1 matrix A is totally unimodular if and only if n {x inR+ : Ax ≤ b} is an integral polyhedron for every integral vector b.

Theorem B.1 enables Integer Programming problems to be solved to optimality using the simplex method for solving the natural LP, rather than a specialised IP algorithm ([129]). As a result, many researchers have explored the characteristics of TU matrices so that they may be identified and this characteristic exploited. The following theorem due to Heller and Tompkins is regularly used to identify TU matrices.

Theorem B.2. (Heller and Tompkins [96]) Let A be an m×n matrix whose rows can be partitioned into two disjoint sets A1 and A2. Then the following four conditions together are sufficient for A to be totally unimodular: 1. Every column of A contains at most two non-zero entries; 2. Every entry in A is 0, +1, or -1;

3. If two non-zero entries in a column of A have the same sign, then the row of one is in A1, and

the other in A2; 302 Background Mathematical Theory

4. If two non-zero entries in a column of A have opposite signs, then the rows of both are in A1,

or both in A2.

B.4.2 Total dual integrality

Definition B.5. A system of linear inequalities {Ax ≤ b} is called total dual integral (TDI) if the minimum in the linear programming duality equation

n o max {cx|Ax ≤ b} = min yb|y ≥ 0, ATy = c is achieved by an integral vector y, for each integral vector c for which the minimum exists.

The following theorem was proven by Hoffman in [98], but articulated in the following form in [146].

Theorem B.3. (Hoffman [98]) If the rational system Ax ≤ b is TDI and if b is integral, then the polyhedron P = {x|Ax ≤ b} is integral, i.e. each face of P contains integral vectors.

Hilbert Bases and TDI

In order to prove that the linear relaxation of the passenger recovery models of Part III have an integral optimal solution, we make use of the theory of Total dual integrality and Hilbert Bases. The most relevant theorem from Giles and Pulleyblank [86] is presented here, as it will form the foundation of the proof that the passenger recovery models presented Chapter 9 are integral.

Definition B.6. A Hilbert Basis is a set of vectors a1,..., at with the property that each integral vector b in cone {a1,..., at} is a non-negative integral combination of a1,..., at. In other words, a

Hilbert Basis is a set of vectors a1,..., at with the property that each vector b in

n {λ1a1 + ... + λtat|λ1a1,..., λtat ≥ 0, λ1a1,..., λtat ∈ Q} ∩ Z , B.4 Integral Polyhedra 303 is also in

{µ1a1 + ... + µtat|µ1a1,..., µtat ≥ 0, µ1a1,..., µtat ∈ Z} .

We will use the following theorem to prove that the passenger recovery model in Chap- ter 9 is TDI.

Theorem B.4. (Giles and Pulleyblank [86]) The rational system Ax ≤ b is TDI if and only if for each face F of the polyhedron P := {x|Ax ≤ b} the rows which are active in F form a Hilbert basis.

Perfect Matrices and TDI

In order to prove that the linear relaxation of the DTM-RMP2 problem of Chapter 5 has an integral optimal solution, we make use of the theory of Total dual integrality and perfect matrices. The most relevant theorems and definitions from Padberg [132] are presented here, as they form the foundation of the proof that the DTM-RMP2 is totally dual integral (TDI) for the case with a single aircraft (see Section D, page 317).

Definition B.7. (From Padberg [132]) Let A be a zero-one matrix of size m × n, m ≥ n. A is said to have the property πβ,n if the following conditions are met:

1. A contains an n × n nonsingular submatrix A1 whose row and column sums are equal to β. T T 2. If a is a row of A with row sum equal to β and a is not contained in the submatrix A1 T defined under 1, then there exists a row b of A1 such that a = b (quality is meant to hold component wise). 3. All other rows of A have row sums strictly less than β.

Theorem B.5. Let A be any zero-one matrix of size m × n. The following two conditions are equiv- alent:

1. A is perfect. 2. For β ≥ 2 and 3 ≤ k ≤ n, A does not contain any m × k submatrix A0 having the property

πβ,k.

Theorem B.6. (Originally from Lovasz [119], noted in this form in Conforti et al. [47]) For a 0,1 matrix A, the following statements are equivalent:

1. the linear system Ax ≤ 1, x ≥ 0, isTDI, 2. the matrix A is perfect, 304 Background Mathematical Theory

3. max {cx : Ax ≤ 1, x ≥ 0} has an integral optimal solution x for all c ∈ Rn, 4. max {cx : Ax ≤ 1, x ≥ 0} has an integral optimal solution x for all c ∈ 0, 1n.

B.5 Shortest Path Problems

Shortest path problems are widely studied in the literature due to the fact that almost any combinatorial optimisation problem can be formulated as a shortest path problem (Sniedovich [152]), but also in part due to their prevalence as subproblems in column generation algo- rithms (which is their relevance to this thesis). In this section, a brief overview of shortest path problems and solution approaches is provided. The approaches from the literature discussed here are included because they form the foundation of the label setting algorithm that is used for solving the shortest path problem presented in Section 5.3. First the different types of Shortest Path Problems (SPP) are described. For a given directed graph that has cost values associated with each arc, the basic short- est path problem (SPP) seeks to find the least cost path between two specified nodes. If the directed graph also has weight values associated with each arc, finding the least cost path between two specified nodes such that the total weight is less than a given value is known as the Weight Constrained Shortest Path Problem (WCSPP). When each arc has an associated vector of weights rather than a scalar, the problem is sometimes referred to as the Resourced Constrained Shortest Path Problem (RCSPP) (Dumitrescu and Boland [65]). If a directed graph has a duration associated with each arc, as well as a cost, then the Shortest Path Problem with Time Windows (SPPTW) consists of finding the least cost path between two nodes while respecting specified time windows at each node. The WCSPP and SPPTW problems are closely related to each other, and are both NP-hard (Dumitrescu and Boland [65], Desrochers and Soumis [56]).

B.5.1 Bellman-Ford Algorithm

The following algorithm for identifying the shortest path in a connection network is due to both Bellman ([26]) and Ford ([79]). The algorithm is illustrated in Algorithm 8 (page 308). The general idea of the algorithm is to visit each node, i, in rank order (i.e. chronological order). If that node has predecessors, then the shortest path to i will be via one of these B.5 Shortest Path Problems 305 predecessors, j. However, since each predecessor has already been visited (by virtue of the fact that the nodes are being visited in rank order), then the shortest path to each predecessor

(sj) and its length (cj) is already known. Therefore it is possible to identify the shortest path to i by choosing j such that cj + cji is minimised, where cji is the cost of traveling on arc

(j, i). In Algorithm 8, the notation sj + i, where sj is a path to node j and i is a node, refers to extending the path from j to i via the arc (j, i). Note that Algorithm 8 considers the case where there is a single source and a single sink. This can be generalised to the case with multiple starting and finishing points by creating a single source and sink node, and adding zero cost connections from the source node to all valid starting points, and zero cost connections from all valid ending points to the sink node.

B.5.2 Dijkstra’s Algorithm

Dijkstra’s Algorithm (Dijkstra [60]) is another algorithm for finding the shortest path in a network. It is computationally more efficient than the Bellman-Ford algorithm, however it requires that the cost of each arc be non-negative. The algorithm works by iteratively attempting to improve an approximation of the dis- tance to each node in the network. Each node is associated with a label that identifies its distance from the source node, the predecessor node that generates the path with the identi- fied distance, and whether or not the path has been visited. Each node is initially labeled as having a tentative distance from the source node equal to infinity, with the exception of the source node itself, which is labeled with a distance of zero. In each iteration, a new node is processed or visited, with the value of its immediate successors updated as follows: if the distance to the successor via the current node is less than the labeled distance, then update the label with the new distance and the current node as its predecessor, otherwise leave the label unchanged. Once each successor has been visited, label the current node as visited, and then select the next node for processing: the unvisited node with the smallest tentative distance. The algorithm stops either when the destination node has been marked as visited, or when no unvisited nodes with distance less than infinity remain. The algorithm is illus- trated in Algorithm 9 (page 308). To obtain the length of the shortest path to each node, one need only inspect the label on that node once the algorithm has terminated. The path 306 Background Mathematical Theory that achieves that minimum distance can be obtained (in reverse order of nodes visited), but tracing back through the predecessors of each node as per the label. As with Algorithm 8, Algorithm 9 considers the case where there is a single source and a single sink. This too can be generalised to the case with multiple starting and finishing points by creating a single source and sink node, and adding zero cost connections from the source node to all valid starting points, and zero cost connections from all valid ending points to the sink node.

B.5.3 Label Setting Algorithms

In Dijkstra’s Algorithm, a single label is associated with each node to identify key informa- tion associated with the search for the shortest path, and therefore the terms label and node are somewhat synonymous in the context of Dijkstra’s algorithm. More generally, in the unconstrained shortest path problem, the notions of node and label are closely linked in that the processing order (or order of treatment) is defined simultaneously for nodes and labels (Desrochers and Soumis [56]). However, for more general shortest path problems such as the SPPTW and RCSPP, there may be a requirement to retain information regarding several different paths to each node before it can be confirmed that one path is better than the other. This requires more than one label per node, with each representing a partial path to the node, requiring the treatment of labels and nodes to be distinct. For example, in the RCSPP, each label, L, needs to have associated with it information regarding:

1. The node the label is associated with, v¯(L), 2. the parent label extended to make the current label p(L), 3. the cost accumulated along the path to the label, c(L), and 4. the resource(s) consumed along the path to the label,~r(L).

The class of algorithms designed to solve shortest path problems making use of labels to represent partial paths are referred to as label setting algorithms. They differ along a number of dimensions, including:

• Label definition: information tracked with each label, usually used to identify the partial path and provide measures to be able to compare two labels for dominance. B.5 Shortest Path Problems 307

• Dominance criteria: the criteria used to compare two labels and identify if one is more efficient than the other. For the label setting algorithm to be optimal, the dominance criteria must be able to ensure that any path constructed by extending the partial path of the dominant label to the destination node is at least as good as any path to the destination node from the dominated label. • Order of treatment: the order in which labels are processed, i.e. visited and updated with new information.

Dumitrescu [64] provides an overview of label setting algorithms. See Desrochers and Soumis [56] for a label setting algorithm designed to solve the SPPTW, and see Dumitrescu and Boland [65] for a label setting algorithm that solves the WCSPP. 308 Background Mathematical Theory

input : N: set of nodes in rank order, predi: Possible predecessors of each node, ∀i ∈ N variables : si: a sequence of nodes that represent the shortest path to node i. ci: the length of the shortest path to node i. output : s: a sequence of nodes, representing the shortest path from a to b parameters: cij the cost of arc (i, j) for i ∈ N do ci ← ∞ ; // Initialise ci to a sufficiently large number for j ∈ predi do if cj + cji < ci then si ← sj + i ; // Then update si ci ← cj + cji ; // and update ci end end end Algorithm 8: Finding the shortest path on an acyclic, directed graph

input : N: set of nodes; Succ[i]: immediate successors of each node i, ∀i ∈ N variables : L[i]: Label of node i, ∀i ∈ N that identifies 1. the distance to i (L[i].distance) 2. the predecessor node of i (L[i].prev) and 3. whether or not the node has been visited (L[i].visited); Q the set of unvisited nodes output : L[sink]: a label for node sink that identifies the distance of the shortest path from source to sink parameters: cij the cost of arc (i, j) for i ∈ N do L[i].distance ← ∞ ; // Initialise tentative distance to infinity L[i].pred ← UNDEFINED ; // Predecessor node in path to i L[i].visited ← FALSE ; // Mark all nodes as unvisited end L[source].distance ← 0 ; // Initialise source node distance to zero Q ← N ; // Initialise unvisited nodes to the set of all nodes while Q 6= ∅ and minx∈Q L[x].distance < ∞ do i ← arg minx∈Q L[x].distance ; // Select unprocessed node with minimum distance for j ∈ Succ[i] do if L[i].distance + cij < L[j].distance then L[j].distance ← L[i].distance + cij ; // Then update L[j].distance L[j].pred ← i ; // and update L[j].pred end end L[i].visited = TRUE ; // Mark i as visited Q ← Q \ {i} ; // Remove i from the set of unvisited nodes end Algorithm 9: Dijkstra’s Algorithm B.6 Stochastic Processes and Related Theory 309

B.6 Stochastic Processes and Related Theory

This section provides background theory on stochastic processes that is required for refining the solution approach in Chapter 5. In particular, the theory required to prove the validity of the label setting algorithm of Section 5.3 is provided.

B.6.1 Stochastic processes and Markov chains

A stochastic process is a collection of random variables that represents the evolution of some system or random value over time. Let T be a totally ordered set (“time”) and the space S be S the state space of the process, then the stochastic process X is a collection t∈T {X(t) : X(t) ∈ S}. With reference to a stochastic process, a process is said to have the Markov property if it is memoryless. That is, the future states of the process depend only on the present state, and not the past states or how it got to the present state. This is formally defined as follows.

Definition B.8. Consider any set of “past times” (pn,..., p2, p1) in the process, any “present time” s, and “future time” t, where:

pn < ... < p2 < p1 < s < t

Then a stochastic process is said to have the Markov property if the following holds:

Pr[X(t) = x(t)|X(s) = x(s), X(p1) = x(p1), X(p2) = x(p2),..., X(pn) = x(pn)]

= Pr[X(t) = x(t)|X(s) = x(s)]

Definition B.9. A Markov chain is a system with the Markov property that undergoes transitions from one state to another, from a finite number of possible states, in a chain like manner.

Next some notation for a Markov chain is introduced. Consider a Markov chain as a sequence of random variables, X(1), X(2),..., X(t) with the Markov property. The count- able set S of the possible values for Xi is the state space of the chain. If qij = Pr(X(t) = j|X(t − 1) = i) is the probability of going from state i to j in a single transition (or time step), then the matrix Q = [qij] is called the transition matrix, and the row vector ~qi provides the probability mass function (pmf) for state i. 310 Background Mathematical Theory

B.6.2 Stochastic dominance

In a Markov chain, assume the states in the state space S have a natural ranking from worst to best and let the states be listed in that order. To understand if the outcome in time t will be “better” having started from time s with X(s) = x1 or X(s) = x2, we need to make use of a stochastic order. Stochastic orders are usually only partial orders, in that one state

X(t) = x1 may be neither “better” nor “worse” than another state X(t) = x2. Stochastic orders are extensively covered in the literature. In what follows a basic introduction to the theorems, terminology, and notation required for understanding the remainder of the thesis is provided. For a more thorough handling of the topic, the reader is referred to Stochastic Orders and Their Applications [148].

Definition B.10. Stochastic dominance is a form of stochastic ordering. In particular, First- order stochastic dominance refers to an ordering on the cumulative distribution functions (cdf) of two random variables. Given two cdfs FA(x) and FB(x), it is said that A dominates B if

FA(x) ≤ FB(x) ∀x ∈ X and

∃x ∈ X : FA(x) < FB(x).

Throughout this thesis, A dominates B is denoted by FA(x) ≺FSD FB(x)

In the context of discrete Markov chains, we can say the pmf ~q dominates~r, or ~q ≺FSD ~r, if

∑ qi ≤ ∑ ri ∀s ∈ S i∈1..s i∈1..s and ∃s ∈ S : ∑ q~(i) < ∑ r~(i) i∈1..s i∈1..s where it is assumed that the entries in each ~q are given in order of their natural ranking, i.e. state i is worse than state i + 1. B.6 Stochastic Processes and Related Theory 311

B.6.3 Stochastic monotonicity

Another useful concept for understanding the behaviour of a Markov chain is stochastic monotonicity. In simple terms, a transition matrix Q is monotone if each row i is dominated by row i + 1 (assuming that the rows are also ordered such that row i is “worse” than row i + 1). The practical interpretation of stochastic monotonicity is that you are more likely to end up in a bad state if you start in a bad state, that is, on average things always get worse (or if the natural order of the states is reversed, things are likely to get better). Definition B.11 provides a formal definition of stochastic monotonicity from Conlisk [48].

Definition B.11. Let P = [pij] be the transition matrix for a Markov chain. Let D(P) = [dij] be th the “dominance matrix” where each entry dij is the difference between the j cumulative density of row i and the jth cumulative density of row i + 1. Specifically:

dij = ∑ pik − ∑ pi+1,k k∈1..j k∈1..j

Then the transition matrix P is monotone if and only if D(P) ≥ 0.

Stochastic monotonicity is a mathematically useful concept because monotone Markov chains have a number of convenient properties that are explained below. The following results were presented in Conlisk [48]. For additional detail, see also Keilson and Kester [104].

Theorem B.7. The product of monotone transition matrices is itself monotone.

Proof. To establish the above, consider the following. Let T be an n × n triangular matrix with zeros below the diagonal, and ones everywhere else. Then T−1 has ones on the diago- nal, minus ones on the first superdiagonal, and zeros elsewhere. If we multiply a transition matrix P by T we get C = PT, the cumulative density matrix, where each row is a cumula- tive distribution for the corresponding row in P. Furthermore T−1P calculates the difference of the first n − 1 rows. Thus:   − D(P) 0 T 1PT =   , b 1 where b is the first n − 1 cumulative densities for the last row of P. If P∗ is a second transition matrix, from the above it follows that D(P)D(P∗) is the first (n − 1) rows of T−1PTT−1P ∗ 312 Background Mathematical Theory

T = T−1PP ∗ T, which is exactly equal to the same as the first n − 1 rows of D(PP∗). So we have: D(P)D(P∗) = D(PP∗)

And therefore, if both D(P) ≥ 0 and D(P∗) ≥ 0, then D(PP∗) ≥ 0.

Theorem B.8. Let p and r be any two pmfs such that p ≺FSD r and let Q be a transition matrix such that D(Q) ≥ 0 then Qp ≺FSD Qr.

Before the next theorem is presented, which is also from Conlisk [48], some additional notation is introduced. Let ∆(.) denote the differencing operator for an n × 1 vector, so T ∆(v) = (v2 − v1, v3 − v2,..., vn − vn−1) is an (n − 1) × 1 vector. The elements of v are nondecreasing in size if ∆(v) ≥ 0.

Theorem B.9. Let v be a vector such that v(i) indicates the value associated with being in state i, and p and r be two pmfs. If ∆(v) ≥ 0 and p ≺FSD r then vp ≤ vr .

B.7 Lloyd’s algorithm for k-means clustering

This section outlines Lloyd’s algorithm for k-means clustering, which is used in Section 4.4 to partition flights with similar delay behaviour into clusters.

The goal of Lloyd’s algorithm is to take a set of n observations, (x1, x2,..., xn), and par- tition them into k sets or clusters, S = {S1, S2,..., Sk}, such that the within-cluster sum of squares (WCSS) is minimimsed. i.e.

k 2 arg min xj − µi S ∑ ∑ i=1 xj∈Si where µi is the mean of points in Si. Note that k ≤ n. The algorithm, attributed to Lloyd [118], is an iterative algorithm. It takes as input an initial set of k means, m(1), m(2),..., m(k) and then iterates between an assignment and update step. In the assignment step, each observation is assigned to the cluster that will minimise the WCCS, i.e.  2 2  (t) = − (t) ≤ − (t) ∀ ≤ ≤ Si xp : xp mi xp mj 1 j k B.7 Lloyd’s algorithm for k-means clustering 313

(t) with each observation xp is assigned to exactly one S . Given the sum of squares represents the distance from each observation to the mean, this step can be interpreted as allocating each observation to the cluster with the nearest mean. In the update step, the mean of each cluster is updated to reflect the mean of the obser- vations allocated to the cluster in the previous assignment step. i.e.

( + ) 1 m t 1 = x i (t) ∑ j S (t) i xj∈Si

The algorithm stops when the assignment step yields no change. The algorithm may converge to a local optimum rather than the global optimum, and therefore the initial set of means will have an impact on the quality of the final solution. Two widely used intialisations involve random selection for the initial set of means: in the first, referred to as the Random Partitioning method, each observation is randomly allocated to one of the k clusters and the mean of the resulting clusters is used as the initial set of means; in the second, referred to as the Forgy method, k observations are randomly selected and each used as an initial mean (Pena˜ et al. [136]). Where the algorithm was used in this thesis, to address the likelihood that the algorithm will converge to a local optimum rather than a global optimum, the algorithm was repeated with several different random starting means, and the result with the smallest WCSS was selected. For an efficient implementation of a k-means clustering algorithm, see Kanungo et al. [103].

Appendix C Delay Transition Model: Additional constraints

In this section, additional constraints that are required to ensure maintenance and crew fea- sibility of the DTM-RTN and DTM-RTA are described. The requirement for these constraints was originally noted in Section 3.5.5. For this section, we introduce the following notation. First, let σ ∈ P be a sequence of flights that are operated by one crew (or crew member), where P is the set of all crew duties in the schedule. Note that σ will include all copies of the flights, not just the original flight-copy.

Recall that in Section 3.5.5, we have already limited changes in aircraft rotations so that each crew duty remains in tact, i.e. for all crew duties, σ ∈ P, the flights in σ are all operated by the one aircraft. Therefore, we need only add a constraint to ensure the retiming of flights within the crew duty has not caused the duty to exceed the flight duty limits. Note: retiming will not impact the flying hours, so it is only the limitations that relate to crew duty hours that need to be managed here.

Using the same concepts as the Budget Total Slack constraint in Section 3.5.1, it is pos- sible to add constraints to the DTM-RTN (and DTM-RTA) that will ensure that crew duty limits are not violated.

First, we need to identify the allowable slack for each crew duty, Sσ. This can be calcu- lated by subtracting the duration of the crew duty if there was zero slack from the maximum allowable duty period.

Second, we add the following constraint to the DTM-RTN or the DTM-RTA to ensure this limit is not exceeded:

∑ sjixji ≤ Sσ ∀σ ∈ P. (j,i)∈σ

315 316 Delay Transition Model: Additional constraints

where each sji is the slack between flights j and i and can be calculated a priori from the scheduled arrival time of j and the scheduled departure time of i. Appendix D Integrality of DTM-RMP

In this section the integrality of the DTM-COLGEN relaxed master problem (DTM-RMP) is explored. In general, aircraft routing problems are not integral (for example, see Weide et al. [167]). However, due to the way maintenance and crew constraints are incorporated into the scheduling approached used at the Airline (see Section 3.5.5), and in particular that the schedule is designed to maximise the productivity of the aircraft (i.e. there is no spare capacity for a full aircraft to be removed from the operation), it can be shown that certain in- stances of the DTM-RMP problem are integral. To demonstrate that the DTM-RMP problem is integral, we show that the aircraft base constraints can be replaced with a single aircraft count constraint, yielding a formulation for which the LP relaxation is integral for instances with only one aircraft. The conditions of integrality and associated proofs for the multiple aircraft problem is left as an area for future research. A brief discussion on how incorpo- rating aircraft maintenance constraints would affect the integrality of the DTM-RMP is also provided.

D.1 Additional definitions and notation

Before exploring the conditions under which the DTM-RMP is integral, we introduce some required definitions and notation. Let t = 0 . . . T be the period of time under consideration for the schedule. Idle (or spare) ground time is a period during which an aircraft is on the ground and is not required for any flight related activities such as boarding, refueling etc. l Let ta represent a period of idle ground time for aircraft a at location l.

Definition D.1. A spare aircraft equivalent is a set of aircraft, A, with overlapping periods of idle l ground time, ta, at a single airport l, such that the union of the idle ground time periods covers the

317 318 Integrality of DTM-RMP

S l  l entire schedule period, i.e. a∈A ta = t ∈ ta : ∀a ∈ A = [0, T].

Definition D.2. A schedule is said to satisfy the minimum aircraft condition if it does not contain a spare aircraft equivalent.

Practically speaking, most schedules operated by a LCC will satisfy the minimum aircraft condition due to their lean operations and imperative to maximise utilisation of their flying assets. However, where spare aircraft are scheduled to provide recovery options in the case of disruption, these periods of spare capacity can be included in the schedule as dummy flights, thereby generating a schedule that does satisfy the minimum aircraft condition.

D.2 DTM-RMP2: Revised aircraft location constraints

Consider the following revised formulation of the DTM-RMP:

(DTM − RMP2) min ∑ vsys (D.1) s∈S s.t.

∑ a f sys = 1 ∀ f ∈ F (D.2) s∈S

∑ ys = N (D.3) s∈S

ys ∈ {0, 1} ∀s ∈ S (D.4)

l l where N = ∑l∈L No = ∑l∈L Nd.

Theorem D.1. For any schedule satisfying the minimum aircraft condition, DTM-RMP2 and DTM-RMP are equivalent.

Proof. Note that DTM-RMP2 and DTM-RMP are identical except that DTM-RMP2 has con- straint (D.3) where DTM-RMP2 has constraints (5.3) and (5.4). Consider a solution, ~y∗. Since the objective is equal in both formulations, it is sufficient to show that if ~y∗ is feasible with respect to DTM-RMP it implies that y~∗ is also feasible with respect to DTM-RMP2 and that the reverse implication is also true. D.2 DTM-RMP2: Revised aircraft location constraints 319

~y∗ feasible with respect to DTM-RMP ⇒ ~y∗ with respect to DTM-RMP2 Summing con- straints (5.3) and (5.4) over all airports L, and adding them together, we get:

l l ∑ ∑ ys + ∑ ∑ ys = ∑ No + ∑ Nd l∈L ∈ l l∈L l l∈L l∈L s So s∈Sd

⇒ ∑ ys + ∑ ys = N + N s∈S s∈S which results in the aggregated constraint (D.3):

∑ ys = N. s∈S

Therefore any solution~y∗ valid with respect to DTM-RMP is also valid with respect to DTM- RMP2.

~y∗ feasible with respect to DTM-RMP2 ⇒ ~y∗ with respect to DTM-RMP Consider a solution feasible with respect to DTM-RMP2, ~y∗. Denote the number of aircraft terminating ˆ l at a port l at the end of the schedule period Nd, and the number of aircraft that originated at ˆ l that port at the start of the schedule period No. Note that:

ˆ l ∗ No = ∑ ~ys ∀l ∈ L (D.5) l s∈So ˆ l ∗ Nd = ∑ ~ys ∀l ∈ L (D.6) l s∈Sd

Note also that the number of aircraft terminating at a port l at the end of the schedule period is the number of aircraft that originated at that port at the start of the schedule period plus the number of flights that arrive at that port minus the number of flights that depart that port during the schedule period. Specifically:

ˆ l ˆ l ∗ ∗ Nd = No + ∑ ∑ a f sys − ∑ ∑ a f sys ∀l ∈ L (D.7) s∈S f ∈Dest(l) s∈S f ∈Orig(l)

∗ ∗ Note that ∑s∈S ∑ f ∈Dest(l) a f sys − ∑s∈S ∑ f ∈Orig(l) a f sys is constant and equal for all ~y valid with respect to constraints (D.2) since we are merely re-timing and re-routing an existing 320 Integrality of DTM-RMP schedule (i.e. the flights to be operated have been predetermined a priori). Therefore equa- tion Equation (D.7) becomes: ˆ l ˆ l Nd − No = kl ∀l ∈ L (D.8)

ˆ l ˆ l where kl is a constant (for a daily repeating schedule, k = 0). Since Nd − No is constant, ˆ l l ˆ l l ∗ we need only show that either Nd = Nd or No = No for our solution ~y . Recall that the DTM-RMP is re-timing and re-routing an existing schedule, and if ~y∗ represents the original ˆ l l ˆ l l schedule, we would have Nd = Nd and No = No. ˆ l l ˆ l0 l0 We prove that No = No by contradiction. Let us assume that No 6= No . Then we either ˆ l0 l0 ˆ l0 l0 have No < No or No > No ; we consider each case separately.

ˆ l0 l0 Case 1. No < No

By Constraint (D.3) and the premise of this case, there must exist at least one other loca- tion, m0, such that in the current solution an aircraft originates at m0 that did not originate 0 0 ˆ m0 m0 at m in the original schedule, i.e. there exists m such that No > No . This is the same as Case 2, and therefore a contradiction on Case 2 will cause the same contradiction for Case 1.

ˆ l0 l0 Case 2. No > No

Consider the location l0, the additional aircraft starting in this location, a, and its flight ∗ string ya . The first flight operated by a, denoted f , must have had a predecessor in the original schedule, g, otherwise a would not be considered an additional aircraft starting at l0, ˆ l0 l0 i.e. we would not have No > No . Consider first the simple scenario that g no longer has a successor, so we have aircraft a originating with flight f , and some other aircraft b terminating with flight g. This means that aircraft a has ground time ta ∈ [0, STD f ], and aircraft b has ground time tb ∈ [STAg, T].

In the original schedule, flight g preceded flight f , so STD f − STAg ≥ MTT, i.e. STD f >

STAg. Therefore ta ∪ tb = [0, T], which means we have the equivalent of a full spare aircraft of ground time at location l0. This contradicts the minimum aircraft condition of Theorem D.1, ˆ l0 l0 and therefore it is not possible that No > No . Let us next explore the more complex scenario, where g picks up an alternative succes- sor, h. For a to be considered an additional aircraft starting at l0, h can not have been a first flight in the original schedule, otherwise it would just be that a is operating a different first D.2 DTM-RMP2: Revised aircraft location constraints 321

ˆ l0 l0 flight, i.e. we would not have No > No . Since h was not a first flight in the original schedule, it must have had a predecessor i. So we have in our current solution:

0 • aircraft a, which originates at port l by operating flight f , has ground time ta ∈

[0, STD f ];

• aircraft b operates g followed by h, so has spare ground time tb ∈ [STAg, STAg +

Slackgh]; and

• aircraft c terminates after operating flight i, so has ground time tc ∈ [STAi, T].

From Equations (2.1) and (2.2), and the fact that flight i preceded flight h in the original schedule, and flight g precedes flight h in the current solution, we have:

STDh − STAg − MTT − Slackgh = 0 (D.9)

STDh − STAi − MTT − Slackih = 0 (D.10)

Subtracting equation (D.10) for equation (D.9), we get:

STAi − STAg + Slackih − Slackgh = 0 (D.11)

=⇒ STAg + Slackgh = STAi + Slackih, (D.12)

from which we get tb ∈ [STAg, STAg + Slackgh] = [STAg, STAi + Slackih], and therefore ta ∪ tb ∪ tc = [0, STD f ] ∪ [STAg, STAi + Slackih] ∪ [STAi, T] = [0, T], again contradicting the minimum aircraft condition of Theorem D.1.

Of course, we may have the scenario that aircraft c does not terminate after flight i, but instead picks up an alternative successor, j. Induction on the above logic can be used to prove the existence of a full aircraft worth of ground time; we leave this as an exercise. ˆ l0 l0 Thus, the assumption that No 6= No generates a contradiction with the minimum aircraft ˆ l0 l0 condition, so we must have No = No .

Therefore, any solution ~y∗ valid with respect to DTM-RMP2 is also valid with respect to DTM-RMP. 322 Integrality of DTM-RMP

D.3 Integrality of DTM-RMP2

In order to prove that the linear relaxation of the DTM-RMP2 problem has an integral op- timal solution, we make use of the theory of perfect matrices. The relevant theorems and definitions are presented in Appendix B. First we demonstrate that the DTM-RMP2 is TDI for the case where N = 1 (i.e. the single aircraft problem). The proof of the more general case N ≥ 1, is an area for future research.

D.3.1 DTM-RMP2 is Perfect

We draw on the definitions and theorems from Lovasz [119] and Padberg [132] described in Appendix B.4.2 to prove that DTM-RMP2 is perfect, and hence the solution to the LP relaxation is integral for N = 1.

Lemma D.1. The constraint matrix of the DTM-RMP2 formulation is perfect.

Proof. We explore the sub matrices of the DTM-RMP2 constraint matrix, A, to show that for 0 β ≥ 2 and 3 ≤ k ≤ n, A does not contain any m × k submatrix A having the property πβ,k (See Definition B.7). It then follows from Theorem B.5 that A is perfect. We prove that no such submatrix exists by contradiction. First, let us assume that there is an m × k submatrix 0 0 A with the property πβ,k. Then by Definition B.7 Condition 1, A contains a nonsingular 0 k × k submatrix, A1 for which the sum of all rows and columns equals β. Clearly β ≤ k, furthermore if β = k we have a matrix with a 1 in each entry, which has determinant 0 and so is singular, so we must have β < k. The row in A0 corresponding to constraint D.3 has 0 a 1 in each column so has row sum k, so by Definition B.7 Condition 1 it cannot be in A1, 0 but by Definition B.7 Condition 3 it must be in A1. A contradiction, and so our premise that such a submatrix exists is false, and therefore there is no m × k submatrix A0 of A with the property πβ,k and A is perfect.

Corollary D.1. The solution to the LP relaxation of DRM-RMP2 is integral for N = 1.

D.3.2 Conjecture that DTM-RMP2 always yields integer valued solutions

Conjecture D.1. For a certain class of original schedules, the optimal solution to the LP relaxation of DTM-RMP2 is integral for all N ≥ 1. D.4 A note on maintenance feasibility of the DTM 323

Conjecture D.1 is based on the computational results obtained in Chapter 6. Further research is recommended to identify what characteristics are present in the data sets used in Chapter 6 that cause the DTM-RMP to yield only integer valued optimal solutions to the LP relaxation.

D.4 A note on maintenance feasibility of the DTM

As discussed in Section 3.5.5, the scheduling approach at the Airline is such that aircraft maintenance constraints need not be fully captured within the DTM scheduling phase. However, if maintenance constraints were required to be fully captured within the DTM scheduling approach, the DTM-RMP could be reformulated as follows:

t t (DTM − RMP − MTCE) min ∑ ∑ vsys (D.13) t∈T s∈S s.t.

∑ ∑ a f sys = 1 ∀ f ∈ F (D.14) t∈T s∈St t ∑ ys = 1 ∀t ∈ T (D.15) s∈St t ys ∈ {0, 1} ∀t ∈ T, ∀s ∈ St (D.16)

where T is the set of aircraft tails and St is the set of strings valid for tail t with respect to its maintenance requirements, originating port and terminating port. The resulting MIP, DTM-RMP-MTCE no longer has an integral LP-relaxation, and therefore must be solved via branch and follow ons as described in Section 5.2.3. In addition to updating DTM-RMP, the subproblem DTM-PRICE would also need to be modified to capture the maintenance constraints. This is explored further in Appendix E.1.

D.5 Related Work: Integral Scheduling Problems

The DTM-RMP model is related to, but distinct from similar scheduling models in the liter- ature. In this section, we provide a brief overview of two similar models, clarifying the key differences to highlight the novel aspects of Conjecture D.1. 324 Integrality of DTM-RMP

Weide et al. [167] noted that the submatrices that relate to each individual aircraft in their aircraft routing problem have perfect constraint matrices, and therefore would have an integer solution when solving for a single aircraft (i.e. they demonstrated the same result as Corollary D.1). However they did not explore the behaviour of the submatrices any further, in particular they did not explore it for cases where the right hand side of the aircraft count constraint is greater than 1. Freling et al., [82] present an arc base formulation of the Single-Depot Vehicle Schedul- ing Problem that has a totally unimodular constraint matrix, and therefore has an integer optimal solution (in fact all the extreme points of the feasible region are integral); however this model does not constrain the number of vehicles (as the DTM-RMP does), rather it minimises the total operating costs of all the vehicles. Appendix E Delay Transition Model: Extensions and possible speedups

In this section, possible extensions to the DTM-COLGEN formulation and solution ap- proach are discussed. First, by describing how to incorporate more general aircraft main- tenance constraints and crew duty limitations, the adjustments that would be required to allow a more substantial change to the schedule are provided. Second, the implications for addressing crew pairing design and maintenance constraints at airlines where crew do not follow the aircraft are explored. Finally, an overview of further opportunities to speed up the original DTM-COLGEN algorithm is provided.

E.1 Incorporating maintenance and crew scheduling, the Airline

In Section 3.5.5, we described the nature of scheduling at the Airline, and in particular how the DTM-RTN model can be used to optimise an existing schedule that was developed using the current process at the Airline while still retaining the aircraft routing and crew pairing de- cisions that were originally designed into the schedule. The same adjustments/restrictions on valid connections apply to the DTM-COLGEN model, and specifically apply to the con- nection network used for the the pricing problem (Section 5.3.1). However, in this section, we describe how the DTM-COLGEN model could be extended to capture more general crew and maintenance constraints, so that rather than optimising with only small variations to the existing schedule, the entire schedule including crew pairings and aircraft routings can be changed to optimise the expected On Time Performance. These extensions are described in the context of the scheduling process at the Airline (Section 3.5.5).

325 326 Delay Transition Model: Extensions and possible speedups

E.1.1 Maintenance constraints

As noted in Section D.4, it is relatively straightforward to extend the DTM-COLGEN master problem formulation (DTM-RMP) to capture aircraft maintenance constraints. However, the integrality of the optimal solution to the LP relaxation would be compromised and so the branch and follow ons algorithm described in Section 5.2.3 would need to be imple- mented to find the optimal integer solution. Furthermore, the subproblem (DTM-PRICE) would need to be extended to capture aircraft maintenance feasibility constraints such as limits on accumulated flying hours and accumulated takeoffs/landings between mainte- nance activities. We refer to the DTM-PRICE problem with maintenance constraints as DTM-PRICE- MTCE. Recall that at the Airline, maintenance planning to ensure an aircraft is at an ap- propriate base to receive any required maintenance is done within the several days prior to the day of operations, and therefore the only maintenance limitations on the scheduled, daily repeating lines of flying (LOFs) are that they do not exceed the number of flying hours required between overnight checks. Therefore the following adjustments are required to convert the connection network for the DTM-PRICE problem (Section 5.3.1) into a network that can be used to solve the DTM-PRICE-MTCE problem. First, associate with each node a weight, h f , which is the flying hours duration of the flight f to which the node relates. Then the weight of a path s is given by: ¯ hs = ∑ hk (E.1) k=1...n

th where hk is the weight of the k flight in path s. Then we have the constraint:

h¯s ≤ maximum daily flying hours (aircraft) (E.2)

The outcome of incorporating such a constraint is that the pricing problem is no longer a simple minimum cost path problem, rather it is a constrained minimum cost path. The resulting constrained minimum cost path problem is similar in structure to the Weight Con- strained Shortest Path Problem (WCSPP), except that the costs are multiplicative along the arcs in the DTM problem rather than additive. As noted in Dumitrescu and Boland ([65]), this means the DTM-PRICE-MTCE problem is also closely related to the Shortest Path Prob- lem with Time Windows (SPPTW) and the Resource Constrained Shortest Path Problem E.1 Incorporating maintenance and crew scheduling, the Airline 327

(RCSPP).

Despite having a cost structure that is different to the standard WCSPP, the dominance results used for the DTM-PRICE-LABEL algorithm (Section 5.3.3) are consistent with the results generally utilized in dynamic programming and/or label setting algorithms that are used to solve WCSPP. Therefore, it is anticipated that the DTM-PRICE-LABEL algorithm (and its extensions) could be readily adapted to solve DTM-PRICE-MTCE by incorporating state of the art, dynamic programming approaches to solving the WCSPP, SPPTW and RC- SPP problems. For example see Dumitrescu and Boland [65] and Smith [151]. We leave the determination of which of these approaches would be most appropriate, and their subse- quent application to the DTM-PRICE-MTCE problem as an area for future research. Though we note that in order to utilise the DTM-PRICE-LABEL algorithm, all that is required is to extend each label from (v¯s, ps) to incorporate the flying hours weight, (v¯s, ps, h¯s), and extend the dominance criteria to incorporate the additional value in each label.

In addition to the constraint on accumulated flying hours, the subproblem for each spe- cific aircraft would also need to be constrained to originate and terminate at a certain port. This is can be achieved with a dummy start node with valid connections into any flight that departs from the correct port, and a dummy end node with valid connection from flights that arrive at the correct airport into the dummy end node. The result of such restric- tions on the network for each aircraft group would result in a network that is significantly smaller than the original DTM-PRICE problem, and hence a considerably easier subproblem to solve. However, this would be offset by the increase in the number of subproblems that would need to be solved (i.e. one for each aircraft group, rather than a single subproblem).

In addition to the daily limits on flying hours, the new flight schedule and aircraft rout- ing solution needs to retain the original planned (or at least sufficient) maintenance swap opportunities, i.e. periods of time where two LOFs have enough ground time in common so that crew from one aircraft can swap with crew from the other. Note that swap opportu- nities exist when a pair of connections between flights (representing ground time) overlap for a sufficient period of time. Ensuring these maintenance opportunities remain in the final schedule can be achieved by fixing the connections that represent the maintenance swap opportunities. For example, if two aircraft t1 and t2 have a swap opportunity in the original schedule represented by the connections ( f1, g1) and ( f2, g2), respectively, then it is a matter 328 Delay Transition Model: Extensions and possible speedups

of fixing the ( f1, g1) connection in the subproblem for t1 and fixing the ( f2, g2) connection in the t2 subproblem. This would not increase the difficulty of solving the subproblem, though it would potentially reduce the opportunity to improve the Expected OTP. Finally, even though maintenance is planned during the several days prior to day of op- erations, the schedule must still allow periods of extended ground time in the maintenance ports to ensure there is sufficient time to carry out the maintenance activities. These periods of ground time in a port are referred to as maintenance opportunities, and are usually sched- uled overnight. To incorporate maintenance opportunities without adding complexity to the problem, we need only identify an early terminator flight that arrives in the maintenance base and is allowed no successors, and a late originator flight that departs from the mainte- nance base and is allowed no predecessors. With the daily repeating schedule, any aircraft that finishes its day on the terminator flight will then have sufficient time for maintenance to be conducted prior to departing the next day on the originator flight. Pairs of such flights would need to be identified for each maintenance opportunity required. Alternative, less restrictive approaches to modeling and constraining the maintenance swap opportunities and maintenance opportunities in the DTM-COLGEN model are left as an area for future research.

E.1.2 Crew constraints

While the previously described adjustments allow aircraft routing decisions to be more ex- tensively revisited during the DTM optimsation process, further adjustments are required to incorporate crew pairing decisions. We refer to the DTM-PRICE-MTCE problem with crew constraints as DTM-PRICE-MTCE-CREW. Recall that the schedule at the Airline is designed such that crew follow the aircraft, operating a single day duty starting and finishing in their home base (section 3.5.5). Therefore, to capture the crew related constraints, we need only capture the flight duty limitations for a single duty i.e. a maximum bound on the number of sectors operated, a limit on the flying hours, as well as a limit on the total the duration of the duty including ground time. The following adjustments are required to convert the connection network for the DTM- PRICE-MTCE problem into a network that can be used to solve the DTM-PRICE-MTCE-

CREW problem. First, associate with each node a weight, b f , which is the block hours du- E.1 Incorporating maintenance and crew scheduling, the Airline 329 ration of the flight to which the node relates. The block hours weight of a path s is given by: ¯ bs = ∑ bk (E.3) k=1...n

th where bk is the block hours duration of the k flight in the path. The block hours are con- strained as follows:

b¯s ≤ maximum daily block hours (crew) (E.4)

Next, associate with each arc a weight, d f g, which is the duration of the ground time between flight f and flight g. Then the flight duty hours weight of a path s is given by:

¯ ds = ∑ (bk + dk,k+1) + bn + g (E.5) k=1...n−1

th where bk is the block hour duration of the k flight in path s, dk,k+1 is the time between the arrival of flight k and departure of flight k + 1 in path s, bn is the duration of the final flight in path s, and g is the additional duty time required for pre-flight duties prior to the first flight and post-flight duties after the final flight in the duty period. The flight duty time is constrained as follows:

d¯s ≤ maximum daily flight duty hours (crew) (E.6)

Third, consider the sector count weight of a path s, cs:

c¯s = ∑ 1 (E.7) k=1...n

The sector count is constrained as follows:

c¯s ≤ maximum daily sectors (crew) (E.8)

Note that since aircraft and crew stay together, there need only be one path in the net- work to represent both crew and aircraft. However, it is generally not the same crew oper- ating a single aircraft for the entire day, instead 2, 3 or 4 crew may be required to operate a full LOF for a single aircraft depending on the nature of the flying. Therefore, to maintain 330 Delay Transition Model: Extensions and possible speedups the use of the one path in the network to represent both resources, crew changes need to be accommodated within a LOF. This can be achieved via the introduction of dummy nodes representing a crew change. The new crew nodes are placed between flights arriving at a crew port and departing the same crew port, provided there is sufficient ground time for a crew change. They have cost implications as follows:

• Arcs into and out of a new crew node have the identity matrix as their transition matrix (i.e. they have no impact on the delay profile) • Arcs into the new crew node have the effect of resetting all crew related weights (d, c, b) to zero • All other costs are zero

The addition of these new weights and the new crew nodes results in a minimum cost path problem similar in structure to the Resource Constrained Shortest Path Problem with Re- plenishment (RCSPP-R) described in Smith [151], again with the exception that some of the costs are multiplicative on the arcs, rather than additive.

E.1.3 Cost implications

By extending the DTM-COLGEN formulation to incorporate decisions that affect the main- tenance and crew schedules, the resulting schedule could potentially be more expensive to deliver. For example, the rerouted aircraft and crew may require more crew pairings to cover the same flying, or may involve more duty hours (if the new pairings have longer ground time for crew). One way to manage this would be to add constraints that limit the number of crew pairings and flight duty hours. It is unlikely that the costs related to aircraft would be affected since the aircraft related costs are generally driven by the number of air- craft and the total flying hours, which are both fixed prior the DTM optimisation process. Instead of constraining the costs to remain within the original scheduled costs, it is also possible to incorporate the crew costs in the objective along with the Expected OTP. Such an objective would require a more sophisticated solution approach such as Bicriteria opti- misation (similar to those in Ehrgott and Ryan [75] and Ehrgott and Rau [74]), a weighted objective function (similar to the Challenge, section 7.3), or some other scalarization technique (for example see Ehrgott [73]). E.2 Incorporating maintenance and crew scheduling, Other Airlines 331

E.1.4 Future research

We have provided a brief explanation of the adjustments that would be required to capture additional aircraft and crew planning detail in the DTM-COLGEN algorithm, to ultimately increase the flexibility and scope of the robustness introduced during the DTM optimisation process. Such extensions increase the complexity of the problem, and are likely to make it more difficult to solve. It was determined that the improvements obtained using the DTM- COLGEN algorithm were sufficient to demonstrate the effectiveness of the approach, and therefore any extensions to capture maintenance and crew scheduling decisions are left as an area for future research.

E.2 Incorporating maintenance and crew scheduling, Other Air- lines

Incorporating maintenance and crew scheduling decisions into the DTM-COLGEN proce- dure for an airline that does not have the simple structure of the Airline would be more dif- ficult. The factors that make the DTM optimisation of the Airline’s schedules more straight- forward to reoptimize include the fact that they have crew following aircraft, crew starting and finishing each day in their home base, and they operate a daily repeating schedule with each aircraft starting and finishing its day at the same port (unless a swap is required to get the aircraft into a maintenance base). In what follows, we explore the implications of relax- ing each of these planning constraints, emphasising the implication of crew not following aircraft as this contributes the most complexity to the DTM-COLGEN model.

E.2.1 Implications of crew not following aircraft

To allow crew to swap between aircraft in a single duty, the following variations to the DTM-COLGEN model are necessary: • Additional variables are required in the master problem to represent crew pairings, and additional constraints are required to ensure crew coverage of flights, resulting in a more complex master problem; • Multiple, additional subproblems for pricing out the new crew pairing variables are required (a new subproblem for each crew base); and 332 Delay Transition Model: Extensions and possible speedups

• Additional, difficult constraints in the master problem are needed to ensure the se- lected flight sequences and crew pairings are compatible (i.e. the selected crew pair- ings and aircraft sequences have selected the same copies of each flight).

The separation of crew and aircraft in such a way essentially extends the DTM-COLGEN problem to an integrated airline scheduling problem, i.e. the integration of crew pairing and aircraft routing decisions. Integrated airline scheduling is in itself an extensive topic of research and is therefore beyond the scope of this thesis. The interested reader is referred to Barnhart and Cohn [21] for an overview of techniques for solving the integrated aircraft maintenance routing and crew pairing problem, and to Smith [151] for a more recent re- view of the literature on integrated airline scheduling. For solving the robust and integrated airline scheduling problem, both Dunbar et. al [66] and Weide et. al [167] present a column generation based framework for solving the aircraft routing and crew pairing problems in an integrated way to reduce propagated delay and short crew connections respectively. We note that the structure of the DTM-COLGEN problem readily fits into the frameworks pro- posed for these problems. In addition to the challenges of solving an integrated model due to the increased com- plexity, it is also unclear how best to capture the interaction of propagated delays due to crew and propagated delays due to aircraft. The following questions would need to be an- swered: How do the delay transitions for aircraft and delay transitions for crew interact? How do you capture the relationship between the delay cost of a flight sequence and the delay cost of a crew pairing when they have common flights? Finally, it is worth noting that the reason the Airline schedules crew to follow aircraft is because of the inherent robustness of such a scheduling practice (Ehrgott and Ryan [75], Yen and Birge [178]), as well as the fact that when crew change aircraft, more ground time is required for the crew to allow them to get from one aircraft to the next, so duties with aircraft swaps are inherently longer and hence more costly.

E.2.2 Implications of crew not staring and finishing each day in their home base

When crew are not generally required to start and end each day in their home base, cap- turing the cost implications of the pairings is far more involved. Crew duties that include a layover at a location that is different to the crew members home base would incur costs E.2 Incorporating maintenance and crew scheduling, Other Airlines 333 for hotel accommodation and associated expenses and/or costs to transfer the crew back to their home base as a passenger (dead heading). In fact, these additional costs are one of the primary reasons the Airline schedules crew pairings to start and finish in the crew members home base. Relaxing this scheduling constraint opens up the crew pairing problem to longer tours of duty that span multiple days with rest in out-of-base ports. While this would extend the number of feasible solutions, and potentially make more cost effective solutions feasible, it would also increase the complexity of the problem space. Additional nodes and arcs would be required to represent out of base layovers and additional constraints such as maximum days away from home base would need to be captured, requiring an additional resource to be tracked in each crew path through the network. See Desaulniers et al. [53] for a crew pairing optimisation model that captures more complex crew pairing costs and constraints.

E.2.3 Implications of not having a daily repeating schedule with aircraft starting and finishing at the same location

As well as the additional variables and constraints required to capture maintenance con- straints at the Airline (noted in Section E.1.1, page 326), relaxing the scheduling constraint that aircraft start and end each day at the same port requires the addition of ground arcs representing maintenance opportunities. Since the schedule is no longer a daily repeating schedule, these maintenance ground arcs are required to ensure the maintenance feasibility of the identified paths by ’resetting’ accumulated hours to zero when traversed. Further- more, extending from a daily repeating schedule to a multi-day schedule would increase the problem size (each scheduled day requires additional nodes and arcs to represent the flights to be covered on that day), and require additional maintenance constraints to be tracked (i.e. resources and opportunities would need to be tracked for non-daily checks also). The detailed exploration of how to model these additional variables and constraints in DTM-COLGEN for different airlines is left as an exercise for future research. For the in- terested reader, Lacasse-Guay et al. [108] provides a recent survey of the different types of aircraft routing problems (ARPs) addressed in the literature which are designed to solve the maintenance problem. Their review includes an explanation of the different business pro- cesses that determine which problem type an airline will decide to solve. Existing models 334 Delay Transition Model: Extensions and possible speedups and optimisation approaches for ARPs include Clarke et al. [42], Barnhart et al. [25] and Lan et al. [110].

E.2.4 Cost implications

As noted with the adjustments made in Section E.1, extending the DTM-COLGEN formula- tion to incorporate decisions that affect the maintenance and crew schedules require some consideration of the costs affected by these scheduling decisions. This could be achieved either through constraining the costs during DTM-COLGEN re-optimisation so that the re- sulting schedule is no worse than the original schedule (or within some bound), or incor- porating the various costs in the objective along with the Expected OTP, requiring a more sophisticated solution approach such as Bicriteria optimisation, a weighted objective func- tion, or some other scalarization technique (Ehrgott and Ryan [75], Ehrgott and Rau [74], Ehrgott [73]).

E.2.5 Future research

Having explored the implications of relaxing the scheduling constraints imposed at the Air- line, it is quite clear that some effort would be required to implement a solution equivalent to the DTM-COLGEN approach at other airlines. The primary issues are the increased prob- lem size in the subproblem (both in terms of resources to be tracked and the number of nodes and connections) and the additional, interacting constraints in the master problem. We note that the column generation framework and label setting algorithm for the subprob- lem do naturally lend themselves to addressing the issues identified. Furthermore, both of these issues have been explored in the literature through various column generation () and label setting algorithm techniques (). Despite this, further work is required to generate a complete model for applying the DTM-COLGEN approach at other airlines, as well as refine the algorithm for solving the resulting model efficiently. A simpler alternative may be to embed the learnings obtained from applying the DTM- COLGEN at the Airline (Section 6.3), into existing scheduling techniques used at the airline in question. Another area for future research is to investigate the scheduling practice at the Airline to E.3 Other Speedups Considered 335 determine whether the benefits of this approach, such as simplicity of scheduling process and therefore operations, robustness of crew staying with the aircraft and cost effectiveness of not having crew layover out of base, outweigh the potential benefits of having more flexibility when scheduling crew and aircraft.

E.3 Other Speedups Considered

In addition to the speedups identified in Section 5.4, several other ideas were considered but not implemented either because the expected benefits of the idea did not outweigh the effort to implement it or because the speedups already implemented were sufficient to demon- strate the effectiveness of the DTM-COLGEN approach so it was determined that any other ideas could be left for future research. In what follows, a brief explanation of each idea is provided as well as the rationale for not implementing it.

E.3.1 Additional dominance criteria (DTM-PRICE-LABEL2)

In the original label setting algorithm for DTM-PRICE (Section 5.3.4), labels were compared for dominance with other labels of the same node only. That is, dominance was only ever observed between two labels for the same node (in our case the same flight-copy). A more general dominance criteria would allow us to observe dominance between two labels for different nodes. Since the nodes in the DTM-PRICE network represent flight-copies, i.e. re- timed copies of a scheduled flight, we can compare labels for all nodes that represent copies of the same flight by incorporating the arrival time of the node in each label. This was mo- tivated by the desire to be able to prune amongst copies of the same flight (i.e. all other things being equal, an earlier flight-copy is better). Definition E.1 articulates the label and dominance criteria to enable this broader comparison of labels.

s s t t Definition E.1. The DTM-PRICE label (type 2) (v¯i , pi , STAi) dominates the label (v¯j, pj, STAj) if s t s t v¯i ≤ v¯j and pi FSD pj and STAi ≤ STAj and dest(i) = dest(j).

The proof of validity of this dominance criteria follows the same arguments as Lemma 336 Delay Transition Model: Extensions and possible speedups

5.1, making use of the fact that if STAi ≤ STAj, then any path that can complete i can also complete j. In fact, this same criterion can be used not just to compare labels relating to the same flight, but all labels that have the same arrival port. To adjust DTM-PRICE-LABEL (Algorithm 2, page 141) to incorporate this new defini- tion of dominance, the Dominance search loop is replaced by the dominance search shown in Algorithm 10 (page 340). The only significant difference is that the loop now compares the current label for dominance with all labels that correspond to paths arriving at the same location. Given that the results already obtained on DTM-COLGEN are of a quality sufficient to demonstrate the effectiveness of the DTM models and the DTM-COLGEN approach, it was determined that this extended dominance criteria was not required for the purposes of this thesis, and instead would be considered an area for future research.

E.3.2 Best First Search for DTM-PRICE

In Section 5.3, the concept of stochastic dominance was used to update the Bellman-Ford algorithm to find the shortest path for the DTM-PRICE problem. Similarly, it is possible to extend Desrochers’ and Soumis’ Generalised Permanent Labeling Algorithm ([56]) so that rather than visiting each node in strictly chronological order, and then the labels associated with that node consecutively, labels associated with different nodes are explored in buck- ets; buckets are defined such that updating the values of a label within a bucket would not change the value for any other label within the same bucket. For the purposes of our prob- lem, this would involve separating flights into intervals based on their departure time, but may also involve some other criteria. The advantage of treating labels in this way is that it would enable a best-first search ap- proach within each bucket, resulting in efficient labels being more likely to be found sooner, and therefore inefficient labels being more likely to be dominated early in the search, reduc- ing the total number of times each label needs to be treated. In essence, the current approach implemented is best-first based on a rank ordering of scheduled departure time, but with no second level ordering for labels associated with the same flight, let alone any second level ordering for labels associated with the same departure time. The former could be addressed within the current algorithmic framework, whereas the latter would require an approach E.3 Other Speedups Considered 337 more like the GPLSA. The GPLSA approach would allow a lexicographical ordering of la- bels based on the probability vector of the labels in the same bucket, the accumulated value of the label, and the departure time of the flight associated with the label. The implementation of this type of approach would be quite involved, and would re- quire several key design decisions to be made and/or tested, such as which lexicographical ordering to apply to the different components of a label. Therefore, given that the results already obtained on DTM-COLGEN are of a quality sufficient to demonstrate the effective- ness of the DTM models and the DTM-COLGEN approach, it was determined that a GPLSA implementation was not required for the purposes of this thesis, and instead would be con- sidered an area for future research.

E.3.3 Restricted Networks and Subproblem Preprocessing

There are a variety of techniques for accelerating the column generation algorithm that are based on solving a simpler version of the subproblem, thereby allowing it to be solved quickly. For example, Gamache et. al [125] restrict the network in their Constrained Shortest Path Problem by approximating the costs associated with their arcs with a less precise unit of measurement (i.e. hours instead of minutes). The result is that different nodes will appear to have the same value, increasing the chance that one path will dominate another. In effect, this method dynamically restricts the network of the subproblem according to the value of the dual variables. Along a similar vein, one idea would be to approximate the transition probability ma- trices used in the DTM-PRICE-LABEL algorithm, i.e. have fewer discrete delay categories. This would have a similar effect to the technique presented by Gamache et. al [125], in that it would increase the likelihood of finding efficient labels since each label will have fewer elements in the delay probability vector to compare. Of course, the more accurate transi- tion probability matrices would then need to be used to identify the true cost of the newly identified flight sequence, and the accurate reduced cost would need to be evaluated to con- firm it is indeed negative. Whilst not implemented, based on the success of the approach in Gamache et al. [125], this is a prime area for further investigation. An alternative method would be to find the shortest path based on the costs associated with dual values only, ignoring the cost component associated with the unfavorable delay 338 Delay Transition Model: Extensions and possible speedups categories. Again the true reduced cost (and true cost coefficient of the new variable) would also have to be calculated for the identified flight sequence to confirm that the newly found column does indeed have a negative reduced cost. This method would be unlikely to per- form well because the dual variables are the same for all flight-copies related to the same original flight since the dual variables are associated with flight cover constraints and air- craft location constraints which are equivalent for all copies of the same flight. Therefore all flight-copies for the same original flight would be treated equally by the algorithm meaning that the redistribution of slack would not be guiding the search. However this could be partly overcome by a second step in the algorithm to find the lowest cost flight sequence consisting only of flight-copies that are copies of the flights identified in the first step. A third method, similar to the previous one, would be to again consider only the costs associated with the dual values, and find all the paths that have a negative cost. A restricted network could then be generated by only allowing arcs that exist in one of the negative cost paths. The lowest cost path on this new restricted network could then be found using the DTM-PRICE-LABEL algorithm. This algorithm could be quite successful provided the first step is not too time consuming and/or the resulting network of the second stage is sufficiently restricted. It is recommended as an area for further investigation. Other references to work where complex shortest path problems were solved using re- stricted or approximate networks include Barnhart et. al [22], Dumas et. al [63] and Ioachim et. al [100].

E.3.4 Better initial solution

Since it was the solve time of the subproblem that was prohibitive for the larger problem instances (Table 6.3, page 159), one approach to accelerating the column generation algo- rithm would be to start with a better initial solution so that fewer iterations are required to identify the optimal solution (or confirm that it has already been found). Therefore, a heuristic approach could be used to identify a good solution, and then that could be used as the starting point for the DTM-COLGEN algorithm. The following options were considered for identifying good solutions quickly. In Section 6.1.6, Figure 6.9, we saw that the quality of solutions found after 60 minutes of computation time was better for instances with 3 flight-copies compared with instances E.3 Other Speedups Considered 339 with 5 and 7 flight-copies. However, we know that in reality the solutions to the 5 and 7 flight-copy instances should be at least as good, and in fact at optimality are likely to be better than the instances with 3 flight-copies. One way to accelerate the algorithm for the cases with many flight copies, would therefore be to start with an initial solution that was obtained from an easier version of the same problem e.g. load a solution from the 3 flight-copy problem as a starting point for the 5 flight-copy problem. Alternative means for obtaining a better initial solution would be to run the original DTM-RTN model for a short time (since despite the integrality gap, it seemed to generate reasonable quality solutions). Along similar lines, it was noted in Section 5.4.2, that it is quicker to solve simpler prob- lems than the entire DTM-COLGEN problem. However, rather than solving each subprob- lem on a restricted network, one could solve the entire DTM on the restricted network, then use that solution as the starting point for solving on a slightly different network. This ap- proach differs from the one in Section 5.4.2, because the entire DTM-COLGEN is solved on the restricted network, before proceeding to a different restricted network. These ideas were not explored further, since the deterioration in the speed of the sub- problem solver was generally as the algorithm got closer to the optimal solution rather than during the initial search phase.

E.3.5 Lazy pricing

One way to accelerate the pricing subproblem would be to not solve it to optimality, but rather solve for the first negative reduced cost path, or return the best negative reduced cost path after a fixed time limit has been exceeded.

E.3.6 Other techniques from the literature

There is a significant body of literature dedicated to the topic of column generation, includ- ing numerous techniques for accelerating column generation algorithms such as stabiliza- tion techniques and branching strategies. A brief summary of some of these techniques is provided in Section B.3. Many of the techniques described would also assist in accelerating our solution approach to the DTM problem. However, they are not essential to the contri- bution of this thesis, and therefore were not explored further here. 340 Delay Transition Model: Extensions and possible speedups

input : S, the set of non-dominated paths, and s, a new path to node i parameters: Nl, the set of nodes corresponding to flight-copies that arrive at location l Sk ⊂ S, the subset of S representing paths to node k variables : Si, the set of non-dominated paths to node i s ~s (vi , pi , STAi): the label for node i reached via path s ∈ S s, the current path (sequence of nodes) under consideration output : S, the set of non-dominated paths for k ∈ Nl=dest(i) do for u ∈ Sk \{s} do ~s ~u s u if p FSD p AND v ≤ v AND STAi ≤ STAk then Sk ← Sk \{u} ; // Remove paths dominated by s ~u ~s u s else if p FSD p AND v ≤ v AND STAk ≤ STAi then Si ← Si \{s} ; break; end end end Algorithm 10: Dominance search that uses time based dimension to extend dominance criteria (for use in DTM-PRICE-LABEL2). Note that in the above, it is assumed that by removing a path from a subset Sk ⊂ S, we are also removing it from the parent set S. Appendix F Residual Plots

Δ1/σ Residual Plot Δτ Residual Plot 0.2 0.2 y = 1.3236x2 - 0.0266x - 0.0219 R² = 0.1358 0.15 0.15

0.1 0.1

0.05 0.05

0 0 Residuals Residuals -0.05 -0.05

-0.1 -0.1

-0.15 -0.15

-0.2 -0.2 -1.00 -0.50 0.00 0.50 1.00 1.50 2.00 2.50 -0.40 -0.30 -0.20 -0.10 0.00 0.10 0.20 0.30 0.40 Δ1/σ Δτ

(a) (b)

SP Residual Plot y = 0.3409x - 0.1692 Predicted ΔSP Residuals R² = 0.5169 i 0.2 0.2 y = 0.7336x - 0.1328 R² = 0.3974 0.15 0.15

0.1 0.1

0.05 0.05

0 0 Residuals -0.05 Residuals -0.05

-0.1 -0.1

-0.15 -0.15

-0.2 -0.2 0.00 0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35

SPi Predicted ΔSPi

(c) (d)

∗ 1 ∗ Figure F.1: Residual plots for ∆SPi = α1 σ + α2SPi + α3∆τi (Rejected)

341 342 Residual Plots

Δ1/σ Residual Plot Δτ Residual Plot 0.15 0.15

0.1 0.1

0.05 0.05

0 0

-0.05 -0.05

Residuals Residuals

-0.1 -0.1

-0.15 -0.15

-0.2 -0.2 -1.00 -0.50 0.00 0.50 1.00 1.50 2.00 2.50 -0.40 -0.30 -0.20 -0.10 0.00 0.10 0.20 0.30 0.40 Δ1/σ Δτ

(a) (b)

SP Residual Plot Predicted ΔSPi Residuals 0.15 0.15

0.1 0.1

0.05 0.05

0 0

-0.05 -0.05

Residuals Residuals

-0.1 -0.1

-0.15 -0.15

-0.2 -0.2 0.00% 10.00% 20.00% 30.00% 40.00% 50.00% 60.00% 70.00% 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45

SPi Predicted ΔSPi

(c) (d)

∗ 1 2 ∗ Figure F.2: Residual plots for ∆SPi = α1 σ + α2SPi + α3∆τi (Accepted) 343

Primary Delay Performance Residual Plot Min Turn Performance Residual Plot 0.1 0.1 y = 1E-16x + 8E-17 R² = 5E-31 0.08 0.08

0.06 0.06

0.04 0.04

0.02 0.02 Residuals Residuals 0 0

-0.02 -0.02

-0.04 -0.04

-0.06 -0.06 0% 5% 10% 15% 20% 25% 30% 0% 10% 20% 30% 40% 50% 60% 70% Primary Delay Performance MinTurn Performance

(a) (b) Average Slack Residual Plot Predicted OTP Residual Plot 0.1 0.1

y = 4E-19x + 1E-16 0.08 R² = 4E-31 0.08

0.06 0.06

0.04 0.04

0.02 0.02 Residuals 0 Residuals 0

-0.02 -0.02

-0.04 -0.04

-0.06 -0.06 0 20 40 60 80 100 120 140 0% 5% 10% 15% 20% 25% 30% 35% Average Slack Predicted OTP

(c) (d)

Figure F.3: Residual plots for ∆EOTPi = α1 pi + α2si + α3ti (Accepted)

Appendix G Formulation of Recovery Models

G.1 ROADEF Model Formulation (Stage 1)

G.1.1 Sets

Schedule, aircraft and airport model

Aˆ = the set of all individual aircraft; A = the set of aircraft groups, (defined as discussed above); F = the set f flights planned for the recovery period, including any new flights; E = the set of possible connections between activities; F(a) = the set of flights that could potentially be flown by an individual aircraft a; Amtc ⊆ A = the set of aircraft groups which have a scheduled maintenance event to be considered; Aun ⊆ A = the set of aircraft groups which have a period of unavailability to be considered; F0(a) = the set of dummy start nodes, one for each aˆ ∈ a; N(a) = the set of nodes representing activities that can or must be undertaken by aircraft in group a, F(a) ∪ F0(a) ∪ Mtc(a) ∪ U(a);

N = ∪a∈A N(a);

345 346 Formulation of Recovery Models

E(a) = the set of possible connections between activi- ties which can be performed by aircraft a. De- fined so as to take into account minimum turn times between flights, and geographical consis- tency, E(a) ⊂ N(a) × N(a); P = the set of airports; S(p) = the set of airport slots, for each airport p ∈ P.

Passenger model

R = the set of all reservations;

Πr = ( f1, f2,... ) = the sequence of flights constituting the itinerary for reservation r; B( f ) = the classes available on flight f ; o d F(r) = N(r) \{nr , nr } = the set of flights possibly useful for passengers in reservation r; 1 R = {r ∈ R : numr = 1} = the set of single-passenger reservations; d d F (r) = { f ∈ F(r) : ( f , nr ) ∈ E(r)} = the set of flights arriving at r’s destination; E ⊆ F × F = the set of all possible ordered pairs of flights that could be connected; E(r) ⊂ E = the set of all possible ordered pairs of flights that could be connected by passengers in reservation r.

G.1.2 Parameters

Schedule, aircraft and airport model

sched dep f , ∀ f ∈ N(a) = the scheduled start time of activity f ;

sched arr f , ∀ f ∈ N(a) = the end start time of activity f ; G.1 ROADEF Model Formulation (Stage 1) 347

f lt tm f ∀ f ∈ F(a) = the flight hours of f (Note that the Challenge as- sumes that flight times are independent of aircraft model or configuration, and swaps are not permit- ted outside of an aircraft family, so flight time does not depend on a);

dur f ,a ∀ f ∈ F(a) = the duration of activity f if undertaken by aircraft in a, taken to be the flight time plus minimum turn time in the case that f is a flight; mtc max f lt tma, ∀a ∈ A = maximum flight hours to be completed by a prior to the start of the maintenance (Note that it is as- sumed that each aircraft has at most one mainte- nance event planned during the recovery period); 0 faˆ , ∀aˆ ∈ a ∀a ∈ A = a dummy start node for each individual aircraft; Mtc(a), ∀a ∈ Amtc = a dummy node for aircraft a’s maintenance event; U(a), ∀a ∈ Aun = a dummy node for aircraft a’s unserviceability event; o( f ) ∈ P ∀ f ∈ F = the origin airport for flight f ; d( f ) ∈ P ∀ f ∈ F = the destination airport for flight f ;

starts, ∀s ∈ S(p) = the start time of slot s;

ends, ∀s ∈ S(p) = the end time of slot s;

dep capp,s ∀p ∈ P, s ∈ S(p) = the maximum number of departures permitted in slot s at airport p;

land capp,s ∀p ∈ P, s ∈ S(p) = the maximum number of arrivals permitted in slot s at airport p.

Passenger model

numr, ∀r ∈ R = the number of passengers for which the reserva- tion is made; o nr , ∀r ∈ R = dummy start node for each reservation; d nr , ∀r ∈ R = dummy end node for each reservation; 348 Formulation of Recovery Models

min cnnct tm = the minimum time that must be allowed between two flights in order for passengers to connect be- tween them;

latest tmr, ∀r ∈ R = the latest time to which each passenger’s arrival at their destination can be delayed, prescribed by the Challenge

capa,b, ∀a ∈ A, ∀b ∈ B = the number of seats available in aircraft a in class b

G.1.3 Decision Variables

Schedule, aircraft and airport model

z f ∈ {0, 1} ∀ f ∈ F binary book-keeping variable, 1 indicates flight f is canceled, 0 otherwise;

x f ,g,a ∈ {0, 1} ∀a ∈ A, ∀( f , g) ∈ E(a) binary variable, where a value of 1 indi- cates that an aircraft in group a under- takes activity f followed by activity g, 0 otherwise; mtc τf ,a ≥ 0 ∀a ∈ A , ∀ f ∈ N(a) continuous variable indicating the num- ber of flight hours completed by aircraft a prior to the start of activity f ; S t f ≥ sched dep f ∀ f ∈ a∈A N(a) continuous variable indicating the depar- ture time of flight f in the recovered schedule;

d f ,s ∈ {0, 1} ∀ f ∈ F, s ∈ S(o( f )) binary variable set to 1 if flight f departs during time window s, 0 otherwise;

l f ,s ∈ {0, 1} ∀ f ∈ F, s ∈ S(d( f )) binary variable set to 1 if flight f arrives during time window s, 0 otherwise;

Passenger model G.1 ROADEF Model Formulation (Stage 1) 349

v f ,g,b,r ∈ Z ∀r ∈ R, ∀( f , g) ∈ E(r), ∀b ∈ B( f ) integer variable identifying the number of passengers with reservation r that use connection ( f , g), accommodated on flight f in booking class b; d v¯ f ,r {0, 1} ∀r ∈ R, ∀ f ∈ F (r) binary variable set to 1 if passengers with reservation r use flight f to reach their fi- nal destination;

u f ,g {0, 1} ∀( f , g) ∈ E(r) binary variable set to 1 if there is sufficient time for passengers to connect from flight f to flight g, 0 otherwise; d Tr, f ≥ 0 ∀ f ∈ F (r) the time after sched tmr that passengers r are delivered to their destination if reac- commodated on flight f ; zero otherwise;

G.1.4 Components of the objective function

Flight cancellation costs

= op Zf lt cancel : ∑ Cf z f f ∈F

Aircraft location costs

 f am mod Zac pos := ∑ Cf amily ∑ |n fp,φ − num acp,φ | + Cmodel ∑ |nmp,φ − num acp,µ | p∈P φ∈Φ f am µ∈Φmod  con f +Ccon f ig ∑ |ncp,χ − num acp,χ | χ∈Φcon f where       n fp,φ :=  xg, f ,a − x f ,g,a + (1 − x 0 ) ∑ ∑ ∑ ∑ ∑ ∑ faˆ ,g,a a∈φ  ∈ ( ) ( )= ( )∈ ( ) ( )∈ ( ) ˆ0 0  f F a :d f p g: g, f N a g: f ,g N a aˆ∈a∩A (p) g:( faˆ ,g)∈E(a) 350 Formulation of Recovery Models

Passenger cancellation costs

pax cancel Z := C (num − v o ), pax cancel ∑ r r ∑ ∑ nr , f ,b,r o o r∈R b∈B(nr ) f :(nr , f )∈E(r)

Passenger downgrade costs

= downgrade Zpax down : ∑ ∑ ∑ Cr, f ,b ∑ v f ,g,b,r, ∈ o d r R f ∈N(r)\{nr ,nr } b∈B( f ) g:( f ,g)∈E(r)

Passenger delay costs

= delay legal ( − )+ Zpax delay : ∑ ∑ Cr,δ ∑ vˆ f ,r Tr, f legal delay tmr,δ r∈R δ∈∆r f ∈Fd(r) pax delay + ∑ Cr ∑ vˆ f ,rTr, f r∈R f ∈Fd(r)

G.1.5 Formulation

min Zpax cancel + Zpax down + Zpax delay + Zac pos − Zf lt cancel,

s.t. schedule, aircraft and airport constraints (G.1) − (G.16), hold, and

passenger model constraints (G.17) − (G.27) hold.

Schedule, aircraft and airport constraints

∑ ∑ x f ,g,a + zg = 1, ∀g ∈ F, (G.1) a∈A f :( f ,g)∈E(a)

x 0 ≤ 1, ∀a ∈ A, ∀aˆ ∈ a, (G.2) ∑ faˆ ,g,a 0 g:( faˆ ,g)∈E(a) 0 ∑ xg, f ,a ≥ ∑ x f ,g,a, ∀a ∈ A, ∀ f ∈ N(a) \{ fa }, (G.3) g:(g, f )∈E(a) g:( f ,g)∈E(a)

∑ xg, f ,a = 1, ∀a ∈ A, ∀ f ∈ Mtc(a) ∪ U(a), (G.4) g:(g, f )∈E(a) G.1 ROADEF Model Formulation (Stage 1) 351

mtc τg,a ≥ τf ,a + f lt tm f − M(1 − x f ,g,a), ∀a ∈ A , ∀( f , g) ∈ E(a), f 6∈ Mtc(a), (G.5)

mtc τf ,a ≤ max f lt tma, ∀a ∈ A , ∀ f ∈ Mtc(a), (G.6)

t f ≥ start f , f ∈ F, (G.7)

tg ≥ t f + dur f ,a − M(1 − x f ,g,a), ∀a ∈ A, ∀( f , g) ∈ E(a), (G.8)

t f ≥ starts − M(1 − ∑ d f ,s0 ), ∀ f ∈ F, ∀s ∈ S(o( f )), (G.9) s0≥s

t f ≤ ends(1 − z f ) + M(1 − ∑ d f ,s0 ), ∀ f ∈ F, ∀s ∈ S(o( f )), (G.10) s0≤s

t f + f lt tm f (1 − z f ) ≥ starts − M(1 − ∑ l f ,s0 ), ∀ f ∈ F, ∀s ∈ S(d( f )), (G.11) s0≥s

t f + f lt tm f ≤ ends(1 − z f ) + M(1 − ∑ l f ,s0 ), ∀ f ∈ F, ∀s ∈ S(d( f )), (G.12) s0≤s

∑ d f ,s + z f = 1, ∀ f ∈ F, (G.13) s∈S(o( f ))

∑ l f ,s + z f = 1, ∀ f ∈ F, (G.14) s∈S(d( f ))

∑ d f ,s ≤ dep capp,s, ∀p ∈ P, ∀s ∈ S(p), (G.15) f :s∈S(o( f ))

∑ l f ,s ≤ land capp,s, ∀p ∈ P, ∀s ∈ S(p). (G.16) f :s∈S(d( f ))

Passenger model constraints

v o ≤ num , ∀r ∈ R, (G.17) ∑ ∑ nr , f ,b,r r 0 f :(nr , f )∈E(r) b∈B( f ) 352 Formulation of Recovery Models

∑ ∑ vg, f ,b,r = ∑ ∑ v f ,g,b,r, ∀r ∈ R, ∀ f ∈ F(r), (G.18) g:(g, f )∈E(r) b∈B(g) g:( f ,g)∈E(r) b∈B( f )

∑ ∑ v f ,g,b,r ≤ ∑ capa,b ∑ xg, f ,a, ∀ f ∈ F, ∀b ∈ B( f ), (G.19) r: f ∈N(r) g:( f ,g)∈E(r) a: f ∈N(a) g:(g, f )∈E(a)

tg ≥ t f + f lt tm f + min cnnct tm − M(1 − u f ,g), ∀( f , g) ∈ E,

(G.20)

∑ ∑ v f ,g,b,r ≤ Mu f ,g, ∀( f , g) ∈ E, r∈R:( f ,g)∈E(r) b∈B( f ) (G.21)

u f ,g ≤ 1 − z f , ∀( f , g) ∈ E, (G.22)

u f ,g ≤ 1 − zg, ∀( f , g) ∈ E, (G.23)

1 d v¯ = v d , ∀r ∈ R , ∀ f ∈ F (r), and (G.24) f ,r ∑ f ,nr ,b,r b∈B( f )

1 d v d ≤ num v¯ , ∀r ∈ R \ R , ∀ f ∈ F (r), (G.25) ∑ f ,nr ,b,r r f ,r b∈B( f )

d t f + f lt tm f ≤ latest tmr + M(1 − v¯ f ,r), ∀r ∈ R, ∀ f ∈ F (r). (G.26)

d Tr, f ≥ t f + f lt tm f − sched tmr − M(1 − v¯ f ,r), ∀r ∈ R, ∀ f ∈ F (r). (G.27)

G.2 Passenger Recovery Model Formulation

G.2.1 Notation

Sets G.2 Passenger Recovery Model Formulation 353

R = the set of all reservations; F = the set of all flights;

Πr = ( f1, f2,... ) = the sequence of flights constituting the itinerary for the reservation; B( f ) = the classes available on flight f ; F(r) = the set of flights possibly useful for passengers in reservation r; o d N(r) = F(r) ∪ {nr , nr } the union of passenger flights and dummy start and end nodes useful for passengers in reservation r; 1 R = {r ∈ R : numr = 1} = the set of single-passenger reservations; d d F (r) = { f ∈ F(r) : ( f , nr ) ∈ E(r)} = the set of flights arriving at r’s destination; E ⊆ F × F = the set of all possible ordered pairs of flights that could be connected. E(r) ⊆ N(r) × N(r) = the set of all possible ordered pairs of flights that could be connected for passengers in reservation r, including connections from the dummy start node to flights, and connections from flights to the dummy end nodes.

Parameters

numr, ∀r ∈ R = the number of passengers for which the reservation is made ; o nr , ∀r ∈ R = dummy start node for each reservation; d nr , ∀r ∈ R = dummy end node for each reservation; min cnnct tm = the minimum time that must be allowed between two flights in order for passengers to connect be- tween them;

latest tmr, ∀r ∈ R = the latest time to which each passenger’s arrival at their destination can be delayed, prescribed by the Challenge

cap f ,b, ∀ f ∈ F, ∀b ∈ B = the number of seats available on flight f in class b 354 Formulation of Recovery Models

Decision Variables

r v f ,g,b ≥ 0 ∀r ∈ R, ∀( f , g) ∈ E(r), ∀b ∈ B( f ); r v f ,g,b ∈ Z, counts the number of passengers with reservation r that use connection ( f , g) ∈ E(r), accommodated in g in class b.

G.2.2 Formulation

r r min ∑ ∑ ∑ ∑ c f ,g,bv f ,g,b (G.28) r∈R f ∈F(r) g:( f ,g)∈E(r) b∈B( f )

s.t.

r v o ≤ num , ∀r ∈ R, (G.29) ∑ ∑ nr , f ,b r 0 f :(nr , f )∈E(r) b∈B( f ) r r ∑ ∑ vg, f ,b − ∑ ∑ v f ,g,b = 0, ∀r ∈ R, ∀ f ∈ F(r), (G.30) g:(g, f )∈E(r) b∈B(g) g:( f ,g)∈E(r) b∈B( f )

r ∑ ∑ v f ,g,b ≤ cap f ,b, ∀ f ∈ F, ∀b ∈ B( f ). (G.31) r: f ∈N(r) g:( f ,g)∈E(r) Bibliography

[1] Roadef 2009 challenge website. [Online]. Available: http://challenge.roadef.org/ 2009/en/

[2] Stochastic programming community website. online. [Online]. Available: http: //www.stoprog.org/

[3] (2003) http://news.bbc.co.uk/2/hi/asia-pacific/3141568.stm.

[4] http://news.bbc.co.uk/2/hi/americas/8368742.stm, 2009.

[5] R. Acuna-Agost, P. Michelon, D. Feillet, and S. Gueye, “Statistical analysis of propa- gation indcidents for rescheduling simultaneously flights and passengers under dis- turbed operations,” in ROADEF, Nancy, France, 2009.

[6] ——, “Sapi: Statistical analysis of propagation of incidents. a new approach for rescheduling trains after disruptions,” European Journal of Operational Research, vol. 215, no. 1, pp. 227 – 243, 2011. [Online]. Available: http://www.sciencedirect.com/ science/article/pii/S0377221711004954

[7] Y. Ageeva, “Approaches to incorporating robustness into airline scheduling,” Ph.D. dissertation, MIT, 2000.

[8] S. AhmadBeygi, A. Cohn, and M. Lapp, “Decreasing airline delay propagation by re-allocating scheduled slack,” in Alfred P Sloan Foundation, Industry Studies, 2008.

[9] S. Ahmadbeygi, A. Cohn, and M. Lapp, “Decreasing airline delay by re-allocating scheduled slack,” IIE Transactions, vol. 42, pp. 478–489, 2010.

[10] Operating fleet. Air New Zealand. (Accessed 6th October 2013, 6:11pm). [Online]. Available: http://www.airnewzealand.com.au/fleet

355 356 BIBLIOGRAPHY

[11] Airbus. (2013, January) Airbus aircraft 2013 average list prices. Press Release. Airbus Press Office. 1, Rond-point Maurice Bellonte, 31707 Blagnac Cedex, France. [Online]. Available: http://www.airbus.com/presscentre/corporate-information/ key-documents/?eID=dam frontend push&docID=14849

[12] (2008, January) Website. American Society for Quality. [Online]. Available: www.asq.org/glossary/r.html

[13] H. B. Amor, J. Desrosiers, and A. Frangioni, “Stabilization in column generation,” GERAD, Tech. Rep. G-2004-62, 2004.

[14] T. W. Anderson and L. A. Goodman, “Statistical inference about markov chains,” The Annals of Mathematical Statistics, vol. 28, pp. 89–110, 1957.

[15] T. Andersson, “Solving the flight perturbation problem with meta-heuristics,” Journal of Heuristics, vol. 12, pp. 37–53, 2006.

[16] N. Ando and E. Taniguchi, “Travel time reliability in vehicle routing and scheduling with time windows,” Networks and Spatial Economics, vol. 6, pp. 293–311, 2006.

[17] C. Artigues, E. Bourreau, H. Afsar, O. Briant, M. Boudia et al., “Disruption manage- ment for commercial airlines: methods and results for the roadef 2009 challenge,” 2010.

[18] A. Australia, “Jetstar group celebrates 100 aircraft,” Aviation Australia website, pub- lished 15 April 2013 10:07am; Accessed 6 October 2013, 5:53pm. [Online]. Available: http://australianaviation.com.au/2013/04/jetstar-group-celebrates-100-aircraft/

[19] H. Aytug, M. A. Lawley, K. McKay, S. Mohan, and R. Uzsoy, “Executing production schedules in the face of uncertainties: A review and some future directions,” European Journal of Operational Research, vol. 161, pp. 86–110, 2005.

[20] J. F. Bard, G. Yu, and M. F. Arguello, “Optimiszing aircraft routings in response to groundings and delays,” IIE Transactions, vol. 10, pp. 931–947, 2001.

[21] C. Barnhart and A. Cohn, “Airline schedule planning: Accomplishments and opportunities,” Manufacturing and Service Operations Management, vol. 6, no. 1, pp. BIBLIOGRAPHY 357

3 – 22, 2004. [Online]. Available: http://www-personal.umich.edu/∼amycohn/ PAPERS/msom.pdf

[22] C. Barnhart, E. L. Johnson, G. Nemhauser, and P. Vance, “Solving binary cutting stock problems by column generation and branch-and-bound,” Computation Optimization and Applications, vol. 3, pp. 111–130, 1995.

[23] C. Barnhart, E. L. Johnson, G. L. Nemhauser, M. W. P. Savelsbergh, and P. H. Vance, “Branch-and-price: Column generation for solving huge integer programs,” Opera- tions Research, vol. 46, pp. 316 – 329, 1998.

[24] C. Barnhart, F. Lu, and R. Shenoi, “Integrated airline scheduling,” Operations Research in the Air Industry. International Series in Operations Research and Management Science, vol. 9, pp. 384–403, 1998.

[25] C. Barnhart, N. L. Boland, L. W. Clarke, E. L. Johnson, G. L. Nemhauser, and R. G. Shenot, “Flight string models for aircraft fleeting and routing,” Transportation Science, vol. 32, no. 3, pp. p208 –, 1998.

[26] R. Bellman, “On a routing problem,” Quarterly of Applied Mathematics, vol. 16, pp. 87– 90, 1958.

[27] P. Belobaba, A. Odoni, and C. Barnhart, The Global Airline Industry. John Wiley & Sons, 2009.

[28] A. Ben-Tal and A. Nemirovski, “Robust solutions of uncertain linear programs,” Op- erations Research Letters, vol. 25, pp. 1–13, 1999.

[29] ——, “Robust optimization - methodology and applications,” Mathematical Program- ming, vol. 92, pp. 453–480, 2002.

[30] D. Bertsimas, D. Brown, and C. Caramanis, “Theory and applications of robust opti- mization,” SIAM review, vol. 53, no. 3, pp. 464–501, 2011.

[31] D. Bertsimas and M. Sim, “Robust discrete optimization and network flows.” MATH- EMATICAL PROGRAMMING, vol. 98, no. 1-3, pp. 49 – 71, 2003.

[32] ——, “The price of robustness.” Operations Research, vol. 52, no. 1, pp. p35 – 53, 2004. 358 BIBLIOGRAPHY

[33] J. Birge and F. Louveaux, Introduction to stochastic programming, first edition ed. Springer Verlag, 1997.

[34] ——, Introduction to stochastic programming, revised ed. Springer, 2011.

[35] S. Bisaillon, J.-F. Cordeau, G. Laporte, and F. Pasin, “A large neighbour- hood search heuristic for the aircraft and passenger recovery problem,” 2009, http://neumann.hec.ca/chairedistributique/common/roadef-arp.pdf.

[36] S. Bisaillon, J. Cordeau, G. Laporte, and F. Pasin, “A large neighbourhood search heuristic for the aircraft and passenger recovery problem,” 4OR: A Quarterly Journal of Operations Research, vol. 9, no. 2, pp. 139–157, 2011.

[37] S. Bratu and C. Barnhart, “Flight operations recovery: New approaches considering passenger recovery,” Journal of Scheduling, vol. 9, pp. 279–298, 2006.

[38] E. K. Burke, P. D. Causmaecker, G. D. Maere, J. Mulder, M. Paelinck, and G. V. Berghe, “A multi-objective approach for robust airline scheduling,” Computers & Operations Research, vol. 37, no. 5, pp. 822 – 832, 2010, ¡ce:title¿Disruption Management¡/ce:title¿. [Online]. Available: http://www.sciencedirect.com/science/ article/pii/S0305054809000896

[39] V. Cacchiani, A. Caprara, L. Galli, L. Kroon, G. Maroti,´ and P. Toth, “Railway rolling stock planning: Robustness against large disruptions,” Transportation Science, vol. 46, no. 2, pp. 217–232, 2012.

[40] M. Christiansen and B. Nygreen, Column Generation. Springer, 2005, ch. Robust In- ventory Ship Routing by Column Generation, pp. 197–224.

[41] L. Clarke, C. Hane, E. Johnson, and G. Nemhauser, “Maintenance and crew consider- ations in fleet assignment,” Transportation Science, vol. 30, pp. 249–260, 1996.

[42] L. Clarke, E. Johnson, G. Nemhauser, and Z. Zhongxi, “The aircraft rotation problem.” Annals of Operations Research, vol. 69, no. 1-4, pp. 33 – 46, 1997.

[43] J. Clausen, A. Larsen, J. Larsen, and N. J. Rezanova, “Disruption management in the airline industry- concepts, models and methods,” Computers and Operations Research, vol. 37, pp. 809–821, 2010. BIBLIOGRAPHY 359

[44] W. G. Cochran, “The chi-squared goodness of fit,” The Annals of Mathematical Statistics, vol. 23, pp. 315–345, 1952.

[45] A. Cohn and M. Lapp, Wiley Encyclopedia of Operations Research and Management Sci- ence. Wiley, 2010, ch. Airline Resource Scheduling.

[46] A. M. Cohn and C. Barnhart, “Improving crew scheduling by incorporating key main- tenance routing decisions.” Operations Research, vol. 51, no. 3, pp. p387 –, 2003.

[47] M. Conforti, G. Cornuejols, A. Kapoor, and K. Vuskovic, “Perfect, ideal and balanced matrices,” European Journal of Operational Research, vol. 133, pp. 455–461, 2001.

[48] J. Conlisk, “Monotone mobility matrices.” Journal of Mathematical Sociology, vol. 15, no. 3/4, pp. 173 – 191, 1990.

[49] G. A. Croes, “A method for solving travelling salesman problems,” Operations Re- search, vol. 6, pp. 791–812, 1958.

[50] J. Darlay, L.-P. Kronek, S. Schrenk, and L. Saourar, “Une approche heuristique pour la gestion de perturbation dans le domaine aerien,” in ROADEF, 2009.

[51] R. Dekker, “Applications of maintenance optimization models: a review and analy- sis,” Reliability Engineering & System Safety, vol. 51, no. 3, pp. 229–240, 1996.

[52] R. DEKKER, R. P. PLASMEIJER, and J. H. SWART, “Evaluation of a new maintenance concept for the preservation of highways,” IMA Journal of Management Mathematics, vol. 9, no. 2, pp. 109–156, 1998. [Online]. Available: http: //imaman.oxfordjournals.org/content/9/2/109.abstract

[53] G. Desaulniers, J. Desrosiers, Y. Dumas, S. Marc, B. Rioux, M. Solomon, and F. Soumis, “Crew pairing at air france,” European Journal of Operational Research, vol. 97, pp. 245– 249, 1997.

[54] G. Desaulniers and J. Desrosiers, Eds., Column Generation. Springer, 2005.

[55] G. Desaulniers, J. Desrosiers, and M. M. Solomon, “Accelerating strategies in column generation methods for vehicle routing and crew scheduling problems,” Essays and 360 BIBLIOGRAPHY

Surveys in Metaheuristics, Operations Reserach / Computer Science Interfaces Series, vol. 15, pp. 309–324, 2002.

[56] M. Desrochers and F. Soumis, “A generalized permanent labelling algorithm for the shortest path problem with time windows,” INFOR, vol. 26, p. 191, 1988.

[57] S. Dickson, O. Smith, and W. Li, “Challenge roadef 2009: Disruption management for commecrial aviation, a mixed integer programming approach,” in ROADEF 2009, Nancy, France, 2009.

[58] S. Dickson and N. Boland, “Robust airline scheduling: Improving schedule robust- ness with flight re-timing and aircraft swapping,” in 20th International Symposium on Mathematical Programming, 2009.

[59] S. Dickson, W. Li, M. Wallace, and N. Boland, “Mixed integer programming ap- proaches for disruption management in commercial aviation,” submitted to Comput- ers & Operations Research, under review.

[60] E. W. Dijkstra, “A note on two problems in connexion with graphs,” Numerische Math- ematik, vol. 1, pp. 269–271, 1959.

[61] I. Dovica, R. Borndorfer, I. Nowak, and T. Schickinger, “Robust tail assignment,” May 2010, anna Valicek Medal Finalist, 2010.

[62] O. du Merle, D. Villeneuve, J. Desrosiers, and P. Hansen, “Stabilized column genera- tion,” Discrete Mathemetics, pp. 229–237, 1999.

[63] Y. Dumas, J. Desrochers, and F. Sou, “The pickup and delivery problem with time windows,” European Journal of Operational Research, vol. 54, pp. 7–22, 1991.

[64] I. Dumitrescu, “Constrained path and cycle problems,” Ph.D. dissertation, Depart- ment of Mathematics and Statistics, The University of Melbourne, 2002.

[65] I. Dumitrescu and N. L. Boland, “Improved preprocessing, labeling and scaling al- gorithms for the weight-constrained shortest path problem,” Networks, vol. 42, pp. 135–153, 2003. BIBLIOGRAPHY 361

[66] M. Dunbar and G. Froyland, “Robust airline schedule planning: Minimizing propa- gated delay in an integrated routing and crewing framework,” May 2010, anna Val- icek Medal entrant 2010.

[67] M. Dunbar, G. Froyland, and C.-L. Wu, “Robust airline schedule planning: Minimiz- ing propagated delay in an integrated routing and crewing framework,” Transporta- tion Science, vol. 46, no. 2, pp. 204–216, 2012.

[68] N. Eggenberg and M. Salani, “Airline disruption recovery - roadef challenge 2009,” in ROADEF 2009, Nancy, France, 2009.

[69] N. Eggenberg, “Combining robustness and recovery for airline schedules,” Ph.D. dis- sertation, Ecole Plolytechnique Federale de Lausanne, 2009.

[70] N. Eggenberg, M. Salani, and M. Bierlaire, “Constraint-specific recovery networks for solving airline recovery problems,” Computers & Operations Research, vol. 37, no. 6, pp. 1014–1026, 2010.

[71] ——, “Uncertainty feature optimization: an implicit paradigm for problems with noisy data,” Networks, vol. 57, no. 3, pp. 270–284, 2011.

[72] C. Eggermont, M. Firat, C. Hurkens, and M. Modelski, “Roadef 2009 challenge: De- scription of the tue solution method,” in ROADEF 2009, Nancy, France, 2009.

[73] M. Ehrgott, “A discussion of scalarization techniques for multiple objective integer programming,” Annals of Operations Research, vol. 147, pp. 343–360, 2006.

[74] M. Ehrgott and A. Rau, “Bicriteria cost versus service analysis of a distribution net- work - a case study,” Journal of Multi-Criteria Decision Analysis, vol. 8, pp. 256–267, 1999.

[75] M. Ehrgott and D. M. Ryan, “Constructing robust crew schedules with bicriteria opti- mization,” Journal of Multi-Criteria Decision Analysis, vol. 11, no. 3, pp. 139–150, 2002.

[76] I. Elhallaoui, D. Villeneuve, F. Soumis, and G. Desaulniers, “Dynamic aggregation of set-partitioning constraints in column generation,” Operations Research, vol. 53, no. 4, pp. 632–645, July-August 2005. 362 BIBLIOGRAPHY

[77] D. Feillet, P. Dejax, M. Gendreau, and C. Gueguen, “An exact algorithm for the ele- mentary shortest path problem with resource constraints: application to some vehicle routing problems,” Networks, vol. 44, pp. 216–229, 2004.

[78] M. Fischetti, A. Lodi, S. Martello, and P. Toth, “A polyhedral approach to simplified crew scheduling and vehicle scheduling problems,” Management Science, vol. 47, pp. 833–850, 2001.

[79] L. R. Ford and D. Fulkerson, Flows in Networks. Princeton University Press, 1962.

[80] J. Forrest and D. Goldfarb, “Steepest-edge simplex algorithms for linear program- ming,” Mathematical Programming, vol. 57, no. 1-3, pp. 341–374, 1992.

[81] P. Francis, K. Smilowitz, and M. Tzur, “Flexibility and complexity in periodic distri- bution problems,” Naval Research Logistics (NRL), vol. 54, no. 2, pp. 136–150, 2007.

[82] R. Freling, A. P. M. Wagelmans, and J. M. P. Paixao, “Models and algorithms for single- depot vehicle scheduling,” Transportation Science, vol. 35, pp. 165–180, 2001.

[83] B. Fuhr, “Robust flight scheduling - an analytic approach to performance evalua- tion and optimization,” Clausthal University of Technology, Airlines, Tech. Rep., 2007.

[84] H.-S. Gan and A. Wirth, “Comparing deterministic, robust and online scheduling us- ing entropy,” International Journal of Production Research, vol. 43, pp. 2113–2134, 2005.

[85] M. Gendreau, G. Laporte, and R. Sguin, “Stochastic vehicle routing,” European Journal of Operational Research, vol. 88, pp. 3–12, 1996.

[86] F. R. Giles and W. R. Pulleyblank, “Total dual integrality and integer polyhedra,” Lin- ear Algebra and its Applications, vol. 25, pp. 191–196, 1979.

[87] P.Gilmore and R. Gomory, “A linear programming approach to the cutting stock prob- lem,” Operations Research, vol. 9, pp. 849–859, 1961.

[88] ——, “A linear programming approach to the cutting stock problem: Part ii,” Opera- tions Research, vol. 11, pp. 863–888, 1963.

[89] F. Glover, “Tabu search: Part i,” ORSA Journal on Computing, vol. 1, pp. 190–206, 1989. BIBLIOGRAPHY 363

[90] ——, “Tabu search: Part ii,” ORSA Journal on Computing, vol. 2, pp. 4–32, 1990.

[91] D. E. Goldberg, Genetic Algorithms in Search, Optimization, and Machine Learning. Addison-Wesley, 1989.

[92] P. E. Greenwood and M. S. Nikulin, A Guide to Chi-Squared Testing. Wiley Interscience, 1996.

[93] M. Groenkvist, “Accelerating column generation for aircraft scheduling using con- straint propagation,” Computers & Operations Research, vol. 33, pp. 2918–2934, 2006.

[94] Q. Group, “2013 annual report,” Qantas Group, Tech. Rep., 2013.

[95] P. Harris, “Pivot selection methods of the devex lp code,” Mathematical Programming, vol. 5, no. 1, pp. 1–28, 1973.

[96] I. Heller and C. P. Tompkins, “An extension of a theorem of dantzig’s,” Linear Inequal- ities and Related Systems, Annals of Mathematics Studies, vol. 38, p. 247254, 1956.

[97] A. J. Hoffman and J. B. Kruskall, “Integral boundary points of convex polyhedra,” Linear Inequalities and Related Systems, vol. 38, pp. 223–246, 1956.

[98] A. Hoffman, “A generalization of max flow-min cut,” Mathematical Programming, vol. 6, pp. 352–359, 1974.

[99] J. H. Holland, Adaptation in Natural and Artificial Systems. University of Michigan Press, 1975.

[100] L. Ioachim, J. Desrosiers, Y. Dumas, M. M. Solomon, and D. Villeneuve, “A request clustering algorithm for door-to-door handicapped transportation,” Transportation Science, vol. 29, pp. 63–79, 1995.

[101] A. I. Z. Jarrah, G. Yu, N. Krishnamurthy, and A. Rakshit, “A decision support frame- work for airline flight cancellations and delays,” Transportation Science, vol. 27, pp. 266–280, 1993.

[102] N. Jozefowiez, C. Mancel, and F. Mora-Camino, “Approche heuristique pour la ges- tion de perturbations dans le domaine aerien,” in ROADEF, 2009. 364 BIBLIOGRAPHY

[103] T. Kanungo, D. Mount, N. Netanyahu, C. Piatko, R. Silverman, and A. Wu, “An ef- ficient k-means clustering algorithm: analysis and implementation,” Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol. 24, no. 7, pp. 881 –892, jul 2002.

[104] J. Keilson and A. Kester, “Monotone matrices and monotone markov processes,” Stochastic Processes and their Applications, vol. 5, no. 3, pp. 231 – 241, 1977. [Online]. Available: http://www.sciencedirect.com/science/article/pii/0304414977900333

[105] S. Kirkpatrick, J. C.D. Gelatt, and M. Vecchi, “Optimization by simulated annealing,” Science, vol. 220, pp. 671–680, 1983.

[106] N. Kohl, A. Larsen, J. Larsen, A. Ross, and S. Tiourine, “Airline disruption management–perspectives, experiences and outlook,” Journal of Air Transport Man- agement, vol. 13, pp. 149–162, May 2007.

[107] P. Kouvelis and G. Yu, Robust discrete optimization and its applications. Springer, 1996, vol. 14.

[108] E. Lacasse-Guay, G. Desaulniers, and F. Soumis, “Aircraft routing under different business processes,” Journal of Air Transport Management, vol. 16, no. 5, pp. 258–263, 2010.

[109] S. Lan, “Planning for robust airline operations: Optimizing aircraft routings and flight departure times to achieve minimum passenger disruptions,” Ph.D. dissertation, MIT, 2003.

[110] S. Lan, J.-P. Clarke, and C. Barnhart, “Planning for robust airline operations: Optimiz- ing aircraft routings and flight departure times to minimize passenger disruptions.” Transportation Science, vol. 40, no. 1, pp. p15 – 28, 2006.

[111] A. H. Land and A. Doig, “An automatic method for solving discrete programming problems,” Econometrica, vol. 28, pp. 497–520, 1960.

[112] E. L. Lawler and D. E. Wood, “Branch-and-bound methods: A survey,” Operations research, vol. 14, no. 4, pp. 699–719, 1966. BIBLIOGRAPHY 365

[113] T. C. Lee, G. G. Judge, and A. Zellner, “Maximum likelihood and bayesian estimation of transition probabilities,” Journal of the American Statistical Association, vol. 63, p. 324, 1968.

[114] V. J. Leon, S. D. Wu, and R. H. Storer, “Robustness measures and robust scheduling for job shops,” IIE Transactions, vol. 26, pp. 32–43, 1994.

[115] L. Lettovsk, “Airline operations recovery, an optimisation approach,” Ph.D. disserta- tion, Georgia Institute of Technology, 1997.

[116] J. Lever, “Resource allocation: a pre-processing role for constraint programming,” in Proceedings of the Practical Applications of Constraint Technology, PACT 1996, M. G. Wallace, Ed., London, 1996, pp. 169–178.

[117] C. Liebchen, M. Lubbecke,¨ R. Mohring,¨ and S. Stiller, “The concept of recoverable robustness, linear programming recovery, and railway applications,” Robust and online large-scale optimization, pp. 1–27, 2009.

[118] S. P. Lloyd, “Least squares quantization in pcm,” IEEE Transactions on Information The- ory, vol. 28, pp. 129–137, 1982.

[119] L. Lovasz, “Normal hypergraphs and the perfect graph conjecture,” Discrete Math- emetics, vol. 2, pp. 253–267, 1972.

[120] M. E. Lubbecke and J. Desrosiers, “Selected topics in column generation,” GERAD, Tech. Rep. G-2002-64, 2002.

[121] ——, “Selected topics in column generation,” Operations Research, vol. 53, pp. 1007– 1023, 2005.

[122] S. Luo and G. Yu, “On the airline schedule perturbation problem caused by the ground delay program,” Transportation Science, vol. 31, pp. 298–311, 1997.

[123] R. Mansi, S. Hanafi, C. Wilbaut, and F. Clautiaux, “Disruptions in the airline industry: math-heuristics for re-assigning aircraft and passengers simultaneously,” 2009.

[124] R. Marsten, W. Hogan, and J. Blankenship, “The boxstep method for large-scale opti- miszation,” Operations Research, vol. 23, pp. 389–405, 1975. 366 BIBLIOGRAPHY

[125] F. S. Michel Gamache and G. Marquis, “A column generation approach for large-scale aircrew rostering problems,” Operations Research, vol. 47, pp. 247–263, 1999.

[126] D. Moazami, H. Behbahani, and R. Muniandy, “Pavement rehabilitation and main- tenance prioritization of urban roads using fuzzy logic,” Expert Systems with Applica- tions, vol. 38, no. 10, pp. 12 869–12 879, 2011.

[127] J. Mulder, R. Dekker, and M. Sharifyazdi, “Designing robust liner shipping schedules: Optimizing recovery actions and buffer times,” Report/Econometric Institute, Erasmus University Rotterdam, pp. 1–24, 2012.

[128] J. M. Mulvey, R. J. Vanderbei, and S. A. Zenios, “Robust optimization of large-scale systems.” Operations Research, vol. 43, no. 2, pp. p264 – 281, 1995.

[129] G. L. Nemhauser and L. A. Wolsey, Integer and Combinatorial Optimization. Wiley- Interscience, 1999.

[130] J. J. Ortiz-Garc´ıa, S. B. Costello, and M. S. Snaith, “Derivation of transition probability matrices for pavement deterioration modeling,” Journal of Transportation Engineering, vol. 132, no. 2, pp. 141–161, 2006.

[131] R. L. Ott, An Introduction To Statistical Methods and Data Analysis, K. Lozyniak and S. Krikorian, Eds. Duxbury Press, 1993.

[132] M. W. Padberg, “Perfect zero-one matrices,” Mathematical Programming, vol. 6, pp. 180–196, 1974.

[133] M. Palpant, M. Boudia, C.-A. Robelin, S. Gabteni, and F. Laburthe, “Roadef 2009 challenge: Disruption management for commercial aviation,” 2008. [Online]. Available: http://challenge.roadef.org/2009/files/challenge en.pdf

[134] C. H. Papadimitriou, “On the complexity of integer programming,” Journal of the ACM (JACM), vol. 28, no. 4, pp. 765–768, 1981.

[135] J. Peekstok and E. Kuipers, “Roadef 2009 challenge: Use of a simulated annealing- based algorithm in disruption management for commercial aviation,” in ROADEF 2009, Nancy, France, 2009. BIBLIOGRAPHY 367

[136] J. M. Pena, J. A. Lozano, and P. Larranaga, “An empirical comparison of four initial- ization methods for the¡ i¿ k¡/i¿-means algorithm,” Pattern recognition letters, vol. 20, no. 10, pp. 1027–1040, 1999.

[137] S. Reiter and G. Sherman, “Discrete optimizing,” Journal Society of Industrial and Ap- plied Mathematics, vol. 13, pp. 864–889, 1965.

[138] B. Rexing, C. Barnhart, T. Kniker, A. Jarrah, and N. Krishnamurthy, “Airline fleet assignment with time windows,” Transportation Science, vol. 34, pp. 1–20, 2000.

[139] C. C. Ribeiro and F. Soumis, “A column generation approach to the multiple-depot vehicle scheduling problem,” Operations Research, vol. 42, pp. 41–52, 1994.

[140] J. M. Rosenberger, E. L. Johnson, and G. L. Nemhauser, “Rerouting aircraft for airline recovery.” Transportation Science, vol. 37, no. 4, pp. p408 – 421, 2003.

[141] ——, “A robust fleet-assignment model with hub isolation and short cycles.” Trans- portation Science, vol. 38, no. 3, pp. p357 – 368, 2004.

[142] L.-M. Rousseau, M. Gendreau, and D. Feillet, “Interior point stabilisation for column generation,” Operations Research Letters, vol. 35, pp. 660–668, 2007.

[143] D. M. Ryan and B. A. Foster, “An integer programming approach to scheduling,” Computer Scheduling of Public Transport: Urban Passenger Vehicle and Crew Scheduling, pp. 269–280, 1981.

[144] M. Savelsbergh and M. Sol, “Drive: Dynamic routing of independent vehicles,” Oper- ations Research, vol. 46, no. 4, pp. 474–490, Jul-Aug 1998.

[145] A. J. Schaefer, E. L. Johnson, A. J. Kleywegt, and G. L. Nemhauser, “Airline crew scheduling under uncertainty,” TRANSPORTATION SCIENCE, vol. 39, no. 3, pp. 340–348, 2005. [Online]. Available: http://transci.journal.informs.org/cgi/content/ abstract/39/3/340

[146] A. Schrijver, “On total dual integrality,” Linear Algebra and Its Applications, vol. 38, pp. 27–32, 1981.

[147] ——, Theory of Linear and Integer Programming. Wiley, 1998. 368 BIBLIOGRAPHY

[148] M. Shaked and J. G. Shanthikumar, Stochastic Orders and Their Applications. Academic Press, 1994.

[149] S. Shebalov and D. Klabjan, “Robust airline crew pairing: Move-up crews,” TRANSPORTATION SCIENCE, vol. 40, no. 3, pp. 300–312, 2006. [Online]. Available: http://transci.journal.informs.org/cgi/content/abstract/40/3/300

[150] B. C. Smith and E. L. Johnson, “Robust airline fleet assignment: Imposing station purity using station decomposition.” Transportation Science, vol. 40, no. 4, pp. p497 – 516, 2006.

[151] O. J. Smith, “Network problems in airline scheduling,” Ph.D. dissertation, The Uni- versity of Melbourne, 2011.

[152] M. Sniedovich, “Dijkstra’s algorithm revisited: the dynamic programming connex- ion,” Control and Cybernetics, vol. 35, pp. 599–620, 2006.

[153] M. Stalhane, H. Andersson, M. Christiansen, J.-F. Cordeau, and G. Desaulniers, “A branch-price-and-cut method for a ship routing and scheduling problem with split loads,” Computers & OR, vol. 39, no. 12, pp. 3361–3375, 2012.

[154] S. Stiller, “Extending concepts of reliability,” Ph.D. dissertation, PhD thesis, TU Berlin, 2008.

[155] K. T. Talluri, “Swapping applications in a daily airline fleet assignment,” Transporta- tion Science, vol. 30, pp. 237–248, 1996.

[156] D. Teodorovic and G. Stojkovic, “Model for operational daily airline scheduling,” Transportation Planning and Technology, vol. 14, pp. 273–285, 1990.

[157] P. R. U. The University of Westminster, “Evaluating the true cost to airlines of one minute of airborne or ground delay,” Report Commissioned by the Performance Re- view Commission, Eurocontrol, Tech. Rep., 2004.

[158] B. G. Thengvall, J. F. Bard, and G. Yu, “Balancing user preferences for aircraft schedule recovery during irregular operations,” IIE Transactions, vol. 32, pp. 181–193, 2000. BIBLIOGRAPHY 369

[159] S. K. Thompson, “Sample size for estimating multinomial proportions,” The American Statistician, vol. 41, pp. 42–46, 1987.

[160] About us - tigerair fleet. Tiger Air. Accessed 6th October 2013, 6:05 pm. [Online]. Available: http://www.tigerair.com/sg/en/about us.php

[161] V. Tran, G. Reinelt, and H. Bock, “Boxstep methods for crew pairing problems,” Opti- mization and Engineering, vol. 7, pp. 33–46, 2006.

[162] F. Vanderbeck, “Computational study of a column generation algorithm for bin pack- ing and cutting stock problems,” Mathematical Programming, vol. 86, pp. 565–594, 1999.

[163] F. VANDERBECK, “Decomposition and column generation for integer programs,” Ph.D. dissertation, Louvain-la-Neuve: UCL. Facult des sciences appliques, 1994.

[164] F. Vanderbeck and L. A. Wolsey, “Reformulation and decomposition of integer pro- grams,” in 50 Years of Integer Programming. Springer, 2009.

[165] Our fleet. Virgin Australia. Accessed 6th October 2013, 6:03pm. [Online]. Available: www.virginaustralia.com/au/en/experience/on-board-the-flight/our-fleet/

[166] T. Watanabe and H. Ellis, “Robustness in stochastic programming models,” Applied Mathematical Modelling, vol. 17, no. 10, pp. 547 – 554, 1993. [Online]. Available: http://www.sciencedirect.com/science/article/pii/0307904X9390084T

[167] O. Weide, D. Ryan, and M. Ehrgott, “An iterative approach to robust and integrated aircraft routing and crew scheduling,” Computers & Operations Research, vol. 37, pp. 833–844, 2010.

[168] M. P. Wellman, M. Ford, and K. Larson, “Path planning under time-dependent un- certainty,” in UAI’95 Proceedings of the Eleventh conference on Uncertainty in artificial integlligence, 1995.

[169] W. Winston, Operations Research: Applications and Algorithms. Duxbury Press, 2004.

[170] L. A. Wolsey, Integer Programming. John Wiley & Sons, 1998. 370 BIBLIOGRAPHY

[171] C.-L. Wu, Airline Operations and Delay Management: Insights from Airline Economics, Networks and Strategic Schedule Planning. Ashgate Publishing, 2010, ch. Robust Airline Scheduling and Operational Reliability, pp. 201–224.

[172] ——, Airline Operations and Delay Management: Insights from Airline Economics, Net- works and Strategic Schedule Planning. Ashgate Publishing, 2010.

[173] ——, Airline Operations and Delay Management: Insights from Airline Economics, Net- works and Strategic Schedule Planning. Ashgate Publishing, 2010, ch. Managing Airline Ground Operations, pp. 13–62.

[174] ——, Airline Operations and Delay Management: Insights from Airline Economics, Net- works and Strategic Schedule Planning. Ashgate Publishing, 2010, ch. Delay Manage- ment and Disruption Management, pp. 165–200.

[175] ——, Airline Operations and Delay Management: Insights from Airline Economics, Net- works and Strategic Schedule Planning. Ashgate Publishing, 2010, ch. Managing Airline Ground Operations, pp. 63–116.

[176] ——, Airline Operations and Delay Management: Insights from Airline Economics, Net- works and Strategic Schedule Planning. Ashgate Publishing, 2010, ch. Enroute Flight Operations in Airline Networks, pp. 117–164.

[177] S. Yan and Y. ping Tu, “Multifleet routing and multistop flight scheduling for schedule perturbation,” European Journal of Operational Research, vol. 103, pp. 155–169, 1997.

[178] J. W. Yen and J. R. Birge, “A stochastic programming approach to the airline crew scheduling problem,” TRANSPORTATION SCIENCE, vol. 40, no. 1, pp. 3–14, 2006. [Online]. Available: http://transci.journal.informs.org/cgi/content/abstract/40/1/ 3

Minerva Access is the Institutional Repository of The University of Melbourne

Author/s: Dickson, Sophie Kenrick

Title: Robust airline scheduling and disruption management

Date: 2013

Persistent Link: http://hdl.handle.net/11343/40764

File Description: Robust airline scheduling and disruption management