Improved Column Generation for the Air New Zealand Tours-of-Duty Problem
←
→
Page content transcription
If your browser does not render page correctly, please read the page content below
Improved Column Generation for the Air New Zealand Tours-of-Duty Problem Martin J. Young Department of Engineering Science University of Auckland New Zealand. Abstract This paper investigates new methods for dynamic column generation to help solve the Air New Zealand Tours-of-Duty problem. A Tour of Duty (ToD) is an alternating sequence of duty periods and rest periods that makes up a work schedule for an aircrew. The objective of the ToD problem is to find a minimum cost combination of ToDs such that each flight in the airline’s flight schedule will be crewed. Numerous contractual rules and regulations governing the construction of ToDs make these problems computationally complex. This paper describes the ToD problem, outlines the typical solution method involving dynamic column generation, and proposes a new method for that generation based on enumeration of near-shortest paths. 1 Introduction A Tour of Duty (ToD) for an airline crew is an alternating sequence of duty periods and rest periods. It starts and ends at a crew member’s home base. An optimal solution to the ToD problem is a minimum-cost set of ToDs such that each flight in the airline’s flight schedule for a specified time period is included in only one ToD. Consequently the ToD problem is typically modelled as a set-partitioning problem (SPP). Dynamic column generation is used to solve the airline ToD problem because the explicit SPP model is huge, perhaps even impossible to create in a reasonable amount of time. The column generator adds columns with favourable reduced cost to the LP relaxation of a restricted SPP which contains only a subset of the full model’s columns. This restricted LP relaxation is re-solved, more columns are generated, and the process is repeated until no favourable columns can be found. Assuming the LP solution is fractional, a branch-and-bound procedure is implemented, during which additional columns may need to be generated; the combined procedure is called “branch and price”. This paper highlights an algorithm, and enhancements that help solve ToD column-generation subproblems more efficiently. 1.1 Aircrew Scheduling Aircrew scheduling is a major facet of every commercial airline’s operations. It ensures that crews are available to operate all scheduled flights. Optimal schedules are enormously important to these airlines because aircrew represent one of the largest expenses in an airline’s operating budget [1]. This fact has driven the airlines and commercial software companies to develop sophisticated optimisation methods to solve these crew-scheduling problems.
Solutions to the aircrew-scheduling problem comprise a roster for each of the airline’ s pilots and aircrew. These rosters ensure that every flight is crewed by the required number and type of pilots and aircrew. The aircrew-scheduling problem is normally solved through a sequence of simpler problems. The first is the tours-of-duty planning problem where the objective is to identify a minimum-cost set of ToDs that covers all scheduled flights. Each ToD must meet the rules and regulations set by aviation authorities and airline contracts. The second problem is the rostering problem where the objective is to minimise the cost of assigning ToDs to individual crew members so that all flight aircrew demands are met. In this paper we are only concerned with the ToD problem. ToD scheduling problems are combinatorial optimisation problems that are notoriously difficult to solve because of the structure and size of the problems. The difficult structure arises from the complexity of the scheduling rules applied to aircraft, crew, and airports. Any large-scale commercial airline’ s operations results in a ToD problem that is very computationally expensive because of the large number of scheduled flights. 1.2 ToD Terminology The following terminology describes important features of ToDs: Operate. Aircrew are said to “operate” a flight when they are working on the particular scheduled flight. Pax. The act of aircrew flying as passengers for transit purposes is known as “paxing” or “deadheading”. Duty Period. A duty period describes a sequence of flights that aircrew can perform without rest. ToD Cost. The “cost” of a ToD is typically representative of the total dollar cost of performing the ToD. However, this cost may also include penalties to encourage the selection of “high-quality ToDs”, as described, in Section 1.3. 1.3 The Tours-of-Duty Problem Given a flight schedule for a particular period of time, a solution to the ToD problem is a minimum-cost set of ToDs that cover each flight exactly once. The ToD problem can be represented through a “duty-period network” in which nodes represent duty periods to be crewed and arcs represent possible crew linkages. Figure 2 illustrates a small ToD network over a given time frame. 3 1 8 Start Start 5 Node Node 12 End End Node Node 6 9 13 2 Start 14 Node End End 4 Node Node 7 Start Node 10 Time 11 Figure 2: Duty-Period-Based Network Representation.
A start node defines the beginning of a ToD where crew depart their home base. An end node is a duty period that will end back at the home base. Once a path reaches an end node, the ToD is complete. Two nodes represent each duty period, one for instances when it is operated (un-shaded nodes) and one for when it is paxed (shaded nodes). The sequences of bold arcs define tours of duty, and the complete set of ToDs {1,3,5}, {1(pax),6,9,12(pax)}, {2,4,7}, {8,12} and {10,11,13,14} represent a solution to this ToD problem where all flights are crewed. The dashed arrows represent unused crew linkages. In practice, a separate network is constructed for each start day and home base. These smaller networks only contain nodes and arcs that could possibly be included in a complete path between any start node and any end node for the given start day and home base. The column generator operates on these networks. The total cost of a ToD solution sums the cost of each ToD selected in that solution. The total cost of a ToD splits into two parts, duty-period costs and rest-period cost. Duty period costs include salaries, overtime, trip credits and incentive pay. Rest period costs may include hotel accommodation, meals, ground transport, and general allowances. The construction of every ToD is governed by geographical constraints, time constraints and crewing rules: Crew Bases. Each ToD must begin and conclude at a common base known as a “ crew base” . An airline may have several crew bases. Aircrew Rank. ToDs must be constructed separately for each type of aircrew because each is governed by a specific set of rules. For example, pilots and flight attendants have different rules governing rest periods, preventing them working the same duty periods in many instances. Duty-Period Rules. These rules typically limit the length of a duty period, the latest time at which a flight may start within a duty period, the maximum allowable flight time within a duty period, and the number of crewmembers required to operate a flight. Tour-of-Duty Rules. These rules specify minimum rest periods between duty periods, maximum cumulative duty time, maximum cumulative flight time, and help to moderate the effects of time-zone changes to crew. Operational Rules. Airlines specify these rules to ensure the practicability of operations. For instance, one set of these rules will specify minimum required times between connecting flights, times that normally exceed regulatory minima. Such rules improve the robustness of schedules to disruption. The rule just mentioned will tend to reduce the number of flights that are delayed because of delayed incoming flights. Airlines primarily want to minimise the dollar cost of operation. However, airlines have other measures of quality that can be identified by observing the structure of individual ToDs. For ToDs with similar total cost, it may be advantageous to choose the solution containing better ToD quality. For example, the least-dollar cost solution may not be best because it prescribes only minimum legal rest periods or requires crew to change aircraft often between flights. If a delay arises in a crew’ s flight, the crew will not be able to operate a subsequent flight until they have rested the minimum time, causing delay to that flight too. Airlines therefore encourage ToD solutions with “ good” structural qualities whenever possible by penalising ToDs with poor structural quality. Robustness. Robustness measures how well a ToD resists being disrupted as a result of unforeseen delays such as flight delays and maintenance delays. “ Unit crewing” keeps a full crew together on a sequence of flights and keeps that crew with a single aircraft. This improves the robustness of the ToD as disruptions are limited to one aircraft and
aircrew. Solutions with a high level of unit crewing will generally be more expensive than the minimum cost solution, but will be more robust. Airlines often add a cost reflecting a lack of robustness. Pax. Paxing is useful in transporting aircrew to a destination where they are needed or to avoid accommodation costs for idle crew. It is worth noting that paxing incurs a different cost than operating the flight, adding complexity to the ToD model formulation. Good Practice. This quality encourages the selection of ToDs that are desirable from the aircrew’ s point of view if it does not substantially increase the overall cost of the solution. Instances of good practice include layover locations in ports that aircrew prefer. Figure 3, below, provides an example of a tour of duty, and Figure 4 illustrates the ToD on a world map. In this ToD, a crewmember departs from Auckland on day 1 and returns to Auckland on day 14 after completing six work periods. Day 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Airports AKL LAX CDG LAX PPT LAX - - - - - - - AKL LAX CDG LAX PPT LAX AKL Flight No. NZ04 NZ18 - - - - NZ19 - NZ17 - NZ16 NZ01 - - Figure 3: An example 14-day international tour of duty. Day 2 LAX CDG NZ18 Day 7 CDG LAX NZ19 Day 9 Day 1 LAX PPT AKL LAX Day 11 NZ17 NZ204 PPT LAX NZ16 Day 12 LAX AKL NZ201 Figure 4: Representation of the 14-day international tour of duty listed in Figure 3. 2 Current Approach and Implementation to the Tours-of-Duty Problem The basic formulation of the Air New Zealand ToD problem is a set-partitioning model: SPP : minimise ∑c j∈J j xj subject to ∑a j∈J ij xj =1 i = 1,..., m (2.1) x j ∈ {0,1} ∀j ∈ J
This model requires that m flights be covered by a selection from the set of |J| legal ToDs. The |J| legal ToDs form the columns of the constraint matrix A, and the m rows represent the m flights to be crewed. Therefore, a ij ∈ {0,1}, aij = 1 if a flight is covered by ToD j, and aij = 0 otherwise. The cost of the jth duty is cj. The variable xj = 1 if ToD j is selected, and xj = 0 otherwise. A complete, explicit SPP is inappropriate, as it would comprise hundreds of thousands to millions of variables, and would be impossible to solve. Therefore Air New Zealand solves their SPPs with a dynamic column-generation approach. When column generation is used the original SPP problem (2.1) is broken down into a restricted set-partitioning problem (RSPP) and a column generation subproblem. The restricted set-partitioning problem is: RSPP : minimise ∑c j∈J’ j xj subject to ∑a j∈J’ ij xj =1 i = 1,..., m (2.2) x j ∈ {0,1} ( j ∈ J ’ where J ’
4. If c j* − ∑ π i a ij * ≥ 0 , halt. i Otherwise, let J k +1 = J k ∪ {j *} and go to step 2. Once we have an optimal LP solution, “ branch and price” is applied to obtain an optimal integer solution. The LP optimal solution forms the lower bound for any IP solution. A branch-and-bound algorithm is carried out using constraint branching [2]. Branch and Price is used to generate columns within the branch and bound tree. Here the column generator is called to return ToDs that respect the constraint branches that have been imposed. The set-partitioning ToD problem is solved using the zero-one integer program solver (ZIP) developed by Ryan [3]. The pricing solves a resource- constrained shortest-path problem in an acyclic network. A path through the network represents a partial or complete ToD. When constructing a ToD, the rules are checked for validity at each step. When multiple crew bases and start days are to be considered in the ToD problem, a column generation subproblem is formulated for each combination, returning ToDs that depart the particular crew base on the given start day and return to the crew base. The algorithm for finding the optimal LP solution terminates when no columns with negative reduced cost are returned from the column generation subproblems for all crew base and start day combinations. There are currently two primary methods for generating columns from a network such as the ToD network presented in Section 1.3 . Carmen Systems uses a k-shortest path algorithm. The algorithm proceeds by finding the shortest path through the network. If it has negative reduced cost, the corresponding ToD is tested for legality. If it is legal it is added to the optimisation, the column generation can terminate or further paths can be priced. If it is illegal the next shortest path is examined. The column- generation terminates when the shortest-path calculation returns a non-negative path. On the other hand, Air New Zealand approaches the constrained shortest-path problem by constructing columns based on dynamic programming with full rules checking at each step and comparisons of state values. A state records a partial path’ s current resource usage for a particular rule. A path that has the same or higher reduced cost than any other path, and also has the same or worse state values for every state is said to be “ dominated” by another path the corresponding label deleted. Only “ non-dominated” state vectors, each corresponding to a path, are kept as possibilities for extending the ToD. This means that at each node partial paths are compared with respect to their state values for dominance. 2.1 Disadvantages of the current implementation at Air New Zealand Wallace [4] notes that up to 90 percent of the total Air New Zealand ToD solution time involves column generation. This computational expense can be attributed to: • The large size of the ToD network, • Shortest-path problems that are difficult to solve because a large number of non- dominated state labels must be stored at each node, and comparisons made against all these labels made as the algorithm extends paths, and • The large number of rules that must be checked at each step of the constrained shortest-path calculation. The current implementation requires that all rules be represented as states that must be calculated and recorded at each step.
3 A New Methodology and Approach We propose a new method for generating columns from the ToD network, based on the work of Carlyle and Wood [5] for solving constrained shortest-path problems. Because the ToD network is acyclic, and because we are not yet employing Lagrangian relaxation, as Carlyle and Wood do, this methodology becomes, essentially, a multidimensional version of the Byers and Waterman algorithm [7] for generating near- shortest paths in a network. 3.1 Near-Shortest Paths Enumeration We are performing near-shortest path enumeration with respect to reduced cost. However, we extend this into multiple dimensions to represent “ easy” cumulative constraint values such as cumulative work hours, and cumulative number of “ pax sectors” in addition to reduced cost. Each of these “ weight dimensions” represent a constraint, e.g., reduced cost WRWDOZRUNKRXUVPD[LPXPWRWDOZRUNKRXUV,IWKH shortest s-t path with respect to dimension k has “ weight” Lk(s), and that dimension has an upper limit Wk, then we are willing to look at all near-shortest paths in that dimension within Wk − Lk (s ) units of being “ shortest” . We take all the dimensions into account simultaneously in the enumeration so that all FRQVWUDLQWVDUHVDWLVILHG:HDXJPHQWWKH enumeration process with the other rules that do not easily fit into the shortest-path paradigm, e.g., rules that govern the total amount of work performed over a “ sliding window” . Consider a directed (loopless) graph G = (V, E) where s, t are source and sink nodes respectively. Let k = 0,…,K index weight limits Wk on each cumulative measure, W0 corresponds to reduced cost. Each edge has weight wk(i,j).The near-shortest path problem is to enumerate all negative reduced cost s-t paths with all other total weights less than or equal to Wk. The modified Byers and Waterman method for enumerating near-shortest paths is: 0. Start. 1. For k = 0, 1,…, K. 2. For every v ∈ V, find wk’ (v ), the cumulative shortest-path weight from v to t. We can find all these values for each k by solving a single shortest-path problem starting at t and traversing edges backwards. 3. Run the s-t path enumeration algorithm starting at s, but only extend an s-u partial path to include v along edge e = (u,v): o If: Lk (u )+ wk (u , v )+ wk’ (v ) ≤ Wk for all k o And: All other rules that cannot be considered in step 2 are satisfied. 4. Whenever an s-t path is found, it is stored. The resulting set of ToDs are all those with negative reduced cost, are weight feasible with respect to the FRQVWUDLQWVDQGDUHOHJDOZLWKUHVSHFWWRDOORWKHUUXOHV We plan to apply Lagrangian relaxation to constraints k = 0, 1,…, K in the ToD model, optimise the resulting Lagrangian function and perform near-shortest path enumeration as described by Carlyle and Wood [5] to further improve efficiency. 3.2 Preprocessing Preprocessing and can further improve the speed of path enumeration by simplifying the network. Dumitrescu and Boland [6] highlight a method for simplifying shortest-path
networks when upper bounds Wk, indexed k = 0,… ,K, exist on the accumulation of weights along any feasible path. Any node or arc can be eliminated from the ToD network if traversing it causes some bound Wk to be violated. This preprocessing method simplifies an acyclic network G = (V, E) as follows: 0. Start. 1. For k = 0, … , K. 2. For every v ∈ V, find wk’ (v ), the shortest-path length from v to t with respect to weight k. 3. For every v ∈ V, find wk’’ (v ), the shortest-path length from s to v with respect to weight k. 4. For every v ∈ V, if wk’’ (v ) + wk’ (v) > Wk , then node v cannot be included in a weight feasible ToD and therefore it and its incident arcs are removed. 5. For every arc (i,j) ∈ E if wk’’ (v ) + wk (i, j ) + wk’ (v) > Wk , then arc (i,j) cannot be included in a weight feasible ToD and therefore it is removed. 6. If any nodes or arcs have been removed from the network go to step 0 because the shortest-paths through the network may change. Otherwise stop, because the network cannot be reduced any further. In the ToD problem we are considering multiple types of weights such as reduced cost, ToD duration in time, Number of paxed flights and number of duty periods. Network simplification can be performed for each of these entities. 3.3 Infeasibility Tree The approach to rule checking that we have discussed so far is rule checking at each step of the path enumeration. In addition to this we have implemented an infeasibility tree that stores partial infeasible paths as they are enumerated for each home base and start day. On subsequent calls to the column generator for the same home base and start day, we will have information on infeasible partial ToDs enumerated previously. When enumerating a path we can check to see if it has previously been identified as infeasible by matching the partial path construction to the infeasibility tree. The motivation behind this approach is that it will be faster to check the partial path against the infeasibility tree at each addition of a flight than it will be to check all rules. By implementing the infeasibility tree, rules only need to be checked if the ToD being constructed deviates from the infeasibility tree. This means that we can simply follow the tree during ToD construction until the partial path’ s node sequence can no longer be completely traced through the tree (the ToD becomes unique to the tree), or we reach a leaf node in the tree. If the ToD becomes unique to the tree then we must call the rules check for further node additions because this partial ToD has never before been tested or it leads to a complete, legal ToD. If we can follow the tree to a leaf node then we know that the ToD is infeasible without needing to do any rules checking at all. Figure 5 illustrates the benefits of implementing the tree.
1. Identified infeasible partial paths: 2. Tree representation of infeasible paths: 1 2 4 1 (1,2,4): 1 2 5 (1,2,5): 2 3 1 3 5 (1,3,5): 4 5 5 3. A path (1,3) can now be constructed in future column generations without rules 4. The Infeasibility Tree is updated by checking as it follows a branch in the tree: adding the unique components of the 1 3 infeasible partial path: 1 If we were to add node 5 to the path then we can declare it (1,3,5) infeasible because we have traversed an entire branch. Otherwise if 2 3 we were to add node 6 to the path (1,3) then we would need to rule check because the path becomes unique to the tree. Say (1,3,6) 4 5 5 6 is feasible, but adding flight node 7 to this path violates a rule, so the ToD (1,3,6,7) is infeasible: 7 1 3 6 7 Figure 5. Infeasibility Tree Implementation. 4 Results of Implementation The ultimate goal of implementing the new approach to column generation for the ToD problem is to decrease the solution time for the overall problem. Implementation of the following techniques combine to produce near-minimum reduced cost columns quickly for large ToD problems: o Network processing. Through the calculation of the v-t shortest paths and s-v shortest paths for all v in |V| we can simplify the network by removing nodes and arcs that cannot be included in legal ToDs for that particular iteration of the column generator. Although this requires some extra work initially, the efficiency of enumeration of legal ToDs will be improved because we never traverse nodes or arcs that cannot be contained in legal ToDs. o Near shortest path enumeration. We can effectively enumerate ToDs with good reduced cost. When extending a path from node u to node v, we update the current path state label to reflect the use of resources. We do not have to test this label against all other existing non-dominated labels at node v for dominance. o By using the Byers and Waterman approach we can prevent extending partial paths any further if they cannot be feasibly completed. o The implementation of an infeasibility tree results in a reduction in the number of expensive, explicit, rules checks needed during enumeration of ToDs. This is achieved by recording infeasible partial ToDs that have previously been identified.
Through preliminary implementation of the methods described above, we have been able to produce LP solutions faster than the current implementation at Air New Zealand. However, we have artificially imposed limits on the number of flights in a ToD to a value we know not to restrict the solution, but only after finding the solution in a previous run. These results are promising, as only a subset of the rules that can be embedded in the path enumeration algorithm, as opposed to the remaining external to it, have been implemented. Furthermore a number of criteria for network reductions remain to be implemented. 5 Acknowledgements This research is being carried out under the supervision of Professor Kevin Wood and Professor David Ryan. 6 References [1] Butchers, R.; Day, P. R.; Goldie, A. P.; Miller, S.; Meyer, J. A.; Ryan, D. M.; Scott, A. C.; Wallace, C. A. (2001), “ Optimized crew scheduling at Air New Zealand” , Interfaces, Vol. 31(1), 30-56. [2] Ryan, D. M.; Foster, B. A. (1981), “ An integer programming approach to scheduling” , Computer Scheduling of Public Transport: Urban Passenger Vehicle and Crew Scheduling, A. Wren (ed.), North-Holland Publishing, Amsterdam, 269-280. [3] Ryan, D. M. (1980), “ ZIP – A zero-one integer programming package for scheduling” , Computer Science and System Division Report 85, Atomic Energy Research Establishment, Harwell, Oxfordshire. [4] Wallace, J.A. (2000), “ Construction of optimal tours of duty for long-haul flight attendants” , PhD Thesis, Department of Engineering Science, University of Auckland, Auckland. [5] Carlyle, W. M.; Wood, R. K. (2003), “ Lagrangian relaxation and enumeration for solving constrained shortest-path problems” , Proceedings of the 38th Annual ORSNZ Conference, 3-12. [6] Dumitrescu, I.; Boland, N. (2001), “ Algorithms for the weight constrained shortest path problem” , International Transactions in Operational Research, Vol. 8, 15-29. [7] Byers, T.H.; Waterman, M.S. (1984), “ Determining all optimal and near-optimal solutions when solving shortest path problems by dynamic programming” , Operations Research, Vol. 32(6), 1381-1384.
You can also read