Improved Column Generation for the Air New Zealand Tours-of-Duty Problem

Page created by Seth Evans
 
CONTINUE READING
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 ”WRWDOZRUNKRXUV”PD[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