PII:
Computers Ops Res. Vol. 25, No. 11, pp. 887±894, 1998 # 1998 Elsevier Science Ltd. All rights reserved Printed in Great Britain S0305-0548(98)00030-6 0305-0548/98 $19.00 + 0.00
CREW SCHEDULING OF LIGHT RAIL TRANSIT IN HONG KONG: FROM MODELING TO IMPLEMENTATION Sydney C. K. Chu1$% and Edmond C. H. Chan2} Department of Mathematics, University of Hong Kong, Pokfalum Road, Hong Kong Hongkong Airport Services Ltd, Hong Kong International Airport, Chek Lap Kok, Hong Kong 1
2
(Received July 1997; in revised form February 1998) Scope and PurposeÐOur work concerns the problem of crew scheduling for the Hong Kong Light Rail Transit, which together with Heavy Rail Transit, makes up the two divisions of Kowloon±Canton Railway Corporation. As the Corporation is rapidly expanding on routes, capacities and territorial coverage, there are pressing needs for timely constructions of crew schedules whenever passenger demand variations necessitate modi®cations in train timetables, typically every 3±4 months. We aim at automating this complex schedule construction, adopting computer and operations research models. The implementation runs as a decision support tool, with an overwhelming reduction in human eort in crew schedule construction; as the entire crew schedule can be constructed iteratively in less than half an hour on a PC. AbstractÐThis work concerns the problem of crew scheduling for the Hong Kong Light Rail Transit (LRT), which together with Heavy Rail Transit, makes up the two divisions of Kowloon±Canton Railway Corporation. As of early 1996, LRT operates eight routes, two train depots and 57 stations on its operational network. It is rapidly expanding on routes, capacities and territorial coverage, hence pressing needs for timely constructions of crew schedules whenever passenger demand variations necessitate modi®cations in train timetables, typically every 3±4 months. Computer-assisted manual solutions from old software can take up to 1 month of painstaking work. Our project aims at automating this complex schedule construction, adopting a novel optimization modeling approach amenable for decomposition into separate solution stages by network and heuristics algorithms. The entire crew schedule can be constructed iteratively in less than half an hour on a PC. The implementation runs as a decision support tool, with contributions of an overwhelming reduction in human eort in crew schedule construction and a feasible and better (higher productivity rate) schedule, with possible further manual improvements that can be made. # 1998 Elsevier Science Ltd. All rights reserved Key words: Crew scheduling, optimization modeling, heuristics
1. INTRODUCTION
The background of this study is the problem of crew scheduling for the Hong Kong Light Rail Division (LRD), which together with Heavy Rail Transit, makes up the two divisions of Kowloon±Canton Railway Corporation. Light Rail Transit (LRT) is currently operating eight routes serving the districts of Tuen Mun and Yuen Long in Hong Kong. As of early 1996, there are two train depots and 57 stations in its operational network. More routes and vehicles have been added since mid 1996. LRT service is still under rapid expansion on routes, capacities and territorial coverage. This gives rise to needs for timely constructions of crew schedules whenever there are modi®cations $To whom all correspondence should be addressed. E-mail:
[email protected] %Sydney C. K. Chu is currently a Senior Lecturer specializing in Operations Research in the Department of Mathematics at the University of Hong Kong. He received his B.S. and M.S. from Cornell University in Operations Research & Industrial Engineering. Later he earned his Eng.D.Sc. in Operations Research from Columbia University. He has worked for research and consulting organizations both in U.S. and in Hong Kong; and has published many articles in discrete optimization and applied Operations Research modeling in areas such as location/ allocation, distribution, planning, and scheduling. }Edmond C. H. Chan obtained his B.Sc. (®rst class honours) in Mathematical Sciences from Baptist University of Hong Kong and his M.Phil. in Operations Research from the University of Hong Kong. He is now an Assistant ManagerÐQuality Control at the Hong Kong Airport Services, Ltd, having been a graduate student at the University of Hong Kong at the time of this work. His interests include scheduling logistics and their software systems in the Transport area. 887
888
Sydney C. K. Chu and Edmond C. H. Chan
in train (or vehicle) timetables necessitated by passengers' demand variations. Typically, the timetables undergo major revisions every 3±4 months. Sole human (mainly operations department) eorts were initially the answers to such calls. Subsequently, a computer software (``BUSMAN'' [3] acquired several years ago from England) provided computer-assisted solutions. Substantial manual eort was still required, particularly because ``BUSMAN'' was originally designed for buses rather than rail transport and under a single-depot assumption. Local operating conditions and governing requirements, including issues such as labor laws and regulations, cannot be easily handled in this ad hoc (computer±human combined) approach. It has been taking from 2 to 4 weeks to painstakingly work out the corresponding crew schedule for a new vehicle timetable this way. Scienti®c approaches to scheduling or crew scheduling have accumulated a large literature. Useful reviews and relevant to our use of network models for crew scheduling are given by Carraresi and Gallo [4] and by Ball et al. [1]. On the whole, theoretical development has seen more published articles, while actual cases leading to computerized implementation have seen less reporting. The complex nature of practical details and real problem sizes appear to be often the most dicult to adequately model and solve. Exact methods such as integer programming with column generation to get around computational complexity have also been described in such work by Desrochers and Soumis [7]. Our project with the Corporation started over 3 years ago, with a clear objective to automate this complex construction of crew schedules. Our operations research outlook has been to adopt speci®cally a new and decomposed optimization modeling approach. The crew scheduling problem is modeled by a novel data representation of various vehicle trips, thus providing the opportunity for decomposition into multiple solution stages, in which dierent (mathematical) network algorithms and heuristics are applicable. Such techniques circumvent the intrinsic NPhardness of a crew scheduling problem, exploiting portions of the problem featuring nice network structures. Network models and algorithms have been around for many years in the ®eld of vehicle ¯eet planning and crew scheduling problems. Given a set of blocks (of driving) as inputs there is a natural problem decomposition which ®rst divides the blocks into pieces and then combines the pieces into runs. This approach is particularly appealing since the block partitioning step can be formulated as simpli®ed shortest paths computations and, assuming only one-piece and two-piece runs for (driving) duties, the duty generation step can be solved as a matching problem. This basic approach was ®rst used by Lessard et al. [9] in 1981 and studied further by Carraresi and Gallo [4] in 1984, Rousseau et al. [10] and also Ball et al. [2] in 1985. The fundamental challenge of using this approach is to provide an objective function for the shortest path problem which re¯ects appropriately the ®nal crew costs given by the solution to the matching problem. In the same context, many important papers or proceedings of workshops also appeared more recently such as those of Desrochers and Rousseau [6] in 1992 and Desrosiers et al. [8] in 1995. One of the main features in the network modeling approach is that the problem size can be largely reduced if complicated company regulations have to be followed (which on the contrary would be hard to handle for a mathematical programming approach). With our added localized optimization heuristics, the entire crew scheduling problem can be ``solved'' in an iterative multi-stage fashion, in less than half an hour on a PC. The implementation actually runs as a decision support tool since at the end of computation (as decided by the user), there will often be a small number of less-than-ideal individual driver duties which can either be accepted as they are, or be improved upon by manual touch-ups. (However, we mention in passing that since the tool is used solely by the technical operations ocers responsible for schedule construction, the outputs are rather ``terse'' showing no fancy screen displays.) A summary project report including the algorithmic and implementation details is given by Chan [5]. Due to problem decomposition and heuristics being involved, no overall optimization can be claimed. However, while feasibility is ensured, the computed solutions always indicate improvement on operational productivity based on the Corporation's established performance measure. The main contributions are therefore the demonstrations of (1) a great reduction in human eort in crew schedule construction and (2) a feasible and better schedule, which can still be further improved manually if desired.
Crew scheduling of light rail transit in Hong Kong
889
2. THE OPTIMIZATION MODELING APPROACH
A rather common modeling for crew's schedule is to use a binary decision variable such as Z(u, v) taking value 1 if crew member u is assigned to the time session v, where a time session in our case can mean driving a vehicle between a pair of stations on a particular route at a certain scheduled time (with such session information all taken from the given overall daily operating timetable). The pitfall in such modeling in reality is that very rapidly the ``curse of combinatorics'' (or astronomical number of combinations) makes enumeration of even a small portion of possibilities out of reach on any supercomputers. The success in feasibility comes from careful analysis of the system's data and features so as to approach its modeling from a dierent (and fresh) direction such that the result is amenable for practical computation. The key observation is to follow the view of a traversing vehicle (with its interaction with the system's characteristics). 2.1. Runs, relief points and trips For our 2-depot system, a vehicle's daily run is necessarily of the following two patterns. It either starts and ends at a same depot,
Depot A
station 1
station 2 . . .
station i or its starting and ending depots are dierent (showing two runs here),
Depot A
station 1
station 2 . . .
station i . . .
Depot B In this second case, the run from depot B to depot A is performed subsequent to A to B. (Such a return run is necessary for the balance of the numbers of vehicles at both depots.) Note that this concept of a run (as used in the rail industry) thus consists of a sequence of trips made by one vehicle on a particular route. (The de®nition of the more familiar term of the route is simply a designated terminal-to-terminal path of a vehicle making ®xed stops at prescribed stations in between). The daily vehicle operations can therefore be described by various runs (of all vehicles). Runs are numbered and together with time/station information comprise the daily vehicle timetable. Schematically, a run can be represented as, with D being a depot and station i shown as a terminal,
D ÿ4
1 ÿ4
2 . . .
i ÿ 1 ÿ4
i ÿ4
i ÿ 1 . . .
2 ÿ4
1 ÿ4
D An important system feature is the prior designated stations as relief points, which are the only stations along a route that changes of drivers can occur. From the point of view of crew scheduling, non-relief points are irrelevant. Hence suppose stations 2 and i ÿ 1 are not relief points, the run above is reduced to
D ÿ4
1 ÿ4
3 . . .
i ÿ 2 ÿ4
i ÿ4
i ÿ 2 . . .
3 ÿ4
1 ÿ4
D As many stations are not relief points, the representation of a run is then much simpli®ed in terms of its number of trips. The set of important system data of relief times when a vehicle reaches their corresponding relief points can thus be written as T
k ft
k, 1, t
k, 2, . . . , t
k, u
kg, k 1, 2, . . . , R, where u(k) denotes the last trip, t(k, u(k)) is the return time to depot of the kth run and R is the total number of runs. [Taking the above as an example, the vehicle starts from depot D at time t(k, 1), reaches station 1 at t(k, 2) and returns to D at t(k, u(k)), assuming that it is the kth run.] 2.2. Pieces, stretches and duties A run or part of it (i.e. a number of trips) can be given to a driver as his continuous driving (of that vehicle). Such segment of a run assigned to a single driver is referred to as a piece. For each piece p, it contains ®ve items of information run no: k, ST
p, SL
p, ET
p, EL
p,
890
Sydney C. K. Chu and Edmond C. H. Chan
where ST = start-time, SL = start-location (platform/station), ET = end-time and EL = endlocation for piece p of run k. While a piece re¯ects the running time and location of the vehicle, the operating (hence paid) time of a driver includes additional preparation/walking before a piece's start and after a piece's end. That is, corresponding to a piece p, a driver's concern is a stretch s(p), containing two more items of information run no: k, ST
s
p, ST
p, SL
p, ET
p, ET
s
p, EL
p, in which ST(s(p)) < ST(p) and ET(p) < ET(s(p)), the amount of such allowances follow from LRD's speci®c rules and regulations. (Such details are omitted here.) The problem of crew scheduling can now be interpreted as calculating ``feasible'' pieces and assigning them as (single- or multiple-piece) duties to the individual drivers. Feasibility of pieces is de®ned as follows. Let P(k) denote the set of feasible pieces of the kth run, then the set of all feasible pieces is given by P [k P
k, where p $ P if and only if (1) ET(p) ÿ ST(p)r minimum speci®ed piece-length; (2) ST(p), ET(p) $ T(k) and (3) maximum speci®ed stretch-lengthr ET(s(p)) ÿ ST(s(p)) r minimum speci®ed stretch-length. Based on the above setting, our approach to the crew schedule construction is by decomposed optimization modeling. The two stages are, respectively, (1) the calculating of ``good'' feasible pieces and (2) the matching of such pieces to form (2-piece) duties. 2.3. Mathematical model and its decomposition We ®rst consider the problem of partitioning the runs to form pieces. For run k, construct a network by including a node for each relief time t(k, i) and an edge from node t(k, i) to node t(k, j) if the portion of run from the former to the latter satis®es the requirement of being a piece p $ P(k), with ST(p) = t(k, i) and ET(p) = t(k, j), i, j = 1, 2, . . ., u(k). De®ne an indicator variable y(k, p) for each potential piece p $ P(k). The problem of pieces calculations is given by the following path constraints PC(y), in terms of 0±1 decision variables y: Constraints PC(y): ( 1, j1 X X y
k, p ÿ y
k, p 0, j 2, 3, . . . , u
k ÿ 1 p2P
k, ST
pt
k, j p2P
k, ET
pt
k, j ÿ1, j u
k The solution with y(k, p) = 1 if piece p is used (and 0 otherwise) characterizes the set of feasible pieces P. We next consider the problem of matching pairs of two pieces together to form duties. (These are called 2-piece duties, which are preferred to the more fragmented 3-piece duties that should only happen infrequently.) Representing each feasible p $ P by a node, we put in an edge from node p to node q, both in P, provided this joining edge satis®es the requirement of being a feasible duty. That is, if D denotes the set of feasible duties, d(p, q) $ D if and only if (1) SL(p) = EL(q), or returning to the same depot; (2) ST(s(q)) ÿ ET(s(p)) rmeal plus traveling time and (3) maximum speci®ed duty-length r ET(s(q)) ÿ ST(s(p)) r minimum speci®ed dutylength. For each potential duty assignment d(p, q) $ D, we de®ne an indicator variable x(p, q) = 1 if a duty is to be formed by piece p followed by piece q. The problem of duty formations is given by the following (symmetric) matching constraints MC(x; y), in terms of binary decision variables x with respect to the variables y: Constraints MC(x; y): X q:d
p, q2D
x
p, q x
p, p y
k, p
X
x
p, q x
q, p
p 2 P
k, k 1, 2, . . . , R
Crew scheduling of light rail transit in Hong Kong
891
(Note that in the above matching formulation, there exists the possibility that, for some p, while y(k, p) = 1 there are no q's such that x(p, q) takes on the value 1. In this case, to ensure (mathematical) feasibility, x(p, p) is set to 1 for each piece p regardless of whether it can or cannot form a duty by itself.) The solution with x(p, q) = 1 if pieces p and q are matched de®nes the set of feasible duties D (with up to two pieces in each formed duty). Finally, the mathematical model for the crew scheduling problem can simply be given by CS(x, y): X X c
p, qx
p, q c
p, px
p, p Min p2P
d
p, q2D
subject to constraints PC(y) and constraints MC(x; y), where c
p, q ST
p ÿ ST
s
p ST
q ÿ ET
p ET
s
q ÿ ET
q, c
p, p a large number
penalty for unmatched pieces The solution from this formulation CS(x, y) consists of partitioning all runs into ``good'' pieces (hence stretches) and matching the pieces/stretches into ``good'' duties (with minimizing idle time as its objective function). High computational complexity due to its combinatorial nature leads us to its decomposed solution approach. The crew scheduling model CS(x, y) is divided into two solution stages: the ®rst concerning PC(y) being a path problem and the second involving MC(x) being a matching problem, based on the results of the previously computed decision variables y. 2.3.1. Stage 1: shortest path. For each run k = 1, 2, . . . , R, we solve a (positive edge-cost) shortest path problem SP(k, y) given by X c
k, py
k, p Min p2P
k
subject to constraints PC(y), where c(k, p) is the expected cost if piece p is formed. The computation is a straight-forward DP-type ecient O(n2) recursion. The only dicult part is the determination of the cost parameters c(k, p). Each node represents a relief time instant. Hence nodes, say m and n, with times T(m) and T(n), should imply a prohibited big-M cost to form a piece p involving the edge from m to n, if either (1) T(n) ÿ T(m) < minimum allowable piece-length or (2) T(n) ÿ T(m)>maximum allowable piece-length. Otherwise, a ®nite cost may be assigned to forming such a piece p, equaling to the idle time resulting from the corresponding stretches. In this latter case, we need to further consider whether p (involving nodes m and n) can only be ®rst or second stretches. These sub-cases lead to dierent amounts of idling due to dierences in sign-on, sign-o, walking and vehicle preparation. We omit such related details here, except to illustrate in a most ¯exible case a cost of fT
m ÿ ST1
m ET1
n ÿ T
n T
m ÿ ST2
m ET2
n ÿ T
ng=2, where ST1 and ET1 refer to ®rst stretch times and ST2 and ET2 refer to the second. We note that this choice of combined ®rst- and second-stretch times re¯ects a ``compromised'' de®nition of cost parameters. This is because their values for piece p depends on which piece as well as the order (viz. ®rst or second) it is eventually matched to (not known for all pieces at this stage, except for ®rst and last stretches in runs). Hence the c(k, p) as shown here represents simply an ``averaged out'' cost of allowing for the ¯exible use of piece p as either a ®rst or second piece in the matching solution. The outcomes of this stage of computation are the divisions of runs into smaller (feasible) pieces for individual drivers to pick up for duties. Such divisions are (locally) optimized so as to keep the overall cost due to idle time and traveling time a minimum (in the sense that this optimization is myopic, limited to within stage 1). 2.3.2. Stage 2: symmetric matching. By restricting to the set Q(k)U P(k) such that y(k, p) = 1 as calculated from the shortest path problem SP(k, y), for k = 1, 2, . . ., R, we now solve a minimum weighted symmetric matching problem (with respect to this computed y from stage 1).
892
Sydney C. K. Chu and Edmond C. H. Chan
The set of pieces considered is given by Q 0[kQ(k) and the set of potential duties is thus restricted to E = {d(p, q)vp, q $ Q}. The matching problem MM(y) is given by X X c
p, qx
p, q c
p, px
p, p p, q 2 Q Min p2Q
d
p, q2E
subject to constraints MC(x; y = 1), where c
p, q ST
s
q ÿ ET
s
p,
c
p, p a large number
penalty for unformed duties
As stated, the above is a minimum cost maximum matching. Its symmetric matching property of x(p, q) = x(q, p) can be nicely exploited to render an ecient O(n3) adapted min-cost max¯ow algorithm. The outcomes of this stage of computation are the formed (2-piece) duties together with hopefully a small number of unmatched pieces, which can either simply be accepted as single-piece duties or be subject to further improvement by local search heuristics. Again, the objective function here drives for minimizing total idle time aiming at improved productivity. 2.3.3. Stage 3: improvement heuristics. A total of ®ve heuristics have been developed to simulate the eect of manual adjustment in constructing the crew schedule in a conventional noncomputerized fashion. The purpose is to eliminate as many of the previously unmatched pieces after running the decomposed optimization as possible. As such, we will only give a brief and general description for each of them. (1) The ®rst is an ``IMPROVE'' heuristics, which tries to match two unmatched stretches by examining the data ®le of relief times to locate any possible slight shift of working time. It is conservative and does not break any already formed duties. (2) The second is a ``2-OPT'' heuristics, which takes two unmatched stretches and one formed duty to determine if rearrangement can result in two formed duties. Again, this guarantees the number of formed duties to be no fewer than before. (3) The third is a ``SPLIT-DUTY'' formation of duties from two unmatched stretches. A split duty is one that comprise two (usually) short stretches with a few hours of unassigned driving in between. While this is less than ideal, controlled uses of split duties obviously decrease the number of drivers required on the network. (Split duties have their own separate set of governing rules of acceptability.) (4) The fourth is a ``3-PIECE'', which attempts breaking up an unmatched stretch into two parts for possible matching elsewhere. The new duty thus formed may then contain three distinct (i.e. with time gaps in between) parts. These comprise the so called 3-piece duties. (5) The ®fth is a ``DIVIDE'' heuristics, which is a combined eect of the two routines of ``2OPT'' and ``3-PIECE''. As such, it captures the features of these two programs to form more pieces, some of which may contain three separate parts as in ``3-PIECE''. A special design of these ®ve computer codes is that each takes as input and produces as output a common ®le format so that any order and/or number of times of dierent executions are possible. The resulting number of formed crew duties will be at least as many as before, any or all, of the results from these heuristics. This is because each of these heuristics starts with (the current solution consisting of) a set of formed duties and a number of unmatched stretches and ends with (hopefully) additional new duties (of possibly dierent types, such as split-duties or 3-piece duties).
3. NUMERICAL RESULTS AND CONCLUDING REMARKS
LRD operates two dierent vehicle timetables, one for weekdays and one for weekends. These sets of two timetables are revised at least twice a year to cater for changes of passenger demand patterns and available service capacities. Various tests of our decision support software based on the decomposed optimization modeling described above have been performed on four weekend data (timetables 313, 314, 315, 316) and three weekday data (timetables 114, 115, 116), or a total of 3.5 sets of timetables. These timetables span over a period from late 1993 to mid 1995.
Crew scheduling of light rail transit in Hong Kong
893
Table 1. Performance comparisons with respect to weekend vehicle timetables PM
(1) (2) (3) (4)
Timetable 313
Timetable 314
Timetable 315
manual
software
manual
software
manual
software
155 N.A. 12.39% 81.59%
[158, 161] 6 8.13% 81.85%
159 N.A. 10.99% 81.86%
[158, 163] 11 8.51% 83.27%
159 N.A. 11.99% 81.93%
[161, 167] 13 9.48% 82.44%
PM = performance measure; (1) = driving duties; (2) = unmatched stretches; (3) = overtime rate; (4) = productivity rate.
Table 2. Performance comparisons with respect to weekday vehicle timetables PM
(1) (2) (3) (4)
Timetable 114
Timetable 115
Timetable 116
manual
software
manual
software
manual
software
173 N.A. 11.87% 79.50%
[171, 189] 36 8.76% 82.67%
181 N.A. 10.98% 80.60%
[178, 190] 25 8.36% 82.97%
182 N.A. 9.49% 81.36%
[186, 199] 26 6.05% 81.86%
PM = performance measure; (1) = driving duties; (2) = unmatched stretches; (3) = overtime rate; (4) = productivity rate.
Before our software was available, crew schedules had been constructed by a combined but largely manual eort, taking close to a month's work as mentioned previously. The software takes only minutes of CPU time, or less than half an hour if interactions with the heuristics are included. The tables below show comparisons on a few performance measures: (1) the number of resulting driving duties; (2) the number of ``unmatched'' stretches from the software; (3) the overtime rate and (4) the productivity rate. Table 1 shows (weekend) timetables 313, 314 and 315; while Table 2 shows (weekday) timetables 114, 115 and 116. There is a slight but clear edge of better performance of the software for the less busy weekend timetables. From Tables 1 and 2, we can observe better performance of the software on measures of overtime rate and productivity rate (related mainly to drivers' idle and walking times as de®ned by LRD). Their calculations, however, are based only on the matched duties that the small numbers of unmatched duties shown may have some slight eect on the actual overall averages. Care in reading items (1) and (2) on numbers of formed duties and unmatched stretches is necessary. For (2), since the manual approach always assign stretches to drivers regardless of single, multiple-piece or split duties, the concept of unmatched stretches does not strictly apply. The item (2) number, say S, for the software is the resultant number of unmatched stretches using strictly the speci®ed requirements on feasible pieces, stretches and duties and no further manual adjustment however slight is carried out. These unmatched stretches can in principle be naively assigned to individual drivers, even though such one-for-each assignment will necessarily be poor on performance measures such as total number of drivers required and productivity rate. This leads to the explanation of (1) for the software. We denote this item by [L, U], meaning that the ®nal number of matched duties computed from the software ranges from L to U. They are calculated as L = No. of matched duties computed + dS/2e and U = No. of matched duties computed + S. Hence L assumes matching (or other manipulation) completely all remaining S stretches, while U assumes no further manual manipulation. In this regard, half (three cases out of six: 313, 315, 116) have their manual numbers fall slightly below their corresponding software ranges; while half (314, 114, 115) fall within.
Table 3. Improvement from heuristics with respect to six vehicle timetables Timetable
(a) (b) (c)
313
314
315
114
115
116
155 131 15.48%
152 141 7.24%
154 136 11.69%
153 138 9.80%
165 143 13.33%
173 141 18.50%
(a) = driving duties after heuristics; (b) = driving duties before heuristics; (c) = percentage improvement.
894
Sydney C. K. Chu and Edmond C. H. Chan Table 4. Performance comparisons with respect to the weekend 316 timetable
Performance measure
Manual
Software
Software + manual adjustment
Driving duties Unmatched stretches Overtime rate Productivity rate
163 N.A. 13.08% 82.30%
[170, 172] 5 7.39% 82.53%
165 0 9.66% 83.82%
For the sake of completeness, we provide Table 3 below showing the bene®ts of the improvement heuristics as they are applied to the six timetables. (They are followed in the overall order as speci®ed in Section 2.3.3. with going-backs for runs of particular heuristics, such as ``SPILT-DUTY'', after the opportunities of examining the intermediate solutions. Among the ®ve, the ``2-OPT'' heuristics appears to account for a good part of total improvement for our data sets.) In terms of their percentage improvement, the heuristics do seem to be computationally rather eective. Finally we provide the case for timetable 316 (which was the actual mid 1996 weekend operating timetable) in Table 4 below. The computed number of matched duties is equal to 167, with 5 unmatched stretches, hence a range of [170, 172] as seen from Table 4. The number of manually constructed duties is 163, which falls below the range, even though it suers a high 13.08% overtime rate. Subsequent to the running of the software (which produced 167 matches), we tried an ad hoc (manual) adjustment on the computed results. These are mostly ``fuzzy'' adjustments on the strict blueprint requirements such as the usual operating manual's stipulation of a walking time of 7.5 min for some station now being changed to 7.35 (only for this one stretch). Tiny timing con¯icts like this often are main obstacles for matchings of stretches (and more so for a computer software than under manual construction). With such adjustment, we were able to come up with a completely matched set of 165 duties, with very acceptable overtime and productivity rates, on comparison to the manual procedure. There are admittedly various emerging changes in the LRT system's features that were not programmed into our software. One such example is the newly introduced ``step-back'' at changes of drivers (for a particular docking vehicle) at relief points during weekday operation. It is designed to save seconds of layover time of vehicles. Thus, in particular, our computed crew schedule for the weekday timetable 116 is not directly and exactly applicable. However, it can be (and was actually) used as a good starting basis for the next crew schedule construction. So in this light, the computerized crew scheduling system is a useful tool to aid in continuous improvement on the LRD's scheduling operation. AcknowledgementsÐThis work was partially supported by the Light Rail Division of the Kowloon±Canton Railway Corporation (KCRC) of Hong Kong. Appreciation is also expressed for the useful comments from the two anonymous referees on the revised versions of this paper.
REFERENCES 1. Ball, M., Bodin, L. and Dial, R., A matching based heuristics for scheduling mass transit crews and vehicles. Transportation Science, 1983, 17, 4±31. 2. Ball, M., Bodin, L. and Greenberg, J., Enhancement to the RUCUS 2 crew scheduling system. In Computer Scheduling of Public Transport, Vol. 2, ed. J. M. Roussea. North-Holland, Amsterdam, 1985, pp. 279±293. 3. BUSMAN: Bus Management Software System, University of Salford, England, 1991. 4. Carraresi, P. and Gallo, G., Network models for vehicle and crew scheduling. European Journal of Operational Research, 1984, 16, 139±151. 5. Chan, E. C. H., Computerized Crew Scheduling System. Report to LRT-KCRC. 1996, 34 pp. 6. Desrochers, M. and Rousseau, J. M., Computer-Aided Transit Scheduling. Lecture notes in Economics and Mathematical Systems 386. Springer-Verlag, Berlin, 1992. 7. Desrochers, M. and Soumis, F., A column generation approach to the urban transit crew scheduling problem. Transportation Science, 1989, 23, 1±13. 8. Desrosiers, J., Dumas, Y., Solomon, M. M. and Soumis, F., Time-constrained routing and scheduling. In Network Routing, Handbooks in Operations Research and Management Science, Vol. 8, eds. M. Ball et al. North-Holland, Amsterdam, 1995, pp. 35±139. 9. Lessard, R., Rousseau, J. M. and Dupuis, D., HASTUS I: A mathematical programming approach to the bus driver scheduling problem. In Computer Scheduling of Public Transport: Urban Passenger Vehicle and Crew Scheduling, ed. A. Wren. North-Holland, Amsterdam, 1981, pp. 255±268. 10. Rousseau, J. M., Lessard, R. and Blais, J. Y., Enhancements to the HASTUS crew scheduling algorithm. In Computer Scheduling of Public Transport, Vol. 2, ed. J. M. Roussea. North-Holland, Amsterdam, 1985, pp. 295±310.