<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Towards a deterministic algorithm for the International Timetabling Competition</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Oscar Chavez Bosquez</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Pilar Pozos Parra</string-name>
          <email>pilar.pozosg@dais.ujat.mx</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Florian Lengyel</string-name>
          <email>flengyel@gc.cuny.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science The Graduate Center</institution>
          ,
          <addr-line>CUNY 365 Fifth Ave., New York</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Department of Informatics and Systems University of Tabasco Carretera Cunduacan - Jalpa Km.</institution>
          <addr-line>1, Tabasco</addr-line>
          ,
          <country country="MX">Mexico</country>
        </aff>
      </contrib-group>
      <fpage>7</fpage>
      <lpage>20</lpage>
      <abstract>
        <p>The Course Timetabling Problem consists of the weekly scheduling of lectures of a collection of university courses, subject to certain constraints. The International Timetabling Competitions, ITC-2002 and ITC-2007, have been organized with the aim of creating a common formulation for comparison of solution proposals. This paper discusses the design and implementation of an extendable family of sorting-based mechanisms, called Sort Then Fix (STF) algorithms. Only ITC-2002 problem instances were used in this study. The STF approach is deterministic, and does not require swapping or backtracking. Almost all solutions run in less than 10% of the ITC-2002 benchmark time.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>The Course Timetabling Problem consists of assigning a sequence of events
(lectures) to a collection of university courses that meet within a
number of rooms and time periods, usually weekly, satisfying some constraints.
Course timetabling problems vary from university to university, and many
researchers have shown that there is no single best solution for all situations.</p>
      <p>Standards for comparing algorithms for solving the Course Timetabling
Problem have emerged in recent years. The International Timetabling
Competitions, ITC-2002 and ITC-2007, have been organized with the aim of
creating a common formulation for comparing solutions, of which many have
been proposed [15, 7].</p>
      <p>While the competition is open to stochastic and deterministic approaches,
virtually all the proposed solutions appearing in the competition web pages
are stochastic algorithms [5]; as far as we know there is no record of a
competitive and e ective deterministic approach used in the contest.</p>
      <p>The motivation of this work was to develop a deterministic algorithm
that solves the hard constraints of the 20 instances of the ITC-2002 in a
timely manner, so we introduce a family of deterministic algorithms, Sort
Then Fix (STF) algorithms, for solving timetabling problems. The
algorithms were tested with the o cial instances of the ITC-2002.</p>
      <p>The rest of the paper is organized as follows. We formalize the course
timetabling problem in the second section; the third section describes the
family of deterministic STF algorithms; the fourth section provides our
results; and we conclude with some possible research directions.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Target Problem</title>
      <p>We consider the problem of weekly scheduling a set of single events (or
lectures). The problem has been discussed in [1] and it was the topic of
ITC-2002 [2], where twenty arti cial instances were proposed. The instances
are available from the ITC-2002 web page.</p>
      <p>
        The problem consists of nding an optimal timetable within the following
framework: there is a set of events E = fE1; E2; :::; EnE g to be scheduled
in a set of rooms R = fR1; R2; :::; RnR g, where each room has 45 available
timeslots, nine for each day in a ve day week. There is a set of students
S = fS1; S2; :::; SnS g who attend the events, and a set of features F =
fF1; F2; :::; FnF g satis ed by rooms and required by events. Each event is
attended by a number of students, and each room has a given size, which is
the maximum number of students the room can accommodate. A feasible
timetable is one in which all events have been assigned a timeslot and a
room so that the following hard constraints are satis ed:
(
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) no student attends more than one event at the same time;
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) the room is big enough for all the attending students and satis es all
the features required by the event; and
(
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) only one event is scheduled in each room at any timeslot.
      </p>
      <p>In contest instance les there were typically 10-11 rooms, hence there are
450-495 available places. There were typically 350-400 events, 5-10 features
and 200-300 students.</p>
      <p>
        The problem will penalize a timetable for each occurrence of some soft
constraint violation, which are the following:
(
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) a student has to attend an event in the last timeslot on a day;
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) a student has more than two classes in a row; and
(
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) a student has to attend solely an event in a day.
      </p>
      <p>The problem may be precisely formulated as:
let F = fF1; F2; :::; FnF g be a set of symbols representing the features;
N = fN1; :::; NnR g be a set of integer numbers indicating the maximum
of students each room can accommodate;
Ei = fF 00 ; F 00 ; :::; Fn00Ei g where F 00</p>
      <p>1 2 j 2 F for j = 1; :::; nEi and nEi is the
number of features required by event Ei;
Si = fE10; E20; :::; En0Si g where Ej0 2 E for j = 1; :::; nSi and nSi is the
number of events student Si attends; and</p>
      <p>T = fT1; :::; T45g be a set of timeslots.</p>
      <p>Find a feasible solution, i.e. a set of pairs f(T10; R10); :::; (Tn0 E ; Rn0E )g such
that:</p>
      <p>Ti0 2 T and Ri0 2 R
(Ti0 6= Tj0) if Ei 2 Sk and Ej 2 Sk and (i 6= j)
Ei</p>
      <p>Ri0 and jfSj jj = 1; :::; nS and Ei 2 Sj gj
Nk where Ri0 = Rk;
8i8j (i = j _ Ti0 6= Tj0 _ Ri0 6= Rj0 ).</p>
      <p>The competition adds a constraint over execution time, i.e. given the
information about rooms, events, features, and students, nd the best
possible feasible solution within a given time limit. The time limit is given by
a benchmark tool provided by the organizer.
3</p>
    </sec>
    <sec id="sec-3">
      <title>ST F Algorithms</title>
      <p>ST F is a family of algorithms to solve timetabling problems, based on events
and rooms sorting. Its distinguishing property is that the k-th iterate yields
a schedule for the k most constrained events, where the notion of the most
constrained event depends on the particular STF algorithm.</p>
      <p>The rst step of an STF algorithm is to nd a binary matrix that
represents the available rooms for every event. The following actions are
performed:
the number of students for each event is calculated and stored,
ni = jfSj jj = 1; :::; nS and Ei 2 Sj gj
a list of available rooms is created for each event,
ei = fRj jEi Rj and ni Nj g</p>
      <p>This rst step allows us to reduce the problem by eliminating the
information concerning features and room capacity, de ning a new event set
fe1; :::; enE g, that includes the eliminated information. The new event set
will be used for de ning the most constrained event. The core strategy of the
algorithms is to assign the most constrained event to the least constrained
timeslot found for this event. In order to avoid strategies of movement that
require backtracking to recover from mistakes, our aim is not to make
mistakes of selection of placement and event. The intuitive idea is as follows:
if there is at least one optimal solution where all soft and hard restrictions
are satis ed, then it is possible to sort the events and placements in such a
way that all the events are xed satisfying all the constraints. The general
structure is as follows:
1. sort events from the most constrained to the least constrained one,
2. choose ei 2 [e1; : : : ; enE ], the next most constrained event,
3. sort the rooms of ei from the least to the most constrained one,
4. choose r 2 ei, the next least constrained room for event ei,
5. search s 2 [1 : : : 45], such that:
8j (i = j _ s 6= Tj0 _ r 6= Rj0 ) and if Ei; Ej 2 Sk and i 6= j, s 6= T 0,
j
6. if (s 6= null) then Ri0 := r and Ti0 := s else go to step 4,
7. update data for the next iteration,
8. go to step 2 (or go to step 1, depending on the STF algorithm).
Algorithm</p>
      <p>
        The criteria of Table 1 are as follows:
(a) Number of rooms, in ascending order, where the event can be allocated.
(b) Number of students, in descending order, that attend the event.
(c) Number of free slots of all the event rooms in ascending order, where
a free slot is one which has no assigned event.
(d) Number of events, in ascending order, that can be allocated to the
event rooms, where the number of events includes assigned and
unassigned events.
(e) Number of free slots of all the event rooms in ascending order, where
a free slot is one which has no associated student attending another
event assigned to the same slot and the slot has no assigned event in
at at least one event room.
(f) Number of unassigned events, in ascending order, that can be allocated
to the event rooms.
(g) Number of free slots of all the event rooms in ascending order, where a
free slot is one which has no assigned event and no attending student
has another event placed at the same slot.
(
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) Number of free slots of the room in descending order, where a free slot
is a slot that has no assigned event.
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) Number of events that can be allocated in the room in ascending order,
where the number of events includes assigned and unassigned events.
(
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) Number of unassigned events that can be allocated to the room in
ascending order.
(
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) Number of slots that are free for the room in descending order, where
a free slot has no assigned event and no attending student has another
event placed at the same slot.
      </p>
      <p>Our approach avoids swapping; if an event cannot be scheduled then
the next most constrained event is scheduled, leaving the event in question
without a room and timeslot. Thus we careful to formulate the de nition of
the \most constrained event" in the STF algorithms to avoid unscheduled
events.</p>
    </sec>
    <sec id="sec-4">
      <title>Results</title>
      <p>The STF algorithms were developed in GNU Octave 3.0 on a Toshiba
Satellite A105-S433 R laptop computer, with a 1.60 GHz Centrino Duo proccesor
T5200, Mobile Intel R 945GM Express Chipset, 2 GB in RAM, 160 GB in
HDD and the Ubuntu Linux 9.10 operating system.</p>
      <p>All tests were done on this computer, within the time allowed by the
benchmark tool provided by the organizers of the ITC-2002. This
benchmark tool shows the time limit (in seconds) in which the algorithm must be
executed in a particular computer, so that everybody can participate in a
fair competition. In our box, the benchmark program allowed a maximum
execution time of 558 seconds, time in wich the STF algorithms must be
executed in order to nd feasible solutions.</p>
      <p>Tables 2 and 3 show the results obtained by the STF algorithms on
the 20 problem instances of the ITC-2002. The table displays the hard
constraints violated by the algorithms running under GNU Octave 3.0 and
under Matlab R R2009b.</p>
      <p>Tables 4 and 5 display the soft constraints violated by the algorithms
running on GNU Octave 3.0 and Matlab R R2009b.</p>
      <p>In Fig. 1, we can see markedly di erent patterns of hard constraints
violation. Some of them nearly nd feasible solutions for all the instances.
For example, algorithm 28 and 29 violated only one hard constraint of one
instance. Some of them nd feasible solutions only for a reduced number
of instances, such is the case of algorithm 1, which only nds 3 of the 20
feasible solutions. It is worth noting that more re ned sorting criterions will
nd a greater number of feasible solutions for all the instances. As we can
see in Fig. 2, the graphs of the number of soft constraints violated by the
29 STF algorithms share a common pattern.</p>
      <p>The Fig. 3 displays the time in seconds taken by the algorithms running
on GNU Octave 3.0, and Fig. 4 shows the time taken by the algorithms
running Matlab R R2009b. As we can see the both implementations of
algorithms terminate within the 558 second allowed benchmark time and almost
all the algorithms running on Matlab take less of the 10% of the allowed
benchmark time, but the run over Octave takes much more time that
Matlab. However, the purpose of Figs. 3 &amp; 4 is to show the pattern that follows
the STF algorithms in matter of time, and to prove that STF algorithms
over di erent environments can compete in the ITC-2002 following the time
rule.</p>
      <p>VersionoftheSort-Then-Fixalgorithm
* Problem instance
* Problem instance
11
Version 1
Version 2
Version 3
Version 4
Version 5
Version 6
Version 7
Version 8
Version 9
Version 10
Version 11
Version 12
Version 13
Version 14
Version 15
Version 16
Version 17
Version 18
Version 19
Version 20
Version 21
Version 22
Version 23
Version 24
Version 25
Version 26
Version 27
Version 28
Version 29
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20</p>
      <p>The criterions included in the algorithms deal only with hard constraints,
however it is possible to extend the algorithms to handle soft constraints.
search of the slots is in ascending order from 1 to 45; in the modi ed version
algorithm 29', the search of slots is in ascending order from 1 to 8 then
from 10 to 17 then from 19 to 26 then from 28 to 35 then 37 to 44 and
nally in slots 9, 18, 27, 36 and 45. It is worth noticing that if a student
takes lectures at the end of the day, i.e. in slots 9, 18, 27, 36 or 45, a soft
constraint is violated. The number of violated hard constraints is the same
in both versions, however the number of soft constraint violations is clearly
reduced in the new version for all the instances.</p>
      <p>In order to verify the results, the participants of the ITC-2002 provide
the executable le of their implementations.
1
1
The STF implementations in source code are available by request via e-mail.</p>
      <p>Problem instances
945
948
960
1263
1376
1377
1761
1128
973
968
1008
923
1065
1704
1501
1051
1456
924
1312
1401</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>The family of STF algorithms, which appear to solve timetabling problems
in a natural way, has been proposed. STF algorithms de ne a notion of the
most constrained event, which is used to sort events before scheduling them.
Unlike other approaches to the ITC-2002 contest, STF is deterministic and
avoids swapping and backtraking.</p>
      <p>We are con dent that we will nd an STF algorithm that will nd feasible
solutions for the 20 instances respecting the benchmark time. In this paper
we focus on satisfying hard constraints only; soft constraints may be left
unsatis ed. Nevertheless, as we showed in algorithm 29', with a slight
modi cation we can considerably reduce the number of violated soft constraints
in each one of the problem instances. We intend to nd an STF algorithm
that nds feasible solutions satisfying both hard and soft constraints for the
20 ITC-2002 instances.</p>
      <p>As a main contribution, the STF algorithms can be used as a
preprocessing step for other optimization algorithms. For example, it can be combined
with a non-deterministic approach, such as a metaheuristic, to build a
hybrid algorithm that can be more robust and can nd a solution faster than a
metaheuristic by itself. In fact, as far as we know all the references showing
a solution to the problem only describe the metaheuristic used, but not the
process to reach the initial feasible solution.</p>
      <p>The metaheuristics used by the other participants of the contest do a
pre-processing of the problem data before starting the search process, so all
of the algorithms start with a di erent initial solution. To tackle this issue,
the timetables generated by the STF algorithms can be used as an initial
base solution to all of these metaheuristics, in order to measure the real
e ectiveness of each metaheuristic with respect to the others.</p>
      <p>The STF algorithm nds a timetable in much less than the benchmark
time available. We intend future versions of the algorithm to satisfy both
hard and soft constraints to nd complete solutions to the 20 ITC-2002
contest problem instances, within the time set by the benchmark program.
Also, the STF algorithms will be extended and tested on the earlier instances
of the International Timetabling Competition 2007, in order to manage the
new constraints proposed in these instances.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>We thank the Mexican Academy of Sciences (AMC) and the United
StatesMexico Foundation for Science (FUMEC) for the support granted in 2009
under the Stays Summer Program.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Rossi-Doria</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sampels</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Birattari</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chiarandini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dorigo</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gambardello</surname>
            ,
            <given-names>L.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Knowles</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Manfrin</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mastrolilli</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paechter</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paquette</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stutzle</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>A comparison of the performance of d erent metaheuristics on the timetabling problem</article-title>
          .
          <source>PATAT</source>
          <year>2002</year>
          , LNCS,
          <volume>2740</volume>
          (
          <year>2003</year>
          )
          <volume>329</volume>
          {
          <fpage>351</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Paechter</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gambardella</surname>
            ,
            <given-names>L.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rossi-Doria</surname>
            ,
            <given-names>O.: International</given-names>
          </string-name>
          <string-name>
            <surname>Timetabling Competition Webpage</surname>
          </string-name>
          (
          <year>2003</year>
          )
          <article-title>(viewed</article-title>
          <string-name>
            <surname>January</surname>
          </string-name>
          ,
          <year>2010</year>
          ) (
          <issue>updated July 10</issue>
          ,
          <year>2003</year>
          ), http://www.idsia.ch/Files/ttcomp2002/
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>McCollumn</surname>
            ,
            <given-names>B.: International</given-names>
          </string-name>
          <string-name>
            <surname>Timetabling Competition Webpage</surname>
          </string-name>
          (
          <year>2007</year>
          )
          <article-title>(viewed</article-title>
          <string-name>
            <surname>January</surname>
          </string-name>
          ,
          <year>2010</year>
          ) (
          <issue>updated October 1</issue>
          ,
          <year>2008</year>
          ), http://www.idsia.ch/Files/ttcomp2002/
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Barry</surname>
            <given-names>McCollum</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Andrea</given-names>
            <surname>Schaerf</surname>
          </string-name>
          , Ben Paechter,
          <string-name>
            <surname>Paul McMullan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Rhyd</given-names>
            <surname>Lewis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Andrew J.</given-names>
            <surname>Parkes</surname>
          </string-name>
          , Luca Di Gaspero, Rong Qu, and Edmund K.
          <source>Burke Setting the Research Agenda in Automated Timetabling: The Second International Timetabling Competition INFORMS JOURNAL ON COMPUTING</source>
          <year>2010</year>
          22:
          <fpage>120</fpage>
          -
          <lpage>130</lpage>
          , DOI: 10.1287/ijoc.1090.0320.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>di</given-names>
            <surname>Gaspero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            ,
            <surname>Schaerf</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            :
            <surname>Timetabling Competition TTComp 2002: Solver</surname>
          </string-name>
          <string-name>
            <surname>Description</surname>
          </string-name>
          , (viewed January,
          <year>2010</year>
          ) (
          <issue>updated July 10</issue>
          ,
          <year>2003</year>
          ), http://www.idsia.ch/Files/ttcomp2002/schaerf.pdf
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Socha</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Knowles</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sampels</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <string-name>
            <given-names>A MAX</given-names>
            <surname>MIN</surname>
          </string-name>
          <article-title>Ant System for the University Timetabling Problem</article-title>
          .
          <source>Algorithmic Number Theory. LNCS</source>
          ,
          <volume>2369</volume>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Kostuch</surname>
            ,
            <given-names>P:</given-names>
          </string-name>
          <article-title>The university course timetabling problem with a threephase approach</article-title>
          .
          <source>PATAT</source>
          <year>2004</year>
          , LNCS,
          <volume>3616</volume>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Frausto-Solis</surname>
            ,
            <given-names>J.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alonso-Pecina</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Larre</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Gonzalez-Segura</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gomez-Ramos</surname>
            ,
            <given-names>J.L.</given-names>
          </string-name>
          :
          <article-title>Solving the timetabling problem with three heuristics</article-title>
          .
          <source>WSEAS Transactions on Computers. 11-5</source>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>de Werra</surname>
            ,
            <given-names>D.:</given-names>
          </string-name>
          <article-title>An introduction to timetabling</article-title>
          ,
          <source>European Journal of Operational Research</source>
          , (
          <year>1985</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Gotlieb</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          : Congress, (
          <year>1963</year>
          )
          <article-title>The construction of class-teacher timetables</article-title>
          , IFIP
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Kostuch</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Socha</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :,
          <article-title>Hardness prediction for the University Course Timetabling problem</article-title>
          ,
          <source>Proceedings of the Evolutionary Computation in Combinatorial Optimization EvoCOP</source>
          , (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Rossi-Doria</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Blum</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Knowles</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sampels</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Socha</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paechter</surname>
            ,
            <given-names>B.:,</given-names>
          </string-name>
          <article-title>A local search for the timetabling problem</article-title>
          ,
          <source>PATAT</source>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Socha</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Metaheuristics for the Timetabling Problem</article-title>
          .
          <source>DEA Thesis</source>
          , Universite Libre de Bruxelles, (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>Andrea</given-names>
            <surname>Schaerf</surname>
          </string-name>
          .
          <article-title>A survey of automated timetabling</article-title>
          .
          <source>Arti cial Intelligence Review</source>
          ,
          <volume>13</volume>
          (
          <issue>2</issue>
          ):
          <fpage>87</fpage>
          -
          <lpage>127</lpage>
          , (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Chiarandini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Birattari</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Socha</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rossi-Doria</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          :
          <article-title>An e ective hybrid approach for the university course timetabling problem</article-title>
          .
          <source>Journal of Scheduling</source>
          ,
          <volume>9</volume>
          (
          <year>2006</year>
          )
          <volume>403</volume>
          {
          <fpage>432</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>