European Journal of Operational Research: Zhipeng Lü, Jin-Kao Hao
European Journal of Operational Research: Zhipeng Lü, Jin-Kao Hao
a r t i c l e i n f o a b s t r a c t
Article history: This paper presents an Adaptive Tabu Search algorithm (denoted by ATS) for solving a problem of curric-
Received 13 September 2008 ulum-based course timetabling. The proposed algorithm follows a general framework composed of three
Accepted 1 December 2008 phases: initialization, intensification and diversification. The initialization phase constructs a feasible ini-
Available online 24 December 2008
tial timetable using a fast greedy heuristic. Then an adaptively combined intensification and diversifica-
tion phase is used to reduce the number of soft constraint violations while maintaining the satisfaction of
Keywords: hard constraints. The proposed ATS algorithm integrates several distinguished features such as an origi-
Timetabling
nal double Kempe chains neighborhood structure, a penalty-guided perturbation operator and an adap-
Heuristic
Tabu Search
tive search mechanism. Computational results show the high effectiveness of the proposed ATS
Iterated Local Search algorithm, compared with five reference algorithms as well as the current best known results. This paper
Perturbation operator also shows an analysis to explain which are the essential ingredients of the ATS algorithm.
ITC-2007 Ó 2008 Elsevier B.V. All rights reserved.
0377-2217/$ - see front matter Ó 2008 Elsevier B.V. All rights reserved.
doi:10.1016/j.ejor.2008.12.007
236 Z. Lü, J.-K. Hao / European Journal of Operational Research 200 (2010) 235–244
hybrid algorithm was assessed on a set of 4 instances used in the We choose a direct solution representation for simplicity rea-
literature and a set of 21 public competition instances from ITC- sons. A candidate solution is represented by a p m matrix X
2007, showing very competitive results (Section 4). where xi;j corresponds to the course label assigned at period t i
As the second objective of this paper, we carefully investigate and room rj . If there is no course assigned to period t i and room
several important features of the proposed algorithm (Section 5). rj , then xi;j takes the value ‘‘1”. With this representation we en-
The analysis shed light on why some ingredients of our ATS algo- sure that there will be no more than one course assigned to each
rithm are essential and how they lead to the efficiency of our room in any period, meaning that the second hard constraint H2
ATS algorithm. will always be satisfied. For courses, rooms, curricula and solution
representation X, a number of symbols and variable definitions are
presented in Table 1.
2. Curriculum-based course timetabling Given these notations, we can describe the CB-CTT problem in a
formal way for a candidate solution X. The four hard constraints
2.1. Problem description and the penalty costs for the four soft constraints are as follows:
The CB-CTT problem consists in scheduling lectures of a set of H1. Lectures: 8ck 2 C,
courses into a weekly timetable, where each lecture of a course X
must be assigned a period and a room in accordance with a given
vfxi;j ¼ ck g ¼ lk ;
i¼1;...;p;j¼1;...;m
set of constraints [13]. A feasible timetable is one in which all lec-
tures have been scheduled at a timeslot and a room, so that the where v is the truth indicator function which takes values of 1 if
hard constraints H1 H4 (see below) are satisfied. In addition, a the given proposition is true and 0 otherwise.
feasible timetable satisfying the four hard constraints incurs a pen-
alty cost for the violations of the four soft constraints S1 S4. Then,
the objective of the CB-CTT problem is to minimize the number of
soft constraint violations in a feasible solution. The four hard con-
Table 1
straints and four soft constraints are: Notations used for the CB-CTT problem.
Symbols Description
H1. Lectures: Each lecture of a course must be scheduled in a
distinct period and a room. n The total number of courses
H2. Room occupancy: Any two lectures cannot be assigned in m The total number of rooms
d The number of working days per week
the same period and the same room. h The number of timeslots per working day
H3. Conflicts: Lectures of courses in the same curriculum or p The total number of periods, p ¼ d h
taught by the same teacher cannot be scheduled in the same s The total number of curricula
period, i.e., no period can have an overlapping of students nor C Set of the courses, C ¼ fc1 ; ; cn g, jCj ¼ n
R Set of the rooms, R ¼ fr 1 ; ; rm g, jRj ¼ m
teachers.
T Set of the periods, T ¼ ft1 ; ; tp g, jTj ¼ p
H4. Availability: If the teacher of a course is not available at a CR Set of the curricula, CR ¼ fCr 1 ; ; Cr s g, jCRj ¼ s
given period, then no lectures of the course can be assigned to Cr k The kth curriculum including a set of courses
that period. li The number of lectures of course ci
P
S1. Room capacity: For each lecture, the number of students l The total number of all lectures, l ¼ n1 li
stdi The number of students attending course ci
attending the course should not be greater than the capacity tci The teacher instructing course ci
of the room hosting the lecture. mdi The number of minimum working days of course ci
S2. Room stability: All lectures of a course should be scheduled capj The capacity of room rj
in the same room. If this is impossible, the number of occupied uav i;j Whether course ci is unavailable at period tj . uav i;j ¼ 1 if it is
unavailable, uav i;j ¼ 0 otherwise
rooms should be as few as possible.
conij Whether course ci and cj are conflict with each other;
S3. Minimum working days: The lectures of a course should be
spread into the given minimum number of days.
0; if ðtci –tcj Þ ^ ð8Crq ; ci R Crq _ cj R Cr q Þ;
S4. Curriculum compactness: For a given curriculum, a viola- conij ¼
1; otherwise:
tion is counted if there is one lecture not adjacent to any other
lecture belonging to the same curriculum within the same day,
xi;j The course assigned at period t i and room r j
which means the agenda of students should be as compact as
nri ðXÞ Number of rooms occupied by course ci for a candidate solution X;
possible. P
nri ðXÞ ¼ m
j¼1 rij ðXÞ, where
H2. Room occupancy: This hard constraint is always satisfied by a sequential greedy heuristic starting from an empty timetable,
using our solution representation. from which course assignments are constructed by inserting one
H3. Conflicts: 8xi;j ; xi;k 2 X; xi;j ¼ cu ; xi;k ¼ cv , appropriate lecture into the timetable at each time. At each step,
two distinct operations are carried out: one is to select an unas-
conuv ¼ 0:
signed lecture of a course, the other is to determine a period-room
H4. Availability: 8xi;j ¼ ck 2 X, pair for this lecture.
uav k;i ¼ 0: In the lecture selection heuristic, the courses with a small num-
ber of available periods and a large number of unassigned lectures
S1. Room capacity: 8xi;j ¼ ck 2 X, have priority. This heuristic is similar to the greedy coloring heu-
ristic DSATUR [4]. Once we have chosen one lecture of a course
stdk capj ; if stdk > capj ;
f1 ðxi;j Þ ¼ to assign, we want to select a period among all available ones that
0; otherwise:
is least likely to be used by other unfinished courses at later steps.
S2. Room stability: 8ci 2 C, For this purpose, when attempting to make a feasible insertion
move, we count the total number of unfinished courses that be-
f2 ðci Þ ¼ nr i ðXÞ 1:
come unavailable at the current period. The feasible lecture inser-
S3. Minimum working days: 8ci 2 C, tion moves with small value of this number are highly favored. Ties
are broken according to the soft constraint penalty incurred.
mdi ndi ðXÞ; if ndi ðXÞ < mdi ;
f3 ðci Þ ¼ We have no proof that this greedy heuristic guarantees to find a
0; otherwise: feasible solution for a given instance. However, for all the tested in-
S4. Curriculum compactness: 8xi;j ¼ ck 2 X, stances in this paper, a feasible solution is always easily obtained.
X Notice that infeasibility of the initial solution does not change the
f4 ðxi;j Þ ¼ vfck 2 Crq g isoq;i ðXÞ; general ATS approach since unsatisfied hard constraints can be re-
Cr q 2CR
laxed and incorporated into the evaluation function of the ATS
where algorithm.
8
< 1; if ði mod h ¼ 1 _ appq;i1 ðXÞ ¼ 0Þ;
> 3.2. Tabu Search algorithm
isoq;i ðXÞ ¼ ^ ði mod h ¼ 0 _ appq;iþ1 ðXÞ ¼ 0Þ;
>
:
0; otherwise: In this section, we focus on the basic search engine of our ATS
algorithm – Tabu Search [15]. Our TS procedure exploits two neigh-
borhoods (denoted by N 1 and N 2 , see below) in a token-ring way
With the above formulation, we can then calculate the total soft [12]. More precisely, we start the TS procedure with one neighbor-
penalty cost for a given candidate feasible solution X according to hood. When the search ends at its best local optimum, we restart TS
the cost function f defined in formula (1). The goal is then to find a from this local optimum, but with the other neighborhood. This
feasible solution X such that f ðX Þ 6 f ðXÞ for all X in the feasible process is repeated until no improvement is possible and we say
search space that a TS phase is achieved. In our case, the TS procedure begins
X X X with the basic neighborhood N 1 : N 1 ! N 2 ! N 1 ! N 2 . . .
f ðXÞ ¼ a1 f1 ðxi;j Þ þ a2 f2 ðci Þ þ a3 f3 ðci Þ
xi;j 2X ci 2C ci 2C
X 3.2.1. Search space and evaluation function
þ a4 f4 ðxi;j Þ; ð1Þ Once a feasible timetable that satisfies all the hard constraints is
xi;j 2X
reached, our intensification phase (TS algorithm) optimizes the soft
a1 , a2 , a3 and a4 are the penalties associated to each of the soft con- constraint cost function without breaking hard constraints any
straints. In the CB-CTT formulation, they are set as: a1 ¼ 1; a2 ¼ more. Therefore, the search space of our TS algorithm is limited
1; a3 ¼ 5; a4 ¼ 2. Note that a1 a4 are fixed in the problem to the feasible timetables. The evaluation function is just the soft
formulation and should not be confused with the penalty parame- constraint violations as defined in formula (1).
ters used by some solution procedures.
3.2.2. Neighborhood structure
It is widely believed that one of the most important features of a
3. Solution method local search algorithm is the definition of its neighborhood. In a lo-
cal search procedure, applying a move mv to a candidate solution X
Our Adaptive Tabu Search algorithm (ATS) follows a general leads to a new solution denoted by X mv . Let MðXÞ be the set of
framework composed of three phases: initialization, intensification all possible moves which can be applied to X while maintaining
and diversification. The initialization phase (Section 3.1) constructs feasibility, then the neighborhood N of X is defined by:
a feasible initial timetable using a fast greedy heuristic. As soon as NðXÞ ¼ fX mv j mv 2 MðXÞg. For the CB-CTT problem, we use
a feasible initial assignment is reached, the adaptively combined two distinct moves denoted by SimpleSwap and KempeSwap.
intensification and diversification phase is used to reduce the num- Basic neighborhood N 1 : N 1 is composed of all feasible moves of
ber of soft constraint violations. The intensification phase (Section SimpleSwap. A SimpleSwap move consists in exchanging the hosting
3.2) employs a Tabu Search algorithm [15] while the diversification periods and rooms assigned to two lectures of different courses.
phase (Section 3.3.1) is based on a penalty-guided perturbation Applying the SimpleSwap move to two different courses xi;j and
operator borrowed from Iterated Local Search [20]. Furthermore, xi0 ;j0 in solution X consists in assigning the value of xi;j to xi0 ;j0 and in-
two self-adaptive mechanisms (Section 3.3.2) are employed to pro- versely the value of xi0 ;j0 to xi;j . Note that moving one lecture of a
vide a tradeoff between intensification and diversification. course to a free position is a special case of the SimpleSwap move
where one of the lectures is empty and it is also included in N 1 .
3.1. Initial solution Therefore, the size of neighborhood N 1 is bounded by Oðl p mÞ
Pn1
where l ¼ i¼0 li because there are l lectures and the number of
The first phase of our algorithm generates a feasible initial solu- swapping lectures (including free positions) is bounded by
tion satisfying all the hard constraints (H1 H4). This is achieved Oðp mÞ.
238 Z. Lü, J.-K. Hao / European Journal of Operational Research 200 (2010) 235–244
Advanced neighborhood N 2 : N 2 is composed of all feasible In order to maintain the feasibility of the Kempe chain neigh-
moves of KempeSwap. A KempeSwap move is defined by inter- borhood solution, another important property must be verified:
changing two Kempe chains. If we focus only on courses and con- The number of courses in each period (after Kempe chain ex-
flicts, each problem instance can be looked as a graph G where change) cannot exceed the number of available rooms. For exam-
nodes are courses and edges connect courses with students or tea- ple, in Fig. 1, with respect to the single Kempe chain interchange,
cher in common. In a feasible timetable, a Kempe chain is the set of only one feasible move can be produced by interchanging courses
nodes that forms a connected component in the subgraph of G in- in K a , while other four single Kempe chain interchanges (K b , K c , K d
duced by the nodes that belong to two periods. A KempeSwap pro- and K e ) cannot produce feasible solutions since these moves vio-
duces a new feasible assignment by swapping the period labels late the above-mentioned property and thus are forbidden. In fact,
assigned to the courses belonging to one or two specified Kempe this property largely restricts the number of acceptable candidate
chains. solutions for single Kempe chain interchanges. We call this restric-
Formally, let K 1 and K 2 be two Kempe chains in the subgraph tion room allocation violation.
with respect to two periods t i and tj , a KempeSwap produces an However, as soon as the double Kempe chains interchange is
assignment by replacing t i with ðti n ðK 1 [ K 2 ÞÞ [ ðtj \ ðK 1 [ K 2 ÞÞ performed, the room allocation violation is relaxed and a large num-
and t j with ðtj n ðK 1 [ K 2 ÞÞ [ ðti \ ðK 1 [ K 2 ÞÞ. Note that in the defini- ber of feasible moves can be generated. For instance, in Fig. 1 three
tion of N 2 at least three courses are involved, i.e., j K 1 j þ j K 2 jP 3. double Kempe chains interchanges can be produced by swapping
For instance, Fig. 1a depicts a subgraph deduced by two periods ti K b and K e , K c and K d as well as K b and K c .
and t j and there are five Kempe chains: K a ¼ fc1 ; c2 ; c7 ; c8 g, We will show in Section 5.2 that the proposed double Kempe
K b ¼ fc3 ; c6 ; c9 g, K c ¼ fc4 ; c11 ; c12 g, K d ¼ fc5 g and K e ¼ fc10 g. In this chains move is much more powerful than other existing moves
example, each room at periods ti and tj has one lecture. A Kempe- (one lecture move, two lectures swap and single Kempe chain
Swap of K b and K c produces a new assignment by moving interchange) for timetabling [8,18].
fc3 ; c4 ; c6 g to tj and fc9 ; c11 ; c12 g to t i , as shown in Fig. 1b.
Note that in our KempeSwap, one of the swapping Kempe chains 3.2.3. Incremental evaluation and neighborhood reduction
can be empty, i.e., we add a new empty Kempe chain K f ¼ £. In In order to evaluate the neighborhood in an efficient way, we
this case, the move of KempeSwap degenerates into a single Kempe use an incremental evaluation technique. The main idea is to main-
chain interchange. Formally, it means replacing t i with tain in a special data structure the move value for each possible
ðt i n KÞ [ ðtj \ KÞ and t j with ðt j n KÞ [ ðti \ KÞ where K is the non- move of the current solution. Each time a move is carried out,
empty Kempe chain [22,29]. For example, in Fig. 1a, if we exchange the elements of this data structure affected by the move are up-
the courses of the Kempe chain K a , it produces an assignment by dated accordingly.
moving fc1 ; c2 g to tj and fc7 ; c8 g to t i . It is noteworthy to notice that However, the move evaluation of the advanced neighborhood
our double Kempe chains interchange can be considered as a gen- N 2 needs much more computational efforts than that of N 1 due
eralization of the single Kempe chain interchange known in the lit- to the running of the matching algorithm. In order to save CPU
erature [8,29]. time, we attempt to use the matching algorithm as few as possible.
Once courses are scheduled to periods, the room assignment According to the problem formulation, the soft costs can be classi-
can be done by solving a bipartite matching problem [24], where fied into the room-related (S1 and S2) and period-related (S3 and S4)
both heuristic and exact algorithms can be employed. In this paper, costs. From the definition of N 2 , it is clear that the period-related
we implement an exact algorithm, the augmenting path algorithm cost Dfp can be calculated without calling the matching algorithm
implemented in [28], which runs in OðjVjjEjÞ. and therefore it is easy to calculate, while the calculation of the
Since KempeSwap can be considered as an extended version of room-related cost Dfr is time consuming due to the higher compu-
swapping two lectures (and afterwards several other related lec- tational cost of the matching algorithm. In our implementation, we
tures in the specified Kempe chain(s) being moved), the size of only record and update the period-related move values Dfp for the
N 2 is bounded by Oðl ðl þ pÞÞ, where the size of double Kempe neighborhood solutions of N 2 , while for the room-related move
2
chains interchange is bounded by Oðl Þ and the size of single values, a special reduction technique is employed to decide
Kempe chain interchange is bounded by Oðl pÞ. whether to call the matching algorithm or not.
In fact, we use the period-related cost Dfp as a goodness estima-
tion of the Kempe move. Specifically, if the period-related cost Dfp
is promising (i.e., Dfp 6 s, practically s ¼ 2 produces competitive
results for a large class of instances), then we call the matching
algorithm to make room allocations and obtain the total incremen-
tal evaluation cost Df . Otherwise, this neighborhood candidate
solution will be discarded. In this way, at each iteration only a
small subset of the promising neighboring solutions are thoroughly
evaluated, thus allowing us to save a considerable amount of CPU
time.
one lecture of course ci is moved from period t j to t k , it is tabu to where / is a positive real number (empirically set at 4.0). After that,
assign any lecture of ci to t j using a (single or double) Kempe chain g feasible moves of SimpleSwap or KempeSwap are randomly and
move. sequentially performed, each involving at least one of the selected
The tabu tenure ttðci Þ of a course ci is tuned adaptively accord- g lectures.
ing to the current solution quality f and the frequency of the moves As previously mentioned, the perturbation strength g is one of
involving lectures of course ci , denoted by ttðci Þ ¼ f þ u freqðci Þ the most important ingredients of ILS, which determines the qual-
where u is a parameter that takes values in [0, 1]. The first part ity gap between the two solutions before and after perturbation. In
of this function can be explained by the reason that a solution with our case, g is adaptively adjusted and takes values in an interval
high soft cost penalties should have a long tabu tenure to escape ½gmin ; gmax (set experimentally gmin ¼ 4; gmax ¼ 15).
from the local optimum trap. The basic idea behind the second part
is to penalize a move which repeats too often. The coefficient u is 3.3.2. Two self-adaptive mechanisms for ATS
dynamically defined as the ratio of the number of conflicting Adaptive Tabu Search
courses of ci over the total number of courses. It is reasonable to
1: Input: I: an instance of CB-CTT
think that a course involved in a large number of conflicts has more 2: Output: X : the best solution found so far
risk to be moved than a course having fewer conflicts. Notice that 3: % Initialization: lines 6–8
freqðci Þ is the essential part of the above tabu tenure function and 4: % Intensification: lines 11–17
frequency-based tabu tenure techniques have been used in the lit- 5: % Diversification: lines 10, 23
6: X0 feasible initial solution
erature, see e.g. [30]. 7: n 0, h h0 , g gmin
8: X TSðX 0 ; hÞ
3.2.5. Aspiration criteria and stop condition 9: repeat
In our TS algorithm, the tabu status of a move is disabled if it 10: X0 PerturbðX ; gÞ
leads to a solution better than the current best solution. Our TS % perturb
0
X with strength g, get X0
11: X TSðX 0
; hÞ
stops when the best solution cannot be improved within a given 12:
0
if f ðX Þ 6 f ðX Þ þ 2 then
number h of moves and we call this number the depth of TS. 13: repeat
14: h ð1 þ lÞ h
3.3. Adaptive TS: Combining TS with perturbation %0 gradually 0
increase the depth of TS
15: X TSðX ; hÞ
16: until no better solution is obtained
TS and Iterated Local Search (ILS) are two well-known metaheu- 17: end if0
ristics and have proved their efficiency for solving separately a 18: if f ðX Þ < f ðX 0 Þ then
For acceptance criterion in the perturbation process, we use a We also assess the performance of our ATS algorithm with re-
strong exploitation technique, i.e., only better solution is accepted spect to five other reference algorithms, which include ITC-2007
as the current best solution. As soon as the local optimal solution organizer’s algorithm developed by De Cesco et al in [11], the win-
0
X obtained by TS is better than the best solution X found so ner algorithm of ITC-2007 by Müller in [23], the algorithm by Lach
0
far, we replace the best known solution X with X , as shown in and Lübbecke in [16], the 4th place algorithm of ITC-2007 by Gei-
lines 18 and 19 of Algorithm ‘‘Adaptive Tabu Search”. In this paper, ger in [14] and the 5th place algorithm of ITC-2007 by Clark et al. in
we use two stop conditions as described: The time limit imposed [9].
by the ITC-2007 competition rules and a maximum number of All these 8 algorithms use the same stop condition which is just
moves (see Section 4). the timeout condition required by ITC-2007 competition rules. On
our PC, this corresponds to 390 seconds. Table 3 summarizes the
4. Experimental results computational statistics of our ATS algorithm and Table 4 gives
the best results obtained by our three algorithms and these refer-
4.1. Problem instances and experimental protocol ence algorithms.
In Table 3, columns 2–7 give the computational statistics of our
To evaluate the efficiency of our proposed ATS algorithm, we ATS algorithm, according to the following performance indicators:
carry out experiments on two different data sets. The first (4 in- the best score ðfmin Þ, the average score (fave ), the standard deviation
stances) was previously used in the literature for the old version ðrÞ, the total number of iteration moves (Iter), the total number of
of the CB-CTT problem [12]. The second (21 instances) is from perturbations (Pert) and the total CPU time on our computer
the Second International Timetabling Competition [1]. needed to find the best solution fmin (Time). If there exist multiple
Our algorithm is programmed in C and compiled using GNU hits on the best solution in the 100 independent runs, the values
GCC on a PC running Windows XP with 3.4GHz CPU and 2.0Gb listed in Table 3 are the average over these multiple best hits.
RAM. To obtain our computational results, each instance is solved Table 4 shows the best results obtained by our three algorithms
100 times independently with different random seeds. ATS, TS and ILS, as well as the five reference algorithms. The last
All the computational results were obtained without special column in Table 4 also indicates the best known results obtained
tuning of the parameters, i.e., all the parameters used in our algo- by these five reference algorithms for each instance under the
rithm are fixed (constant) or dynamically and automatically tuned ITC-2007 timeout condition. From Table 4, one clearly observes
during the problem solving for all the instances considered here. It that the ATS algorithm outperforms its two basic components TS
is possible that better solutions would be found by using a set of and ILS alone on all the instances (except for three where they
instance-dependent parameters. However, our aim is to design a get the same score). This demonstrates the importance of the hy-
robust solver which is able to solve efficiently a large panel of in- brid mechanism of adaptively integrating TS and ILS.
stances. Table 2 gives the descriptions and settings of the impor- When comparing with the best known results obtained by the
tant parameters used in our ATS algorithm. five reference algorithms (last column in Table 4), one observes
that the best results obtained by our ATS algorithm are quite com-
4.2. Results under ITC-2007 timeout condition petitive with respect to these previously best known results (best
results for each instance are indicated in bold and equal best
Our first experiment aims to evaluate the ATS algorithm on the results are indicated in italic). For the 4 previous instances, ATS sig-
4 previous instances (test1–test4) and 21 competition instances nificantly improves the best known results obtained by De Cesco et
(comp01–comp21) of the ITC-2007, by comparing its performance
with its two basic components (TS and ILS). To make the compar-
ison as fair as possible, we implement the TS and ILS algorithms by Table 3
Computational statistics of the ATS algorithm under the ITC-2007 competition stop
reusing the ATS algorithm as follows. We define the TS algorithm
conditions.
as the ATS algorithm with its adaptive perturbation operator dis-
abled. In order to give more search power to the TS algorithm, Instance ATS
the depth of TS is gradually increased until the timeout condition fmin fave r Iter Pert TimeðsÞ
is met. The ILS algorithm is the ATS algorithm with the tabu list test1 224 229.5 1.8 15,586 208 189
disabled. All the other ingredients of the ATS are thus shared by test2 16 17.1 1.0 35,271 406 182
the three compared algorithms. test3 74 82.9 4.1 20,549 369 160
test4 74 89.4 6.1 37,346 735 208
comp01 5 5.0 0.0 321 5 5
comp02 34 60.6 7.5 15,647 545 370
comp03 70 86.6 6.3 8246 102 257
Table 2 comp04 38 47.9 4.0 5684 68 124
Settings of important parameters. comp05 298 328.5 11.7 35,435 54 191
comp06 47 69.9 7.4 13,457 245 116
Parameters Description Values or updating
comp07 19 28.2 5.6 15,646 368 383
h0 Basic depth of TS 10 comp08 43 51.4 4.6 17,404 190 380
l Increment speed of h 0.6 comp09 99 113.2 6.9 20,379 238 370
h Depth of TS h ¼ ð1 þ lÞ h comp10 16 38.0 10.8 16,026 160 389
n Non-improvement TS phases n¼nþ1 comp11 0 0.0 0.0 236 3 3
gmin Basic perturbation strength 4 comp12 320 365.0 17.5 40,760 590 382
gmax Strong perturbation strength 15 comp13 65 76.2 6.1 16,779 182 300
g Perturbation strength g ¼ maxfgmin þ k n; gmax g comp14 52 62.9 6.4 24,427 270 368
k Updating factor of g 0.3 comp15 69 87.8 7.3 20,666 275 386
q Total candidate number of perturbation 30 comp16 38 53.7 6.4 8512 99 215
lectures comp17 80 100.5 7.8 15,009 151 364
/ Importance factor for perturbation 4.0 comp18 67 82.6 5.3 51,612 577 389
lecture selection comp19 59 75.0 5.9 8788 94 225
s Reduction cutoff for advanced 2 comp20 35 58.2 8.5 6188 61 187
neighborhood N 2 comp21 105 125.3 7.6 16,566 167 348
Z. Lü, J.-K. Hao / European Journal of Operational Research 200 (2010) 235–244 241
Table 4 Table 5
Best results and comparison with other algorithms under the ITC-2007 timeout Computational statistics of ATS algorithm under relaxed stop condition.
conditions.
Instance ATS
Instance ATS TS ILS [11] [23] [16] [14] [9] Best known
fmin fave r Iter Pert TimeðsÞ
test1 224 230 226 234 – – – – 234
test1 224 227.2 0.5 17,845 234 216
test2 16 16 16 17 – – – – 17
test2 16 16.0 0 32,416 351 167
test3 74 82 79 86 – – – – 86
test3 73 76.0 2.13 40,849 667 2078
test4 74 92 83 132 – – – – 132
test4 73 86.4 4.23 109,198 2054 1678
comp01 5 5 5 5 5 13 5 9 5
comp01 5 5.0 0.0 321 5 5
comp02 34 55 48 75 43 43 108 103 43
comp02 29 50.6 8.78 768,334 1032 3845
comp03 70 90 76 93 72 76 115 101 72
comp03 66 78.6 6.07 160,909 1903 2078
comp04 38 45 41 45 35 38 67 55 35
comp04 35 42.3 3.53 23,113 266 566
comp05 298 315 303 326 298 314 408 370 298
comp05 292 328.5 11.7 35,435 54 191
comp06 47 58 54 62 41 41 94 112 41
comp06 37 57.3 8.1 562,144 3213 5973
comp07 19 33 25 38 14 19 56 97 14
comp07 13 29.7 6.48 390,912 3508 4035
comp08 43 49 47 50 39 43 75 72 39
comp08 39 48.8 3.75 203,982 2352 3069
comp09 99 109 106 119 103 102 153 132 102
comp09 96 110.3 5.8 215,891 2711 1754
comp10 16 23 23 27 9 14 66 74 9
comp10 10 28.8 9.0 33,971 371 838
comp11 0 0 0 0 0 0 0 1 0
comp11 0 0.0 0.0 247 4 3
comp12 320 330 324 358 331 405 430 393 331
comp12 310 328.5 11.7 742,316 10,392 2513
comp13 65 71 68 77 66 68 101 97 66
comp13 59 69.9 7.4 793,989 10,078 4207
comp14 52 55 53 59 53 54 88 87 53
comp14 51 56.3 4.95 93,549 1165 1320
comp15 69 78 74 87 – – – – 87
comp15 68 79.8 5.75 193,200 2429 9355
comp16 38 48 42 47 – – – – 47
comp16 23 46.8 6.6 264,512 1174 10280
comp17 80 85 81 86 – – – – 86
comp17 69 91.1 6.7 181,977 1995 2812
comp18 67 78 69 71 – – – – 71
comp18 65 74.6 4.7 134,205 985 7526
comp19 59 65 65 74 – – – – 74
comp19 57 69.4 4.6 105,983 1320 9835
comp20 35 42 35 54 – – – – 54
comp20 22 42.1 6.7 216,482 3265 8746
comp21 105 115 106 117 – – – – 117
comp21 93 117.8 6.9 184,065 1345 4891
al. in [11] (results for these 4 instances are not available for the
other four reference algorithms). For the 21 public competition in- ing 8 ones, showing the strong search potential of our ATS
stances, ATS reaches better (respectively worse) results than the algorithm.
previous best known results for 13 (respectively 5) ones, with Recently, a branch-and-cut procedure [7] and an integer pro-
equaling results for the remaining 3 ones. Note that for the seven gramming approach [16] were proposed to find the lower bounds
hidden instances (comp15 to comp21), computational results are of the CB-CTT problem. However, except for few instances (marked
available only for the algorithm in [11] under ITC-2007 timeout with a in Table 6), these results are far from the current best
condition. known results. Given this fact, it is difficult to have an absolute
assessment of these results for the moment. Therefore, tight lower
4.3. Results using more computational resources bounds are necessary to be developed.
In our second experiment, we evaluate the search potential of 4.4. Comments on the ITC-2007 competition
our ATS algorithm with a relaxed stop condition. For this purpose,
we use a longer CPU time and run our ATS algorithm until 800,000 In this section, we review the ITC-2007 competition rules and
iterations are reached. Table 5 shows the computational statistics results. For ITC-2007, the evaluation process was divided into
of our ATS algorithm under this stop condition and indicates the two phases [1]. The first phase aimed to selected the (five) Finalists
following information: fmin , fave , r, Iter, Pert and TimeðsÞ over 100 and the selection was based on the computational results of the
independent runs. The meaning of all these symbols are the same first 14 competition instances (comp01–comp14). The second phase
as in Table 3. If we compare the results of ATS shown in Tables 3 used an additional set of 7 hidden instances (comp15–comp21, now
and 5, one finds that better solutions (smaller fbest ) are found under they become available for researchers).
the relaxed stop condition for 21 out of 25 instances. Moreover, the For each of the 21 competition instances, the organizers solved
averaged results (fave ) and standard deviations (r) are also slightly it with 10 independent runs using each of the five finalist algo-
better. rithms. A ranking was then calculated based on these 50 results
Table 6 shows the best results obtained by our ATS algorithm1, for the given instance. At the end, a final ranking was established
compared with the best known results available on the web site [2] according to the ranks realized on the 21 instances. The details
which is maintained by the organizers of ITC-2007. This site provides about the rules used for ranking the algorithms can be found from
a systematic information about the CB-CTT problem and the dynam- the ITC-2007 competition site [1]. Table 7 shows the best results
ically updated best known results uploaded by researchers (the col- obtained by the five finalists and the final rankings (the best results
umn ‘‘best known” in Table 6).2 We also cited the best results for each instance are indicated in bold). According to the ITC-2007
obtained by Schaerf and Müller from the web site [2]. competition rules, our ATS algorithm is the second place winner3,
From Table 6, one finds that our ATS algorithm reaches quite just behind the algorithm presented in [23].
competitive results. For the 25 tested instances, ATS reaches better Let us give two final comments. First, the best results shown at
(respectively worse) results than the previous best known results the competition web site are slightly worse than those reported in
for 12 (respectively 5) ones, with equaling results for the remain- this paper (true not only for our ATS algorithm, but also for the
winner algorithm in [23]). This can be easily explained by the fact
1
Our best results are available on the web site [2].
2 3
These previous best known results are up to the date of November 28, 2008. See http://www.cs.qub.ac.uk/itc2007/winner/finalorder.htm.
242 Z. Lü, J.-K. Hao / European Journal of Operational Research 200 (2010) 235–244
Table 9
ðaÞ ðbÞ
Average soft costs for N 1 to N 2 over 50 independent runs.
Instance f
ðaÞ ðbÞ ðaÞ ðbÞ
N1 N1 N2 N2 N2
comp01 42 (0.0) 33 (0.1) 49 (0.0) 24 (0.1) 23 (0.1)
comp02 194 (0.4) 228 (0.2) 204 (0.4) 143 (1.4) 143 (1.8)
comp03 217 (0.4) 248 (0.2) 245 (0.3) 193 (1.1) 187 (1.2)
comp04 153 (0.7) 199 (0.4) 194 (0.6) 132 (3.5) 131 (3.5)
comp05 1016 (0.3) 995 (0.2) 847 (0.8) 684 (0.4) 627 (0.4)
comp06 207 (0.7) 260 (0.4) 255 (0.7) 158 (4.6) 162 (4.7)
comp07 203 (1.1) 247 (0.6) 230 (1.3) 140 (8.2) 141 (8.4)
is appropriate for the two different neighborhoods N 1 and N 2 . In [12] L. Di Gaspero, A. Schaerf, Neighborhood portfolio approach for local search
applied to timetabling problems, Journal of Mathematical Modeling and
addition, we carried out experiments to show that the proposed
Algorithms 5 (1) (2006) 65–89.
double Kempe chains move outperforms three other previous ones [13] L. Di Gaspero, B. McCollum, A. Schaerf, The Second International Timetabling
in the literature. Finally, we have demonstrated that our random- Competition (ITC-2007): Curriculum-based Course Timetabling (Track 3),
ized penalty-guided perturbation strategy is essential for our ATS Technical Report, 2007. <http://www.cs.qub.ac.uk/itc2007/curriculmcourse/
report/curriculumtechreport.pdf>.
algorithm. [14] M.J. Geiger, An application of the threshold accepting metaheuristic for
Let us finally comment that although the focus of this work is to curriculum based course timetabling, in: Proceedings of the Seventh PATAT
propose a particular algorithm for solving a course timetabling Conference, 2008. <http://arxiv.org/PS_cache/arxiv/pdf/0809/0809.0757v1.pdf>.
[15] F. Glover, M. Laguna, Tabu Search, Kluwer Academic, Boston, 1997.
problem, the basic ideas are quite general and would be applicable [16] G. Lach, M.E. Lübbecke, Curriculum based course timetabling: Optimal
to other similar problems. solutions to the udine benchmark instances, in: Proceedings of the Seventh
PATAT Conference, 2008. <http://www.math.tu-berlin.de/luebbeck/papers/
udine.pdf>.
Acknowledgements [17] R. Lewis, B. Paechter, New crossover operators for timetabling with
evolutionary algorithms, in: A. Lofti, (Ed.), The Fifth International Conference
We would like to thank the ITC-2007 organizers for defining on Recent Advances in Soft Computing RASC2004, Nottingham, England, 2004,
pp. 189–194.
this challenging problem and providing the formidable research [18] R. Lewis, A survey of metaheuristic-based techniques for university
opportunity. Our special thanks go to the anonymous referees for timetabling problems, OR Spectrum 30 (1) (2008) 167–190.
their helpful comments and questions. This work was partially [19] Z. Lü, J.K. Hao, F. Glover, Neighborhood analysis: A case study on curriculum-
based course timetabling, Technical Report, LERIA, University of Angers,
supported by ‘‘Angers Loire Métropole” and the Region of ‘‘Pays de
France, 2009.
la Loire” within the MILES and RADAPOP Projects. [20] H.R. Lourenco, O. Martin, T. Stützle, Iterated local search, in: F. Glover, G.
Kochenberger (Eds.), Handbook of Meta-heuristics, Springer-Verlag, 2003, pp.
References 321–353.
[21] B. McCollum, A perspective on bridging the gap between theory and practice in
university timetabling, in: E.K. Burke, H. Rudová (Eds.), Proceedings of the
[1] Second International Timetabling Competition (ITC-2007), Track 3: Sixth PATAT Conference, LNCS, vol. 3867, 2007, pp. 3–23.
Curriculum-Based Course Timetabling. <http://www.cs.qub.ac.uk/itc2007/>. [22] C. Morgenstern, H. Shapiro, Coloration neighborhood structures for general
[2] <http://tabu.diegm.uniud.it/ctt/index.php>. graph coloring, in: Proceedings of the First Annual ACM-SIAM Symposium on
[3] S.M. Al-Yakoob, H.D. Sherali, Mathematical programming models and Discrete Algorithms, Society for Industrial and Applied Mathematics,
algorithms for a classfaculty assignment problem, European Journal of Philadelphia, PA, USA, 1990, pp. 226–235.
Operational Research 173 (2) (2006) 488–507. [23] T. Müller, ITC2007 solver description: A hybrid approach, in: Proceedings of
[4] D. Brélaz, New methods to color the vertices of a graph, Communications of the the Seventh PATAT Conference, 2008. <http://www.unitime.org/papers/
ACM 22 (4) (1979) 251–256. itc2007.pdf>.
[5] E.K. Burke, B.L. MacCarthy, S. Petrovic, R. Qu, Multiple-retrieval case-based [24] C.H. Papadimitriou, K. Steiglitz, Combinatorial Optimization: Algorithms and
reasoning for course timetabling problems, Journal of Operations Research Complexity, Prentice-Hall Inc., 1982.
Society 57 (2) (2006) 148–162. [25] R.V. Rasmussen, M.A. Trick, Round robin scheduling – a survey, European
[6] E.K. Burke, B. McCollum, A. Meisels, S. Petrovic, R. Qu, A graph-based hyper Journal of Operational Research 188 (3) (2008) 617–636.
heuristic for timetabling problems, European Journal of Operational Research [26] M.M. Rodrigues, C.C. de Souza, A.V. Moura, Vehicle and crew scheduling for
176 (2007) 177–192. urban bus lines, European Journal of Operational Research 170 (3) (2006) 844–
[7] E.K. Burke, J. Marecek, A.J. Parkes, H. Rudová, A branch-and-cut procedure for 862.
the udine course timetabling problem, in: Proceedings of the Seventh PATAT [27] R. Santiago-Mozos, S. Salcedo-Sanz, M. DePrado-Cumplido, C. Bousono-Calzon,
Conference, 2008. <http://www.cs.nott.ac.uk/~jxm/timetabling/patat2008- A two-phase heuristic evolutionary algorithm for personalizing course
paper.pdf>. timetables: A case study in a spanish university, Computers and Operations
[8] M. Chiarandini, M. Birattari, K. Socha, O. Rossi-Doria, An effective hybrid Research 32 (2005) 1761–1776.
algorithm for university course timetabling, Journal of Scheduling 9 (2006) [28] J.C. Setubal, Sequential and Parallel Experimental Results with Bipartite
403–432. Matching Algorithms, Technical Report EC-96-09, Institute of Computing,
[9] M. Clark, M. Henz, B. Love, QuikFix: A repair-based timetable solver, in: University of Campinas, Brasil, 1996.
Proceedings of the Seventh PATAT Conference, 2008. <http://www.comp. [29] J. Thompson, K. Dowsland, A robust simulated annealing based examination
nus.edu.sg/~henz/publications/ps/PATAT2008.pdf>. timetabling system, Computer and Operations Research 25 (1998) 637–648.
[10] P. De Causmaecker, P. Demeester, G. Vanden Berghe, A decomposed [30] M. Vasquez, J.K. Hao, A ‘‘logic-constrained” knapsack formulation and a tabu
metaheuristic approach for a real-world university timetabling problem, algorithm for the daily photograph scheduling of an earth observation
European Journal of Operational Research 195 (2009) 307–318. satellite, Computational Optimization and Applications 20 (2) (2001) 137–157.
[11] F. De Cesco, L. Di Gaspero, A. Schaerf, Benchmarking curriculum-based course [31] G.M. White, B.S. Xie, S. Zonjic, Using tabu search with longer-term memory
timetabling: Formulations, data formats, instances, validation, and results, in: and relaxation to create examination timetables, European Journal of
Proceedings of the Seventh PATAT Conference, 2008. <http://tabu.diegm. Operational Research 153 (16) (2004) 80–91.
uniud.it/ctt/DDS2008.pdf>.