Hybrid Genetic Algorithms for Scheduling Bus and Train Drivers

advertisement
University of Leeds
SCHOOL OF COMPUTER STUDIES
RESEARCH REPORT SERIES
Report 2000.05
Hybrid Genetic Algorithms for Scheduling Bus and Train Drivers
by
Anthony Wren, Raymond S K Kwan & Ann S K Kwan
February 2000
Abstract
We introduce the subject of bus and train driver scheduling, and outline some early attempts at
solutions based on heuristics, explaining their limitations. We then examine one successful blend
of heuristics and integer linear programming leading to the TRACS II system which is in regular
use in a wide range of transport organisations. Again we discuss the limitations of this system.
In order to overcome these, we and colleagues have investigated a range of metaheuristics and
constraint programming approaches, and some of these are outlined. Finally we present three
different genetic algorithms, the last of which is successfully used to overcome the limitations of
the established integer linear programming system. The proposed approach is a hybrid in which
all probable potential shifts are generated according to well developed heuristics already used in
TRACS II. Selection of such shifts to form a schedule is modeled as a set covering problem, and
the relaxation of this problem ignoring integer conditions is solved to optimality. A GA then
develops a solution schedule based on some of the characteristics of the relaxed solution. It is
suggested that this approach might be suitable for other set covering problems.
Introduction
The problems of scheduling crews for buses or trains have been the subject of research for at least
thirty years [1,2]. A major international workshop devoted to promoting research in this area was
held in Chicago [3] in 1975, and this has been followed by six further conferences [4-9]. The
eighth in the series takes place in Berlin in June 2000.
Most of the published work until recently has related to bus drivers rather than train crews. This
is due partly to the reluctance of monolithic train operating authorities to look outside the
boundaries of their own industries for solutions to scheduling problems, and partly to the greater
complexity of rail scheduling problems. However, in more recent years, rail crew scheduling has
been tackled very successfully, for example by Kwan et al. [10].
In practice, bus driver scheduling and train crew scheduling are different aspects of the same
problem. In both cases, staff workdays (shifts) are made up of spells of work on one or more
vehicles, and all the vehicle work must be included in such shifts. While buses are usually in the
hands of a single driver, train crews may be made up of different categories of staff, sometimes
governed by different sets of rules. We shall write in terms of drivers throughout this paper,
although generally the same processes may be used to construct schedules for other categories of
staff. We shall use the term vehicle to denote a bus or a train.
Although some long-distance train work extends over several days, by far the greatest amount
consists of journeys which are completed within a 24-hour period, and which are staffed by shifts
of up to about twelve hours in duration. In the United Kingdom the longest regularly scheduled
passenger train journeys are just over 700 miles, and drivers are changed at several intermediate
points, so that each starts and finishes their shift at their home depot. Most bus operations are
much more localized.
Even where bus and train operation continues overnight, it is usually sufficient for scheduling
purposes to deal with periods of 24 hours. However, provision is made when necessary for late
night and early morning work to be considered as either the end of one day or the beginning of
another (in late, night or early shifts as appropriate). Scheduling very long distance bus and train
crews is a different type of problem, which we shall not consider here.
We may plot the operation of a bus or train set throughout the day on a vehicle graph consisting
of a horizontal line for each vehicle, with a horizontal time scale. (Although train operation is
considered by many operating companies as a set of discrete journeys, we consider the horizontal
entry on a vehicle graph as a succession of such journeys undertaken by the same train set.)
There may be gaps in the vehicle graph, when the vehicle is at rest and can be left without a
driver. When two or more train sets are joined together for some operations they may be
considered as a single operation shown on a single horizontal line for driver scheduling purposes.
When they are uncoupled, it is usually convenient to show the operation of one of the sets as a
continuation of the coupled set, while the other set (or sets) is shown separately while uncoupled.
Drivers may be changed, or may take breaks, at a limited number of designated locations. Times
when vehicles are at these locations may be marked on the graph and are known as relief
opportunities.
A driver’s shift consists of spells of continuous work, each on a single vehicle. Between spells
drivers may take meal breaks or may be allowed a few minutes grace to change vehicles. In
theory, the most desirable type of shift would consist of spells of work on just two vehicles,
separated by a meal break, as there would then be little unproductive time.
+
T1
+
T4
+
301 o----oo----oA---B-o----oo----oo----oo----o-o----oo----oo-+
S1
+
S6
+
S4
+
304
+
T3
+
T1
+
ooo----oo----oA----Bo----o-o----oo----oo----oo----o-o--+
S3
+
S1
+
302
+
T2
+
T3
+
o----oo----o-o----oA----Bo----oo----o-o----oo----oo----oo
+
S2
+
S3
+
305
+
T5
+
T2
+
o-oo----oo----oo----o-A----Bo----oo----oo----o-o----oo-+
S5
+
S2
+
303
+
T4
+
T6
+
T5
+
o----o-o----oo----oo----oA----B-o----oo----oo----oo----o
+
S4
+
S5
+
Relief chain T
Relief chain S
Figure 1: Relief chains of similar patterns
Figure 1 shows part of a vehicle graph, with two possible ways of covering the early work. Each
horizontal line represents the work of a vehicle in the earlier part of a day, while the small circles
represent relief opportunities. One possible set of early shifts is numbered T1 through T5, with
3
the dark arrows representing meal breaks. The plus signs above the lines show the actual relief
opportunities that are used. A sixth shift, T6, starts later than the others and provides cover for
the first meal break; subsequent breaks are covered by drivers returning from the earlier breaks.
The second part of T6 is not shown; this might follow the second part of T4 on vehicle 301 after
a longer than usual meal break, or it might complete a split shift later in the day. The shifts S1
through S6, with broken arrows, show an alternative schedule.
In practice, vehicle schedules are generally much less regular than shown; starting times are
more staggered, and some vehicles are taken out of service after the morning peak. The solutions
shown provide efficient chains of meal breaks, but in practice it is often impossible to fit all the
work neatly into such shifts, so that some, or even many, drivers may work on three or more
vehicles.
There are often complex rules governing the content of a driver’s shift. Typically there may be
restrictions on the amount of time a driver may work without a meal break, on the total amount of
work in a day, on the maximum elapsed time from start to end of a shift, etc. Usually bus driver
schedules are constructed based on a single depot; where a company has more than one depot,
these are usually managed as separate entities. However, train operation typically requires
several different driver depots, with overlapping restrictions on the lines that can be driven from
any depot and on the type of equipment which may be driven. Smith and Wren [11] discuss
some typical rules for bus driver scheduling, while Kwan et al [10] introduce the additional
complexity of train driver schedules.
We shall now introduce some of the early attempts at bus driver scheduling through the 1970s,
using heuristic approaches, and shall discuss their achievements and limitations. We then outline
a series of developments by ourselves and colleagues through the 1980s and 1990s; these use set
covering approaches for both bus and train driver scheduling and result in successful
implementations in a wide variety of transport organisations. (Other developments are reported
in [4-9].) Next we introduce some research undertaken by colleagues into metaheuristics and
constraint programming in conjunction with Integer Linear Programming. Finally, we present
three approaches using evolutionary algorithms, showing how the latest of these may be used in
conjunction with Integer Linear Programming to solve particularly difficult problems.
Early heuristic approaches
Some of the earliest work on bus driver scheduling was undertaken in the early 1960s by Deutsch
while on an IBM fellowship at the University of Oxford, but was not published. Based on data
from London Transport, Deutsch developed an exhaustive tree search approach, which failed to
produce good solutions even on small problems.
Elias [11,12] started work about the same time as Deutsch, and developed a series of heuristics
which developed a large number of different schedules quite quickly, then chose the best.
Reasonable results were obtained in some practical, lightly constrained, situations. Subsequently,
Elias added some unpublished refining heuristics. These were subsequently extended by Ward
and Deibel [13], who claimed considerable success, although the work was abandoned in the
early 1970s.
One of the present authors experimented with several heuristic approaches from 1967 onwards.
The most successful of these was first reported by Weaver and Wren [14, 15] (and also in [2]),
4
and subsequently improved by Manington and Wren [16]. A definitive description of the final
version, with a summary of applications to eight bus operating companies, is given by Parker and
Smith [17]. This system, known as TRACS, is now introduced.
TRACS was designed for urban bus operations, although it was also successfully applied to rural
and short interurban services. The most critical periods in urban weekday bus services are the
two peak times, and the periods immediately following them. Meal breaks given during the
peaks imply that some drivers are not engaged in productive work during these times, and are
likely to result in the use of too many shifts. Sometimes, however, such breaks cannot be
avoided, and there is a skill attached to determining when such situations arise, and how best to
ensure that where they arise, best use is made of the extra shifts provided.
The period immediately following the morning peak is normally used to provide necessary meal
breaks without the need to introduce further shifts like T6 or S6 in Figure 1. Advantage has to be
taken of the vehicles returning to the depot, so that their drivers may quickly return to service,
and care has to be taken to ensure that successive drivers relieve each other in a productive way.
The drivers returning the buses to the depot may be given meals before returning to service, but if
their vehicles have been in operation for a relatively short time, it may be better for them to take
over other buses immediately, thus relieving drivers who are approaching the maximum
continuous driving allowed; their own meals may then be taken after an hour or two of further
work.
Similar considerations apply in the afternoon peak, but here further complications exist because
of the three different types of shift normally involved. Split shifts, which will already have
covered the morning peak, have to finish in the early evening. They usually finish either by
returning a bus to the depot, or by being relieved by a late shift driver who has previously
returned a bus to the depot and then had a meal. Such late shift drivers may alternatively relieve
other late shifts after their meals. The number of late shifts is normally equal to the number of
buses operating after about 2100. Care must be taken that late shifts starting in the middle of the
afternoon perform a useful function at that time, either by taking a bus over from a finishing early
driver or by taking a bus out of the depot. If a late shift starts by relieving a driver who then has a
break, this normally implies that that break would extend into the afternoon peak, thereby causing
inefficiencies. Extra cover for the meal breaks of late shifts may be provided by middle shifts,
which start in the late morning, have a break in the afternoon, and continue until their buses are
taken over by late shifts returning from a meal. Where possible, meals on these middle shifts
should be completed before the afternoon peak.
The formation of split shifts, covering both peaks with a gap in the middle, has to be treated
carefully. It is normal that some of the peak work cannot be allocated efficiently to straightthrough shifts, and split shifts are useful to absorb this work. However, care has to be taken that
the work set aside for split shifts is in fact capable of forming such shifts without violating
constraints on the maximum span from start to finish.
Although weekend operation is usually different, without peak periods, it has been found that
procedures which create good shifts for weekdays also create good weekend shifts. Here it is
important to form efficient sequences of meal breaks three to five hours after the start of
operations, and also three to five hours before the end of operations.
The early work of Weaver and Wren took no account of the above logical factors, but used a
specially developed heuristic which is outlined in [1]. First a lower bound, L, to the number of
5
shifts was determined. (A crude lower bound is the larger of the maximum number of vehicles in
simultaneous operation, and the total number of vehicle-hours divided by the maximum hours per
shift; however, this can be strengthened.) Each vehicle was then assigned to a single shift, which
would normally have violated several constraints. The longer shifts were then broken into two or
three separate shifts, until a total of L (usually illegal) shifts was obtained.
Each illegal shift was penalized according to the extent by which various constraints were
violated. A series of refining heuristics was then applied, moving work between shifts in such a
way as to reduce the total penalty, or, where legal shifts were involved, to reduce the cost. If this
process failed to remove all the penalties, the shift with the greatest penalty was split in two, and
the refining process was continued with one more shift. In several tests with real schedules, this
process generally used about two more shifts than were used in the relevant manual schedule. On
inspection it transpired that the vehicle work was being broken into too many pieces by the
refining routines. For example, in a small schedule, the computer needed eight shifts, with a total
of 17 changes of vehicle; the real schedule had seven shifts, with 12 changes of vehicle. Each
change of vehicle implies idle time for the driver.
Subsequently, much more sophisticated heuristics were developed to build up the schedule shift
by shift, incorporating look-ahead procedures to identify and resolve any threats to overall
efficiency. Schedules so formed were then subjected to a series of refining heuristics. Some of
the refining heuristics were originally designed to try to reduce the number of shifts in the
schedule, but these were seldom successful. It was concluded that it is seldom possible, either for
a computer or for an experienced scheduler, to find a series of moves that will result in the
number of shifts in a poor schedule being reduced. An experienced scheduler would rather start
again, taking care to avoid any pitfalls, than try to manipulate a bad schedule. Therefore, over the
period 1969-1975 considerable effort was invested by the developers of TRACS towards the
development of processes that would yield good initial schedules with the minimum number of
shifts; the refining routines were then used to obtain better schedules with the same number of
shifts. Developments over this period are set out in [2,14-16].
By 1980 the TRACS heuristics had become very powerful, and had produced schedules at least
as good as, and sometimes better than, existing manual schedules in rigorous tests for five
different companies, as described by Parker and Smith [17]. TRACS had also produced good
schedules satisfying a large range of other operating agreements in research exercises.
Throughout the 1970s the heuristics which built up the initial schedule had been extended in
every application, to deal with new logical conditions while still producing acceptable results in
all cases previously studied. There was a strong belief by about 1978 that any new logical
conditions would be accommodated by relatively minor adjustments. However, three exercises
in that year caused us to revise our view.
In each of Dublin, Glasgow and London, unsuccessful projects of three person-months were
undertaken to apply TRACS to their needs. Each of these organizations had unusual features. In
Dublin, the peak periods were much later in relation to the start and finish of the operating day
than in the United Kingdom, and there was a pronounced midday peak; this meant that the
heuristics which placed the meal breaks after the morning peak and in the early evening were no
longer suitable. In Glasgow, the operating day finished much later than elsewhere; late shifts
could no longer include the whole of the afternoon peak, and there was a requirement to
minimize the number of shifts finishing after 1830; both these factors required the design of new
6
heuristics. While it was felt that the problems of Dublin and Glasgow could be overcome with
further work, neither city was willing to finance this.
London posed different problems. Here each route was scheduled separately, and the existing
schedules had been compiled by very experienced staff. The bus schedule in London was often
altered manually to suit the needs of the driver schedule, so that there may have been only one
possible solution using the minimum number of shifts. Even where there was more than one
possible driver schedule for the given bus schedule, the number of possibilities was very limited.
In such circumstances constructive heuristics, even well-designed ones with look-ahead rules,
may be unlikely to find a good solution. It is interesting that our refining heuristics did
sometimes improve slightly upon the existing London schedules.
Thus by the end of the 1970s it was felt that however much we were able to improve our
heuristics, there was always a danger that a new scenario would bring about new problems which
could not quickly be resolved. Where this involved a new organization this might not be
important. Once the system had proved itself elsewhere it should be possible to persuade new
clients that they should invest in the development of appropriate new methodologies. However,
there was a real danger that if an existing user changed its operating strategy or developed new
scheduling rules, the system would not be able to cope, and a delay of several months while the
heuristics were adjusted would not be acceptable.
Had it not been for the fact that by about 1980 impressive results were beginning to be obtained
from mathematical programming approaches, we might have been encouraged to develop the
heuristics further, but at that time this did not appear to be the best use of limited resources. The
dozen or so years during which much effort was invested in heuristics were not, however, wasted.
All the heuristics were developed in conjunction with much hands-on manual scheduling by the
team, who therefore developed many useful scheduling skills. These were of enormous value in
later work, in which we have consistently been able to develop approaches built around our
knowledge of good scheduling practice. More recent research into various metaheuristics has
also benefited from our experience of building heuristics.
It is believed that the above investigations constitute the most comprehensive research and
development of heuristics for driver scheduling undertaken anywhere. It would however be
disingenuous to overlook a body of North American work. During the 1970s the Mitre
Corporation developed a bus and crew scheduling system, RUCUS, whose driver scheduling
component was published in 1975 by Wilhelm [18]. This started by first extracting sections of
work which could be formed into whole shifts on a single vehicle, and then extracting other
sections for combination into shifts on two vehicles. The schedule was then improved by
processes similar to those used by the present authors’ team, and described in [2]. It should be
noted that few bus companies allow unbroken shifts of any great length on a single vehicle, and
that most efficient schedules require some shifts to operate on three or more vehicles, which was
not allowed by RUCUS. Wilhelm comments that some of the shifts created by RUCUS would be
illegal, and that the refining processes did not always succeed in removing the illegalities.
Despite this, RUCUS achieved some popularity during the 1970s, perhaps because the Federal
Government encouraged its adoption by providing computers to companies who would use it. It
is claimed [19] that RUCUS was installed in about forty properties in the U.S. and Canada.
Hildyard and Wallis [20] reported in 1980 on major problems in use of RUCUS in Toronto and
elsewhere, and recommended an interactive approach. Subsequently an interactive version,
7
RUCUS II, was developed [19], but it was quickly overtaken by new methods. RUCUS, even in
its most advanced form, appears to have been very primitive compared to TRACS
Set covering solutions
There have been a number of driver scheduling systems incorporating combinations of heuristics
and mathematical programming. One of the most widely used is the HASTUS family of systems
[21]. Here we shall introduce systems based on set covering and developed by us and associates.
These have been well documented elsewhere [10,17,22-31], and we shall confine ourselves here
to providing an outline sufficient to introduce our GA approaches which are described later.
In theory, if we could generate every potential legal driver shift which covered some of the work
of a vehicle schedule, we might then select from these potential shifts a subset which covered
exactly all the vehicle work in the optimal way. In practice, the number of potential shifts, and
the number of possible combinations of such shifts is such as to preclude this approach in any but
trivially small problems.
However, we may decide to ignore some potential shifts which appear to be inefficient. We may
then have a problem in that there may be no way of selecting a subset which fits together exactly
so as to provide one driver for every vehicle at all times. (It is sometimes necessary to include
shifts with little work content, in order to fit all work together.) We may therefore modify the
problem so that we select from the potential shifts a subset which covers all the work in the
optimal way, but allowing some work to be covered more than once. We say then that some
work is over-covered, and the decision as to which shift is employed to drive the vehicle is left to
the scheduler (it may alternatively be decided by a simple heuristic). This is then a set covering
problem.
The driver scheduling problem was formulated as an integer linear programming (ILP) model by
Smith and Wren [23]:Let cj be the cost of potential shift j and let xj be the number of times shift j is chosen (either 0 or
1, because it is either chosen or not):
n
Minimize
Σ cjxj
(1)
j=1
Every piece of vehicle work, i, has at least one shift assigned to it:
Σ xj • 1, i = 1, 2, 3,
...., m
(2)
j in Ki
where Ki is the set of potential shifts which include piece i.
Smith and Wren developed a set of heuristics which reduced the problem size by first eliminating
relief opportunities which were unlikely to be useful, then restricting the potential shifts
generated to those which satisfied not only the legal requirements but also some parameters
relating to the precise work content, and finally filtering out some of the generated shifts which
compared unfavorably with others. The ILP model was solved by first relaxing the 0-1
condition, and then using a specially developed branch and bound process which took advantage
8
of the authors’ knowledge of driver scheduling. Finally, heuristics derived from the refining
heuristics of TRACS were applied to adjust the schedule, allowing eliminated relief opportunities
or potential shifts to be reinstated.
This system, known as IMPACS, was installed for London Transport Buses in 1984, and is still
in use by all the London successor privatized companies. By present standards it is rather
primitive, as it does not allow more than 5000 potential shifts or 350 relief opportunities in the
ILP.
In 1985 enhanced versions were installed for Greater Manchester Buses, and Cleveland Transit
(UK). These are also still in use. It was subsequently installed in thirty to forty bus operating
companies in the UK and elsewhere, yielding substantial savings over manual methods in many
instances.
In 1990, we commenced research into train driver scheduling. Initially we used IMPACS to
estimate the number of shifts which would be needed to operate alternative scenarios (different
timetables and different labor rules) which were under consideration in preparation for
privatization [26]. Although IMPACS did not cater to all the conditions of rail operation, it was
shown to be accurate as a predictor. However, extension to meet all the conditions of multi-depot
train operation was not practicable.
From 1994 therefore a new system, TRACS II, was developed specifically to satisfy the needs of
rail operation, while still being capable of scheduling bus drivers. Over the period 1995-1996 it
satisfactorily produced schedules for about twelve of the privatized British train companies, and
was used to develop new strategies [27,30]. This, like IMPACS, uses a set covering model, but
both the heuristics which generate potential shifts, and the ILP process, are completely new. The
former generate far more potential shifts than previously, while the latter incorporates a new
column generation approach as well as better optimization procedures [29,30]. The present
version can process up to 200,000 potential shifts in the ILP stage.
TRACS II may be summarized as follows:
1. Calculate all possible opportunities for drivers to travel as passengers on scheduled
services or taxis between relief opportunities (only for those problems in which walking
between relief points is inappropriate);
2. Generate a large set of potential shifts, each satisfying all legal conditions together with
rules designed to inhibit the construction of shifts which are unlikely to be suitable;
3. If appropriate, filter out intelligently any shifts which do not play a significant role in
covering the vehicle work many time over;
4. Merge sets of shifts generated as above according to different parameters, if appropriate;
5. Solve a set covering model, with extensions to limit the numbers of shifts of different
types. Currently, up to 200,000 potential shifts may be considered. A constructive
heuristic is first used to cover all the vehicle work with a subset of the potential shifts. A
relaxed linear programming (LP) problem is solved using a specialized column generation
technique for larger problem instances, and otherwise a dual steepest edge approach. The
relaxed LP provides a target number of shifts.
9
6. Problem reduction takes place, based on the relaxed solution, and a branch and bound
procedure obtains an integer solution using the target number of shifts if possible.
Otherwise the target is increased.
7. Any overcover is edited out by a process which may be automated.
TRACS II was first installed for bus operation by Reading Buses in 1998 [31], saving £135k
annually. It has since been installed for three other bus companies, while one of the major British
bus groups has recently decided to adopt it for all 25 of its companies. It also continues to be
used as a tool for consultants to produce rail driver schedules according to new scenarios. In tests
against other established bus driver scheduling systems, TRACS II has always produced the most
efficient schedules.
Although TRACS II is extremely powerful, there are a relatively small number of occasions
when considerable effort has to be expended in determining parameter settings which allow the
ILP to yield a near-optimal solution. It had been the experience in using IMPACS that the
solution of the relaxed LP determined the number of shifts which would be in the final solution.
The branch and bound process of the ILP could therefore be restricted to seeking a solution with
this target number of shifts. The increased complexity of rail driver scheduling, particularly
where several depots are involved, and of some bus driver scheduling problems, means that this
is no longer always the case. The ILP may determine that no solution may be obtained with the
target number of shifts, or it may fail to find a solution within the normal processing limits.
It may then be necessary to increase the target. However, it is not always clear whether this
should be done. A better strategy may be to increase the processing limits, so as to carry out a
more exhaustive search in the branch and bound stage, or to adjust the parameters either to
restrict or to extend the search space. It is sometimes difficult to determine which policy is best.
We continue to improve TRACS II in order to try to provide a more robust system which will
ensure that the ILP can be driven by users who do not have the skills to adjust parameters as
above. However, in parallel it is sensible to investigate alternative approaches, and here we
revert to heuristics, metaheuristics and constraint programming.
Other approaches
While current users are happy with TRACS II, the above considerations have impelled us to seek
alternative approaches, so that we may consistently solve larger and more complex problems.
Layfield et al. [32] have used constraint programming to build several alternative sets of shifts (as
sets S and T in Figure 1) covering critical periods of the day. Relief opportunities which do not
appear in any of the generated sets are then removed, and the resultant smaller problem is
speedily and efficiently solved by TRACS II. To date tests have only been carried out on bus
scheduling problems from a single depot, and it is not yet known whether this is a suitable
approach for more complex problems.
Curtis, Smith and Wren have investigated another approach using constraint programming [33],
and subsequently produced promising results on relatively small problems with a mixture of a
neural network method and repair heuristics [34]. Forsyth and Wren [35] report on the early
stages of the development of an ant colony system for driver scheduling.
10
Hitherto, we have assumed that relief opportunities occur at fixed times, e.g., when a vehicle
passes a fixed point on a route, upon arrival at a terminal point, or a certain number of minutes
before departure. If drivers can be changed any time between the arrival and departure of a
vehicle, the standard set covering model becomes inappropriate, although it may be used to
approximate to the actual problem by considering arrival, departure and perhaps some discrete
times between these two as separate opportunities. Kwan and Shen [36] are using tabu search
together with variations on earlier heuristics to produce shifts based on time windows.
Our most promising new approach to date incorporates a genetic algorithm within the TRACS II
optimization phase. In the following sections we outline two other approaches using
evolutionary algorithms before describing this hybrid GA.
A pure evolutionary algorithm
Wren and Wren [37] take advantage of the IMPACS or TRACS II shift generation phase to
obtain a large set of potential shifts. They represent a complete schedule as a chromosome with
one gene position for each shift in the schedule, the value in a cell being the index of a shift in the
large set. Thus different schedules have different chromosome lengths, depending on the number
of shifts in the schedule. This may however be considered as a mapping of a very long 0-1
chromosome with a cell for each potential shift in the full set.
The initial population is generated by a constructive heuristic which is a randomized version of
that used to obtain the starting solution to the set covering process of TRACS II. Parents are
chosen based on their fitness (number of shifts and cost of schedule), and offspring are obtained
by first forming the union of the parents (a fertilized cover) and then eliminating any shifts whose
entire work is covered by other shifts. Experiments indicated that three parents are better than
two, while using four or five parents is counter-productive.
Results equivalent to those of TRACS II were obtained for small problems, up to 16 shifts.
Subsequent research was directed at extending the scope, but did not prove productive in the time
available. It is believed that other extensions may be useful, but resources have not permitted
further investigation.
A GA to reduce problem size
Several methods have been investigated to reduce problem size by weeding out relief
opportunities which are unlikely to be useful. The original IMPACS rejected some relief
opportunities using a heuristic based on the number of spells of work into which any vehicle was
likely to be divided in a good schedule. This reduced the size and complexity of the remaining
set covering problem, allowing problem instances to be solve which were otherwise beyond the
scope of the ILP of that time. The subsequent work of Layfield et al. [32] resulted in a more
thorough process which has been mentioned above.
Kwan and Wren [38] based a genetic algorithm for selecting relief opportunities on a revised
version of an estimating process of Zhao et al. [39,40]. This fast Estimator was based on an
analysis of the vehicle schedule and labor rules, and developed trial schedules using heuristics
similar to those of the first TRACS in order to assess the number of shifts required.
11
The accuracy of the Estimator is attributable to the vast and refined experience in bus driver
scheduling accumulated by the research team at the University of Leeds since the 1960s. The
rules used took into account both the detailed vehicle schedule and the nature of the driver
scheduling conditions, and were guaranteed to produce a lower bound to the number of shifts
required under normal urban bus operations with frequent relief opportunities. In fact they
yielded the precise number in each of seven weekday bus driver scheduling problems studied by
Zhao et al..
Kwan and Wren based their work on the supposition that a good schedule could be obtained if all
possible relief opportunities were considered. The Estimator, applied to the full set of
opportunities, would give an accurate picture of the number of shifts required, which could then
be taken as a target. If some opportunities were then provisionally rejected, the Estimator could
be applied to the reduced set, and the result compared to the earlier target. If the new estimate
matched the original target, the reduced set was seen as acceptable, and could be used as the basis
of an IMPACS scheduling run. The fact that some relief opportunities had been eliminated
meant that fewer potential shifts were generated, and that the resultant ILP had fewer rows, so
that IMPACS solutions could be obtained in a much smaller time, and so that larger problems
might be tackled.
The GA of Kwan and Wren used binary chromosomes representing the relief opportunities. If all
gene values were 1, this would mean that all relief opportunities were available. An initial
population was generated, each chromosome representing some random selection of relief
opportunities. The Estimator was then applied to each chromosome. If the estimate obtained
was less than the target (which was possible, as the earlier application only gave a lower bound),
then it was increased to the target value. A fitness value was obtained, equal to the resultant
estimate (multiplied by a large constant) plus the number of relief opportunities in the
chromosome. Simple strategies of reproduction and evolution were adopted.
Experiments were conducted using the seven data sets of Zhao et al., but concentrated on
reducing the relief opportunities in the morning peak, keeping the gene values at 1 for the rest of
the day. Reductions of 60% in the number of morning relief opportunities were consistently
obtained, without any degradation in the resultant IMPACS schedules.
Although these results were very encouraging, the estimator proved less accurate when applied to
unpeaked schedules, such as are operated at weekends, and when applied to schedules from
which a large number of midday relief opportunities had been removed. In these circumstances a
lower bound could no longer be guaranteed. We were also seeking processes which could be
used both for bus and for rail driver scheduling, and the estimator, being based principally on the
structure of a peaked bus operation from a single depot, was unlikely to be accurate in the more
complex rail situation.
We believe that this approach has significant potential, but depends on a better and more general
estimator being developed. In the meantime, the approach described in the next section is
proving effective.
A hybrid GA with set covering
We have already mentioned that there are a relatively small number of occasions when
considerable effort has to be expended in determining parameter settings which allow the ILP of
12
TRACS II to yield a near-optimal solution. In most cases, the solution of the relaxed LP shows
the correct number of shifts (it is certainly a lower bound), but the increased complexity of rail
driver scheduling, particularly where several depots are involved, and of some bus driver
scheduling problems, means that sometimes the conditions of the problem require that more
shifts are needed. The ILP may then determine that no solution may be obtained with the target
number of shifts, in which case one may increase the target and try again.
However, the ILP may very occasionally explore a large number of nodes of the search tree
without finding an integer solution. In these circumstances it is not always clear what the
appropriate action should be. Increasing the target in steps of one always yields a solution
eventually in practice, but this solution may not be optimal. Filtering out a larger number of
potential shifts before the set covering phase may reduce the problem size sufficiently, so that the
branch and bound process does obtain a solution within a reasonable search time. Similarly,
tightening the operational constraints may also allow a solution to be found by reducing the
search space. However, such adjustments require considerable skill and experience, and unless a
solution is found with the original target, it is generally impossible to tell whether with more
investigation a solution conforming to the target might be found.
To offset this apparent disadvantage it should be pointed out that even where TRACS II fails to
find a solution without exceeding the original target considerably, the solution obtained is almost
always considerably better than any existing manually produced solution. This is because we are
dealing here with extremely complex problem instances, where no human scheduler could
possibly keep in mind all the possibilities and constraints. For example, we have treated rail
problems involving nearly twenty driver depots, each depot being qualified to drive a section of
the network, but with considerable overlap between sections. A human scheduler would
normally deal with a single depot, or a group of nearby depots at a time.
Although the situations in which TRACS II has difficulties in obtaining a solution close to the
target are fortunately rare, it is unfortunate that they occur at all, and inexperienced users may not
recognize how best to deal with them. We have therefore sought an alternative approach which
takes advantage of knowledge obtained from the relaxed LP solution, as well as our own
knowledge developed over many years of essential features of a good schedule.
The relationship between the relaxed LP solution and the integer solution obtained by the
subsequent branch and bound process of TRACS II has been analyzed for 21 relatively large
problem instances from bus and train operations. The numbers of shifts in the relaxed solutions
ranged from 113 to 476. In every case, at least 50% of the shifts in a known integer solution
were present at a non-zero level in the relaxed solution. In fact, an average of 74% of the shifts
in the integer solutions were in the corresponding relaxed solutions. This indicated that a method
which made use of the shifts in the relaxed solution, while allowing the possibility of other shifts
being incorporated, would be worthy of exploration. If the method also attempted to retain useful
traits of the relaxed solution, this might improve its chances of finding a good final solution. For
example, Figure 1 has shown two possible solutions to a part of a scheduling problem, each
containing an efficient chain of meal breaks. It would be anticipated that the shifts in one or both
of these chains would be present in a relaxed solution to the whole problem, and it would be
sensible to try to retain such a chain in the final solution. It is therefore sensible to allow
solutions to develop based on different useful combinations of shifts from the relaxed solution.
13
Kwan [41] in a PhD thesis has described a hybrid genetic algorithm based on the above
principles. An early report on her work is given in [42], while an update will be presented
elsewhere by Kwan and Kwan [43] in June 2000. The hybrid uses TRACS II up to the point
where a relaxed LP solution is obtained, then makes use of this solution to drive a GA as
described below. The results achieved on a set of test problems compare very favorably with
those from TRACS II. More importantly, the hybrid system is guaranteed to produce a solution
in all cases. Where TRACS II has failed to find a solution, the solutions from the hybrid GA
have been better than the known manual solution. Thus a proposed solution strategy is:
•
first run TRACS II to completion if possible. The intermediate relaxed solution, which is
always obtained, provides a target number of shifts;
•
if no solution is obtained with the target number of shifts, run the GA using knowledge
obtained from the relaxed TRACS II solution. A solution is guaranteed;
•
select the better of the above solutions (or the only one).
Let us call the shifts in the relaxed solution the preferred shifts, while we call those available to
the LP process the potential shifts. The preferred shifts are of course a subset of the potential
shifts. The genes of our chromosomes represent preferred shifts, of which there may be about
100 in a small problem, and perhaps 1000 in larger problems. However, we have found that even
among the preferred shifts there are some which are less likely to appear in an optimal solution,
and we therefore concentrate on the more likely ones.
The values in the relaxed LP solution of the preferred shifts range from 0.0 to 1.0. However,
most of these have very low values. Further analysis of eight of the 21 problems analyzed above
showed that 60% of their preferred shifts had values less than 0.2, and that 75% of the shifts in
the integer solutions were preferred shifts with values greater than 0.2. We therefore decided to
represent in our chromosomes only preferred shifts whose values were greater than a given value.
Experimentation confirmed that 0.2 was a suitable value. Our chromosomes therefore have a
length equal on average to about 40% of the number of preferred shifts.
Chromosomes are created randomly for the initial population and for replacing a certain
proportion of the population at the end of each generation. A certain number, r, of the genes are
set to 1, indicating that the corresponding shift is in the solution, and the remainder are set to 0.
The number r is set randomly to be between 0 and 25% of the target number of shifts defined by
the relaxed LP. (Other ranges up to 75% were used in experiments, but best results were
obtained using 25%.) The chromosomes do not themselves represent a schedule. Rather, their
genes determine a list of shifts comprising a partial schedule, which is then augmented by a
construction operator.
Unlike a repair operator, the construction operator does not alter any of the genes. It consists of
two processes, FILL and DISCARD, each of which is executed once for any chromosome. These
processes use heuristics which are adaptive in nature because the heuristic updates information
about the coverage of the vehicle schedule as shifts are inserted or deleted. FILL looks at each
piece of uncovered vehicle work in turn and selects a potential shift (which may even be a
hitherto unused preferred shift) which covers this work and as much other uncovered work as
possible. These shifts are added to the partial schedule until a full schedule is obtained. As a
result of the FILL process some shifts may become redundant, all their work being covered by
other shifts added during FILL. The DISCARD process removes redundant shifts in a systematic
14
way. Although some of the preferred shifts may be removed by DISCARD, the chromosome is
left untouched. It is only the schedule list which is adjusted.
Although we have run the GA allowing FILL to select any potential shift, we have learned from
TRACS II that the problem may be reduced once the relaxed LP solution has been obtained.
TRACS II satisfactorily finds an integer solution from among those potential shifts which use
only those relief opportunities which are used by the preferred shifts, thereby reducing the
problem size considerably. We have incorporated this reduction as an option in the GA.
Effectively, potential shifts which use any relief opportunity which is not used by one of the
preferred shifts are banned from the FILL process. This optional reduction is normally applied
only to larger problems.
Once the shifts of a chromosome have been augmented to a full schedule, its fitness is obtained
as the total cost of the shifts in the schedule, plus a sufficiently large multiple of the number of
shifts to ensure that priority is given to minimizing shift numbers.
We have already noted that chains of meal breaks as in Figure 1 are important elements of good
solutions. We say that such a chain is a useful trait, and we ensure that some such traits are
passed down through the generations. Once a schedule has been constructed from a
chromosome, the longest chain of meal breaks is identified and is marked as a trait which is to be
inherited by the next generation. Although there are several other traits which we have identified
as being useful in a schedule, there may be conflict if we seek to pass on several traits
simultaneously, and we have up to now confined ourselves to passing on this single trait. This
alone seems sufficient to obtain good results, but we may investigate other traits in future.
Parents are selected according to fitness, using a roulette wheel strategy, and a single point
crossover is used to generate two children from the chromosomes of each pair of parents. The
meal break chain traits of the parents are passed down, distributed randomly, one to each child.
Thus the partial schedule derived from a child’s chromosome is augmented by the shifts in one of
the traits. It is further augmented by the above construction operator to obtain a full schedule,
whose fitness value is then derived. The longest meal break chain in each child is then computed,
ready to be passed down to the next generation. Note that this may be the longest inherited chain,
or may be that chain increased in length by the presence of other shifts, or may be an entirely
different chain, made up from shifts elsewhere in the schedule. It may be observed that the
DISCARD component of the construction heuristic is never allowed to discard parts of inherited
traits, unless a shift in an inherited trait is also present in the basic chromosome.
After a crossover, any new offspring whose chromosome is identical to that of an already existing
individual in the newly formed population will be discarded. A new offspring will also be
discarded if after the construction operator has been applied, its solution schedule is identical to
that of an already existing member of the new population.
At the beginning of each generation, a fixed size, n, population is maintained. In the first
generation, the entire population is created at random. After a generation has been completed,
both the parent and children populations are combined and ranked according to fitness. A fixed
proportion, s, of the combined population is allowed to survive, the fittest members being
selected deterministically. New individuals are then created randomly to bring the total
population back to the original size.
15
The GA terminates if one of the following conditions is satisfied:
•
A specified number of generations has been reached;
•
The fittest member has survived a specified number of times.
It has been found that for problems of under 100 shifts in the solution schedule, a population size
of 100 is generally satisfactory, while larger populations maybe needed for larger schedules.
Full details of mutation and other system parameters are given in [41].
Table 1 compares the hybrid GA solutions with the TRACS II solutions and the manual solutions
where known. The fifteen problems are real bus, train or tram driver scheduling problems which
we have tackled for clients.
These problems were all chosen because they had at some time caused difficulties for TRACS II.
All problems were run on the same Pentium II machine. Elapsed time is the time following the
solution of the relaxed LP of TRACS II; thus the final column shows the time for the branch and
bound process of TRACS II.
In problems 8 and 10, the ILP process of TRACS II failed to find any integer solution even
though the ILP was re-run many times with successively higher numbers of shifts. TRACS II did
later find solutions after some modification of the parameters governing the generation of shifts.
The target number of shifts for problem 13 had to be raised several times before a solution was
found by TRACS II. The time quoted is the time for the final successful computer run.
Problem 15 is a subset of a rail driver problem of over 400 shifts and 15 depots; problem 14 is a
subset of 15. No manual schedules are available for comparison, but it had previously been
demonstrated to the client that TRACS II could produce a schedule for one of his areas using 64
shifts where the manual schedule had 68. The problems were decomposed for TRACS II, each
sub-problem first being solved separately; work which was inefficiently covered in the resultant
schedules was transferred if appropriate to other sub-problems, and these were solved again.
Problem 14 consists of three sub-problems solved separately by TRACS II; for the hybrid GA,
TRACS II was run as a single problem up to the relaxed LP solution, and the GA was applied to
the whole problem. Problem 15 includes problem 14 and one of the other sub-problems, and was
treated in the same way.
It may be seen that in all cases where a manual solution is known, a solution at least as good, and
often better, was found by one or other of TRACS II or the hybrid GA. Where no manual
solution is available there is good reason to believe that the TRACS II or GA solution is better
than might be achieved manually, given the effort normally available in a schedules office.
The GA has successfully solved two problems which were not solved by TRACS II, and has
produced superior results for the two largest problems whose size necessitated decomposition for
TRACS II. Although it is expected that the ILP of TRACS II will be able to solve larger
problems without decomposition in the near future, we believe that the GA may continue to
outperform it for the largest problems.
16
Number of shifts in schedule
Cost (hours paid)
Elapsed time (secs.)
Problem Hybrid GA TRACS II Manual Hybrid GA TRACS II Hybrid GA ILP B&B
1
14
14
N/a
124:23
123:53
14
185
2
34
34
34
294:05
288:16
36
22
3
35
34
34
295:18
289:32
22
84
4
42
42
N/a
301:52
301:29
5
50
49
50
419:06
408:47
96
139
6
51
49
50*
437:06
419:50
14
24
7
51
50
N/a
408:39
403:42
97
34
8
62
Fail
68
509:25
-
955
Very large
9
74
74
76
561:01
561:27
41
4
10
75
Fail
N/a
851:09
-
452
Very large
11
91
89
N/a
797:58
778:19
303
724
12
113
112
115
886:29
880:11
263
20
13
116
116
116
1005:57
1003:55
80
69
14
269
276#
N/a
2115:07
2083:15#
9352
N/a
15
341
349#
N/a
2691:01
2661:12#
13333
N/a
0.4
13
*
The manual schedule contains some shifts which violate the given labor rules, while all the
shifts in the GA and TRACS II schedules obey the rules.
#
The TRACS II schedules were obtained by decomposing the problem carefully, and solving
each sub-problem separately (see text). The objective of both TRACS II and the GA was to
minimize the number of shifts.
Table 1. Comparison of Hybrid GA with TRACS II and manual schedules
Computer time for the GA is less than 16 minutes except for the two largest cases. In the largest
case, the GA found a solution in about 3.75 hours, following the earlier process of TRACS II
which took about two hours. This compares with several person months, which would have been
required for the manual process.
Conclusions
We have introduced the subject of bus and rail driver scheduling, showing how computerized
solution processes have developed from early heuristics through mathematical programming
assisted by heuristics and on to present research investigating a range of metaheuristics and
constraint programming approaches.
17
We have presented a hybrid GA/LP process which has allowed larger and more complex
problems than before to be solved satisfactorily. The process may be summarized as follows
(compare the previously summarized TRACS II process, which is identical up to and including
stage 5):
1. Calculate all possible opportunities for drivers to travel as passengers on scheduled
services or taxis between relief opportunities (only for those problems in which walking
between relief points is inappropriate);
2. Generate a large set of potential shifts, each satisfying all legal conditions together with
rules designed to inhibit the construction of shifts which are unlikely to be suitable;
3. If appropriate, filter out intelligently any shifts which do not play a significant role in
covering the vehicle work many time over;
4. Merge sets of shifts generated as above according to different parameters, if appropriate;
5. Solve a set covering model, with extensions to limit numbers of shifts of different types.
Currently, up to 200,000 potential shifts may be considered. A constructive heuristic is
first used to cover all the vehicle work with a subset of the potential shifts. A relaxed
linear programming (LP) problem is solved using a specialized column generation
technique for larger problem instances, and otherwise a dual steepest edge approach. The
relaxed LP provides a target required number of shifts.
6. Problem reduction takes place, based on the relaxed solution, and a branch and bound
procedure obtains an integer solution using the target number of shifts if possible. If a
solution is obtained, proceed to (10 ).
7. If no solution is obtained, apply the GA using the preferred shifts present in the relaxed
LP. A solution will be found.
8. If the solution found by (7) is higher than the target, repeat the branch and bound process
with a target equal to the GA solution. If a solution is found, repeat again with
progressively lower targets until a target is reached for which no solution is found.
9. Accept the best solution from (6), (7) or (8).
10. Any overcover is edited out by a process which may be automated.
This process guarantees that a solution will be obtained, and experience indicates that this will
normally be considerably better than any corresponding manual solution. It should be noted that
this position has been reached after about three person-years work on the GA approach,
compared with perhaps 100 person-years devoted to all the developments which have led to
TRACS II. Although the GA has failed in a number of cases to find solutions as good as those of
TRACS II, research continues, and we anticipate that as we carry forward more sophisticated
traits from parent to offspring, and develop alternative parameter settings, we shall obtain ever
better results.
Some driver scheduling problems have additional constraints limiting the numbers of shifts of
particular types or from particular depots. These are dealt with satisfactorily as side constraints
to the set covering problem of TRACS II. We have not yet incorporated such constraints in the
GA. However, an initial solution for TRACS II is normally obtained by a simple heuristic which
is able to build up a schedule satisfying these constraints. We believe that a similar heuristic
18
could be added to the FILL component of our construction process. In the last resort, any
offspring or any population member generated directly whose schedule violated these constraints
can be rejected.
In any event, the GA has produced solutions where the standard method has failed. We assert
therefore that the GA is a useful tool of the solution process. We have presented this work in
terms of driver scheduling, but it is anticipated that this hybrid approach could successfully be
applied to many set covering problems. Even the process of identifying traits can be generalized
and applied elsewhere.
References
1.
Wren, A., Applications of computers to transport scheduling in the United Kingdom. Morgantown,
West Virginia University Engineering Experiment Station Bulletin 91, 1969.
2.
Wren, A., Computers in transport planning and operation. London, Ian Allan, 1971
3.
Transportation Science Section, Operations Research Society of America, etc., Workshop on
Automated Techniques for Scheduling of Vehicle Operators for Urban Public Transportation
Services. Preprints, Chicago, 1975.
4.
Wren, A. (ed.), Computer scheduling of public transport. North-Holland, 1981.
5.
Rousseau, J-M. (ed.), Computer scheduling of public transport - 2. North-Holland, 1985.
6.
Daduna, J.R. and Wren, A. (eds.), Computer-aided transit scheduling. Springer-Verlag, 1988.
7.
Desrochers, M. and Rousseau, J-M. (eds.), Computer-aided transit scheduling.
1992.
8.
Daduna, J.R., Branco, I. and Paixao, J.M.P. (eds.), Computer-aided transit scheduling.
Verlag 1995.
9.
Wilson, N.H.M. (ed.), Computer-aided transit scheduling. Springer-Verlag, 1999.
Springer-Verlag,
Springer-
10. Kwan, A.S.K., Kwan, R.S.K., Parker, M.E. and Wren, A., Producing train driver schedules under
differing operating strategies. In Wilson, N.H.M. (ed.), Computer-Aided Transit Scheduling, pp.129154, Springer-Verlag, 1999.
11. Elias, S.E.G., The use of digital computers in the economic scheduling for both man and machine in
public transportation. Kansas State University Bulletin, Special Report 49, 1964.
12. Elias, S.E.G., A mathematical model for optimizing the assignment of man and machine in public
transport run cutting. West Virginia University Engineering Experiment Station Research Bulletin
81, 1966.
13. Ward, R.E. and Deibel, L.E., The advancement of computerized assignment of transit operators to
vehicles through programming techniques. Joint National Meeting of the Operations Research
Society of America, Atlantic City, 1972.
14. Weaver, A. and Wren, A., Scheduling buses and their crews. PTRC Public Transport Analysis
Symposium, London, p.58, 1970.
15. Weaver, A. and Wren, A., Bus crew scheduling by computer, interim report no. 2.
Leeds Centre for Computer Studies Report, 1972.
University of
16. Manington, B. and Wren, A., A general computer method for bus crew scheduling. In
Transportation Science Section, Operations Research Society of America, etc., Workshop on
19
Automated Techniques for Scheduling of Vehicle Operators for Urban Public Transportation
Services. Preprints, Chicago, 1975.
17. Parker, M.E. and Smith, B.M., Two approaches to computer crew scheduling. In Wren,
A. (ed.), Computer scheduling of public transport. North-Holland, p.193, 1981.
18. Wilhelm, E.B., Overview of the RUCUS package driver run cutting program (RUNS). In
Transportation Science Section, Operations Research Society of America, etc., Workshop on
Automated Techniques for Scheduling of Vehicle Operators for Urban Public Transportation
Services. Preprints, Chicago, 1975.
19. Luedtke, L.K., RUCUS II: a review of system capabilities. In Rousseau, J-M. (ed.), Computer
scheduling of public transport - 2. North-Holland, p.61, 1985.
20. Hildyard, P.M. and Wallis, H.V., Advances in computer-assisted runcutting in North America. In
Wren, A. (ed.), Computer scheduling of public transport. North-Holland, p.183, 1981.
21. Rousseau, J.-M. and Blais, J.-Y., HASTUS: an interactive system for buses and crew scheduling. .
In Rousseau, J-M. (ed.), Computer scheduling of public transport - 2. North-Holland, p.45, 1985.
22. Wren, A., Smith, B.M. and Miller, A.J., Complementary approaches to crew scheduling.
In
Rousseau, J.-M. (ed.) Computer scheduling of public transport - 2, pp. 263-278, Amsterdam, NorthHolland, 1985.
23. Smith, B.M. and Wren, A., A bus crew scheduling system using a set covering formulation.
Transportation Research, vol.22A, pp. 97-108, 1988.
24. Wren, A. and Smith, B.M., Experiences with a crew scheduling system based on set covering. In
Daduna, J.R. and Wren, A. (eds.), Computer-aided transit scheduling, pp. 104-118, Berlin, SpringerVerlag, 1988.
25. Smith, B.M., IMPACS – a bus crew scheduling system using integer programming. Mathematical
Programming 42, p.181, 1988.
26. Wren, A., Kwan, R.S.K. and Parker, M.E., Scheduling of rail driver duties. In Murthy, T.K.S.,
Mellitt, B., Brebbia, C.A., Sciutto, G. and Sone, S. (eds.), Computers in railways – IV, vol. 2, pp.8189, 1994.
27. Kwan, A.S.K., Kwan, R.S.K., Parker, M.E. and Wren, A., Producing train driver shifts by computer.
In Allan, J., Brebbia, C.A., Hill, R.J., Sciutto, G. and Sone, S. (eds.). Computers in railways – V,
vol. 1, pp.421-435, 1996.
28. Fores, S., Proll, L.G. and Wren, A., A column generation approach to bus driver scheduling. In Bell,
M.G.H. (ed.), Transportation Networks : Recent Methodological Advances, pp.195-208, Pergamon,
1998.
29. Fores, S., Proll, L.G. and Wren, A., An improved ILP system for driver scheduling. In Wilson,
N.H.M. (ed.), Computer-Aided Transit Scheduling, pp.43-62, Springer-Verlag., 1999.
30. Kwan, A.S.K., Kwan, R.S.K., Parker, M.E. and Wren, A., Producing train driver schedules under
differing operating strategies. In Wilson, N.H.M. (ed.), Computer-Aided Transit Scheduling, pp.129154, Springer-Verlag, 1999.
31. Wren, A., and Kwan, R.S.K., Installing an Urban Transport Scheduling System.
Scheduling, vol. 2, pp.3-17, 1999.
32.
Journal of
Layfield, C.J., Smith, B.M. and Wren, A., Bus Relief Point Selection using Constraint Programming.
In Proceedings of the 1st International Conference on the Practical Applications of Constraint
Technologies and Logic Programming (PACLP99), The Practical Application Company. p.537,
1999.
20
33.
Curtis, S.D., Smith, B.M. and Wren, A., Forming Bus Driver Schedules using Constraint
Programming. In Proceedings of the 1st International Conference on the Practical Applications of
Constraint Technologies and Logic Programming (PACLP99), The Practical Application Company.
p.239, 1999.
34.
Curtis, S.D., Smith, B.M. and Wren, A., Constructing driver schedules using iterative repair. To be
presented at the 2nd International Conference on the Practical Applications of Constraint
Technologies and Logic Programming (PACLP2000), The Practical Application Company, 2000.
35.
Forsyth, P. and Wren, A., An ant system for bus driver scheduling. University of Leeds School of
Computer Studies Research Report 97.25, 1997.
36. Kwan, R.S.K. and Shen, Y. Tabu search for driver scheduling with time windows. To be presented
at the Eighth International Conference on Computer-Aided Scheduling of Public Transport, Berlin,
June 2000.
37. Wren, A. and Wren, D.O., A genetic algorithm for public transport driver scheduling. Computers
and Operations Research, vol.22, p.101, 1995.
38. Kwan, R.S.K. and Wren, A., Hybrid genetic algorithms for bus driver scheduling. In Bianco, L. and
Toth, P. (eds.) Advanced methods in transportation analysis, Springer-Verlag, p.609, 1996.
39. Zhao, L., Wren, A. and Kwan, R.S.K., Enriching rules in a driver duty estimator. In Daduna, J.R.,
Branco, I. and Paixao, J.M.P. (eds.) Computer-aided transit scheduling, Berlin, Springer-Verlag,
pp.236-247, 1995.
40. Zhao, L., Wren, A. and Kwan, R.S.K., Development of a driver duty estimator, Journal of the
Operational Research Society, vol.46, p.1102, 1995.
41. Kwan, A.S.K., Train driver scheduling. University of Leeds PhD thesis, 1999.
42. Kwan, A.S.K., Kwan, R.S.K. and Wren, A., Driver scheduling using genetic algorithms with
embedded combinatorial traits. In Wilson, N.H.M. (ed.), Computer-Aided Transit Scheduling,
pp.81-102. Springer-Verlag, 1999.
43. Kwan, A.S.K. and Kwan, R.S.K. An improved genetic algorithm for public transport driver
scheduling. To be presented at the Eighth International Conference on Computer-Aided Scheduling
of Public Transport, Berlin, June 2000.
21
Download