Available online at www.sciencedirect.com
Electronic Notes in Discrete Mathematics 41 (2013) 391–398 www.elsevier.com/locate/endm
A heuristic approach for an integrated fleet-assignment, aircraft-routing and crew-pairing problem Valentina Cacchiani 1 DEI, University of Bologna, Bologna, Italy
Juan-Jos´e Salazar-Gonz´alez 2 DEIOC, Universidad de La Laguna, Tenerife, Spain
Abstract This paper deals with the fleet-assignment, aircraft-routing and crew-pairing problems of an airline flying between Canary Islands. There are two major airports (bases). The company is subdivided in three operators. There are no flight during the night. A crew route leaves from and returns to the same base. An aircraft route starts from one base and arrive to the other base due to maintenance requirements. Therefore some crews must change aircrafts, which is an undesired operation. This paper presents a mathematical formulation based on a binary variable for each potential crew and aircraft route, and describes a column-generation algorithm for obtaining heuristic solutions. Computational results on real-world instances are given and compared to manual solutions by the airline. Keywords: Integrated airline scheduling, heuristic algorithm, column generation, real-world application
1 2
Email:
[email protected] Email:
[email protected]
1571-0653/$ – see front matter © 2013 Elsevier B.V. All rights reserved. http://dx.doi.org/10.1016/j.endm.2013.05.117
392
V. Cacchiani, J.-J. Salazar-González / Electronic Notes in Discrete Mathematics 41 (2013) 391–398
Airline companies need solution approaches for solving complex logistic problems. Aircrafts and crews are expensive resources that need efficient utilization. They must be allocated to flights in a schedule of minimum cost subject to many rules so that each flight is covered exactly once. The rules are due to technical reasons or requirements forced by the company or by the crew unions, and insert a high degree of complexity in the logistic problems. For that reason in most of the cases the planning of the two resources are determined in a separate way. There are several attempts in the literature to optimize both resources in an integrated problem. Due to the hardness of the problem, the approaches in the literature propose heuristic procedures for solving it. See e.g. Cordeau et al [2], Mercier et al [6], Cohn and Barnhart [3], Klabjan et al [4], Mercier [5], Sandhu and Klabjan [10], Mercier and Soumis [7], Papadakos [8]) and Weide et al [11], among others. See e.g. Belobaba et al [1] for a survey. The main contribution of our paper is to develop a heuristic algorithm to solve real-world instances. These real-world instances have been considered in a research project founded by a major airline company in Canary Islands. Salazar [9] presented a mathematical model based on two-index variables for the integrated aircraft-routing and crew-pairing problem. The current paper shows an alternative model based on exponentially many variables, corresponding to feasible routes for the aircrafts and for the crews. It also presents a column-generation approach for solving the integrated problem. Section 1 describes the aircraft-routing and crew-pairing problems of our real-world application. The two problems are mathematically formulated in a single model in Section 2. A column-generation approach is described in Section 3 and computational results are discussed in Section 4.
1
Problem description
This section describes the aircraft-routing and crew-pairing problems of the airline company motivating this research. The company has 18 aircrafts to serve around 100-150 flights every day between 13 airports. The company is divided in three operators. Each operator owns some aircrafts and has some crews. Although all the aircrafts are identical (ATR72), the crews of each operator have special rules. A crew of an operator cannot operate an aircraft of another operator. The flights are not pre-assigned to operators, thus the assignment of each flight to an operator is also part of the optimization problem. This problem is usually known as fleet assignment. Due to the geographical proximity between the airports, most of the flights
V. Cacchiani, J.-J. Salazar-González / Electronic Notes in Discrete Mathematics 41 (2013) 391–398
393
take 30 minutes. No flight is scheduled during the night (i.e., between 11pm and 7am). The airport closest to the home of a crew is called base of that crew. Among the thirteen airports, only two of them are bases: TFN and LPA. A crew route must leave from and return to the same base. For each operator, the numbers of aircrafts and crews available in each base at the beginning of each day are given. Aircrafts have different types of maintenance and we emphasize the two operations affecting our problem. Long-term maintenance is scheduled during a long-term period (a year), and take several days. During this maintenance, the corresponding aircrafts are not available. Short-term maintenance takes place every two days, and is done during the night. To perform these maintenances the aircraft must be in LPA, which is the airport with all the necessary equipments. As a consequence, an aircraft that is in an airport different than LPA one night, it must be in LPA the night after. A flight is determined by the departure time, the departure airport, the arrival time and the arrival airport. Two flights can be consecutively in the route of an aircraft when the arrival airport of the first flight is equal to the departure airport of the second flight, and the departure time of the second flight is at least 20 minutes after the arrival time of the first flight. The difference between the departure time of the second flight minus the arrival time of the first flight is called connection time (also plane-turn time or sitconnection time). An aircraft is not allowed to go from one airport to another unless it is serving a commercial flight. Two flights can be consecutively in the route of a crew when the arrival airport of the first flight is equal to the departure airport of the second flight, and the connection time is between 20 minutes and 3 hours. Only one crew can be in each aircraft, thus it is not possible to move a crew from one airport to another unless it is the one serving the flight. Given a crew and two consecutive flights in the route of this crew, we say that there is an aircraft change when the aircrafts assigned to these flights are different. Analogously, given an aircraft and two consecutive flights in the route of this aircraft, we said that there is a crew change when the crew assigned to these flights are different. Aircraft changes and crew changes are not allowed when the connection time between two flights is smaller than 30 minutes. Aircraft changes are undesired because they increase the propagation of delays. An aircraft route does not have constraints on the time duration nor on the number of flights in the sequence. A crew route, instead, has constraints both on the time duration and on the number of flights.
394
V. Cacchiani, J.-J. Salazar-González / Electronic Notes in Discrete Mathematics 41 (2013) 391–398
Due to the page limitation of this article, we do not give other details of the real-world problem. However, with the above description we already have the main features of our optimization problem.
2
Mathematical Formulation
In order to model the described problem, we introduce two directed acyclic graphs: the first one, called Ga = (N, Aa ), is related to the aircrafts and the second one, called Gc = (N, Ac ), is related to the crews. The set N consists of the union of the set of nodes N f representing the flights and the set of nodes N b representing the bases (i.e. TFN and LPA). A pair of nodes (i, j) (i, j ∈ N f ) is an arc in Ac (respectively Aa ) when they represents two flights than can be consecutively in the route of a crew (respectively aircraft), or when i ∈ N b represents the departure airport of flight j ∈ N f , or when j ∈ N b represents the arrival airport of flight i ∈ N f . Note that Ac is a subset of Aa since connection times larger than 3 hours are allowed to aircrafts but not to crews. We denote by Acs the arcs with connection times shorter than 30 minutes. The operators are represented by the set K. For each operator k ∈ K kl and each base l ∈ N b , let nkl c and na be the number of crews and aircrafts, respectively, available of k in l at the beginning of the day. c c We define Rkl c the set of feasible routes in graph G = (N, A ) for a crew of b operator k ∈ K in base l ∈ N . A route is feasible if it satisfies constraints on time duration of the route and on the maximum number of flights it executes. In addition, it must respect the constraints on the departure and arrival airports and on the sequencing of flights (described above). We define Rkl a the set of feasible routes Ga = (N, Aa ) for the aircraft of operator k ∈ K starting from base l ∈ N b . A feasible route must satisfy the constraints on the departure and arrival airports (described above) in order to respect maintenance requirements. When convenient for the notation, a route R is a sequence of arcs or a sequence of nodes. Each crew route R has an associated cost cR which depends on the connection times between consecutive flights and on the operator. To model the multi-criteria nature of the problem with a single objective function we consider four weights: •
α: weight on the sum of connection times in the crew routes.
•
β: weight on the number of crew routes.
•
γ: weight on the number of aircraft routes.
•
δ: weight on the number of aircraft changes in the crew routes.
V. Cacchiani, J.-J. Salazar-González / Electronic Notes in Discrete Mathematics 41 (2013) 391–398
395
Each solution of the problem can be represented with the following binary variables. For each crew route R ∈ Rkl c let xR be a 0-1 variable such that xR = 1 if and only if the route R is assigned to a crew. For each aircraft route R ∈ Rkl a let yR be a 0-1 variable such that yR = 1 if and only if the route R is assigned to an aircraft. For each arc (i, j) ∈ Ac \ Acs let zij be a 0-1 variable such that zij = 1 if and only if an aircraft change occurs between flights i and j (i, j ∈ N f ). A mathematical formulation for the problem minimizes (α · cR + β) · xR + γ · yR + δ · k∈K,l∈N b ,R∈Rkl c
zij
(1)
(i,j)∈Ac \Acs
k∈K,l∈N b ,R∈Rkl a
subject to constraints on the crew variables: xR = 1 ∀i ∈ N f
(2)
k∈K,l∈N b ,R∈Rkl c :i∈R
xR ≤ nkl c
∀k ∈ K, l ∈ N b
(3)
∀k ∈ K, l ∈ N b , R ∈ Rkl c
(4)
R∈Rkl c
xR ∈ {0, 1}
constraints on the aircraft variables: yR = xR l∈N b ,R∈Rkl a :i∈R
∀k ∈ K, i ∈ N f
(5)
∀k ∈ K, l ∈ N b
(6)
∀k ∈ K, l ∈ N b , R ∈ Rkl a
(7)
l∈N b ,R∈Rkl c :i∈R
yR ≤ nkl a
R∈Rkl a
yR ∈ {0, 1} and constraints on the aircraft changes: xR = l∈N b ,R∈Rkl c :(i,j)∈R
k∈K,l∈N b ,R∈Rkl c :(i,j)∈R
xR ≤
yR
∀k ∈ K, (i, j) ∈ Acs (8)
l∈N b ,R∈Rkl a :(i,j)∈R
yR + zij
k∈K,l∈N b ,R∈Rkl a
zij ≥ 0
∀(i, j) ∈ Ac \ Acs
(9)
∀(i, j) ∈ Ac \ Acs . (10)
Constraints (2) impose that each flight must be assigned to a crew. Constraints (3) require to respect the maximum number of crews available for each operator at each base. Constraints (5) are linking constraints between crew and aircraft routes. They impose that each flight is executed by a crew and an aircraft of the same operator. Constraints (6) impose not to use more
396
V. Cacchiani, J.-J. Salazar-González / Electronic Notes in Discrete Mathematics 41 (2013) 391–398
than the maximum number of aircrafts available for each operator at each base. Constraints (8) concern the crew and aircraft changes for the short connections: if an aircraft route (crew route resp.) executes flights i and j such that their connecting time is shorter than 30 minutes, then a crew route (aircraft route resp.) must execute these flights. I.e. crew change (aircraft change resp.) is forbidden for connections shorter than 30 minutes. Finally, constraints (9) are used to count the aircraft changes: given two flights i and j, if they are executed in sequence by a crew route, then either an aircraft route executes them in sequence or there is an aircraft change.
3
Solution Approach
In this section, we present our solution method, which is based on the Linear Programming (LP) solution of model (1)-(10). Model (1)-(10) has exponentially many variables xR and yR (R ∈ R). We solve its LP-relaxation by column generation on both crew routes and aircraft routes. The pricing problem calls for finding routes of negative reduced cost and corresponds to an Elementary Shortest Path with Resource Constraints (ESPRC) to be computed on the acyclic graphs defined above. Once we have obtained the LP-solution, we execute a depth-first truncated branch and price until we find the first integer solution. At each node of the decisional tree, we construct the values of the flows along the arcs in graph Gc = (N, Ac ) for the crews, based on the values of the route variables xR ∈ R. Then, we select to branch on the node i ∈ N f of graph Gc such that it has the highest fractional flow on its outgoing arcs (i.e. the highest number of outgoing arcs with positive flow). We consider a binary branching. In particular, in order to keep the decisional tree balanced, we apply the following branching rule. We order the outgoing arcs (i, j) according to the time instant associated to the departure time of the flight j. Let f be the total value of the flow from node i along its outgoing arcs. In the first generated child, we forbid the use of the first set of outgoing arcs (in the order) such that the sum of their flows is at least f /2. In addition, we forbid to use node i as a terminal node for the route. In the second generated child we forbid the use of the remaining set of outgoing arcs. At each generated child, we forbid to use and to generate routes that contain forbidden arcs. At each node of the decisional tree, column generation is applied again for both crews and aircrafts. A depth-first strategy is used in order to dive towards an integer solution. The process is iterated until an integer feasible solution is found.
V. Cacchiani, J.-J. Salazar-González / Electronic Notes in Discrete Mathematics 41 (2013) 391–398
4
397
Computational Results
To measure the performance of the approach described in the previous section we have considered a set of real-world instances. They correspond to the first week of September 2012. We have considered the following values for the weights: α = 2 for the connections between 20 and 30 minutes, α = 1 for the connections between 30 minutes and one hour, α = 3 for the connections between one and two hours, α = 5 for the connections between two and three hours; β = 1000, γ = 1000 and δ = 10. The presented algorithm has been implemented in C. All tests were performed on a pc CORE i5-2400 3.10GHZ, 16GB Ram and Cplex 12.4 was used to solve the LP-relaxation models. Table 1 reports, for each instance, the number of flights (#f) to be scheduled, the solution found by our approach (Col-gen Heur) and the solution generated by the airline (Manual). In particular, for each method, it shows the number of aircrafts (#a), the number of crews (#cr) and the number of aircraft changes (#ch) used in the solution. In addition, for our solution, the table reports the computing time expressed in seconds (time) and the percentage gap (gap%) from the lower bound. As it can be seen, our method is able to compute heuristic solutions with small gaps in reasonable computing time. In addition, with respect to the solutions computed by the airline, our method is able to reduce the number of aircrafts and/or crews for all instances. Col-gen Heur
Manual
Inst.
#f
#a
#cr
#ch
time
gap% #a
#cr
#ch
1
102
13
22
6
437
0.34
14
24
8
2
140
15
28
7
3634
0.22
17
28
7
3
130
14
25
6
4212
0.44
15
26
6
4
124
13
24
5
2341
0.27
13
25
5
5
124
13
24
5
2940
0.38
14
25
4
6
128
13
25
5
4543
0.34
13
26
4
7
150
15
28
7
9913
0.26
15
30
5
Table 1 Comparison between the proposed method and the airline solutions.
398
V. Cacchiani, J.-J. Salazar-González / Electronic Notes in Discrete Mathematics 41 (2013) 391–398
References [1] P. Belobaba, A. Odoni, C. Barnhart. “The Global Airline Industry.” John Wiley & Sons, West Sussex, United Kingdom, (2009). ISBN 978-0-470-74077-4. [2] J.F. Cordeau, G. Stojkovic, F. Soumis, J. Desrosiers. “Benders decomposition for simultaneous aircraft routing and crew scheduling.” Transportation Science 35 (2001) 375-388. [3] A.M. Cohn, C. Barnhart. “Improving crew scheduling by incorporating key maintenance routing decisions.” Operations Research 51 (2003) 387-396. [4] D. Klabjan, E. L. Johnson, G. L. Nemhauser. “Airline crew scheduling with time windows and plane count constraints.” Transportation Science 36 (2002) 337-348. [5] A. Mercier. “A Theoretical Comparison of Feasibility Cuts for the Integrated Aircraft-Routing and Crew-Pairing Problem.” Transportation Science 42 (2008) 87–104. [6] A. Mercier, J.F. Cordeau, F. Soumis. “A computational study of Benders decomposition for the integrated aircraft routing and crew scheduling problem.” Computers & Operations Research 32 (2005) 1451-1476. [7] A. Mercier, F. Soumis. “An integrated aircraft routing, crew scheduling and flight retiming model.” Computers & Operations Research 34 (2007) 2251-2265. [8] N. Papadakos. “Integrated airline scheduling.” Computers & Operations Reserch 36 (2009) 176–175. [9] J.J. Salazar-Gonz´alez. “Solving a 2-depot driver-and-vehicle routing problem.” Conference ROUTE 2011, Sitges, May 31st-June 3th, 2011. http://www.uv.es/route2011/Salazar.pdf [10] R. Sandhu, D. Klabjan. “Integrated Airline Fleeting and Crew-Pairing Decisions.” Operations Research 55 (2007) 439–456. [11] O. Weide, E. Ryan, M. Ehrgott. “An iterative approach to robust and integrated aircraft routing and crew scheduling.” Computers & Operations Research 37 (2010) 833–844.