2 Flight perturbation Fact: Perturbations (some airplane suddenly unavailable) in ﬂight schedules occur. Causes: meteorological conditions congestion at the airport (also poor gate assignment schedule) late or absent crew members hiccups in boarding of passengers or in loading of cargo sudden war / terrorist threat

3 Flight perturbation How can we minimize our losses? Some of the previous research: local improvements of ﬂight scheduling minimization of total passenger delay (nonlinear integer problem, diﬃcult to solve for large instances) development of greedy heuristics (minimizing ﬁrst the number of cancelled ﬂights, then the overall passenger delay) time-space framework and successive shortest path to cancel a series of ﬂights (no indication on when we can resume normal operations, only feasible solution for shortage of more than one aircraft)

4 Flight perturbation Problem: all of these solutions consider only single ﬂeets (one type of airplane). In reality there are several types of airplanes which can support each other (i.e. an idle large aircraft can serve ﬂights scheduled for a missing small airplane, but not the other way around). Our model: BMSPM (Basic Multiﬂeet Schedule Perturbation Model)

5 The framework Initial information: Regular schedule Incident informations Whereabouts of available aircraft Allow ﬂight cancellation and construct BMSPM

5 The framework Initial information: Regular schedule Incident informations Whereabouts of available aircraft Allow ﬂight cancellation and construct BMSPM Solution of the problem (LRS)

5 The framework Initial information: Regular schedule Incident informations Whereabouts of available aircraft Allow ﬂight cancellation and construct BMSPM Solution of the problem (LRS) Is our solution satisfac- tory?

5 The framework Initial information: Regular schedule Incident informations Whereabouts of available aircraft Allow ﬂight cancellation and construct BMSPM Selection of additional strategies: Delay of ﬂights Ferry of spare aircraft Multistop ﬂight modiﬁcation Network modiﬁcation Solution of the problem (LRS) Is our solution satisfac- tory? no

5 The framework Initial information: Regular schedule Incident informations Whereabouts of available aircraft Allow ﬂight cancellation and construct BMSPM Selection of additional strategies: Delay of ﬂights Ferry of spare aircraft Multistop ﬂight modiﬁcation Network modiﬁcation Solution of the problem (LRS) Is our solution satisfac- tory? Schedule ﬂights no yes

6 Singleﬂeet time-space network Assumption: for simplicity, only one plane is suddenly unavailable. The pertubation is characterized by: starting time: the airplane becomes unavailable recovery time: the airplane is back (e.g. repaired) ending time: the regular schedule resumes We construct a multicommodity ﬂow network (multiple supply/demand nodes).

7 Singleﬂeet time-space network Nodes: (1) initial supply: airplanes at airport at starting time (2) intermediate supply: airplanes ﬂying at starting time, recovered airplane (3) intermediate demand: airplane ﬂying at ending time (4) ﬁnal demand: airplane at airport at ending time

8 Singleﬂeet time-space network Arcs: (5) position arc: the planes travels empty (deadhead) (6) ﬂight arc: normal ﬂight with passenger (7) ground arc: the airplane remains on ground (8) overnight arc: the airplane remains on ground for the night

10 Multiﬂeet time-space network A singleﬂeet time-space net- work for each type of aircraft. More types of edges for big- ger airplanes (they can per- form also the duties of smaller ones). Example on the left: one plane of type B is unavailable.

11 Multiﬂeet time-space network Remarks on BMSPM: Using a large aircraft instead of a smaller one can have additional costs (e.g. changing gate/crew) that should be taken into account in the cost of the edge. Once we have constructed our network, we proceed by computing a minimum integer cost ﬂow: since we consider passenger revenues to be negative, we are eﬀectively maximizing the total proﬁt.

12 Additional strategies Problem: Just cancelling the ﬂight of the unavailable airplane may be too expensive. We add ﬂexibility to our model by allowing: delay of ﬂights ferrying of idle aircrafts modiﬁcation of multistop ﬂights

13 Additional strategies: delay of ﬂights We modify the network by adding sliding arcs: (1) Alternative delayed ﬂight arc (2) Set of alternative ﬂights

14 Additional strategies: delay of ﬂights Parameters of these arcs: similar to the original ones but with additional delay costs and potential losses of passenger revenues. Additional constraints: at most one ﬂight among these alternatives can be chosen. The number of sliding arcs can be set independently for each ﬂight: trade-oﬀ between the added ﬂexibility and the increased size of the problem usually set according to carrier experience and needs

15 Additional strategies: ferrying of idle airplanes Whenever a plane is idle (i.e. uses a ground arc) we might consider to bring it some- where else to load and trans- port passengers. We add more position arcs to our networks: same costs and capacities as before. No additional side constraints needed.

16 Additional strategies: multistop ﬂight modiﬁcation Multistop ﬂights: obtained by adding “one stop” arcs. We go from i to j, stop brieﬂy, and then go to k. We can still perform independent ﬂights, but if we join them in a multistop ﬂight we obtain an ad- ditional revenue (less charges).

17 Additional strategies: multistop ﬂight modiﬁcation As an additional strategy to solve our problem, we add the edge ik, allowing also a direct ﬂight between the two airports (i.e. we cancel the stop in j). New constraints: at most one choice between ik and ijk ﬂights from i to a and from b to k must be served at most once

18 Solution of the problem: LRS Issues of the problem: integer multi-commodity network ﬂow problem is NP-hard we want quickly a “good enough” solution to cope with emergency of unavailable ﬂight(s) Our strategy: Lagrangean Relaxation with Subgradient methods (LRS) fast convergence eﬃcient allocation of memory space

19 Lagrangean Relaxation with Subgradient methods The LRS works as follows: 1) Find a lower bound using Lagrangean relaxation; 2) Find an upper bound (feasible solution) starting from the lower one; 3) Reduce the gap between the bounds by modifying the Lagrangean multiplier, using a subgradient method.

20 LRS: Lower bound We use Lagrangean relaxation for the side constraints. The Lagrangean problem can then be decomposed into several independent network ﬂow subproblems, and solved with the eﬃcient network simplex method. The optimal objective of such subproblems is a lower bound on our original one.

21 LRS: Upper bound We start from the lower bound, typically unfeasible, and use a shortest path algorithm to ﬁnd a least cost ﬂow augmenting circuit passing a speciﬁed arc. If we have an unfeasible solution, then there must be (at least) a side constraint (a bundle of arcs) violated, so more than one arc in this bundle has 1 unit of ﬂow. For all those violated constraints: 1) we specify one arc between those with the largest cost (after being modiﬁed by the Lagrangean relaxation) and reduce the ﬂow to 0. 2) to maintain ﬂow conservation, we ﬁnd a least cost ﬂow augmenting path from the arc tail to the arc head and augment a unit of ﬂow troughout the path. 3) If the side constraint is not yet satisﬁed, we repeat the procedure. The networks are designed to have feasible solutions, so we can always ﬁnd an initial upper bound.

22 Obtaining the ﬁnal schedule After we solved the problem we have a good enough “ﬂeet ﬂow”. We can use a ﬂow decomposition al- gorithm to decompose the link ﬂows into arc chains, each representing the route of one airplane in the perturbed period (routes are not unique). To reﬁne the solution we can employ other choices (which depend on the case considered) to get these routes: e.g. “ﬁrst in, last out” for some plane that may need extra mainte- nance between ﬂights.

23 Case study Based on data from a major Taiwan airline’s international operations (China Airlines) of 1993. Data: 24 cities weekly timetable 273 ﬂights ( 20% onestop) Resulting problem size: 8635 nodes, 34067 arcs. Results: Most of the models converged to 1% gap in less than 30 minutes. Four simpler models optimized within a minute