Computer-Assisted School Bus Scheduling
Author(s): R. D. Angel, W. L. Caudle, R. Noonan and A. Whinston
Source: Management Science , Feb., 1972, Vol. 18, No. 6, Application Series (Feb., 1972),
pp. B279-B288
Published by: INFORMS
Stable URL: https://www.jstor.org/stable/2629256
JSTOR is a not-for-profit service that helps scholars, researchers, and students discover, use, and build upon a wide
range of content in a trusted digital archive. We use information technology and tools to increase productivity and
facilitate new forms of scholarship. For more information about JSTOR, please contact support@jstor.org.
Your use of the JSTOR archive indicates your acceptance of the Terms & Conditions of Use, available at
https://about.jstor.org/terms
INFORMS is collaborating with JSTOR to digitize, preserve and extend access to Management
Science
This content downloaded from
154.59.124.214 on Sun, 20 Apr 2025 11:25:34 UTC
All use subject to https://about.jstor.org/terms
MANAGEMENT SCIENCE
Vol. 18, No. 6, February, 1972
Printed in U.S.A.
COMPUTER-ASSISTED SCHOOL BUS SCHEDULING*t
R. D. ANGEL, W. L. CAUDLE,? R. NOONAN** AND A. WHINSTONtt
This paper reports on an application of computer technology to a significant and
costly school administration problem: the transportation of students between home
and school. The problem, as it is generally thought of, has been complicated by the
consideration of attempting racial balance via busing. We present an algorithm to
find a feasible solution which tends to minimize the number of required routes and
mileage. After setting down the basic approach used and the results of an application,
we will present possible extensions of the approach to school location planning, bus
fleets composition and timing conditions on particular bus stops.
Introduction
This paper reports on an application of computer technology to a significant and
costly school administration problem: the transportation of students between home
and school. The problem, as it is generally thought of, has been complicated by the
consideration of attempting racial balance via busing. We present an algorithm to
find a feasible solution which tends to minimize the number of required routes and
mileage. After setting down the basic approach used and the results of an application,
we will present possible extensions of the approach to school location planning, bus
fleets composition and timing conditions on particular bus stops.
The School Bus Scheduling Algorithm
The objective of bus scheduling is to obtain a bus loading pattern such that:
(1) the number of routes is minimized,
(2) mileage is kept at a minimum,
(3) no bus is overloaded, and
(4) the time required to traverse any route does not exceed a maximum allowed by
policy.
In theory, there are a number of different methods for satisfying this objective. For
example, an optimal loading could be obtained by specific enumeration and examination of every possible loading pattern. Alternatively, one could use a modified travel-
ing salesman algorithm [7]. However, these approaches are uneconomical for solving a
problem with several hundred bus stops. Therefore, we chose an algorithm which
allows generality sufficient to satisfy all the constraints and at the same time reduces
the problem by systematically ignoring certain load combinations. This choice allowed us to take advantage of an existing code [8]. While the solution generated by
this algorithm may not be optimal, experience has shown that the results are as good
as or better than can be achieved by manual methods.
Further, once the data are available and the system initiated, it assures an inex* Received August 1970; revised January 1971.
t This work was supported in part by the Tippecanoe School Corporation and Board. Thanks
are due to the Board and especially to Mr. C. W. Mikels, Superintendent, and Mr. J. Chatham,
Director of Transportation for their assistance on the project.
t Honeywell Information Systems, Inc., Waltham, Massachusetts.
? Combinatorics, Inc., Lafayette, Indiana.
** University of Maryland.
tt Purdue University.
B-279
This content downloaded from
154.59.124.214 on Sun, 20 Apr 2025 11:25:34 UTC
All use subject to https://about.jstor.org/terms
B-280 ANGEL, CAUDLE, NOONAN & WHINSTON
pensive and easy method of generating new sets of routes which, again, will be "good"
routes based on the capacity and time constraints established.
Description of Scheduling Process
The scheduling process consists of two phases which are (1) data collection and
preparation, and (2) schedule preparation.
The data collection and preparation phase requires complete student census information with regard to the location and number of students and bus stops. Bus
stops are indicated on a scaled map so that distance information can be obtained.
Then students are assigned to the stops and a card prepared indicating which stop
has been assigned to the student and the name, grade, address of the student, and
school attended. This information is processed by a program that produces a stop
loading card for each stop indicating the number of students to be scheduled at that
stop. During this program, a particular school, grade, or other combination of stu-
dents can be selected from the student data for scheduling. Using the map prepared
above, distance between adjacent bus stops is measured and a speed assigned. An
average overall speed can be used as a default if speeds on links are absent. The "link"
data are processed by a modified Moore algorithm (Figure 1) to produce the time and
distance matrix required by the scheduling phase. The matrix contains the shortest
path in time between any pair of bus stops.
In addition to the stop loading cards and time matrix, the schedule preparation
phase requires certain parameters to be selected. Parameters include the quantity
and capacities of buses (bus availability table), maximum route time in minutes,
loading time per student, and allowance for extra time at each stop.
The approach used to perform the scheduling consists of two major subcomponents:
first, stops are grouped by their proximity using a clustering algorithm, and secondly
an attempt is made to form routes from the grouped stops so that the constraints are
satisfied. This process is described in the following paragraphs and flowcharted in
Figure 2.
After reading the bus availability table, the time/distance matrix and the bus stop
loading table, the algorithm begins by assigning each stop to an individual route,
and entering the bus assigned, the initial stop, the number of students and the total
route time into a route table. Stops on a route are kept on a forwardly ordered list.
For each pair of existing routes, a measure of proximity, or association, is calculated.
The measure of association is a weighting of various factors including their nearest
points, distance from the school, current loads and remaining time before the route
must terminate at the school. For each route only the "best" 25 associations are saved.
The merging of routes is then attempted by order of the greatest association measure.
If two routes are merged, a traveling salesman algorithm is used to retain the best
ordering of stops. The particular algorithm used is based on one given in Graves and
Whinston [4]. No backtracking was attempted, and sequential choices were based on
the calculation of the mean alone. After the association table has been exhausted, the
process is repeated until it is found that the number of routes has not changed. The
only constraints on the merging of two routes are that the capacity of the bus not be
exceeded and that the total duration not exceed the specified route time limit.
The basic output from the scheduling program is a listing of the stops that comprise
each route and summary statistics which give the total number of routes generated
and the total time required to run the routes. Other statistics such as total miles, average miles per hour, etc. are provided also (Figure 3). There are, of course, any number
This content downloaded from
154.59.124.214 on Sun, 20 Apr 2025 11:25:34 UTC
All use subject to https://about.jstor.org/terms
COMPUTER-ASSISTED SCHOOL BUS SCHEDULING B-281
SET
d (J):MAXDST
SET
dtl)=O
vI jE R
PICK k a F:
d (k) - MIN d A j )
JF
DELE{E NOE
. 0
PICK j Sk O DEFINITIONSF
kt ~1~~~.-AN
~~4k {F(ROM
HEST
FFIA PAIR OF NODES (1,J)
"@ARC"AISie
AN
ORDERED
NO WHOSE DISTANCE IS GIVEN IN THE LINK TABLE
_w()< dt3 2.-A {ALL ARCS IN THE NETWORK}
TO 3.IR T CROOT NODES
4.-Sk' (kS jT) a ALEOe. THE SET OF FINAL
PUT j INTO NODES OF ARCS WHOSE INITIAL NODE IS k
.TOPOLOGICAL
ORDER LIST 5.-d (j) r CURRENT MINIMUM DISTANCE FROM
I ~~~j TO ITS CLOSE ST ROOT NODE
v . ~~6.-I (i,j) IS THE LENGTH OF THE ARC (i,j)
D ( d(j 7.-D (j) s DISTANCE OF NEWLY FOUND PATH TO j,i e.
PUT IN F ~~~D( ) zzd (k) +I (k,j)
8.-MAXDST IS LARGER THAN THE LENGTH OF
< DELETE j ANY PATH IN A
FROM Sk 9.-F u{ j:O5<d(j)<MAXDST}
FIGURE 1. Moore algorithm.
of reports that could be produced by the system to provide more detailed information
to the transportation scheduler, most of which are relatively easy to prepare. Furthermore, a feature is included which allows external adjustments of routes. Thus, an experienced dispatcher may use the system to lay out a basic set of routes and then make
further improvements based on his own experience.
An Application of the System
In order to facilitate further discussion we present an actual example where the
system was used to generate routes. The problem involved a school district in the
Tippecanoe School Corporation, Tippecanoe County, Indiana, covering about 150
square miles and composed of just in excess of 1500 students in grades one through
twelve. The district is primarily rural in its characteristics except for one relatively
densely populated area which borders the city of Lafayette, Indiana. As a result
This content downloaded from
154.59.124.214 on Sun, 20 Apr 2025 11:25:34 UTC
All use subject to https://about.jstor.org/terms
B-282 ANGEL, CAUDLE, NOONAN & WHINSTON
u D '>AAIAILT, STP :': ASOCATO
FOR NEXT
ASSOCIATION
PAIR (I,J)
YES ON SAM
YES /CO BIED
FGOUTE 2. B
NO
US
|MERGE ROUTES AND APPLY|
TRAVELING SALESMAN
ALOORI TH M
WRITE FLEET ll WRITE l
l SUMMARY }-LSCHEDULES|
FIGUREa 2. BUS scheduling algorithm.
about forty percent of the students live in an
of the total area. The pattern of roads tends
there are many exceptions and discontinuities.
This content downloaded from
154.59.124.214 on Sun, 20 Apr 2025 11:25:34 UTC
All use subject to https://about.jstor.org/terms
COMPUTER-ASSISTED SCHOOL BUS SCHEDULING B-283
School Bus Route Generation-Southwestern Route Number 3
Stop
Stop
Numbers
Coordinates
Old
Number
New
of
Students
129
121
1
2
2
2
Arrival
Load
Times
Time
4.30
7.24
.12
.12
950S
925S
222W
135W
1100S
200W
128
3
9
13.48
.54
1100S
100W
108
4
2
17.06
.12
1070S
OW
833
5
5
20.24
.30
1050S
55E
829
6
3
22.12
.18
1035S 100E 1301 7 1 23.54 .06
900S 200E 1340 8 7 29.36 .42
1000S 154E 1302 9 1 33.48 .06
1050S 100E 804 10 5 36.24 .30
i1OOS 100E 830 11 2 38.06 .12
1100S 50E 831 12 13 39.30 1.18
1100S 1OE 832 13 10 41.48 1.00
1030S OW 816 14 2 44.42 .12
940S OW 817 15 2 47.06 .12
925S 72W 119 16 4 49.24 .24
860S
100W
120
17
1
52.00
.06
Bus Capacity 72 Total Students 71
Route Time 56.18 Total Stops 17
Loading Time 7.06 Miles Driven 20.5
Driving Speed 25.0 Students/Mile 3.5
Average Speed 21.8 Student-Miles 1324.1
FIGURE 3. Scheduling algorithm sample output.
one senior high, one junior high and three elementaries. All schools, except the senior
high and an elementary, are at different geographic locations.
The prime concern of the school district in this problem was safety, i.e., balancing
the route loads and the route driving times to avoid overloading and yet maintain
reasonable student riding times. Accordingly, the system's parameters were established as 72 students as the capacity limit and 70 minutes plus return to the school as
the maximum time limit. This district has a degree of flexibility in the time constraint
in that buses may be garaged at or near the driver's home which, in turn, is usually
near the beginning of his route.
Student loading time was set at six seconds per student and driving speed was set
at 25 miles per hour. Due to the largely rural nature of the area scheduled, accelera-
tion and deceleration were not considered as a factor. Of course, as the bus is required
to stop more often, as in a city, then starting and stopping time becomes important.
A study of Figure 4 reveals that the constraints were met. A study of a map of the
district reveals that the total route mileage for the computer-generated routes is
within five percent of the manually produced routes. Using the computer-generated
routes as a basis, a few manual adjustments produced routes with lower mileage than
the manual routes.
From a cost standpoint, the system is very reasonable. It operates on a Control
Data 6500 computer system, and can accommodate problems with up to 200 grid
points using 32,000 words of memory (60-bit). The execution times for a typical problem are:
(1) twenty seconds to develop the grid, and
(2) about twenty seconds for each set of schedules produced using the same grid.
This content downloaded from
154.59.124.214 on Sun, 20 Apr 2025 11:25:34 UTC
All use subject to https://about.jstor.org/terms
B-284 ANGEL, CAUDLE, NOONAN & WHINSTON
School System Information
Number of students: 1500
Number
of
Average
Load
routes:
load
size:
size-range:
24
62
39-81
Computer-Assisted Routes
Number
of
Average
Load
routes:
load
size:
size-range:
23
66
57-72
Maximum riding time: 58 minutes
FIGURE 4. Comparison of existing and computer-assisted routes.
Route Scheduled Number of Number of Max. Riding
Number Quantity Stops Miles Time (min.)
1
67
32
13
2
65
26
13
43
38
3
72
37
12
50
4
69
38
14
52
5
72
20
13
31
6
71
33
12
48
7
65
8
40
8
71
11
40
12
10
46
37
30
26
9
65
33
10
70
26
11
61
24
11
33
12
72
31
25
47
13
64
13
15
25
14
66
32
15
25
7
41
15
16
70
62
46
8
40
17
63
33
30
24
44
18
60
27
28
44
19
57
22
12
31
20
70
21
13
34
21
70
37
25
47
22
61
29
21
45
23
57
30
17
47
Routes 9, 18, 19, 20 have additional transit times of either 9 minutes
or 12 minutes.
FIGURE 5. Details on computer-assisted routes.
Thus, for a few minutes of computer time, it is possible to prepare several sets of
routes varying the capacity and time constraints. With little additional effort, one can
vary the stops to be considered in a particular run, a feature that is very useful in examining a specific area, or if circumstances require that certain routes be considered
as fixed and only the remaining stops considered by the scheduling system. No doubt
the single most costly item is gathering the stop and grid data, but the data are nor-
mally required to develop manual schedules; hence, most districts have the data available and may require only some reworking to be usable by the scheduling system. As
pointed out elsewhere in this paper, a map of the district on which the individual
stops have been pinned is extremely useful at this point.
In the case illustrated in Figure 5, it was particularly useful to compare the routes
This content downloaded from
154.59.124.214 on Sun, 20 Apr 2025 11:25:34 UTC
All use subject to https://about.jstor.org/terms
COMPUTER-ASSISTED SCHOOL BUS SCHEDULING B-285
MILES
0
1
2
3
4
5
6
7
8
0
0~~~~~~~~~~~
0~~~~~~~
FIGURE 6. Map of computer-assisted routes.
that were prepared by processing through a range of capacities and maximum route
times. Increasing capacity normally produces routes with fewer ovrerall miles in more
densely populated areas, while increasing maximum route time usually produces better bus utilization and fewer miles in sparsely populated areas. Use of the system for
school districts in which there are both dense and sparse student distribution areas
will generally result in a final selection of routes from more than one processing by the
bus scheduling system. In the case shown, bus capacities were vraried by two from 66
through 72. The time limit was vraried by fivre from 60 through 75. Most of the final
routes selected are from a processing in which the capacity constraint was set at 72
This content downloaded from
154.59.124.214 on Sun, 20 Apr 2025 11:25:34 UTC
All use subject to https://about.jstor.org/terms
B-286 ANGEL, CAUDLE, NOONAN & WHINSTON
passengers and the time constraint at 70 minutes. This provided a 10 percent overload
to allow for absenteeism and for students driving, or being driven, to school on a nor-
mal school day.
Looking at the general problem for guidelines or principles to follow a computer-
assisted scheduling effort, the following statements are appropriate. They are all indicative of techniques useful in reducing the size of a problem to several problems which
are more economical to solve.
(1) Grouping stops is normally a useful technique to employ. Specifically, this means
the grouping of stops in areas where it is not logical to have more than one bus in a
local (usually quite small) area. The guideline on grouping is basically that of common sense: eliminate the possibility of multiple choices in instances where there is
little or nothing to be gained and conversely, avoid restricting the system's loading
possibilities by forming groups that comprise a disproportionate share of the bus
capacity. This limit will vary with the student density of the area in question, but
normally will fall in the 15-30 percent range.
(2) A partitioning of the total district into subdistricts will improve the overall results. In a sense, this is grouping on a larger scale basis than discussed above and it has
the effect of reducing the number of routing possibilities without sacrificing any advantage for this simplification.
Such a partitioning might be forced, or encouraged, by elements that tend to act as
barriers, such as rivers, expressways, and railroads. It often makes good sense to treat
such areas as a group or, if large enough, as a completely separate scheduling entity.
Other partitions possible include those encouraged by differences in student density
(rural vs. suburban, for example) or the distribution of students to schools not in a
common location (elementary, junior high, senior high).
In general, any division that results in 150-200 stops (or groups) can be handled by
the system economically. Due to the differences in student density characteristics the
range on the number of students the system is capable of handling as one process is
400-4000, and on the number of routes generated the range might be from 8 to 80
although there are no theoretical limitations.
(3) A number of solution sets should be examined before routes are finalized. Much
can be learned about the characteristics of the district by studying the changes that
occur in the solutions as the parameters are incrementally varied.
Other Features and Uses
In our study of the Tippecanoe School Corporation district it became apparent that
it would be useful to study only the densely populated areas as it is only in these areas
that overloading will generally occur. Therefore, the nine routes serving the rural areas
were fixed and only the stop data for the remaining fifteen routes processed by the bus
scheduling system. The total number of students involved was 960.
Setting the capacity parameters first at 72 and then 70 produced two outstanding
sets of routes, each containing fourteen routes. This means that the 960 students were
scheduled into 980 total seats which is the smallest number of routes possible in the
70-capacity case. From a total time standpoint, the 72-capacity processing produced
slightly superior results. Only a few manual revisions were made to produce a "final"
set of runs. The resulting mileage in this case was 25 percent less than for existing
routes.
Due to a shortage of buses in the district, three buses make double runs, a feat
which can be accomplished because a small elementary building is located in the densely
This content downloaded from
154.59.124.214 on Sun, 20 Apr 2025 11:25:34 UTC
All use subject to https://about.jstor.org/terms
COMPUTER-ASSISTED SCHOOL BUS SCHEDULING B-287
populated area. From the computer-generated routes, it was quite easy to schedule
double runs such that both the time and capacity constraints were met.
An interesting feature of the system is the ability to vary the number of stops that
are considered by the scheduling algorithm at one time-a feature that might be considered a tool for fine tuning the system. Once the general parameters (capacity and
time) have been examined and the values determined which best fit this problem, it is
usually advantageous to vary the number of stops parameter. For a 200-stop problem,
one might set this parameter value at 100, 150 and 50 on successive runs; normally,
one setting will produce lower route times than the others. Further runs could then
be made in the local area (for example, at the 40- and 60-stop settings if 50 produced
the best routes initially), and probably even better results obtained.
Generally, we find that considering all points at one time is not the best approach.
This can be explained again, by the fact that the system performs best when the num-
ber of choices is reasonably restricted. The optimum number to consider at one time
is data dependent and can best be determined by following the procedures described
above. The very positive contribution of this feature is that it allows the system to
react to the characteristics of the data it is processing.
Finally, the system provides options as to the calculation of distances between any
l-pair of stops (or, more accurately, any pair of points in the distance grid). Rectili
coordinates may be used to describe grid points and to calculate distances or a "true'
distance method may be used. The latter method was used in the problem described
because of the peculiar road and street patterns. This method requires the actual distances that must be driven to proceed from a given point to all adjacent points.
Selection of the specific distance method to use is dependent upon the degree of
homogeneity and uniformity that exists in the street and highway network. As homo-
geneity decreases, the true distance method becomes more and more the preferred
method.
Some Extensions
We have shown how the scheduling system can be used to generate school bus routes
that are quite good as produced and can be made into very good routes with minimum
manual effort. Because of the speed with which data and the many questions that arise
in a scheduling situation can be processed, many additional uses of the system are
suggested, including the following:
(1) An analysis of the composition of the school bus fleet (by capacity, for example)
to determine if the existing fleet is compatible with the current or near-term future
student distribution. This has obvious value, also, in planning the fleet requirements
for newly formed, or proposed, school districts.
(2) Determining the impact on transportation costs of staggering the beginning and
end of the school day by school, by classes, or other classification to obtain multiple
usage of all, or part, of the fleet. Such a decision may have a mixed effect on the total
school transportation cost which, again, could be analyzed prior to making or implementing the decision.
(3) Analyzing the impact on transportation costs of various new school locations
which would allow more rational decisions to be made by making it possible to assign
relative costs to one of the more important variables in the school location problem.
(4) Studying the complex question of racial integration of schools and analyzing
the transportation costs of busing required to meet federal and local requirements.
This list is not all-inclusive but does contain items that are of concern to nearly
This content downloaded from
154.59.124.214 on Sun, 20 Apr 2025 11:25:34 UTC
All use subject to https://about.jstor.org/terms
B-288 ANGEL, CAUDLE, NOONAN & WHINSTON
every school district. Two obvious benefits to be gained from any use of the bus scheduling system are (1) a student data file in machine-processable form and (2) a better
understanding of the many factors and relationships that affect the cost and effectiveness of transporting students within a school district.
Conclusions
It has been proven by our work to date that computer-assisted school bus scheduling
is an effective way to approach the transportation problems faced by most school districts. The speed, flexibility, and low cost of the bus scheduling system used in the
application described in this paper suggest that a very large number of school districts
could benefit by similar application of the system to their transportation problems and
unique circumstances.
References
1. CLARKE, G. AND WRIGHT, J. W., "Scheduling of Vehicles from a Central Depot to a Number
of Delivery Points," O.R., Vol. 12 (1964), p. 563.
2. DANTZIG, G. B. AND RAMSER, J. H., "The Truck Dispatching Problem," Management Science,
Vol. 6 (1959), p. 80.
3. GASKELL, T. J., "Basis for Vehicle Fleet Scheduling," O.R. Quarterly, Vol. 8 (September 1967),
p. 281.
4. GRAVES, G. W. AND WHINSTON, A. B., "An Algorithm for Quadratic Assignment Problem,"
Management Science, Vol. 17, No. 7 (March 1970), pp. 453-471.
5. Hipp, WILLIAM S., "An Algorithm for Carrier Reassignment," Software Age (November 1968),
p. 8.
6. NACE, G. E., "Distributing Goods by VSP/360," Software Age (March 1969), p. 68.
7. NEWTON, RITA M. AND THOMAS, WARREN H., "Design of School Bus Routes by Computer,"
Socio-Econ. Plan. Science, Vol. 3 (1969), pp. 75-85.
8. NOONAN, R. AND WHINSTON, A., "An Information System for Vehicle Scheduling," Software
Age (December 1969), p. 8.
9. SPITZER, MURRAY, "The Computer Art of Schedule-Making," Datamation (April 1969), p. 84.
10. TILLMAN, FRANK A. AND COCHRAN, HAROLD, "An Approach for Solving the Delivery Prob-
lem," J. Industrial Engineering (July 1968), p. 355.
This content downloaded from
154.59.124.214 on Sun, 20 Apr 2025 11:25:34 UTC
All use subject to https://about.jstor.org/terms
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )