Professional Documents
Culture Documents
2009 10 PDF
2009 10 PDF
This article describes how an optimization model has been used recently to more effectively
schedule classes in an average-sized business school department. Each semester this department
offers approximately 46 classes taught by 20 different instructors in one of 32 time slots. A myriad
of constraints must be satisfied while trying to maximize faculty preferences for courses and
teaching times. Using the model has reduced the time needed to generate high-quality schedules
from more than a day to less than three hours, and kept our schedule within the departments
allocated time slots, eliminating the need for staff to find additional rooms.
"?#
#?
?
?
?
?
?
?
?"
?"
?"
#?
#?
"?#
#?
?
?
?
?"
?"
#?
#?
?
?
?
"?
?
"?
?
"?
?
"?
/7("
/7(#
/7(
/7(
/7(
/7(
/7(
/7(
/7
/7
*"
*#
*
*
*
*
*#
*
*"
7
7#
7
7"
/
/#
/
/"
#
"
(
+=
:0539
%*0.''
! '.+//
" ')
# /'*303 ?
/+90-
0:.5- ?
0:4' ?
30'&'3
4.:/
5&9$*5
%
! %
" &>
# ->@>
.
3
4
?/=
4=;
7<
approximately nine miles away from the main load changes for a few faculty members.
SFSU campus where undergraduate classes are Satisfactorily adjusting or rescheduling the
held. In any semester, roughly half of the existing Spring 2008 schedule was more difficult
colleges faculty members teach at both than I had anticipated. Soon thereafter, in
campuses. The COB Associate Dean provides October 2007, it was time to plan the Fall 2008
each department chair with a block allocation for schedule from scratch. Based on guidelines
classes held at the DTC (see blocks in cells given to me by my predecessor, such as how
Z2:AG3 of Figure 1). Thus, department chairs many sections of each course to offer and how
must consider whos teaching in which program, many to offer at night, I began to manually plan
and allow sufficient time to travel from one out the Fall 2008 schedule and was immediately
campus to another. Although possible to get struck by the extraordinary number of factors
from one campus to another in under an hour on that had to be considered to develop a good,
public transportation, DS faculty requested a feasible schedule. Even though our department
minimum of two hours between the end of a offers only about 45 classes per semester, it took
class taught on one campus and the beginning of me at least a full day to prepare the initial
the next class taught at the other campus to schedule. Knowing that Id need to undertake
allow for transit breakdowns, heavy automobile scheduling and rescheduling tasks regularly
traffic, student interaction, eating, and so on. during my tenure as department chair, I began to
Shortly after becoming department chair think about how these tasks might be formulated
in August 2007, I needed to make some as a mathematical program and solved
adjustments to the Spring 2008 schedule planned efficiently on a computer.
by the previous chair to account for recent work
85
Saltzman
An Optimization Model for Scheduling Classes in a Business School Department
86
Saltzman
An Optimization Model for Scheduling Classes in a Business School Department
code) that can be adapted easily by others The model also employs a number of subsets of
willing to use this or other similar optimization these main sets in various situations, such as
package. Since the model reads in several data CourseUG (CourseGR), a set containing only
files from Excel, much of the model the undergraduate (graduate) courses. Another
maintenance can be done within the familiar useful subset is InstructorTTT, a list of only the
environment of Excel. With both a linear tenured/tenure track faculty. Other subsets will
objective function and linear constraints, the be introduced as the constraints are described
model solves quickly, allowing for fast below.
experimentation. To date, the model has been The models decisions variables are a set
used twice; over time, further refinements may of binary variables {Xi,c,b}, where Xi,c,b = 1, if
be made as more experience is gained. instructor i is assigned to teach course c during
block b, and Xi,c,b = 0, otherwise, for all i
III. PROBLEM DEFINITION AND MODEL Instructor, all c Course, and all b Block. In
FORMULATION planning for the Spring 2009 semester, for
example, there were 20 instructors, 13 distinct
The purpose of the DS class scheduling problem courses (several of which are multi-section) and
is to optimally assign a group of DS instructors 32 blocks, leading a total of 8,320 decision
to teach an array of DS courses during a set of variables.
standard time slots. Assignments must satisfy Feasible schedules must satisfy a large
numerous constraints while maximizing the number constraints and sets of constraints. The
instructors collective preferences for courses first type of constraint requires that our
and time blocks. The problem was formulated department offer multiple sections of certain
as an integer linear programming model and core business classes such as DS 412
solved with OPL Studio 3.5 (ILOG 2001), an (Operations Management):
optimization package whose main features are
reviewed by Skiscim (2001). In an OPL 12 ib Xi,DS412,b 14.
(Optimization Programming Language) model, Similar constraints, with different upper
one can combine elements of traditional and lower bounds, are required for the other
mathematical programming with those of multi-section courses, namely, DS 212, DS 411,
constraint programming, if desired. Lustig and DS 412, BUS 786 and BUS 856. An obvious
Puget (2001) give a brief tutorial on constraint requirement of any feasible schedule is that
programming and how it complements the instructors teach at most one course per block:
features of mathematical programming. The
c Xi,c,b 1, for all i Instructor and b Block.
main components of any OPL model are its sets,
variables, constraints and objective function, Several pre-assignments (Schaerf
each of which is now described. 1999) are needed to impose specific instructor-
Sets, which help make the model easier course-block combinations. For example,
and more compact to specify, and the output Professor Eng is preassigned to teach an
more legible, include the names of the intermediate statistics course, DS 312, which is
departments instructors, courses, and available her specialty:
blocks. In particular, the following indices and b XEng,DS312,b = 1.
main sets are used in the model.
i Instructor = {Azoury, Cholette, , Wing} In this example, the block is not
preassigned. Other decision variables can be
c Course = {DS110, DS212, , BUS786}
preassigned to zero by recognizing that
b Block={MWF0810, MWF0910,,TH1900} undergraduate courses cannot be offered during
87
Saltzman
An Optimization Model for Scheduling Classes in a Business School Department
graduate blocks, and graduate courses cannot be i (Xi,DS312,b + Xi,DS601,b) 1, for all b
offered during undergraduate blocks: BlockNight.
Xi,c,b = 0, for all i Instructor, c CourseUG, b
BlockGR, and Faculty-Oriented Constraints
Xi,c,b = 0, for all i Instructor, c CourseGR, b
First, a set of constraints is needed to enforce
BlockUG,
faculty teaching loads:
where BlockUG (BlockGR) is the set of all
cb Xi,c,b = Loadi, for all i Instructor,
undergraduate (graduate) blocks. As stated in
the introduction, the number of undergraduate where Loadi is the number of classes
courses must not exceed the block allocations set instructor i is supposed to teach in the semester.
by the administration; likewise, the number of In the DS department the typical load is three
graduate courses offered at the DTC cannot classes per semester for full-time faculty, and
exceed the allocations set by the COB Associate one or two for part-time lecturers. The model
Dean: also contains constraints that improve the overall
quality of life for the faculty. For instance, to
i cCourseUG Xi,c,b AllocationUGb, for all b
reduce monotony, no tenured/tenure track
BlockUG, and
instructor is asked to teach three sections of the
i cCourseGR Xi,c,b AllocationGRb, for all b same course:
BlockGR,
b Xi,c,b 2, for all i InstructorTTT, c Course.
where AllocationUGb and AllocationGRb are the
DS faculty members often one night class per
maximum number of undergraduate and
week, but never more than two:
graduate sections, respectively, that the
department may offer during block b. To serve c bBlockNight Xi,c,b 2, for all i Instructor.
students who work during the day, we endeavor Good, coherent schedules (Burke and
to offer sections of some undergraduate courses, Petrovic, 2002, p. 267) avoid requiring
such as DS 212, at night: instructors to teach classes on both MWF and
1 ibBlockNight Xi,DS212,b 3. TTH:
Similar constraints, with potentially different c (Xi,c,b1 + Xi,c,b2) 1, for all i Instructor, b1
upper bounds, are in place for the undergraduate BlocksMWF, b2 BlocksTTH.
core courses DS 110 and DS 412.
Night-time sections of some courses, such
as DS 110, should be offered on different nights Travel Time Considerations
to give non-traditional students the most chance
to take the course: Sufficient time must be allowed for instructors
to travel from the main campus to the DTC. For
i Xi,DS110,b 1, for all b BlockNight. example, an instructor who teaches a graduate
Similar constraints exist for evening sections of class at the DTC on Mondays at 1400 must not
DS 212, DS 412, DS 856 and BUS 786. be assigned a class on the main campus on
Some undergraduate concentration Mondays that finishes after 1200:
courses, such as DS 312 and DS 601, ought to be c (Xi,c,b + Xi,c,M1400) 1, for all i Instructor, b
taught on different nights so that DS majors can MBEA1200,
take both courses in the same semester, if
desired: where MBEA1200 is the set of blocks ending
after 1200 on Monday on the main campus, i.e.,
California Journal of Operations Management, Volume 7, Number 1, February 2009
88
Saltzman
An Optimization Model for Scheduling Classes in a Business School Department
89
Saltzman
An Optimization Model for Scheduling Classes in a Business School Department
90
Saltzman
An Optimization Model for Scheduling Classes in a Business School Department
office manager in a format she prefers for input not the improvement is worth the longer
to the universitys scheduling system. computational time most-likely required.
The model was first run on the Fall 2008 Perhaps more importantly, much greater
schedule, even though I had already planned that effort would be required to get this planning tool
semesters schedule out manually, in order to adopted by other departments within the COB or
test the quality of the models solutions and elsewhere who face issues similar to those of the
make improvements to the model. The Spring Decision Sciences department. I have found that
2009 schedule was planned primarily by running the other COB department chairs have devised
the model, with only a few manual adjustments their own manual processes to plan their
made later. Because the model generally solves schedules, with at least one making limited use
in less than 30 seconds on a Dell Inspiron 6400 of Excel to partially check the feasibility of their
laptop, several schedules can be tried out quickly schedules. However, getting other chairs to
with, say, alternate course preference values. actually adopt an optimization-based approach
For instance, I can try to modify the schedule for such as the one presented here would be a major
a particular junior faculty member by changing challenge for several reasons: (1) they dont
his or her preference values (or someone elses) understand or trust mathematical models; (2)
for a specific course. All told, preparing this they cant afford to buy an expensive software
schedule took less than three hours, including package such as OPL Studio; (3) they fear losing
data entry and making minor changes to the Fall control of the scheduling process; and/or (4)
2008 model. As more experienced is gained they prefer not to share the details of their
with the process, it may take even less time to scheduling process with someone outside of
prepare a high-quality schedule in the future. their own department.
Besides reducing the time required to In the future, it would also be desirable
generate high-quality schedules, running the to examine the rescheduling problem, i.e., how
model has had other benefits. First, it has kept to alter an existing schedule after something has
our schedule completely within the departments changed, such as a tenured or tenure-track
block allocation (a claim not many other faculty member being awarded a sabbatical or a
departments can make), eliminating the need for course release late in the planning cycle. What
staff to spend time looking for additional rooms is the best way to repair the current schedule so
to accommodate our classes. Second, its made as to minimize changes from the current
the scheduling process more transparent to DS schedule? Should change be defined in terms
faculty, who now better appreciate how difficult of the number of instructors whose schedule
it really is to develop a feasible schedule. They changes, the number of classes that are assigned
may even perceive the scheduling process as to a different instructor or block, or some other
more objective and fair than the previous manual measure? The answer may depend on whether
approach. the rescheduling is done before or after students
have registered for classes, and will likely
V. CONCLUSION AND FUTURE WORK require considerable discussion and
experimentation.
One possible area to investigate further is
whether or not a nonlinear objective function (a VI. REFERENCES
more natural choice to ensure back-to-back
assignments of courses) would actually improve Burke, E. K., and S. Petrovic, Recent Research
the quality of the schedules found. If I had a Directions in Automated Timetabling,
nonlinear solver, I could determine whether or European Journal of Operational Research,
Vol. 140 (2), 2002, 266-280.
91
Saltzman
An Optimization Model for Scheduling Classes in a Business School Department
Deris, S., Omatu, S., and H. Ohta, Timetable Administration, Interfaces, Vol. 32 (6),
Planning Using the Constraint-Based 2002, 45-57.
Reasoning, Computers and Operations ILOG, ILOG OPL Studio 3.5 Users Manual,
Research, Vol. 27 (9), 2000, 819-840. ILOG, Gentilly, France, 2001.
Dimopoulou, M. and P. Miliotis, Lustig, I. and Puget, J., Program Does Not
Implementation of a University Course and Equal Program: Constraint Programming and
Examination Timetabling System, its Relationship to Mathematical
European Journal of Operational Research, Programming, Interfaces, Vol. 31 (6), 2001,
Vol. 130 (1), 2001, 202-213. 29-53.
Ferland, J. A. and C. Fleurent, SAPHIR: A Martin, C. H., Ohio Universitys College of
Decision Support System for Course Business Uses Integer Programming to
Scheduling, Interfaces, Vol. 24 (2), 1994, Schedule Classes, Interfaces, Vol. 34 (6),
105-115. 2004, 460-465.
Foulds, L. R. and D. G. Johnson, SlotManager: Schaerf, A., A Survey of Automated
A Microcomputer-Based Decision Support Timetabling, Artificial Intelligence Review,
System for University Timetabling, Vol. 13 (2), 1999, 87-127.
Decision Support Systems, Vol. 27 (4), Schmidt, G. and T. Strohlein, Timetable
2000, 367-381. Construction - An Annotated Bibliography,
Glassey, C. R. and M. Mizrach, A Decision The Computer Journal, Vol. 23 (4), 1980,
Support System for Assigning Classes to 307-316.
Rooms, Interfaces, Vol. 16 (5), 1986, 92- Shih, W. and J. Sullivan, Dynamic Course
100. Scheduling for College Faculty via Zero-One
Hinkin, T. R. and G. M. Thompson, Programming, Decision Sciences, Vol. 8
SchedulExpert: Scheduling Courses in the (4), 1977, 711-721.
Cornell University School of Hotel Skiscim, C., OPL Studio 3.1, OR/MS Today,
Vol. 28 (2), 2001, 70-72.
92