A column generation post-optimization heuristic for the integrated aircraft and passenger recovery problem

A column generation post-optimization heuristic for the integrated aircraft and passenger recovery problem

Computers & Operations Research 65 (2016) 42–52 Contents lists available at ScienceDirect Computers & Operations Research journal homepage: www.else...

543KB Sizes 0 Downloads 33 Views

Computers & Operations Research 65 (2016) 42–52

Contents lists available at ScienceDirect

Computers & Operations Research journal homepage: www.elsevier.com/locate/caor

A column generation post-optimization heuristic for the integrated aircraft and passenger recovery problem Karine Sinclair, Jean-François Cordeau, Gilbert Laporte n HEC Montréal and CIRRELT, 3000 chemin de la Côte-Sainte-Catherine, Montréal, Canada H3T 2A7

art ic l e i nf o

a b s t r a c t

Available online 2 July 2015

The use of hub-and-spoke networks by most major commercial airlines means that small disruptions can have a significant impact on their operational costs. These disruptions, such as delayed or cancelled flights, reduction in arrival and departure capacity, and unavailable crew or aircraft, occur frequently and when they do, airlines must recover their operations as quickly as possible. In this paper we model the joint aircraft and passenger recovery problem as a mixed integer program and we present a column generation post-optimisation heuristic to solve it. We also show how the model and the heuristic can be modified to consider passenger recovery only. The resulting heuristic improves the best known solutions for all instances of the 2009 ROADEF Challenge, within reasonable computing times. & 2015 Elsevier Ltd. All rights reserved.

Keywords: Airline recovery Fleet assignment Aircraft routing Passenger itineraries Column generation

1. Introduction Hub-and-spoke networks allow airlines to serve large markets with a limited number of flight legs. Therefore, most commercial airlines use such networks which ensure a very efficient use of critical resources. However, this implies that small disruptions can have a significant network-wide impact on planned operations. These disruptions can be caused by cancelled or delayed flights, unavailable crews or aircraft due to unplanned maintenance, or adverse weather conditions, which can force airport closures or limit the number of arrivals and departures. These disruptions can also have significant impact on the airlines’ operational costs. Ball et al. [5] estimated the total cost of US air transportation delays at $32.9 billion in 2007. When disruptions occur, the airlines must reestablish the planned schedule as quickly as possible, usually by the following day. The recovery period defines the time by which normal operations must resume. During this period, the airlines must plan the recovery operations for the aircraft, the crews and the passengers, and must also ensure that the aircraft and crews are positioned at the correct locations by the end of the recovery period in order to allow the planned schedule to resume. As for several other tactical planning problems, the size and the complexity of recovery problems imply that they are usually solved in a sequential manner. Since they need to be solved very quickly, usually within a few minutes, exact optimization is impractical. It is therefore common to apply decomposition

n

Corresponding author. E-mail addresses: [email protected] (K. Sinclair), [email protected] (J.-F. Cordeau), [email protected] (G. Laporte). http://dx.doi.org/10.1016/j.cor.2015.06.014 0305-0548/& 2015 Elsevier Ltd. All rights reserved.

heuristics in such contexts. The aircraft recovery problem is usually solved first and the crew recovery problem is handled in a second stage. Aircraft recovery operations can include cancelling flight legs, delaying flight legs, aircraft swapping and modifying aircraft rotations (Ball et al. [6]) . The objective of the aircraft recovery problem is to determine new aircraft rotations, while minimizing cancellation and delay costs and satisfying the maintenance constraints, the arrival and departure constraints, and the flow and locations constraints. There exists a rich literature on the aircraft recovery problem. Teodorović et al. [31] developed a network model that minimizes the total delay of passengers and solved the problem to optimality using a branch-and-bound heuristic. However no realistic instances could be solved through this approach. Jarrah et al. [17] used minimum-cost network models, one delay model and one cancellation model, and implemented an algorithm which solves the shortest path problem repeatedly in order to determine the necessary flows. A greedy randomized adaptive search procedure (GRASP) was also developed by Arguello et al. [4]. The algorithm is composed of a construction phase which arbitrarily selects a solution from a candidate list, examines neighbouring solutions and inserts the best one in the candidate list, followed by a local search phase. All the above authors solve the aircraft recovery problem for a homogeneous fleet. The heterogeneous fleet recovery problem was modeled by Cao et al. [9,10] as a quadratic programming program which considers delaying and cancelling flight legs. These authors applied an approximate linear programming algorithm proposed by Coleman and Hulburt [12] to solve the problem. Rosenberg et al. [27] modeled the aircraft recovery problem as a set packing problem and used an aircraft selection heuristic to determine a subset of aircraft in order to

K. Sinclair et al. / Computers & Operations Research 65 (2016) 42–52

reduce the size of the integer program. Eggenberg et al. [14] presented a constraint specific recovery network model which they solved by column generation. Dozić et al. [13] developed a heuristic that interchanges parts of rotations and returns a list of good solutions, while Xiuli et al. [32] presented a hybrid heuristic combining GRASP and Tabu search. After solving the aircraft recovery problem, the crew recovery problem can be solved by reassigning a subset of crews, deadheading crew members or using reserve crews. The objective of the crew recovery problem is to create new crew schedules while minimizing costs and the total number of schedule changes. Stojković et al. [30] presented the crew recovery problem as a set partitioning problem which they solved by a column generation method embedded within a branch-and-bound search tree. Lettovsky et al. [19] and Medard et al. [22] both formulated the problem as a set covering problem. The first authors applied a primal-dual subproblem simplex algorithm, while the second authors used depth-first tree search, reduced cost column generation and shortest path algorithms. Abdelganhy et al. [1] presented a mixed integer programming model and developed a rolling horizon approach which solves a sequence of optimization assignment problems. Other algorithms have also been applied to this problem (see, e.g., Nissen et al. [23] and Yu et al. [33]). Finally, the passenger recovery problem is solved by reassigning those passengers whose itineraries have been cancelled or modified by the disruptions. Zhang et al. [36] developed an integer linear program and discussed two schemes. In the first, flight legs are cancelled and passengers are transported by surface mode. In the second, alternative hubs are selected and ground transportation is used between the initial and the alternate hub. Bratu et al. [8] used network flow techniques to solve the passenger recovery problem. Solving the recovery problem in a sequential way typically leads to suboptimal solutions. Therefore considering the integrated recovery problem can yield substantial cost reductions for airlines. Petersen et al. [26] solved the integrated aircraft, crew and passenger recovery problem by means of a Benders decomposition scheme, with the scheduling problem as a master problem, and the aircraft, crew and passengers recovery problems as the subproblems. Zhang et al. [35] modeled the integrated problem as a set partitioning problem which they solved by means of a rolling horizon based algorithm. Other methods have been developed to solve two integrated recovery problems. Thus, for the joint aircraft and crew recovery problem, Luo et al. [20] modeled the problem as an integer linear program and applied a heuristic based on a restricted version of the model to solve it. Stojković et al. [30] developed a linear program model for this joint problem, whereas Abdelghany et al. [2] developed a multi-phase heuristic which integrates a simulation model and a resource assignment optimization model. As for the joint aircraft and passenger recovery problem, Zergodi et al. [34] presented an ant colony optimization algorithm that takes into consideration passenger delay and cancellation costs in the objective function, while Jafari et al. [15,16] presented a mixed integer programming model in which the variables represented aircraft rotations and passenger itineraries instead of flight legs. A detailed survey of the recovery problems can be found in Clausen et al. [11]. This paper presents a post-optimization heuristic for the joint aircraft and passenger recovery problem as defined by Palpant et al. [24] for the 2009 ROADEF Challenge. Nine teams took part in the final of this competition. The winning team, Bisaillon et al. [7], made use of a large neighbourhood search heuristic. The algorithms proposed by the remaining teams can be found on the web site http://chalenge.roadef.org/2009. Among these, only three teams were able to find the best solution for at least one instance. Mansi et al. [21], who came second, presented a two-stage

43

method. In the first stage, they attempted to find a feasible solution using mixed integer programming (MIP). If no feasible solution was found, a repair heuristic was applied. The second stage improved the solution by using an oscillation strategy that alternates between a constructive and a destructive phase. Peekstok et al. [25] who ranked sixth, developed a simulated annealing algorithm. Their algorithm accepts aircraft, airport and passenger infeasibilities which are handled by introducing a second term in the objective function. The cost of infeasibility is increased in order to force the algorithm to find a feasible solution. Jozefowiez et al. [18], who finished in seventh position, developed a three-phase heuristic. In the first phase, the disruptions are integrated in the schedule. Flight legs are removed and itineraries are cancelled in order to return a feasible solution. The second phase attempts to reassign disrupted passengers to the existing flight legs and in the final phase, additional flight legs are added to the aircraft rotations in order to reassign the remaining disrupted passengers. After the challenge, Acuna–Agost [3] presented a post-processing procedure combined with the three-phase heuristic of Jozefowiez et al. [18]. The problem was formulated as an integer programming model based on a minimum cost multi-commodity flow problem. Two algorithms were developed to reduce the number of variables and constraints by identifying incompatible or suboptimal network nodes for each commodity. The solution method was able to greatly improve the solutions obtained by Jozefowiez et al. [18]. Sinclair et al. [28] later presented a large neighbourhood search heuristic (LNS) based on that of Bisaillon et al. [7]. Several refinements were introduced in each phase so as to diversify the search. The resulting heuristic, which will be described in Section 4, provided the best solution for 21 of the 22 instances. The contribution of this paper is to present a column generation post-optimization heuristic which, when applied after the LNS heuristic of Sinclair et al. [28], leads to much improved solution costs within reasonable computing times. We show that the solution costs obtained within the 2009 ROADEF challenge time limit can be greatly improved by slightly increasing the allotted computing time. The problem is formulated as a mixed integer programming model but can be modified, along with the heuristic, so as to only consider passenger recovery. The remainder of the paper is organized as follows. The joint aircraft and passenger recovery problem is described in the following section while Section 3 presents the APRP model. Section 4 presents the solution methodology. Computational results are reported in Section 5, and conclusions follow in Section 6.

2. Problem description We now formally describe the aircraft and passenger recovery problem (APRP) considered in the 2009 ROADEF Challenge. Given a planned schedule which includes passenger itineraries and aircraft routes, and a set of disruptions, the objective of the joint aircraft and passenger recovery problem is to determine new aircraft routes and passenger itineraries in order to provide an alternate feasible plan and to allow the return to the planned schedule by the end of the recovery period. Before presenting the model we introduce some terminology. 2.1. Airports The airports form a node set N ¼ f1; …; ng where each node represents an airport at a specific time. For each airport iA N; aip and bip represent respectively the maximum number of arrivals and the maximum number of aircraft departures in the time interval p, a 60-min period beginning on the hour.

44

K. Sinclair et al. / Computers & Operations Research 65 (2016) 42–52

2.2. Aircraft The aircraft fleet operated by the airline forms a set F. Each aircraft f A F is defined by an identification number, a family, a model, a maximum number of flight hours left before maintenance, and a cabin configuration which gives the maximum seating capacity in each cabin class. Also, each aircraft is characterized by a minimum turnaround time, a transit time and a flight range. There are three cabin classes: economy, business and first, and capmf is the capacity of cabin class m on aircraft f . We denote by M the set of all cabin classes. Each aircraft f performs a rotation, which is a sequence of flight legs or connections between two flight legs at the same airport, represented by the arc set A ¼ fði; jÞ : i; j A N; i a jg. We define t ij as the flying time associated with each flight arc ði; jÞ, and OjðpÞ and I iðpÞ as the set of all arcs ði; jÞ arriving at node j during period p and as the set of all arcs ði; jÞ departing from node i during period p, respectively. The demand for aircraft f at node i is denoted by a binary coefficient dif . In addition, Bl represents the set of all aircraft l in the set L of aircraft families, T g represents the set of all aircraft of model g in the set G of aircraft models, and finally, V h represents the set of all aircraft with configuration h in the set H of aircraft configurations. Fig. 1 depicts how the set of aircraft F is partitioned into subsets of families B, of models T and of configurations V. Aircraft rotations must also satisfy continuity constraints, turnaround time constraints, maximum flight hours constraints and maintenance constraints. The latter constraints ensure that the right aircraft is located at the planned maintenance airport at the required time, whereas turnaround time constraints ensure that the time between two consecutive flight legs in a rotation is at least as large as the turnaround time. Finally, the maximum flight hours constraints ensure that the total flying time of aircraft f does not exceed the maximum flight hours left, t f , before the next required maintenance.

Fig. 1. Set of aircraft F partitioned into families Bl , models T g and configurations V h .

2.3. Passengers Passenger itineraries are characterized by an identification number, the type of itinerary (inbound or outbound), the average ticket price, the number of passengers and the sequence of flight legs, including the cabin class for each leg. Each itinerary k in the itinerary set K must satisfy continuity constraints, connection time constraints, maximum allowed lateness constraints and functional constraints. The connection time constraints ensure that the time between two flight legs in an itinerary is at least as large as the 30min minimum allowed connection time, whereas the maximum allowed lateness constraints ensure that the delays for passengers who have not started their itinerary will not exceed 18 h for domestic and continental itineraries, and 36 h for intercontinental

itineraries. There are no time limits for passengers who have already begun their itinerary. The functional constraints ensure that the destination of the modified itinerary is the same as the original itinerary's destination and that the departure time of the modified itinerary is at least as late as the time of the first flight of the original itinerary. In addition, the linking constraints ensure that the number of passengers on a given flight leg does not exceed the cabin capacity of the aircraft operating the flight leg. The passenger demand of itinerary kisdk , and Dk and Ak are, respectively, the set of all arcs ði; jÞ, where node i is the departure node of itinerary k and the set of all arcs ði; jÞ, where node j is the arrival node of itinerary k. Finally, W k is the set of all dummy arcs ði; jÞ for itinerary k, which are the cancellation arcs between the departure nodes and the arrival nodes. 2.4. Recovery period A recovery period is defined for each instance. Modifications to passenger itineraries and to aircraft rotations are only possible during the recovery period. At the end of the recovery period, all aircraft need to be located at the designated airport, otherwise a penalty for non-compliant location of the aircraft is incurred. 2.5. Disruptions The possible disruptions can be grouped into three categories: flight disruptions, aircraft disruptions and airport disruptions. Flight disruptions consist of flight delays and flight cancellations. Aircraft disruptions correspond to the unavailability of an aircraft and are defined by the aircraft number as well as the beginning and the end of the unavailability. Finally, airport disruptions consist of a reduced maximum number of arrivals or departures at a given airport at a given time. The problem can be presented on a time-space network G ¼ ðN; AÞ, where N ¼ f1; …; ng is the set of airport nodes at a specific time and A ¼ fði; jÞ : i; jA N; i a jg is the set of flight legs or connection arcs between two flight legs. The objective function minimizes the weighted sum of passenger delay cost, passenger cancellation cost, passenger disutility cost, downgrading cost, operating cost and the cost for non-compliant location of aircraft. The passenger delay cost cdel ijmk includes the disbursements incurred by the airline such as the costs of meals, drinks and lodging. These disbursements depend on the length of the delay and the initial flying time of the itinerary. The cancellations cost, ccan k , includes the reimbursement of the ticket price and compensation. It also depends on the initial flying time of the itinerary. The passenger disutility cost refers to the inconvenience cost perceived by the passengers and depends on the itinerary type (domestic, continental or intercontinental) and on the cabin class. The latter cost is included in cijmk . A downgrading cost cdown is incurred whenever km a passenger's itinerary is modified and the flight legs of the itinerary are in a lower cabin class than the original itinerary's reference cabin class. This cost depends on the level of downgrading and on the type of itinerary. The operating cost cop ijf includes fuel, maintenance and crew costs. It is based on the length of the flight leg and the aircraft type and does not depend on the number of passengers on board. Finally, a cost related to non-compliant location of aircraft is incurred whenever an aircraft is not positioned at the appropriate airport at the end of the recovery period and depends on the level of non-compliance. l The parameters nhj ; ngj andnj are, respectively, the number of aircraft of configuration h, the number of aircraft of model g and the number of aircraft of family l requested at node j, which represents an airport at the end of the recovery period. When the number of aircraft of a given family type at a given airport is smaller than the number required, a penalty cost cfam is incurred.

K. Sinclair et al. / Computers & Operations Research 65 (2016) 42–52

þ

X X h

45

cconf xijf

ð7Þ

h

f A V ði;jÞ A R

subject to X X xijf  xjif ¼ 0 iAN

f A F; jA N and djf ¼ 0

ð8Þ

iAN

X

xijf r 1

f A F; i A N and dif ¼ 1

ð9Þ

jAN

X Fig. 2. Demand nodes of the network.

xijf 

iAN

xijf 

iAN

X g

In order to model the aircraft and passenger recovery problem (APRP), we have developed the following mixed integer programming model, where xijf ¼1 if and only if arc ði; jÞ is operated by aircraft f , and yijmk is the number of passengers from itinerary k assigned to arc ði; jÞ in class m. The problem is then to (APRP) X XX minimize cdown ð1Þ km yijmk ði;jÞ A Am A M k A K

X XX

cdel ijmk yijmk

ð2Þ

ði;jÞ A Am A M k A K

þ

XX

X

ccan k yijmk

ð3Þ

ði;jÞ A W k m A M k A K

þ

X X

cop x ijf ijf

ð4Þ

cfam xijf

ð5Þ

cmod xijf

ð6Þ

ði;jÞ A Af A F

þ

X X l

f A B ði;jÞ A R

þ

l

X X f A T g ði;jÞ A Rg

ð10Þ

xjif r ngj

f A F; j A N; g A G and j ¼ Dmod

ð11Þ

X

X

xijf 

iAN

xjif r nhj

f A F; j A N; h A H and j ¼ Dconf

ð12Þ

p A P; j A N

ð13Þ

i A Rh

X X

xijf r ajp

ði;jÞ A I j ðpÞf A F

X X

xijf r bip

p A P; i A N

ð14Þ

ði;jÞ A Oi ðpÞf A F

X

xijf r 1

ði; jÞ A A

ð15Þ

f AF

X

X

ði;jÞ 2 = Dk Ak m A M

X X

X

yijmk 

X

yjimk ¼ 0

k A K; j A N

ð16Þ

ðj;iÞ 2 = Dk Ak m A M

yijmk ¼ dk

kAK

ð17Þ

ði;jÞ A Dk m A M

X

yijmk r

kAK

X

capfm xijf

ði; jÞ A A; m A M

ð18Þ

f AF

X

t ij xijf r t f f A F

ð19Þ

ði;jÞ A A

ði; jÞ A A; m A M; k A k

Kxijf ¼ 0 or 1

3. Mixed integer linear programming model

f A F; j A N; l A L and j ¼ Dfam

iAR

yijmk Z0

þ

xjif rnlj

i A Rl

X The costs cmod and cconf are, respectively, the penalty costs incurred when the number of aircraft of a given model and the number of aircraft of a given configuration are not matched at a given airport. Only those aircraft that have landed before the end of the recovery period are considered. To take the last three costs into consideration in our objective function, we have created for each airport three duplicates of the final node j as can be seen in Fig. 2. The first node represents the family demand node Dfam , the second is the model demand node Dmod , and the third is the configuration demand node Dconf . We have also created a dummy node and arcs between these three demand nodes and the dummy node. The penalty costs for non-compliant location of aircraft are associated with these arcs. Arcs are also created between the dummy node and the sink node j. For example, in Fig. 2 we have the following family flow conservation constraint: x12  x23 r nlj . Therefore, if the value of x12 is greater than the number of aircraft of family l requested at node j, a non-compliant family location cost will be incurred. Finally, Rl Rg and Rh are, respectively, the set of arcs between the family demand node and the dummy node for aircraft family l, the set of arcs between the model demand node and the dummy node for aircraft model g, and the set of arcs between the configuration demand node and the dummy node for aircraft configuration h.

X

ði; jÞ A A; f A F:

ð20Þ ð21Þ

In this model, the first term of the objective function is the downgrading cost while term (2) is the passenger delay cost. Term (3) is the passenger cancellation cost and term (4) is the aircraft operating cost. Terms (5)–(7) are, respectively, the costs for improper positioning of family, model, and configuration. Constraints (8) and (9) are the aircraft flow conservation constraints, while constraints (10)–(12) are, respectively, the family, the model and the configuration flow conservation constraints. Constraints (13) and (14) impose the airport capacity limit. Constraints (15) assign each flight arc to at most one aircraft. Constraints (16) and (17) are the passenger flow conservation constraints. Constraints (18) define the aircraft seating capacity limits, and constraints (19) define the maximum flight hours of each aircraft. All other constraints (i.e., turnaround time, transit time, flight range, connection time, maximum delay and maintenance constraints) are implicitly considered during the arc generation phase. To this end, we include the turnaround time and the transit time in the flight arcs and we include the passenger connection time in the passenger arcs. For example, a passenger arc from airport CDG to airport BOD with a flying time of 80 min and a connection time of 30 min will be set to 110 min. The flight range constraint, which limits the distance of the flight legs for each aircraft, is considered by creating only those flight arcs whose duration does not exceed the range limit, while the maintenance constraints are considered by creating a demand for an aircraft at the node corresponding to

46

K. Sinclair et al. / Computers & Operations Research 65 (2016) 42–52

the beginning and the airport of the required maintenance, and setting all the corresponding flight arcs during the maintenance period to 1. Finally the maximum delay constraints are considered when creating the arrival nodes.

4. Solution methodology Because of the complexity of the problem and the size of the instances, solving the APRP will either be infeasible for the larger instances or very time consuming for the smaller instances. Therefore, the following column generation post-optimization heuristic was developed. This heuristic is executed after the LNS heuristic developed by Sinclair et al. [28]. In the first part of the heuristic, we solve the aircraft and passenger recovery problem by applying the LNS heuristic. Flight delays, flight cancellations, aircraft swaps and passenger reaccommodations are considered during this phase. In the second part, the aircraft and passenger arcs selected in the LNS solution are included in the initial restricted master problem of the column generation model. Only flight cancellations, aircraft swaps and passenger reaccommodations are considered in this phase. In this section we will first summarize the LNS heuristic of Sinclair et al. [28], and we will then describe the column generation post-optimization heuristic.

Fig. 3. Overview of the LNS heuristic.

4.1. Large neighbourhood search heuristic The LNS heuristic proposed by Sinclair et al. [28], which is an improvement of the LNS heuristic developed by Bisaillon et al. [7] for the 2009 ROADEF Challenge, alternates between three phases: construction, repair and improvement. An overview of the LNS solution method (taken from Bisaillon et al. [7]) is presented in Fig. 3. We refer the readers to Sinclair et al. [28] for a detailed description of this heuristic. 4.1.1. Construction phase During the construction phase, the disruptions are integrated into the planned schedule and the heuristic attempts to construct a feasible solution using five steps. First, to reach aircraft rotation feasibility, the disrupted flight legs are delayed by increments of 60 min. In Step 2, the heuristic tries to recreate cancelled flight legs, while Step 3 attempts to reach maintenance feasibility by removing a loop (i.e., a sequence of flight arcs beginning and ending at the same airport) scheduled before the required maintenance. In Step 4, the flights that have become infeasible due to

airport capacity reduction are delayed by increments of 60 min. The flights that can cause the highest penalty if cancelled are considered first. Finally, Step 5 considers flights that have been cancelled because of aircraft disruptions. The heuristic attempts to recreate these flights using available aircraft by means of a longest path algorithm. 4.1.2. Repair phase The first step of the repair phase considers flights that still violate the airport capacity constraints and tries to delay them to a less congested time period. If feasibility is not reached, either a loop or the remainder of the rotation is removed. The second step attempts to reinsert cancelled flight sequences into the schedule by using available aircraft, and Step 3 attempts to accommodate on existing flights passengers on cancelled itineraries by repeatedly solving a shortest path problem. Finally, Step 4 tries to create new flight legs to accommodate passengers who still belong to cancelled itineraries by either solving a multi-commodity flow problem or a shortest path problem. 4.1.3. Improvement phase The improvement phase consists of five steps. First, the algorithm attempts to improve the solution by delaying flights one at a time in order to accommodate additional passengers. Passengers are reassigned by solving a shortest path problem. In order to diversify the search, in Step 2 the algorithm attempts to improve the solution by destroying either part of an aircraft rotation, or the complete rotation. The algorithm then tries to create new flight legs using the available aircraft to reaccommodate the passengers on cancelled itineraries by means of a shortest path algorithm. Step 3 considers passengers who are positioned at a disrupted airport (i.e., at an airport with a reduced arrival or departure capacity), and attempts to redirect them to an alternate airport using available seats on existing flights. Once the passengers have been redirected to an alternate airport, the heuristic attempts to create new flights from that airport to the destination airport. The opposite procedure is also applied for passengers whose final destination is a disrupted airport. Step 4 consists in delaying subsequent passenger departures in order to accommodate additional passengers. Because of the maximum delay constraints, it is sometimes impossible to delay passengers to a less congested time period. Therefore, the algorithm attempts to delay passengers with the same origin–destination pair, but with a later departure time that would have violated the maximum delay constraints for the first group of passengers. Finally, Step 5 consists of repairing aircraft positions, by transferring, when possible, all aircraft to the required airport. 4.2. Column generation Initially, the restricted master problem (RMP) includes all aircraft arcs from the LNS solution as well as all the passenger arcs found in the LNS solution. All other passenger variables are left out of the RMP because it would contain too many variables to be solvable efficiently. We start by solving the linear programming (LP) relaxak tion of the RMP. We define dual variables π ik ; λ and μijm r 0 associated with constraints (16)–(18), respectively. We also define the binary parameters dijk taking value 1 if and only if arc ði; jÞ A Dk . The LP relaxation of the RMR is solved and the reduced costs c ijmk of the passenger variables yijmk are calculated as c ijmk ¼ cijmk  ðπ jk  π ik þ λ dijk þ μijm Þ: k

ð22Þ

Either all or some of the variables with negative reduced costs are included in the LP model which is solved again. The LP relaxation phase of the heuristic stops when the number of iterations reaches

K. Sinclair et al. / Computers & Operations Research 65 (2016) 42–52

a certain threshold. Finally, the APRP problem is solved. Solving the instances to optimality requires high computing times, therefore they are solved with an optimality gap of 0.01%. 4.2.1. Model reduction In order to efficiently solve the problem, it was necessary to decrease the size of the model by reducing the number of itinerary variables as well as the number of aircraft variables. We therefore grouped all passengers with the same origin–destination, departure time and cabin class. Not considering the cabin class of the passengers would greatly reduce the number of itinerary variables, but for some instances the downgrading costs would become too high. We also aggregated all aircraft having the same characteristics. Furthermore, only the flight arcs found in the solution after running the LNS for 10 min were included in the model. Finally, it is possible to consider only a subset of itinerary groups, so as to reduce the size of the model when necessary. We chose to exclude the itinerary groups with the latest departure times, given that these itineraries tend to have the least number of possible feasible routes and therefore could probably improve the solution by the least amount. More specifically, we exclude those itineraries whose departure time exceeds a certain time limit, that is the end of the recovery period from which we subtract ðΔ þ Δ1 Þ, where Δ and Δ1 are time periods.

47

ði; jÞ A A; f A F and xijf ¼ 1g. Therefore, the assignment constraints (15) can be replaced with xijf ¼ 1

ði; j; f Þ A X n :

ð23Þ

Finally, the aircraft operating costs (4) and the aircraft improper positioning costs (5)–(7) are removed. The resulting multicommodity flow problem is as follows: (MCFP) X XX cdown ð24Þ minimize km yijmk ði;jÞ A Am A M k A K

X XX

þ

cdel ijmk yijmk

ð25Þ

ði;jÞ A Am A Mk A K

XX

X

þ

ccan k yijmk

ð26Þ

ði;jÞ A W k m A M k A K

subject to ði; j; f Þ A X n

xijf ¼ 1 X

X

yijmk 

ði;jÞ 2 = Dk Ak m A M

X X

ð27Þ X

X

yjimk ¼ 0

k A K; j A N

ð28Þ

ðj;iÞ 2 = D k Ak m A M

yijmk ¼ dk

kAK

ð29Þ

ði; jÞ A A; m A M

ð30Þ

ði;jÞ A Dk m A M

4.2.2. Multi-commodity flow problem Solving the APRP using the column generation heuristic proved feasible only for the smaller instances. We therefore used the column generation heuristic to solve a multi-commodity flow problem for the passengers (MC-APRP) obtained by removing from the APRP model the airport capacity constraints (13) and (14) as well as the aircraft flow conservation constraints (8)–(12) and the maximum flight hours constraints (19). The aircraft arcs found in the LNS solution form a set X n ¼ fði; j; f Þ:

X

yijmk r

kAK

X

capfm xijf

f AF

yijmk Z0

ði; jÞ A A; m A M; k A K

xijf ¼ 0 or 1

ð31Þ

ði; jÞ A A; f A F:

ð32Þ

The MC-APRP is solved by using the column generation heuristic described in Section 4.2.

Table 1 Characteristics of the B instances. Instance

Recovery period

Nb. of aircraft

Nb. of airports

Nb. of flights

Nb. of itineraries Nb. flight disruptions

Nb. aircraft disruptions

Nb. airport disruptions

B01 B02 B03 B04 B05 B06 B07 B08 B09 B10

36 36 36 36 36 36 36 36 36 36

255 256 256 256 256 256 256 256 256 256

45 45 45 45 45 45 45 45 45 45

1423 1423 1423 1423 1423 1423 1423 1423 1423 1423

11,214 11,214 11,214 11,214 11,214 11,214 11,214 11,214 11,214 11,214

230 255 229 230 0 230 255 229 230 77

0 0 1 0 0 0 0 1 0 0

0 0 0 1 34 0 0 0 1 34

Table 2 Characteristics of the XA, XB and X instances. Instance

Recovery period

Nb. of aircraft

Nb. of airports

Nb. of flights

Nb. of itineraries

Nb. flight disruptions

Nb. aircraft disruptions

Nb. airport disruptions

XA01 XA02 XA03 XA04 XB01 XB02 XB03 XB04 X01 X02 X01 X02

14 52 14 52 36 52 36 52 78 78 78 78

85 85 85 85 256 256 256 256 618 618 618 618

35 35 35 35 45 44 45 44 168 168 168 168

608 608 608 608 1423 1423 1423 1423 2178 2178 2178 2178

1943 3959 1872 3773 11,214 11,214 11,214 11,214 28,308 28,308 29,151 29,151

83 0 83 0 229 0 228 0 0 0 0 0

3 3 3 3 3 1 4 4 1 1 1 1

0 407 0 407 0 34 0 34 1 0 1 0

48

K. Sinclair et al. / Computers & Operations Research 65 (2016) 42–52

Table 3 Characteristics of the aggregated passengers and aircraft.

5. Computational results

Instance Nb. of aircraft

Nb. cancelled itineraries

Nb. aircraft groups

Nb. cancelled itinerary groups

B01 B02 B03 B04 B05 B06 B07 B08 B09 B10 XA01 XA02 XA03 XA04 XB01 XB02 XB03 XB04 X01 X02 X03 X04

8209 8236 8208 8215 12,481 8775 8844 8728 8818 13,254 1943 4530 1872 4337 8243 12,416 8816 13,133 28,622 28,389 29,624 29,335

60 60 60 60 67 60 60 60 60 67 15 15 15 15 60 67 60 68 152 152 153 153

4362 4358 4364 4367 6418 4472 4462 4469 4472 6544 416 1931 461 2009 4366 6412 4472 6534 18,390 18,085 18,750 18,407

255 256 256 256 256 256 256 256 256 256 85 85 85 85 256 256 256 256 618 618 618 618

The column generation heuristic was implemented and tested on a computer with two Intel Westmere EP X5650 six-core processors running at 2.667 GHz and 96 GB of memory. Our algorithm was tested on the instances of the 2009 ROADEF Challenge. Tables 1 and 2 provide the characteristics of these instances. Table 3 presents the number of aircraft and cancelled passengers as well as the number of cancelled passenger groups and aircraft groups for each instance resulting from the model reduction described in Section 5.1. We have run the LNS for 10 min before executing the column generation heuristic. Solving the MIP of Section 3 exactly is very time consuming and proved feasible for only the two smaller instances XA01 and XA03. Table 4 presents the solution cost obtained after 10 iterations and including all variables with negative reduced costs, as well as all itinerary groups. It also reports the computing time, the best known solution, the solution cost after running the LNS for 10 min, and the gaps with respect to the best known solution and the LNS solution. Table 5 presents the variations in the different costs for the LNS heuristic and the column generation heuristic. We can see from this table that the decrease in the operating cost has a significant impact on the total

Table 4 Recovery costs for the APRP. Instance

Best

LNS 10 min

Cost

Improvement wrt best (%)

Improvement wrt LNS (%)

Seconds

XA01 XA03

99009.20 262945.25

96391.70 262945.25

51854.85 186273.60

47.58 29.16

46.20 29.16

83.83 83.16

Table 5 Variation in the different costs. Costs

XA01 LNS

XA01 CG

Variation (%)

% tot. cost decr.

XA03 LNS

XA03 CG

Variation (%)

% tot. cost decr.

Delay costs Cancellation costs Downgrading costs Operating costs Location costs

65,466.70 5625.00 7500.00  13,200.00 31,000.00

71,454.85 0 3750.00  43350 20,000.00

 9.14 100 50.00 69.55 35.48

 13.45 17.81 11.87 97.33 24.70

110,445.25 25,450 9000.00 58,050.00 60,000.00

84,098.60 14,675.00 5850.00 41,650.00 40,000.00

23.85 42.34 35.00 28.25 33.33

34.36 14.01 4.11 21.39 26.09

Table 6 Recovery cost for the MC-APRP. Instance Best

LNS 10 min

LNS full time Cost

B01 B02 B03 B04 B05 B06 B07 B08 B09 B10 XA02 XA04 XB01 XB02 XB03 XB04 X01 X02 X03 X04

797,903 1,020,906 831,642 907,752 7,411,929 2,586,412 4,184,662 2,845,990 2,564,760 30,876,122 1,465,060 3,866,093 1,002,908 8,080,074 3,878,297 32,707,740  182,410  206,073 1,212,619 103,980

843,084 1,219,886 866,408 970,523 8,836,265 3,000,770 4,516,850 3,155,738 3,105,536 32,979,391 1,596,660 4,268,885 1,059,488 9,468,598 4,536,106 34,332,059 142,443 32,744 1,353,316 145,535

Improvement wrt best (%)

843,084  5.66 1,219,886  19.49 866,408  4.18 968,137  6.65 infeasible 2,782,830  7.59 4,436,946  6.03 2,909,880  2.24 2,797,217  9.06 infeasible 1,596,301  8.96 4,246,729  9.85 1,059,488  5.64 infeasible 4,249,711  9.06 infeasible infeasible infeasible infeasible infeasible

Column generation post-optimization Improvement wrt LNS (%)

Cost

Improvement wrt best (%)

Improvement wrt LNS

Seconds (%)

0 0 0 0.25

502,823 678,375 542,537 602,920

36.98 33.54 34.76 33.58

40.36 44.38% 37.38 37.72

709.15 739.26 818.05 794.06

7.26 1.77 7.79 9.93

1,550,188 2,846,093 1,629,301 1,528,599

40.06 31.99 42.75 40.40

44.29 35.85 44.01 45.35

1307.75 1502.81 1262.30 1203.05

0.02 0.52 0

951,386 35.06 2,697,196 30.65 641,028 36.08

38.88 37.19 39.50

209.46 302.61 846.94

6.31

2,465,650 36.42

41.98

1346.05

K. Sinclair et al. / Computers & Operations Research 65 (2016) 42–52

49

Table 7 Recovery costs for the multi-commodity flow problem for parameter set P2. Instance

Best

LNS 10 min

Cost P2

Improvement wrt best (%)

Improvement wrt LNS (%)

Seconds

B01 B02 B03 B04 B05 B06 B07 B08 B09 B10 XB01 XB02 XB03 XB04

797,903.00 1,020,906.00 831,642.00 907,752.00 7,411,929.45 2,586,412.25 4,184,662.00 2,845,990.30 2,564,759.60 30,876,122.15 1,002,908.25 8,080,073.65 3,878,297.00 32,707,740.00

843,084.35 1,219,885.75 866,408.20 970,522.80 8,836,264.50 3,000,770.75 4,516,850.20 3,155,738.00 3,105,536.35 32,979,391.35 1,059,488.50 9,468,598.10 4,536,105.5 34,332,058.95

587,860.10 849,390.15 633,662.90 676,278.55 4,696,636.55 1,911,750.60 3,526,297.60 2,052,855.90 1,824,978.80 23,942,711.60 743,298.15 4,719,373.30 2,989,665.25 24,633,162.40

26.32 16.80 23.81 25.50 36.63 26.08 15.73 27.87 28.84 22.46 25.89 41.59 22.91 24.69

30.27 30.37 26.86 30.32 46.85 36.29 21.93 34.95 41.23 27.40 29.84 50.16 34.09 28.25

580.10 588.21 588.58 582.17 1188.03 802.64 868.45 854.71 842.06 1738.49 587.09 1188.78 853.97 1616.23

Average

26.08

33.49

919.96

Table 8 Characteristics of the solution costs. Measure

P2

P3

P4

P5

P6

P7

Average % wrt best Average % wrt LNS Average time Maximum time

26.03% 33.49% 919.96 1738.49

28.36% 35.52% 969.60 1940.20

30.22% 37.18% 1004.87 1929.25

32.67% 39.36% 1130.64 1911.16

34.36% 40.90 % 1188.69 2062.03

36.04% 42.40% 1219.20 2062.03

cost for both of these instances. For instance XA01, only four additional passengers were reaccommodated with the column generation heuristic, and five additional passengers were reaccommodated for the XA03 instance, therefore limiting the impact of the cancellation costs on the total cost variation. Finally, the downgrading costs have the lowest impact on the total cost variation. Table 6 presents the same information as Table 4 for all instances that were solved using the MC-APRP, for five iterations, and including all variables with negative reduced costs. The best known solutions include all solutions obtained by the finalist teams of the 2009 ROADEF Challenge, found within 10 min of computing time, as well as the solutions found by Acuna–Agost [3] with a computing time varying between 602.73 s and 1073.80 s, and the solutions found by Sinclair et al. [28] with a computing time limit of 60 min. We also present the solutions found after running the LNS heuristic for 10 min, since the computer used is different from that of Sinclair et al. [28] and the results vary for some instances (see instance XA01 in Table 4). Finally, Table 6 presents the solution cost when running the LNS heuristic for the same time as the time used to solve the MC-APRP (i.e., 10 min for the LNS, plus the computing time reported in column 10) and the associated gaps. Feasible solutions were found for only 12 out of 20 instances. Including all itineraries is either very time consuming for the smaller instances or infeasible for the larger ones. Therefore, in order to compute feasible solutions within a reasonable computing time, we have excluded the itineraries whose departure time exceeded a certain time limit, that is the end of the recovery period minus ðΔ þ Δ1 Þ. We have tested our algorithm for the following values of Δ: 840, 780, 720, 660 600 and 540, setting Δ1 ¼ 300 for instances with a recovery period of 52 h, and Δ1 ¼ 0 for all other the instances. We also included all variables with negative reduced cost, except for the instances that return an infeasible solution in Table 3, where we limited the number of negative reduced cost variables to 250,000. The number of iterations remained equal to five. Table 7 presents the solution costs, the gap with respect to the best known solution value, the gap

Fig. 4. Average solution cost vs computing time.

Table 9 Recovery costs for parameter sets P2. Instance Cost P2

Improvement wrt best (%)

Improvement wrt LNS (%)

Seconds

B01 B02 B03 B04 B05 B06 B07 B08 B09 B10 XB01 XB02 XB03 XB04

27.87 16.63 25.18 25.35 39.26 25.81 15.62 27.14 28.49 21.57 27.38 40.61 22.78 23.70

31.74 30.23 28.19 30.18 49.05 36.05 21.82 34.29 40.94 26.57 31.26 49.32 33.97 27.31

431.04 430.47 429.65 417.70 1014.33 557.91 548.22 497.97 482.18 1384.82 446.23 994.08 527.66 1315.98

26.24

33.64

677.02

Average

575,503.35 851,107.35 622,202.90 677,607.50 4502,096.55 1,918,930.30 3,531,149.10 2,073,673.25 1,834,045.75 24,215,805.25 728,317.55 4,798,354.25 2,995,005.30 24,955,836.70

with respect to the LNS heuristic solution value and the time for parameter set P2 with Δ ¼ 840. The same information for parameter sets P3–P7 is reported in Sinclair et al. [29]. Table 8 presents the average gap with respect to the best known solution value, the average gap with respect to the LNS solution value, the average computing time and the maximum time for parameter sets P2 Δ ¼840, P3 Δ ¼ 780, P4 Δ ¼720, P5 Δ ¼ 660, P6 Δ ¼ 600 and Δ ¼540. From Table 8, we can see that using a smaller Δ (i.e., a larger number of itinerary variables) leads to better solutions, but also larger computing times. Excluded from Tables 7 and 8 are the

50

K. Sinclair et al. / Computers & Operations Research 65 (2016) 42–52

XA02 and XA04 instances for which we were able to obtain feasible solutions within a reasonable computing time (as shown in Table 5) without limiting the number of itineraries included. The X01–X04 instances are also excluded. These instances have a larger recovery period and they will be treated separately. The number of iterations and the number of variables with negative reduced costs included in the LP relaxation can have a significant impact both on the solution cost and on the computing

Table 10 Characteristics of the solution costs. Measure

P2

P3

P4

P5

P6

P7

Average % wrt best Average % wrt LNS Average time Maximum time

26.24% 33.64% 677.02 1384.82

27.36% 34.66% 692.21 1454.48

29.67% 36.68% 730.88 1431.68

32.17% 38.90% 790.91 1550.66

33.15% 39.85 % 839.95 1605.45

34.99% 41.49% 864.40 1763.08

time. We have therefore tested different combinations of number iterations and number of variables. Fig. 4 presents the average solution cost and the average computing time when 100%, 80%, 60%, 40% and 20% of the variables with negative reduced costs are included in the LP relaxation for a number of iterations varying between two and nine, and for Δ ¼ 720. The detailed solutions and computing times for each instance are reported in Sinclair et al. [29]. Since the quality of the heuristic not only depends on the solution cost, but also on the computing time, opting to include 80% of the variables with negative reduced cost and running it for four iterations seems to be a good compromise. Table 9 presents the solutions cost, the gap with respect to the best known solution value, the gap with respect to the LNS solution value, and the computing time for parameter set P2, with 80% of the negative reduced cost variables included and a limit of four iterations. The same information for parameter sets P3–P7 is reported in Sinclair et al. [29]. Table 10 presents the average gap with respect to the best known solution, the average gap with respect to the LNS

Table 11 Cost variations and % of total cost decrease for the XB instances. Measure

Total cost

Delay cost

Cancellation cost

Downgrading cost

Nb. cancelled passengers

XB01 LNS XB01 CG % tot. cost XB02 LNS XB02 CG % tot. cost XB03 LNS XB03 CG % tot. cost XB04 LNS XB04 CG % tot. cost

1,059,489 687,617

1,310,811 1,138,457 46.35% 4,525,173 4,234,184 6.10% 813,870 1,610,569 10.64% 4,531,683 636,6913  17.40%

101,577 45,310 15.13% 4,605,325 933,833 76.91% 2,326,235 856,862 76.90% 29,385,176 17,790,776 109.94%

343,850 200,600 38.52% 1,678,300 867,000 16.99% 571,400 333,350 12.46% 1,947,000 1,160,450 7.46%

67 38

decr. 9,468,598 4,694,816 decr. 4,536,106 2,625,381 decr. 34,332,059 23,786,339 decr.

5037 485 1860 518 28,728 15,868

Table 12 Cost variations and % of total cost decrease for the B instances. Measure

Total cost

Delay cost

Cancellation cost

Downgrading cost

Nb. cancelled passengers

B01 LNS B01 CG % tot. cost B02 LNS B02 CG % tot. cost B03 LNS B03 CG % tot. cost B04 LNS B04 CG % tot. cost B05 LNS B05 CG % tot. cost B06 LNS B06 CG % tot. cost B07 LNS B07 CG % tot. cost B08 LNS B08 CG % tot. cost B09 LNS B09 CG % tot. cost B10 LNS B10 CG % tot. cost

843,084 545,788

1,221,164 1,073,438 49.69% 1,298,970 1,167,634 27.14% 1,222,002 1,090,247 46.61% 130,215 1,160,170 40.28% 4,602,247 4,085,954 11.51% 1,577,289 1,297,081 21.70% 1,824,757 1,437,328 30.97% 1,546,442 1,295,653 18.56% 1,722,312 1,306,858 27.63% 4,678,224 6,521,812  16.08%

38,521 6750 10.69% 98,366 27,720 14.60% 58,256 40,388 6.32% 61,808 18,350 12.33% 3,911,204 808,353 69.20% 1,259,032 398,332 66.66% 2,360,143 1,692,946 53.33% 1,500,341 504,722 73.67% 1,184,724 257,710 61.65% 29,587,106 17,018,506 109.60%

315,250 197,450 39.62% 647,550 365,550 58.27% 350,300 217,250 47.07% 370,450 203,500 47.38% 1,676,200 811,150 19.29% 371,000 220,800 11.63% 596,950 400,450 15.71% 345,450 240,400 7.77% 390,350 229,050 10.73% 1,168,500 1,168,500 6.48%

18 3

decr. 1,219,886 735,904 decr. 866,408 583,735 decr. 970,523 618,170 decr. 8,845,301 4,361,107 decr. 3,000,771 1,709,663 decr. 4,516,850 3,265,724 decr. 3,155,783 1,804,324 decr. 3,105,536 1,601,768 decr. 34,610,231 23,142,418 decr.

63 23 48 39 36 15 4132 419 1088 249 1357 761 1189 274 712 150 28,274 15,078

K. Sinclair et al. / Computers & Operations Research 65 (2016) 42–52

51

Table 13 Recovery costs for the MC-APRP instances X01-X04. Instance Best

X01 X02 X03 X04

LNS

 182,410  206,073 1,212,619 103,981

LNS full time

142,443  23,433 1,353,316 175,752

Column generation post-optimization

Cost

Improvement wrt best (%)

Improvement wrt LNS (%)

Cost

Improvement wrt LNS (%)

Improvement wrt best (%)

Seconds

68,172  94,257 959,046 152,337

 137.37  54.26 20.91  46.50

52.14 302.24 29.13 13.32

125,019  36,858 1,218,000 140,356

 167.87  82.11  0.44  34.98

13.08 57.29 10.01 20.14

1456.97 1179.39 1299.26 1288.48

Table 14 Recovery costs for the MC-APRP instances X01-X04. Instance

Best

LNS 60 min

Cost

Improvement wrt best (%)

Improvement wrt LNS (%)

Seconds

X01 X02 X03 X04

 182,410  206,073 1,212,619 103,981

 193,133  345,752 913,091 108,565

 219,167  361,411 878,027 103,821

20.15 75.38 27.59 0.15

13.48 4.53 3.84 4.37

1314.35 1300.84 1341.52 1330.13

Table 15 Best solutions for B and X instances. Instance

Previously best known solution

Best solution CG

Improvement (%)

Delay cost

Cancellation cost

Downgrading cost

Operating cost

Nb. cancelled passengers

B01 B02 B03 B04 B05 B06 B07 B08 B09 B10 XA01 XA02 XA03 XA04 XB01 XB02 XB03 XB04 X01 X02 X03 X04

797,903 1,020,906 831,642 907,752 7,411,929 2,586,412 4,184,662 2,845,990 2,564,760 30,876,122 99,009 1,465,060 262,945 3,866,093 1,002,908 8,080,074 3,878,297 32,707,740  182,410  206,073 1,212,619 103,980

502,823 678,466 542,537 602,920 4,165,084 1,550,188 2,846,093 1,629,301 1,528,599 22,335,381 51,855 930,866 186,274 2,687,460 641,028 4,469,525 2,465,650 22,956,737  219,167  361,411 878,027 103,821

36.98 33.54 34.76 33.58 43.81 40.06 31.99 42.75 40.40 27.66 47.63 36.46 29.15 30.49 36.08 44.68 36.42 29.81 20.15 75.38 27.59 0.15

1,049,623 1,147,445 1,073,350 1,147,070 3,941,977 1,210,163 1,312,799 1,207,453 1,241,109 6,433,574 71,455 1,170,843 84,099 2,146,040 1,114,703 4,082,104 1,508,790 6,337,035 919,383 807,789 848,534 116,621

6750 27,720 25,388 29,350 785,906 362,225 818,195 443,048 259,140 16,332,757 0 138,103 14,675 519,030 41,625 901,222 834,510 17,013,802 0 0 33,692 13,150

178,300 328,300 197,950 201,350 787,550 184,350 351,000 215,250 220,200 1,135,450 3750 60,750 5850 59,850 181,450 826,400 297,750 1,137,700 200,300 158,850 167,650 56,900

 731,850  825,000  764,150  763,850  1350350  206,550  265,000  236,450  191,850  1,566,400  43,350  479,830 41,650  58,460  736,750  1,340,200  235400  1,571,800  1,379,850  1,351,050  191,580  182,850

3 23 31 15 405 230 595 255 143 14,439 0 157 19 599 34 468 498 15,174 0 0 17 5

solution, the average computing time and the maximum time for parameter sets P2–P7, also with 80% of the negative reduced cost variables included and a limit of four iterations. Comparing Tables 7 and 10, we see that the difference in the solution costs when using 80% of the negative reduced costs and four iterations is small, while the computing times are reduced significantly. The maximum computing time is also much smaller. Tables 11 and 12 present the variation in the number of cancelled passengers, the total costs, the delay costs, the cancellation costs and the downgrading costs for the LNS and the column generation algorithm, when using parameter set P5, 80% of the negative reduced cost variables and four iterations. Since we are solving the multi-commodity flow network, the operating cost and the non-compliant location costs do not differ between the LNS and the column generation algorithm. Tables 11 and 12 also show the impact of each cost variation on the total cost decrease. Table 13 presents the solution costs for the X01–X04 instances, as well as the best known solution values, the LNS solution value with an execution time of 10 min, the gaps with to the best known solution,

the gaps with respect to the LNS solution, and the computing time. Table 13 also presents the solution cost when running the LNS heuristic for the same time as for the MC-APRP. Because of the size of the instances, only a small group of itineraries are considered, which leads to smaller improvements in the solution costs. As can be seen, the column generation heuristic improves the LNS solution value, but is quite far from the best known solution value. This can be explained by the fact that the best known solutions for these four instances were obtained by Sinclair et al. [28] by running the LNS for 60 min. Also, because of the size of these instances, the LNS heuristic only performs one itersation within the 60 min time limit. Consequently the time needed to find a good feasible solution is much longer. Therefore, we increased the execution time of the LNS heuristic to 60 min before starting the column generation heuristic. Table 14 presents the solution costs, the best known solution value, the 60 min LNS solution costs, the gap with respect to the best known solution, the gap with respect to the 60 min LNS solution value, and the computing time. Table 15 presents the best known solution and the best solution obtained with the column generation heuristic using the optimal

52

K. Sinclair et al. / Computers & Operations Research 65 (2016) 42–52

parameter set for each instance. The table also presents the details of the cost, i.e., the downgrading cost, the delay cost, the cancellation cost and the operating cost as well as the number of cancelled passengers. 6. Conclusions We have presented a post-optimization column generation heuristic which, when executed after the LNS heuristic, yields the best known solutions for all of the instances of the 2009 ROADEF challenge within a reasonable computing time. We have also shown that this algorithm can be modified to solve large instances by only considering the passenger variables. Given that solving the MIP for the smaller instances considerably reduces the aircraft operating costs, being able to solve the MIP for all of the instances should yield substantial improvements. Future research should focus on developing solution methods capable of solving the MIP for larger instances, such as embedding the column generation algorithm within a rolling-time horizon framework. One should also attempt to solve more realistic instances, such as those with a higher number of disruptions. Future research should also focus on integrating the crew recovery component in the solution methodology instead of solving the problem in a sequential manner. Acknowledgments This work was partly supported by the Canadian Natural Sciences and Engineering Research Council under grants 22783709 and 39682-10. This support is gratefully acknowledged. Thanks are due to a referee whose comments helped to improve the paper. References [1] Abdelghany A, Ekollu G, Narasimhan R, Abdelghany K. A proactive crew recovery decision support tool for commercial airlines during irregular operations. Ann Oper Res 2004;127:309–31. [2] Abdelghany KF, Abdelghany AF, Ekollu G. An integrated decision support tool for airlines schedule recovery during irregular operations. Eur J Oper Res 2008;185:825–48. [3] Acuna-Agost R. Passenger improver (PI). A new approach for the passenger recovery problem. POSTDOC Report, AMADEUS and École nationale de l’aviation civile, Toulouse; 2010. [4] Arguello MF, Bard JF, Yu G. A GRASP for aircraft routing in response to groundings and delays. J Comb Optim 1997;5:211–28. [5] Ball MO, Barnhart C, Dresner M, Hansen M, Neels K, Odoni AR. Total delay impact study: a comprehensive assessment of the costs and impacts of flight delay in the United States. Washington, DC: FAA; 2010. [6] Ball MO, Barnhart C, Nemhauser GL, Odoni AR. Air transportation: irregular operations and control. In: Barnhart C, Laporte G, editors. Handbooks in operations research and management science, vol. 14. North-Holland; 2007. p. 1–61. [7] Bisaillon S, Cordeau J-F, Laporte G, Pasin F. A large neighbourhood search heuristic for the aircraft and passenger recovery problem. 4OR: Q J Oper Res 2011;9:139–57.

[8] Bratu S, Barnhart C. Flight operations recovery: new approaches considering passenger recovery. J Sched 2006;9:279–98. [9] Cao JM, Kanafani A. Real-time decision support for integration of airline flight cancellations and delays part I: mathematical formulation. Transp Plan Technol 1997;20:183–99. [10] Cao JM, Kanafani A. Real-time decision support for integration of airline flight cancellations and delays part II: algorithm and computational experiments. Transp Plan Technol 1997;20:201–17. [11] Clausen J, Larsen A, Larsen J, Rezanova N. Disruption management in the airline industry—concepts, models and methods. Comput Oper Res 2010;37:809–21. [12] Coleman TF, Hulburt. LA. A direct active set algorithm for large sparse quadratic programs with simple bounds. Math Progr 1989;45:373–406. [13] Dozić S, Kalić M, Babić O. Heuristic approach to the airline schedule disturbances problem: single fleet case. Proced—Soc Behav Sci 2012;54:1232–41. [14] Eggenberg N, Salani M, Bierlaire M. Constraint-specific recovery network for solving airline recovery problems. Comput Oper Res 2010;37:1014–26. [15] Jafari N, Zegordi SH. The airline perturbation problem: considering disrupted passengers. Transp Plan Technol 2010;33:203–20. [16] Jafari N, Zegordi SH. Simultaneous recovery model for aircraft and passengers. J Frankl Inst 2011;348:1638–55. [17] Jarrah AIZ, Yudeci G. A decision support framework for airline cancellations and delays. Transp Sci 1993;27:266–80. [18] Jozefowiez N, Mancel C, Mora-Camino. F. A heuristic approach based on shortest path problems for integrated flight, aircraft and passenger rescheduling under disruptions. J Oper Res Soc 2012;64:384–95. [19] Lettovsky L, Johnson EL, Nemhauser GL. Airline crew recovery. Transp Sci 2000;34:337–48. [20] Luo S, Yu G. On the airline schedule perturbation problem caused by the ground delay program. Transp Sci 1997;31:298–311. [21] Mansi R, Hanafi S, Wilbault C, Clautiaux F. Disruptions in the airline industry: math-heuristic for re-assigning aircraft and passengers simultaneously. Eur J Ind Eng 2012;6:690–712. [22] Medard CP, Sawhney N. Airline crew scheduling from planning to operations. Eur J Oper Res 2007;183:1013–27. [23] Nissen R, Haase K. Duty-period-based network model for crew rescheduling in European airlines. J Sched 2006;9:255–78. [24] Palpant M, Boudia M, Robelin C-A, Gabteni S, Laburthe F. ROADEF 2009 Challenge: disruption management for commercial aviation. In: Amadeus SAS, editor. Sophia Antipolis, France: Operations Research Division; 2009. 〈http:// www.roadef.org〉. [25] Peekstok J, Kuipers E. ROADEF 2009 Challenge: use of a simulated annealingbased algorithm in disruption management for commercial aviation. 〈http:// challenge.roadef.org/2009/files/PeekstokKuipers.pdf〉. [26] Petersen JD, Solveling G, Johnson EL, Clarke J-P, Shebalov S. An optimization approach to airline integrated recovery. Transp Sci 2012;46:482–500. [27] Rosenberger JM, Johnson EL, Nemhauser GL. Rerouting aircraft for airline recovery. Transp Sci 2003;37:408–21. [28] Sinclair K, Cordeau J-F, Laporte G. Improvements to a large neighborhood search heuristic for an integrated aircraft and passenger recovery problem. Eur J Oper Res 2014;233:234–45. [29] Sinclair K, Cordeau JF, Laporte G. A column generation post-optimization heuristic for the integrated aircraft and passenger recovery problem. Technical report, CIRRELT, University of Montreal; 2014. [30] Stojković M, Soumis F, Desrosiers J, Solomon MM. An optimization model for a real-time flight scheduling problem. Transp Res Part A 2002;36:779–88. [31] Teodorović D, Guberinić S. Optimal dispatching strategy on an airline network after a schedule perturbation. Eur J Oper Res 1984;15:178–82. [32] Xiuli Z, Yanchi G. An improved GRASP for irregular flight recovery. In: 2012 International Conference on System science and engineering (ICSSE); 2012. [33] Yu G, Arguello M, Song G, McCowan SM, White A. A new era for crew recovery at continental airlines. Interfaces 2003;33:5–22. [34] Zegordi SH, Jafari N. Solving the airline recovery problem by using ant colony optimization. Int J Ind Eng Prod Res 2010;23:121–8. [35] Zhang D, Lau. YK. A rolling horizon based algorithm for solving the integrated airline schedule recovery problem. J Autom Control Eng 2014;2:232–7. [36] Zhang Y, Hansen. M. Real-time inter-modal substitution (RTIMS) as an airport congestion management strategy. Transp Res Rec 2008;2052:90–9.