Stern School of Business. New York University ..... reservations systems about a month before its planned start date. The nal schedule together with eeting ..... number of total aircraft so the chance of eeting it with a smaller number is remote.
Recent Advances in Exact Optimization of Airline Scheduling Problems Russell A. Rushmeier
Operations Research Department USAir
Karla L. Homan 1
Department of Operations Research & Operations Engineering George Mason University
Manfred Padberg1 Stern School of Business New York University
July, 1995
1 Supported in part by grants from the Oce of Naval Research (N-00014-90-J1324) and the Air Force Oce of Scienti c Research (F49620-90-C0022).
Abstract We discuss the formulation and solution of large scale integer optimization problems that arise in the scheduling of transport related services. We rst set the context for these problems within the airline industry by discussing the scheduling process. We then discuss the two key activities of eet assignment and crew scheduling that turn a schedule into an operational plan. We provide current formulations in terms of key objectives and constraints for both the eet and the crew assignment problems. This is followed by a discussion of the state of the art in solution methodology for each problem. We conclude with ideas about promising areas for further work in the application of combinatorial optimization to airline scheduling.
Keywords: eet assignment, crew scheduling, combinatorial
optimization, set-partitioning, mixed-integer programming, branchand-cut
Abbreviated title: Airline Scheduling
Airline Scheduling
1
1 Introduction The airline industry is faced with some of the largest scheduling problems of any industry. For example one major U.S. airline must periodically schedule approximately 2,700 ights per day to over 130 dierent cities using in excess of 400 jet aircraft of 14 dierent aircraft types. The airline must assign a speci c cockpit crew, ight attendant crew and aircraft to each of these 2,700 ight segments, requiring each of 5,600 cockpit crew employees and 8,400 ight attendants to be provided with a monthly schedule that adheres to all safety regulations and labor contract rules. and since these crews are based at eight dierent home locations, the schedules must assure that the distribution of workload is equitable among crews based at dierent locations. Moreover, the schedules provided must assure that each aircraft is properly maintained and that there is sucient ground crew at all airports to service the demand created by this
ight schedule. In order to obtain cost eective scheduling solutions to problems of such magnitude and complexity, airlines are relying more on automated mathematical procedures as a practical necessity. Our purpose in this paper is to review recent results in the successful application of large scale mixed-integer programming to two key aspects of the schedule development process, eet assignmnet and crew scheduling. In Section 2 we look at an idealized schedule development cycle for converting an airline's marketing goals and resource plans into a ight schedule. Once ights and their departure times have been essentially xed, the schedule is ready for eet assignment, i.e. the assignment of a speci c type of aircraft to each
ight leg in the schedule. Optimization models for this stage have been an active area of OR development in recent years. In Section 3 we discuss the mixed-integer programming framework typically used to initially solve the eet assignment problems. Crew represents the largest single controllable direct cost factor. Therefore airlines need to eectively assign crews to operate ights eciently. Section 4 presents the modeling framework and solution procedures for the crew scheduling problem including some new approaches for
Airline Scheduling
2
the solution of some extremely large versions of this problem. Having reviewed the eet assignment and crew scheduling applications in context within the schedule development cycle we conclude with directions for future work in the nal Section 5.
2 Schedule Planning An airline's monthly ight schedule is the key aspect of the service product it provides to its customers. The combination of ight availability and price oered by an airline and its competitors determines the share of passengers an airline will carry in each market. The schedule also provides the basis for operational planning of the resources needed to serve the markets. Most airlines make signi cant changes to their ight schedule at least twice a year to re ect marketing objectives and to adjust for the dierent travel patterns between the winter and summer months. Minor changes are made to the schedule on a monthly basis to re ect such things as holiday travel patterns, competitors' scheduling and pricing changes, and changes to key resources such as number of aircraft, number of crew, airport modi cations, etc. Each schedule needs to be designed to maximize pro tability by providing appropriate seat capacity in each market subject to constraints on available facility, aircraft and personnel resources. Travel customers are origin-destination (OD) oriented in their travel choices, consequently an airline focuses on OD service in the construction of its schedule. The airports (or stations), a 2 A served by an airline de nes the potential OD markets in which the airline operates. Within such systems there are several levels of service that can be operated within each OD market. The basic building block in the schedule is the ight leg f 2 F , a non-stop ight from o to d. One-stop service corresponds to 2 ight legs from o to i then i to d own by the same aircraft. Connecting service corresponds to 2 ight legs from o to i to d not own by the same aircraft. Starting with demand forecasts for OD markets an airline must estimate the share of trac it expects to carry in these markets. The
Airline Scheduling
3
realized passenger demand will be based directly on a complex interaction between level of service provided by each of the airlines serving the market and their respective fares as well as a host of indirect economic factors in uencing the air travel in the market as a whole. Historical data, marketing estimates and allocation models may all be used to project the probability distribution of demand for each ight leg in the schedule. Estimation models should take into account recapture, i.e. passengers blocked from ights that will procure another ight. The mix of passengers expected to purchase rst class, full-fare coach class, discounted coach fares and group fare tickets should also be estimated. The key objective of the schedule development process is to provide appropriate levels of non-stop, one-stop, and connecting service in each of the airline's OD markets. The scheduled service should maximize total revenue potential subject to constraints imposed by the location and composition of facilities and other resources. Airlines have a tremendous investment in gate and other facilities and equipment to support their complex mixtures of hub-and-spoke and point-to-point service between these airports. To provide the scheduled service in a cost eective way these facilities along with aircraft and their crews must be utilized fully. Airlines typically have multiple aircraft equipment types, or
eets, e 2 E with which to serve airports. Each eet consists of pe planes that are considered to be identical for planning purposes. Typically these aircraft are from the same manufacturer, have the same seat capacity, and can be own by the same cockpit crew. Thus the DC-9 would be one eet and the 727 another. The 737-300 and the 737-400 may be considered dierent eets due to the dierence in the number of passenger seats. Cockpit crews may be certi ed to
y one or more of these eet types. For example the same crew may be allowed to y both 737-300 and -400 series of aircraft since they have the same cockpit con guration. For each crew group c 2 C we denote by E [c] the set of equipment types they are allowed to y. Most domestic airlines develop their monthly mainline, i.e. jet service, schedules around a single daily schedule that repeats Monday through Friday. Detailed construction begins about 6 months
Airline Scheduling
4
before the start date of the schedule. To avoid high cost from excessive changeover of operations, each schedule represents an incremental change from one or more previous schedules. Most changes are to adjust the ight frequency in certain markets. This in turn may require adjusting the departure times of ight legs so that planned one-stop or connecting service are maintained. The changes in departure pattern and times must take into consideration that demand for air travel is very sensitive to time of departure with well known peaks in the morning and afternoon periods. Schedule changes must also be adjusted to t into the timing of connections at the major airports. Hub banks in particular impose signi cant limitations on the schedule since departure times of ight legs must be set to arrive and depart from the bank within a narrow time band. The arrivals and departures must also work within the gate facilities at each airport in the system. The schedule must also be yable within the number of aircraft and crews available. To achieve this not only must the total hours own be reasonable but the inter-connection of
ight legs must insure that arriving aircraft can take out departing
ights without too long a wait on the ground. This may require further additions, deletions, or retiming of ight legs. Once the legs and their departure times have been xed, the schedule is ready for eet assignment, i.e. the assignment of a speci c type of aircraft to each ight leg in the schedule. A feasible solution is an assignment of a eet type e to each ight leg f such that every aircraft is provided with a consistent yable schedule both within a day and between days. The primary goal in eet assignment is to enhance the overall pro tability of the airline. Pro tability can be increased both by an increase in revenue (due to reassigning larger aircraft to ights with highest demand) and by decreasing any of the costs associated with ying. Such costs include fuel costs, personnel costs, maintenance costs and ground-related costs such as gating. The proper assignment of equipment types to ight legs can save an airline millions of dollars per year. Constraints on the model assure that only certain aircraft types can y certain ight legs, must limit the aircraft overnighting at speci c airports, limit aircraft arriving at speci c airports during the day due to gating limitations, guarantee all aircraft obtain their routine maintenance, assure the
Airline Scheduling
5
availability of crews and make certain that labor restrictions on crew assignments are satis ed. The solution approach for eet assignment depends on whether there is a valid initial eet assignment available for the given schedule. In the \cold start" case, no eeting is available for the schedule that is close enough to serve as a start point. Mixed-integer linear programming approaches have recently been successfully applied on this initial, "cold start" eet assignment problem as described in Section 3. In the \warm start" case it is assumed that some eet assignment is available as a starting point for improvement. This problem is usually dealt with through local improvement algorithms. The idea is to \swap" eet types for speci c ight legs in order to improve the current assignment with respect to the cost or some operational criteria while maintaining equipment continuity in the resulting eeting. At USAir an interchange heuristic is incorporated in an interactive procedure between an exchange algorithm and a schedule planner. There are eet assignment systems which work exclusively by repeatedly generating swap opportunities and accepting eet assignments that improve upon some combination of objectives. Such systems have been used successfully by several airlines, particularly prior to the recent development of relatively fast \cold start" methods. The eet assignment process up to this point has assigned only an equipment type to each ight leg. A line-of- ying (LOF) is the sequence of ight legs to be own by an aircraft in the course of its day. The routing activity speci es a set of planned LOFs for each
eet where each LOF speci res the activity for one of the aircraft in the eet. A rst cut at LOFs can be easily constructed from a
eeting by utilizing simple rules such as FIFO or LIFO rules during connection intervals at stations. It is important at this stage to recognize and put together legs of valuable one-stop ights on the same LOF. Consistency with previous schedules or other operational criteria may also be considered in the association of ight legs into LOFs. All LOFs must provide for reasonable \connect time" between all of its ight legs.
Airline Scheduling
6
Within each eet, the set of LOFs must also be constructed in a manner that ensures that maintenance requirements can be met adequately. Federal regulations impose an upper bound on the number of hours of ying before an airplane must be maintained. To provide ample opportunities for such maintenance USAir requires planned LOFs to provide an overnight at a maintenance base for each aircraft every three days. At USAir LOFs are also constructed to ensure that every aircraft can pass through its corresponding \Ccheck" station at some point in the routing. This essentially requires that each eets LOFs form a single large tour through the overnight stations. Researchers at USAir have analyzed the complexity of such maintnenance routing problems and used this analysis to develop algorithms for their solution [refs ]. The problem of assigning crews to their scheduled ights is known as crew scheduling and is the subject of section 4. Since crews do not generally y more than one eet type within the same month the scheduling of cockpit crews can be broken into separate problems, one for each of the company's crew groups. The appropriate partitioning of the schedule into ight legs and routings of aircraft eligible for each crew is accomplished in the eet assignment process. For a particular crew group the objective of the crew scheduling process is to assign available crews to ight leg with the appropriate eet types such that the overall crew cost of the schedule is minimized while satisfying crew availability and work rules. Optimal crew schedules are tight in the sense crews spend most their duty hours ying (rather than sitting at airports waiting to
y). When crew schedules are optimized personnel costs and the other related expenses such as per diem, hotel, additional pay for \onerous ight schedules" are minimized. A one percent savings in these costs can translate into millions of dollars per year of savings. A proposed daily schedule with eeting and associated LOFs is provided to the rest of the company about 2 months before its eective start date. After feedback and negotiations, between operations and marketing, a nal daily schedule is adopted. Other changes for days with dierent schedules, e.g. Saturday and Sunday, and commuter schedules are generally worked in at this time.
Airline Scheduling
7
The complete nal schedule is released for publication in customer reservations systems about a month before its planned start date. The nal schedule together with eeting and LOFs become the basis for it yield management, i.e. the adjustment of seat allocations between fare classes in response to booking activity. The nal schedule also dictates the scheduling of maintenance operations, of both cockpit and attendant crews and the scheduling of all ground personnel. For crew implementation three day to one week schedules must be \patched" together into monthly crew schedules. The process by which these rotations are put together to form a monthly schedule is called \bid-line generation". These monthly schedules must allow for changes in the normal schedule due to holidays occuring during the month, and allow for week and twoweek vacation periods for some of the crews. The airlines want this monthly schedules for each crew member to be as regular as possible since crews prefer regular schedules. Once the bid lines have been generated, individual crews then get to \bid" for the schedules they prefer based on a point system where the most senior crews have the highest number of points available to them and where crews which have had a particularly onerous schedule the month before gets extra points towards the next months bidding process. For more information on the bidline generation see [Nicoletti,1975] and [Jones, 1989]. As the schedule month approaches aircraft are transitioned from the old to the new schedule usually over a weekend. Finally the schedule is made operational as actual `tail number" aircraft and particular crews y their assigned schedule legs.
3 Fleet Assignment Since the work by [Abara, 1989] for American Airlines and by [Young, 1990] for United Airlines, many major carriers in the United States have been using similar technologies for obtaining initial \coldstart" solutions to the eet assignment problem. Each uses a mixed-integer linear programming model. Recent work by Delta on expanding this model is described in [Subramanian, et al. 1993 and Hanes, et al.
Airline Scheduling
8
1993]. Delta estimates that the cost savings in the summer months due to this modeling eort is $220,000 per day and they estimate that the model is likely to save Delta $300 million over the next three years. An audit of bene ts from USAir's eet assignment model based on actual results over the course of a month indicate savings of at least $15 annually. Other airlines have indicated bene ts in the $10 to $30 million range. In the next sections we describe USAir's model and solution approach with comments about dierences in methods used by other airlines. The goal of the eet assignment process is to assign aircraft types to ight legs so as to maximize pro tability. The key decision variables are ( if ight leg f is assigned equipment type e xfe = 01 otherwise. The objective function value vfe associated with xfe is the revenue generated from that ight-equipment combination minus the operating cost for that ight-equipment combination. In order to determine the revenue from assigning equipment e to ight f we start with an estimate of passenger demand and mix based on forecasts. From the demand for f and seat capacity of the equipment type e we can estimate the expected mix of carried passengers under that equipment assignment. This number can then be multiplied by appropriate revenue forecasts weighted by the passenger mix to give the expected passenger revenue on the ight f if assigned equipment type e. The USAir cost model includes only those costs directly impacted by aircraft assignments that are incurred on a daily basis as the schedule is own. In particular, the model does not include crew cost per block hour in its cost calculations. Although crews represent signi cant cost, it is usually a sunk cost at the time eet assignment is done. In addition the complexities of crew work rules make it dicult to incorporate a meaningful estimate of this factor. Instead, constraints are added to the model which restrict eet assignment that would force excessive crew costs. One of the key remaining costs is fuel. Using equipment speci c ight/taxi times and
Airline Scheduling
9
ight/taxi fuel burn rates, the fuel burn for each ight leg and equipment combination is computed. Ignoring the eect of fuel tankering, the fuel burn is multiplied by the cost of fuel at the leg's departure station. This provides an estimate of the fuel cost for each ight leg/equipment combination. The model also includes non-salary related life cycle maintenance costs. The pro t models vary greatly among the airlines in both focus of concern and level of detail from this basic model. Further modi cations in the cost can include the revenue obtained from cargo demand and constraints on cargo capacity. The model could also be extended to include detailed costing of items having less impact than fuel and maintenance. For example, the model could easily include the landing fees associated with assigning a speci c equipment type to a ight by applying the appropriate rate at the arrival station to that equipment type's weight. The model might also make a preliminary determination of meal service on each ight given the equipment type, and subtract the cost for that type of service from the revenue per passenger on the ight. Delta also adds \soft costs" to the objective function that provide a system of bonuses and penalties for activities thought to be favorable to the airline. For example, a penalty is added for ying a wide-body into a city that is not currently served by wide-bodies and a bonus is added for ying a eet into a city that is a crew base for that eet. The USAir model allows the incorportion of penalties for changing the equipment type on a ight leg relative to a base schedule. Penalties have also been incorporated based on the amount of violations of ground time standards and some constraints.
3.1 Basic Fleet Assignment Model The heart of the eet assignment model is a multicommodity ow (circulation) problem in which the equipment types are the commodities and the ight coverage represents joint resource constraints. The decision variables for our problem correspond to ow along the arcs in this network. The underlying ow network is based on a time-staged ight network representation of the schedule [ refs ]. A
Airline Scheduling
10
ight arc (f,e) in the ight network corresponds to the movement of an aircraft of type e along ight leg f . Flight arcs for repositioning planes and deadheading crews may also be included. The ow xfe on a ight arc equals one if aircraft type e is assigned to ight leg f , it is zero otherwise. Activity at airport a occurs on a 24 hour local time line starting at say 03:30 and ending at 03:30 the following day. The nodes in the underlying multi-commodity network correspond to time intervals along the local time line in which ight interconnection activity occurs. Operations provides some restrictions on the type of aircraft that can be assigned to each ight. For example, certain aircraft types cannot follow overwater ight paths while others might have range limitations. Speci c airports have noise restrictions during certain periods of the day or night, and aircraft not allowed to y into those airports at speci c times are also noted in the restrictions le. Also, due to marketing considerations, there are aircraft type restrictions placed on speci c ight legs. All of these restrictions are easily implemented in the model by simply not including the corresponding ight equipment as allowable for ight leg f . The set E [f ] is the remaining set of valid eet types for a particular ight leg. For each valid equipment type for a ight leg operations provides a combined taxi and ight time required to traverse each ight arc, called the block time bfe. This time re ects speed dierences between aircraft types as well as adjustments needed for landing delays, gate availability, runway delays, etc. Operations also speci es the standards for ground times, i.e. required time on the ground after the arrival of a ight before the aircraft is available to take out a departing ight. This time is necessary to allow the change of passengers, change of crews, as well as restocking, refueling, etc. Standards for ground times are based on historical data and are differentiated by equipment and station type (e.g. hubs, large stations, small stations). They may also depend on the origin of the arriving or destination of the departing ight (e.g. domestic, Carribean, European). We say that an arriving ight turns to a departing ight if the same aircraft is used for both ight legs. An arriving arc (f1,e) is
Airline Scheduling
11
available to turn to a departing arc (f2,e) if the dierence between the departure time of (f2,e) and the arrival time of (f2,e) meets the ground time standard. The proper treatment of available turns is critical to the planning of the schedule. It is at this point that critical decisions about utilization of aircraft are made. In some cases the standards may have to be relaxed to insure that critical connections are made as anticipated in the schedule. Models must also make a distinction between \turn times" and \through times". If
ight legs f1 and f2 are actually part of a one-stop ight then the applicable ground time standard is allowed to be ten minutes shorter than if the legs are part of a connecting ight. This complicating factor can be dicult to model because it may not speci ed at the time the network is built that the legs are part of a one-stop ight. At USAir much eort has gone into the proper recognition and adjustment of turn possibilities. In Delta's case the authors state that \Modeling this issue takes the code from being a theoretical model to an operational tool that is useful to the planner..." The series of interconnection nodes n for an equipment type e is constructed by specifying a set of arriving ight arcs I [a; e; n] that are available to turn to a set of departing ight arcs O[a; e; n] at an airport a. In the course of the day there may be nodes at which I [a; e; n] has more arcs than O[a; e; n] followed by nodes at which the reverse is true. This is the normal pattern at hub banks where early arrivals are available for all departures in the bank but late arrivals only the later departures in the bank. To handle such cases we introduce a ground arcs (g,e) between a node and its immediate successor. This corresponds to aircraft staying on the ground between arrival at a node and a departure from later nodes during the day. The ow xge on the ground arcs represents the number of aircraft that remain on the ground at a given time during the day. Similarly, we retain overnight arcs (r,e) which leave the last node at a given airport and arrive at the rst node of the same airport on the following day. The ow xre on the overnight arcs represents the number of aircraft of type e remaining overnight (RON) at airport a. Feasible eet assignment solutions must maintain equipment
Airline Scheduling
12
continuity, i.e. guarantee that at each station in each eet the arriving aircraft leave on valid departing ghts. This is accomplished by including ow balance constraints requiring a net supply of zero at every node, i.e. X X xje ? xje = 0 (1) j 2IN [n;e]
f 2OUT [n]
where IN(n,e) are the incomming and OUT(n,e) the outgoing arcs of types f, g and r for each node n and equipment type e. Since RON arcs are included in the above sets, aircraft consistency between days is gauranteed. A feasible solution also requires that exactly one equipment type must be assigned to each ight leg of the schedule. For each ight f we add a \ ight coverage" constraint of the form X xfe = 1: (2) e2E [f ]
Since each xfe 2 0; 1 these constraints ensure that exactly one of the xfe variables will be chosen. In order to specify one-stop service or for other reasons it may be desirable to force one ight leg to turn to another. To accomplish this an additional set of constraints xf 1e ? xf 2e = 0 (3) can be added. These constraints force each ordered pair of forced turn ights (f 1; f 2) to use the same equipment type e 2 E [f 1] \ E [f 2]. The number of constraint of this type is equal to the number of forced turns times the number of equipment types capable of
ying each of these ight legs. Alternatively, ight leg f 1 can be rede ned as the combination of ights f 1 and f 2 thereby simplifying the optimization problem. The eet assignment should not use any more aircraft than are available. The model takes as input pe the number of planes available in each eet. To count aircraft one picks a point in time, say 5:00a.m. EST, and counts the ow over all arcs of aircraft of eet type e. In most cases the aircraft will be overnighting at an airport so the majority of the count comes from RON aircraft. However,
Airline Scheduling
13
some ights will be in progress at that time. We de ne the aircraft count set ACe to be the set of ight, ground, and overnight arcs of aircraft type e that cross the designated counting time. Then the
eet sizing constraint is X xje + ue ? oe = pe (4) j 2ACe
where ue denotes underuse and oe overuse of aircraft of type e. Overuse is considered in the model to assure that a feasible schedule exists. At USAir the model is typically run with a large penalty for overuse. A very small bene t for underuse is incorporated. The original operating schedules are usually planned around a speci c number of total aircraft so the chance of eeting it with a smaller number is remote. It is known that even this basic form of the eet assignment problem is in the NP-hard class of problems. Empirical evidence on these problems demonstrates that the LP relaxations of such problems are typically fractional. Successful approaches have used generic mixed-integer programming solvers which use branch-andbound to search for good feasible integer solution. Although the problem may be dicult to solve to proven optimality as described above, other constraints must be added to this model if one wishes to accurately model the problem faced by any of the major airlines. Indeed, each of the major airlines is continually re ning the model to make it re ect more of the factors which determine the \ yability" of a schedule. Each of these modeling re nements makes the problem, from an optimization perspective more complex.
3.2 Maintenance Constraints The eeting of the schedule must re ect the location and timing of maintenance activities as an integral component. Maintenance constraints take a number of dierent forms, which together re ect most of the maintenance issues faced by an airline. The rst type of maintenance constraint simply ensures a minimum number me of each eet overnighting at a speci ed group of airports that serve
Airline Scheduling
14
as maintenance stations for that type of equipment. We can de ne M[E] to be the set of RON arcs at those stations. The constraint is then X xre me (5) r2M [e]
for each eet. Secondly, since maintenance can only be done at speci c stations having such facilities, the model enforces minimum and maximum numbers of aircraft in each equipment type overnighting at speci ed stations. These are incorporated as simple lower and upper bounds on the rae ows, i.e., lre xre ure (6) for speci ed overnight arc r and equipment e combinations. Models also incorporate the more detailed speci cation of minimum RON ground time windows at speci ed hangar stations to perform more complicated and time-consuming levels of maintenance. For example, the maintenance operation at the Greensboro (GSO) station may be set up to perform a set of maintenance checks and procedures on DC9 aircraft. These checks require the aircraft to be on the ground at GSO for 12 hours between 20:00 the day of arrival and 8:00 on the following day. This level of modeling requires that new variables be added. For each such time window requirement a set W [ae] of window arcs (w,e) are added between nodes on or before the start of the time window to nodes after the required time window duration. A constraint on the ow over these arcs xw;e X xwe lae: (7) w2W [ae]
is then added to guarantee the required number lae of aircraft within the time window. Other more exible time window situations may be required. For example, if some number of aircraft of equipment type e are expected to remain on the ground at least 8 hours within the hours of 19:00 and 9:00. These situations are modelled in a similar fashion by simply extending the de nition of the set W [a; e].
Airline Scheduling
15
3.3 Crew constraints An important consideration in the eet assignment stage is the recognition of its impact on the ability to assign crews to the ight legs. At the time eet assignment is done the crews have usually been guaranteed a speci ed minimum and maximum number of ying hours. These bounds are based on crew contracts and are typically derived from previous schedules along with adjustments for changes in the number of ights and eet sizes available during the current month. The eet assignment model must then ensure that it is possible to meet these ying restrictions. The crew ying constraint for crew group c then becomes: X X lc bfexfe uc: (8) f 2F e2E [c]
where bfe is the previously de ned block time for ight leg f if own on equipment type e, and lc, uc de ne the lower and upper bound , respectively on the total block time of all crews in crew group c. Each crew type c is based at a set of one or more airports Bc. The model also enforces minimum numbers of daily departures in corresponding equipment types at each crew base. This constraint takes the form X X xfe dac: (9) e2E [c] f 2O[a;e]
where a is a crew base for crew group c, dac is the minimum number of departures required, and O[a; e] refers to all outgoing ights from that airport on that equipment regardless of node. As mentioned in the discussion of objective the crew related costs are not directly included in the cost of ight leg. Instead to avoid situations that lead to high penalties in the crew assignment process, constraints are added that require a crew arriving on a evening ight have a corresponding ight the next morning which departs after a required 9.5 hour crew rest interval, or that there be a suitable mid-day departure for them to leave on. Such constraint avoid situations requiring on-duty all-night crew trips or deadheading, both of which are extremely costly. A straightforward method
Airline Scheduling
16
for implementing these restrictions starts with identifying the set of terminators at a station T [a]. Then for each ight t 2 T [a] we de ne a set J [t] of originating ights that meet the required rest interval for t and a set K [t] of suitable mid-day ights, e.g. that depart between 11:00 and 16:00. If T [a] contains a single terminator then for each crew group we include the following constraint: X X X xte ? xfe ? xfe 0: (10) e2E [c]
f 2J [t]
f 2K [t]
essentially enforcing no ow in the terminator arc unless there is suitable ow of the same crew group in the legal originator or midday departure sets. When there are multiple terminators we extend this approach by nesting the constraints of each subsequent terminator with the ones arriving before it. In this way, we guarantee that a single departure does not satisfy the constraint for more than one terminator. We note that since the number of terminators in the schedule is approximately equal to the number of aircraft and since we must de ne a constraint for each crew group available for each terminator, there will be many such overnight crew constraints. In addition, for busy airports, the K [t] set can be quite large. At USAir an alternative to these dense constraints has been incorporated. This appraoch models the crew overnight process with a small accounting network at each airport. By specifying the crew arcs and bounding their ow an equivalent but less dense set of constraints is generated. Similar to the crew constraints above, Delta uses constraints that assure that a crew overnighting will have a
ight by midday the next day that they can y but allow crews to depart from any coterminal associated with that city (rather than force the crew to y out of the same airport that they ew into.) They also add additional constraints that set aside certain planes at certain time periods for pilot training. Proper modelling of constraints that permit only good eet assignments from a crew scheduling perspective continues to be an active area of investigation.
Airline Scheduling
17
3.4 Other Constraints The set of restrictions on feasible eet assignments can be extended in many useful ways. Noise restrictions at airports are increasing. Many noise restrictions can be implemented as percentage constraint restrictions on the less noisy planes. In San Diego, for example, at most 25% of the departures may be noisy aircraft. The model includes these forms of noise restrictions. by limiting operations of certain aircraft types at a speci c airport to a given number or percentage of aircraft by equipment type over certain times of the day. Another restriction that is being considered by the FAA and that could be added to the model when application limits the total operations of an airline at multiple airports within a region or limits on noise per seat index level. Alternatively, FAA could impose additional charges based on noise levels at speci c airports and the cost structure would need to be adjusted accordingly. If the number of parking positions and/or gates of each eet type at each station is also provided then constraints could be added to ensure that every station is capable of handling the aircraft assigned to it. The decision to add such constraints to a model depends on the value of the extra precision versus the eort required both in the model development and day to day solution process.
3.5 Solution Methodology For USAir feasible eet assignments must be produced for problems having approx. 2500 ight legs, 14 equipment types, and 140 stations in an overnight computer run. The mixed integer program corresponding to a problem of this size can have as many as 75,000 0-1 variables, 1,000 integer variables, and 50,000 constraints. Most airlines must produce a solution to this problem within a day of receiving the problem. The rst step in the solution process for the cold start case is to generate the problem from the operational data. Due to the complexity and size of the generated formulation, most airlines use software for the generation phase that is written by the airline and
Airline Scheduling
18
contains the characteristics of the ight network and contract restrictions unique to the airline. The generation phase includes time to generate forecasts, read data bases to generate the needed information, generate the time-staged network and nally, write-out the problem as an integer linear program. This formulation stage typically takes about one hour. At USAir the generation code constructs the network with nodes corresponding to aircraft turn possibilities. This problem is then \presolved" within OSL before the LP phase. On the other hand, Delta relies on the preprocessor in OB1 to perform a variety of model reduction techniques to reduce the problem from the time-staged network form. It does variable substitution to remove variables and corresponding rows from the problem. It aggregates nodes into single \jumbo" nodes, thereby also removing the balance equations associated with those nodes. It eliminates dependent rows and other standard model reductions described by [Brearley and Mitra,1975]. The reduced problem is then sent to a linear programming solver for solution. The integrality restrictions are relaxed but all other constraints of the problem are included. A high performance LP solver, such as Cplex [Bixby and Boyd, 1990] or OSL [Druckerman, et al., 1992] is used to nd the LP optimum. Most airlines use either dual simplex (with steepest edge norm calculations) or interior point methods for the solutions to such problems. Delta uses OB1, an interior point code [Lustig, et al. 1991, 1992] to solve the linear programming problem. Either method can produce optimal solutions to such problems in less than one hour of CPU time on an IBM RS6000 model 560 workstation. Improvements in each of these software packages continues to pare down the time taken to solve such problems. The next step is another reduction of problem size through the rounding of ight arc ows. The idea is to round xef variables with large fractional values to one and then set to zero all other xef variables for that ight leg. The rounding threshold is typically set between .90 and .95. USAir found that as many as 70% of the variables can be xed in this way. This reduced problem typically has about 12% of the original rows left and 20% of the original
Airline Scheduling
19
variables. Consistent with the results found by USAir, Delta's LP relaxation to the problem had many variables that could be xed to one and such xing reduced the problem by about 80%. Despite the large number of variables set in this way, the LP solution value obtained after such xing is usually within .05% of the value of the original lp solution. The next step is to nd an integer solution of the reduced problem obtained after the xing some of the variables. This step of nding an integer solution is most often accomplished by using a branch-and-bound procedure. The resulting smaller problem is then sent to OSL-mixed integer code for solution [Druckerman, et al., 1991]. When the reduced problem was sent to the OSL code, near-optimal solutions (solutions withint 0.1% of optimality) could be found in one to two hours of computing time on an IBM RS6000 workstation. Recent changes in the branching strategies provided by researchers at Georgia Tech and IBM has enabled better solutions to be found with less searching of the tree. However, even after a drastic reduction in the number of variables has been made the branch-and-bound tree is enormous. Often a solution is used which has not been proven to be optimal and whose proven bound may be as much as 5has not been proven for many instances at present. Due to the accuracy of the input data, particularly demand forecasts, such results are very satisfactory. Nevertheless, as use of such models becomes more prevalent the value of nding provably optimal solutions will increase. A more eective approach is sought, and Lagrangian-relaxation approaches and branch-and-cut alternatives currently being studied by the airlines.
4 Crew scheduling Due to crew schedulings importance to the airlines and the diculty that schedulers had performing this task manually, this aspect of the overall airline scheduling problem was the rst to receive signi cant attention within the OR community, see [Arabeyre, et al., 1969]. For many years, almost all of the major U.S. airline companies (as well
Airline Scheduling
20
as many non U.S. companies) have used a common mathematical modelling technique for assigning crews to ights. This problem is usually approached by rst generating a huge number of crew rotations,i.e. sequences of ight legs to be own by a single crew over a period of a few days. Each generated rotation starts and ends at the same crew base and must satisfy a large set of work rules based on FAA regulations and labor contracts covering crew personnel. From the this huge collection of generated feasible rotations, a set of rotations that has minimal cost and that assures that each ight is manned by only one crew is determined. The determination of a collection of rotations that covers all
ights exactly once is often referred to as the crew scheduling problem in the OR literature. Historically, there have been a two major components to the crew scheduling problem. The rst is the generation of feasible rotations. This process is often called \columngeneration" or \matrix-generation". The second phase is the optimization of the resulting matrix. We focus on these two computationally demanding aspects of the problem for the rest of this section. In Section 5 we will return to a brief review of the issues in turning results from this more restricted problem into monthly crew schedules.
4.1 Crew Pairing Optimization Model The fundamental unit of a crew schedule is a sequence of ight legs called ight \rotations" also known as \pairings". A rotation consists of a sequence of ight legs to be own by the same crew. Each rotation begins and ends at one of that base stations for the crew. The maximum rotation period considered can be as long as a week for crews that y the long-haul portion of the ight schedule or as short as three days for small aircraft types. Rotations typically last two to ve days depending upon the work rules of the airlines and the eet-type (rotations for eets covering the overseas ights can last as long as seven days). A three-day rotation refers to a rotation which consists of three separate duty periods. Airlines prefer short rotations (i.e. one or two day rotations) because longer ones may
Airline Scheduling
21
cause greater diculty in rescheduling when unexpected disruptions in the schedule occur. In addition, since longer rotations incur per diem costs and other overnighting charges they are not usually low cost rotations. However, a few such rotations might be necessary to have the entire schedule \ t" together in a least costly manner. For a rotation to be considered feasible, it must conform to FAA regulations, union contract requirements and certain company restrictions imposed by the carrier to assure the smooth transition of crews to ights. Restrictive work rules make the problem of determining an optimal crew schedule extremely complex. To clarify the complexity of the work rules, we present only a few of the major rules governing this process:
The maximum ying time in any given duty period is eight hours, although crews may be paid an overtime rate whenever they y more than ve hours consecutively. The maximum time on duty is typically thirteen hours although there is a reduced maximum duty time for night ying of no more than ten hours. The minimum rest period between duty periods is typically 10 hours. The minimum rest period when scheduled for more than eight hours ying in a 24-hour period is typically twelve hours. Turn time, the time between 2 ights in the same duty period, cannot exceed a maximum amount (typically four hours). Layover time cannot exceed a maximum amount (typically 36 hours). Crews have a minimum guarantee pay per duty period. Crews have a guaranteed percentage of duty time that will count as ying time. Crews are paid per diem whenever they have a rest period not at their home base. Crews are paid a bonus if their total time away from base exceeds a speci ed amount. Crews are paid extra whenever: crew connect times are below standard crews y \onerous" night- ying
Airline Scheduling
22
rotations begin at one coterminal and end at another. (coterminals are two or more airports servicing the same city). rotations containing two ight segments do not have a ninety minute break between them.
The prevalence of hub and spoke network con gurations adds additional complications to the crew scheduling problem due to the explosive number of alternative feasible rotations. Allowing the crews to change planes at hubs has been shown empirically to lead to lower cost rotations with less concern for the disruption to the entire schedule, if one crew is delayed. (Often there are back-up crews at the hubs, to relieve such scheduling disruptions.) Thus, most airlines allow the crews to switch planes at hubs, but do not allow the change of planes at smaller non-hub airports where rescheduling would be more dicult. A cost must be assigned to each rotation. Crew salaries and payroll-related expenses associated with ying dominate the overall personnel costs. However, the model considers only the marginal costs related to speci c rotations. This gure represents all incremental costs associated with the rotation and can include costs associated with the length of time a crew is away from home, the amount of ying hours in that rotation, per diem and lodging charges, ground transportation costs and \deadheading" (the transporting of a crew on a ight where they are not working). These costs vary from airline to airline. The three main causes of excessive cost are (1) long or frequent layovers within a duty period; (2) long overnight rests away from base; (3) and deadheading { the transporting of crews as passengers so that they can begin work in some other city. Given a set of feasible rotations and associated costs, one can formulate the \crew scheduling problem" of nding the \best" collection of rotations such that each ight is covered by exactly one rotation as a set partitioning problem (SPP ): Pn min j =1 cj xj subject to: Ax = em (SPP ) xj 2 f0; 1g for j = 1; : : : ; n
Airline Scheduling
23
where em is the vector having m entries equal to one. Each row of the matrix A represents a ight leg, and one introduces zero-one variables xj , associated with each rotation j , such that xj = 1 if rotation j is selected and zero otherwise. cj is the cost associated with the j th rotation. The matrix A is constructed one column at a time, where (
ight leg i is covered by rotation j aij = 10 ifotherwise. Billions of feasible rotations exist for as few as 1000 ight segments in a given period. Therefore, the airlines usually generate a far smaller, though still large, collection of rotations which is intended to be representative. The nal crew schedule consists of a small selection of rotations from this large group (typically less than 120 to cover 1000 ight segments.) An additional constraint on the crew-scheduling problem is that the model must take into account where the crews are homebased. Constraints called \base constraints" restrict the aggregate number of ying hours that a crew can spend away from its base location during each ight rotation period to within a minimum and maximum amount. Such constraints assure that an airline complies with work rules requiring that the aggregate number of hours that crews located at some base spend away from their crew base is within speci ed limits during each duty period. These restrictions signi cantly constrain the allocation of available crews among ights and are thus are a major determinant of the total operating cost for the
ying personnel. It is easy to model such restrictions, since they mathematically take the form: a0 P a x a 1 j 2B j j
where B N represents the set of rotations associated with crews based at base-station B, aj > 0 for j 2 B is the time away form base for rotation j and 0 < a0 < a1. There is one such constraint for each base station.
Airline Scheduling
24
4.2 Column Generation The software currently in use by most U.S. carriers to generate the set of rotations and derive the nal schedule was developed by [Rubin, 1973]. The original approach proposed by Rubin begins by having a unique crew assigned for each ight leg, thereby starting with a feasible (but extraordinarily expensive) schedule where each crew covers only one ight leg. The algorithm chooses columns from this set randomly until the number of ight legs covered by the randomly generated columns is at least a speci ed value. For these ight legs, all feasible rotations are generated and a new set partitioning problem (consisting of only a small subset of the total ight legs but all possible columns for that subset) is sent to an optimizer to solve. If the solution obtained to this optimization problem has a better objective function than the value for the subset of columns from which the problem was generated, the optimal columns replace the previous columns that created the subproblem. The random selection of columns begins the next iteration which creates a new subproblem for the optimizer to solve. This iterative process of choosing a subset of ight legs, the generation of feasible columns and the associated solution of an optimization problem continues until either one has exhausted the available machine-time or the subproblems solved have not improved the solution for the last several iterations. See [Bornemann, 1982, Gerbracht, 1978 and Anbil, et al., 1991] for details on these procedures. An alternative strategy to subproblem selection concentrates on generating rotations that consider all of the rows simultaneously. Since the number of columns of the matrix A that would result from an exhaustive generation of all feasible rotations to the complete set of ight legs could easily number in the billions, heuristic procedures are used to generate columns that are representative of the entire set, i.e. feasible rotations are randomly generated using sampling rules that bias in favor of \low cost" rotations. When a representative number of such rotations has been generated, an optimization procedure is called to solve this subproblem. One iterates through rotation generation and optimization until convergence is perceived or time limits are violated.
Airline Scheduling
25
Hybrid packages in which alternate iterations look at the column structure or the row structure, have also been considered. It is perceived by the airline industry, that the generation of columns by taking a subset of the rows and generating all feasible rotations for that row structure provides a better collection of columns from which to choose. The explanation provided is that one needs \some bad columns" to make the entire schedule \ t" together and such columns are generated more readily in the column approach than in the row approach (since the random generation in the row approach biases against such rotations) [see, Anbil et al., 1990 for more discussion of these issues]. Additionally, the column approach assures that the algorithm can be stopped at any iteration with a feasible solution. There is no similar mechanism for the row-directed approaches. A recent approach to the generation of rotations [Lavoie, et al., 1988] is based on a graph-theoretic approach whereby one presents allowable routes by a time-staged network (similar to the network generated for the eet-assignment problem). The nodes periods in time when either an arrival or a departure occurs at some airport and the arcs are the individual ight segments. A path consisting of two ight segments is possible only if the departure time of the second ight is later than the arrival time of the rst ight plus the connect time required for the crew. Since rotations require that the crew return to the home base within a speci ed number of days, and since only the daily portion of the ight schedule is considered at this modelling level, the ight network is repeated for as many days as is allowed. Similar to the RON arcs of the eet network, there are overnighting arcs which connect the last arrivals of the previous day with the rst departures of the following day at every airport. There are (assumed linear) costs on all arcs { usually a function of the time spent on the arc, regardless of whether the arc is a ight segment, a waiting arc or an overnighting arc. Given this network, one can generate all feasible rotations by generating all feasible paths that begin and end at each of the crew bases. Alternatively, the paths can be generated as needed in a DantzigWolfe column generation approach (see [Dantzig and Wolfe, 1960]).
Airline Scheduling
26
Speci cally, a linear programming problem is solved over some subset of the feasible paths (rotations) and additional rotations are generated iteratively for inclusion as columns in the master problem. The columns are generated by solving a specialized shortest path problem over the network described above. The costs of the arcs for the shortest path problems are the dual prices for each ight leg obtained from the prior linear programming solution. The shortest path must both originate and return to some crew base and cover at least one ight. If this shortest path has a negative cost then the resulting rotation (column), if added to the prior linear program, will result in the prior solution being suboptimal. One can generate one or a large collection of negative cost arcs before re-solving the lp. Termination of the algorithm occurs when the shortest path has a nonnegative solution value, i.e., when no rotation (column) exists which can improve the lp value. Although this technique provides an optimal solution to the linear programming relaxation to the crew-scheduling problem by generating only a small fraction of all of the feasible rotations, the algorithm, as presented by Lavoie, et al. does not guarantee optimality to the integer problem, even if all columns generated in any phase of the algorithm are sent to an integer linear programming optimizer. This is because there may be columns which do not price-out correctly in any linear programming subproblem but may be in the optimal integer solution to the problem. Thus, if one wishes to prove optimality to the integer programming problem, all columns which have a reduced cost smaller than a \gap" value must be generated, where gap is de ned to be the dierence between the optimal linear programming solution and a known feasible integer solution. Obviously, the closer a known integer solution is to the linear programming solution, the smaller the gap, and therefore, the fewer additional columns that will need to be generated. Conversely, when the only known integer solutions to the scheduling problem are far in value from the linear programming solution, i.e. the gap is large, the column generation process can become prohibitive. This Dantzig-Wolfe approach to column generation has proven to be quite eective for the long-haul problem [see Barnhart et al.,
Airline Scheduling
27
1991b]. The long-haul problem has two characteristics that make this approach attractive. Firstly, the number of ights possible during a duty period is very small and thus the network for a given
eet can remain of reasonable size. Secondly, a good surrogate for the total cost is the amount of time away from base, and therefore a linear-cost function is applicable. Unfortunately, time away from base is not a good surrogate for the cost of crews on short-haul eets { i.e. for equipment types that perform many relatively short trips many other costs dominate the total cost of a rotation. An alternative for the short-haul eets was suggested by [Desrosiers, et al., 1991] whereby instead of creating arcs for individual ight segments, one constructs an arc for each feasible duty period. That is, an arc is created for each feasible collection of ight segments covering not more than eight hours of ying time or thirteen hours of duty time. Note that in this network design, a particular ight leg can appear in several duties. This duty period network would allow a more nonlinear cost structure since the cost on the duty period arc can include all of the costs incurred during that period and the overnighting arcs can include the per diem costs associated with these overnight stays. Preliminary studies indicate that modelling the problem using a duty period network approach may yield a method capable of providing optimal integer solutions to the short-haul problem but implimentations of such a strategy do not yet exist.
4.3 How to model deadheading The issue of how to model deadheading arises in either of the two above-mentioned column generation approaches. A simple approach would be to use the set-covering formulation instead of the setpartitioning formulation, thereby allowing more than one crew to \cover" a ight. The problem with this formulation is that it does not appropriately represent the cost incurred by having a crew occupy seats on a plane while on duty but not serving customers. Thus, the set-partitioning formulation is universally used instead of the set-covering formuation and, in this set-partitioning model,
Airline Scheduling
28
there can be rotations (columns) such that the rotation might not be a closed circuit. In this case, the missing links in the rotation are the deadheaded portions of the route and the cost re ects the cost to the airline of a employee occupying either a seat on a ight leg
own by the airline, or the cost (namely, the cost of a ticket) for a seat on a ight leg own by another airline. To generate rotations containing deadheads, the rotation process must be adjusted. For the approach suggested by Rubin, that of generating all feasible columns for some subset of the rows, deadheading can be included by merely appending a set of \dummy" rows to the matrix to represent possible deadhead ights. One then takes these rows into account in calculating cost and hours associated with each column, but as they do not have to be covered, they are not provided as part of the set-partitioning problem that the optimizer sees (thus the appended deadhead rows are merely dropped before the problem is provided to the optimizer). The major drawback of this approach is that, on the outset, the user must specify the ights to be considered as deadhead ights. The column generator then treats the deadhead rows as additional rows in the problem. Thus, whenever a deadhead row appears in a subproblem, all feasible schedules which could use that deadhead row are generated with the appropriate cost for such deadheading being re ected in the cost of the column. This approach to handling the deadheading was rst suggested by [Rubin, 1973] and is used in both TRIP and ALLPS. For the time-staged network approach of [Lavoie et al.,1988] when an arc exists for each ight leg, [Barnhart, et al., 1991a] propose a methodology which allows the consideration of all deadhead possibilities. The procedure examines every ight in the Ocial Airline Guide (OAG). All ights that either originate or terminate at a station not in the long-haul problem are eliminated (thus crews will not be assigned to two consecutive deadhead ights). For all other possible ights, the costing out of deadhead possibilities is done by considering each such ight and determining if there is a route which includes this deadhead that prices out properly. If no such
Airline Scheduling
29
route exists, the ight is not considered. To shorten these calculations, one calculates the minimum cost rotation originating at the crewbase and terminating at the departure station of the deadhead prior to the departure time of the deadhead. Added to this cost is the minimum cost rotation originating at the deadhead arrival station and and terminating at the crewbase. The total cost is the sum of these two minimum cost rotation and the cost of the deadhead itself. If the total (marginal) cost of this routing is negative, then the deadhead is considered. Otherwise, it is eliminated from further consideration. Barnhart et al. propose an approximation to this calculation which shortens the eort and is an upper bound on the true cost. Using the Dantzig-Wolfe approach described in [Barnhart et al., 1991a] the linear programming relaxation is solved to proven optimality. For the long-haul eet of a major US carrier, they found that there were only 1046 ights that priced-out favorably and needed to be added to the overall network. Solving the lp relaxation of the long-haul problem via shortest path calculations, they obtained a very dierent set of deadhead ights than those considered a priori by schedulers. This then led to a feasible integer feasible solution that was signi cantly better than that found by TRIP using those a prior deadhead ights.
4.4 Solving the set-partitioning subproblems Regardless of the approach to column-generation, all of these approaches require the solution of a large number of set partitioning problems. It has been shown that as long as the subproblems to be solved are relatively small, linear programming (or linearprogramming coupled with branch-and-bound) is likely to provide integer solutions quickly, see [Marsten and Shepardson, 1981 and Gershko, 1989]. However, as the subproblem size increases (e.g. when there are more than 100 rows within a subproblem) the nonintegrality of the linear-programming solution increases dramatically as does the length and size of the branching tree. When Rubin rst suggested his iterative method of generating subsets of the columns and solving integer programming prob-
Airline Scheduling
30
lems having a set-partitioning structure, he suggested that the setpartitioning problems be solved by branch and bound. In the original implementation of this procedure into a software package called ALPPS [Gerbracht, 1978], Lagrangian relaxation using subgradient optimization was used to obtain the lower bounds on the problem. This lower bounding approach was embedded into a branch-andbound algorithm to obtain optimal solutions to the subproblems. Similarly, the TRIP package of American Airlines also used Lagrangian relaxation until the early 1980's when SETPAR [Marsten and Shepardson, 1981], a linear programming based branch-andbound package was substituted. In is only in the past few years that sophisticated linear and integer programming solvers such as Cplex [Bixby and Boyd, 1991], IBM's Optimization Software Library (OSL) and CREWOPT [Homan and Padberg, 1993] have been used as the optimizer by any of the airlines. [Anbil, et al., 1991] examined the impact of generating larger subproblems on the overall solution quality using the general approach of Rubin. A large subproblem was generated using the TRIP system. The problem had 5.5 million unique rotations covering 837 rows. They used a SPRINT approach developed by John Forrest for solving the linear programming subproblem via the OSL. This procedure solves large linear programming subproblems (usually considering as many as 250,000 variables at a time) and then reprices all variables not in the subproblem until convergence of the overall problem is achieved. By looking at 5.5 million variables at one time, the lp solution obtained was about $48,000 compared to a best integer solution found by TRIP of $57,000. Interesting enough, when 2 million more variables were generated the linear programming solution was further reduced to $46,000. The authors state that \there are really billions of columns and no knows how small the optimum lp might be". The authors also acknowledge that \getting integer solutions turned out to be much moe dicult than originally envisioned", and \the usual branch and bound scheme was discarded early." Based on the optimal lp solution, only about 15,000 variables (the ones with the best reduced costs) were left un xed and sent to OSL for
Airline Scheduling
31
consideration. A branching strategy based on Ryan's approach was used [Ryan and Faulkner, 1988]. In this approach, follow-on ights are xed to either force the same crew to consecutively cover two
ights or to force dierent crews to cover the two ights. Since only one of these two alternatives was tried (only one of the two branches were explored) and since no backtracking was done, the authors chose the branch which was most likely to decrement the linear programming solution the least. New columns were generated whenever the number of columns un xed became too small or when the lp objective function value changed drastically. If infeasibility occurs, ight segments are allowed to remain uncovered (i.e. the equality is changed to an inequality) until, at some future iteration, the rotation generator is called to generate additional rotations to cover the uncovered ight segments. As soon as a good feasible solution is found, the process ended. The author's acknowledge that the above method does not consider deadheads, although deadheading could be included by adding extra rows to the problem during the rotation generation phase. The method also did not explicitly consider the crew-base constraints and required TRIP to alter the resulting solution to enforce these constraints. The authors conclude that the changes to TRIP described above, namely the generation of much larger subproblems and the changes to the integer programming solver have resulted in \a reduction of 5 to 11 percent in excess crew costs" over prior approaches. Neither TRIP nor ALLPS incorporate base constraints directly into the description of the integer programming problem but instead repeatedly re-solve successive reformulations of the problem until some feasible schedule is obtained. American Airlines [Gersko, 1989] reports \rather than explicitly including the baseconstraints in the lp matrix, we have used a heuristic set of weighting factors to dynamically move the solution toward one that satis es the base constraints". Such a procedure requires a lot of skill on the part of the analyst(s), exorbitant amounts of computer time, and { worst of all { it yields schedules of indeterminant quality.
Airline Scheduling
32
[Homan and Padberg, 1992] present a branch-and-cut methodology for solving to proven optimality, problems having up to 1000 rows and up to 1.05 million variables. Indeed, the largest problem in this test set was created by generating all feasible rotations for the smallest eet of a major carrier and the optimal solution obtained in 37 minutes of computation time. So not only is it possible to obtain optimal solutions to such problems but also the computation time was entirely within \reasonable" time limits. The fact that the solution was known to be optimal provided an additional bene t { a tool to measure the value of changing a ight-leg time and its eect on crew costs. A unique feature of the branch-and-cut optimizer is the fact that it can solve problems having any number of base-constraints. By explicitly incorporating the base-constraints within the constraint matrix of the problem, one obtains automatically schedules that satisfy all the speci ed work rule restrictions at provably minimum cost. Moreover, such schedules tend to be \tighter" in the sense that crews are working more of the hours that they are on duty. This not only leads to cost savings but also to crews happier with the schedules they y. the fact that the solution obtained to this largest problem was known to be optimal provided an additional bene t { a tool to measure the value of changing a ight leg time or a contract rule on crew costs. The ve general components of the branch-and-cut optimizer are a preprocessor which tightens the user-supplied fomulation; a linear programming solver (Cplex); a heuristic that yields \good" integer-feasible solutions quickly; a cut generation procedure { the engine of this overall approach { that tightens the linear programming relaxation, and a branching strategy that selects the \next" branching variable and determines the search tree. The constraint generation component of this optimization package is the most important one since these are the procedures by which the lp solution is tightend and often results in an integer solution withoutany tree-search related enumeration. The cutting planes generated are based on the facial structure of the constraint
Airline Scheduling
33
set and are referred to as \polyhedral cuts". To generate such cuts one must look at the polyhedron resulting from taking the convex hull of the integer points of the original problem. Since little is known about that polyhedron, the polyhedron is approximated by taking a polyhedral relaxation based on the associated set packing polytope, the set covering polytope, and the knapsack polytopes resulting from Ax 1, Ax 1 and each of the base constraints. For the set packing and covering constraints, the general form of the constraints generated are lifted clique and odd-hole constraints. For the base-constraints, lifted minimal cover constraints are generated. For more on the method of generation, see [Crowder, Johnson and Padberg, 1973], [Homan and Padberg, 1991], [Homan and Padberg, 1993] and [Padberg and Rinaldi, 1991]. For the underlying mathematics, see [Balas and Padberg,1976], [Balas and Ng, 1986], [Corneujols and Sassano, 1989], and [Padberg, 1971,1972,1975,1977 and 1979]. For a general overview of branch-and-cut, see [Padberg and Rinaldi, 1991]. Tables 1 and 2 below from the Homan and Padberg paper, summarize the results of testing the branch-and-cut optimizer on a large set of crew scheduling problems. All of the problems in the test set come from airline carriers and are representative of problems arising in practice. Some of the largest problems were generated speci cally to test the eect that using larger subproblems might have on the overall quality of the crew schedules obtained in this way. Table 2 provides results for problems having crew-base constraints explicitly in the formulation and proves that such problems can be successfully solved to proven optimality with today's technologies.
5 Future Directions for Airline Scheduling There is ongoing work at most of the major airlines to extend the scope of both the eet assignment and crew scheduling models. In this section we will start with a summary of such extensions and proceed to a look at some of the promising directions for future work.
Airline Scheduling
34
We start with a look at crew scheduling. Since work on this area has been ongoing since the 1960's the techniques have reached a higher level of maturity than those applied to eet assignment. Nevertheless there are signi cant potential gains in productivity still available through the generation of better sets of crew pairings. Much of the current work in this area is directed at both generating candidate pairings and solving the resulting partitioning problems over larger subproblems, i.e. those containing larger subsets of ight legs. More direct use is being made of the underlying ight network to generate "good" pairings. Approaches such as branch-and-cut are being used to allow the incorporation of more side constraints that apply to the set of pairings so that their quality is enhanced. Search strategies for nding optimal solutions to these expanded problems present an ongoing challenge to the OR community. \Coldstart" eet assignment problems have only been reliably solved in the last 5 years, capitalizing on the availability of high performance workstations with fast implementations of the LP solvers. Most of these models consider only a single day ight schedule. Many domestic airlines are now working on extending these ideas to multi-day models. The rst target is to process weekends with their dierent schedules for Saturday and Sunday. Note that this represents a doubling of both variables and constraints in the problem. This greatly increases the LP run time. What is even more critical is the possibility of exponential growth in the branch and bound search process for an integer feasible solution. The consideration of the weekly problem is preferable. For most domestic carriers this is well approximated by a "3-day" problem in which the costs for the daily portion are given 5 times the weight. There are current eorts in modeling and solution approaches to make this problem solvable on a high performance workstation in the overnight time frame. A related area of active algorithm development is transition implementation of eet and crew decisions. Fleet assignment models can be used to transition from one schedule to another. A separate version of Delta's eet assignment model was developed and implemented for this problem where the objective is to minimize the number of eeting changes required. USAir also has plans to build such a model. The extension to multi-day models should allow for
Airline Scheduling
35
better current scheduling activities around holidays. The net eect would be to make the airline more exible to adjust to changes in its competitive environment. One of the major limitations of the current set of tools is the lack of interaction between eet assignment and crew scheduling. As described in the eet assignment section most models are limited to adding constraints to avoid bad crew situations. In some cases penalties may also be included. But the leg based nature of the eet assignment models does not allow for the proper setting of the crew cost penalty incurred for a given eet assignment. Fleet assignment post-processors that allow incremental changes to schedules and that are sensitive to actual aircraft routing could lead to large productivity gains in this area. A big advantage of local improvement methods is the ability to judge the whole eet assignment with complicated objective criteria. An example is the ability to assess a good estimate of the crew overnight costs by looking at all
eet assignments through a station. Since this cost function is not linear related to each ight leg assignment it cannot be accurately captured in a mathematical programming formulation. It is a desirable but probably longer term goal to try and consider both the
eet assignment and crew pairing optimization problems together in the same optimization framework. One possible approach is to solve iterate between the eet assignment problem and crew scheduling passing eet assignments and crew penalty costs back and forth on each iteration. The availability of parallel systems makes this approach thinkable if not currently economically attractive. A key to make such an approach a reality is the adoption of a common turn network foundation that can be used for both the eet assignment and crew scheduling phases of each iteration. The set of resource planning and schedule development activities prior to eet assignment provide a wealth of opportunities for OR tools. One of the main complexities is the lack of certainty about the information. This is the world of projections, forecasts and hunches. Nevertheless some models have already made inroads into this area. Both the Delta and USAir models have been used with a pro t maximization strucure, and a change in the cover con-
Airline Scheduling
36
straints from an equation to an inequality to suggest which legs to
y. Both the USAir and DELTA models have also been used for
eet planning studies. Instead of treating the eet size as xed, one can examine the impact of retiring or adding planes to a eet. USAir currently has a separate eet planning model for selecting the sizing and composition of eets with consideration of aircraft ownership and crew costs. Additional models that help choose markets based on the tradeo between revenue potential and operational cost would have a highly leveraged impact on the development of quality schedules. To be eective such approaches must incorporate a much more accurate representation of the passenger demand process which at least incorporates route selection and rerouting components. This is critical for any model that will make decisions about the frequency and/or timing of departures and their interconnection patterns with other ights. Unfortunately any leg based revenue model cannot accurately re ect the interactions between related ight legs. For example if two ights serve the same heavily travelled market at nearly the same time then the passengers carried on each ight will be in uenced by the capacity assigned to the other ight. This limitation is inherent in the choice of the decision variable. Successful approaches will have to deal with either high dimensionality in the space of decisions.
Airline Scheduling
37
6 References Anbil,R, E. Gelman, B.Patty, and R. Tanga (1991) \Recent Advances in CrewPairing Optimization at American Airlines", Interfaces, 21, 62-74. Anbil, R., R. Tanga and E. Johnson (1991) \A Global Optimization Approach to Crew Scheduling", Technical Report COC-91-05, Computational Optimization Center, School of Ind. and Sys. Eng., Georgia Inst. of Technology, Atlanta, GA. Arabeyre, J.P., J. Feanley, F.C. Stieger, and W. Teather, (1969) \The Airline Crew Scheduling Problem" Transportation Science 3, 140-163. Balas, E. and M. Padberg (1976) \Set partitioning: a survey" SIAM Review 18, 710-760. Balas, E. and Ng, S.M. (1986) On the set covering polytope I: All Facets with Coecients f0,1,2g, MSSR-522, Graduate School of Industrial Administration, Carnegie-Mellon University. Barahona, M., M. Grotschel, M. Junger and G. Reinelt (1988) \An application of combinatorial optimization to statistical physics and circuit layout design" Operations Research 36, 493-513. J. Bard, and I.G. Cunningham, (1987) \Improving Through-Flight Schedules", IEE Transactions 19, 242-251. C. Barnhart, L. Hatay and E. Johnson \Deadhead Selection for the Long-haul Crew Pairing Problem", Technical Report, Computational Optimization Center, School of Ind. and Sys. Eng., Georgia Inst. of Technology, Atlanta, GA C. Barnhart, E. Johnson, R. Anbil and L. Hatay, (1991) \A Column Generation Technique for the Long-Haul Crew Assignment Problem", Technical Report COC-91-01, Computational Optimization Center, School of Ind. and Sys. Eng., Georgia Inst. of Tech., Atlanta, GA. Barutt, J. and T. Hull (1990) \ Airline crew scheduling: Supercomputers and algorithms," SIAM News 20, November, 1990. Beatty, R. (1993) \Strategies for Irregular Airline Operations" Talk given at ORSA/TIMS Chicago.
Airline Scheduling
38
Birge, M.E. and Hopperstad, C.A. (1993) \Demand driven dispatch: a method for dynamic aircraft capacity assigment, models and algorithms", Operations Research 41 153-168. Bixby, R.E. and Boyd, E. (1990)\Using the CPLEX Callable Library," Manual distributed by Cplex Optimization Inc., 7710-T Cherry Park, Houston TX. Bixby, R.E. (1990) \Implementing the simplex methods, Part I, Introduction, Part II, The initial basis," TR 90-32 Mathematical Sciences, Rice U., Houston TX. Bornemann, D.R. (1982) \The evaluation of airline crew pairing optimization," AGIFORS Crew Management Study Group Proceedings, Paris. May, 1982. Crowder, H., E.L. Johnson and M.W. Padberg (1983) Solving large scale zeroone linear programming problems. Operations Research. 31, 803-834. Cornuejols, G. and A. Sassano (1989) \On the 0,1 facets of the set covering polytope" Mathematical Programming 43, 45-56. Dantzig, G.B., and P. Wolfe (1960) \Decomposition Principle for Linear Programs" Operations Research, 8, 101-111. Desrosiers, J., Y. Dumas, M. Desrochers, F. Soumis, B.Sanso, P.Trudeau (1991) \A Breakthrough in Airline Crew Scheduling" Technical Report G-91-11, Les Cahiers du GERAD, 17p., March, 1991. Druckerman, J., D. Silverman, and K. Viaropulos (1991) \IBM Optimization Subroutine Library Guide and Reference, Release 2", Documnet Number SC230519-2, IBM Kingston N.Y. Desrochers, M. and F. Soumis (1989) \A column generation approach to the urban transit crew scheduling problem," Transportation Science 23, 1-13. Gerbracht, R. (1978) \A new algorithm for very large crew pairing problems," 18th AGIFORS Symposium, Vancouver, British Columbia, CA. Gershko, I. (1989) \Optimizing ight crew schedules," Interfaces 19, 29-43. M. Grotschel and Monma, C. L. (1990) \Integer polyhedra arising from certain network design problems with connectivity constraints" , SIAM J. Discrete Mathematics 3, 502-523.
Airline Scheduling
39
M. Grotschel, Junger, M. and Reinelt, G. \Optimal control of plotting and drilling machines: A case study," Report No. 184, Universitat Augsburg. Hane, C.A., C. Barnhart, E.L. Johnson, G.L. Nemhauser, and G. Sigismondi (1993) \The eet assignment problem: solving a large-scale integer program", working paper. Schoool of Industrial Engineering, Georgia Institute of Technology, Atlanta, GA 30332. Healy, P. (1993) \Slot swap system at United Airlines", Talk at the Chicago ORSA/TIMS Meeting. Homan,K.L. and M. Padberg (1985) \LP-based combinatorial problem solving," Annals of Operations Research 4, 145-194. Homan,K.L.and M. Padberg (1991) Techniques for Improving the LP-representation of Zero-One Linear Programming Problems. ORSA J. Computing 3, 121-134. Jones, R.D. 91989) \Development of an automated crew bid generation system Interfaces 19 44-51. Lavoie, S., M. Minoux and E. Odier (1988) \A new approach for crew pairing problems by column generation with application to air transportation," EJOR 35, 45-58. Kroon, L.G. (1991) \Properties of an aircraft to gate assignment problem", Technical Report. Erasmus University, P.O. Box 1738, 3000 DR Rotterdam, The Netherlands. Lustig, I.J., R.E. Marsten, and D.F. Shanno (1992) \Computational experience with a primal-dual interior point method for linear programming", Linear Algebra and Its Applications 152 191-222. Lustig, I.J., R.E. Marsten, and D.F. Shanno (1993) \Interior point methods for linear programming: computational state of the art" ORSA Journal on Computing to appear. Marsten, R.E., (1981) XMP: A structured library of subroutines for experimental mathematical programming, ACM Transactions on Mathematical Software, 7, 481-490. Marsten, R.E., F. Shepardson (1981) \Exact solution of crew problems using the set partitioning mode: Recent successful applications," Networks 11, 165-177. Marsten, R.E., M. Muller and C.L. Killion, \Crew planning at Flying Tiger: a successful application of integer programming", Management Science 25 1175-
Airline Scheduling
40
1183. Minoux,M. (1984) \Column generation techniques in combinatorial optimization: a new application to crew pairing problems", Proceedings XXIV AGIFORS Symposium, France, Sept. 1984. Nicoletti, B. (1975) \Automatic Crew Rostering" Transporation Science 9, 3342. Padberg, M. (1971), \Essays in integer programming," Ph.D. thesis, GSIA, Carnegie-Mellon University, Pittsburgh, PA. Padberg, M. (1972) Equivalent knapsack-type formulations of bounded integer linear programs: An alternative approach. Naval Research Logistics Quarterly, 19, 699-708. Padberg, M. (1973) \On the facial structure of set packing polyhedra," Mathe-
matical Programming 5, 199-215.
Padberg, M. (1975) \A note on zero-one programming," Operations Research 23, 833-837. Padberg, M. (1977) \On the complexity of set packing polyhedra Annals of Discrete Mathematics 1, 421-434. Padberg, M. (1979) \Covering, packing and knapsack problems," Annals of Discrete Mathematics 4, 265-287. Padberg, M. and G.Rinaldi (1991) \A branch-and-cut algorithm for the solution of large-scale traveling salesman problems," SIAM Review 33, 1-41. Richter, H. (1989) \Thirty years of airline operations research", Interfaces 19 3-9. Rubin, J. (1973) \A technique for the solution of massive set covering problems, with applications to airline crew scheduling," Transportation Science 7, 34-48. Ryan, D.M. and J.C. Falkner, (1988) \On the Integer Properties of Scheduling Set Partitioning Models", European Journal of Operations Research 35, 442456. Sherali, H.D. and M. Rios \An Air Force crew allocation and scheduling problem", J Opl Res Soc 35 91-102.
Airline Scheduling
41
Sivakumar, R. S. Vithyanandan and N. Krishnamurthy (1993) \Decision Support Systems for Crew Irregular Operations at United Airlines", Talk given at Chicago ORSA/TIMS meeting. Solomon, M.M., and J. Desrosiers \Time Window Constrained Routing and Scheduling Problems" (1988) Transportation Science 22, 1-13. Swan, W.M. 1992 \The value of yield management information for routing and scheduling" AGIFORS Reservations and Yield Management Study Group. Subramanian, R., R.P. Sche, J.D. Quillinan, D.S. Wiper, and R. Marsten (1993) \Coldstart: Fleet Assignment at Delta Air Lines". Report presented as a nalist in the Edelman Prize Competition. Teodorovic, D. and S. Guberinic (1984) \Optimal dispatching strategy on an airline network after a schedule perturbation", Eur. Jnl of Operational Research 15 178-182.