University of Leeds
SCHOOL OF COMPUTER STUDIES
RESEARCH REPORT SERIES
Bus Driver Scheduling - An Overview??
Anthony Wren & Jean-Marc Rousseau*
Division of Operational Research and Information Systems
*Centre de Recherche sur les Transports, Universite de Montreal, Quebec,
??Presented at the VIth International Workshop on Computer Aided Scheduling
of Public Transport, Lisbon, Portugal, 6-9th July 1993.
In this paper, the problem of bus driver scheduling is introduced, and some of the constraints and conditions existing in different user environments are presented. The way in which such conditions may affect solution methods is discussed.
The development of driver scheduling by computer through the five prevous Workshops is presented, and the range of solution methods as evidenced by published papers is summarised. Particular attention is paid to the work presented at the later workshops, but papers published elsewhere are also introduced, and the authors draw on their own knowledge to augment the published material.
In this paper we present a survey of computer approaches to transit driver scheduling, with particular emphasis on the state of the art as it existed at the time of the Montreal Workshop on Computer-Aided Scheduling of Public Transport in 1990 . We start by outlining the driver scheduling problem and its variants. We then classify solution methods, and outline a wide range of reported work in the field. We conclude by speculating on future developments.
The paper relies heavily on presentations made at the five international Workshops [1,2,3,4,5] held from 1975, and draws also on other published material and on the authors' own knowledge. Most papers which relate to driver scheduling and were presented at the Workshops are listed in the References under the main heading for the relevant Workshop, even if they are not explicitly mentioned here. The papers for the first Workshop exist in preprint form only, but are listed, while some of the presentations at the fourth and fifth Workshops were not included in the proceedings and are not listed here.
Scheduling terminology differs widely between countries, between organisations within a single country, and even between parts of a single organisation. Hartley [2-16] has produced a glossary which includes alternative terms for the same concept, and alternative concepts for the same term. We attempt here while following Hartley to use terms which do not have alternative meanings and are easily understood. Thus, we use block to mean a sequence of trips assigned successively to one bus, beginning with a pull-out and ending with a pull-in. A bus which leaves the depot more than once in a day consists of several blocks. A shift is the work scheduled to be performed by a driver in one day.
The driver scheduling problem
The process of driver scheduling is the construction of a set of legal shifts (including overtime portions where allowed) which together cover all the blocks in a particular vehicle schedule, that is, in a schedule for several vehicles which may reflect the whole operation of an organisation, or a self-contained part of that operation. The problem is generally known as run-cutting in North America, and is often referred to as crew scheduling elsewhere. Blocks may be considered as being divided into units of work which start and finish at relief
- 1 -
opportunities when the vehicles pass agreed change-over points. Several successive units of a block may form a portion of a driver's shift, and a shift may cover portions of several blocks, although efficiency is often lost if drivers change blocks unnecessarily. Driver scheduling methodology is readily extensible to situations where more than one person is assigned to a vehicle; either the whole crew is subject to similar rules and may be scheduled together, or separate schedules are produced for different crew members.
Driver scheduling is subject to a set of rules which is specific to an organisation. These rules are generally mixtures of national and local rules, and some may be unwritten or may be soft rules which may be broken in some cases. Typically, there are restrictions on the total time worked, on the length of time that may be worked without a meal break, on the total spreadover (duration between beginning and end of a shift), etc..
The nature of the rules has a profound effect on the ease with which a schedule may be compiled by computer, and many relatively primitive systems which have been developed for particular circumstances cannot be applied to more severely constrained situations. Rules relating to the position of a meal break within a shift are noteworthy in this respect. In general, both manual schedulers and computer systems find it more difficult to compile efficient shifts where the maximum time that may be worked without a break is short, although the existence of a tight constraint on this time may help certain scheduling systems by reducing the number of potential legal shifts.
Most developed countries have labour laws which require a meal break after a maximum period of between four-and-a-half and five-and-a-half hours. However, the European Community has a complex set of rules which provide for either a single break (of 30 minutes) or two shorter breaks, or three yet shorter breaks, or a shift with no formal breaks, provided the cumulative slack time between journeys satisifies certain requirements. Despite this, many, if not most, bus companies in Europe obey local rules stipulating the provision of a meal break. The major computer scheduling systems necessarily therefore incorporate sophisticated techniques designed to ensure efficient provision of breaks.
Where a formal break does not have to be incorporated during the driver scheduling process, we may identify three different possibilities:
1. no break is required;
2. natural slack in the bus schedule is such that any shift cut without a break from a block will automatically satisfy any legal requirements;
3. breaks are built into the bus schedule during the formation of blocks so that every long block includes two periods of idle time, generally during the mid-morning and early evening, during which the driver may take a snack.
In such circumstances, driver scheduling is often simply a process of cutting shifts of eight hours or more out of every long block, and combining short blocks or outstanding portions to form further shifts on two or more buses. Such a process is generally simple and has formed the basis of several relatively primitive scheduling systems. Although such systems have been presented in the series of Workshops and may be found in the proceedings, they are omitted for reasons of space from the present survey.
- 2 -
It is worth mentioning that many bus companies, especially where operations are based on return journeys from major bus stations, would claim that they schedule vehicles and drivers simultaneously, building up blocks or half-blocks which satisfy the rules for shifts. In such cases a valid systematic approach is generally to construct efficient blocks without regard to shifts, to compile a conventional schedule of shifts, and then to redesign the blocks so that they follow the shifts. However, some systems, for example Falkner and Ryan [5-5], have been designed explicitly to build shifts directly from units of bus work.
Shifts which either work straight through without a break or have a short break (perhaps up to an hour) to satisfy the given rules are often called straight shifts. Most bus companies also allow split shifts consisting of two spells of work, usually centred on the peak periods, separated by a gap of several hours. Such shifts assist in covering peaks and by also covering periods after the peaks assist in maintaining service while other shifts have meal breaks.
Although it was known by the earliest researchers that driver scheduling problems could be formulated in mathematical terms as integer linear programming models, the technology was not available at that stage to solve such models of any realistic size, and until the later part of the 1970's most research was concentrated on developing heuristic solutions, for example Elias . These methods were sometimes attempts to simulate the processes adopted by manual schedulers, although most often new heuristics were developed from scratch. The early work of one of the present authors [1-5] started by developing independent methods but evolved towards processes which were very close to rationalisations of conventional techniques.
Wren [2-1] has summarised published work up to 1980, and it is worth mentioning the range of approaches used at the time of the first Workshop, in 1975. On that occasion two papers [1-5 and 1-6] described heuristic methods. Two [1-1 and 1-3] used primitive matching methods to couple halves of split shifts and to determine suitable overtime portions after crude heuristics had been used to form straight shifts, usually without meal breaks. One [1-4] used mathematical set partitioning techniques coupled with interactive processes to reject certain relief opportunities and applied these to small problems. The forerunner of the present HASTUS system  was being developed at the time of that workshop but was not presented there. This used mathematical programming to solve a relaxed version of the problem in order to obtain idealised shifts, and applied heuristics to the solution in order to create similar shifts which matched the actual problem.
Although both the British TRACS system [1-5, 2-8] and the American RUCUS system [1-6, 3-4] successfully solved driver scheduling problems, often yielding substantial savings, the heuristics generally had to be the subject of considerable research before they could be amended to deal with new clients or to satisfy changed circumstances of existing clients. By 1980 it was generally recognised that heuristics alone were not suitable for general use, although they might be appropriate in some simple situations, particularly where no meal break was necessary.
- 3 -
Research since the late 1970's has therefore been directed mainly at producing combinations of heuristics and mathematical programming methods. This led to the development of general methods throughout the 1980's which between them have been successfully applied in very many operating environments. These systems have usually been accompanied by interactive facilities allowing the client to adjust the automatically produced schedule, or to build up some desired features before entering an automatic stage.
The proof of such systems lies in testimonials from users, and many papers listed in the references have presented such user views. These are marked with asterisks.
It must be stated that a major problem in most driver scheduling situations arises from the need to form efficient chains of meal breaks, so that, for example, an early driver works a partial shift, is relieved by a driver who has taken a bus back to the depot, and himself relieves another driver after taking a meal. Im general, the longer the chains that can be built up, the more efficient the schedule will be. For this reason, methods that build up shifts one at a time without regard to the rest of the schedule are not generally satisfactory.
Other methods presented at earlier workshops have also regretfully had to be omitted for reasons of space.
Classification of methods
Several current or recent methods start from the position that partial shifts have been constructed in some way and have to be matched in pairs optimally. This approach is in most cases fraught with danger, since the ideal form of a partial shift can only be obtained with reference to other shifts which are to be formed, and to the chains which have already been introduced. In general, decisions as to where the work of an individual bus should be cut are dependent on where other buses are cut in order to form efficient meal breaks. Nonetheless, some of the earliest attempts at scheduling (e.g., Bennett and Potts ) used this approach, and more recently authors such as Bertram and Winckler [4-13] have claimed success with such approaches, presumably in rather simple situations. Ceder, Fjornes and Stern [4-15] appear to use a similar approach in their OPTIBUS system, but place emhasis on the scheduler building interactive combinations of portions rather than on optimal matching.
The HOT system developed in Hamburg (Hoffstadt [2-4] and Daduna and Mojsilovic [4-9]) which is widely used in Germany also uses a matching process to link pairs of partial shifts optimally. However, here heuristics are first used to determine sets of shifts which are themselves efficient and provide good chains of meal breaks, and the optimisation process is used only to link remaining pieces, allowing the possibility of breaking and re-linking some of the less efficient shifts previously formed.
Some systems, for instance CHIC-Services (Urvoy [4-17]), have been developed as interactive tools to assist the schedulers to develop their own shifts.
Two interesting approaches presented at the 1987 workshop, but not since, are due to Ball and Benoit-Thompson [4-3] and to Carraresi et al. [4-4]. Both treat the driver scheduling problem as one of finding paths representing shifts within a graph in which the nodes are relief opportunities and the arcs are of two types, fragments of blocks, and feasible connections
- 4 -
between them. Both adopt a Lagrangean relaxation to a combinatorial model. It is unfortunately not possible to describe these methods in depth here. Ball and BenoitThompson report on an exercise carried out in Washington and compare their results favourably with those produced by the Sage system of the time. The method of Carraresi et al. is reported as having been installed in Florence. It appears to be unique for its time in using an expert system shell to assist the user in progressing from a possibly infeasible solution through a series of interactive steps in which the shell checks feasibility both of the original shifts and of amendments proposed by the user.
It is worth mentioning that many bus operators appear to schedule vehicles and drivers simultaneously. The driver schedule is built up by assigning legal sequences of round trips to drivers. These sequences then become vehicle workings. It has already been mentioned that Falkner and Ryan [5-5] adopt such an approach. This is in fact applied piece-wise to sections of the day. Such cases can also be tackled by creating an efficient bus schedule first, forming a driver schedule to cover all the bus work, and finally re-writing automatically the vehicle schedule so that the vehicles follow the drivers.
Mathematical Programming based systems
Most, if not all, current successful driver scheduling systems are built around mathematical programming. The basic problem is usually as formulated by Shepardson [3-12] and many others, and may be expressed as follows.
Given a set of m pieces of bus work each requiring a driver, together with a set of n possible driver shifts, it is required to find a sub-set of the n shifts which together covers all the pieces of work and which minimises either the total cost of shifts chosen or the number of shifts (or some combination thereof).
Unfortunately in a realistic problem, m may number several thousand, while n will number many million. The full problem must therefore be restricted or relaxed in order that a solution may be obtained, or a column generation technique must be used, Desrochers et al [5-7, 16].
The precise mathematical process used varies from one method to another. Heurgon [1-4], in a method since abandoned, and Falkner and Ryan [5-5] have used a set partitioning approach in which each piece of work has to be covered in the solution by exactly one shift. Wren and Smith [4-7] and Desrochers et al [5-7] allow several shifts to cover any piece of work in the solution, relying on the optimisation to keep the amount of overcover to a minimum. Blais and Rousseau [4-12] and Eusebio et al [4-10] first relax the problem to obtain a set of idealised shifts which ensure that there are enough shifts in the solution to cover the number of buses running in any time period.
Patrikalakis and Xerocostas [5-8] have adopted an alternative approach in which drivers' shifts are formed first by partitioning the day approximately into halves and solving each part as a set covering problem. The types of shifts which may be formed are restricted, and finally the bus schedule is re-written around the drivers' schedule.
The most widely used systems at present are probably those of Teleride-Sage, UMA, HASTUS, IMPACS and HOT. The methods used by Teleride-Sage are not published and
- 5 -
will not be considered further here. HOT has already been outlined above [2-4 and 4-9], but has not been published in full detail. We now therefore consider in some depth the HASTUS and IMPACS systems.
HASTUS uses a standard decomposition of the transit crew scheduling problem. Firstly, the blocks are cut into pieces of work. Secondly, the pieces of work are matched to form drivers' shifts, and finally the solution is improved heuristically and, when useful, interactively. While using this general decomposition approach, HASTUS uses a mathematical model to split the blocks into pieces of work. A full description of the algorithm can be found in Rousseau and Blais [3-3]. The authors chose to solve a relaxation of the crew scheduling problem first, trying to keep the main features of the problem while relaxing all the details.
A relaxation of the drivers' scheduling problem is solved on a modified bus schedule. The idea is to retain the essentials of the bus schedule structure and its impact on the contract rules and costs without retaining the precise bus schedule.
Firstly, periods defined by the user are introduced. These periods vary, depending on the problem, between 15 and 60 minutes. The schedules of all buses are approximated in order that all buses start their block at the beginning of a period and complete it at the end of a period. The authors further assume that relief times can occur only at the beginning of a period. Moreover, the problem is further relaxed by requiring that the shifts selected be sufficient to cover the total requirement of drivers per period instead of requiring that they exactly cover all the blocks individually.
All feasible shifts of interest made up of two or three pieces of work covering an integer number of periods and satisfying the union contract are generated. All the shifts are costed according to the union contract in use. A linear program then searches for the set of shifts of minimum cost that will provide the number of drivers required during each period and satisfy other additional constraints related to the union contract or to the type of solution required.
The relaxation is called HASTUS-Macro and can also be used as a planning tool for the evaluation of the economic impact of changes in the union contract or in the service level. By cahnging the cost parameters or the service level a new solution is obtained and can be compared with the current solution. The paper by Blais and Rousseau  describes in detail the HASTUS-Macro system and its use in that context. In practice, this relaxation has been found to be very efficient.
The solution of HASTUS-Macrro gives an indication of the types of pieces and shifts that should be constructed in a final solution. The next step uses this information to cut the blocks into pieces of work that correspond as closely as possible to the type of pieces generated in the relaxation HASTUS-Macro.
Each block is sequentially split into pieces of work by solving a shortest path problem. It is interesting to note that the problem of splitting a block into pieces can be expressed as the problem of finding a path from the starting time of the block to its ending time using arcs that correspond to pieces of work.
- 6 -
The cost associated with each piece of work in the flow formulation corresponds to a penalty indicating whether this given piece will increase or decrease the difference between the number of pieces of work of that type desired (number produced by the HASTUS-Macro solution), and the number of pieces of work of that type already present in the current solution. The algorithm cycles through all blocks until no improvement can be achieved towards coming closer to the number of desired pieces of each type indicated by HASTUS-Macro.
Once the blocks have been cut into pieces of work, a matching algorithm is used to generate shifts (Lessard et al ), and several heuristics are used to improve on the solution. The whole system is embedded in a user friendly software [3-3] and is installed in more than sixty cities around the world.
The method described has been claimed to be very effective. Since 1990 GIRO, the developer and distributor of HASTUS, is also using occasionally within HASTUS, the CrewOpt method developed by Desrochers et al [4-5, 5-7, 16] which uses a set covering method with column generation which is briefly described below. HASTUS recent improvements and enhancements are also described in a paper presented at this Workshop.
IMPACS is part of the BUSMAN suite of programs, and together with an interactive system, COMPACS (Wren, Smith and Miller [3-13]), comprises the CREWPLAN component of that suite. The fullest description of IMPACS is by Wren and Smith [4-7]. IMPACS follows a set covering formulation, and it is therefore necessary to restrict the size of the problem. This is done through a series of routines.
The first reduction technique examines all the m possible pieces of bus work and determines whether two consecutive pieces on the same block can be combined without sacrificing a useful possibility of changing drivers at the relief opportunity between the pieces. The original version of this routine is described by Smith and Wren , although enhancements have been made since. Essentially, relief opportunities are eliminated where their use would require the block to be broken more often than necessary, or where no sensible shift could be formed using the relief. Some of these opportunities are restored where further analysis indicates that they might be useful.
This reduction of pieces of work already implicitly reduces the number of potential shifts, but further restrictions are imposed by use of parameters which eliminate potential shifts with particularly long meal breaks, with breaks at unsuitable times of day, with very little work content before or after a meal break or in total, or starting or finishing in certain time zones.
A process in now entered which generates several thousand potential shifts satisfying the given parameters, while limiting the number of shifts formed with breaks starting at any given relief opportunity.
A final reduction technique discards those less efficient shifts every component of which is included in a given number of other shifts.
- 7 -
The resulting problem is formulated as a set-covering problem with side constraints reflecting limits on the total numbers of shifts of certain types. It is solved by a variant of Ryan's ZIP code . This code contains many provisions for user specified routines, and has here been adapted here specifically to take advantage of the structure of the driver scheduling problem. It is interesting to note that Ryan worked with the originators of IMPACS in 1980. However, since that date the versions of the ZIP code used in IMPACS and in the system of Falkner and Ryan [5-5] have diverged considerably and each has been improved to meet the particular needs of client organisations. Ryan has also applied a version of it very successfully to air crew scheduling.
While the size of set covering problem which can be solved satisfactorily depends to some extent on its individual structure, problems of up to about twenty thousand potential shifts and a thousand remaining pieces of blocks are generally solved satisfactorily. These represent up to about two hundred shifts in the final solution. In some cases larger problems have been solved with no difficulty, but where difficulties do arise (for example in finding an integer solution within a reasonable amount of computer time), clients are advised to tighten the constraints defining the types of shift allowed. Wren and Smith [4-7] reported a decomposition process which could be used for very large problems. This analysed the bus schedule and formed several overlapping sub-problems each containing work which was unlikely to combine usefully with the work of other sub-problems. With advances in computer power, as the set covering routine has been improved, and as the effects of parameter changes have been better understood, the need for such decomposition has largely disappeared in problems of realistic size.
The final automatic stage of IMPACS consists of heuristic exchanges of work beteen shifts. This allows previously eliminated shifts and relief opportunities to be reintroduced where this yields an improvement. The user is then invited to make any desired changes interactively (this is usually unnecessary). Where some overcover remains, i.e., where more than one shift covers the same part of a block, the user can decide to cut back some shifts or to replace scheduled work by deliberate idle time. Although rules have been devised to do this automatically, experience shows that the user generally prefers to control the situation, which does not often arise in practice.
IMPACS is used by many transport companies in the United Kingdom, and also in Australia, Hong Kong and Africa. Significant savings are claimed. It is supplied and maintained by the Hoskyns Group in association with the University of Leeds. Another paper at this workshop  describes the adaptation of parts of the system to simulate the costs of various railways scheduling rules.
While many existing systems perform very satisfactorily, none can guarantee an optimal solution, and research is proceeding on several fronts with a view to producing new or enhanced methods. CREW-OPT (Desrochers et al [4-5, 5-7, 16]) was presented at the two last workshops and will be exposed further here.
- 8 -
Another technique which is worthy of exploration is that of genetic algorithms for which considerable success has been claimed in other fields. Wren and Wren  have shown that it is possible to use a genetic algorithm to solve small driver scheduling problems, while Clement and Wren  consider some of the difficulties and opportunities which arise in larger problems.
Crew-Opt uses the set covering formulation of the crew scheduling problems and considers implicitly all feasible shifts even if there are millions of such shifts. The rationale to do this, is that an optimum solution to the crew scheduling problem can be composed of a majority of efficient shifts completed by few less efficient shifts to close the solutions. While the former can be easy to select, the latter are practically impossible to generate a priori. Like in any column generation methods, after a set covering problem is solved by linear programming on a subset of feasible shifts, the dual variables are used to generate new feasible shifts that are potential candidates to enter the LP basis. The problem of generating new shifts is formulated and solved as a shortest path problem with constraints [see 5-7, 16]. When an optimal LP solution is reached, an optimal or near optimal integer solution is sought through a specialised branch and bound technique at each step of which the same column generation technique is used.
The method has been integrated in HASTUS software and is in operation at Lyon and Toulouse in France. Several other tests have been successfully conducted with the method on some relatively large problems (75 workdays and 160 workdays) for Japan rail. These tests are reported in another paper at this workshop. This method has been used successfully to solve large airline crew scheduling problems, and work is underway to extend this methodology to even larger transit crew scheduling problems.
Kwan, Wren and Zhao [5-6] presented a new approach which brought tools of artificial intelligence to bear on the scheduling problem. At that time a new system was envisaged as being based round an Estimator, a Generator and an Organiser. A further paper by Zhao, Wren and Kwan  to be presented at the present workshop places more emphasis on extensions of the Estimator which may be used both to provide a good cost estimate and to assist in the selection of relief opportunities and of shifts with certain critical features in the IMPACS process.
Note: Papers published in the preprints  or proceedings [2,3,4,5] of the five workshops are listed below the references to the relevant preprints or proceedings, with page numbers in the latter cases. Asterisks indicate papers presenting user views of systems.
 Preprints of the Workshop on Automated Techniques for Scheduling of Vehicle operators for Urban Public Transportation Services, Chicago, 1975.
[1-1] Bergman, D.R. Minimal cost allocations of bus driving assignments between split runs and trippers.
[1-2] Goeddel, D.L. An examination of the Run Cutting and Scheduling (RUCUS) system - a case analysis.
- 9 -
[1-3] Kregeloh, H. and Mojsilovic, M. Automated formation of staff schedules and duty rosters.
[1-4] Heurgon, E. Preparing duty rosters for bus routes by computer.
[1-5] Manington, B. and Wren, A. A general computer method for bus crew scheduling.
[1-6] Wilhelm, E.B. Overview of the RUCUS package driver run cutting program (RUNS).
 Wren, A. (ed.) Computer scheduling of public transport. North-Holland, Amsterdam, 1981.
[2-1] Wren, A. General review of the use of computers in scheduling buses and their crews, pp.3-16.
[2-2] Schmidt, J.W. and Knight, R. The status of computer-aided scheduling in North America, pp.17-22.
[2-3] Davies, R.R. and Williams, D. Service optimisation and route costing and associated computer programs, pp.23-33.
[2-4] Hoffstadt, J. Computerised vehicle and driver scheduling for the Hamburger Hochbahn Aktiengsellschaft, pp.35-52.
[2-5]* Dickinson, R.W., Drynan, W.F. and Manington, P.D. The role of the Systems Department and the role of Operations Management in introducing computer assistance to bus scheduling, pp.53-59.
[2-6]* Landis, M.G. A perspective on automated bus operator scheduling: five years experience in Portland, Oregon, pp.61-67.
[2-7] Hildyard, P.M. and Wallis, H.V. Advances in computer assisted run cutting in North America, pp.183-192.
[2-8] Parker, M.E. and Smith, B.M. Two approaches to computer crew scehduling, pp.193-221.
[2-9] Piccione, C., Cherici, A., Bielli, M. and La Bella, A. Practical aspects in automatic crew scheduling, pp.223-235.
[2-10] Borret, J.M.J. and Roes, A.W. Crew scheduling by computer: a test on the possibility of designing duties for a certain busline, pp.237-253.
[2-11] Lessard, R., Rousseau, J.-M. and Dupuis, D. Hastus I: a mathematical programming approach to the bus driver scheduling problem, pp.255-267.
[2-12] Ryan, D.M. and Foster, B.A. An integer programming approach to scheduling, pp.269-280.
- 10 -
[2-13] Mitra, G. and Welsh, A.P.G. A computer based crew scheduling system using a mathematical programming approach, pp.281-296.
[2-14] Ward, R.E., Durant, P.A. and Hallman, A.B. A problem decomposition approach to scheduling the drivers and crews of mass transit systems, pp.297-312.
[2-15] Ball, M.O., Bodin, L.D. and Dial, R. Experimentation with a computerised system for scheduling mass transit vehicles and crews, pp.313-334.
[2-16] Hartley, T. A glossary of terms in bus and crew scheduling, pp.353-359.
 Rousseau, J.-M. (ed.) Computer scheduling of public transport 2. North-Holland, Amsterdam, 1985.
[3-1] Wallis, H. Experiences in computer assisted scheduling installations in North America, pp.11-18.
[3-2] Williamson, R.H. BUSMAN: the United Kingdom's integrated approach to transit scheduling, pp.19-43.
[3-3] Rousseau, J.-M. and Blais, J.-Y. HASTUS: an interactive system for buses and crew scheduling, pp.45-60.
[3-4] Luedtke, L.K. RUCUS II: a review of system capabilities, pp.61-116.
[3-5]* Mitchell, R. Results and experiences of calibrating HASTUS-Macro for work rule cost at the Southern California Rapid Transit District, pp.119-136.
[3-6]* Garnier, G. Mercator and HASTUS-Macro computerization and changing working conditions for RATP bus drivers, pp.137-144.
[3-7]* Dupuis, D. Automatic crew scheduling: new operating management and service opportunities, pp.145-148.
[3-8] Leprince, M. and Mertens, W. Vehicle and crew scheduling at the Societe des Transports Intercommunaux de Bruxelles; or Data processing as an aid to operational planning in an urban passenger transport system, pp.149-178.
[3-9] Howard, S.M. and Moser, P.I. IMPACS: a hybrid interactive approach to computerized crew scheduling, pp.211-221.
[3-10] Mitra, G. and Darby-Dowman, K. CRU-SCHED - a computer based bus crew scheduling system using integer programming, pp.223-232.
[3-11] Tykulser, R.J., O'Neil, K.K., Ceder, A. and Sheffi, Y. A commuter rail crew assignment/work rules model, pp.233-246.
[3-12] Shepardson, F. Modelling the bus crew scheduling problem, pp.247-261.
- 11 -
[3-13] Wren, A., Smith, B.M. and Miller, A.J. Complementary approaches to crew scheduling, pp.263-278.
[3-14] Ball, M.O., Bodin, L.D. and Greenberg, J. Enhancements to the RUCUS-II crew scheduling system, pp.279-293.
[3-15] Rousseau, J.-M., Lessard, R. and Blais, J.-Y. Enhancements to the HASTUS crew scheduling algorithm, pp.295-310.
 Daduna, J.R. and Wren, A. (eds.) Computer-aided transit scheduling. Lecture notes in economics and mathematical systems, 308. Springer-Verlag, Berlin, 1988.
[4-1]* Hoffstadt, J. Computer-aided scheduling in urban mass transit companies: past, present and future, pp.1-7.
[4-2] Tosini, E., and Vercellis, C. An interactive system for extra-urban vehicle and crew scheduling problems, pp.41-53.
[4-3] Ball, M. and Benoit-Thompson, H. A Lagrangian relaxation based heuristic for the urban transit crew scheduling problem, pp.54-67.
[4-4] Carraresi, P. Ciaramella, N., Gallo, G., Lucchesi, L. and Lullia, P. BDS: a system for the bus drivers' scheduling problem integrating combinatorial optimisation and logic programming, pp.68-82.
[4-5] Desrochers, M. and Soumis, F. CREW-OPT: crew scheduling by column generation, pp.83-90.
[4-6] Falkner, J.C. and Ryan, D.M. Aspects of bus crew scheduling using a set partitioning model, pp.91-103.
[4-7] Wren, A. and Smith, B.M. Experiences with a crew scheduling system based on set covering, pp.104-118.
[4-8] Soehngen, L. Planning shift work and duty roster for personnel with variable workload, pp.119-132.
[4-9] Daduna, J.R. and Mojsilovic, M. Computer-aided vehicle and duty scheduling using the HOT programme system, pp.133-146.
[4-10] Eusebio, J.R., Amado, L. Fragoso, L. and Paixao, J. Development and implementation of an automatic system for bus and crew scedhuling at RN - Portugal, pp.147- 159.
[4-11] Wren, A. and Chamberlain, M. The development of Micro-BUSMAN: scheduling on micro-computers, pp.160-174.
- 12 -
[4-12] Blais, J.-Y. and Rousseau, J.-M. Overview of HASTUS current and future versions, pp.175-187.
[4-13] Bertram, H.-H. and Winckler, J. Scheduling on microcomputers using MICROBUS, pp.188-199.
[4-14] Mott, P. and Fritsche, H. INTERPLAN - an interactive program system for crew scehduling and rostering of public transport, pp.200-211.
[4-15] Ceder, A., Fjornes, B. and Stern, H.I. OPTIBUS: a scheduling package, pp.212-225.
[4-16] Darby-Dowman, K., Jachnik, J.K., Lewis, R.L. and Mitra, G. Integrated decision support systems for urban transit scheduling: discussion of implementation and experience, pp.226-239.
[4-17] Urvoy, J.-C. CHIC Graphic and CHIC Services: RATP-developed software packages for time-scheduled design, pp.240-249.
[4-18]* Elms, J.M. The use of computers in bus and crew scehduling by London Buses and its predecessors: a user's view, pp.262-271.
[4-19]* Lamont, J. The transition to computerized bus and crew scheduling at the Montreal Urban Community Transit company, pp.272-278.
[4-20]* Campbell, R.L. The SEMTA experience with computer-aided scheduling, pp.279- 287.
 Desrochers, M. and Rousseau, J.-M. (eds.) Computer-aided transit scheduling. Lecture notes in economics and mathematical systems, 386. Springer-Verlag, Berlin, 1992.
[5-1] Chamberlain, M. and Wren, A. Developments and recent experience with the BUSMAN and BUSMAN II systems, pp.1-15.
[5-2] Hamer, N. and Seguin, L. The HASTUS system: new algorithms and modules for the 90s, pp.17-29.
[5-3]* Lewis, M. Experience of using the same computerised scheduling system under three different operating conditions, p.59-74.
[5-4]* Castaline, A.H. Work rule flexibility: method to reduce PTO requirements, pp.75-84.
[5-5] Falkner, J.C. and Ryan, D.M. EXPRESS: set partitioning for bus crew scheduling in Christchurch, pp.359-378.
[5-6] Kwan, R.S.K., Wren, A. and Zhao, L. Driver scheduling using intelligent estimation techniques with heuristic searches, pp.379-394.
[5-7] Desrochers, M., Gilbert, J., Sauve, M. and Soumis, F. CREW-OPT: subproblem modeling in a column generation approach to urban crew scheduling, pp.395-406.
- 13 -