Sei sulla pagina 1di 2

A Practical Timetabling Algorithm for

College Lecture-Timetable Scheduling

Kyoung-Soon Hwang, Keon Myung Lee, and Joongnam Jeon

School of Electric and Computer Engineering, Chungbuk National University,


and Advanced Information Technology Research Center(AITrc) , Korea
kmlee@cbnu.ac.kr

Abstract. A college timetable is a temporal arrangement of a set of


classes and classrooms which all given constraints are satisfied. Time-
tabling has long been known to belong to the class of problems called NP-
hard. This paper introduces a practical timetabling algorithm capable of
taking care of both strong and weak constraints effectively, used in an
automated timetabling system for a 2-year college. It presents what kind
of the hard and soft constraints are imposed on the timetabling at the
college and how to deal with them. It explains the data structures used to
check the constraints. It also present the strategies for scheduling courses
and for allocating classrooms to courses in the timetables. It shows some
experiment results obtained in the application of the proposed algorithm
to the college timetabling.

1 Introduction
Even though most college administrative works have been computerized, the
lecture-timetable scheduling is still mostly done manually due to its inherent
difficulties. The manual lecture-timetable scheduling demands considerable time
and efforts. The lecture-timetable scheduling is a constraint satisfaction problem
in which we find a solution that satisfies the given set of constraints.
The college lecture-timetabling problem asks us to find some time slots and
classrooms which satisfy the constraints imposed on offered courses, instructors,
classrooms, and so on. Therefore, the variables to be instantiated are times
slots and classrooms of offered courses. Since the problem is a combinatorial
optimization problem belonging to NP-hard class, the computation time for
timetabling tends to grow exponentially as the number of variables gets larger.
There have been a number of approaches made in the past decades to the
problem of constructing timetables for colleges and schools. Timetabling prob-
lems may be solved by different methods inherited from operations research such
as graph coloring[2] and mathematical programming[6], from local search proce-
dures such as tabu search and simulated annealing[8], from genetic algorithms[3],
or from backtracking-based constraint satisfaction manipulation [4, 5, 7].


This work has been supported by Korea Science and Engineering Foundation through
AITrc.

M.Gh. Negoita et al. (Eds.): KES 2004, LNAI 3215, pp. 817–825, 2004.

c Springer-Verlag Berlin Heidelberg 2004
818 K.-S. Hwang et al.

We have developed an automated timetabling system for a 2-year college


which provides lectures for both daytime students and night time students who
work in daytime. In the developed system, we formulated the timetabling prob-
lem as a constraint satisfaction problem and proposed a practical timetabling
algorithm capable of taking care of both strong and weak constraints and finding
variables’ instantiation, which is based on the backtracking search[9].

2 Problem Formulation
The considered college is a two-year school who has the following characteris-
tics on her course administration. The college offers courses for both daytime
students and night time students who have jobs during daytime. The classes for
daytime students are scheduled in the weekday’s daytime and Saturday morn-
ing. The courses for night time students are scheduled in the weekday nights and
Saturday afternoon. The type of lectures are either theory lecture, seminars, or
practicals. The class size of theory lectures is either 40 or 80. The seminar and
practical classes have the size 40. A time slot is a 60 minutes interval. For the-
ory and seminar classes, 1 slot time corresponds to 1 credit, and 1 credit for
practicals takes 2 slots time.
Once an instructor decides to offer a course for a specific year-session of a
department, an offered course Xi takes place in the timetabling problem, which
is expressed as a tuple of attributes (course, credits, department, instructor,
year, section, class-group, course-type, lecture-type, T imeSlots, Rooms). Except
T imeSlots and Rooms, all attributes of Xi are determined at the time the course
is decided to be offered. Both T imeSlots and Rooms are list fields to contain
assigned time slots and classrooms for the course Xi . To indicate an attribute
attr of an offered course Xi , we use the notation Xi .attr.
The time slots are assigned from 9 AM to 1AM for weekdays and from 9AM
to 6PM Saturday. The 1st to 10th time slots of weekday and the 1st to 5th time
slots of Saturday are for daytime student courses, the 11th to 6th time slots of
weekday and the 6th to 10th time slots are for night time student courses. The
daytime time slots are labeled as Ti (i = 1 . . . 55). The night time slots are
labeled as Ni (i = 1 . . . 35).
There are various constraints to be satisfied at the time to instantiate vari-
ables about time slots and classrooms. The constraints can be categorized into
strong and weak constraints as follows:
Strong Constraints
C1 : A classroom is not assigned to more than one lecture at the same time.
C2 : An instructor cannot teach more than one class at the same time.
C3 : Courses for the same year-session students of a department cannot take
place at the same time.
C4 : The classroom for a course should have enough capacity to take students
registered in the course.
C5 : The classroom should be well equipped with required facilities for the
classes.

Potrebbero piacerti anche