# Benchmarking curriculum-based course timetabling: formulations, data formats, instances, validation, visualization, and results.

**ABSTRACT** We propose a set of formulations for the Curriculum-Based Course Timetabling problem, with the aim of “capturing” many real-world

formulations, and thus encouraging researchers to “reduce” their specific problems to one of them, gaining the opportunity

to compare and assess their results. This work is accompanied by a web application that maintains all the necessary infrastructures for benchmarking: validators, data formats, instances, reference scores, lower bounds, solutions, and visualizers. All instances

proposed here are based on real data from various universities and they represent a variety of possible situations.

**0**

**0**

**·**

**1**Bookmark

**·**

**61**Views

- [show abstract] [hide abstract]

**ABSTRACT:**Timetabling is the task of assigning sets of events to periods of time, taking into account resource-constraints and preferences among assignments. It is a well-studied field of research and is generally recog-nized to be a hard problem, both from the perspective of encoding it as from a computational point of view. In recent years, there has been increased interest in combining efficient search algorithms with modelling languages capable of high-level rep-resentations of real-world domains. Research into such systems is con-ducted, a.o., in the fields of Constraint Programming and Knowledge Representation. In this paper, we investigate the use of the modelling language of first-order logic extended with constructs such as aggregates, types, definitions and arithmetic, and the idp system, which implements model generation for this language, to the timetabling problem. We show the feasibility of the approach and argue that there are impor-tant advantages both from the modelling point of view, leading to nat-ural representation of the problem, and from the solving point of view, taking advantage of efficient automated search techniques like SAT and constraint propagation.01/2011; -
##### Conference Proceeding: An evolutionary algorithm hyper-heuristic for producing feasible timetables for the curriculum based university course timetabling problem.

[show abstract] [hide abstract]

**ABSTRACT:**The curriculum based course timetabling problem is a well-researched domain for which there are known benchmark data sets. Various techniques have been applied to these benchmarks in order to identify a methodology that produces the best quality timetable for one or more of the benchmark problems. The study presented in this paper takes a different approach and aims at developing a system, namely, an evolutionary algorithm (EA) hyper-heuristic, that generalizes over a set of problems rather than only producing a feasible timetable for one or more of the problems. The results of a first attempt at implementing an EA hyper-heuristic to solve the curriculum based university course timetabling problem is presented. The EA hyper-heuristic searches a heuristic space of combinations of low-level construction heuristics for feasibility, instead of a solution space. The optimal heuristic combination evolved is used to construct a solution to the timetabling problem. The EA hyper-heuristic was tested on the benchmark set of curriculum based course timetabling problems used for the second international timetabling competition. The system evolved feasible solutions for all 14 problems. The study also revealed areas for further improvement.Second World Congress on Nature & Biologically Inspired Computing, NaBIC 2010, 15-17 December 2010, Kitakyushu, Japan; 01/2010 - SourceAvailable from: Christos GogosG Post, J H Kingston, S Ahmadi, S Daskalaki, C Gogos, J Kyngas, C Nurmi, N Musliu, N Pillay, H Santos, othersAnnals of Operations Research 01/2011; · 1.03 Impact Factor

Page 1

Noname manuscript No.

(will be inserted by the editor)

Benchmarking Curriculum-Based Course Timetabling:

Formulations, Data Formats, Instances, Validation, and

Results

Fabio De Cesco · Luca Di Gaspero · Andrea

Schaerf

Abstract We propose a set of formulations for the Curriculum-Based Course Time-

tabling problem, with the aim of “capturing” many real-world formulations, and thus

encouraging researchers to “reduce” their specific problems to one of them, gaining the

opportunity to compare and assess their results. This work is accompanied by a web

site that maintains all the necessary infrastructures for benchmarking: i.e., validators,

data formats, instances, reference scores, lower bounds, and solutions. All instances

proposed here are based on real data from various universities, and they represent a

variety of possible situations.

1 Introduction

Course timetabling (CTT) consists of the weekly scheduling of the lectures of a set of

university courses within a given number of rooms and time periods, satisfying various

constraints due to conflicts and other features [22].

CTT is a practically-important and widely-studied problem; nevertheless, if we go

through the research literature on it, we see that many papers create a new formulation

and do not consider the previously-defined ones. This is due to the indisputable truth

that, like for other timetabling problems, it is impossible to write a CTT formulation

that suits all cases: every institution (and even every department) has its own rules,

features, costs, and fixations.

On the other hand, when we think about research, measurability is an important

issue, and thus this inconvenient situation should not be taken as an excuse to refrain

from performing fair comparisons and, more generally, from assessing (or benchmark-

ing) the absolute quality of a solution method proposed.

F. De Cesco

EasyStaff S.r.l.

via Oderzo 1, I-33100, Udine, Italy

E-mail: fabio@easystaff.it

L. Di Gaspero and A. Schaerf

DIEGM, University of Udine

via delle Scienze 208, I-33100, Udine, Italy

E-mail: l.digaspero@uniud.it, schaerf@uniud.it

Page 2

2

The International Timetabling Competitions, ITC-1 in 2002-03 and ITC-2 in 2007-

08, have been organized specifically with the aim of creating the common ground for

comparison. The success of the competitions confirms that there is a wide awareness

in the community of the need for such ground.

Among the different versions of CTT, one distinguishing feature is whether student

enrollments are available (and reliable) or not. In the negative case, conflicts between

courses are set according to the curricula published by the university, and not on

the basis of enrollment data. In this work, we focus on this case, in which conflicts

are based on curricula, and the resulting problem is named Curriculum-Based Course

Timetabling (CB-CTT).

The CB-CTT problem, in one of the possible formulations, has been used as one

of the tracks of ITC-2, namely track 3. The competition formulation of CB-CTT have

been designed with the twofold objective of being, on the one side, very realistic and,

on the other side, simple and general enough to attract many researchers. In fact, it

has been created by starting form a real formulation and stripping out features and

cost components in a careful way so as to maintain the general flavor of the problem

but removing a lot of overwhelming details.

Despite this effort, the competition formulation of CB-CTT has been criticized

by some of the participants for not being well-designed, in the sense that the cost

components used are not the most important or they do not penalize the right patterns.

In order to answer to these type of (reasonable) critics and to push forward the

spirit of the competition, we propose here a larger set of possible formulations for CB-

CTT. Our overall objective is thus to create a portfolio of “standard” versions of the

problem that could be accepted by a larger community of researchers.

Obviously, we do not believe that we could “hit” exactly the formulation adopted

by others; nevertheless, we hope to make simpler the “reduction” process from ad hoc

formulations, considered by researchers for their institution, to an already existing one.

The reduction would allow the researcher to work on both her/his formulation and the

“standard” one, for which results are already available and thus the assessment process

would be much easier. Thus also trying to help in bridging the gap between theory and

practice [14].

In addition, if this portfolio starts to get a footing, new formulations could be

added, by others or by ourselves, based on the feedback obtained from the timetabling

community.

In order to give a chance to this ambitious plan to become effective, we provide

along with the problem formulations all the necessary infrastructures for benchmarking:

i.e., validators, data formats, instances, scores, lower bounds, and solutions. In fact,

we believe that all the above mentioned tools are mandatory in order to foster the

necessary sharing and cross-fertilization [23]. For example, the validator is needed to

double-check that all the information has been made clear and unambiguous; and the

solutions (along with the corresponding scores) provide a set of reference results1,

which in our opinion are very useful for a first evaluation of the own solutions of the

perspective users.

This paper is therefore accompanied by a web site (http://tabu.diegm.uniud.

it/ctt) from which all datasets can be downloaded and solutions can be validated. All

updates and news about the problem will be posted there.

1The solver that we use for our solutions is a dynamic tabu search algorithm.

Page 3

3

2 Problem Definition

The basic features of CB-CTT are presented in the ITC-2 web site and in the corre-

sponding technical report [8]. However, the model has to be extended to consider the

addition components. In order to make this paper self-contained, we present here the

full extended model. The problem consists of the following basic entities:

Days, Timeslots, and Periods. We are given a number of teaching days in the week

(typically 5 or 6). Each day is split in a fixed number of timeslots, which is equal

for all days. A period is a pair composed of a day and a timeslot. The total number

of scheduling periods is the product of the days times the day timeslots.

Courses and Teachers. Each course consists of a fixed number of lectures to be sched-

uled in distinct periods, it is attended by a given number of students, and is taught

by a teacher. For each course there is a minimum number of days that the lectures

of the course should be spread in, moreover there are some periods in which the

course cannot be scheduled.

Rooms. Each room has a capacity, expressed in terms of number of available seats,

and a location expressed as an integer value representing a separate building. Some

rooms may be not suitable for some courses (because they miss some equipment).

Curricula. A curriculum is a group of courses such that any pair of courses in the

group have students in common. Based on curricula, we have the conflicts between

courses and other soft constraints.

The solution of the problem is an assignment of a period (day and timeslot) and a

room to all lectures of each course.

We split the cost component into two sets: the basic ones, which belong to all

formulations and constitute the core of CB-CTT, and the optional ones, which are

considered only in some formulations.

2.1 Basic cost components

Lectures: All lectures of a course must be scheduled, and they must be assigned to

distinct periods. A violation occurs if a lecture is not scheduled or two lectures are

in the same period.

Conflicts: Lectures of courses in the same curriculum or taught by the same teacher

must be all scheduled in different periods. Two conflicting lectures in the same

period represent one violation. Three conflicting lectures count as 3 violations: one

for each pair.

RoomOccupancy: Two lectures cannot take place in the same room in the same period.

Two lectures in the same room at the same period represent one violation. Any

extra lecture in the same period and room counts as one more violation.

Availability: If the teacher of the course is not available to teach that course at a given

period, then no lecture of the course can be scheduled at that period. Each lecture

in a period unavailable for that course is one violation.

RoomCapacity: For each lecture, the number of students that attend the course must

be less or equal than the number of seats of all the rooms that host its lectures.

All the basic cost components are hard constraint for all formulations, except for

RoomCapacity which is soft, and each student above the capacity counts as 1 point of

Page 4

4

penalty. The weight for this component is 1 in all formulations, and it can be interpreted

as the basic unit of penalty.

2.2 Optional cost components

MinWorkingDays: The lectures of each course must be spread into the given minimum

number of days. Each day below the minimum counts as 1 violation.

IsolatedLectures (CurriculumCompactness v. 1): Lectures belonging to a curriculum should

be adjacent to each other (i.e., in consecutive periods). For a given curriculum we

account for a violation every time there is one lecture not adjacent to any other

lecture within the same day. Each isolated lecture in a curriculum counts as 1

violation.

Windows (CurriculumCompactness v. 2): Lectures belonging to a curriculum should

not have time windows (i.e., periods without teaching) between them. For a given

curriculum we account for a violation every time there is one windows between two

lectures within the same day. Each time window in a curriculum counts as many

violation as its length (in periods).

RoomStability: All lectures of a course should be given in the same room. Each distinct

room used for the lectures of a course, but the first, counts as 1 violation.

StudentMinMaxLoad: For each curriculum the number of daily lectures should be within

a given range. Each lecture below the minimum or above the maximum counts as 1

violation.

TravelDistance: Students should have the time to move from one building to another

one between two lectures. For a given curriculum we account for a violation every

time there is an instantaneous move: two lectures in rooms located in different

building in two adjacent periods within the same day. Each instantaneous move in

a curriculum counts as 1 violation.

RoomSuitability: Some rooms may be not suitable for a given course because of the

absence of necessary equipment (projector, amplification, ...). Each lecture of a

course in an unsuitable room counts as 1 violation.

DoubleLectures: Some courses require that lectures in the same day are grouped to-

gether (double lectures). For a course that requires grouped lectures, every time

there is more than one lectures, a lecture non-grouped to another is not allowed.

Two lectures are grouped if they are both adjacent and in the same room. Each

non-grouped lecture counts as 1 violation.

2.3 Formulations

With the term formulation here we mean a specific set of cost components, along

with the weights assigned to each of them. The weights are necessary because we

consider only weighted-sum single-objective functions, as multi-objective formulations

and Pareto optimality issues are out of the scope of this work.

Up to now, only two formulations have been proposed: The first one has been

introduced in our previous work [10,11] and it has been used also by Burke et al [3,4]

with an IP-based approach. The second one has been specifically designed for ITC-2.

We name these formulations as UD1 and UD2, respectively (UD for Udine), and

we introduce three new ones, UD3, UD4, and UD5. Among all possible formulations

Page 5

5

Problem Formulation:

Cost Component

Lectures

Conflicts

RoomOccupancy

Availability

RoomCapacity

MinWorkingDays

IsolatedLectures

Windows

RoomStability

StudentMinMaxLoad

TravelDistance

RoomSuitability

DoubleLectures

UD1UD2UD3UD4UD5

H

H

H

H

1

5

1

—

—

—

—

—

—

H

H

H

H

1

5

2

—

1

—

—

—

—

H

H

H

H

1

—

—

4

—

2

—

3

—

H

H

H

H

1

1

—

1

—

1

—

H

1

H

H

H

H

1

5

1

2

—

2

2

—

—

Table 1 Problem formulation descriptions

(exponentially many w.r.t. the number of cost components), these ones have been

designed with the aim of capturing different university settings. Once the “machinery”

is consolidated, new formulations can be very easily added in response to stimuli from

the community.

Table 1 presents the formulations in terms of which cost components they include.

For each pair formulation/component we write in the cell the weight associated to the

component in the formulation, or ‘H’ if the component is hard. A dash sign ‘—’ means

that the component is not included in the formulation. The horizontal line separates

the basic components from the optional ones.

It is clear that the weight used in the formulations are quite arbitrary. They are

used to create common single-objective formulations, but it is understood that multi-

objective ones would be more appropriate in many cases.

3 Benchmarking

We present in this section all the information that are needed to benchmark the algo-

rithms, and thus to share the problem with other researchers.

3.1 Instances

All instances are downloadable from the problem web site. The set of instances includes

the 4 instances used in [10], called test1, ..., test4, and the 21 proposed for the

competition, called comp01, ..., comp21, which are all real cases taken mainly from our

university.

For many among those instances, the additional information needed in the new

formulations was not available, not reliable, or not meaningful. For example, for many

instances, rooms were all in the same building, therefore the travel distance was always

0. In this and similar cases, some information has been added in an arbitrary way.

Nevertheless, most of the information is composed of real data.

We have added 7 new instances, also coming from real world settings, which come

mainly from different institutions, and thus represent new cases to be dealt with. We

name these instances as DDS1, ..., DDS7.

Page 6

6

Instance

comp01

comp02

comp03

comp04

comp05

comp06

comp07

comp08

comp09

comp10

comp11

comp12

comp13

comp14

comp15

comp16

comp17

comp18

comp19

comp20

comp21

test1

test2

test3

test4

DDS1

DDS2

DDS3

DDS4

DDS5

DDS6

DDS7

toy

C

30

82

72

79

54

108

131

86

76

115

30

88

82

85

72

108

99

47

74

121

94

46

52

56

55

201

82

50

217

109

107

49

4

LR

6

16

16

18

9

18

20

18

18

18

5

11

19

17

16

20

17

9

16

19

18

12

12

13

10

21

11

8

31

18

17

9

3

PpD

6

5

5

5

6

5

5

5

5

5

9

6

5

5

5

5

5

6

5

5

5

4

4

4

5

15

11

11

10

12

5

10

4

D

5

5

5

5

6

5

5

5

5

5

5

6

5

5

5

5

5

6

5

5

5

5

5

5

5

5

6

5

5

6

5

6

5

Cu

14

70

68

57

139

70

77

61

75

67

13

150

66

60

68

71

70

52

66

78

78

26

30

55

55

99

11

9

105

44

62

37

2

MML

2-5

2-4

2-4

2-4

2-4

2-4

2-4

2-4

2-4

2-4

2-6

2-4

2-3

2-4

2-4

2-4

2-4

2-3

2-4

2-4

2-4

2-4

2-4

2-4

2-4

3-7

3-6

3-6

3-6

3-6

2-4

3-6

2-3

Co

13.2

7.97

8.17

5.42

21.7

5.24

4.48

4.52

6.64

5.3

13.8

13.9

5.16

6.87

8.17

5.12

5.49

13.3

7.45

5.06

6.09

5.25

5.57

5.89

5.98

4.58

23.2

12.4

2.85

2.19

5.79

14

75

TA

93.1

76.9

78.4

81.9

59.6

78.3

80.8

81.7

81

77.4

94.2

57

79.6

75

78.4

81.5

79.2

64.6

76.4

78.7

82.4

97.6

86.1

78.1

76.8

21.3

34.8

58.8

91.4

66

77.8

89

90

CL

3.24

2.62

2.36

2.05

1.8

2.42

2.51

2

2.11

2.54

3.94

1.74

2.01

2.34

2.36

2.39

2.33

1.53

2.42

2.5

2.25

1.97

2.11

2

2

5.18

4.06

4.76

3.78

1.89

2.38

3.01

2.1

RO

88.9

70.8

62.8

63.6

46.9

80.2

86.8

72

62

82.2

72

55.1

64.8

64.7

62.8

73.2

79.8

42.6

69.2

82.1

72.7

86.2

92.9

96.9

100

57.1

20.1

46.8

62.7

43.2

76.2

47

26.7

160

283

251

286

152

361

434

324

279

370

162

218

308

275

251

366

339

138

277

390

327

207

223

252

250

900

146

206

972

560

324

254

16

Table 2 Description of the instances

Finally, we have one small instance, called toy, that in our case turned out very

useful for debugging and testing. This instance is build in such a way that for all

formulations it is easy to find a zero-cost solution and it can be verified also by human

inspection.

Table 2 shows the main features of all instances together with some statistical

quantities. In details, it shows: courses (C), total lectures (L), rooms (R), periods per

day (PpD), days (D), curricula (Cu), min and max lectures per day per curriculum

(MML), average number of conflicts (Co), average teacher availability (TA), average

number of lectures per curriculum per day (CL), average room occupation (RO).

The feature Co (conflicts) counts the pairs of lectures that cannot be scheduled at

the same time (same course, same teacher, and same curriculum) divided by the total

number of distinct pairs of lectures.

Notice that Co and TA are computed for single lecture rather than at course level,

so as to take into account the fact that courses have different number of lectures.

Page 7

7

3.2 Data formats

The .ctt data format used for ITC-2 could not be used as is for formulations UD3,

UD4, and UD5, because it needs to be extended for adding the extra data necessary

for the new features and cost components.

We believe that it would be too complicated to maintain separated data formats for

each formulation, therefore we decide to create an extended format that accommodates

all the features. Researchers that are interested in one specific formulation can simply

ignore the unnecessary additional information from the input files.

The outcome is the .ectt file format (e for extended) which largely resembles the

.ctt one, but with extra data added in various points: header, courses, rooms, and

constraints sections. For brevity, it is not presented here but it is fully described in the

web site.2

In addition, we propose an XML format, along with its DTD (Document Type

Definition), that contains the same information. We post on the website all instances

also in this alternative format, for the convenience of researchers that are accustomed

to use this (very flexible) technology.

Finally, we provide the translators from one format to the other.

3.3 Validators

In order to allow other researchers to test whether they correctly evaluate their solu-

tions, we provide a solution validator along the lines of the one for ITC-2 track 3. This

tool is a simple program that requires three command-line arguments: the formulation,

the input file, and the solution file. The result of the validation is an output of all

specific violations (one per line), and a summary report that shows the costs for each

component plus the total one.

The validator can be downloaded form the web site as C++ source code. We provide

it open-source so that it can be inspected, improved, and extended by the community.

In addition, we also set up a web-based validator that allows the user to upload

a solution file, select an existing instance and obtain the same report information

(without having to compile and execute the validator).

Finally, we also developed a validator for the instance files, so as to guide the

process for other researchers to add their own instances to the benchmark set. This

input validator reads an instance file (in .ectt or XML format) and checks if the data

is coherent and correctly formatted, and it issues errors, warnings, and statistics. For

example, if there is a constraint to a non-existing course, this creates an error, wherever,

if a course does not belong to at least one curriculum, this generates a warning.

The use of the input validator should avoid the publication of non well-defined

instances, that could create ambiguity on the computation of the cost. In any case,

new instances would be published on the web only upon approval of the administrator.

2It also corrects an incongruity in the use of the separators in the .ctt format: in .ectt

files data fields are always separated by one single blank.

Page 8

8

3.4 Reference Results

Our solutions are obtained by a dynamic tabu search algorithm. In details, the solver

uses a short-term tabu prohibition with variable-size tabu length, but also includes the

dynamic modification of the weights of the cost components (including hard ones) based

on the number of violations. The neighborhood relation used is the simple one that

moves one lecture to a different period and/or a different room. The main parameters,

namely the tabu length range and the rate of modification of the weights have been

selected based on statistical tests.

We present here some of our (preliminary) results, with the aim of providing some

reference values for everybody interested in the problem. All corresponding solution

files are available from the web site.

Table 3 shows the results obtained using the competition timeout (360s on our

PC) and taking the best out of 40 repetitions. For all instances and all formulations

we obtained a feasible solution, and thus Table 3 reports only the total (soft) penalty.

We show only the best solution rather than the full distribution, because the scope is

to have this reference results instead of describing the results in a statistically principled

way.

In general, publishing on the web the best scores obviously gives only a partial view

of the results of a research, which indeed involves also distributions, running times, and

many other features. However, in our opinion, this information pertains to the papers

written by the authors, and it is outside the scope of the website, that has the objective

of collecting, validating, and classifying the results.

4 Related Work

The inspiration and the guidelines for this work come from Johnson’s seminal paper

[12] that emphasizes, among other features, the importance of the measurability of the

experimental results in computer science.

The motivations come also from the observation of the evolution in the last decade

of the literature on the “twin” problem, namely the examination timetabling prob-

lem(ETT). For ETT, Carter et al [6] proposed in 1996 a set of formulations which

differ from each other based on some components of the objective function. Carter also

made available a set of benchmark instances [5] extracted from real data, which rep-

resent a large variety of different situations. Many researches (see, e.g., [1,7,9]) have

adopted one of Carter’s formulations using his instances, and also have added new

instances and new formulations3. For the most complex new formulations, additional

data have been added by other researchers, mainly in an arbitrary but realistic way.

Available formulations and instances, and the corresponding best results, up to 2003,

have been published on the web [16] by Liam Merlot. More recently, Rong Qu has

created a new web site [19] that allows the visitors to download an executable that

validates ETT solutions (using a raw fixed-structure output format). Up to now, the

executable validates only solutions for the basic version of ETT. Finally, a new version

of the problem has been defined for ITC-2 (track 1) together with the online validator

to test solutions [15].

3Incidentally, as documented in detail in [20], at some time two slightly different versions

of Carter’s datasets were available on the web.

Page 9

9

Form./ Instance

UD1

UD2

UD3

UD4

UD5

comp01

4

5

8

6

11

comp02

35

75

34

49

270

comp03

52

93

45

371

206

comp04

21

45

2

20

92

comp05

244

326

434

408

1269

comp06

27

62

14

28

202

comp07

13

38

12

35

213

Form./ Instance

UD1

UD2

UD3

UD4

UD5

comp08

24

50

8

20

102

comp09

61

119

18

47

208

comp10

10

27

2

18

190

comp11

0

0

0

0

0

comp12

268

358

140

147

665

comp13

38

77

32

51

195

comp14

30

59

2

21

138

Form./ Instance

UD1

UD2

UD3

UD4

UD5

comp15

46

87

30

42

259

comp16

28

47

12

23

182

comp17

44

86

14

38

216

comp18

41

71

10

32

150

comp19

36

74

34

39

224

comp20

25

54

24

39

309

comp21

69

117

30

60

247

Form./ Instance

UD1

UD2

UD3

UD4

UD5

test1

214

234

200

213

245

test2

8

17

0

4

24

test3

36

86

18

22

108

test4

43

132

24

37

173

Form./ Instance

UD1

UD2

UD3

UD4

UD5

DDS1

238

1024

5944

2593

9677

DDS2

0

0

128

78

93

DDS3

0

0

22

11

22

DDS4

233

261

3988

6735

13064

DDS5

0

0

56

165

128

DDS6

5

11

2

10

185

DDS7

0

0

40

29

97

Table 3 Reference results

Learning from the reported experience with ETT, we hope to give to CTT a similar,

but hopefully more systematic, development that could converge rapidly to a mature

state.

Besides some earlier attempts to define a standard timetabling language [2,13,18],

a remarkable effort for CTT in this direction has been made by M¨ uller and Murray:

they published on the web [21] all their instances and the source code of the solution

methods [17]. Their approach is however somewhat complementary to our, as they

provide directly the general problem formulation with all its complex details. Our idea

instead has been to start with simpler formulations and add complexity in a controlled

way only when (and if) the time is mature for it. In our opinion, both can be useful

for the evolution of the field.

5 Discussion, Conclusions, and Future Work

In [23] we advocated for the necessity of developing a web application, the so-called

PMS (problem management system), rather than a simple web site for managing an

optimization problem. Our current web site is the first step toward the development

Page 10

10

of the complete PMS, which is currently under development. At present, the most

important feature that is still missing is the possibility for other researchers to add

(validated) solutions and new instances in an automatic way. Another remarkable fea-

ture that is under development is the visualization of the solution with the highlight

of the violations and penalties.

Regarding the problem, the full-fledged formulation used at the University of Udine,

with respect to the five proposed here, still contains some extra features:

– For most cost components, the hard and the soft version are both available to the

user. For example, it is possible to set soft conflicts for courses and soft unavail-

ability for teachers.

– There is a cost component dealing with the lunch break for students: at least one

slot among those around the lunch time should be free.

– If a room is too big for a class, this is also penalized (this is not only for the

unpleasant feeling that an empty room provokes, but also to save big rooms for

unforeseen activities).

– Weight assigned to soft violations are not fixed. The have a complex penalty scheme,

which depends also on the number of students in the curriculum.

These features are among the first candidates to be inserted in future formulations,

depending also on the general interest they rise.

Acknowledgments

We thank Marco Chiarandini for his comments of an earlier draft of this paper that

helped us to improve it.

We are grateful to Barry McCollum and the other members of the team of ITC-2

for their work for the organization of the competition.

Finally, we also thank Jakub Mareˇ cek and Harald Michalsen for fruitful discussions

about the formulation of Course Timetabling.

References

1. E. Burke and J. Newall. A multi-stage evolutionary algorithm for the timetable problem.

IEEE Transactions on Evolutionary Computation, 3(1):63–74, 1999.

2. E. Burke, P. Pepper, and J. Kingston. A standard data format for timetabling instances.

In E. Burke and M. Carter, editors, Proc. of the 2nd Int. Conf. on the Practice and Theory

of Automated Timetabling (PATAT-97), selected papers, volume 1408 of Lecture Notes in

Computer Science, pages 213–222, Berlin-Heidelberg, 1997. Springer-Verlag.

3. Edmund K. Burke, Jakub Mareˇ cek, Andrew J. Parkes, and Hana Rudov´ a. On a clique-

based integer programming formulation of vertex colouring with applications in course

timetabling. Technical Report NOTTCS-TR-2007-10, The University of Nottingham, Not-

tingham, 2007.

4. Edmund K. Burke, Jakub Mareˇ cek, Andrew J. Parkes, and Hana Rudov´ a. Penalising pat-

terns in timetables: Novel integer programming formulations. In Stefan Nickel and J¨ org

Kalcsics, editors, Operations Research Proceedings 2007, Operations Research Proceed-

ings, Berlin, 2008. Springer.

5. M. W. Carter. Carter’s test data.URL: ftp://ftp.mie.utoronto.ca/pub/carter/

testprob/, 2005. Viewed: March 13, 2007, Updated: June 7, 2005.

6. M. W. Carter, G. Laporte, and S. Y. Lee. Examination timetabling: Algorithmic strategies

and applications. Journal of the Operational Research Society, 74:373–383, 1996.

Page 11

11

7. S. Casey and J. Thompson. Grasping the examination scheduling problem. In Edmund

Burke and Patrick De Causmaecker, editors, Proc. of the 4th Int. Conf. on the Practice and

Theory of Automated Timetabling (PATAT-2002), selected papers, volume 2740 of Lecture

Notes in Computer Science, pages 232–244, Berlin-Heidelberg, 2003. Springer-Verlag.

8. Luca Di Gaspero, Barry McCollum, and Andrea Schaerf. The second international timeta-

bling competition (ITC-2007): Curriculum-based course timetabling (track 3). Technical

Report QUB/IEEE/Tech/ITC2007/CurriculumCTT/v1.0/1, School of Electronics, Elec-

trical Engineering and Computer Science, Queens University, Belfast (UK), August 2007.

ITC-2007 site: http://www.cs.qub.ac.uk/itc2007/.

9. Luca Di Gaspero and Andrea Schaerf. Tabu search techniques for examination timetabling.

In E. Burke and W. Erben, editors, Proc. of the 3rd Int. Conf. on the Practice and Theory

of Automated Timetabling (PATAT-2000), selected papers, volume 2079 of Lecture Notes

in Computer Science, pages 104–117. Springer-Verlag, Berlin-Heidelberg, 2001.

10. Luca Di Gaspero and Andrea Schaerf. Multi-neighbourhood local search with application

to course timetabling. In Edmund Burke and Patrick De Causmaecker, editors, Proc. of

the 4th Int. Conf. on the Practice and Theory of Automated Timetabling (PATAT-2002),

selected papers, volume 2740 of Lecture Notes in Computer Science, pages 262–275, Berlin-

Heidelberg, 2003. Springer-Verlag.

11. Luca Di Gaspero and Andrea Schaerf. Neighborhood portfolio approach for local search

applied to timetabling problems. Journal of Mathematical Modeling and Algorithms,

5(1):65–89, 2006. DOI: 10.1007/s10852-005-9032-z.

12. D. S. Johnson. A theoretician’s guide to the experimental analysis of algorithms. In M. H.

Goldwasser, D. S. Johnson, and C. C. McGeoch, editors, Data Structures, Near Neighbor

Searches, and Methodology: Fifth and Sixth DIMACS Implementation Challenges, pages

215–250. American Mathematical Society, 2002. Available from http://www.research.

att.com/~dsj/papers.html.

13. Jeffrey H. Kingston. Modelling timetabling problems with STTL. In E. Burke and W. Er-

ben, editors, Proc. of the 3rd Int. Conf. on the Practice and Theory of Automated Timeta-

bling (PATAT-2000), selected papers, volume 2079 of Lecture Notes in Computer Science,

pages 309–321. Springer-Verlag, Berlin-Heidelberg, 2001.

14. Barry McCollum. A perspective on bridging the gap in university timetabling. In E. Burke

and H. Rudov´ a, editors, Proc. of the 6th Int. Conf. on the Practice and Theory of Au-

tomated Timetabling (PATAT-2006), selected papers, volume 3867 of Lecture Notes in

Computer Science, pages 3–23, Berlin-Heidelberg, 2007. Springer-Verlag.

15. Barry McCollum, Paul McMullan, Edmund K. Burke, Andrew J. Parkes, and Rong Qu.

The second international timetabling competition: Examination timetabling track. Techni-

cal Report QUB/IEEE/Tech/ITC2007/Exam/v4.0/17, Queens University, Belfast (UK),

September 2007.

16. Liam Merlot. Public exam timetabling data sets. URL: http://www.or.ms.unimelb.edu.

au/timetabling, 2005. Viewed: March 13, 2007, Updated: October 13, 2003.

17. Keith S. Murray, Tom´ as M¨ uller, and Hana Rudov´ a. Modeling and solution of a complex

university course timetabling problem. In Proc. of the 6th Int. Conf. on the Practice and

Theory of Automated Timetabling (PATAT-2006), selected papers, pages 189–209, 2007.

18. E.¨Ozcan. Towards an XML-based standard for timetabling problems: TTML.

G. Kendall, E. Burke, S. Petrovic, and M. Gendreau, editors, Proc. of the 1st Multidisci-

plinary International Conference on Scheduling : Theory and Applications (MISTA-03),

selected papers, pages 163–185. Springer, 2005.

19. R. Qu. The exam timetabling site. URL: http://www.cs.nott.ac.uk/~rxq/ETTP.htm,

2006. Viewed: March 13, 2007, Updated: July 8, 2006.

20. R. Qu, E. Burke, B. McCollum, L. Merlot, and S.Y. Lee. The state of the art of exami-

nation timetabling. Technical Report NOTTCS-TR-2006-4, School of CSiT, University of

Nottingham, UK, 2006.

21. Tom´ aˇ s M¨ uller and Keith Murray. University course timetabling & student scheduling.

URL: http://www.unitime.org, 2008. Viewed: January 24, 2008, Updated: November 28,

2007.

22. Andrea Schaerf. A survey of automated timetabling.

13(2):87–127, 1999.

23. Andrea Schaerf and Luca Di Gaspero. Measurability and reproducibility in timetabling

research: Discussion and proposals. In E. Burke and H. Rudov´ a, editors, Proc. of the

6th Int. Conf. on the Practice and Theory of Automated Timetabling (PATAT-2006),

selected papers, volume 3867 of Lecture Notes in Computer Science, pages 40–49, Berlin-

Heidelberg, 2007. Springer-Verlag.

In

Artificial Intelligence Review,

#### View other sources

#### Hide other sources

- Available from Luca Di Gaspero · Nov 22, 2012
- Available from uniud.it