ArticlePDF Available

A Survey of Automated Timetabling

Authors:

Abstract

The timetabling problem consists in fixing a sequence of meetings between teachers and students in a prefixed period of time (typically a week), satisfying a set of constraints of various types. A large number of variants of the timetabling problem have been proposed in the literature, which differ from each other based on the type of institution involved (university or high school) and the type of constraints. This problem, that has been traditionally considered in the operational research field, has recently been tackled with techniques belonging also to artificial intelligence (e.g. genetic algorithms, tabu search, simulated annealing, and constraint satisfaction). In this paper, we survey the various formulations of the problem, and the techniques and algorithms used for its solution. AMS Subject Classification: 68M20, 68T20 CR Subject Classification: I.2.8, F.2.2, G.2.1 Keywords & Phrases: Timetabling, Heuristics, Combinatorial optimization, Scheduling, Local search techniques Note: This work has been carried out as part of the ERCIM fellowship Programme and financed by the Commission of the European Communities. 1
A Survey of Automated Timetabling
A. Schaerf
Dipartimento di Informatica e Sistemistica
Universit`a di Roma “La Sapienza”
Key words: Timetabling, Combinatorial Optimization, Scheduling, Local Search,
Heuristics
Abstract. The timetabling problem consists in scheduling a sequence of lectures
between teachers and students in a prefixed period of time (typically a week), satisfy-
ing a set of constraints of various types. A large number of variants of the timetabling
problem have been proposed in the literature, which differ from each other based on
the type of institution involved (university or school) and the type of constraints.
This problem, that has been traditionally considered in the operational research
field, has recently been tackled with techniques belonging also to Artificial Intel-
ligence (e.g., genetic algorithms, tabu search, and constraint satisfaction). In this
paper, we survey the various formulations of the problem, and the techniques and
algorithms used for its solution.
1. Introduction
The timetabling problem consists in scheduling a sequence of lectures
between teachers and students in a prefixed period of time (typically a
week), satisfying a set of constraints of various types.
The manual solution of the timetabling problem usually requires
many person-days of work. In addition, the solution obtained may be
unsatisfactory in some respect; for example a student may not be able
to take the courses he/she wants because they are scheduled at the
same time.
For the above reason, a considerable attention has been devoted
to automated timetabling. During the last thirty years, starting with
(Gotlieb, 1963), many papers related to automated timetabling have
been published in conferences proceedings and journals. In addition,
several applications have been developed and employed with a good
success.
In this section, we informally describe the timetabling problem and
the issues associated with it. In the subsequent sections, we state the
problem precisely and discuss its solution techniques.
1.1. Different problems and formulations
A large number of variants of the timetabling problem have been pro-
posed in the literature, which differ from each other based on the type
2 A. SCHAERF
of institution involved (university or school) and the type of constraints.
We classify the timetabling problems into three main classes:
School timetabling: The weekly scheduling for all the classes of a
school, avoiding teachers meeting two classes at the same time,
and vice versa;
Course timetabling: The weekly scheduling for all the lectures of
a set of university courses, minimizing the overlaps of lectures of
courses having common students;
Examination timetabling: The scheduling for the exams of a set
of university courses, avoiding overlap of exams of courses having
common students, and spreading the exams for the students as
much as possible.
Based on this classification, we develop a separate discussion for each
of the three problems and we devote a section to each of them. How-
ever, such classification is not strict, in the sense that there are some
specific problems that can fall between two classes, and cannot be eas-
ily placed within the above classification. For example, the timetabling
of a specific school which gives large freedom to the student regarding
the set of courses can be similar to a course timetabling problem.
1.2. Feasibility, optimality, and complexity
In some cases, the timetabling problem consists of finding any timetable
that satisfies all the constraints. In these cases, the problem is formu-
lated as a search problem.
In other cases, the problem is formulated as an optimization prob-
lem. That is, what is required is a timetable that satisfies all the hard
constraints and minimizes (or maximizes) a given objective function
which embeds the soft constraints. As shown later, in some approach-
es, the optimization formulation is just a means to apply optimization
techniques to a search problem. In this case, what is minimized is the
so-called distance to feasibility. Even when the problem is a true opti-
mization problem, the distance to feasibility may be included in the
objective function. This is generally done to facilitate the search for
the best solution.
In both cases (search and optimization), we define the underlying
problem, which is the problem of deciding if there exists a solution,
in the case of a search problem, and the problem of deciding if there
exists a solution with a given value of the objective function, in the case
of an optimization problem. When we mention the complexity of the
problem, we refer to the complexity of the underlying decision problem.
paper.tex; 1/02/1999; 16:48; no v.; p.2
A SURVEY OF AUTOMATED TIMETABLING 3
As we will see later in the paper, the underlying problem is NP-
complete in almost all variants. Therefore, an exact solution is achiev-
able only for small cases (e.g., less than 10 courses), whereas real
instances usually may involve a few hundreds of courses. It follows
that only heuristic methods (Pearl, 1984) are feasible, which have not
guaranteed to reach the (optimal) solution.
1.3. Solution approaches
Most of the early techniques (see Schmidt and Strohlein, 1979) were
based on a simulation of the human way of solving the problem. All
such techniques, that we call direct heuristics, were based on a suc-
cessive augmentation. That is, a partial timetable is extended, lecture
by lecture, until all lectures have been scheduled. The underlying idea
of all approaches is “schedule the most constrained lecture first”, and
they differ only on the meaning they give to the expression ‘most con-
strained’.
Later on, researchers started to apply general techniques to this
problem. We therefore see algorithms based on integer programming,
network flow, and others. In addition, the problem has also been tackled
by reducing it to a well-studied problem: graph coloring.
More recently, some approaches based on search techniques used
also in Artificial Intelligence appeared in the literature; among oth-
ers, we have simulated annealing, tabu search, genetic algorithms, and
constraint satisfaction.
In this paper, we survey the solution techniques, putting the empha-
sis on the most recent approaches in general, and on Artificial Intelli-
gence techniques in particular.
Notice that we include in our list of techniques also some items,
e.g., logic programming, that are general tools for the development of
the solution, rather than real solution techniques. In those cases, we
specify also the technique implemented using the given tool.
1.4. Previous surveys
The literature on timetabling includes several surveys. We now briefly
discuss their scope and contribution.
Schmidt and Strohlein (1979) provide an annotated bibliography
including more than 200 entries, listing virtually all papers on the field
that appeared up to 1979.
Junginger (1986) describes the research in Germany on the school
timetabling problem. In particular, he describes the various software
products implemented, and their actual utilization by the staffs of the
paper.tex; 1/02/1999; 16:48; no v.; p.3
4 A. SCHAERF
institutions. The paper also describes the underlying approaches, most
of which are based on direct heuristics.
De Werra (1985) states the various problems in a formal way, and
provides different formulations for them. He also describes the most
important approaches to the problem (up to date), stressing the graph-
theoretic ones. We follow mostly his paper for the terminology and the
problem formulations.
Carter (1986) surveys the approaches to the examination timetable
problem. He mainly focuses on the approaches based on the reduction
to the graph coloring problems.
Corne et al. (1994a) provide a survey of the application of genetic
algorithms to timetabling. The paper discusses also future perspectives
of such approach, and compares its results obtained so far with respect
to some other approaches.
Other surveys are given in (Dempster et al., 1973; Hilton, 1981;
Klein, 1983; Vincke, 1984; Ferland et al., 1986).
There is also a Web page and a mailing list for the timetabling
community, which includes bibliographies and papers.
1
1.5. Interactive vs. batch timetabling
Many authors believe that the timetabling problem cannot be com-
pletely automated. The reason is twofold: On the one hand, there are
reasons that make one timetable better than another one that cannot
easily be expressed in an automatic system. On the other hand, since
the search space is usually huge, a human intervention may bias the
search toward promising directions that the system by itself might be
not able to find. For the above reasons, most of the systems allow the
user at least to adjust manually the final output. Some systems how-
ever require a much larger human intervention, so that we call them
interactive (or semi-automatic) timetabling systems.
The systems described in (Klingen, 1981; Chahal and de Werra,
1989; Dinkel et al., 1989; Wong and Ng, 1990; Mathaisel and Comm,
1991; Boufflet et al., 1995) are examples of interactive systems.
In this paper, we do not deal with the issues specifically related to
interactive systems, and we concentrate on batch systems.
1.6. Outline of the paper
In Sections 2, 3, and 4 we discuss in detail school timetabling, course
timetabling, and examination timetabling, respectively. In Section 5,
1
The URL is http://tawny.cs.nott.ac.uk/ASAP/ttg/resources.html and the
mail addresses are ttp-request@Cs.Nott.AC.UK and ttp@Cs.Nott.AC.UK.
paper.tex; 1/02/1999; 16:48; no v.; p.4
A SURVEY OF AUTOMATED TIMETABLING 5
we discuss some general issues that are common to all three problems.
In Section 6, we briefly describe some related problems. In Section 7,
we discuss some possible research directions.
Some of the techniques described in Sections 2, 3, and 4 are sketched
in the appendices.
2
In particular, Appendix A describes the graph color-
ing problem and the main approaches to its solution. Appendices B, C,
and D illustrate three general techniques for the solution of optimiza-
tion problems, namely tabu search, simulated annealing, and genetic
algorithms.
2. School timetabling
In this section, we describe in detail the school timetabling problem,
also known as class/teacher model. We start by describing a simplified
version, which can be solved in polynomial time; thereafter, we move
to the basic formulation. It is still not a “real” problem, but it has the
minimal set of constraints that makes it a hard problem, and its solu-
tion requires the heuristic techniques employed also for the more com-
plex cases. Subsequently, we introduce the corresponding optimization
problem, and describe some of its variants considered in the literature.
Finally, we discuss solution techniques and approaches.
2.1. Simplified polynomial problem
Let c
1
, . . . , c
m
be m classes, t
1
, . . . , t
n
be n teachers and 1, . . . , p be p
periods. We are also given a non-negative integer matrix R
m×n
, called
Requirements matrix, where r
ij
is the number of lectures given by teach-
er t
j
to class c
i
.
The problem consists in assigning lectures to periods in such a way
that no teacher or class is involved in more than one lecture at a time.
The mathematical formulation is as follows (de Werra, 1985):
TTP1 find x
ijk
(i = 1..m; j = 1..n; k = 1..p)
s.t.
p
X
k=1
x
ijk
= r
ij
(i = 1..m; j = 1..n) (1)
n
X
j=1
x
ijk
1 (i = 1..m; k = 1..p) (2)
2
We discuss such topics in the appendices because such techniques are used for
more than one case and we want Sections 2, 3, and 4 to be independent of each
other.
paper.tex; 1/02/1999; 16:48; no v.; p.5
6 A. SCHAERF
m
X
i=1
x
ijk
1 (j = 1..n; k = 1..p) (3)
x
ijk
= 0 or 1 (i = 1..m; j = 1..n; k = 1..p) (4)
where x
ijk
= 1 if class c
i
and teacher t
j
meet at period k, and x
ijk
= 0
otherwise.
Constraints (1) ensure that each teacher gives the right number of
lectures to each class. Constraints (2) (resp. Constraints (3)) ensure
that each teacher (resp. class) is involved in at most one lecture for
each period.
Even et al. (1976) prove that there exists always a solution of this
problem, unless a teacher or a class is required to be involved in more
than p lectures. More precisely, there exists a solution if and only if
m
X
i=1
r
ij
p (j = 1..n) (5)
n
X
j=1
r
ij
p (i = 1..m) (6)
In order to solve TTP1, we may associate to an instance of the
problem a bipartite multigraph: Classes and teachers are associated to
vertices, and each class c
i
is linked to each teacher t
j
by r
ij
parallel
edges. The solution technique employed in (Even et al., 1976) is based
on finding a sequence of maximal matchings in the resulting bipartite
multigraph, where a matching is a set of edges with no common nodes.
Regarding the complexity of the method, Hopcroft and Karp (1973)
prove that the required matching can be found in polynomial time with
respect to the size of the multigraph. Since the method in (Even et al.,
1976) requires p matchings, and the size of the multigraph involved is
polynomial w.r.t. n, m, p, the whole method runs in polynomial time.
Alternatively, the problem can be reduced to a problem of edge col-
oring on graphs (de Werra, 1985): Given p colors (each period corre-
sponding to a color), the problem consists of finding an assignment of a
color to each edge such that no two adjacent edges have the same color.
Thereafter, the variable x
ijk
gets value 1 if one of the edges between c
i
and t
j
gets color k.
De Werra considers also some variants of TTP1 which are still solv-
able in polynomial time. He considers the possibility that a teacher
(and a class) can be involved in more than one lecture for each period.
In such variant a period represents not an atomic time slot but a set of
them (for example, a day). He also considers the case in which the lec-
tures are constrained so that they must be spread as much as possible
throughout all the periods.
paper.tex; 1/02/1999; 16:48; no v.; p.6
A SURVEY OF AUTOMATED TIMETABLING 7
2.2. Basic search problem
The problem TTP1 does not include any constraints on the possible
scheduling of the lectures. In real instances, instead, we must take into
account the possibility that a teacher (or a class) is unavailable at a
given time.
We now introduce the school timetabling problem with unavail-
abilities of teachers and classes. The following formulation is due to
(Junginger, 1986); alternative ones can be found for example in (Even
et al., 1976; de Werra, 1985; Garey and Johnson, 1979, SS19, p. 243).
Junginger introduces two binary matrices T
m×p
and C
n×p
such that
t
ik
= 1 (resp. c
jk
= 1) if teacher t
i
(resp. class c
j
) is available at peri-
od k, and t
ik
= 0 (resp. c
jk
= 0) otherwise. Thereafter, he replaces
Constraints (2) and (3) in TTP1 by Constraints (7) and (8) as below:
TTP2 find x
ijk
(i = 1..m; j = 1..n; k = 1..p)
s.t.
p
X
k=1
x
ijk
= r
ij
(i = 1..m; j = 1..n)
n
X
j=1
x
ijk
t
ik
(i = 1..m; k = 1..p) (7)
m
X
i=1
x
ijk
c
jk
(j = 1..n; k = 1..p) (8)
x
ijk
= 0 or 1 (i = 1..m; j = 1..n; k = 1..p)
De Werra (1985) considers also constraints due to preassignments:
A particular lecture can be imposed to be scheduled at a given time.
Preassignments can be expressed adding a set of constraints of the
following form
x
ijk
p
ijk
(i = 1..m; j = 1..n; k = 1..p) (9)
where p
ijk
= 0 if there is no preassignment, and p
ijk
= 1 when a lecture
of teacher t
j
to class c
i
is preassigned to period k. de Werra also shows
that unavailability can be expressed as preassignments with dummy
classes or teachers.
The problem TTP2 has been shown NP-complete by Even et al.
(1976) through a reduction from 3-SAT (Garey and Johnson, 1979,
LO2, p. 259). Even et al. also prove that the problem is polynomial for
the special case in which classes are always available and each teacher
is available for exactly two periods.
paper.tex; 1/02/1999; 16:48; no v.; p.7
8 A. SCHAERF
2.3. Optimization problem
The problem TTP2 is a search problem, whose solution is any feasi-
ble timetable. However, in real applications a feasible timetable can
be better than another one, and the goal is to find the optimal one.
This consideration forces us to formulate the timetabling problem as
an optimization problem with an objective function to minimize (or
maximize).
Junginger (1986) proposes to add to the basic problem TTP2 the
following objective function
min
m
X
i=1
n
X
j=1
p
X
k=1
d
ijk
x
ijk
(10)
where a large d
ijk
is assigned to periods k in which a lecture of teacher
t
j
to class c
i
is less desirable.
Colorni et al. (1992) introduce a more complex objective function,
which includes several aspects of the timetable. We don’t show such
function in detail here, we just mention that it is based on the following
quantities (with decreasing weight):
the didactic cost: e.g., spreading the lectures over the whole week;
the organizational cost: e.g., having a teacher available for possible
temporary teaching posts;
the personal cost: e.g., a specific day-off for each teacher.
A different approach is taken in (Yoshikawa et al., 1996). They intro-
duce a constraint language, and associate a penalty for each constraint
violated. Their objective is to minimize the overall penalty. As an exam-
ple of constraint violation, they consider the possibility that a teacher
is forced to teach in a period in which he/she is not available.
2.4. Variants of the problem
Several variants of the above basic problem have been proposed in the
literature so as to deal with real-life problems. We now list some of the
most popular ones.
2.4.1. Simultaneous lectures
Real timetables usually include some lectures that are simultaneous-
ly given to more than one class. For example, in some high schools
a gymnastic lesson generally involves two classes together. Obviously,
paper.tex; 1/02/1999; 16:48; no v.; p.8
A SURVEY OF AUTOMATED TIMETABLING 9
if a simultaneous lesson is scheduled at a given time, all the class-
es involved cannot be scheduled for any other lectures at that time.
Simultaneous lessons are taken into account in (Yoshikawa et al., 1996;
Schaerf, 1996b).
2.4.2. Teachers for more than one subject
So far we have assumed that a class must take a number of lectures
with a set of specific teachers. Cooper and Kingston (1993), instead,
consider the case that a class must take some specific subjects, and that
different teachers may teach the same subject. In addition, a teacher
may teach different subjects. However, they assume that all the lectures
to a specific class of a given subject are given by the same teacher.
2.4.3. Uncovered classes
Especially in primary schools, it is required that classes are not left
“uncovered” during certain periods.
In some schools, the sum of the requirements for the classes exactly
equals p the number of periods. In these cases, classes are necessarily
always covered. Conversely, if the requirements of a class are less than
p, then it is usually required that classes can be uncovered only in the
first or the last period of the day.
In (Schaerf, 1996b) such constraint is taken into account in the fol-
lowing way: For each class it is given a set of period in which it must
be necessarily involves in one lecture, whereas it can be uncovered foe
the others.
2.4.4. Special rooms
The availability of rooms is not taken into account in the basic prob-
lem because of the implicit assumption that each class has a dedicated
room. However, some particular lectures may require special equip-
ments, such as science labs or music rooms. The number of special
rooms is obviously limited, and therefore, there is the additional con-
straint that no more than a given number of lectures requiring a special
room can be scheduled at the same period.
2.5. Solution techniques and approaches
We now list the solution techniques and approaches proposed in the
literature. For this list, we roughly follow the chronological order.
As mentioned in Section 1.3, we distinguish between techniques and
approaches; with the term technique we mean an algorithm or a set of
algorithms for the solution of the problem (e.g., genetic algorithms).
paper.tex; 1/02/1999; 16:48; no v.; p.9
10 A. SCHAERF
An approach instead is a general framework for the development of a
solution algorithm (e.g., constraint logic programming).
2.5.1. Direct heuristics
Direct heuristics usually fill up the complete timetable with one lecture
(or one group of lectures) at a time as far as no-conflicts arise. At that
point they start making some swapping so as to accommodate other
lectures.
A typical example of this method is the system SCHOLA described
in (Junginger, 1986). The system is based on the following three strate-
gies:
A: Assign the most urgent lecture to the most favorable period for that
lecture.
B: When a period can be used only for one lecture, assign the period
to that lecture.
C: Move an already-scheduled lecture to a free period so as to leave
the period for the lecture that we are currently trying to schedule.
A lecture is “urgent” when it is tightly constrained; that is, when the
teacher (and the class) has little availability and many lectures to give.
A period is “favorable” when few other lectures can be scheduled at
that period based on the availability of the other teachers and classes.
The system SCHOLA schedules the lectures alternating Strategies
A and B as much as possible. When no more lecture can be scheduled
in this way, it starts using Strategy C.
Strategy A is the core of the system, and it is employed almost in
all systems, with different way of defining urgency and favorableness.
The use of Strategy B might prevent Strategy A to enter in dead-ends.
Strategy C provides a limited form of backtracking to recover from the
“mistakes” of Strategy A.
Many of the early papers propose some direct heuristics for the
solution of the timetable problem. We refer to (Schmidt and Strohlein,
1979) for a comprehensive list of such algorithms up to that date.
The algorithm in (Papoulias, 1980) can also be considered a direct
heuristics. Such paper stresses on the requirement that lectures must
be spread across days. The favorableness of a period for a lecture is
therefore based also on the fact that another lecture of the same teacher
to the same class has not been already assigned to a consecutive day.
2.5.2. Reduction to graph coloring
Neufeld and Tartar (1974) propose a reduction to the graph coloring
problem (Appendix A). In their reduction, each lecture is associated
paper.tex; 1/02/1999; 16:48; no v.; p.10
A SURVEY OF AUTOMATED TIMETABLING 11
with a vertex in a graph, and there is an edge between each pair of lec-
tures that cannot be scheduled at the same time. In particular, lectures
that share a common teacher or a common class (or both) are joined.
Unavailabilities and preassignments are managed imposing some exter-
nal constraints on the colorability of specific vertices of the graph.
A coloration of the resulting graph, respecting the external con-
straints, can be easily turned into a timetable, by assigning a period to
each color, and consequently scheduling the lectures corresponding to
a vertex to the period corresponding to its color.
In addition, Neufeld and Tartar show that the problem of the col-
oration of a graph with the given type of external constraints can be
transformed into the colorability of a graph without any constraints.
2.5.3. Network flow techniques
Ostermann and de Werra (1983) reduce the timetabling problem to a
sequence of network flow problems. The general network model can be
formulated as follows:
min
m
X
j=1
c
j
x
j
,
s.t. Ax = b,
l x u
where A
n×m
is the vertex edge incidence matrix, b
n×1
is the vector of
supplies, and u
1×m
, l
1×m
are vectors of capacities and lower bounds.
Ostermann and de Werra create a network for each period so that
the flow in the network identifies the lectures given in that period. De
Werra (1985) proposes a similar method creating a network for each
class. We now briefly describe the latter one.
For a given class c
i
do the following steps: (i) introduce a vertex for
each period k and each teacher t
j
; (ii) connect k with t
j
if teacher t
j
is
available at period k and he/she has not been assigned to another class
for period k in a previous network; (iii) introduce a source vertex s
with edges (s, k) for all periods k and a sink vertex t with edges (t
j
, t)
for all teachers t
j
; (iv) set both the capacities u(t
j
, t) and the lower
bounds l(t
j
, t) to r
ij
; (v) for all other edges u = 1 and l = 0.
The solution of the network, which is always integer due to the total
unimodularity property (Papadimitriou and Steiglitz, 1982, pp. 316–
318), gives a schedule for all the lectures for the given class.
The construction of the network is repeated for all classes and even-
tually, if a solution is found for all networks, it leads to a complete
timetable. Obviously, since there is no backtracking on the classes
paper.tex; 1/02/1999; 16:48; no v.; p.11
12 A. SCHAERF
already scheduled, we have no guarantee that the solution is found
whenever it exists.
A network flow approach has been recently used by Ikeda et al.
(1995) for the implementation of the Secta system.
2.5.4. Genetic algorithms
A genetic algorithm (Appendix D) has been applied to the school
timetabling problem by Colorni et al. (1992). They consider the opti-
mization problem with the objective function mentioned in Section 2.3.
Infeasible timetables are also included in the search space of the algo-
rithms. The objective function embeds the number of infeasibilities. In
order to bias the search toward feasible timetables the infeasibilities
are given a very high weight in the objective function w.r.t. other con-
straints.
A solution is represented as a matrix M
m×p
such that the row i
th
of
M represents the timetable for teacher t
i
. In particular, each entry m
ik
contains the name of the class that the teacher is meeting at period k.
The crossover operator is applied to two timetables T
1
and T
2
in the
following way: There is a local fitness function that computes the fitness
of the schedule of a specific teacher. The rows of T
1
are sorted in order
of decreasing local fitness and the best k rows are taken together with
the other m k rows taken from T
2
. The second offspring is obtained
from the unutilized rows of T
1
and T
2
. The value of k is determined on
the basis of the local fitness of both T
1
and T
2
.
The mutation operator takes h contiguous genes and swaps them
with another h contiguous non-overlapping ones belonging to the same
row. The algorithm includes also a local search phase that moves a
solution to its local optimum.
Genetic algorithm have been more extensively applied for exam
timetabling. See Section 4.4.4 for more cases of applications of genetic
algorithms to timetabling problems.
2.5.5. Simulated annealing
Abramson (1991) applies simulated annealing (Appendix C) to school
timetabling. He also considers, as an extension, the possibility that two
different classes may have common students. With this extension, his
framework may fall also into the course timetabling category.
A solution is described by a list of sets of lectures, one list for each
period. Given a solution, the choice of the neighbor solution is per-
formed by selecting at random a period and a lecture in the selected
period, and moving the lecture to a different period randomly chosen.
paper.tex; 1/02/1999; 16:48; no v.; p.12
A SURVEY OF AUTOMATED TIMETABLING 13
The objective function f (to be minimized) is a weighted sum of the
number of conflicts of classes and conflicts of teachers.
3
Abramson chooses a cooling rate of 0.9, although he experimented
also with various other values. The number of iterations performed is
on the order of three millions.
2.5.6. Logic programming approach
Kang and White (1992) propose the logic programming approach to the
school timetable problem. In particular, they use prolog as the imple-
mentation language for their timetabling program. The main advantage
of this approach is the ability to express in a declarative way the con-
straints involved in the problem.
The full backtracking capability of the prolog machine is overrid-
den by a heuristics that allows only for a limited attempt to resched-
ule assignments that create conflicts. In particular, when a lecture
becomes unschedulable, the procedure finds an “equivalent” (defined
in the paper) lecture already scheduled and reassigns it to a different
period (similarly to Strategy C of Section 2.5.1). If no equivalent lec-
ture can be moved to a different period, leaving a feasible period for
the currently-processed lecture, it is put into a list of lectures which
will be manually scheduled later.
2.5.7. Constraint-based approach
The work in (Yoshikawa et al., 1996) proposes the use of a general-
purpose Constraint Relaxation Problem solver, called Coastool. In
a constraint relaxation problem, a given penalty is assigned to each
constraint and the objective is to find an assignment of the problem
variables that minimizes the total penalty.
The constraint language allows the user to express several types of
constraints. For example, it is possible to express the unavailabilities
of a given teacher. The following constraint states that the set lectures
of the teacher Smith, identified by the set SmithLessons, cannot take
place during the set of period representing the unavailabilities of Smith,
identified by the set SmithAbsence.
(define-constraint PartTimerSmith
:object ((:set lesson SmithLessons))
:variables ((v lesson))
:condition (not (is-a v SmithAbsence))
:penalty 10)
The solution method combines a greedy algorithm for finding an ini-
tial solution and a hill-climbing procedure for the optimization phase
3
The paper also considers conflicts of rooms. We discuss room assignment in
Section 3.
paper.tex; 1/02/1999; 16:48; no v.; p.13
14 A. SCHAERF
(Minton et al., 1992). The employment of a smart greedy algorithm,
called Really-Fully-Lookahead algorithm, for the initialization phase,
and a strongly biased optimization algorithm, for the optimization
phase, allows the method to find a high-quality solution in a reasonable
amount of time.
Constraint logic programming languages have been extensively used
for course timetabling problems. See Section 3.4.6 for their presenta-
tion.
2.5.8. Tabu search
Costa (1994), Alvarez-Valdes et al. (1996), and Schaerf (1996b) apply
tabu search (Appendix B) to a quite standard high school timetabling
problem. Alvarez-Valdes et al. (1996) and Schaerf (1996b) also experi-
ments with complex move types and with combinations of tabu search
with other local search techniques.
The representation chosen by Schaerf (1996b) is the same as (Colorni
et al., 1992), that is a solution is represented as a matrix M
m×p
such
that each entry m
ik
contains the name of the class that the teacher
is meeting at period k. A move consists in exchanging two lectures
for a given teacher or moving a lecture to a different period. Costa
(1994) instead employs a different type of move. That is, he allows
only for the reassignment of a single lecture to a different period. In
his representation, however, a single teacher can teach more than one
lecture at the same time, therefore a swap of assignments for a single
teacher can be done in two consecutive moves letting both assignment
in the same period at the intermediate step.
Tabu search has been previously applied to course scheduling in
(Hertz, 1991; Hertz, 1992). See Section 3.4.4 for a more detail presen-
tation of the application of tabu search to timetabling problems.
2.5.9. Combination of methods
The algorithm in (Cooper and Kingston, 1993) combines several heuris-
tics. As a core strategy, it uses a form of bipartite graph matching, that
they call meta-matching.
The algorithm identifies groups of lectures that must be scheduled
all at different times, which are called meeting-sets. Thereafter, it iter-
atively performs a matching between lectures belonging to a meeting
set, on one side, and the so-called prototimes on the other; the proto-
times are variable time slots that are later assigned to actual periods
in a successive phase.
The algorithm is improved by choosing among the possible assign-
ments those that assign as many lectures as possible to the prototimes
already used for previously scheduled meeting-sets. This enhancement
paper.tex; 1/02/1999; 16:48; no v.; p.14
A SURVEY OF AUTOMATED TIMETABLING 15
helps in finding a feasible timetable in presence of many large meeting-
sets.
As already mentioned, the cited paper solves an extension of the
basic problem which requires to deal with different interchangeable
resources, such as teachers and rooms. Actual resources are assigned
to lectures by a specific procedure. Such procedure, depending on the
number of resources involved may use a brute-force algorithm or a
covering technique called beam search.
3. University course timetabling
The university course timetabling problem consists in scheduling a set
of lectures for each course within a given number of rooms and time
periods. The main difference from the school problem is that university
courses can have common students, whereas school classes are disjoint
sets of students. If two courses have common students then they con-
flict, and they cannot be scheduled at the same period. Moreover, school
teachers always teach more than one class, whereas in universities, a
professor usually teaches only one course. In addition, in the universi-
ty problem, availability of rooms (and their size) plays an important
role, whereas in the school problem they are often neglected because,
in most cases, we can assume that each class has its own room.
We start describing the basic formulation of the problem. Thereafter,
we introduce the optimization problem and we discuss the variants of
the problem. Finally, we present the solution techniques and approach-
es.
3.1. Basic search problem
There are various formulations of the course timetabling problem (see
e.g., Tripathy, 1992). The one given here is taken from (de Werra,
1985).
There are q courses K
1
, . . . , K
q
, and for each i, course K
i
consists
of k
i
lectures. There are r curricula S
1
, . . . , S
r
, which are groups of
courses that have common students. This means that courses in S
l
must
be scheduled all at different times. The number of periods is p, and l
k
is the maximum number of lectures that can be scheduled at period k
(i.e. the number of rooms available at period k). The formulation is the
following:
TTP3 find y
ik
(i = 1..q; k = 1..p)
paper.tex; 1/02/1999; 16:48; no v.; p.15
16 A. SCHAERF
s.t.
p
X
k=1
y
ik
= k
i
(i = 1..q) (11)
q
X
i=1
y
ik
l
k
(k = 1..p) (12)
X
iS
l
y
ik
1 (l = 1..r; k = 1..p) (13)
y
ik
= 0 or 1 (i = 1..q; k = 1..p) (14)
where y
ik
= 1 if a lecture of course K
i
is scheduled at period k, and
y
ik
= 0 otherwise.
Constraints (11) impose that each course is composed of the correct
number of lectures. Constraints (12) enforce that at each time there
aren’t more lectures than rooms. Constraints (13) prevent conflicting
lectures to be scheduled at the same period.
Problem TTP3 can be shown to be NP-complete through a simple
reduction from the graph coloring problem.
A formulation equivalent to TTP3 is based on the conflicts matrix
instead of the curricula. The conflict matrix C
q×q
is a binary matrix
such that c
ij
= 1 if courses K
i
and K
j
have common students, and
c
ij
= 0 otherwise.
3.2. Optimization problem
De Werra (1985) includes the following objective function in the prob-
lem TTP3
max
q
X
i=1
p
X
k=1
d
ik
y
ik
where d
ik
is the desiderability of having a lecture of course K
i
at period
k.
Tripathy (1992) considers a conflict matrix C
q×q
with integer values,
such that c
ij
represents the number of students taking both courses K
i
and K
j
. In this way, c
ij
represents also a measure of dissatisfaction in
case a lecture of K
i
and a lecture of K
j
are scheduled at the same time.
Tripathy tries to minimize the global dissatisfaction obtained as the
sum of all the dissatisfactions of the above type.
Several authors, after (Eiselt and Laporte, 1987), split the require-
ments into hard and soft ones. The hard requirements are included in
the constraints and they define the search space, whereas the soft ones
are included in the objective function (see e.g., Aubin and Ferland,
1989). Soft requirements generally include event spreading constraints
and room capacity constraints.
paper.tex; 1/02/1999; 16:48; no v.; p.16
A SURVEY OF AUTOMATED TIMETABLING 17
3.3. Variants of the problem
We now briefly discuss some of the most common variants of the basic
problem proposed above.
3.3.1. Unavailabilities and preassignments
Preassignments and unavailability are not included in the basic model
of Section 3.1. They can be included in the model exactly in the same
way it was done in Section 2 for the school timetabling problem.
However, in the university case the problem is NP-complete even
without them. Therefore, unavailabilities and preassignments do not
add worst-case complexity as in the school case.
3.3.2. Multiple sections and grouping subproblem
In some universities, some courses are repeated more than once during
the week. In particular, those courses involving a large number of stu-
dents and belonging to several curricula are split into multiple sections.
The creation of different sections for a course may help to reduce the
number of conflicts in a timetable. For example, suppose that curricu-
lum S
1
involves courses K
1
and K
2
and curriculum S
2
involves courses
K
1
and K
3
. Suppose also that a lecture of K
2
takes place at time p
and a lecture of K
3
at time q. In this case, the lectures of course K
1
can take place neither at time p nor at time q. However, if course K
1
is given in two sections, then the lecture of one section can take place
at time p, and the lecture of the other section at time q.
Given a certain timetable, the problem of assigning the students
taking a particular curriculum to a specific section of a course in order
to minimize conflicts is called grouping subproblem (or student section-
ing).
The grouping subproblem is considered in (Laporte and Desroches,
1986; Aubin and Ferland, 1989; Hertz, 1991; Tripathy, 1992). We refer
to (Laporte and Desroches, 1986) for a mathematical formulation of
the grouping subproblem.
Laporte and Desroches (1986) take an approach analogous to the
one they take in (Laporte and Desroches, 1984) for the examination
timetabling (see Section 4). They formulate the problem as an opti-
mization problem splitting the requirements into hard and soft ones.
The hard requirements are: (i) A student cannot be in two lectures at
one time and (ii) a student cannot have two adjacent lectures in two
different campuses. Soft requirements include number of lectures in a
single day and changes of campus in a free hour.
paper.tex; 1/02/1999; 16:48; no v.; p.17
18 A. SCHAERF
The problem is then solved in two phases: In the first one the algo-
rithm searches for an admissible solution, whereas in the second one it
searches for a local optimum.
In those approaches that take into account the grouping subproblem,
the overall timetabling algorithm is based on the alternate solution of
the pure timetable problem and the grouping one. For example, Hertz
(1991) uses an iterative procedure that at each iteration solves both
problems, first the timetabling and thereafter the grouping subproblem.
3.3.3. Periods of variable length
So far we have considered all lectures of one-period length. Several
authors consider also lectures of different length.
In all approaches the lectures are allowed to last an integer number
of periods; for example, in (Ferland and Roy, 1985) lectures may last
one or two or three periods.
Therefore, for each lecture we have to consider both the starting time
and the length. In this case, Constraints (11) and (12) are replaced by
constraints that take into account the fact that two lectures l
i
and l
j
,
starting at time p and q > p, are conflicting also if q p < d
l
i
, where
d
l
i
is the length of lecture l
i
.
Hertz (1992) tackles the more general situation in which lectures
may have a variable length. In particular, Hertz allows one to specify
that a course is composed of a certain number of periods which can be
given in a variable number of lectures of different length. For example, a
course composed of twelve time periods may consist of lectures of two or
three time periods. In this case the course can be given in four, five or six
lectures of the following lengths: (3, 3, 3, 3), (2, 2, 2, 3, 3), (2, 2, 2, 2, 2, 2).
3.3.4. Classroom assignment subproblem
The classroom assignment subproblem consists in assigning classes to
rooms, given a fixed timetable. Carter and Tovey (1989) analyze in
detail this problem and give various alternative formulations and vari-
ants. They also show in which cases the problem is tractable and in
which it is NP-complete. In particular, they show that the problem
becomes NP-complete when we impose the constraint that all lectures
of a course must take place in the same room, whereas the problem is
polynomial if we consider the assignment in each period independent-
ly of the other periods. We refer to Carter and Tovey for the exact
formulation of this problem.
Ferland and Roy (1985) solve the classroom assignment subproblem
by a reduction to a quadratic assignment problem.
paper.tex; 1/02/1999; 16:48; no v.; p.18
A SURVEY OF AUTOMATED TIMETABLING 19
3.4. Solution techniques and approaches
We now list the solution techniques proposed in the literature. As we
did for the school timetabling problem, we try to follow the chronolog-
ical order.
3.4.1. Reduction to graph coloring
de Werra (1985) shows how to reduce a course timetabling problem to
graph coloring (Appendix A): Associate with each lecture l
i
of each
course K
j
a vertex m
ij
; for each course K
j
introduce a clique between
the vertices m
ij
(for i = 1, . . . , q). Introduce all edges between the clique
for K
j
1
and the clique for K
j
2
whenever K
j
1
and K
j
2
are conflicting.
In case of unavailabilities, introduce a set of p new vertices, each
one corresponding to a period. The new vertices are all connected to
each other. This ensures that each one is assigned to a different color.
If a course cannot have lectures at a given period, then all the vertices
corresponding to the lectures of the course are connected to the vertex
corresponding to the given period. Conversely, if a lecture must take
place at a given time, then the vertex corresponding to that class is
connected to all period vertices but the one representing the given
period.
The reduction to graph coloring is applied, among the others, in
(Selim, 1988).
3.4.2. Integer linear programming
Several authors solved the timetabling problem using integer linear
programming techniques (e.g., Breslaw, 1976, Shin and Sullivan, 1977,
McClure and Wells, 1984, Tripathy, 1984, Ferland and Roy, 1985, Tri-
pathy, 1992).
For example, Tripathy (1984) employs a Lagrangian Relaxation tech-
nique. In (Tripathy, 1992), he extends the technique to deal also with
the grouping subproblem.
Ferland and Roy (1985) formulate the problem as an assignment
problem, and solve it through a reduction to a quadratic assignment
problem.
3.4.3. Network flow techniques
Dyer and Mulvey, Mulvey, Chahal and de Werra, Dinkel et al. (1976,
1982, 1989, 1989) propose to use a network model as the core of the
timetabling algorithm. The general formulation of a network model can
be found in Section 2.5.3.
The network employed by Dinkel et al. contains three levels, plus a
source and a sink vertex. The first level is the Department Level which
paper.tex; 1/02/1999; 16:48; no v.; p.19
20 A. SCHAERF
includes a vertex for each department, such that all of these vertices
are connected to the source. The second level is the Faculty/Staff Level
which includes a vertex for each possible combination of teacher and
course taught by the teacher; these vertices are connected to the ver-
tices representing the departments to which the teachers belong. The
third level is the Room Size/Time Level, which contains a vertex for
each combination of room and time. Each vertex of this level is con-
nected to a vertex of the second level only if the size of the room
represented by the vertex in compatible with the number of students
of the course represented by the other vertex. An edge between levels
2 and 3 represents a possible lecture.
The capacities and the lower bounds of edges representing the lec-
tures are 0 and 1 respectively, and due to unimodularity, this ensures
that the optimal solution to the problem will possess all integer values.
The coefficients of the objective function are assigned based on avail-
abilities of teachers and rooms, and preferences of the teachers.
The network model can be solved in polynomial time; however it
does not prevent the solution from assigning a single teacher to multiple
lectures at the same time. The procedure therefore solves the problem
and, if it finds a feasible solution, the process is over, otherwise a human
intervention changes some of the weights manually so as to get rid of
the reason of infeasibility. The procedure is executed several times until
a feasible solution is obtained.
3.4.4. Tabu search
The tabu search technique (Appendix B) has been applied to university
course timetabling in (Hertz, 1991; Hertz, 1992). The work in (Hertz,
1991) considers the optimization problem with the grouping option,
whereas (Hertz, 1992) extends the approach to a more complex case
which takes into account also lectures of different length.
In (Hertz, 1991) the tabu search is applied to both the timetabling
problem and the grouping subproblem. We describe only the applica-
tion of tabu search to the pure timetabling problem. In addition, we
simplify the treatment in (Hertz, 1991), and we do not consider con-
straints involving the location of the lecture rooms.
The application of tabu search to our specific problem requires the
definition of the following entities: (i) a feasible solution; (ii) the neigh-
bor relation and the neighbor selection procedure; (iii) the objective
function to minimize; (iv) the initial solution.
In (Hertz, 1991) the constraints, as usual, are split into hard and
soft ones. However, a feasible solution is not defined based on the hard
constraints because this does not guarantee that the corresponding
search space is connected (w.r.t. the neighbor relation). For this rea-
paper.tex; 1/02/1999; 16:48; no v.; p.20
A SURVEY OF AUTOMATED TIMETABLING 21
son, the concept of feasible solution for the search procedure is relaxed
with respect to the concept of feasible timetable, and the procedure is
allowed to pass also through infeasible timetables. In particular, Hertz
considers a feasible solution also a timetable in which courses given at
the same time share a common teacher or involve common students.
All the other hard constraints are satisfied by feasible solutions.
The neighborhood N (s) of a solution s consists of all timetables that
can be obtained from s by assigning a lecture l to a different period
t. Notice that, based on the above definition of feasible solution, this
operation always results in a feasible solution. Among the neighbors
of the current solution, the algorithm selects only the most promising
ones. That is, it only considers reassignments of lectures which create
at least one conflict in the current solution.
The objective function is the weighted sum of the number of teacher
and student conflicts for each period.
Due to the way we defined a feasible solution, a starting solution
can be easily selected at random.
3.4.5. Rule-based approach
A solution technique based on expert systems is given in (Meisels et
al., 1991; Solotorevsky et al., 1994).
Solotorevsky et al. define a rule-based language, called raps, for
specifying general resource allocation problems, and they use it, among
the others, for a course timetabling problem. In particular, they con-
sider lectures as activities and periods as resources to be assigned to
the activities.
raps has five types of rules, namely assignment rules, constraint
rules, local change rules, context rules, and priority rules.
Assignment rules assign lectures to periods, one at a time, and there-
fore they are the core of the system. These rules, like all the others, are
supplied by the user, and thus the heuristics used is not predefined but
is chosen by the user.
Constraint rules specify the constraints that the solution must sat-
isfy. They are checked each time a new lecture is assigned to a period
(i.e. a new activity is assigned to a resource). Constraint rules are split
into positive and negative ones, that is, constraints that must be sat-
isfied and constraints that must fail. Constraint rules allow to identify
conflicts as soon as they arise.
Local change rules specify the action to perform when there is a
lecture that the assignment rules are not able to tackle. The purpose of
local change rule is to undo a previous assignment in order to create the
opportunity to assign the current one (like Strategy C in Section 2.5.1).
paper.tex; 1/02/1999; 16:48; no v.; p.21
22 A. SCHAERF
Context rules select the active context. In fact, the system allows for
multiple contexts: In different contexts the various lectures and periods
may have different priority. The priority of the objects determines which
object, among those of a given type, is processed first.
Priority rules determine the priorities of the lectures and the periods,
in each context. The priorities are calculated each time a context is
entered.
The system may work in two possible modes: greedy and non-greedy.
In the greedy mode, when the assignment rules fail to make an assign-
ment, the system selects a different lecture. Conversely, in the non-
greedy mode, when a fail occurs the control is passed to the local change
rules.
Other authors (Monfroglio, 1988; Petrie et al., 1989; Dhar and Ran-
ganathan, 1990) make use of expert systems. For example, Dhar and
Ranganathan (1990) propose the use of an expert system, called pro-
teus, for the allocation of teachers to courses, and compare it to integer
programming techniques.
3.4.6. Constraint logic programming approach
A constraint logic programming (CLP) system (Jaffar and Lassez, 1987)
is a tool for modeling a specific search problem, which provides the abil-
ity to declare variables and their domains, and to place constraints.
In order to search for a solution, a CLP system generates values for
the variables, propagating values through the constraints in order to
prune parts of the solution space where inconsistencies are discovered.
The basic method is therefore a backtrack search where the constraints
allow the system to look ahead to the consequences of decisions and
spot failure earlier.
For dealing with optimization problems the CLP systems provide
a solution technique based on a form of depth first branch-and-bound
search.
Azevedo and Barahona (1994) deal with the timetabling problem
using a CLP language called domlog. domlog extends chip (Van Hen-
tenryck, 1991), a popular CLP language, with features such as user-
defined heuristics and a flexible lookahead constraint solving.
In particular, domlog allows for the possibility to specify a finite
domain for the variables. In addition, the user can specify the heuristics
for the selection of the value of a domain to assign first to a given
variable.
Several other authors recently employed constraint logic program-
ming for course timetabling with a good success. Frangouli et al. (1995)
and Gueret et al. (1995) solve their course timetabling problem rely-
ing on the finite domain libraries of the logic programming language
paper.tex; 1/02/1999; 16:48; no v.; p.22
A SURVEY OF AUTOMATED TIMETABLING 23
ECL
i
PS
e
(ECRC, 1995) and chip, respectively. Henz and W¨urtz (1995)
rely on the Oz system (Smolka, 1995), which is a multi-paradigm con-
current constraint language.
3.4.7. Others techniques and approaches
Genetic algorithms have been used for course timetabling in (Ling,
1992; Paechter et al., 1994). Since their approaches are similar to those
employed for the examination timetabling we refer to Section 4.4.4 for
a discussion of this technique.
A logic programming approach is taken by Fahrion and Dollansky
(1992). They propose a prolog implementation of a heuristics based
on a priority scheme on the lectures to be scheduled. Logic program-
ming techniques are also used in (Monfroglio, 1986) and (Ling, 1992).
Other approaches to the course timetabling problem are given in
(Akkoyunlu, 1973; Harwood and Lawless, 1975; Selim, 1983). For exam-
ple, Harwood and Lawless employ a mixed integer goal programming.
Dowsland (1990) compares three different approaches based on set
partitioning, graph coloring, and simulated annealing.
4. Examination timetabling
The examination timetabling problem requires the scheduling of a given
number of exams (one for each course) within a given amount of time.
The examination timetabling is similar to course timetabling, and it
is difficult to make a clear distinction between the two problems. In
fact, some specific problems can be formulated both as an examination
timetabling problem and as a course timetabling one.
Nevertheless, it is possible to state some broadly-accepted differences
between the two problems. Examination timetabling has the following
characteristics (different from the course timetabling problem):
There is only one exam for each subject.
The conflict condition is generally strict. In fact, we can accept
that a student is forced to skip a lecture due to overlapping, but
not that a student skips an exam.
There are different types of constraints, e.g. at most one exam per
day for each student, and not too many consecutive exams for each
student.
The number p of periods may vary, in contrast to course timetabling
where it is fixed.
paper.tex; 1/02/1999; 16:48; no v.; p.23
24 A. SCHAERF
There can be more than one exam per room.
As in the previous sections, we start describing the basic formulation
of the problem. Thereafter, we introduce the optimization problem,
we discuss its variants, and we present the solution techniques and
approaches.
4.1. Basic search problem
The basic search problem can be formulated in a similar way to uni-
versity course timetabling.
There are q courses K
1
, . . . , K
q
, and one exam for each course K
i
.
There are r groups of exams S
1
, . . . , S
r
such that in each S
l
there are
students that take all exams in S
l
. The number of periods is p and l
k
is the maximum number of exams that can be scheduled at period k
(which is not necessarily the number of rooms, since more than one
exam can take place in the same room).
TTP4 find y
ik
(i = 1..q; k = 1..p)
s.t.
p
X
k=1
y
ik
= 1 (i = 1..q) (15)
q
X
i=1
y
ik
l
k
(k = 1..p) (16)
X
iS
l
y
ik
1 (l = 1..r; k = 1..p) (17)
y
ik
= 0 or 1 (i = 1..q; k = 1..p) (18)
where y
ik
= 1 if the exam of course K
i
is scheduled at period k, and
y
ik
= 0 otherwise.
Like TTP3, the problem TTP4 can be shown to be NP-complete by
a simple reduction from the graph coloring problem.
4.2. Optimization problem
The most common type of soft constraint considered in the literature
on examination timetabling are the second order constraints. That is,
the system should avoid that a student takes two exams in consecutive
periods. To this aim, we can add the following objective function to the
basic search problem.
p1
X
k=1
r
X
l=1
X
i,jS
l
y
ik
y
jk+1
paper.tex; 1/02/1999; 16:48; no v.; p.24
A SURVEY OF AUTOMATED TIMETABLING 25
The above function counts the pairs of 1’s corresponding to exams
belonging to the same group S
l
scheduled at adjacent periods. In fact,
the product y
ik
y
jk+1
gives 1 only if both y
ik
and y
jk+1
are 1.
Most authors (e.g., Mehta, 1981) consider in the objective function
also the number of students involved in each conflict. In particular, the
penalty of a conflict is linearly related to this number.
Laporte and Desroches (1984) consider also higher order constraints.
That is, they penalize also the fact that a student takes two exams in
periods at distance three, four, or five.
Carter et al. (1994) generalize the above constraints and consider
a penalty for the fact that a student is forced to take x exams in
y consecutive periods. Their system considers as consecutive also the
last period of a day and the first of the next day, and the two periods
before and after lunch. Therefore, the dissatisfaction of a student that
takes two exams in consecutive periods is not always the same. Carter
et al. deal with this problem by adding dummy evening sessions.
Corne et al. (1993) consider a slightly different objective function.
They penalize in descending order of weight a student taking
(i) more than two exams in the same day, (ii) two exams in (real)
consecutive periods, and (iii) two exams just before and just after
lunch.
Corne et al. also consider a student taking two exams at once as
part of the objective function (with the highest weight). Carter et al.
instead allow the user to choose what is a hard constraint and what is
a soft one.
4.3. Variants of the problem
Like in Sections 2 and 3, we now discuss the main variants of the basic
examination timetabling problem.
4.3.1. Unavailabilities and preassignments
Like in the previous two problems, unavailabilities and preassignments
are generally taken into account in real cases. They can be included in
the model exactly in the same way as done in Section 2 for the school
timetabling problem.
4.3.2. Room assignment
Exams must be assigned to rooms based on the number of students
taking the exams and capacities of rooms.
Some authors (e.g., Carter et al., 1994) allow only one exam per
room in a given period. In this case, the problem of assigning exams to
paper.tex; 1/02/1999; 16:48; no v.; p.25
26 A. SCHAERF
actual rooms in an optimal way can be solved in polynomial time by
means of a greedy algorithm.
Conversely, if we allow more exams per room (e.g., Burke et al.,
1993), then the problem becomes NP-complete being a generalization
of the bin packing problem (Garey and Johnson, 1979, SR1, p. 226).
Some authors (e.g., Laporte and Desroches, 1984) consider also dif-
ferent types of rooms, and some exams may only be held in certain
types of rooms. In addition, some exams may be split into two or more
rooms, in case the students do not fit in one single room.
4.3.3. Minimize the length of the session
Differently from course scheduling, in the examination case we may
want to minimize the number of periods required to accomplish all
the exams. In that case, the number of periods p becomes part of the
objective function. Up to our knowledge, no author dealt specifically
with this variant.
Notice that if we reduce the problem to graph coloring then the
resulting problem is that of minimizing the number of colors. This is
a well-studied problem (see e.g., Halld´orsson, 1993), and therefore the
reduction to graph coloring can be profitable in this case.
4.4. Solution techniques and approaches
Like in the previous two sections, we now list the solution techniques
proposed in the literature roughly in chronological order.
4.4.1. Direct heuristics
Several direct heuristics have been proposed in the literature. Some of
them are described in (Carter, 1986). We now present the approach
followed in (Laporte and Desroches, 1984), which has been modified
and improved in (Carter et al., 1994).
The algorithm works in three phases: (i) find a feasible solution, (ii)
improve the solution, (iii) allocate the rooms (allowing more exams per
room).
Phase (i) schedules exams iteratively to periods based on the increase
of the objective function caused by that allocation. When an exam can-
not be scheduled, one or more exams previously scheduled are moved
at least cost — without creating infeasibilities. Each exam that cannot
be moved is put back in the list of the exams yet unscheduled. In order
to avoid infinite loops, Laporte and Desroches employ a mechanism
resembling the tabu list in the tabu search technique (Appendix B):
An exam cannot be put back by the same other exam more than a
specified number of times.
paper.tex; 1/02/1999; 16:48; no v.; p.26
A SURVEY OF AUTOMATED TIMETABLING 27
Phase (ii) employs a simple descendent method. It identifies the
move that would result in the maximum decrease in the objective func-
tion and performs it. The procedure stops when it reaches a local min-
imum.
Phase (iii) takes for each period a list of exams and a list of rooms.
It iteratively assigns the exam with largest number of students to the
largest room. If the exam fits perfectly in the room, they are both
eliminated from the list of items to be allocated. If the room is too
large, then the exam is eliminated and the remaining part of the room
is considered as a new available room. Conversely, if the number of
students does not fit in the room, then the room is eliminated and the
remaining part of the students are considered as a new exam.
4.4.2. Reduction to graph coloring
The examination problem can be easily reduced to graph coloring
(Appendix A) by associating each exam with a vertex and drawing an
edge between each pair of conflicting exams. This approach is followed
in (Mehta, 1981).
Unfortunately, there is no obvious translation of the usual second
order constraints into some properties on graphs. Therefore, exami-
nation timetabling problems with second order constraints cannot be
easily formulated as graph coloring problems.
4.4.3. Simulated annealing
Eglese and Rand (1987) and Johnson (1990), among others, have used
simulated annealing (Appendix C) for examination timetabling.
Eglese and Rand actually solve a problem slightly different from
the examination timetabling, which is the timetabling of conference
presentations (or seminars). In their formulation, a presentation can
be repeated more than once if necessary. In addition the number of
rooms is fixed and all rooms are used for all periods.
Each participant is required to provide the list of seminars that
he/she wants to attend plus a reserve choice. The objective function is
based on the number of participants that are not allowed to attend all
the presentations they want. A higher cost is given to the case where
the participant was not able to attend even his/her reserve choice.
The initial timetable is found using a heuristics, which schedules a
presentation at a time, ordering them w.r.t. the number of participants
that want to attend that presentation and the number of times it has
been already scheduled.
The neighbors of a solution are obtained by cancelling a presentation
in a given period and replacing it with another presentation. In this
paper.tex; 1/02/1999; 16:48; no v.; p.27
28 A. SCHAERF
way, the number of rooms needed, for every period, never exceeds the
number of rooms available (which is a hard constraint).
4.4.4. Genetic algorithms
Genetic algorithms (Appendix D) have been recently applied to exami-
nation timetabling by several authors (e.g., Burke et al., 1994, Corne et
al., 1994b, Paechter, 1994, Corne et al., 1993). They can be considered
as the current main stream for tackling the examination problem.
We discuss the approach taken in (Corne et al., 1993) and we refer
to (Corne et al., 1994a) for a general discussion on the issues related to
the use of genetic algorithms for the examination timetabling problem
(e.g., direct vs. implicit representation).
The representation used by Corne et al. is simply a list of length q
(the number of exams to be scheduled) of integers between 1 and p.
The meaning of the list is that, if the i
th
number in the list is t, then
exam K
i
is scheduled at period t.
The objective function counts the number of instances of the follow-
ing offenses: (i) a student taking more than one exam at once (weight
= 30); (ii) a student taking more than two exams in one day (weight
= 10); (iii) a student taking two exams in consecutive periods on the
same day (weight = 3); (iv) a student taking an exam just before and
another one just after lunch on the same day (weight = 1).
The operator for recombination is based on a fixed-point uniform
crossover. That is, for one child the bits in a fixed set of positions are
chosen from one parent, the others are chosen from the other parent;
vice versa for the other child. The number of positions is chosen to be
half the solution length.
Recombination and mutation are applied with probabilities given
by the two parameters p
R
and p
M
. In the experiments described in the
paper, such parameters are set to 0.7 and 0.003, respectively.
Corne et al. also experiment with variants of the genetic algorithms,
which improved the timetable produced. We refer to the cited paper
for a description of these variants.
4.4.5. Others techniques and approaches
Balakrishnan et al. (1992) combine a network model with a Lagrangian
relaxation technique. In particular, Balakrishnan et al. use Lagrangian
relaxation to calculate accurate lower bounds for the network mod-
el. Their procedure iteratively calculates new solutions and new lower
bound as long as they are close enough or the procedure exceeds the
maximum number of iterations allowed.
paper.tex; 1/02/1999; 16:48; no v.; p.28
A SURVEY OF AUTOMATED TIMETABLING 29
5. General issues
In this section we briefly discuss some general issues that are common
to all three problems. We first give some general comments on the
implementations and their results, and thereafter we introduce a variant
of the problem, called continuous timetabling, obtained by relaxing the
constraints on integer values for the variables of the problem.
5.1. Implementations and experiences
Almost all papers in the literature describe a substantial software imple-
mentation. In addition, every paper usually presents the results of the
application of the method to one or more test cases.
The success of the application is measured in two different ways,
depending on the fact that the application deals with a search problem
or an optimization problem. In the first case, the measure of success is
the number of lectures scheduled with respect to the total. The results
reported vary between 95% and 100% depending on the various cases.
Such numbers are obviously influenced by how constrained the specific
instance is, therefore they are not an accurate measure of the quality
of the program.
In the second case, the measure of success is given by the value
of the objective function for the optimal solution. Such value in some
cases has a direct practical meaning; for example, it can represent the
number of student dissatisfactions. Conversely, in some others it lacks
a natural interpretation; for example, it can be obtained as a weighted
sum of a number of features, in which case it is not directly readable.
In both cases, the results are generally compared with the manual
ones. It is superfluous saying that in all papers the results produced by
computer are superior to the manual ones. Unfortunately, the absence
of a common definition of the various problems and of widely-accepted
benchmarks prevents us from comparing the algorithms among each
other.
The computational complexity of the proposed systems is generally
determined only through the computing time. In almost all cases, such
time is on the order of a few seconds. The hardware used varies from
case to case, ranging from mainframes to PCs. The use of PCs is advis-
able for school timetabling because these are the type of computers
generally owned by a school administrative office.
Some other papers are devoted to the discussion of implementations
and experiences. For example, Sabin and Winter (1986) provide a dis-
cussion on the impact of timetabling on universities, and Junginger
paper.tex; 1/02/1999; 16:48; no v.; p.29
30 A. SCHAERF
(1986) reports on the life cycle of the most popular school timetabling
systems in Germany.
5.2. On the role of Artificial Intelligence
From Sections 2, 3, and 4, it emerges that the topics of timetabling
were discussed in the last decades mainly in the Operational Research
community. Only recently the problem has been tackled in the field of
Artificial Intelligence, too.
The contribution of Artificial Intelligence can be recognized in the
fact that the most promising modern heuristics, like genetic algorithms
and tabu search, have their roots in Artificial Intelligence. These tech-
niques, for large timetabling problems, seem to outperform traditional
Operational Research methods.
In addition, a new approach based on constraint programming (an
emerging Artificial Intelligence field) is recently becoming prominent in
the research on timetabling. Programming with constraints allows for
a great flexibility in the formulation of the problem, which is broadly
recognized as a crucial issue for the success of a timetabling system.
In fact, in many cases the definition of the problem’s constraints and
penalties is fuzzy, and it generally requires many refinements and inter-
actions with the user. This is mainly due to the fact that is it not always
easy to identify precisely which are the real constraints, and what con-
stitutes a good timetable.
On the other hand, in many cases the problem is computationally
so hard that constraint processing methods might be not sufficient-
ly efficient. For example, constructive methods based on pure back-
tracking are generally not adequate. As confirmation of this fact most
timetabling systems based on constraint logic programming tend to
control the automatic backtracking mechanism with some local adjust-
ment based on heuristics.
Among different timetabling problems, school timetabling seem to
be the harder one, and this is confirmed by the fact that it is solved
by specialized local search algorithm (see e.g., Costa, 1994, Yoshikawa
et al., 1996, Schaerf, 1996b). Conversely, course timetabling is gener-
ally more complex to be formalized, but simpler from the combinato-
rial point of view. Therefore, it seems more suitable to be solved with
constructive methods implemented in general purpose constraint logic
programming languages (see e.g., Frangouli et al., 1995, Gueret et al.,
1995, Henz and W¨urtz, 1995).
paper.tex; 1/02/1999; 16:48; no v.; p.30
A SURVEY OF AUTOMATED TIMETABLING 31
5.3. Continuous timetabling
We call continuous timetabling the problem obtained by relaxing the
constraint of integer values. For example, the continuous version of
problem TTP1 is obtained by replacing Constraints (4) with the less
restrictive ones
0 x
ijk
1 (i = 1..m; j = 1..n; k = 1..p) (19)
Therefore, the solution of a continuous timetabling problem can
include also fractional values for the variables x
ijk
of the problem.
The continuous timetabling is generally a polynomial problem, and
therefore it is much simpler to solve than the integer problem.
The continuous version of the school timetabling problem has been
investigated in (Smith and Sefton, 1974; Clementson and Elphick, 1982).
The cited papers discuss necessary and sufficient conditions for the exis-
tence of a continuous timetable.
The solution to the continuous problem may have some utility for
the real problem in case of long term scheduling, e.g. scheduling for an
academic year. In such case, it can be interpreted as a set of timetables,
differing from week to week. For example the value x
ijk
= 1/2 could
mean that teacher t
j
meets class c
i
at period k every second week.
6. Related problems
In this section we describe some problems related to timetabling. The
solution techniques and the results obtained for such problems can be
helpful for the study of the timetabling problem.
6.1. Student scheduling
The student scheduling problem consists of assigning a student to spe-
cific course sections for a given fixed timetable (see e.g., Busam, 1967,
Laporte and Desroches, 1986, Feldman and Golumbic, 1989).
In details, we assume that a given student is required to take a
certain number of courses, which are given in one or more different
sections. The courses are split into groups and there are conditions on
the minimum and maximum number of courses to be taken for each
group.
There are also other constraints on the number and the distribution
of the periods in which the student is involved in a course.
A solution to the problem for a student is a set of courses and a
specific section for each of them, such that there are no time conflicts
and all the constraints are satisfied.
paper.tex; 1/02/1999; 16:48; no v.; p.31
32 A. SCHAERF
Feldman and Golumbic (1989) propose a solution technique for the
student scheduling problem based on a constraint satisfiability algo-
rithm.
6.2. Other scheduling problems
Many scheduling problems share some features with the timetabling
problem. For example, the sport leagues games scheduling (Ferland
and Fleurent, 1991; Schreuder, 1992; Schaerf, 1996a) and the service
timetable problem for transportation networks (Odijk, 1994) also account
to the creation of a timetable. In that cases, though, the type of the
constraints are different. The latter, for example, takes into account
also the order of execution of the activities.
A scheduling problem that has been largely investigated in the lit-
erature is the job shop scheduling: A job consists of a sequence of oper-
ations, each of which must be processed on a specific machine. The
operations of a job must be processed in the order specified by the
sequence, and each machine can process at most one job at a time.
The problem is to produce a schedule of n jobs on m machines that
minimizes the time when all jobs have completed processing.
The job shop scheduling is NP-hard (Garey and Johnson, 1979,
SS18, p. 242). Several algorithms have been proposed for this problem
(see e.g., Shmoys et al., 1991). In addition, there are several approx-
imability results for them. The ideas for the solution of the job shop
scheduling might be profitably exploited for the timetabling problem.
7. Possible research directions
So far we have described the state of the art of the research. In this
section we list a number of topics that we consider possible future
research directions.
7.1. Investigate a specific technique
The application of search and optimization techniques, developed in
various fields, to the timetabling problem probably will continue to go
on in the future.
Many of the techniques mentioned in this paper have to be inves-
tigated more deeply in order to produce results even better that the
ones they give at present.
In addition, other techniques may be explored. For example, GSAT
(Selman et al., 1992) is a recently-proposed local search algorithm for
paper.tex; 1/02/1999; 16:48; no v.; p.32
A SURVEY OF AUTOMATED TIMETABLING 33
satisfiability (SAT) problems. It has been applied also to graph col-
oring and other problems, suitably transformed into SAT problems. It
might be interesting to try to formulate the school timetabling problem
directly as a SAT problem, and apply the GSAT algorithm to it.
7.2. Standardization
Each school or university has its specific rules and constraints for the
timetable. This is especially true for universities. Therefore, a program
written for creating the timetable of a university can hardly be used
for a different one.
Nevertheless, it would be useful to have a standard problem that
includes a superset of the constraints of a set of universities so as to
write portable programs.
To this aim, the University of Nottingham has distributed a ques-
tionnaire (Weare, 1995) to all British Universities about how they
timetable exams and the problems they have.
7.3. Approximability
The quality of the solution of a timetabling algorithm has been always
measured only in comparison with other solutions, either produced
manually or with other techniques. No guarantee of the quality of the
solution with respect to the optimal one has ever been provided in the
literature.
Conversely, the theoretical investigation of other problems (e.g.,
graph coloring and job shop scheduling) has provided a large number
of approximation (and non-approximability) results.
It would be interesting to provide some theoretical approximation
results for the timetabling problem, at least for the basic optimization
problems.
7.4. Design of a powerful constraint language
The constraints of a timetabling problem can be very different in nature.
Some of them can be easily formulated in a mathematical form, whereas
some others are well expressed in some logical formulation.
In addition, in some cases, the informal definition of the constraint,
given in some papers, is not clear enough for the reader.
For the above reasons, we envision the definition of a constraint
language, semantically well-founded, that can express all the types of
constraints usually considered in the literature.
paper.tex; 1/02/1999; 16:48; no v.; p.33
34 A. SCHAERF
Examples of constraint languages are given in (Cooper and Kingston,
1993; Azevedo and Barahona, 1994; Solotorevsky et al., 1994; Yoshikawa
et al., 1996).
7.5. Compare and combine different approaches
The comparison of different approaches to the solution of a specific
problem can give an insight on the quality of a specific method. Some
comparisons are given in (Corne et al., 1994a; Dowsland, 1990; Colorni
et al., 1992).
The comparison can also provide information about which approach
works best in different situations. In addition, it can also help for the
development of combined methods that hopefully exploit the good qual-
ities of the various methods.
Appendix
A. Graph coloring algorithms
The graph coloring problem is one of the classical NP-complete prob-
lems on graphs (Garey and Johnson, 1979, GT4, p. 191): Given an
undirected graph G = (V, E), the problem consists of finding a parti-
tion of V into a minimum number of color classes (or simply colors)
c
1
, . . . , c
k
, where no two vertices can be in the same color class if there
is an edge between them.
The simplest graph coloring heuristics is the following one (called
SEQ in Johnson et al., 1991): Vertices v
1
, . . . , v
n
, and colors c
1
, . . . , c
k
are ordered. Initially, vertex v
1
is assigned to color c
1
. Thereafter, vertex
v
i
in turn is assigned to the “smallest” color that contains no vertices
adjacent to v
i
.
Such method performs rather poorly in worst-case (see Johnson et
al., 1991). Welsh and Powell (1967) propose a variant of the above
method in which the vertices are ordered by degree (in decreasing
order). That is, the vertices with highest degree are colored first. The
underlying idea of this method is that the vertices with high degree
are the most difficult to be colored. Other methods based on the same
idea have also been proposed. For example, Leighton (1979) adds to
the algorithm of Welsh and Powell the idea of recomputing the degree
of the vertices at each step, eliminating the vertices already colored. A
number of methods based on ordering the vertices by degree is discussed
in (Carter, 1986).
A slightly different idea is used in the algorithm DSATUR by Br´elaz
(1979): At each step DSATUR chooses the vertex to color next by
paper.tex; 1/02/1999; 16:48; no v.; p.34
A SURVEY OF AUTOMATED TIMETABLING 35
picking the one that is adjacent to the largest number of distinctly
colored vertices.
Hertz and de Werra (1987) propose the use of tabu search, whereas
Chams et al. (1987) and Johnson et al. (1991) make use of simulated
annealing. In particular, Johnson et al. (1991) propose three different
simulated annealing implementations, and they compare such imple-
mentation with many other methods for a class of random graphs.
Coloring of weighted graphs may also be useful for timetabling appli-
cations. In fact, the weight of an edge may represent the degree of
confliction between two lectures. The problem of coloring of weighted
graphs and its application to timetabling are discussed in (
ˇ
Cangalovi´c
and Schreuder, 1991; Kiaer and Yellen, 1992).
B. Tabu search
Tabu search is a local search technique designed to solve optimization
problems. In this appendix, we briefly describe the technique, and we
refer to (Glover, 1989; Glover and Laguna, 1993) for a comprehensive
presentation.
Local search techniques are based on the notion of neighbor: Given
an optimization problem P , let S be the search space of P , and let f
the objective function to minimize (the case of maximization problems
is analogous). A function N, which depends on the structure of the
specific problem, assigns to each feasible solution s S its neighborhood
N(s) S. Each solution s
0
N(s) is called a neighbor of s.
A local search technique, starting from an initial solution s
init
, which
can be obtained with some other technique or generated at random,
the algorithm enters in a loop that navigates the search space, step-
ping from one solution to one of its neighbors. The connectivity of the
search space, w.r.t. the neighbor relation, is a necessary condition for
the technique to work effectively.
In tabu search, the algorithm explores a subset V of the neighbor-
hood N(s) of the current solution s; the member of V that gives the
minimum value of the objective function becomes the new current solu-
tion independently of the fact that its value is better or worse than the
value in s.
In order to prevent cycling, there is a so-called tabu list, which is
the list of solutions to which it is forbidden to move back. It is the list
of the last k current solutions, where k is a parameter of the method,
and it is run as a queue; that is, when a new solution is added, due to
a move, the oldest one is discarded.
paper.tex; 1/02/1999; 16:48; no v.; p.35
36 A. SCHAERF
There is also a mechanism that overrides the tabu status of a solu-
tion: If a solution gives a large improvement of the objective function,
then its tabu status is dropped and the solution is accepted as new
current one. More precisely, we define an aspiration function A that,
for each value of the objective function, returns another value for it,
which represents the value that the algorithm aspires to reach from the
given value. Given a current solution s, the objective function f , and
the best neighbor solution s
0
, if f (s
0
) < A(f (s)) then s
0
becomes the
new current solution, even if s
0
is a tabu move.
The procedure stops either when the number of iterations reaches a
given value or when the value of the objective function in the current
solution reaches a given lower bound.
The main control parameters of the procedure are the length of the
tabu list k, the aspiration function A and the cardinality of the set V
of neighbor solutions tested at each iteration.
C. Simulated annealing
Simulated annealing is a probabilistic local search technique for find-
ing solutions to optimization problems. It has been proposed by Kirk-
patrick et al. (1983) and extensively studied by van Laarhoven and
Aarts, Aarts and Korst (1987, 1989). Its name comes from the fact
that it simulates the cooling of a collection of hot vibrating atoms.
The process starts by creating a random initial solution. The main
procedure consists of a loop that generates at random at each iteration
a neighbor of the current solution. Like for tabu search, the definition
of neighbor depends on the specific structure of the problem.
Let’s call the difference in the objective function between the new
solution and the current one and suppose to deal with a minimization
problem. If < 0 the new solution is accepted and becomes the current
one. If 0 the new solution is accepted with probability e
/T
,
where T is a parameter, called the temperature.
The temperature T is initially set to an appropriately high value T
0
.
After a fixed number of iterations, the temperature is decreased by the
cooling rate a, such that T
n
= a × T
n1
, where 0 a 1.
The procedure stops when the temperature reaches a value very
closed to 0 and no solution that increases the objective function is
accepted anymore, i.e. the system is frozen. The solution obtained when
the system is frozen is obviously a local minimum.
The control knobs of the procedure are the cooling rate a, the num-
ber of iterations at each temperature, and the starting temperature
T
0
.
paper.tex; 1/02/1999; 16:48; no v.; p.36
A SURVEY OF AUTOMATED TIMETABLING 37
A special architecture (both hardware and software) for performing
fast programs based on simulated annealing is described in (Abramson,
1992).
D. Genetic algorithms
Genetic algorithms are a solution technique for optimization problems
(Davis, 1991; Michalewicz, 1994). Differently from tabu search and sim-
ulated annealing they are not based on local search.
A genetic algorithm starts with a set of solutions randomly chosen
{s
0
1
, . . . , s
0
n
}, which is called the population at time 0.
The core procedure is a loop that creates the population {s
t+1
1
, . . . ,
s
t+1
n
} at time t + 1 starting from the population at time t. To this aim,
the value of the objective function is computed for each solution s
t
i
.
Based on a weighted randomization, n elements of the population at
time t are selected. Obviously, some solution may be selected more than
once. The randomization is biased by the value of the objective function
so as to assign a higher probability to be selected to the solutions that
result in a better value of the objective function. In this way the best
solutions get more copies, and the worse ones probably die off.
At this point each solution is selected for recombination with a given
probability (p
R
). The recombination is done by the crossover operator.
That is, two selected solutions are mixed by swapping corresponding
segments of their representations. One of the most common ways to do
the crossover is by selecting a fixed number of positions in which the
swapping takes place (fixed-point crossover).
For example, if two solutions are represented by the strings abcdef
and uvwxyz and we choose two crossover points after the second and the
fifth character, then the new solutions would be abwxyf and uvcdez.
In addition, mutation arbitrarily alters randomly some part of some
solutions randomly selected, based on a given probability value (p
M
).
The method terminates either when it generates a fixed number of
populations, or when the best solution reaches a certain value of the
objective function, or when the algorithm does not make any progress
for a certain number of iterations.
The main control parameters of the method are the population size
n, the probability of crossover p
R
, and the probability of mutation p
M
.
paper.tex; 1/02/1999; 16:48; no v.; p.37
38 A. SCHAERF
Acknowledgments
I wish to thank Luca Cabibbo, Diego Calvanese, Maurizio Lenzerini,
Marco Schaerf, and the anonymous referees for their comments on an
earlier draft of the paper.
References
E. H. L. Aarts and J. Korst. Simulated Annealing and Boltzmann Machines. John
Wiley & Sons, New York, 1989.
D. Abramson. Constructing school timetables using simulated annealing: sequential
and parallel algorithms. Management Science, 37(1):98–113, 1991.
D. Abramson. A very high speed architecture for simulated annealing. IEEE Com-
puter, May:27–36, 1992.
E. A. Akkoyunlu. A linear algorithm for computing the optimum university
timetable. The Computer Journal, 16(4):347–350, 1973.
R. Alvarez-Valdes, G. Martin, and J.M. Tamarit. Constructing good solutions for
the Spanish school timetabling problem. Journal of the Operational Research
Society, 1996. To appear.
J. Aubin and J. A. Ferland. A large scale timetabling problem. Computers and
Operational Research, 16(1):67–77, 1989.
F. Azevedo and P. Barahona. Timetabling in constraint logic programming. In
Proceedings of World Congress on Expert Systems ’94, January 1994.
N. Balakrishnan, A. Lucena, and R. T. Wong. Scheduling examinations to reduce
second-order conflicts. Computers and Operational Research, 19(5):353–361,
1992.
J. P. Boufflet, R. Benouaghram, and G. Boufflet. An interactive computer aided
design. In Proc. of the 1st Int. Conf. on the Practice and Theory of Automated
Timetabling, pages 324–350, 1995.
D. Br´elaz. New methods to color vertices of a graph. Communications of the ACM,
22:251–256, 1979.
J. A. Breslaw. A linear programming solution to the faculty assignment problem.
Socio-Economic Planning Science, 10:227–230, 1976.
E. Burke, D. Elliman, and R. Weare. Extensions to a university exam timetabling
system. In IJCAI-93 Workshop on knowledge-based production, planning,
scheduling and control, pages 42–48, Chambery, France, 1993.
E. Burke, D. Elliman, and R. Weare. A genetic algorithm based university
timetabling system. In 2nd East-West International Conference on Computer
Technologies in Education., Crimea, Ukraine, 1994.
V. A. Busam. An algorithm for class scheduling with section preference. Commu-
nications of the ACM, 10(9):567–569, 1967.
M.
ˇ
Cangalovi´c and J. A. M. Schreuder. Exact coloring algorithm for weighted
graph applied to timetabling problems with lectures of different length. Journal
of Operational Research, 51(2):248–258, 1991.
M. W. Carter and C. A. Tovey. When is the classroom assignment problem hard?
Operations Research, 40(1S):28–39, 1989.
M. W. Carter, G. Laporte, and J. W. Chinneck. A general examination scheduling
system. Interfaces, 24(3):109–120, 1994.
M. W. Carter. A survey of practical applications of examination timetabling algo-
rithms. Operations Research, 34(2):193–202, 1986.
N. Chahal and D. de Werra. An interactive system for constructing timetables on
a PC. European Journal of Operational Research, 40:32–37, 1989.
paper.tex; 1/02/1999; 16:48; no v.; p.38
A SURVEY OF AUTOMATED TIMETABLING 39
M. Chams, A. Hertz, and D. de Werra. Some experiments with simulated annealing
for coloring graphs. European Journal of Operational Research, 32:260–266, 1987.
A. T. Clementson and C. H. Elphick. Continuous timetabling problems. Journal of
the Operational Research Society, 33:181–183, 1982.
A. Colorni, M. Dorigo, and V. Maniezzo. A genetic algorithm to solve the timetable
problem. Technical Report 90-060 revised, Politecnico di Milano, Italy, 1992.
T. B. Cooper and J. H. Kingston. The solution of real instances of the timetabling
problem. The Computer Journal, 36(7):645–653, 1993.
D. Corne, H.-L. Fang, and C. Mellish. Solving the modular exam scheduling prob-
lem with genetic algorithms. Technical Report 622, Department of Artificial
Intelligence, University of Edinburgh, 1993.
D. Corne, P. Ross, and H.-L. Fang. Evolutionary timetabling: practice, prospects
and work in progress. In UK Planning and Scheduling SIG Workshop, 1994.
D. Corne, P. Ross, and H.-L. Fang. Fast practical evolutionary timetabling. In
AISB Workshop on Evolutionary Computation, number 865 in Lecture Notes in
Computer Science, pages 251–263, 1994.
D. Costa. A tabu search algorithm for computing an operational timetable. European
Journal of Operational Research, 76:98–110, 1994.
L. Davis, editor. Handbook of genetic algorithms. Van Nostrand Reinhold, 1991.
D. de Werra. An introduction to timetabling. European Journal of Operational
Research, 19:151–162, 1985.
M. A. H. Dempster, D. G. Lethridge, and A. M. Ulph. School timetabling by
computer – a technical history. Technical report, Oxford University, 1973.
V. Dhar and N. Ranganathan. Integer programming vs. expert systems: an experi-
mental comparison. Communications of the ACM, 33(3):323–336, 1990.
J. J. Dinkel, J. Mote, and M. A. Venkataramanan. An efficient decision support sys-
tem for academic course scheduling. Operations Research, 37(6):853–864, 1989.
K. A. Dowsland. A timetabling problem in which clashes are inevitable. Journal of
the Operational Research Society, 41(10):907–918, 1990.
J. Dyer and J. M. Mulvey. The implementation of an integrated optimiza-
tion/information system for academic departmental planning. Management Sci-
ence, 22:1332–1341, 1976.
ECRC, Germany. ECL
i
PS
e
User Manual (Version 3.5.2), December 1995.
R. W. Eglese and G. K. Rand. Conference seminar timetabling. Journal of the
Operational Research Society, 38(7):591–598, 1987.
H. A. Eiselt and G. Laporte. Combinatorial optimization problems with soft and
hard requirements. Journal of the Operational Research Society, 38:785–795,
1987.
S. Even, A. Itai, and A. Shamir. On the complexity of timetabling and multicom-
modity flow problems. SIAM Journal of Computation, 5(4):691–703, 1976.
R. Fahrion and G. Dollansky. Construction of university faculty timetables using
logic programming techniques. Discrete Applied Mathematics, 35(3):221–236,
1992.
R. Feldman and M. C. Golumbic. Constraint satisfiability algorithms for interactive
student scheduling. In Proc. of the 11th Int. Joint Conf. on Artificial Intelligence
(IJCAI-89), pages 1010–1016. Morgan Kaufmann, 1989.
J. A. Ferland and C. Fleurent. Computer aided scheduling for a sport league.
INFOR, 29:14–25, 1991.
J. A. Ferland and S. Roy. Timetabling problem for university as assignment of
activity to resources. Computers and Operational Research, 12(2):207–218, 1985.
J. A. Ferland, S. Roy, and T. G. Loc. The timetabling problem. In J. D. Coelho and
L. V. Tavares, editors, O.R. Models on Microcomputers, pages 97–103. North-
Holland, 1986.
H. Frangouli, V. Harmandas, and P. Stamatopoulos. UTSE: Construction of opti-
mum timetables for university courses - A CLP based approach. In 3rd Inter-
paper.tex; 1/02/1999; 16:48; no v.; p.39
40 A. SCHAERF
national Conference on the Practical Applications of Prolog (PAP’95), pages
225–243, 1995.
M. R. Garey and D. S. Johnson. Computers and Intractability—A guide to NP-
completeness. W.H. Freeman and Company, San Francisco, 1979.
F. Glover and M. Laguna. Tabu search. In C. R. Reeves, editor, Modern Heuristic
Techniques for Combinatorial Problems. Scientific Publications, Oxford, 1993.
F. Glover. Tabu search. Part I. ORSA Journal of Computing, 1:190–206, 1989.
C. C. Gotlieb. The construction of class-teacher timetables. In C. M. Popplewell,
editor, IFIP congress 62, pages 73–77. North-Holland, 1963.
C. Gueret, N. Jussien, P. Boizumault, and C. Prins. Building university timetables
using constraint logic programming. In Proc. of the 1st Int. Conf. on the Practice
and Theory of Automated Timetabling, pages 393–408, 1995.
M. M. Halld´orsson. A still better performance guarantee for approximate graph
coloring. Information Processing Letters, 45:19–23, 1993.
G. B. Harwood and R. W. Lawless. Optimizing faculty teaching schedules. Decision
Science, 6:513–524, 1975.
M. Henz and J. W¨urtz. Using Oz for college time tabling. In Proc. of the 1st Int.
Conf. on the Practice and Theory of Automated Timetabling, pages 283–296,
1995.
A. Hertz and D. de Werra. Using tabu search techniques for graph coloring. Com-
puting, 39:345–351, 1987.
A. Hertz. Tabu search for large scale timetabling problems. European Journal of
Operational Research, 54:39–47, 1991.
A. Hertz. Finding a feasible course schedule using tabu search. Discrete Applied
Mathematics, 35(3):255–270, 1992.
A. J. W. Hilton. School timetables. Annals of Discrete Mathematics, 11:177–188,
1981.
J. E. Hopcroft and R. Karp. An n
5/2
algorithm for maximum matching in bipartite
graphs. SIAM Journal of Computation, 2:225–231, 1973.
H. Ikeda, F. Kitagawa, and Nakajima. School timetabling system: SECTA. In Proc.
of the 1st Int. Conf. on the Practice and Theory of Automated Timetabling, pages
33–44, 1995.
J. Jaffar and J.-L. Lassez. Constraint logic programming. In Proc. of the 14th ACM
POPL Symposium, Munich, Germany, 1987.
D. S. Johnson, C. R. Aragon, L. A. McGeoch, and C. Schevon. Optimization by
simulated annealing: an experimental evaluation; part II, graph coloring and
number partitioning. Operations Research, 39(3):378–406, 1991.
D. Johnson. Timetabling university examinations. Journal of the Operational
Research Society, 41(1):39–47, 1990.
W. Junginger. Timetabling in Germany – a survey. Interfaces, 16:66–74, 1986.
L. Kang and G. M. White. A logic approach to the resolution of constraints in
timetabling. European Journal of Operational Research, 61:306–317, 1992.
L. Kiaer and J. Yellen. Weighted graphs and university course timetabling. Com-
puters and Operational Research, 19(1):59–67, 1992.
S. Kirkpatrick, C. D. Gelatt, Jr, and M. P. Vecchi. Optimization by simulated
annealing. Science, 220:671–680, 1983.
D. Klein. The application of computerized solution techniques to the problem of
timetabling in high schools and universities. Master’s thesis, Concordia univer-
sity, 1983.
L. H. Klingen. Stundenplan-erstellung mit dem computer. Log In, 1(4):31–33, 1981.
G. Laporte and S. Desroches. Examination timetabling by computer. Computers
and Operational Research, 11(4):351–360, 1984.
G. Laporte and S. Desroches. The problem of assigning students to course sections
in a large engineering school. Computers and Operational Research, 13:387–394,
1986.
paper.tex; 1/02/1999; 16:48; no v.; p.40
A SURVEY OF AUTOMATED TIMETABLING 41
F. T. Leighton. A graph coloring algorithm for large scheduling problems. J. Res.
Natl. Bur. Standards, 84:489–506, 1979.
S.-E. Ling. Integrating genetic algorithms with prolog assignment problem as a
hybrid solution for the politechnic timetable problem. In R. Manner and B. Man-
derick, editors, Parallel problem solving from nature, 2, pages 321–329, 1992.
D. F. X. Mathaisel and C. L. Comm. Course and classroom scheduling - an interac-
tive computer-graphics approach. Journal of Systems and Software, 15(2):149–
157, 1991.
R. H. McClure and C. E. Wells. A mathematical programming model for faculty
course assignment. Decision Science, 15:409–420, 1984.
N. K. Mehta. The application of a graph coloring method to an examination schedul-
ing problem. Interfaces, 11(5):57–64, 1981.
A. Meisels, E. Gudes, and T. Kuflik. Limited-resource time-tabling by a generalized
expert system. Knowledge-Based Systems, 4:215–224, 1991.
Z. Michalewicz. Genetic algorithms + data structures = evolution programs.
Springer-Verlag, 1994. Second, extended edition.
S. Minton, M. D. Johnston, A. B. Philips, and P. Laird. Minimizing conflicts:
a heuristic repair method for constraint satisfaction and scheduling problems.
Artificial Intelligence, 58:161–205, 1992.
A. Monfroglio. School time table scheduling in prolog. SIGART Newsletter, 96:20–
22, 1986.
A. Monfroglio. Time-tabling through a deductive database: A case study. Data and
Knowledge Engineering, 3:1–27, 1988.
J. M. Mulvey. A classroom/time assignment model. European Journal of Operational
Research, 9:64–70, 1982.
G. A. Neufeld and J. Tartar. Graph coloring conditions for the existence of solutions
to the timetable problem. Communications of the ACM, 17(8):450–453, 1974.
Michiel A. Odijk. Construction of periodic timetables; part I: A cutting plane
algorithm. Technical Report DUT-TWI-94-61, Delft University of Technology,
Department of Technical Mathematics and Informatics, Delft, The Netherlands,
1994.
R. Ostermann and D. de Werra. Some experiments with a timetabling system. OR
Spektrum, 3:199–204, 1983.
B. Paechter, H. Luchian, A. Cumming, and M. Petruic. Two solutions to the gen-
eral timetable problem using evolutionary methods. In IEEE Conference on
Evolutionary Computation, 1994.
B. Paechter. Optimising a presentation timetable using evolutionary algorithms. In
AISB Workshop on Evolutionary Computation, number 865 in Lecture Notes in
Computer Science, pages 264–276, 1994.
C. H. Papadimitriou and K. Steiglitz. Combinatorial Optimization: Algorithms and
Complexity. Prentice-Hall, Englewood Cliffs, New Jersey, 1982.
D. B. Papoulias. The assignment-to-days problem in a school time-table, a heuristic
approach. European Journal of Operational Research, 4:31–41, 1980.
J. Pearl. Heuristics: Intelligent search strategies for computer problem solving.
Addison-Wesley, Reading, MA, 1984.
C. Petrie, R. Causey, D. Steiner, and V. Dhar. A planning problem: revisable
academic course scheduling. Technical Report ACT-AI-020, Microelectronics
and Computer Technology Corporation, 1989.
G. C. W. Sabin and G. K. Winter. The impact of automated timetabling on univer-
sities a case study. Journal of the Operational Research Society, 37:689–693,
1986.
A. Schaerf. Scheduling sport tournaments using constraint logic programming. In
Proc. of the 12th European Conf. on Artificial Intelligence (ECAI-96), pages
634–639, Budapest, Hungary, 1996. John Wiley & Sons.
paper.tex; 1/02/1999; 16:48; no v.; p.41
42 A. SCHAERF
A. Schaerf. Tabu search techniques for large high-school timetabling problems. In
Proc. of the 13th Nat. Conf. on Artificial Intelligence (AAAI-96), pages 363–368,
Portland, USA, 1996. AAAI Press/MIT Press.
G. Schmidt and T. Strohlein. Timetable construction - an annotated bibliography.
The Computer Journal, 23(4):307–316, 1979.
J. A. M. Schreuder. Combinatorial aspects of construction of competition dutch
professional football leagues. Discrete Applied Mathematics, 35:301–312, 1992.
S. M. Selim. An algorithm for producing course and lecture timetables. Computers
& Education, 7:101–108, 1983.
S. M. Selim. Split vertices in vertex colouring and their application in developing a
solution to the faculty timetable problem. The Computer Journal, 31(1):76–82,
1988.
B. Selman, H. Levesque, and D. Mitchell. A new method for solving hard satisfiabili-
ty problems. In Proc. of the 10th Nat. Conf. on Artificial Intelligence (AAAI-92),
pages 440–446, 1992.
W. Shin and J. A. Sullivan. Dynamic course scheduling for college faculty via zero-
one programming. Decision Science, 8:711–721, 1977.
D. B. Shmoys, C. Stein, and J. Wein. Improved approximation algorithms for shop
scheduling problems. In Proc. of the Symposium on Discrete Algorithms, 1991.
G. Smith and I. M. Sefton. On Lion’s counter-example for Gotlieb’s method for
the construction of school timetables. Communications of the ACM, 17:196–197,
1974.
G. Smolka. The Oz programming model. In J. van Leeuwen, editor, Current Trend
in Computer Science, number 1000 in Lecture Notes in Computer Science, pages
324–343. Springer-Verlag, 1995.
G. Solotorevsky, E. Gudes, and A. Meisels. RAPS: A rule-based language specifying
resource allocation and time-tabling problems. IEEE Transactions on Knowledge
and Data Engineering, 6(5):681–697, 1994.
A. Tripathy. School timetabling A case in large binary integer linear programming.
Management Science, 30(12):1473–1489, 1984.
A. Tripathy. Computerised decision aid for timetabling - A case analysis. Discrete
Applied Mathematics, 35(3):313–323, 1992.
P. Van Hentenryck. The CLP Language CHIP: Constraint Solving and Applications.
In COMPCON-91, San Francisco, CA, 1991.
P. J. M. van Laarhoven and E. H. L. Aarts. Simulated Annealing: Theory and Appli-
cations. D. Reidel Publishing Company, Kluwer Academic Publishers Group,
1987.
P. Vincke. Timetabling in Belgium: a survey. In TIMS XXVI, Copenhagen, 1984.
R. Weare. Unpublished manuscript, 1995. Nottingham University, UK.
D. J. A. Welsh and M. B. Powell. An upper bound to the chromatic number of
a graph and its application to timetabling problems. The Computer Journal,
10:85–86, 1967.
K. H. Wong and W. Y. Ng. An interactive timetabling support system. In Int.
Conf. in System Management, pages 307–313, Hong Kong, 1990.
M. Yoshikawa, K. Kaneko, Y. Nomura, and M. Watanabe. A constraint-based high
school scheduling system. IEEE Expert, 11(1):63–72, 1996.
Address for correspondence: Andrea Schaerf, Dipartimento di Informatica e Sis-
temistica, Universit`a di Roma “La Sapienza”, Via Salaria 113, I-00198 Roma, Italy.
E-mail: aschaerf@dis.uniroma1.it
paper.tex; 1/02/1999; 16:48; no v.; p.42
... This problem has gained prominence in various domains, including education. Research [12] further classifies timetabling problems into three categories: school, exam, and course timetabling. This study focuses on the course timetabling. ...
... Course timetabling entails assigning courses, lecturers, and students to specific time slots and rooms, subject to a multitude of constraints. As identified by research [3], [12], these constraints can be categorized into hard and soft constraints. Hard constraints are mandatory requirements that must be met, while soft constraints are desirable but not strictly necessary, aiming to optimize the overall timetable. ...
Article
Full-text available
Introduction/Main Objectives: Implement an evolutionary algorithm within a RESTful API for a course timetabling system that employs a microservices architecture. Background Problems: The current course timetabling at Politeknik Statistika STIS uses the third-party application (aSc Timetables), which lacks a generator as a service, resulting in its inefficiency due to the lack of integration with SIPADU NG. Novelty: The evolutionary algorithm is built as a service (RESTful API) within a microservices architecture and supports custom constraints for timetables. Research Methods: One of the evolutionary algorithm families, the (1+1) evolutionary strategy, is implemented and used to create a course timetable 1000 times. Each course timetable created will have its cost calculated to assess the goodness of the algorithm implementation. The developed RESTful API is also evaluated through black box testing. Finding/Results: For the odd semester data, 40.5% of the trials yielded a cost value between 4 and 5, while for the even semester, all trials produced a cost value below 1. The resulting cost value is close to 0, which indicates that the timetable created has minimal violations. Additionally, black box testing concluded that the service operates as expected, delivering the anticipated output.
... University course scheduling is assigning set of time periods and rooms to a course by scheduling lectures of this course by applying a variety of hard and soft constraints [1]. Constraints are a set of rules for creating a course schedule; they are divided into two types, hard and soft constraints. ...
Article
Today we have a lot of optimization algorithms that can be used for course scheduling, but the main question is which of them fulfills our requirements better and what are the advantages of one from the others. Since course scheduling is an NP-problem, in this article we will look at a few of algorithms that are used to solve different problems and have proved themselves only on the best side and compare their main advantages. When comparing, we will rely not only on the accuracy of the results, but also on the speed of solving complex problems, and on solving complex conditions.
... It is an NP-complete problem, [1], which is well known that there is no available algorithm to solve with the degree of polynomial running time. Moreover, the PECTP is related to resource allocation such as events, features, and students into optimal rooms and timeslots that are scheduled using the completed enrolments of all students, classified as a combinatorial optimization problem, [2]. In this work, the representation of a solution with discrete variables was designed to suit the nature of the problem described above, and it also helps to quickly seek a feasible solution, resulting in a more effective solution. ...
Article
The Post Enrolment based Course Timetabling (PECT) Problem belongs to, one of the classical problems, the timetabling problems, and it is a part of the most real-life problems that come with multiple constraints of nature. Such a problem is investigated together with both hard and soft constraints, and the solution is an optimal timetable satisfying both constraints as far as possible which reflects the quality of the solution. As a result, there are many approaches to solving the PECT Problem. However most approaches rely upon both the determination of parameters or understanding of domain knowledge. In this research, the Genetic-based Discrete Particle Swarm Optimization (PSO) has been developed with two different local search approaches: Local Search and Tabu Search to solve multi-objective functions and get good solutions by improving the performance of searching solution, which has few parameters to be tuned, and it can outperform all related algorithms from the published work.
... Ref. [20] stated it as, "The timetabling problem consists in scheduling a sequence of lectures between teachers and students in a prefixed period of time (typically a week), satisfying a set of constraints of various types." "A timetable is a placement of a set of meetings in time. ...
Article
Full-text available
Solving the university timetabling problem is crucial as it ensures efficient use of resources, minimises scheduling conflicts, and enhances overall productivity. This paper presents a comprehensive review of university timetabling problems using integer programming algorithms. This study explores various integer programming techniques and their effectiveness in optimising complex scheduling requirements in higher education institutions. We analysed 95 integer programming-based models developed for solving university timetabling problems, covering relevant research from 1990 to 2023. The goal is to provide insights into the evolution of these algorithms and their impact on improving university scheduling. We identify that the implementation rate of models using integer programming is 98%, which is much higher than 34% implementation rates using meta-heuristics algorithms from the existing review. The integer programming models are analysed by the problem types, solutions, tools, and datasets. For three types of timetabling problems including course timetabling, class timetabling, and exam timetabling, we dive deeper into the commercial solvers CPLEX (47), Gurobi (11), Lingo (5), Open Solver (4), C++ GLPK (4), AIMMS (2), GAMS (2), XPRESS (2), CELCAT (1), AMPL (1), and Google OR-Tools CP-SAT (1) and identify that CPLEX is the most frequently used integer programming solver. We explored the uses of machine learning algorithms and the hybrid solutions of combining the integer programming and machine learning algorithms in higher education timetabling solutions. We also identify areas for future work, which includes an emphasis on using integer programming algorithms in other industrial areas, and using machine learning models for university timetabling to allow data-driven solutions.
... Following Schaerf (1999) and others, we will refer to the process of determining course schedules as timetabling and the university course timetabling problem as the UCTP. The output of the process of timetabling is a final list or timetable (sometimes referred to as the course schedule) of the course offerings and class sections for an academic time period. ...
Article
Full-text available
Block scheduling employs non-traditional approaches to the structure of class meeting times. Developing the schedule of courses offered during an academic term presents unique challenges for single-subject intensive block scheduling compared to traditional scheduling. This paper analyzes the key challenges, offers solutions, and identifies areas for future research.
... Schaerf [10] provided a comprehensive overview of the different types of timetable optimization problems, as well as a summary of the most frequent methods used to solve them. One of the methods is direct heuristics, which involves filling the full schedule with a single course (or one set of courses) at a given moment if there are no scheduling conflicts. ...
Article
Full-text available
To maximize resource usage, minimize disputes, and improve academic experience, professors must schedule teaching activities efficiently. This study provides an optimized automated schedule creation technique. The system generates schedules that aim to be conflict-free and efficient, utilizing evolutionary algorithms along with multi-objective optimization. Resource usage, scheduling problems, and faculty/student satisfaction are the goals of the research. The system optimizes scheduling based on room limitations, instructor availability, and student preferences. The project uses system design, model creation, algorithm implementation, and performance analysis to solve the difficult timetable-generating problem. This research should save administrators time, improve academic operations, and improve staff and student academic experiences. Scalability and flexibility allow the system to be used in multiple faculties and incorporate new limits and requirements. This paper presents a complete approach to faculty scheduling, including insights and recommendations for future study and application in educational institutions.
Article
Full-text available
Education timetabling models are widely applied approaches for the effective planning of university programs all over the world at different levels. The current research deals with a real-world university course timetabling problem at the faculty level with three main features handled simultaneously in a single integer programming model: multi-section courses, room stability and lecturer preferences. An approach to modeling multi-section courses is presented so that at least one section of a mandatory multi-section course can be chosen, both within the same curriculum and across consecutive curriculums. Moreover, room stability constraints, which have been only addressed in two-stage solutions in previous studies, are integrated to ensure that courses of a student group are assigned to the same classrooms as much as possible. Maximizing the satisfaction level of the lecturers by meeting the time slot requests is also taken into consideration. After the proposed model is introduced, the solution to the model is obtained without encountering out-of-memory errors by extending the Daskalaki et al. (Eur J Oper Res 153(1): 117–135, Daskalaki et al., Eur J Oper Res 153:117–135, 2004) approach for reducing the solution space for a large-scale problem. The computational experiments at a large-scale faculty with real-world data show that the proposed model solves the problems efficiently. The proposed model can be adapted to problems with similar structures and easily solved with existing optimization solvers, even for large faculties or departments.
Conference Paper
Neste trabalho é abordado o Problema de Tabela-Horário de Universidades no contexto dos cursos da área de computação da UFES. Além da formulação como um problema de otimização, um algoritmo resultante da adaptação da meta-heurística Adaptive Large Neighborhood Search, é proposto para resolvê-lo. O objetivo é encontrar uma solução viável, ou seja, que respeite as restrições que não podem ser violadas, e que minimize as violações das restrições cuja satisfação é desejável. Com o propósito de validar o algoritmo proposto foi utilizado nos experimentos computacionais, um conjunto instâncias com dados reais para o problema. Os resultados obtidos demonstram que o algoritmo proposto encontra soluções, em média, 88% melhores que as soluções geradas atualmente.
Thesis
Full-text available
This study illustrates the use of genetic algorithms in school timetable and discusses the implementation of the simple genetic based algorithm to obtain a school timetable for Libyan secondary school. A comparative study on genetic algorithms between earlier studies discussed in order to create feasible and efficient timetables for Libyan secondary school timetable for each level alone. Different constraints can be applied to produce different timetables using single and multi crossover point.
Article
In modular educational systems, students are allowed to choose a part of their curriculum themselves. The rationale behind letting students choose their courses themselves is to enhance self-responsibility, improve student motivation, and allow for focus on specific areas of interest. A central instrument for bringing these systems to fruition is the timetable. However, scheduling the timetable in such systems can be an extremely challenging and time-consuming task. In this study, we present a framework for classifying modular educational systems in Europe that reflects different degrees of freedom regarding student choices and explore the consequences from the perspective of scheduling a timetable that satisfies all requirements from the organizational and pedagogical perspectives. For this purpose, we conducted interviews in Austria, Germany, Finland, Switzerland, the Netherlands, and Luxembourg, and applied the framework to these educational systems, finding that among them the Finnish system shows the highest degree of modularity. After analyzing the consequences of modularity from the scheduling perspective, we assess the necessity for automated scheduling methods, which are central to realizing the potential and many benefits of modular education. The framework developed in this paper can be used by educational systems to assess their degree of modularity and consider the right approach to timetabling based on it.
Article
Full-text available
A school timetable is an n * n matrix T = (tij) in which each cell (i, j ) is filled with a number (possibly zero) of distinct symbols drawn from a set {σ1,. . . , σb}of b symbols and with the property that each symbol occurs exactly once in each row and exactly once in each column. The chapter proves two theorems about school timetables. The first may be of practical use when drawing up a school timetable because it shows the way a timetable in stages may be built. The second deals with the problem of constructing a timetable when there are a number of preassigned symbols around which the rest of the timetable must be constructed; this is a well-known problem upon which much has been written, but, the theorem here has not appeared in print. These two theorems are combined to give a more general result.
Article
We introduce a greedy local search procedure called GSAT for solving propositional satisfiability problems. Our experiments show that this procedure can be used to solve hard, randomly generated problems that are an order of magnitude larger than those that can be handled by more traditional approaches such as the Davis-Putnam procedure or resolution. We also show that GSAT can solve structured satisfiability problems quickly. In particular, we solve encodings of graph coloring problems, N-queens, and Boolean induction. General application strategies and limitations of the ap-proach are also discussed. GSAT is best viewed as a model-finding procedure. Its good performance suggests that it may be advan-tageous to reformulate reasoning tasks that have tra-ditionally been viewed as theorem-proving problems as model-finding tasks.
Conference Paper
A timetabling package called TESS, which stands for Timetabling Expert Support System, has been developed for use in Hong Kong schools. It is representative of the decision support system (DSS), being highly interactive and supportive of different practices of expert timetablers. Its distinctive feature is a suite of seemingly simple tools. Being simple, they behave in manners transparent to the user, who is then ready to command them at will to solve his/her particular timetabling problem.
Article
In this paper, the authors describe a heuristic principle for the solution of an important class of problems. Using real-world examples, it is then shown how some difficult combinatorial problems are modelled and solved by the suggested principle. In one case, a detailed discussion of the implementation of the solution is also provided.
Article
Participants at a conference held in 1985 were asked to select seminars that they wished to attend, before the schedule of seminars was constructed. The conference organizers were then faced with the problem of finding a timetable that would allow participants to attend the seminars they had chosen. This interesting combinatorial optimization problem is investigated here. A heuristic method, incorporating an annealing algorithm, is developed to help the organizers timetable similar conferences in the future.