Computers & Operations Research 34 (2007) 1516 – 1531 www.elsevier.com/locate/cor
Flight schedule design for a charter airline Daeki Kima , Cynthia Barnhartb,∗ a Korea University, Seoul, Korea b Massachusetts Institute of Technology, Cambridge, MA, USA
Available online 29 September 2005
Abstract We consider the problem of designing the flight schedule for a charter airline. Exploiting the network structure of the problem, we develop exact and approximate models and solution approaches, and compare their results using data provided by an airline. We show that quality results can be generated using the exact approach or the heuristic approach, with the heuristic approach capable of generating good solutions very quickly. 䉷 2005 Elsevier Ltd. All rights reserved.
1. Problem statement Given origin–destination (OD) markets with demand for leisure travel, we consider the problem faced by a charter airline of determining the profit maximizing flight schedule. This problem, referred to as the charter airline service network design problem, is complicated by several operating constraints and considerations, including: • Each (OD) market has fixed demand that is different by day of week, with the demand pattern repeating weekly. We assume the specified demand on day d for OD pair o1 − d1 equals that for d1 − o1 . This assumption, which ensures that passengers who fly from an origin to a destination always return to their origin, implies the same daily distribution of passenger departures and arrivals. In this application, the airline is primarily serving price-sensitive passengers who will alter their dates of travel to receive reduced fares. The airline, then, is able to affect demand so that this assumption is satisfied. ∗ Corresponding author. Tel.: +1 617 253 3815; fax: +1 781 258 5765.
E-mail address:
[email protected] (C. Barnhart). 0305-0548/$ - see front matter 䉷 2005 Elsevier Ltd. All rights reserved. doi:10.1016/j.cor.2005.07.010
D. Kim, C. Barnhart / Computers & Operations Research 34 (2007) 1516 – 1531
1517
• A customer service policy of the airline is to serve each customer with at most one stop between the passenger’s origin and destination. • The airline has a fleet consisting of different types and quantities of aircraft, with potential daily variations in the number of available aircraft. • Each night a minimum number of aircrafts of each type are required to overnight at given locations, called position locations. • Each aircraft, depending on its type and starting and ending locations, is restricted in the number of hours flown daily. The objective is to maximize the total profits associated with transporting passengers, recognizing that due to capacity constraints, not all passengers are likely to be accommodated. For each OD, passenger demand is categorized into one of two fare classes, referred to as high and low, with high-fare class customers charged a greater fee than those in the low-fare class. The total cost of transporting passengers consists of operating and carrying costs. Operating costs, expressed as a fixed cost per flight leg, differ by type of assigned aircraft, and include all costs associated with flying a leg. Carrying costs, expressed as a cost per passenger per flight leg, depend on the type of aircraft assigned and include all costs associated with serving customers on a flight leg, including reservation systems fees, meals, and baggage handling. 1.1. Trips and routes At its core, the airline service network design problem consists of two key elements—trips and routes. Each trip is a sequence of flight legs beginning and ending at the same location, with the ending location of a flight leg being the same as the starting location of the succeeding flight leg in the sequence. Each trip has exactly zero, two or three flights legs. Trips with no flight legs are null trips, representing an idle aircraft. Trips with two flight legs are referred to as non-stop or direct trips, while trips with three flight legs are referred to as one-stop or via trips. Each via trip is classified as an o-via trip, serving two OD markets sharing a common origin, or a d-via trip, serving two OD markets with a common destination. To illustrate, o1 − d1 − o1 is a direct trip serving o1 − d1 and its return; o1 − d1 − d2 − o1 is an o-via serving o1 − d1 and o1 − d2 and returns; and d1 − o1 − o2 − d1 is a d-via serving o1 − d1 and o2 − d1 and returns. We consider o1 − d1 − d2 − o1 and o1 − d2 − d1 − o1 to be equivalent trips in that they serve the same markets, independent of the order of the flight legs. An important benefit of via trips, compared to direct trips, is that 2 markets are served using 3 flight legs instead of 4. Based on a number of factors, including service requirements, competition, and demand, the airline classifies each OD market either as a direct or a via market. Direct markets are served exclusively by direct trips, while via markets are served exclusively by via trips. Moreover, each via market, say o1 − d1 , is always paired with the same via market, say o1 − d2 , in a via trip. That is, if there is a via trip o1 − d1 − d2 − o1 , then if another via trip contains o1 − d1 it also contains o1 − d2 , and vice versa. To ensure that the amount of flying performed daily by an aircraft is not excessive, each trip is assigned a unique type classification based on its flying time. Relatively short direct trips are classified as Type A, all other direct trips are classified as Type B, via trips are classified as Type C, and all remaining trips are classified as Type D. Type classifications are used to limit the way in which trips are combined to form routes, or one day of flying for an aircraft. An aircraft can fly up to three trips per day if all three trips are Type A; can fly
1518
D. Kim, C. Barnhart / Computers & Operations Research 34 (2007) 1516 – 1531
only one trip per day if it is Type D; and otherwise, can fly at most two trips per day, with at most one of these two trips being Type C. Each route is a sequence of flight legs beginning and ending at the same position location, with each flight leg departing from the location of its predecessor in the route. The flight legs correspond exactly to a set of trips, so each route could be identified with the set of trips it covers. To achieve feasible routes, each route must satisfy the following trip combination rules: 1. Subsequent flight legs in a route must have an origin and/ or destination location in common. • Example: Consider the set of trips T = {o1 − d1 − o1 , o1 − d2 − o1 , o2 − d2 − o2 }. A feasible route r covering these trips is o1 − d1 − o1 − d2 − o2 − d2 − o1 . Note that in route r, each OD is served with non-stop or one-stop service, and each flight leg in T is included exactly once. Moreover, note that the ordering of the flight legs is swapped for the last trip, with d2 − o2 occurring before o2 − d2 . This implies that passengers previously transported from o2 to d2 return to their origin and then new passengers depart from o2 to d2 . • Example: Consider the set of trips T = {o1 − d1 − o1 , o2 − d1 − o2 , o3 − d1 − o3 }. Then o1 − d1 − o2 − d1 − o3 − d1 − o1 , o2 − d1 − o1 − d1 − o3 − d1 − o2 , o3 − d1 − o2 − d1 − o1 − d1 − o3 , and others, satisfy this trip combination rule. 2. All flights in an o-via (d-via) trip must occur uninterrupted in a route. • Example: Feasible routes including an o-via trip o − d1 − d2 − o and some other trip o − d − o are o − d1 − d2 − o − d − o or o − d − o − d1 − d2 − o. • Example: Similarly, feasible routes including a d-via trip d − o1 − o2 − d and some other trip o − d − o are d − o1 − o2 − d − o − d or d − o − d − o1 − o2 − d. Note that there is no limit to the number of times per day a trip is flown. That is, a trip can be included in multiple routes, or it can be included multiple times in a single route. 1.2. Contributions and outline While flight schedule design and variants of the problem have been of interest to researchers for years, for example, Simpson [1], Chan [2], Soumis et al. [3], Etschmaier and Mathaisel [4], Berge [5], Marsten et al. [6], Erdmann et al. [7], Lohatepanont and Barnhart [8], and Armacost et al. [9], most airlines use limited optimization, if any, to design their flight schedule. To reverse this trend, Berge [5], Marsten et al. [6] and Lohatepanont and Barnhart [8] managed the joint challenges of problem size and complexity by adopting incremental approaches to schedule design, selecting from a subset of candidate flight legs those that will be added to or removed from a given (often existing) flight schedule. Although limiting the scope of possible schedule changes, the reported impacts of these approaches are significant. For example, Lohatepanont and Barnhart [8] generate revised schedules for one major airline and estimate a potential impact exceeding $200 million per year. Recognizing the inherent challenges of formulating and solving flight schedule design problems, we exploit particular problem characteristics in developing exact and heuristic service network design models and algorithms for the charter airline. Specifically, in this paper, we capture many of the problem’s constraints and complexities in a specially designed network that allows us to model the problem as a
D. Kim, C. Barnhart / Computers & Operations Research 34 (2007) 1516 – 1531
1519
classical network design problem, with simplified flows. Due, however, to its weak linear programming (LP) relaxation, a pervasive challenge in network design, long solution times are needed to produce quality solutions. By considering the special case of a single fleet type, we develop an equivalent, yet computationally different, model and a fast solution approach. We adapt the single-fleet model to create an heuristic approach to the multiple-fleet problem. In Section 2, we describe a representation of the network underlying our formulation, providing the foundation for the presentation of our model, algorithm and results in Section 3. In Section 4, we consider the simplified case of service network design with only a single-fleet type and present an alternative exact model and solution approach. Using this model, we provide computational results for a set of single-fleet problems. Then, we describe how to adapt our approach for the single-fleet problem to create an heuristic approach for multiple-fleet problems. Using data from a charter airline, we evaluate the performance of this heuristic approach by comparing its results with those achieved using our exact approach.
2. Network representation We represent the airline service design problem with a network in which the nodes correspond to trips and certain paths correspond to aircraft routes. For each day of the week, we build a daily network and link the daily networks together to form a single, weekly network. 2.1. The daily network A scheme of the daily network is depicted in Fig. 1, where nodes of the same type are grouped into blocks. The daily network consists of three types of nodes—trip nodes, position nodes, and supply nodes; and two types of arcs—route arcs and supply arcs. Position nodes: For each position location, where aircraft routes may begin and end, we create a position node. (For example, nodes 1, 2, 3 and 4 in Fig. 1.) Supply nodes and arcs: For each fleet type f, we create a supply node. Supply arcs are placed from each supply node to each trip node in column 1. Trip nodes and route arcs: We construct our network so that each feasible route, that is, each sequence of trips, corresponds to a path in our network. We define a network path to begin at the supply node for aircraft type f , contain one, two or three trip nodes, and end with a position node. To ensure that each feasible route corresponds to a path, we begin constructing the network by partitioning the set of trips into Blocks A, B, C and D. Block A consists of all type A trips, Block B of all type B trips, Block C of all type C trips (via-trips), and Block D of all type D trips (including the set of null trips, one for each position location). We arrange these blocks in columns (as shown in Fig. 1), with column 1 containing blocks A, B, C and D; column 2 containing blocks A and B; and column 3 containing block A. Each trip contained in each block is associated with exactly one trip node. Route arcs are then selectively placed to satisfy the trip combination rules described in Section 1.1, namely: • Route arcs exist from trip nodes in column 1, block A to certain trip nodes in column 2, blocks A and B. Specifically, a route arc is placed from a trip node n, with origin o and destination d, in column 1, block A to a trip node m in column 2, blocks A or B only if m has origin o or destination d.
1520
D. Kim, C. Barnhart / Computers & Operations Research 34 (2007) 1516 – 1531 Trip Nodes Block A
Block A
Block B
Block B
Block A
Supply Node Block C Supply Node Block D Position Nodes 1
2
3
4
Fig. 1. Daily network diagram.
• Route arcs exist from trip nodes in column 1, block B to trip nodes in column 2, block B and to trip nodes in column 3, block A. Specifically, a route arc is placed from n in column 1, block B with origin o and destination d to m in column 2, block B (or to p in column 3, block A) only if m (or p) has origin o or destination d. • Route arcs exist from trip nodes in column 1, block C to trip nodes in column 2, block B and to nodes in column 3, block A. Let n in column 1, block C correspond to either an o-via with start and end locations o or a d-via with start and end locations d. A route arc is placed from o-via trip node n to m in column 2, block B (or p in column 3, block A) only if m (p) has origin o. Similarly, a route arc is placed from d-via trip node n to m in column 2, block B (or p in column 3, block A) only if m (p) has destination d. • Route arcs exist from trip nodes in column 2, block A to certain trip nodes in column 3, blocks A. Specifically, a route arc is placed from a trip node n, with origin o and destination d, in column 2, block A to a trip node m in column 3, block A only if m has origin o or destination d. • Route arcs exist from each node i in each column to one or two position nodes. For each position node p corresponding to location l, a position arc is placed to p from each direct trip node with origin l or destination l, from each o-via trip with origin l, and from each d-via trip with destination l. 2.2. Daily network characteristics By construction of our network, each set of trips forming a feasible route corresponds to a path in our network. Moreover, traversing any network path backwards, beginning with the position location, call it l, a feasible aircraft route beginning and ending at l is specified. Proposition 1. Each network path corresponds to a feasible aircraft route.
D. Kim, C. Barnhart / Computers & Operations Research 34 (2007) 1516 – 1531
1521
Fig. 2. Weekly network diagram.
Proof. Without loss of generality, consider path P. For each direct trip, designate its origin and destination locations as the trip’s endnodes, denoted e1 and e2. Similarly, for each o-via (d-via) trip, designate its origin (destination) location as the trip’s endnode, denoted e. Create a graph G and for the trips contained in P, include a node for each distinct endnode. For each direct trip, include in G an arc from the trip’s endnode e1 to its other endnode e2, and from e2 to e1. For each via trip, include in G an arc from e to e. Because each path is, by design, comprised of a sequence of flight legs, with each pair of legs in the sequence sharing a common origin or destination, G is connected. Moreover, because each node has even degree, there exists a Eulerian circuit in G. This implies that beginning with any node l, there is a cycle beginning and ending at l that traverses each arc in G exactly once. In the case of direct trips, an arc corresponds to a flight leg in G and in the case of a via trip, an arc corresponds to a sequence of flight legs that must occur in succession, uninterrupted. Because at least one endnode in G corresponds, by construction, to a position location, the Eulerian circuit corresponds to a feasible route. The circuit covers exactly once each flight leg in the trips it contains, serves each OD market with at most one stop (by construction of the trip nodes), begins and ends at the same position location, and satisfies flying limits imposed to meet noise limits (by trip type classification and construction of the network). Network node removal: Network size can be reduced by removing certain trip nodes and the route arcs incident to them. The trip nodes that can be deleted do not contain an endnode corresponding to a position location and are included in: (a) block D, column 1; (b) block B, column 2; or (c) block A, column 3. Trip nodes satisfying these conditions can be purged from the network because their inclusion in an aircraft route violates the requirement that each route begin and end at position locations. 2.3. The weekly network The weekly network (depicted partially in Fig. 2) consists of the seven daily networks, one for each day of the week, and additional arcs, called ferry arcs, that link the daily networks together.
1522
D. Kim, C. Barnhart / Computers & Operations Research 34 (2007) 1516 – 1531
Ferry arcs: For each position node p and day d, the weekly network contains a ferry arc from p on day d to each position node on day d mod 7 + 1. A ferry arc from a position node corresponding to location l on day d to a position node corresponding to location m on day d mod 7 + 1 represents the possibility to reposition, or ferry, aircraft from l to m after flying the route for day d, and before flying the route for day d mod 7 + 1.
3. Problem formulation, solution approach and results Using the weekly network, we formulate the airline service network design problem as follows.
3.1. Notation Sets D F U
N(d) L(d) P (d) A(d) Y (d) S(d) R(d) A(d, i)+ A(d, i)− A(d, p)R
the set of days, indexed by d. the set of fleet types, indexed by f. the set of trip fare classes or types, indexed by u. In this application, each direct trip has exactly two fare classes, high and low. The fare classes are indexed as u = 1 and 2, with the revenue per passenger associated with u = 1 at least as great as that associated with u = 2. When two OD pairs are combined to create a via trip, the four fare classes (two for each OD) are sorted and indexed so that u = 1 is the fare class with the highest per passenger revenue, u = 2 is the second highest, and so on. the set of nodes in the daily network for day d, indexed by i, for all days d ∈ D. The f source node for fleet f ∈ F on day d ∈ D is denoted sd . the set of trip nodes for day d (including null trips), indexed by l, for all days d ∈ D. the set of position location nodes in the daily network for day d, indexed by p, for all days d ∈ D. the set of arcs in the daily network for day d, indexed by a, for all days d ∈ D. Arcs are designated as supply arcs, route arcs, or ferry arcs. the set of ferry arcs in the daily network for day d, indexed by a, for all days d ∈ D. Ferry arcs have tailnode in P (d) and headnode in P (d mod 7 + 1). the set of supply arcs in the daily network for day d, indexed by a, for all days d ∈ D. Supply arcs’ tailnodes are supply nodes. the set of route arcs in the daily network for day d, indexed by a, for all days d ∈ D. the set of arcs out of node i ∈ N(d) in the daily network for day d, indexed by a, for all days d ∈ D. the set of arcs into node i ∈ N(d)\P (d), and the set of ferry arcs into node i ∈ P (d), in the daily network for day d, indexed by a, for all days d ∈ D. the set of route arcs into node i ∈ P (d) in the daily network for day d, indexed by a, for all days d ∈ D.
D. Kim, C. Barnhart / Computers & Operations Research 34 (2007) 1516 – 1531
1523
Parameters and data: the number of seats on an fleet of type f ∈ F . the total number of available fleet of type f ∈ F on day d ∈ D. the minimum number of fleet of type f ∈ F on day d ∈ D restricted to start and end at location i. the total number of passengers of type u desiring trip l ∈ L(d) on d ∈ D. Note that demand for direct trip l with origin o and destination d equals the demand for OD o − d, and the demand for a via-trip including o1 , o2 and d (or d1 , d2 and o) is the sum of the demands for o1 − d and o2 − d (or o − d1 and o − d2 ). the net revenue received for each type u ∈ U passenger transported on trip l ∈ L(d) on day d ∈ D. Net revenue is the price per type u passenger on trip l less the associated carrying cost per passenger. the fixed cost to fly trip l ∈ L(d) on day d ∈ D with a fleet type f ∈ F . the cost to ferry a fleet f ∈ F on arc a ∈ Y (d) on day d ∈ D, where ferrying occurs during the night of day d. 1, if arc a ∈ R(d) on day d ∈ D has tailnode l corresponding to trip l; and 0 otherwise.
bf f nd f rd,i qlu
plu f
cl f ga la s
f
f
1, if arca ∈ S(d) on day d ∈ D has tailnode sd ; and 0 otherwise.
ad
Decision variable: f
ya xlu
the number of a fleet type f assigned to arc a, for all a ∈ A(d), d ∈ D, and f ∈ F . the fraction of all passenger demand of type u for trip l on day d that is transported, for all l ∈ L(d), d ∈ D, and u ∈ U .
3.2. The model (Z) Using the above notation, we formulate the airline service network design problem Z for all fleets f ∈ F as follows: f f f f max − la cl ya − ga ya d∈D l∈L(d) a∈R(d) f ∈F
+
d∈D a∈Y (d) f ∈F
plu qlu xlu
(1)
d∈D l∈L(d) u∈U
s.t :
s
f
f
f
ad ya = nd
a∈S(d)
a∈A(d,p)+
f
ya −
a∈A(d,l)+
∀d ∈ D ∀f ∈ F f
ya = 0
∀l ∈ L(d) ∀d ∈ D ∀f ∈ F
(2) (3)
a∈A(d,l)− f
ya −
a∈A(d,p)R
f
ya = 0
∀p ∈ P (d) ∀d ∈ D ∀f ∈ F
(4)
1524
D. Kim, C. Barnhart / Computers & Operations Research 34 (2007) 1516 – 1531
−
f
ya +
p∈P (d) a∈A(d mod 7+1,p)− p∈P (d) a∈A(dmod 7+1,p)R f f = nd mod 7+1 − nd ∀i ∈ P (d) ∀d ∈ D ∀f ∈ F f f ya rd,p ∀p ∈ P (d) ∀d ∈ D ∀f ∈ F a∈A(d,p)R f qlu xlu bf ya la ∀l ∈ L(d) d ∈ D u∈U f ∈F a∈R(d) f ya 0 and integer ∀a ∈ A(d) ∀d ∈ D ∀f ∈ F 0 xlu 1 ∀l ∈ L(d) ∀d ∈ D ∀u ∈ U .
f
ya
(5) (6) (7) (8) (9)
The objective is to maximize profits over the week, or equivalently as stated in (1), to maximize the difference of the net passenger revenue received and the operating costs of flying and ferrying aircraft. The fleet count constraints (2) ensure that no more aircraft are utilized than are available, for each fleet type, on each day. Although the fleet count constraints are expressed as equalities, aircraft are idle on a given day if they are assigned to null trips. The trip flow conservation constraints (3) ensure that the number of aircrafts of each type arriving into an origin and/or destination location of any trip on any day equals the number of aircrafts of each type out of a location on that day. The ferry-out constraints (4) enforce the requirement that the number of aircrafts available at the end of day d is the number of aircrafts available at the beginning of d, for each day, position location and aircraft type. The ferry-in constraints (5) similarly enforce the requirement for each day and aircraft type that the number of aircrafts available at the beginning of day d mod 7 + 1 is the number available at the end of day d plus the difference in the number of available aircraft on day d mod 7 + 1 and day d. The position restriction constraints (6) ensure that at the beginning of each day d, at least the minimum number of aircrafts of each type are positioned at location p, for each possible position location. The capacity constraints (7) ensure that on day d, the total number of assigned seats for trip l passengers is at least as great as the number of transported trip l passengers. Finally, the bound constraints (8) and (9) ensure that the number of aircrafts assigned to a trip l on day d is both non-negative and integer, and that the fraction of total passenger demand of type u on day d flown on trip l is bounded by 0 and 1. 3.2.1. Model enhancement The airline service network design problem formulation, like other network design models, suffers from the well-known problem that its LP relaxation is very weak. The problem is that the capacity constraints (7), together with the objective function, induce fractional solutions, often providing only the portion of aircraft capacity needed to fly passenger demand. To strengthen the LP relaxation, the following inequalities can be added: f xlu ya la ∀l ∈ L(d), d ∈ D, u ∈ U, a ∈ R(d). (10) f ∈F
Inequalities (10) ensure that the fraction of type u demand on trip l does not exceed the total number of aircrafts assigned to l. Thus, if all passengers of type u for trip l are transported, at least one aircraft must be assigned to trip l. One drawback of incorporating these inequalities is that for each route arc in the weekly network, there is one inequality for each fare class type u ∈ U .
D. Kim, C. Barnhart / Computers & Operations Research 34 (2007) 1516 – 1531
1525
3.3. Computational experiment We implemented Z on a Pentium III, 1.2 GHz computer with 760 MBs of RAM, using Microsoft Visual C/C++ 6.0 and Microsoft Access as a development environment. To solve the formulation we used the ILOG CPLEX 9.0 callable library.
3.3.1. Data and results The charter airline provided data describing daily market demand and fares for a typical week, fixed, carrying and ferry costs, and the flight network involving 4 aircraft types, 72 airport locations, 15 position locations, and 8284 possible flight legs. Populating (1)–(9) with this data resulted in a model with 43,066 variables, 6311 constraints and 123,444 non-zero elements in the constraint matrix. We solved the LP relaxation of this model in 190 s, obtaining an optimal solution of 18,329,423. Using CPLEX’s default MIP settings and over 1 h of run time, we were able to find a best MIP feasible solution of 16,697,385 with 4.77% optimality gap. To improve this result, we added inequalities (10) to the matrix, increasing the number of constraints by 825 and the number of non-zero elements in the constraint matrix by 63,453. The result was an improved upper bound of 17,791,002, an increase in the LP solution time to 203 s, and an improved MIP feasible solution of 16,736,103 with 4.56% optimality gap, still requiring over 1 h of run time. While providing quality solutions, these long runtimes hamper the ability of the planners to evaluate various scenarios involving changes in demand and equipment availability and to adapt the approach for real-time operations. To remedy this, we develop a faster, heuristic approach built on insights drawn from studying a special case of the problem containing only a single fleet.
4. Special case: One-fleet type We consider the special case of the charter airline service network design problem in which there exists only one-fleet type f, each aircraft with capacity b. With only one-fleet type, certain problem characteristics can be exploited to create an equivalent, but different model with a stronger LP relaxation. Begin by considering a direct trip l on day d with fare classes u = 1 and 2 and non-negative demand qlu . As pl1 pl2 , it follows that any optimal passenger assignment strategy must assign trip l passengers in increasing order of fare class to the available seats for trip l. Depending on the number of aircrafts assigned to trip l, the relative size of b, and the number of passengers ql1 and ql2 , each aircraft in an optimal solution will then have one of three possible load configurations, namely: Type t = 1, 3: b customers of fare class u = i/2 + 1, with revenue less carrying cost per trip, denoted cˆli , of bpul and a maximum number of aircrafts with this load configuration, denoted wˆ li , of ⎧ ⎢ ⎨ ⎢ ⎢ max 0 ⎣ ⎩
j =1,...,u
⎥ ⎡ ⎤⎫ ⎥ ⎬ j ⎥ j ⎥ ql /b⎦ − ⎢ q /b l ⎢ ⎥⎭ . ⎢j =1,...,u−1 ⎥
1526
D. Kim, C. Barnhart / Computers & Operations Research 34 (2007) 1516 – 1531
Type t = 2, 4:
⎢ ⎥ ⎢ ⎥ ⎢ j j ⎥ ⎣ ql − b ql /b⎦
j =1,...,u
j =1,...,u
customers of fare class u = t/2, and ⎧ ⎢ ⎛ ⎢ ⎨ ⎢ j m ⎝ min ql , b − ql − b ⎣ ⎩ j =1,...,m−1
j =1,...,u
⎥⎞⎫ ⎥ ⎬ j ⎥ ql /b⎦⎠ ⎭
customers of fare class m 2 and m = t/2 + 1, . . . , 2, with revenue less carrying cost per trip, denoted cˆlt of ⎢ ⎥⎞ ⎛ ⎢ ⎥ ⎢ j j ⎥ ⎝ ⎣ ql − b ql /b⎦⎠ plu j =1,...,u
j =1,...,u
⎧ ⎨
+
m=t/2+1,...,2
⎛
min qlm , b − ⎝ ⎩
⎢ ⎢ ⎢ j ql − b ⎣
j =1,...,m−1
j =1,...,u
⎥⎞⎫ ⎥ ⎬ j ⎥ ql /b⎦⎠ plm ⎭
and a maximum number of aircraft with this load configuration, denoted wˆ lt , of ⎧⎡ ⎥ ⎫ ⎤ ⎢ ⎢ ⎥ ⎬ ⎨ ⎢ ⎥ j j min ⎢ ql /b⎥ −⎣ ql /b⎦ , 1 . ⎢ ⎥ ⎩⎢ ⎭ ⎥ j =1,...,u
j =1,...,u
The same results, generalized to accommodate 4 fare classes, applies also to via trips. Consider an o-via or d-via trip l on day d, with fare classes u = 1, 2, 3 and 4 and non-negative passenger demands qlu . Assigning all passengers in order of increasing fare class, there are 8 possible load configurations in an optimal solution, specifically: Type t = 1, 3, 5, 7: b customers of fare class u = t/2 + 1, with revenue less carrying cost per trip, denoted cˆlt , of bpul and a maximum number of aircrafts with this load configuration, denoted wˆ li , of ⎧ ⎢ ⎥ ⎡ ⎤⎫ ⎥ ⎨ ⎢ ⎬ ⎢ j ⎥ j ⎥ max 0, ⎣ ql /b⎦ − ⎢ q /b l ⎢ ⎥⎭ . ⎩ ⎢ ⎥ j =1,...,u
j =1,...,u−1
Type t = 2, 4, 6, 8: j =1,...,u
⎢ ⎥ ⎢ ⎥ ⎢ j j ⎥ ⎣ ql − b ql /b⎦ j =1,...,u
customers of fare class u = t/2, and ⎧ ⎧ ⎛ ⎨ ⎨ min qlm , max 0, b − ⎝ ⎩ ⎩
j =1,...,m−1
⎢ ⎢ ⎢ j ql − b ⎣ j =1,...,u
⎥⎞⎫⎫ ⎥ ⎬⎬ j ⎥ ql /b⎦⎠ ⎭⎭
D. Kim, C. Barnhart / Computers & Operations Research 34 (2007) 1516 – 1531
1527
customers of fare class m 4 and m= i/2 + 1, . . . , 4, with revenue less carrying cost per trip, denoted cˆli , of ⎛ ⎝
⎢ ⎢ ⎢ j ql − b ⎣
j =1,...,u
⎛
−⎝
⎥⎞ ⎥ j ⎥ q /b⎦⎠ plu + l
j =1,...,u
⎢ ⎢ ⎢ j ql − b ⎣
j =1,...,m−1
j =1,...,u
m=i/2+1,...,4
⎥⎞⎫⎫ ⎥ ⎬⎬ j ⎥ ql /b⎦⎠ pm ⎭⎭ l
⎧ ⎨
⎧ ⎨
min qlm , max 0, b ⎩ ⎩
and a maximum number of aircrafts with this load configuration, denoted wˆ li , of ⎥ ⎫ ⎧⎡ ⎤ ⎢ ⎢ ⎥ ⎬ ⎨ ⎢ j ⎥ j ⎥ ⎢ ⎣ ql /b⎥ − ql /b⎦ , 1 . min ⎢ ⎭ ⎩⎢ ⎥ j =1,...,u j =1,...,u With these observations, we can reformulate Z for the special case of the service network design problem involving a single-fleet type.
4.1. Additional notation Sets T ∪ {0}: the set of all types of aircraft loadings, indexed by t. For t 1 and odd, loading t represents a full aircraft with only type u = t/2 + 1 fair class; and for t 2 and even, loading t represents a partially full aircraft of at least type u = t/2 fair class, or a full aircraft with passengers of at least types u = t/2 and u = t/2 + 1 fair class. Finally, for t = 0, loading t represents an empty aircraft. Decision variables: f,t ya
the number of aircrafts of type f with aircraft loading type t assigned to arc a, for all a ∈ R(d), d ∈ D, t ∈ T ∪ {0}, and f ∈ F .
Parameters and data: f,t
cˆl
f,t
cl
f,t
wˆ l
the revenue less carrying cost for trip l ∈ L(d) on day d ∈ D, assigned to a type f ∈ F aircraft with load type t ∈ T ∪ {0}. the fixed cost to fly trip l ∈ L(d) on day d ∈ D with an aircraft of fleet f ∈ F with load type t ∈ T ∪ {0}. the maximum number of aircrafts of type f ∈ F with loading type t ∈ T ∪ {0} for trip l ∈ L(d) on day d ∈ D.
1528
D. Kim, C. Barnhart / Computers & Operations Research 34 (2007) 1516 – 1531
4.2. The Formulation for one fleet (Z (f )) Using the above observations, we formulate the problem Z (f ) for fleet type f ∈ F as follows: f,t f,t f,t f f,t ga ya (11) −cl + cˆl ya la − max d∈D l∈L(d) a∈R(d) t∈T ∪{0}
s.t:
s
f
f,t
f
ad ya = nd
a∈S(d) t∈T ∪{0}
a∈A(d,l)+
t∈T ∪{0}
a∈A(d,p)+
−
d∈D a∈Y (d) t∈T ∪{0}
f,t
a∈A(d,l)−
t∈T ∪{0}
ya −
t∈T ∪{0}
f,t
and integer f,t f,t ya la wˆ l
∀a ∈ A(d)
f,t
ya = 0
a∈A(d,p)R
f,t
ya = 0
∀l ∈ L(d) ∀d ∈ D
(13)
∀p ∈ P (d) ∀d ∈ D
(14)
t∈T ∪{0}
f,t
ya +
p∈P (d) a∈A(d mod 7+1,i)− t∈T ∪{0} f f = nd mod 7+1 − nd ∀d ∈ D f,t f ya rd,i ∀p ∈ a∈A(d,p)R t∈T ∪{0}
ya 0
(12)
f,t
ya −
∀d ∈ D
f,t
ya
p∈P (d) a∈A(d mod 7+1,i)R t∈T ∪{0}
(15) P (d) ∀d ∈ D ∀d ∈ D
∀f ∈ F, ∀t ∈ T ∪ {0}
∀l ∈ L(d), d ∈ D, t ∈ T ∪ {0}.
(16) (17) (18)
a∈R(d)
Proposition 2. For every feasible solution yˆ to the LP relaxation of Z (f ), there is a corresponding solution y that is feasible to the LP relaxation of Z , where Z is Z with inequalities (10) included and F = {f }. f f,t f Proof. Substituting ya for each t∈T ∪{0} yˆa in (12)–(17) yields (2)–(6) and (8). For any such ya , constraints (7), (9) and (10) can be satisfied trivially with x = 0. Hence, for any feasible solution yˆ to the f,t LP relaxation of Z (f ), t∈T ∪{0} yˆa is feasible for Z . Proposition 3. For every feasible solution yˆ to the LP relaxation of Z with a single-fleet type, there is a corresponding solution y that is feasible to the LP relaxation of Z (f ). Proof. Let nl =
f l a∈R(d) yˆa a
represent the number of aircrafts assigned to trip l on day d. Then, for f,t f,t j each trip l and day d, let a∈R(d) ya la = MAX{0, MIN(wˆ l , nl − j =1,...,t−1 wˆ l )}, for t = 1, . . . , |T |. f,0 j Finally, let a∈R(d) ya la = MAX{0, nl − j =1,...,|T | wˆ l }. Then, y satisfies constraints (18) and for each f,t f f,t f trip l and day d, a∈R(d) t=0,...,|T | ya la = a∈R(d) yˆa la . Substituting t∈T ∪{0} ya for each yˆa in (2)–(6) and (8) yields (12)–(17). Hence, for any feasible solution yˆ to the LP relaxation of Z , y is feasible for Z (f ).
D. Kim, C. Barnhart / Computers & Operations Research 34 (2007) 1516 – 1531
1529
∗ [Z ] and z∗ [Z (f )] represent the value of the optimal objective function for the Proposition 4. Let zLP LP ∗ [Z ] z∗ [Z (f )]. LP relaxation of Z and the LP relaxation of Z (f ), respectively. Then, zLP LP
Proof. Consider a single fleet f, and any pair of feasible solutions yˆ for the LP relaxation of Z (f ) and y f,t f f,0 f f,0 for the LP relaxation of Z , as defined in Propositions 2 and 3. Let cl = cl for t ∈ T , cl = cl , cˆl = 0, f l and nl = a∈R(d) ya a . Given y, let x represent an optimal, that is, net revenue maximizing, assignment u u u . Represent this maximum total net revenue of passengers in the LP relaxation of Z u∈U pl ql xl for trip l ∈ L(d), d ∈ D by sorting the u∈U qlu xlu passengers in decreasing fare value order, and then assigning them sequentially to m = 1, . . . , nl aircraft, first to aircraft m = 1, then to aircraft m = 2 when aircraft 1 is full, until the last (that is, the u∈U qlu xlu th) passenger is assigned to the last (the nl th) f,m aircraft. Then, the net revenue rl associated with aircraft m = 1, . . . , nl for leg l ∈ L is maximal f,1 f,2 f,n given the preceding assignments, and is non-increasing with m. That is, rl rl · · · rl l . Hence, f,m f,t f,j f,t f,j by construction, rl = cˆl , for m = 1 + t−1 ˆ l , . . . , wˆ l + t−1 ˆ l and t = 1, . . . , |T |, and j =1 w j =1 w f,m f,0 f,j |T | rl = cˆl for m = 1 + j =1 wˆ l , . . . , nl . Thus, for each feasible solution to Z and/or Z (f ), zLP [Z ] (with F = {f }) f f f f la cl ya − ga y a + plu qlu xlu =− d∈D l∈L(d) a∈R(d)
=−
d∈D a∈Y (d) f f la cl ya
−
d∈D l∈L(d) a∈R(d)
−
+
− ⎡
f,m ⎢
rl
d∈D l∈L(d) m=1,...,,nl
−
d∈D a∈Y (d)
+
+
f f,t
la cl yˆa −
f,m
rl
d∈D l∈L(d) m=1,...,,nl
f f ga y a
⎤
f la ya ⎥ ⎢ ⎥ ⎢a∈R(d) ⎥
d∈D l∈L(d) a∈R(d) t∈T ∪{0}
d∈D l∈L(d) u∈U f f ga y a
d∈D a∈Y (d)
f f la cl ya
d∈D l∈L(d) a∈R(d)
nl
f f,t
ga yˆa
d∈D a∈Y (d) t∈T ∪{0} f,t f,t la cˆl yˆa
d∈D l∈L(d) a∈R(d) t∈T ∪{0} = zLP [Z (f )].
Hence, the LP relaxation of Z (f ) provides at least as tight a bound on the optimal solution as that of Z. 4.3. Solution for one fleet We implemented Z (f ) on a Pentium III, 1.2 GHz computer with 760 MBs of RAM, using Microsoft Visual C/C++ 6.0 and Microsoft Access as a development environment, and the ILOG CPLEX 9.0 callable library as our integer programming solver. We used the charter airline’s data, described in Section 3.3, this time solving the same service network design problem four times, once for each fleet type.
1530
D. Kim, C. Barnhart / Computers & Operations Research 34 (2007) 1516 – 1531
Table 1 Computational results for different models Model
Aircraft 1
Aircraft 2
Aircraft 3
Aircraft 4
LP solution
Z Z Z (f )
2,056,971 1,807,318 1,793,585
5,866,146 5,234,555 5,141,571
11,511,860 10,851,573 10,648,851
4,725,136 4,601,436 4,542,355
LP runtime(s)
Z Z Z (f )
1.1 1.2 0.7
2.3 2.4 0.6
4.2 4.5 2.5
1.8 2.5 1.0
MIP optimal solution
Z Z Z (f )
1,781,164 1,781,164 1,781,164
5,123,650 5,123,650 5,123,650
10,647,225 10,647,442 10,635,703
4,530,343 4,530,343 4,530,343
MIP runtime(s)
Z Z Z (f )
4.3 2.3 0.6
25.7 24.0 8.3
81.0 73.6 29.5
19.6 13.3 6.3
LP optimality gap
Z Z Z (f )
13.41% 1.45% 0.69%
12.66% 2.12% 0.35%
7.51% 1.88% 0.12%
4.12% 1.55% 0.27%
Table 1 summarizes its computational results, which proves that Z (f ) formulation generates tighter LP bounds than Z as well as Z. The LP optimality gaps between LP-relaxed optimal solution and MIP optimal solution were 4.12∼ 13.41% for Z, and 1.45∼ 2.12% for Z while for Z (f ), the optimality gap was always less than 0.7%. Moreover, MIP optimal solutions found to Z (f ) were generated in less than 1–30 s. Z (f ) can then serve as the core of a recovery decision support tool, allowing planners to generate, in real-time, low-cost recovery strategies for aircraft, one fleet at a time. Moreover, as described in the next section, the single fleet model can also provide the core of a heuristic approach for the multiple fleet service design problem.
4.4. Application to problems with more than one-fleet type Recognizing the drawbacks of an exact service network design approach, namely that it cannot be applied in an operational setting in which solutions are needed quickly and that finding even near-optimal solutions can pose tractability issues, we embed the single fleet model Z (f ) for fleet type f within an iterative, heuristic algorithm for the multiple-fleet, service network design problem. Our algorithm, the Sequential Solution Algorithm (SSA), is as follows: Step 1: Select an order for the aircraft types and assign an index f = 1, . . . , |F | to the ordered aircraft types. Set i = 1. Step 2: Given qlu for each d, u and l on day d, solve Z (i) for every aircraft type i. From the optimal solution y ∗i to Z (i), determine qˆlu , the number of trip l passengers on day d of fare class u assigned to type i aircraft.
D. Kim, C. Barnhart / Computers & Operations Research 34 (2007) 1516 – 1531
1531
Step 3: If i = |F |, stop; the solution is y ∗f for f = 1, . . . , |F |; otherwise let i = i + 1 and qlu = qlu − qˆlu , for each d, u and l on day d. Go to Step 2. Again using the charter airline’s data described in Section 3.3, we sorted the aircraft in order of decreasing capacity, and applied the SSA (we tested different sequencing of fleet types; however, this was the best we found so far). Within 90 s, we generated a feasible solution to the charter airline’s multiple fleet service network design problem. This solution had value 16,780,935, a 0.27% improvement over the best solution generated by our exact approach requiring over one hour of runtime. Although approximate, the computational advantages of the SSA allow it to find a better solution than that of the exact approach, in a fraction of the time. References [1] Simpson RW. Computerized schedule construction for an airline transportation system. Massachusetts Institute of Technology Flight Transportation Laboratory Report FT-66-3, Cambridge, MA; 1966. [2] Chan Y. Route network improvement in air transportation schedule planning, Massachusetts Institute of Technology Flight Transportation Laboratory Report R72-3, Cambridge, MA; 1972. [3] Soumis F, Ferland JA, Rousseau J-M. A model for large scale aircraft routing and scheduling problems. Transportation Research, Part B 1980;14:191–201. [4] Etschmaier MM, Mathaisel DFX. Airline scheduling: the state of the art. AGIFORS presentation, Strasbourg France; 1984. [5] Berge M. Timetable optimization: formulation, solution approaches, and computational issues, AGIFORS proceedings, 1994. p. 341–57. [6] Marsten RE, Subramanian R, Gibbons L. Junior analyst extraordinaire (JANE): route development at delta airlines,AGIFORS Presentation, Atlanta GA; 1996. [7] Erdmann A, Nolte A. Noltemeier A, Schrader R. Modeling and solving the airline schedule generation problem. Technical Report zpr99-351, ZAIK, University of Cologne, Germany; 1999. [8] Lohatepanont M, Barnhart C, Airline schedule planning: integrated models and algorithms for schedule design and fleet assignment, Transportation Science 2004;38:19–32. [9] Armacost A, Barnhart C, Ware K. Composite variable formulations for express shipment service network design. Transportation Science, Focused issue on Freight Transportation 2002;36:1–20.