key: cord-0876563-k4opnat0 authors: Delgado, Felipe; Mora, Julio title: A matheuristic approach to the air-cargo recovery problem under demand disruption date: 2020-10-01 journal: J Air Transp Manag DOI: 10.1016/j.jairtraman.2020.101939 sha: c796925d18c9e124133b6c25a45d960f2b42ba0e doc_id: 876563 cord_uid: k4opnat0 Air cargo transport is subject to unpredictable changes in expected demand, necessitating adjustments to itinerary planning to recover from such disruptions. We study a flight rescheduling problem to react to cargo demand disruptions in the short run. To increase flexibility, we consider two different cargo assignment policies. We propose a matheuristic approach to solve the problem that provides high-quality solutions in a short computational time, based on column generation in which each subproblem is solved using an ad-hoc heuristic. The approach is tested on demand disruption instances containing up to 75 air cargo orders with different penalty levels. The results show that the proposed method improves profit by 54% over the solution generated by a commercial MIP solver within a 1-h time limit, and by 15% over the solution with the routes fixed as in the original flight planning that only allows cargo to be re-routed. We also show that there exist incremental benefits in the range of 3–5% by allowing cargo for a given order to be transported by various aircraft. Air cargo can be carried either in dedicated freighters, that is, aircraft designed exclusively for cargo transport, or in the spare capacity in passenger aircraft bellies after baggage has been loaded. Although in recent years the annual added payload capacity in bellies has surpassed that of freighters by ever increasing margins (in 2018 it was almost 4 times greater) (IATA, 2018) , freighters have certain advantages that continue to make them indispensable to any air cargo operation. They can, for example, carry types of loads that passenger aircraft cannot, such as oversize items or dangerous cargo. Furthermore, the supply characteristics of bellies on passenger flights, either because of their schedules, markets served or spare capacity, do not necessarily coordinate well with the characteristics of air cargo demand (Boeing, 2014) . Moreover, freighters play a vital role in keeping functioning the supply chain in crisis as the COVID-19 pandemic, allowing transporting medicines and materials in a timely fashion. These observations lie behind the analysis offered in the present study. One of the principal factors differentiating air cargo transport from air passenger transport is the high level of uncertainty in demand for the former. The sources of this uncertainty are the very short time windows in which cargo bookings are made (Sandhu and Klabjan, 2006) and the frequent occurrence of cargo no-shows or only partial show-ups (Wada et al., 2017) . The problem typically arises just hours before a departure, causing an imbalance between planned supply and real demand. To deal with these demand disruptions, which are difficult to anticipate, cargo airlines first intensify their sales-efforts and make focussed, last-minute adjustments to their schedule planning based on the experience of decision-makers charged with modifying schedules manually. A range of measures are employed, alone or in combination, such as adjust fleet allocation, flight cancellations, aircraft rerouting (e. g. triangle flights) and flying aircraft empty to reallocate cargo (where doing makes economic sense). These operational actions are challenging since they have to comply with the bilateral agreements between countries, frequency restrictions and must be adopted within short time frames. Schedule design in the air transport industry has been extensively studied for the passenger business. Etschmaier and Mathaisel (1985) were the first to review the state of the art in airline scheduling. Since that time, numerous works have been published on airline schedule planning, covering topics such as incremental design of passenger schedules (Barnhart et al., 2003; Berge and Hopperstad, 1993) , the simultaneous schedule design and fleet assignment problem (Levin, 1971; Rexing et al., 2000; Lohatepanont and Barnhart, 2004 ) and disturbances or unexpected events. The latter have been studied from two different perspectives, the first one based on the development of robust schedule planning models (Gao et al., 2009; Lan et al., 2006; Rosenberger et al., 2004; Pita et al., 2013; Froyland et al., 2014; Jamili, 2017) and the second one on operational schedule recovery models. In this group we find the aircraft recovery problem (Teodorović and Guberinić, 1984; Rosenberger et al., 2003; Vos et al., 2015) , the integrated aircraft and passenger recovery problem (Jozefowiez et al., 2013; Hu et al., 2016; Zhang et al., 2016) and the integrated aircraft and crew schedule recovery problem (Zhang et al., 2015; Maher, 2015) . Although schedule recovery models have been analyzed in depth for passenger air transport, little work has yet been done on the recovery problem in the air cargo business. Disturbances in the passenger industry are of a different nature from those arising in the cargo market and are due mainly to weather or the propagation of delays caused by late or cancelled flights rather than demand fluctuations. Unexpected changes in demand are frequent, affecting the supply chain due to deviations in production, transportation, and storage costs, among others. For example, the COVID-19 pandemic caused an explosive increase in the demand for products such as masks and respirators. The literature has studied demand disruptions with a focus on supply chain coordination. Qi et al. (2004) consider one supplier -one retailer and propose a two-period model. In the first period, before the demand is known, a production plan is decided, which suffers modifications in the second once the actual demand is revealed. The authors study how changes to the original plan produce significant deviation costs to the system and derive conditions under which the supply chain can be coordinated. Xiao et al. (2007) , study this coordination problem considering two competing retailers where the decision of one retailer affects the other since some customers may switch between them. Chen and Xiao (2009) extend it to the case of one dominant retailer and multiple fringe retailers. Another major difference between passenger and air cargo transport lies in the type of corrective actions taken when disturbances occur. For passenger transport, the legs of a route cannot be changed in the short run due to passenger preferences for certain itineraries, but with air freight, there is greater flexibility in the legs actually flown since what counts is that the cargo arrive at its destination by the stipulated deadline regardless of the route actually taken. One of the first published studies in a cargo context is that of Marsten and Muller (1980) , who propose a mixed integer programming model to solve two strategic problems, route design and fleet planning, for a hub-and-spoke network. Lin and Chen (2003) develop an embedded multi-commodity minimum cost flow problem (MCFP) that chooses transit (stopover) airports for the design of a cargo network linking China and Taiwan using belly space on passenger flights. Yan et al. (2006) present a model that integrates the strategic processes of cargo airline route design and fleet assignment. By using a weekly planning horizon, the solutions can be applied in short-term operations. The authors formulate the problem as an MCFP assuming a single fleet. The idea is to integrate a flight network with a cargo network (O-D pairs) and design a route starting from zero independent of any base plan that considers all possible flight legs and incurs no flight cancellation penalties. The solution employs various heuristics based on the number of stops that must be made to pick up and deliver cargo to its destination. Yan and Chen (2008) extend this model to scenarios where there are alliances between airlines that require coordinated scheduling. Tang et al. (2008) devise a model that integrates route design for passenger, cargo and combi flights. The problem is formulated as an integer MCFP and a series of heuristics are proposed for solving it. Derigs et al. (2009) address freighter route planning using a formulation that simultaneously optimizes flight choice, aircraft rotations and cargo routing. The emphasis in the authors' approach is on incrementally improving schedules through flight choice changes. Continuing in this vein, Derigs and Friederichs (2013) , after surveying the general problem of cargo flight planning and its subproblems, then turn their attention to the air cargo scheduling problem. They present a model that integrates several stages including itinerary design, fleet assignment, and aircraft and cargo routing. However, the planning generated by the model is confined to an externally predefined list of mandatory and optional flights, the latter incorporated only to the extent they generate profits. To the best of our knowledge, the only paper that deals with air cargo schedule recovery is Delgado et al. (2020) . In their work, they propose a mixed integer programming model to redesign an operational schedule in an air cargo network and introduced three comparison schemes to estimate the cost of rescheduling. For a recent review for the literature regarding air cargo operations, please refer to Feng et al. (2015) . What emerges from the above review is that the problem of cargo route adjustment in response to last-minute demand disruptions has been given little attention in the literature at the operational level. This problem has a number of special characteristics: time is a limited resource, there is no predefined flight list and minor adjustments to the base planning scheme must be doable. The principal contributions of the present article that distinguish it from prior studies may be summed up as follows: a) We develop a model that can react to cargo demand disruptions in the short run. The proposed formulation is not comparable to reactive models of passenger air transport where demand disruptions are of a different nature, caused typically by weather and flight delays or cancellations. b) The proposed model simultaneously handles aircraft routing, cargo routing and changes in the base plan, while attempting to deviate as little as possible from the base plan through the use of penalties. c) We develop a fast mathheuristic solution procedure that can provide high quality solutions in short computation time. d) We explore the potential benefits to the recovery process obtained by allowing the cargo for a given order to be transported by various aircraft. The remainder of this paper is organized into four sections. Section 2 models the problem to be solved, setting out the notation, the main assumptions and the cargo assignment policies. Section 3 describes the proposed solution method, including the column generation technique and the heuristic developed to solve each subproblem. Section 4 reports the computational results for a set of air cargo instances with demand disruption used to test the model. Finally, Section 5 presents our conclusions. In this section, we define and formulate the flight rescheduling problem to react to cargo demand disruptions in the short run. This problem simultaneously addresses two types of decisions: flight scheduling and cargo routing. Flight scheduling decisions determine which new flights to add to the base plan, and which to cancel. In cargo routing, the model must decide the orders to transport, how much of each order to accept, and their corresponding routing. In what follows, we provide a formal definition, give a mathematical formulation for the problem and present two cargo assignment policies. An airline operates a fleet of k in K aircraft. Each aircraft has a subnetwork it can operate over and which is delimited by various operating restrictions or landing rights that prevent it from operating freely over the entire airport network. The fleet is heterogeneous, with each plane having a given load capacity (CAP k ), initial and final locations {0 + k , 0 − k } at either end of the recovery horizon and a base plan FB k to which adjustments must be as few as possible. During the recovery horizon, there is a set of orders P = {1, …, |P|} to be fulfilled. An order i is defined by a freight rate r i , a strategic factor ϕ i , a pickup node i + where the cargo specified in the order is loaded and a delivery node i − where it is unloaded, both nodes located at an airport and with its respective time window and loading/unloading time. The start of the pickup time window represents the order release time while the end of the delivery time window represents the delivery deadline. The strategic factor can be used to give priority to original orders or certain specific clients. Each node in the cargo network is an event representing a take-off', landing or stopover at a given airport with its corresponding loading and unloading of an order or parts thereof. The arcs connecting the nodes are ground arcs (representing airport stopovers) if both are located at the same airport, and flight legs if they are located at different airports. Besides, there is a set of macronodes which consolidates all the pickup and/or delivery nodes for the orders to be transported by a given aircraft to or from a single airport and thus defines an origin or destination node for the corresponding flight leg in the base plan. Fig. 1 shows an illustrative example of the aircraft routing using macronode representation. In the figure, the aircraft first picks up orders {1,2,3} which constitutes the first macronode. Then it flies to the second macronode at airport B, where it delivers order 2 and picks up order 4. Finally, the aircraft continues to airport C where orders {1,3,4} are delivered. The proposed problem is a variant of the pickup and delivery problem with time windows (PDPTW) (Dumas et al., 1991; Cordeau et al., 2002; Parragh et al., 2008) . Adjustments and constraints have been added to the classic formulation to adapt it to the case of air cargo. In what follows we set forth the main assumptions of the model, its notation and mathematical formulation, and then introduce the decomposition method for solving it. The proposed model makes the following assumptions: a) Cargo cannot be transferred between aircraft (i.e., no transhipments). b) Load capacity restrictions are expressed in terms of weight, in keeping with industry practice. c) No penalties are applied for orders in the base plan that are partially or fully undelivered within the recovery horizon. However, the strategic factor ϕ i can be used to give priority to original orders or to strategic clients as was explained at the beginning of section 2. Sets K Set of aircraft, k = {1, …, |K|} P Set of orders P = {1,…,|P|}. Let i ∈ P. The pickup node for order i is then i + and its delivery node is i − . P k Set of orders that can be carried by aircraft k, P k ⊆P. Set of pickup and delivery nodes that can be visited by aircraft k, including the initial and final location nodes {0 + k , 0 − k } at the start and end of the recovery horizon, respectively. Set of arcs that can be operated by aircraft k, Set of pickup and/or delivery nodes constituting a macronode n ε S. Set of macronodes. The mathematical formulation of the proposed model is set out below. subject to: The objective (1) of the model is to maximize profit, that is, the revenue received on the set of orders multiply by the strategic factor less the operating costs and the penalty costs imposed for base plan flight cancelations. Constraints (2) and (3) together trigger a penalty each time a base plan flight is cancelled or operated by a different aircraft. Constraints (4) and (5) impose that each aircraft k starts (ends) at the initial (final) node of the recovery horizon. Constraint (6) ensures continuity between consecutive nodes of a feasible route. Constraint (7) sets the arrival time for each node. Constraints (8), (9), (10) and (11) relate to the load capacity restrictions for aircraft k. Constraint (12) sets the maximum amount of cargo that can be picked up at a given pickup node. Constraint (13) ensures that the amount of cargo picked up at a pickup node is the same as the amount delivered at the corresponding delivery node. Constraint (14) obligates an aircraft visiting a pickup node to visit the corresponding delivery node. Constraint (15) restricts arrival times for each node to their time windows. Finally, constraints (16)-(17) define the nature of the variables. The model is not linear in constraints (7), (8) and (10). For (7) and (8), the non-linearity is corrected by introducing big-M parameters as proposed by Cordeau (2006) . Constraint (10), on the other hand, can easily be replaced by a set of linear restrictions. Also, the problem has symmetries, which makes it challenging to solve. Let's consider a partial solution of the instance depicted in Fig. 1 that contemplates only airports A and B. Let's examine three recovery solutions rec 1 , rec 2 , and rec 3 in which the following decision variables take a value of 1: In this case, the three recovery solutions transport the same orders with the same operating cost (second term of the objective (1)) since the three solutions execute the same flight between airports A and B. Moreover, if the base plan is base = (x 3 + ,2 + ; x 2 + ,1 + ; x 1 + ,4 + , x 4 + ,2 − ) we can also observe that none of the recovery solutions imposes a penalty cost for base plan flight cancelation even though the x variables differ between the recovery and base plan solution. In this paper, we analyze two different cargo assignment policies: i) P1 where orders can be partially accepted or continuously divisible, thus allowing the cargo for a given order to be transported by various aircraft, each one picking up a partial order. ii) P2, under this policy orders must be delivered completely or not delivered at all, thus avoiding partial orders. The latter is a common practice in the industry where separating customers load is considered a poor service and often not accepted by clients. The idea behind the study of these two policies is to quantify how much an airline loses by preventing the same order to be transported in different aircraft or by accepting partial orders. Note that under policy P2, if an order is accepted, the complete cargo must be transported by a single aircraft if the capacity constraint is satisfied. If the weight exceeds the remaining capacity, the full order is offloaded. Since the problem as set out above in (1)-(17) is NP-hard (Savelsbergh and Sol, 1995) , solving it exactly would be very costly in computation time. This could well mean the exact solutions the model eventually finds in response to last-minute changes in cargo demand would not be generated quickly enough to be useful in the real-world applications the model is intended for. Some other approach is therefore required. Various solution methods have been developed for solving PDPTW problems, most of which have been either exact (Sigurd et al., 2004; Ropke et al., 2007; Ropke and Cordeau, 2009) or metaheuristics (Ropke and Pisinger, 2006; Qu and Bard, 2012; Cherkesly et al., 2015) . For our PDPTW-variant problem we propose to combine the two methods in the form of a matheuristic algorithm, a technique that combines the use of heuristics with mathematical programming models (Maniezzo et al., 2010) . Since the problem has a block structure, we can solve it using the Dantzig-Wolfe decomposition (Dantzig and Wolfe, 1960) . In the present case, this means the formulation is first decomposed into a restricted master problem (RMP) and a set of k subproblems (KSPs), each of which generates feasible routes for a given aircraft. The linear relaxation of the RMP is then solved using the column generation approach (Wolsey, 1998; Barnhart et al., 1998; Desrosiers and Lübbecke, 2005; Feillet, 2010) while the KSPs are tackled under a heuristic approach. The definitive solution employs an approach which consists in solving a restricted version of the RMP that includes only those columns generated by solving the linear relaxation. The formulations of the restricted master problem and the kth subproblem are set out below. The sets, parameters and additional variables in the RMP are as follows: The profit associated with route r of aircraft k; a vector whose elements are the coefficients of each family of variables Y k r , defined as The dot product C k r .Y k r is therefore the value of the profit for aircraft k, in the original objective function, evaluated in the solution or route generated by the kth subproblem. q k i + ,r : The cargo at pickup node i + assigned to aircraft k flying route r; part of the family {q i + } i + ε P r in vector Y k r . 3.1.1.3. Variables. x k r : A binary variable, equal to 1 if route r is assigned to aircraft k, otherwise 0. The RMP can now be formulated as follows: The objective (18) of the RMP can be described as a convex linear combination of the values of the solutions or routes generated by the subproblems. The |R k | subproblem solutions are used to generate a feasible solution of the original problem. Constraint (19) is a linking condition imposing the interdependence of the different subproblems, restricting cargo demand at each pickup node for order in analogous fashion to constraint (12) in the original problem. Constraint (20) is known as the convexity constraint and may be interpreted as a restriction that ensures each aircraft k is assigned only one route r from the set of routes it can feasibly fly. Constraint (21) expresses the binary nature of the decision variable, which must be relaxed to facilitate the solution of the problem and thus obtain the dual values that are then entered into the k subproblems. Each time the relaxed RMP is solved, we obtain the dual values π i for each pickup node and γ k for each subproblem. π i may be interpreted as the opportunity cost of transporting an additional unit of order i before a unit of any other order while γ k may be interpreted as the profit on the optimal route generated for aircraft k up to that point. Each satellite problem, hereafter denoted k-SP, attempts to find the optimal route for a given aircraft k and consists of all of the constraints in the original problem except linking condition (12). subject to: (2)-(11) y (13)- (17) Objective function (22) represents the reduced costs (c k ) in the original problem. The solution obtained is a feasible route for aircraft k without considering the demand constraints. If the OF value or reduced cost given by the solution to (22) is greater than 0, the route is beneficial for the problem and is incorporated into the RMP. Since the search for an exact solution of the RMP would involve an exponential number of columns (every feasible route for each aircraft), we propose to solve it using a column generation approach in which the RMP has a limited number of initial columns and new columns are added as the k-SP subproblems are solved heuristically. Then for any k-SP, if the heuristic solution for the final route generated is a positive reduced cost, the corresponding column is added to the RMP and the contrary case is discarded. The column generation algorithm is iterated until no more subproblems are found that have generated columns with positive reduced cost. Once this procedure is completed, the RMP is solved (imposing the binary variable constraint) for a restricted version of the problem that includes only those columns generated up to that point. This solution methodology is summarized in Fig. 2 . Since at the first iteration no columns have yet been added to the RMP, a set of initial columns must be generated. Three such sets are in fact generated for each aircraft as follows: 1) Base Plan. This set consists of three routes (columns) for each aircraft. One of them is the base plan itself while the other two are obtained by applying to it respectively two local search operators, one denoted drop and add, the other swap, as will be described below in Section 3.2.2. If the base plan is no longer feasible after disruptions have occurred, it is made feasible by adjusting the time windows and loads. 2) Deadheading. This set of columns is for the case in which an aircraft flies directly from the initial to the final airport ([0 k + , 0 k − ]) without taking any orders. 3) Additional Columns. This set consists of three columns for each aircraft. One of them is a route specified by a construction heuristic while the other two are obtained by applying to the route respectively the same two operators applied for the base plan column set. The construction heuristic generates routes for all of the aircraft in parallel. This is done to get routes that are more balanced (Labadie et al., 2016) . The heuristic proceeds by first adding an order to each of the routes, then adding a second one, and continuing iteratively until all orders have been routed. Each new order i so added is inserted at the end of the route, its pickup node i + first and its delivery node iimmediately thereafter. In each case, the new order is the one with the lowest insertion cost. In formal terms, this procedure is as follows: Let j be the last order inserted into route k so far, and L k p be the number of pending orders that can be carried by aircraft k. Then the next order i * to be inserted will be the one that satisfies i * = argmin i in L k p {c j − ,i + +c i + ,i − +c i − ,0 k − } and the time window and load capacity constraints. When the procedure terminates, each aircraft k will have a route of type {0 k + , i + , i − , p + , p − , …, 0 k − }. There may, however, be some orders that have not been routed, in which case the procedure attempts to insert both their pickup and delivery nodes into the positions that generates the greatest profit. Seven initial columns are thus generated for each aircraft. In other words, the RMP begins with 7k routes. The heuristic for solving the subproblems is described in detail in what follows. The k-SP heuristic proceeds in two major sequential stages: initialization and local search. In the initialization stage, an initial feasible route is created for each subproblem. This route is then subjected to various modifications in the local search stage by different operators whose probability of being chosen for the task is updated over time. The local search stage terminates when either the maximum number of iterations Ω is reached or all of the operators have been executed with no further improvements in the objective function. A simplified flow diagram of the heuristic algorithm is shown in Fig. 3 . Below we explain in detail the two stages, the operators used in the local search stage and the updating of each operator's probability of being chosen. In the initialization stage, the heuristic randomly chooses an initial route for each k-SP from among the feasible routes for the corresponding aircraft k inserted up to that point into the RMP (i.e., the RMP columns) and recalculates the chosen route's profit as given by the objective function for k-SP (Eq. (22)). Thus, as the heuristic advances through the iterations, the set of candidate routes for the initial solution increases in number. In the local search stage, certain routes are modified without taking account of the existence of routes created for other aircraft up to that point. Interaction with other subproblems takes place in the process of solving RMP, which supplies the dual values for the subproblem's objective function. Seven different operators are utilized to modify the initial route (column) added to the RMP. To be accepted, a modification must improve the level of profit as given by the OF. Four of the operators change the positions of orders on a single route, the fifth exchanges an order with an unassigned one and the remaining two change the number of orders either by eliminating one already on the route or inserting a new one. This is explained in greater detail below in Section 3.2.2.1. The choice of operators is made randomly on the basis of their efficiency. For each operator h, we initialize the efficiency E * h = 1. If operator h is used at a certain iteration and the objective function improves, then E new Finally, the probability of choosing an operator h is defined as This formulation increases the probability of choosing operators that have achieved high levels of efficiency in improving the OF value. Intra-route operators: These four order operators are the intra-route operators used in Cherkesly et al. (2015) . The intra-route request exchange operator modifies the positions of two orders i and j on a given route by exchanging pickup position i + with j + and delivery position iwith j -. Intra-route request relocate attempts to relocate order i to its best position on the route. The remaining two operators, intra-route multiple request exchange and intra-route multiple request relocate, exchange and reposition truncated routes, i.e., subroutes of an order. The truncated route for an order i is the subset of a route whose initial and final nodes are that order's pickup and delivery nodes. It also satisfies the conditions that the aircraft departs the initial node with no other cargo than that for order i and departs the final node with no cargo at all. The swap operator, based on the swap routed and covered customers operator developed by Sharif and Salari (2015) , exchanges an order belonging to route k with another order belonging to the list L p of pending orders. These latter are orders that have not yet been incorporated into a route, and are ordered from higher to lower unit profit. For an order i, unit profit is given by g i = ϕ i r i − π i , where π i is the dual of the cost derived from Eq. (19) in the RMP problem. For a given route k, this operator proceeds through the entire list L p searching, for each order i ∈ L p , its best exchange option with order j on route k, where "best" means the option that most improves total route profit. Note that in any swap of orders between k and L p , neither of the two change in size. This operator, also proposed by Sharif and Salari (2015) , increases the length of the route by inserting orders into route k from the pending order list L p . The operator inserts each order i ∈ L p in its best position, where "best" means the position that most improves total route profit. Delete: This operator proceeds through each route k, eliminating orders one by one to test whether doing so improves the route's total profit. Note that the operators described above represent cargo assignments under policy P2 since they only modify the sequence of nodes that are visited, but they do not optimize the nodes' cargo assignments. In this section we describe the computational experiments we carried out to test the proposed matheuristic under the two cargo assignment policies. We start describing the benchmark used to compare our results, we then introduce the experimental design and ends this section by analysing the results. To test the performance of the proposed matheuristic under the two cargo assignment policies, we compared its results with two benchmarks: i) MIP, the solution of the optimization model (1)-(17) using Gurobi's MIP solver; ii) FIX Route, the solution of the model with the routes fixed as in the base plan. The latter benchmark in effect measures the impact of disruptions on the base plan when only the routing and amount of each order to be carried can be optimized. We study the performance of our proposed matheuristic and the two benchmarks in two sets of experiments. The first experiment is inspired by the real operation of an airline. The second experiment is presented to test our model in a broader set of instances. Our base experiment involves a recovery horizon of 3 days. In the network under study operates a fleet of 4 Boeing 777, with capacity of 100 tons each, and an operating cost of 10,000 US $/hr. The fleet size considered is consistent to the freighter fleet of carriers as KLM and Singapore airlines (Royal Dutch Airlines, 2018; Singapore Airlines, 2018) . Each aircraft is available to fly across the network, i.e., there are no flight restrictions. The initial and final locations for each aircraft, obtained from the base plan, are presented in Table 1 . The base plan is obtained from data provided by an airline that has preferred to remain anonymous. Due to the lack of detailed information for the base plan, we assumed that each order travels between the origin and destination of a flight segment. This means that each flight segment of the base plan only carries one order. In this way, the base plan has 32 flights in total that visit 15 airports, shown in blue in Fig. 4 . The average flight time in the network is 5.3 h, with a range between 45 min and 14 h. To create the disruption scenario, we added 15 new orders (47 in total), equivalent to a 30% increase in the total demand of the system. These new orders request the incorporation of an additional airport to those visited in the base plan: Montevideo (MVD), shown in yellow in Fig. 4 . Based on the information provided by the airline about loads transported on itineraries of different weeks, we create a histogram with 20 buckets (ranges) of possible weight for each order and built the corresponding cumulative distribution function. Thus, to generate the weight of each order, first, a random variable between 0 and 1 is obtained, which represents the probability of selecting a specific bucket. After having chosen the bucket, another uniform random variable is used between the minimum and maximum value of that bucket to establish the weight associated with that order. A time window of 12 h was defined by both pick-up and delivery. We test our base experiment with 4 alternative penalty values (ω k n,m =2500, 5000, 10,000, 20,000). These penalty values represent between 5% and 40% of the operating cost of the average flight leg. To test our model under a wider range of conditions, we carried out several experiments using a modification of the AA instances in Ropke and Cordeau (2009) for the PDPTW. A total of 10 demand disruption instances were tested, the number of orders varying between 30 and 75. Each instance has a planning horizon of T = 600, a time window width of W = 60 and an aircraft load capacity of CAP = 15. For each instance a square space is assumed measuring [0, 50] x [0,50] and the initial and final locations are chosen randomly. Thus, the average distance between two different location is approximately 26 (0.52⋅50). The base plan is then drawn up reflecting the initial condition of the orders and the aircraft locations at the start and end of the planning horizon. The instances with disruptions are constructed from the changes to the initial condition, which may be either of two types: i) a modification in the demand (weight) of the original orders, and ii) the appearance of new orders. The modifications in the original orders are determined by a factor φ̃U[0, 1]. If φ ≤ l 1 , the order is unchanged; if l 1 < φ ≤ l 2 , the order changes and if φ > l 2 , the order disappears, that is, falls to zero (in the wake of the disruption). In the case of a change, the new demand is given by D For each instance, α⋅|P| new orders are generated where α̃U[0, η] and η <1. For each new order, both its pickup and delivery locations are also generated according to a uniform distribution over the square space and demand is D ĩU [5, CAP] . To define the time windows for order i, the earliest time (e i + ) is first set for the pickup node by a uniform distribution on the interval [0,T-t i + ,i − ], where t i + ,i − is the direct travel time between the pickup and delivery nodes, and the latest time (l i ) is then calculated as l i + = e i + + W. The time windows for the delivery node are then given by e i − = e i + + t i + ,i − and l i − = e i − + W. Since in the case of a disruption, the cargo airline has the option of not taking an order or taking it only partially if it is not profitable, a separate freight rate r i is generated for each one. For this purpose it is assumed that the cost of carrying a complete order i from its pickup node to its delivery node (c i + ,i − ) is a percentage θ of the total customer freight Thus, the freight rate for i is given by r i = F i /D i . The values for the parameters (l 1 , l 2 , z 1 , z 2 , η, g 1 , g 2 ) in our tests were set at (0.3,0.85,0.7,1.2,0.2,0.05,0.2). Note that even if an order disappears (demand falls to zero), it must still be taken into account given that it is part of the base plan. This may occur in situations where the flight crew of the aircraft go off duty at a specific airport or the aircraft must undergo maintenance. Finally, the size of the fleet of aircraft was set at 7. A summary of the 10 instances is given in Table 2 , showing for each one the numbers of original, new, disappeared and modified orders. In this experiment, we consider penalty values that are higher in percentage terms than the one used in our base experiment. In particular, each of the 10 instances was tested with 3 alternative penalty values (ω k n,m =10, 15, 20) representing between 38% and 77% of the operating cost of the average flight leg. Thus, for the 10 instances there were 30 test cases. The proposed matheuristic algorithm was coded in Python 2.7, and Gurobi 8.0 was used to solve the optimization models (RMP) at each iteration. The different instances were run on a computer with an Intel Core i5 2.6 GHz processor and 8 GB of RAM. For the proposed matheuristic, given the random nature of the choice of initial columns and of operators in the local search stage of the heuristic, it is highly likely that successive runs of the same instance will produce different results. Also, in a certain period of timesay, 1 hthe heuristic may be executed more than once. A stopping criterion was therefore imposed, consisting of whichever of the following three conditions is satisfied first: i) G it , the maximum number of global runs, reaches 10; ii) Δ, the number of global iterations with no improvement in the objective function value, reaches 3; iii) τ, the maximum run time, reaches 3600 s. We also set a solution time limit of 1 h for both benchmarks. Table 3 shows the results in terms of revenue, operating and cancellation costs for the proposed matheuristic under the two cargo assignment policies (P1 and P2) and the two benchmarks under different penalty values. The table also shows the percentage increase in profit compared with the MIP. From the table, we first observe that independent of the penalty for flight cancelation, any of the three recovery strategies (MIP, P1 and P2) achieve total profits that are more than three times higher than those obtained by the FIX Route where the flight legs executed are the same as in the base plan. If we compare between recovery strategies, both P1 and P2 achieve higher profits than MIP with the exception of P2 when the penalty for flight cancelation equals 20.000. The matheuristic under cargo assignment policy P1 is the one that achieves the higher profits, with an average increase compared with the MIP of a 26.4%, while under P2 this profit increase reach 19.3%. The extra profits obtained by P1 can be explained by the added flexibility of allowing to transport partial orders, where the policy can choose to make a mix of non-complete orders that maximize the profit obtained. In terms of the number of orders transported, we observe from Table 4 , on the one hand, that the FIX Route is the strategy that carries fewer orders due to its inability to adapt its routes to the new disrupted scenario, resulting in many orders not served. On the other hand, the MIP benchmark is the strategy that transports a greater number of orders. However, near 17% of all the orders transported under the MIP benchmark correspond to partial orders compared to an average of 5% for P1. Transporting more orders does not always traduce to higher revenues when compared with the two proposed policies. For example, under penalty factor 20.000 the MIP strategy transport a total of 41 orders (35 complete and 6 partials) while P1 40 and P2 38, but the revenue obtained by these two proposed strategies are 14% and 5% higher than that achieved by the MIP. As expected, P1 transport the same or more orders than P2 due to the flexibility of transporting partial orders. Note than in general, the acceptance of partial orders under P1 rarely occurs. In terms of computation time, both P1 and P2 are orders of magnitude faster than the MIP, with no instance taking more than 1 min for both proposed strategies. Moreover, under P2, the average solution time is less than half a second, showing the potential of the proposed matheuristic in helping practitioners by delivering recommendations in a short time. The longer solution times presented by P1 are explained because during the matheuristic, every time the capacity of the aircraft is exceeded, an optimization model must be resolved, which, despite being fast to solve, can be called several times during the process. These results demonstrate that allowing flexibility in carrying partial orders allows for incremental profits for an airline. However, these extra profits come at a cost: solving a more complex model during a disruption, with longer computational times and the negative impact it can have on the relationship with the client. The results for the test cases are set out in Table 5 . For each one, the first column lists the type of instance (AA), the number of orders and the penalty value (ω=20,15,10). Columns 2 and 3 give the results for the MIP benchmark, columns 4 and 5 for the FIX Route benchmark, while columns 6 through 8 and 9 through 11 do the same respectively for the proposed matheuristic under policy P1 and P2. In each case, the values reported are the objective function value (i.e., profit) and the solution time. In the case of the matheuristic policies, the number of global iterations is also given in the table. The best solution for each instance among the four approaches is indicated in bold type and an asterisk appear if the solution found is optimal. As can be seen, in 25 of the 30 cases either matheuristic P1 or P2 produced the best OF value while in two additional cases (AA30_ω20 and AA45_ω20) it equalled that of the MIP. While P1 obtain the best results in 18 cases, P2 does it in 9. In the three remaining cases, all of which had few orders (30, 35, 40), MIP performed best but the matheuristic averaged just 1.5% below it and in no case was more than 3% lower. Over all 30 cases, the matheuristic OF values under P1 reveal that the profits it obtained averaged 54.2% higher than MIP and 15.3% higher than FIX Route, while for P2 the increment in profits reach 48.9% and 11.4% respectively. From the results, we observe that an extra 3% in profits on average is obtained in these test cases by allowing the flexibility that a given cargo to be transported by more than one aircraft. Regarding the effect of the different penalty values, the MIP results generally deteriorated as the penalty was reduced. Even FIX Route produced higher OF levels than MIP for cases of more than 35 orders when the penalty ω = 15, and more than 30 orders with ω = 10. The reason for these results might be that the smaller is the penalty, the less restrictive is the problem in the sense that there are more alternative routing possibilities, making the solution more difficult to find. This in turn may explain why a reasonably good solution within the run time limit might not be found. Indeed, there were cases such as AA45_ω15 and AA65_ω15 where MIP simply did not identify a feasible integer solution at all within the time limit. As for solution times, the matheuristic under P2 produce the fastest computation among all the strategies. While the average solution time under P2 reach 12 s, under strategy P1 almost reach 1000 s. As regards the benchmarks, MIP managed to solve to optimality only in four cases within the time limit while FIX Route achieved the best times compared with the MIP simply because it solved a restricted version of the original problem in which cargo was routed across a network with fixed flights. These test outcomes taken together demonstrate that both of the proposed matheuristic delivered better results than either of the two benchmarks within the imposed time limit. Furthermore, incremental benefits in the order of 3% can be obtained by allowing flexibility in carrying partial orders. We propose a solution approach for the problem of last-minute adjustments to cargo flight schedules made to recover from disruptions in short-run demand. It is built around a reactive model based on the pickup and delivery problem with time windows (PDPTW) that is designed to be used with real-world air cargo operations. The formulation simultaneously solves the flight scheduling, aircraft routing and cargo routing stages while attempting to deviate as little as possible from the base plan through the use of penalties for modifications to flight leg planning. We develop a matheuristic algorithm to solve the model that combines heuristics with mathematical programming techniques. It employs the column generation method in which subproblems are solved heuristically in order to determine the optimal route for each cargo aircraft. Based on this matheuristic algorithm, we study two cargo assignment policies. The P1 policy allows orders to be continuously divisible, thus allowing the cargo for a given order to be transported by various aircraft. The second policy (P2) only permits delivering complete orders if they are accepted. The performance of the matheuristic was measured on two sets of experiments: The first inspired by the real operation of an airline and the second experiment involving 10 instances with disruption of demand that vary from 30 to 75 cargo orders. Each instance was tested at three different penalty levels for departures from the base flight planning, giving a total of 30 test cases. The results of the matheuristic were compared to those generated by two benchmarks, one being the direct solution of the model using a commercial MIP solver and the other simply being the solution with the routes fixed as in the original flight planning only allowing the cargo to be re-routed. Our results show that the matheuristic under policy P1 achieves the best results in terms of profit with an average that was 54% greater than for MIP and 15% greater than for the fixed (original planning) routes. In comparison, policy P2 shows profits that are, on average, only 3% lower than P1 but with solution times on averaged 80 times faster. The foregoing suggests that the proposed approach combining mathematical programming and heuristics holds significant promise for use as an operational tool in making cargo flight planning decisions under demand uncertainty and the need for rapid response. Our experiments also show that incremental benefits in the range of 3-5% can be obtained by allowing cargo for a given order to be transported by various aircraft. Even though, this practice is often not accepted by clients, it opens the door for airlines to offer their customers a wider range of transportation services at reduced rates. Future research will aim at developing a robust planning approach for cargo flights that can readily incorporate changes in demand in the construction of efficient itineraries. Branch-andprice: column generation for solving huge integer programs Applications of operations research in the air transport industry Demand driven dispatch: a method for dynamic aircraft capacity assignment, models and algorithms World Air Cargo Forecast Demand disruption and coordination of the supply chain with a dominant retailer A population-based metaheuristic for the pickup and delivery problem with time windows and LIFO loading A branch-and-cut algorithm for the dial-a-ride problem VRP with Time Windows Decomposition principle for linear programs Recovering from demand disruptions on an air cargo network Air cargo scheduling: integrated models and solution procedures A new approach for air cargo network planning Column Generation The pickup and delivery problem with time windows Airline scheduling: an overview A tutorial on column generation and branch-and-price for vehicle routing problems Air cargo operations: literature review and comparison with practices The recoverable robust tail assignment problem Integrated airline fleet and crew robust planning Integrated recovery of aircraft and passengers after airline operation disruption based on a GRASP algorithm Cargo eChartbook Q1 A robust mathematical model and heuristic algorithms for integrated aircraft routing and scheduling, with consideration of fleet assignment problem A heuristic approach based on shortest path problems for integrated flight, aircraft, and passenger rescheduling under disruptions Metaheuristics for Vehicle Routing Problems Planning for robust airline operations: optimizing aircraft routings and flight departure times to minimize passenger disruptions Scheduling and fleet routing models for transportation systems The integration of Taiwanese and Chinese air networks for direct air cargo services Airline schedule planning: integrated models and algorithms for schedule design and fleet assignment Solving the integrated airline recovery problem using column-androw generation Annals of Information Systems A mixed-integer programming approach to air cargo fleet planning A survey on pickup and delivery problems Integrated flight scheduling and fleet assignment under airport congestion Supply chain coordination with demand disruptions A GRASP with adaptive large neighborhood search for pickup and delivery problems with transshipment Airline fleet assignment with time windows Branch and cut and price for the pickup and delivery problem with time windows An adaptive large neighborhood search heuristic for the pickup and delivery problem with time windows Models and branch-and-cut algorithms for pickup and delivery problems with time windows Rerouting aircraft for airline recovery A robust fleet-assignment model with hub isolation and short cycles Fleeting with passenger and cargo origin-destination booking control General pickup and delivery problem A GRASP algorithm for a humanitarian relief transportation problem Scheduling transportation of live animals to avoid the spread of diseases An integrated model and solution algorithms for passenger, cargo, and combi flight scheduling Optimal dispatching strategy on an airline network after a schedule perturbation Aircraft schedule recovery problem-a dynamic modeling framework for daily operations A risk averse approach to the capacity allocation problem in the airline cargo industry Integer Programming Coordination of supply chain after demand disruptions when retailers compete Optimal flight scheduling models for cargo airlines under alliances Air cargo fleet routing and timetable setting with multiple on-time demands A two stage heuristic algorithm for the integrated aircraft and crew schedule recovery problems A math-heuristic algorithm for the integrated air service recovery We acknowledge the support of the Chilean Fund for Scientic and Technological Development (FONDECYT) through Project 11140436. Under policy P1 the proposed model allows aircraft to pick up part of an order from a node and the nodes can be visited by more than one aircraft. The cargo assignment (CA) method must assign an amount of cargo (q k i ) to each node i on each route r generated by the operators while satisfying the load capacity restrictions (8)-(11) in the original problem. It does this by greedily assigning each of the nodes its full demand sequentially, in the order in which the aircraft visits them. If this results in the aircraft's load capacity being exceeded, the cargo reassignment (CR) linear optimization problem shown below is executed to redistribute the cargo among the nodes. The method thus has a hybrid function. This sequential approach, first applying the greedy algorithm and then the CR program only if capacity constraints are violated, is much faster than simply applying the LP to every case.(CR)subject to:where P r is the set of orders that correspond to the nodes visited on route r. The objective of this problem is to maximize profit on the transport of the set of orders associated with the route. Constraint (A2) prevents any cargo from being assigned to the initial and final nodes on the route associated with the start and end of the planning horizon. Constraint (A3) ensures that the cargo at the pickup and delivery nodes for each order is the same. Constraints (A4) and (A5) impose that the cargo associated with a pickup be non-negative and less than the order's total demand. Constraints (A6) and (A7) restrict the continuity of the cargo. Constraint (A8) is the aircraft load capacity restriction. Finally, (A9) and (A10) define the nature of the variables. Supplementary data to this article can be found online at https://doi.org/10.1016/j.jairtraman.2020.101939.