A compact optimization model for the tail assignment problem

Similar documents
Transportation Timetabling

Solution Repair/Recovery in Uncertain Optimization Environment

Optimization Model Integrated Flight Schedule and Maintenance Plans

1 The low cost carrier

UC Berkeley Working Papers

Mathematical modeling in the airline industry: optimizing aircraft assignment for on-demand air transport

Flight Schedule Planning with Maintenance Considerations. Abstract

Optimization Model and Solution Method for Operational Aircraft Maintenance Routing Problem

The aircraft rotation problem

Weekly airline fleet assignment with homogeneity

SERVICE NETWORK DESIGN: APPLICATIONS IN TRANSPORTATION AND LOGISTICS

Preemptive Rerouting of Airline Passengers under. Uncertain Delays

Scenarios for Fleet Assignment: A Case Study at Lion Air

Airline Scheduling: An Overview

Tactical and Operational Planning of Scheduled Maintenance for Per-Seat, On-Demand Air Transportation

Impact of Landing Fee Policy on Airlines Service Decisions, Financial Performance and Airport Congestion

IMPROVING THE ROBUSTNESS OF FLIGHT SCHEDULE BY FLIGHT RE-TIMING AND IMPOSING A NEW CREW BASE

Applying Integer Linear Programming to the Fleet Assignment Problem

Airline flight scheduling for oligopolistic competition with direct flights and a point to point network

American Airlines Next Top Model

An Efficient Airline Re-Fleeting Model for the Incremental Modification of Planned Fleet Assignments AHMAD I. JARRAH 1

Schedule Compression by Fair Allocation Methods

Airline Schedule Development Overview Dr. Peter Belobaba

Airline Scheduling Optimization ( Chapter 7 I)

We consider the airline fleet assignment problem involving the profit maximizing assignment

A RECURSION EVENT-DRIVEN MODEL TO SOLVE THE SINGLE AIRPORT GROUND-HOLDING PROBLEM

ATTEND Analytical Tools To Evaluate Negotiation Difficulty

Technical Memorandum Number 777. Scheduling Multiple Types of Fractional Ownership Aircraft With Crew Duty Restrictions

Including Linear Holding in Air Traffic Flow Management for Flexible Delay Handling

An optimization model for assigning 4Dtrajectories to flights under the TBO concept

Airlines Crew Pairing Optimization: A Brief Review

Abstract. Introduction

Heuristic technique for tour package models

Tail Assignment with Multiple Maintenance Locations Using Network Model

A Review of Airport Runway Scheduling

Aircraft Arrival Sequencing: Creating order from disorder

PRAJWAL KHADGI Department of Industrial and Systems Engineering Northern Illinois University DeKalb, Illinois, USA

An Airline Crew Scheduling for Optimality

Decreasing Airline Delay Propagation By Re-Allocating Scheduled Slack

Worldwide Passenger Flows Estimation

Plagued by high labor costs, low profitability margins, airspace and airport congestion, high capital and

1-Hub or 2-Hub networks?

Optimization of Fleet Assignment: A Case Study in Turkey

Two Major Problems Problems Crew Pairing Problem (CPP) Find a set of legal pairin Find gs (each pairing

Depeaking Optimization of Air Traffic Systems

INTEGRATE BUS TIMETABLE AND FLIGHT TIMETABLE FOR GREEN TRANSPORTATION ENHANCE TOURISM TRANSPORTATION FOR OFF- SHORE ISLANDS

Maximization of an Airline s Profit

A Study of Tradeoffs in Airport Coordinated Surface Operations

Appendix B Ultimate Airport Capacity and Delay Simulation Modeling Analysis

Airfield Capacity Prof. Amedeo Odoni

ONLINE DELAY MANAGEMENT IN RAILWAYS - SIMULATION OF A TRAIN TIMETABLE

Integrated Aircraft Scheduling Problem: An Auto-Adapting Algorithm to Find Robust Aircraft Assignments for Large Flight Plans

Automatic Aircraft Cargo Load Planning with Pick-up and Delivery

MIT ICAT. Robust Scheduling. Yana Ageeva John-Paul Clarke Massachusetts Institute of Technology International Center for Air Transportation

Fleet Assignment Problem Study Based on Branch-and-bound Algorithm

Modeling Crew Itineraries and Delays in the National Air Transportation System

A Branch-and-Price Approach for Operational Aircraft Maintenance Routing

A Duality Based Approach for Network Revenue Management in Airline Alliances

Simulation of disturbances and modelling of expected train passenger delays

Scheduling Aircraft Landings under Constrained Position Shifting

Decision aid methodologies in transportation

Airport Gate Assignment A Hybrid Model and Implementation

Dynamic Airline Scheduling: An Analysis of the Potentials of Refleeting and Retiming

OPTIMAL PUSHBACK TIME WITH EXISTING UNCERTAINTIES AT BUSY AIRPORT

A GRASP for Aircraft Routing in Response to Groundings and Delays

Proceedings of the 2014 Winter Simulation Conference A. Tolk, S. Y. Diallo, I. O. Ryzhov, L. Yilmaz, S. Buckley, and J. A. Miller, eds.

Integrated Disruption Management and Flight Planning to Trade Off Delays and Fuel Burn

DMAN-SMAN-AMAN Optimisation at Milano Linate Airport

A decomposition approach to determining fleet size and structure with network flow effects and demand uncertainty

TAXIWAY AIRCRAFT TRAFFIC SCHEDULING: A MODEL AND SOLUTION ALGORITHMS. A Thesis CHUNYU TIAN

Passenger-Centric Ground Holding: Including Connections in Ground Delay Program Decisions. Mallory Jo Soldner

Airline Boarding Schemes for Airbus A-380. Graduate Student Mathematical Modeling Camp RPI June 8, 2007

Transit Vehicle Scheduling: Problem Description

Fuel Cost, Delay and Throughput Tradeoffs in Runway Scheduling

Predicting Flight Delays Using Data Mining Techniques

Best schedule to utilize the Big Long River

FLIGHT OPERATIONS PANEL

Aircraft and Gate Scheduling Optimization at Airports

Activity Template. Drexel-SDP GK-12 ACTIVITY. Subject Area(s): Sound Associated Unit: Associated Lesson: None

Duty-Period-Based Network Model for Crew Rescheduling in European Airlines. Abstract

Project: Implications of Congestion for the Configuration of Airport Networks and Airline Networks (AirNets)

Runway Length Analysis Prescott Municipal Airport

Integrated Optimization of Arrival, Departure, and Surface Operations

CHAPTER 5 SIMULATION MODEL TO DETERMINE FREQUENCY OF A SINGLE BUS ROUTE WITH SINGLE AND MULTIPLE HEADWAYS

1. Purpose and scope. a) the necessity to limit flight duty periods with the aim of preventing both kinds of fatigue;

SIMAIR: A STOCHASTIC MODEL OF AIRLINE OPERATIONS

Airline Disruption Management - Perspectives, Experiences and Outlook

Optimized Itinerary Generation for NAS Performance Analysis

Azerbaijan AAR-OPS-1 SUBPART Q. 21-Nov-2014

Integrated aircraft and passenger recovery with cruise time controllability

RECEDING HORIZON CONTROL FOR AIRPORT CAPACITY MANAGEMENT

Draft Concept Alternatives Analysis for the Inaugural Airport Program September 2005

Transfer Scheduling and Control to Reduce Passenger Waiting Time

PRESENTATION OVERVIEW

According to FAA Advisory Circular 150/5060-5, Airport Capacity and Delay, the elements that affect airfield capacity include:

Real-Time Control Strategies for Rail Transit

An Analysis of Dynamic Actions on the Big Long River

MIT ICAT M I T I n t e r n a t i o n a l C e n t e r f o r A i r T r a n s p o r t a t i o n

An Assessment of the Impact of Demand Management Strategies for Efficient Allocation of Airport Capacity

Measure 67: Intermodality for people First page:

Transcription:

CentraleSupelec Laboratoire Génie Industriel Cahier d Études et de Recherche / Research Report A compact optimization model for the tail assignment problem Oumaima Khaled, Michel Minoux, Vincent Mousseau, Stéphane Michel, Xavier Ceugniet CER16 02 Juin 2016

A problem Oumaima Khaled Laboratoire Genie Industriel, CentraleSupélec, Université Paris-Saclay, Grande Voie des Vignes, 92290 Chatenay-Malabry, France France Lab, IBM, Gentilly, France Michel Minoux Laboratoire d Informatique de Paris 6, Université Pierre et Marie Curie, 4 Place Jussieu, 75005 Paris, France Vincent Mousseau Laboratoire Genie Industriel, CentraleSupélec, Université Paris-Saclay, Grande Voie des Vignes, 92290 Chatenay-Malabry, France Stéphane Michel, Xavier Ceugniet France Lab, IBM, 1681 Route Des Dolines, Les Taissounieres Hb2, 06560 Valbonne, France Abstract This paper investigates a new model for the so-called Tail Assignment problem, which consists in assigning a well-identified airplane to each flight leg of a given flight schedule, in order to minimize total cost (cost of operating the flights and possible maintenance costs) while complying with a number of operational constraints. The mathematical programming formulation proposed is compact (i.e. involves a number of 0 1 decision variables Corresponding author Email addresses: oumaima.khaled@centralesupelec.fr (Oumaima Khaled), michel.minoux@lip6.fr (Michel Minoux), vincent.mousseau@centralesupelec.fr (Vincent Mousseau), stephane.michel@fr.ibm.com, CEUGNIET@fr.ibm.com (Stéphane Michel, Xavier Ceugniet ) Preprint submitted to Elsevier May 28, 2016

a a a aa! a " be of much reduced dimension as compared with previously known compact models. Computational experiments on series of realistic problem instances (obtained by random perturbation of a real-world data set) are reported. It is shown that with the proposed model, current state-of-the art MIP solvers can efficiently solve to exact optimality large instances representing 30-day flight schedules with typically up to 40 airplanes and 1500 flight legs connecting as many as 21 airports. An extension of the model taking into account maintenance constraints is also investigated. Keywords: Tail assignment, Aircraft routing, Maintenance routing, Integer linear program, OR in airlines 1. Introduction The airline sector is characterized by very high operational costs, strong regulations, and a complex planning process. In todays competitive environment a permanent concern for companies is to utilize the available resources (crew personnel, gates, airport slots, aircraft..) in the most efficient way. This fact has led large companies to constantly improve efficiency of the planning process via all kinds of optimization models and tools. The airline planning process is typically divided into several subproblems, which are usually addressed and solved sequentially: 1. Timetable construction based on traffic forecast between cities / airports; 2. Fleet Assignment, which consists in deciding which fleet (i.e. aircraft type) is going to operate each flight in the timetable; 3. Crew planning (or: rostering) which is to assign crew personnel to the various flights; 4. Tail Assignment, which is to allocate a specific airplane (identified by its tail number) to each flight leg; 5. Recovery planning, which aims at adjusting the schedule in case of unexpected events (airport closure, absence of crew, delays, etc.). 2

F a a# #a a$ % & '# a such as (Gopalan and Talluri, 1998; Barnhart et al., 2003). In this paper, we are interested in the Tail Assignment problem, also referred to as aircraft routing problem (Kabbani and Patty, 1992; Clarke et al., 1997). As mentioned above, Tail Assignment is the problem of deciding which individual airplane should be assigned to each flight in order to optimize some objective function (minimizing assignment costs and/or maintenance costs) under a number of structural or operational constraints. The main constraints to consider in the Tail Assignment problem are those specifying whether it is possible to successively operate two given flights with the same airplane. This implies compliance with (a) a minimum time condition; (b) an equipment continuity condition. Condition (a) aims at ensuring that a minimum time is left for cleaning, changing crew and passengers, and preparing aircraft for the next flight. Condition (b) enforces the arrival airport of the first flight to be the same as the departure airport for the second flight. Besides this, we have to take into account a set of initial conditions which impose that each airplane should start from an initial airport defined in advance. In addition to the above basic constraints, other types of restrictions may arise such as: constraints prohibiting some specified airplanes to land on some specified airports for a variety of reasons (noise, unavailable equipment, etc.); various types of maintenance constraints, the discussion of such constraints is postponed to section 4 of the present paper where it will be shown how they can be incorporated into our model; other constraints, less frequently considered, can also be mentioned such as achieving balanced flight duration among the airplanes, or limiting the number of landings in some specified airports per airplane (Jünger et al., 2003). 3

( " aa & )'% & a#* constraints can be taken into account in our tail assignment model. In the last two decades, the Tail Assignment problem has been extensively studied in the Operations Research literature, see for instance (Klabjan, 2005) (Sherali et al., 2006). There are two main mathematical programming formulations which underly most existing work, namely: (a) the so-called set packing/partitioning model which is noncompact in the sense that it involves a number of decision variables depending exponentially on the problem size parameters. In these models, each 0-1 decision variable corresponds to a string, i.e. an ordered sequence of flights that originates and terminates at airports with maintenance facility. Since the number of feasible strings is usually much too large tobehandledexplicitlybyproblemsolvers, itrequirestheuseofthesocalled column generation technique (additional strings being generated as needed in the course of the optimization process). If exact optimality is required, column generation has to be combined with Branch and Bound (this is referred to as Branch and Price see e.g. (Barnhart et al., 1998)). (b) the so-called integral multi-commodity flow formulation (Levin, 1971) which is a compact model in the sense that its size (number of 0-1 decision variables and number of constraints) is a polynomial function of the problem size parameters (number of aircraft, number of flight legs); The column generation approach is widely used to solve airline operation problems. This approach was initiated by the work of (Minoux, 1984)(Lavoie et al., 1988) on the crew pairing problem and then followed by many studies in different airline fields specially in fleet assignment and aircraft routing (Daskin and Panayotopoulos, 1989)(Kabbani and Patty, 1992)(Hane et al., 1995)(Desaulniers et al., 1997)(Barnhart et al., 1998)(Sarac et al., 2006). (Cordeau et al., 2001) and (Mercier et al., 2005) apply column generation 4

)' a$ & a '* t" " a * source constraints representing maintenance requirements. The model is solved by a combination of Benders decomposition and Branch-and-Price. The pricing problem is solved by a constrained shortest path algorithm. These formulations are completely different from the one proposed in the present paper. The second well known formulation is based a multi-commodity flow model. The first proposal of such a (compact) formulation for the aircraft routing problem seems to be due to (Levin, 1971). The problem was formulated as an integer linear program with 0,1 decision variables (x k ij) which take the value 1 if and only if flight i and j are successively operated by airplane k corresponding to a sequence between two successive flights i and j. The number of variables in this problem is O( F 2 P ) where F and P are respectively the total number of flights in the timetable and the total number of airplanes. In the present work, we introduce an improved compact formulation for the Tail Assignment problem featuring only O( F P ) variables which, to the best of our knowledge, appears to be new. As compared with Levin s model, our model features much reduced size. More precisely, carrying out the comparison on the 80 instances solved in section 4, we find a reduction factor ranging from 32 to 78, with an average value of 55. Among these, we can mention an instance composed of 1210 flight legs, 40 airplanes and 20 airports involved, implying 2855040 binary decision variables in Levin s model, while the new model only features 48400 binary variables; the number of 0 1 variables in this example is reduced by a factor 59, thus enabling us to get exact optimal solutions within less than 1 hour CPU time. The much larger size of Levin s model would make the exact resolution considerably more time consuming, and this most probably explains why no exact optimal solutions to instances of comparable size seem to have been reported in the literature with multi-commodity flow based models (such models however have been used by several authors as a basis for the development of various approximate solution approaches, see (Kabbani and Patty, 1992)). As will be shown through extensive computational experiments, the new 5

&'a a # fa a a a & problem with standard state-of-the art MIP solvers. The paper is organized as follows. The new compact 0-1 linear programming formulation for a basic version of the tail assignment problem (i.e. without handling of the maintenance constraints) is presented and discussed in section 2. Section 3 is devoted to an extensive computational study of the model. Results are reported for exact solution of instances featuring up to about 1500 flight legs and a fleet with up to 50 airplanes. Section 4 then discusses the various types of maintenance constraints and shows how to include the most important ones into the model at the expense of only moderate increase in problem size. 2. Modeling the Tail Assignment problem 2.1. Problem definition The problem addressed is described by means of a timetable including a specified set of flight legs, where each fight leg i is defined by a departure airport a ր i, an arrival airport a ց i, a departure time t ր i and an arrival time t ց i. n f denotes the number of flight legs and the set of flight legs is F = 1,..,i,..,n f. A typical timetable is shown in Table (2). The Tail Assignment problem aims at defining for each specific airplane ofagivenfleet, thesubsetofflightswhichshouldbeoperatedbythisairplane in such a way that: (a) all flights of the timetable are covered; (b) total cost is minimized. The set of airplanes considered is indexed by j = 1,...,n p, we set P = {1,2,...n p }. In the assignment process, each flight i from the timetable is assigned to an airplane j P = {1,...,j,...,n p } and the corresponding cost c ij issupposedtobeknownandgiven. Evenif, inpracticethetailassignment problem often concerns an homogeneous fleet (i.e. a set of airplanes having similar technical characteristics), the model to be proposed doesn t rely on any homogeneity assumption. In particular, if several distinct airplanes are capable of operating a given flight i, the associated costs are allowed to be different. 6

I a # & +a ($ a present section (i.e. not considering maintenance), there are four main types of constraints that should be accounted for when assigning airplanes to flights: (C1) Flight coverage: this classical constraint requires that each flight i F should be covered by exactly one airplane j P. (C2) Equipment continuity: airplane j can be assigned to flight i which departs from airport k only if it has previously landed in the same airport k early enough. This guarantees that airplane j is actually positioned in airport k = a ր i considering its previous flights. (C3) Initial conditions: these constraints specify that every airplane j must departfromitsinitialpositiondenoteda 0 j. Inotherwordsthedeparture airport of the first flight i operated by an airplane j must correspond to the initial position of the airplane: a ր i = a 0 j (C4) Turn time constraints: the last type of constraints states that a minimum allowed time interval t, called either ground time or turn time, is necessary between the arrival and departure of an airplane. Thus, two flights i and i can be carried out in sequence by the same airplane only if a ց i = a ր i and t ց i t ր i t Definition 2.1. An assignment of airplanes to flights will be called a feasible flight plan if it satisfies all the constraints 1 to 4 above. 2.2. Mathematical programming Formulation We now formulate the problem as a binary linear programming problem with F P 0-1 decision variables x ij, where: 1 if flight i is operated by airplane j x ij = 0 else The objective is to minimize the total assignment cost i F j P c ijx ij where, for each i F and j P, the cost c ij of assigning airplane j to flight i is known and given. (1) 7

T,-./ 01 234,4536 7899,:; F The set of flights: F = {1,...,i,...,n f } P The set of airplanes to plan: P = {1,...,j,...,n p } A The set of airports: A = {1,...,k,...,n k } a ց i a ր i t ց i t ր i t c ij a 0 j F ց k F ր k Arrival Airport of flight i Departure Airport of flight i Arrival time of flight i Departure time of flight i Minimum time on ground needed between an arrival and a departure time Cost of assigning flight i to airplane j The airport corresponding to the initial position of airplane j at the beginning of the horizon The set of flights which land in airport k The set of flights which take off from airport k F ց k (θ) The set of flight i Fց k such that t ց i θ t F ր k (θ) The set of flights i Fր k such that t ր i < θ as: Using the notation subsumed in Table (1), the proposed model is stated Minimize i F j P c ijx ij (2) s.t. j P x ij = 1, i F i F ց k (tր)x i j i i F ր k (tր)x i j x ij i (3) j P, k A\{a 0 j}, i F ր k (4) i F ց k (tր)x i j i i F ր k (tր)x i j x ij 1 i j P, k = a 0 j, i F ր k (5) x ij {0,1}, i F, j P (6) The objective function (2) represents the cost of assigning airplanes to 8

t$< + flight coverage constraints (3) ensure that each flight i should be assigned to a single airplane j. Constraints (4) and (5) aim at ensuring both conditions (C2) (equipment continuity) and (C4) (turn time constraints) as explained below. Let t = min i F t ր i, and t = max i F t ց i. Given any solution x to (3)-(6), for any θ [t,t], for any j P and k A, the expression: B(j,k,θ) = i F ց k (θ) x ij i F ր k (θ) x ij represents the difference between the number of landings (not later than time θ t) and the number of take-offs (strictly before time θ) for airplane j and at airport k (net balance between landings and take-offs). With this notation, constraint (4) for j P, k A\{a 0 j}, i F ր k expresses the fact that setting x ij = 1 is only possible if B(j,k,t ր i ) 1. And constraint (5) for j P, k = a 0 j, i F ր k expresses the fact that setting x ij = 1 is only possible if: 1+B(j,k,t ր i ) 1 It is readily realized that any feasible plan complying with Definition 2.1 necessary satisfies constraints (4) and (5). The following proposition shows that, conversely, any feasible solution to program (3)-(6) corresponds to a feasible plan. Proposition 2.2. Any feasible solution to the system (3)-(6) is a feasible plan. Proof. Let x denotes any feasible solution to (3)-(6) and for any airplane j P, let S j = {i 1,i 2,...,i p } denote the subset of flights i such that x ij = 1 in this solution, ordered according to non decreasing values of departure time i.e: t ր i 1 t ր i 2... t ր i p. We are going to show that all the conditions (C2),(C3), and (C4) for airplane j are satisfied. First, suppose that (4) does not hold, i.e. that a ր i 1 a 0 j. Then in this case: B(j,a ր i 1,t ր i 1 ) = 0 and since x i1 j = 1 this shows that constraints (5) corresponding to i = i 1 is violated, contradicting our assumption that x satisfied (3)-(6). Thus (C3) holds true. 9

S' " a =>?! a@ =>B! & aa j are not satisfied, and let (i,i ) denote the first pair of consecutive flights in the ordered sequence S j such that at least one of the conditions (C2) or (C4) does not hold true. First assume that this is so because (C2) is not satisfied, i.e that: a ց i a ր i. Two cases have to be examined separately, depending on whether a ր i 1 a 0 j (case 1), or a ր i 1 = a 0 j (case 2). In case 1, it is easily checked that B(j,a ր i,t ր i ) = 0. Since x i j = 1, this implies that the constraint (4) corresponding to i = i is violated, contradicting the fact that x is a solution to (3)-(6). In case 2, it is easily checked that: B(j,a ր i,t ր i ) = 1. Since x i j = 1, this implies that the corresponding constraints (5) for i = i is violated, again leading to a contradiction. In view of the above, (C2) necessary holds, which means that a ց i a ր i and if (i,i ) is the first pair of consecutive flights for which at least one out of (C2) and (C4) does not hold true, this is necessarily because (C4) does not hold true. So, assume that (i,i ) is such that a ց i a ր i = k, and, because (C4) does not hold: t ր i < t ց i + t. Again two cases have to be examined, depending on whether k a 0 j (case 3) or k = a 0 j (case 4). In case 3, it is easily checked that: B(j,k,t ր i ) = 0. Since x i j = 1, this implies that the constraints (5) corresponding to i = i is violated, and a contradiction results. In case 4, it is easy to check that: B(j,k,t ր i ) = 1. Since x i j = 1, this implies violation of the constraint (6) corresponding to i = i, from which a contradiction is obtained. From the above it is concluded that all the conditions (C2), (C3), and (C4) are satisfied for airplane j, and since this is true for any j P, the proof of Proposition 2.2 is concluded. The following proposition states the number of variables and constraints in the model (2) - (6) and shows that it is a compact model. 10

PCDEDGHJHDK LMNM Model (2) - (6) contains n f n p binary decision variables. The number of constraints is bounded by O(n f n p ), where n f and n p represent the number of airplanes and flights. Proof. Clearly the model involves n f n p decision variables (x ij ). The numberofconstraints(3)isequalton f. Thenumberofconstraints(4)isbounded by O(n f n p n a ) but is actually less than this upper bound because we just consider flights which only depart from airport k. However for constraints (5), only flights departing from the initial position of airplanes are considered ((k {a 0 j}), the number of such constraints is bounded by O(n f n p ). In practice, the number of flights is more important than the number of airplanes which is also bigger than the number of airports so we can conclude that n f >> n p > n a and the number of constraints in our mathematical formulation will be O(n f n p ). As already pointed out in the introduction section, a distinctive feature of our model is that it involves much fewer decision variables and constraints as compared to other compact models existing in the literature. 2.3. Illustrative example To illustrate, we present the following example extracted from a real timetable of an airline company. The data set includes 3 airplanes and 17 flights presented in Table 2. Remember that a planning for a tail assignment problem is subjected to three conditions; Equipment continuity, Turn time constraints which is equal to 30 minutes in this example and finally initial conditions which are LYS for airplane 1, PAR for airplane 2 and MRS for airplane 3. Assignment costs are presented in Table 3. The optimal solution for this example is presented in Table 4. 3. Computational Study In this section, we report computational experiments aimed at assessing the relevance and efficiency of our compact model on real size instances of the Tail Assignment problem. 11

T,-./ O1 QR,9U./ 3V, W5XY4 459/4,-./ Flight i a ր (i) a ց (i) t ր (i) t ց (i) 1 PAR LIL 1.05.2015 10:00 1.05.2015 11:00 2 LYS NCE 1.05.2015 10:15 1.05.2015 11:10 3 MRS NCE 1.05.2015 09:30 1.05.2015 10:00 4 NCE PAR 1.05.2015 11:35 1.05.2015 12:55 5 NCE PAR 1.05.2015 11:35 1.05.2015 12:55 6 PAR LYS 1.05.2015 14:05 1.05.2015 15:05 7 PAR NCE 1.05.2015 15:10 1.05.2015 16:30 8 LIL BOD 1.05.2015 14:00 1.05.2015 15:20 9 LYS TLS 1.05.2015 18:35 1.05.2015 19:55 10 NCE LYS 1.05.2015 18:00 1.05.2015 18:55 11 TLS NCE 2.05.2015 10:05 2.05.2015 10:35 12 NCE PAR 2.05.2015 12:00 2.05.2015 13:20 13 LYS PAR 2.05.2015 09:35 2.05.2015 10:55 14 BOD LYS 2.05.2015 08:45 2.05.2015 10:00 15 PAR TLS 2.05.2015 14:00 2.05.2015 15:10 16 PAR MRS 2.05.2015 13:55 2.05.2015 15:10 17 LYS MRS 2.05.2015 11:50 2.05.2015 12:50 3.1. Data-generation procedure In order to carry out our experimental analysis and to investigate the main parameters influencing computation time (size and density), a data generation procedure producing test instances with controlled size and density has been designed (the concept of density of a problem instance will be made more precise below). It makes use of an existing large scale real data set from a domestic low cost airline in Asia (composed of 1580 flight legs over 30 days with 37 airports and 50 airplanes involved). The data-generation procedure takes as input parameters: a real parameter d [0,1] called density of the instance; 12

T,-./ Z1 [775X69/64 \3747 c ij Airplane Flight i 1 2 3 1 6804 6870 6771 2 4536 4580 4514 3 7216 7286 7181 4 1133 1144 1128 5 6185 6245 6155 6 5773 5829 5745 7 4330 4372 4309 8 5979 6037 5950 Airplane Flight i 1 2 3 10 7628 7702 7591 11 4536 4580 4514 12 9071 9159 9027 13 9278 9368 9233 14 2041 2069 2312 15 4330 4372 4309 16 4536 4580 4514 17 6597 6661 6565 9 8041 8119 8002 Table 4: Optimal solution Airplane Sequence of flights 1 2 4 6 9 11 12 15 2 1 8 14 17 3 3 5 7 10 13 16 the first and last day of the desired time period (between 1 and 30), defining the horizon h; the number of airplanes (np). The procedure constructs a subset of flights forming the timetable of the generated instance as follows : (a) First we solve the problem of determining np min, the minimum number ofairplanesnecessarytocoveralltheflightsintheset F offlightswhich have to be carried out in the specified horizon h. The initial positions of various airplanes are assumed to be the same as for the whole real data set. This problem can easily be formulated as the search for a minimum flow in a network describing the possible connections between 13

t$% " " a ' aa ' a< I a very efficiently solved by using linear programming or via a specialized network flow algorithm. We denote P the subset of airplanes used in the resulting optimum solution, np min = P, and for each airplane j P, we denote L j F the subset of flights operated by this airplane. (b) After checking that np {1,...,np min }, which is the case for all the instances of the test set as soon as np 40, we perform the following : a subset P of np district airplanes is randomly selected out of P to compose the fleet corresponding to the instances generated; (c) A subset P of d np airplanes is randomly chosen out of the set P, and the set of flights composing the desired instance is finally obtained as : L j. j P Thus the density of an instance is between the minimum number of airplanes necessary to cover all the flights of the timetable and the number of airplanes in the available fleet. Accordingly, a 100% dense instance is an instance for which the number of available airplanes is exactly equal to the minimum number of airplanes necessary to ensure feasibility. When the density is lower, more flexility is left to find feasible solutions and the problem may be expected to be easier to solve. Our experiments will confirm this guess: for higher density, increased computation times will be observed. 3.2. Computational results In order to assess the performance of the proposed tail assignment model (3)-(6), we have implemented it with Python 2.7 and Cplex Studio 12.6.2 All computations have been performed on a workstation running Intel(R) Core(TM) i7-3740qm CPU @ 2.7 GHz. Tests were carried out on 600 instances generated randomly using our data-generation procedure. Each instance corresponds to a timetable of h days of flights for p airplanes. The various instances considered in our experiments have been obtained by varying the value of the three parameters: 14

] the density d : 50%,70%,100%. the number of airplanes np : 10,20,30,40; the time horizon h : 7,15,21,30. The timetables obtained differ in terms of the value of parameter h and number of flights f. Actually, for the same value of np and h, a timetable generated with a lower density d corresponds necessarily to one with a lower number of flights f. The results presented in Table 5, 6 and 7 have been obtained by disabling the Cplex presolve option and the cut generation option for two reasons. First of all, the preprocessing function in Cplex is a black box, the behavior of which is not easily understood nor controlled. Second, the generation of cuts does not add too much to the results obtained; indeed, we could observe that there is almost no difference whatsoever between the CPU times and number of nodes obtained by activating or by disabling this parameter. A comparison between the CPU times of optimization activating or disabling Cplex presolve are presented in Table 8. We observe that there a significant gain in time obtained while activating the option. The reduction is about 30 to 50% of CPU time. The computational results obtained concern three series of instances corresponding to three different values of the density parameter (d=0.5 (Table 5), d=0.7 (Table 6), d=1 (Table 7)). The figures appearing on each line are average values for 10 distinct randomly generated instances of the following parameters: number of airplanes; horizon (in days); number of flight legs; number of variables and constraints of the resulting MIP model; number of nodes required by the tree search procedure (and, in parenthesis the maximum number of nodes over the 10 instances); the value of the residual gap (when equal to zero, this means that an exact optimal solution has been obtained for each of the 10 instances solved); value of the integrality gap upon starting the Branch-and-Bound procedure. The main comments suggested by these results are the following: 1. The values of the integrality gaps are equal to zero for many of the instances considered,except for a few of the largest ones corresponding 15

$ #a' & = +a ^!< _# " $a gaps are nonzero, their values are extremely low (typically less than 0.5%). These figures confirm that the compact formulation proposed in the present paper is indeed very strong i.e. its linear relaxation very closely approximates the integer 0-1 problem to be solved. A further confirmation of the strength of the formulation is provided in Table 10 where the average values of the percentage of integral variables in the optimal solutions to the linear relaxation are shown. In all instances considered this percentage is more than 85%. 2. The number of nodes examined in the tree-search procedure for getting exact optimal solutions are also observed to be extremely low, with an average value less than 10 and a maximum value 55 over all the instances solved; these figures are quite remarkable for such large sized 0-1 linear problems (featuring up to 59000 binary variables and 60000 constraints), and can be viewed as further evidence of the strength of the formulation. 3. In spite of the fact that the results reported in Tables 5 to 7 have been obtained with the pre-solve option of CPLEX switched off, the computation times are rather reduced, typically less than 10 minutes for a majority of the instances, and not exceeding 1.5 hour for a few of the largest instances. This clearly confirms the relevance of the model proposed here with respect to efficiently solving problems arising from practical applications; and this is all the more obvious if one considers that, whenever necessary, it is always possible to further reduce the computational effort by using CPLEX with the pre-solve option switched on: from Table 8, it can be seen that 30% to 50% reduction on the CPU time is the typical figure which can be expected from the use of this option. 4. The influence of the density parameter d on the practical difficulty of solving the problem exactly is illustrated in Table 9: for various ranges for problem size(number of variables) the average CPU times are shown for three values of the density parameter (0.5, 0.7, 1). It is seen that the computational effort significantly increases with d. In practice we observe that for most airline companies, if the number of aircraft in 16

t ' a ' a $# a a`'% the corresponding value of the density parameter should typically be in the range 90%-100%. As a typical example, considering the real data set used for generating our test instances (1580 flight legs over 30 days with 37 airports) the number of aircraft in the fleet is 50, while np min, the minimum number of aircraft necessary to cover all the flights, is equal to 47, thus resulting in a density value of 94%. Thus, for a safe anticipation of the computational effort needed w.r.t. a given practical application, the results shown in Table 7 should be taken as a more realistic reference than those of Tables 5 and 6. 17

y xh v w m n l k j i h d ge c u k s n oe sg e r q c kp oco b P H F CPU # # # nodes Residual Gap at (sec) variables constraints (max) gap % root % 18 10 20 30 40 7 102 0,09 1015 1117 0(0) 0,00 0,00 15 165 0,20 1650 1815 0(0) 0,00 0,00 21 140 0,13 1403 1543 0(0) 0,00 0,00 30 162 0,20 1619 1781 0(0) 0,00 0,00 7 188 0,92 3760 3948 0(0) 0,00 0,00 15 274 2,17 5478 5752 0(0) 0,00 0,00 21 310 4,29 6194 6504 1(5) 0,00 0,00 30 401 8,20 8020 8421 0(0) 0,00 0,00 7 290 6,80 8694 8984 0(3) 0,00 0,02 15 453 40,80 13578 14031 4(16) 0,00 0,00 21 501 60,45 15042 15543 6(9) 0,00 0,00 30 508 57,80 15231 15739 3(6) 0,00 0,00 7 379 27,14 15148 15527 2(9) 0,00 0,00 15 611 159,55 24424 25035 4(15) 0,00 0,00 21 681 204,50 27256 27937 4(16) 0,00 0,00 30 696 265,12 27832 28528 4(6) 0,00 0,00

y x{ v w m n l k j i z d ge c u k s n oe sg e r q c kp oco b P H F CPU # # # nodes Residual Gap at (sec) variables constraints (max) gap % root % 19 10 20 30 40 7 137 0,19 1374 1511 0(0) 0,00 0,00 15 217 0,51 2166 2383 0(0) 0,00 0,00 21 266 0,62 2661 2927 0(0) 0,00 0,00 30 210 0,36 2101 2311 0(0) 0,00 0,00 7 272 4,26 5438 5710 1(9) 0,00 0,00 15 442 17,84 8832 9274 1(5) 0,00 0,00 21 442 19,62 8836 9278 3(10) 0,00 0,00 30 520 29,26 10406 10926 2(9) 0,00 0,01 7 406 22,43 12180 12586 1(5) 0,00 0,00 15 625 111,73 18738 19363 3(5) 0,00 0,00 21 692 141,61 20763 21455 4(6) 0,00 0,00 30 695 154,20 20847 21542 6(15) 0,00 0,00 7 543 157,05 21712 22255 4(20) 0,00 0,00 15 857 528,73 34284 35141 5(6) 0,00 0,00 21 910 565,06 36392 37302 3(7) 0,00 0,00 30 1041 925,93 37284 38216 4(6) 0,00 0,00

y xx v w m n l k j i { d ge c u k s n oe sg e r q c kp oco b P H F CPU # # # nodes Residual Gap at (sec) variables constraints (max) gap % root % 20 10 20 30 40 7 230 0,49 2041 1542 0(0) 0,00 0,01 15 417 2,15 3932 3344 0(0) 0,00 0,04 21 496 3,47 4750 4043 0(0) 0,00 0,13 30 574 6,01 5533 4600 1(5) 0,00 0,15 7 446 18,03 8922 9368 1(3) 0,00 0,20 15 734 110,65 14672 15406 5(16) 0,00 0,24 21 881 184,53 17626 18507 8(55) 0,00 0,27 30 999 263,11 19980 20979 15(25) 0,00 0,30 7 623 101,43 18696 19319 4(6) 0,00 0,24 15 1021 616,92 30633 31654 6(9) 0,00 0,30 21 1178 910,63 35337 36515 4(5) 0,00 0,36 30 1251 1101,36 37533 38784 6(9) 0,00 0,42 7 786 318,68 31440 32226 4(10) 0,00 0,27 15 1225 2069,98 49012 50237 6(5) 0,00 0,38 21 1306 2986,84 52256 53562 10(8) 0,00 0,45 30 1494 4864,96 59764 61258 5(5) 0,09 0,47

T,-./ }1 ~39U,:5736 3V ~ 459/7 54Y,6 54Y384 U:/73.ƒ/ V3: 0,6 Y Z With presolve Without presolve p=30 470,40 1101,36 p=40 3170,41 4864,96 Table 9: Average CPU times (seconds) as a function of problem size (number of variables) and density Number of variables Density d=0,5 d=0,7 d=1 [1000-4000] 0,29 0,42 1,30 [4000-6000] 1,33 4,16 4,59 [6000-10000] 5,84 13,95 18,03 [10000-20000] 44,51 49,88 186,50 [20000-45000] 209,73 427,49 1195,68 4. Including Maintenance constraints in the model We now turn to discuss an extension of the basic model taking into account maintenance constraints. They correspond to requiring that all airplanes should regularly undergo various types of maintenance activities. Aviation authority (FAA) describes different types of maintenance which are briefly recalled below. The four major types of checks are denoted A, B, C and D. These vary in scope, duration, and frequency (Clarke et al., 1997). The first major check (denoted as Type A) actually mandated by the FAA occurs at every 65 flight-hours, or about once a week. Type A checks involve inspection of all major systems such as landing gear, engines and control surfaces. However, The second major check (designated as Type B) is performed every 300600 flight-hours, and entails a thorough visual inspection plus lubrication of all moving parts such as horizontal stabilizers and ailerons. The very major checks referred to as Type C and D are done about once every one to four 21

T,-./ 0 1 :3U3:4536 3V 564/X:,. ƒ,:5,-./7 56 4Y/ 3U459,. 73.845367 43 4Y/.56/,: :/.,R,45367 (averages) Number of variables Density d=0.5 d=0.7 d=1 [1000-4000] 98,9 98,1 98,2 [4000-6000] 92,0 95,2 95,1 [6000-10000] 89,0 88,4 91,2 [10000-20000] 89,2 88,3 86,9 [20000-45000] 90,0 89,1 87,5 years, respectively, and require leaving the aircraft out of service for up to a month at a time. Because Type C and D checks are spaced at relatively large time intervals and because of the dynamic nature of the market, these two checks need not to be taken into account in maintenance scheduling. The principal concern of the airlines is in meeting Type A and B checks requirements through their self-imposed 3-day inspection and maintenance policy. Unless there are exceptional circumstances, inspections and repairs should take place at night. 4.1. Problem definition In the model described here for maintenance, we will make the simplifying, though realistic assumption that the maintenance day d for each airplane j is known in advance. This information is presented by the binary matrix m jd which is equal to 1 if airplane j take a maintenance in day d and 0 else. Only night maintenance activities are presented and will take place in the arrival airport of the last flight of the day. We define D = {1...,d,...,n d } the set of days of the planning and MA = {1,...,h,...,n h } the set of maintenance airports where maintenance activities could take place. Each maintenance airport h MA is characterized by a capacity mcap hd to welcome airplanes each day d D. Two main types of conditions are added in the proposed extended model. The first ones aim at defining the last flight of a day. In the arrival airport of 22

a t$ a aa a# ' a a a " a$ to an airplane. The second constraints are capacity constraints ensuring that all maintenance activities taking place in a maintenance airport do not exceed the capacity maintenance of this airport. 4.2. Mathematical programming formulation Maintenance incurs additional costs mc ijd related to the night maintenance activity in the arrival airport of flight i assigned to airplane j in day d. The binary decision variables used in the formulation are z ijd {0,1} where: 1 if a night maintenance takes place in the arrival airport z ijd = of flight i and it is assigned to airplane j in day d where m jd = 1 0 else Using the additional notation to the basic tail assignment problem showing in Table(11), the following is as follows: Table 11: Notation summary -Maintenance extension- MA The set of maintenance airports: MA = {1,...,h,...,n h } D The set of days of the planning: D = {1,...,d,...,n d } d ր i mc ijd Departure day of flight i Cost of assigning a night maintenance activity in the arrival airport of flight i to airplane j in day d m jd Maintenance day d for airplane j where m jd = 1 if airplane j is planned to take a maintenance in day d 0 else mcap hd Maintenance capacity of airport h in days d F d (i) The set of flights i where t ր i < t ց i and d ր i = d M(j) The set of maintenance days for airplane j where m jd = 1 23

ˆ i F j P c ijx ij + h MA i F ց (h) j P d D mc ijdz ijd (7) s.t. j P x ij = 1, i F i F ց k (tր i )x i j i F ր k (tր i )x i j x ij j P, k A\{a 0 j}, i F ր k i F ց k (tր i )x i j i F ր k (tր i )x i j x ij 1 j P, k = a 0 j, i F ր k z ijd +x i j 1, i F, i F d (i), j P, d M(j) (8) x ij z ijd, i F, j P, d M(j) (9) j P z ijd mcap hd i F ր h d D, h MA (10) x ij {0,1}, i F, j P z ijd {0,1}, i F, j P, d M(j) (11) The objective function (7) represents the total cost of assigning airplanes to fights and assigning night maintenance activities to airplanes. The last flight constraints (8) ensure that flight i is the last flight of the day d = d ր i and in its arrival airport airplane j undergo a maintenance when m jd = 1. So that there is no flight i which departs after the arrival time of flight i (t ր i < t ց i ). Constraints (9) state that if a maintenance is assigned to airplane j in the arrival airport of flight i and in day d necessarily flight i should be assigned to airplane j. Capacity constraints (10) guarantee that the sum of maintenance activities in a maintenance airport does not exceed its maintenance capacity per day. The proposed extension does not influence too much the practical difficulty of the problem because the number of additional variables (z ijd ) and additional constraints are rather limited (for a 30 day timetable, for each airplane j only 10 maintenance days are possible and for each maintenance day d, forairplanej, onlythoseflightsioperatedondaydhavetobeconsidered). In order to get a better assessment of the proposed extension, we have run it on one-month instance including 40 airplanes, 1490 flights and 21 24

a< + fa a $ a a& & a = most important ones) can be considered as a maintenance airport and that an airplane should undergo a maintenance after 3 days of flights. The characteristics of this instance and the corresponding results of the cost minimization are displayed in Table 11. This experiment provides further empirical evidence that the integration of maintenance constraints does not seem to make the problem considerably more complex: the CPU time with maintenance constraints is about twice the one observed without maintenance constraints. Table 12: Maintenance results # # CPU # Gap at variables constraints (sec) nodes root % without maintenance 59600 61090 2212,84 6 0,38 with maintenance 62320 79408 4651,21 39 0,26 5. Conclusion In this paper a new compact formulation for the tail assignment problem has been investigated. The computational results obtained have confirmed that, with the proposed model, real-size instances can be efficiently solved to exact optimality via current state-of-the art MIP solvers within CPU times compatible with operational use. All instances generated for the experiments can be used for benchmarks on other tail assignment model proposition. The instances and their solutions are available at www.lgi.ecp.fr\ Tail-assignment. To the best of our knowledge, the instances solved by our model appear to be the largest reported to be solved exactly on a standard laptop computer. The consideration of typical maintenance checks in an aircraft maintenance scheduling has been shown to be a critical one for any airline operation. We present an extension to the proposed tail assignment model taking into account 3-day maintenance. The preliminary results obtained with the augmented model show that this extension only implies rather moderate increase in size and in practical difficulty of solving the model. 25

($ & &'' a% " Š " $ the investigation of integrated models capable of simultaneously handling aircraft fleeting and routing, and, if possible, part of crew scheduling. The fact that the main available techniques for addressing aircraft routing almost exclusively relied, up to now, on column generation, has certainly been a nontrivial obstacle in view of such an integration. We hope, however, that the compact model presented here will turn out to be a useful tool for eventually bypassing these difficulties, thus opening new perspectives towards increasing the profitability of airline companies. References Barnhart, C., Belobaba, P., and Odoni, A. R. (2003). Applications of operations research in the air transport industry. Transportation science, 37(4):368 391. Barnhart, C., Boland, N. L., Clarke, L. W., Johnson, E. L., Nemhauser, G. L., and Shenoi, R. G. (1998). Flight string models for aircraft fleeting and routing. Transportation Science, 32(3):208 220. Clarke, L., Johnson, E., Nemhauser, G., and Zhu, Z. (1997). The aircraft rotation problem. Annals of Operations Research, 69:33 46. Cordeau, J.-F., Stojković, G., Soumis, F., and Desrosiers, J. (2001). Benders decomposition for simultaneous aircraft routing and crew scheduling. Transportation science, 35(4):375 388. Daskin, M. S. and Panayotopoulos, N. D. (1989). A lagrangian relaxation approach to assigning aircraft to routes in hub and spoke networks. Transportation Science, 23(2):91 99. Desaulniers, G., Desrosiers, J., Dumas, Y., Solomon, M. M., and Soumis, F. (1997). Daily aircraft routing and scheduling. Management Science, 43(6):841 855. Gopalan, R. and Talluri, K. T. (1998). The aircraft maintenance routing problem. Operations Research, 46(2):260 271. 26

a% >< (<% Œaa% ><% % _< Ž<% a% < _<% a'% G. L., and Sigismondi, G. (1995). The fleet assignment problem: Solving a large-scale integer program. Mathematical Programming, 70(1-3):211 232. Jünger, M., Elf, M., and Kaibel, V. (2003). Rotation planning for the continental service of a european airline. In MathematicsKey Technology for the Future, 675 689. Springer. Kabbani, N. M. and Patty, B. W. (1992). Aircraft routing at american airlines. In proceedings of the agifors symposium. Klabjan, D. (2005). Large-scale models in the airline industry. In M. Solomon, G. Desaulniers, and J. derosies (eds.) Column Generation, 163 195, Springer: New York. Lavoie, S., Minoux, M., and Odier, E. (1988). A new approach for crew pairing problems by column generation with an application to air transportation. European Journal of Operational Research, 35(1):45 58. Levin, A. (1971). Scheduling and fleet routing models for transportation systems. Transportation Science, 5(3):232 255. Mercier, A., Cordeau, J.-F., and Soumis, F.(2005). A computational study of benders decomposition for the integrated aircraft routing and crew scheduling problem. Computers & Operations Research, 32(6):1451 1476. Minoux, M. (1984). Column generation techniques in combinatorial optimization, a new application to crew pairing problems. In: Proceedings XXIVth AGIFORS Symposium, Strasbourg, France. Sarac, A., Batta, R., and Rump, C. M. (2006). A branch-and-price approach for operational aircraft maintenance routing. European Journal of Operational Research, 175(3):1850 1869. Sherali, H. D., Bish, E. K., and Zhu, X. (2006). Airline fleet assignment concepts, models, and algorithms. European Journal of Operational Research, 172(1):1 30. 27