Content uploaded by Marco Lübbecke

Author content

All content in this area was uploaded by Marco Lübbecke

Content may be subject to copyright.

Optimal University Course Timetables and the

Partial Transversal Polytope

Gerald Lach and Marco E. L¨ubbecke

Technische Universit¨at Berlin, Institut f¨ur Mathematik, MA 5-1,

Straße des 17. Juni 136, 10623 Berlin, Germany,

{lach, m.luebbecke}@math.tu-berlin.de

Abstract. University course timetabling is the conﬂict-free assignment

of courses to weekly time slots and rooms subject to various hard and

soft constraints. One goal is to meet as closely as possible professors’

preferences. Building on an intuitive integer program (IP), we develop an

exact decomposition approach which schedules courses ﬁrst, and matches

courses/times to rooms in a second stage. The subset of constraints

which ensures a feasible room assignment deﬁnes the well-known par-

tial transversal polytope. We describe it as a polymatroid, and thereby

obtain a complete characterization of its facets. This enables us to add

only strong valid inequalities to the ﬁrst stage IP. In fact, for all practical

purposes the number of facets is small. We present encouraging compu-

tational results on real-world and simulated timetabling data. The sizes

of our optimally solvable instances (respecting all hard constraints) are

the largest reported in the literature by far.

Keywords: integer programming; partial transversal polytope; university

course timetabling

1 Introduction

Timetabling comes in many ﬂavors, in education and sports, in industry and

public transport. This diversity and its relevance in practice made timetabling

an active research area in operations research; a series of conferences (Practice

and Theory of Automated Timetabling, PATAT) is devoted to the topic [1]. In

this paper, we aim for optimal solutions to one of the core problems of the ﬁeld,

the NP-complete university course timetabling problem.

A university timetable is an assignment of an appropriate number of time slots,

or periods, and rooms to each weekly occurrence of each course. It is usually valid

for one term. Customarily, one distinguishes between hard and soft constraints

which have to be respected [2]. Typical hard constraints are: A professor cannot

teach two classes at the same time; lectures belonging to the same curriculum

must not be scheduled simultaneously; a room cannot be assigned to diﬀerent

courses in the same period; etc. A timetable is infeasible if one of these require-

ments is violated (which frequently occurs in practice). Soft constraints e.g., call

for not exceeding a room’s capacity; to provide the necessary equipment like

beamer/PC; to spread the lectures of one course over the week; etc. A violation

of these constraints is tolerated but penalized. Professors express preferences as

to when to teach; an optimal timetable minimizes the total deviation from these

preferences.

1.1 Our Contribution

This paper makes a contribution to practical problem solving via integer pro-

gramming, as well as it adds to the theory of combinatorial optimization.

On the practical side, we give a proof-of-concept that optimal timetables can be

computed for larger universities in acceptable time. Our focus in on meeting all

hard constraints, where we take some of the constraints traditionally considered

soft (like room capacity) as hard ones.

In the integer program we propose, instead of simultaneously assigning courses

to time slots and rooms, we only schedule rooms, providing for a later feasible

room assignment. This is done by interpreting feasible course/room pairs on a

bipartite graph, and enforcing the classical Hall’s conditions [3], a.k.a. “marriage

theorem,” on the existence of perfectly matchable sets (or transversals). This

allows a simpler formulation and results in much improved solution times.

Hall’s conditions directly lead us to an investigation of the partial transversal

polytope [4]. We obtain a complete description of its facets by stating it as a

polymatroid. Thereby, on the theoretical side, we obtain an interesting strength-

ening of Hall’s Theorem. Finally, we are interested in the number of facets of

the partial transversal polytope, and obtain a generating set of facets, of linear

size. All facets can be obtained from this set by an intuitive operation.

We tested our approach on instances from the second international timetabling

competition [5]. It turns out that we are able to compute optimal solutions

within negligible running times. We therefore used simulated data which are

almost identical to real data from Technical University of Berlin. To the best of

our knowledge, we are the ﬁrst to obtain optimal solutions to university course

timetabling instances of this size.

It is our impression that integer programming has been used for timetabling only

because of its modeling power. It was not realized that a deeper understanding of

combinatorial properties of the problem may be the key to actually solving large

instances to proven optimality. In this sense, we consider our work a signiﬁcant

step forward in this ﬁeld of research.

1.2 Related Work

University course timetabling problems are well studied, see e.g., the surveys [6,

7]. Much has been written about practical details [8], and the non-negligible

human factor of timetabling [9].

Meta heuristics clearly constitute the main solution approach, see [2,10, 11], and

the references therein. Several integer programs were suggested as well [8, 9, 12–

14], however, optimally solvable problem instances are (i) smaller than ours by

at least an order of magnitude, or (ii) are much simpler (and thus less realistic)

than ours.

Interestingly, complete polyhedral descriptions of problems closely related to

ﬁnding transversals are well known. We have Edmonds’ seminal work on the

matching polytope [15]. Also, the perfectly matchable subgraph polytope for

bipartite graphs is fully characterized [16]. Yet, we are not aware of any previous

attempts to give a strong formulation of the partial transversal polytope.

2 Integer Programs and Decomposition

2.1 An Intuitive Integer Program

We give a generic integer program (IP) for the university course timetabling

problem which concentrates on hard constraints (time conﬂicts and room con-

ﬂicts). However, it is easy to enhance this IP by soft constraints.

Denote by Cthe set of courses, by Rthe set of rooms, and by Tthe set of time

slots. For each course c∈ C we know its eligible time slots T(c)⊆ T , and eligible

rooms R(c)⊆ R. Further, R−1(r)⊆ C is the set of all courses which may take

place in room r∈ R. Each course c∈ C consists of ℓ(c) lectures, that is, we have

to provide ℓ(c) diﬀerent time slots for course c. The instructor of course c∈ C

assigns a preference prio(c, t) to all eligible time slots t∈T(c); the smaller it is,

the better.

Time conﬂicts are represented via a conﬂict graph Gconf = (Vconf , Econf ): A

vertex (c, t) represents an eligible combination of a course cand a timeslot t.

Two nodes (c1, t1) and (c2, t2) are adjacent iﬀ it is forbidden that c1is scheduled

at t1and c2at t2(typically, t1=t2). We see that time conﬂicts introduce a

stable set ﬂavor into our problem.

A binary variable xc,t,r represents whether course cis scheduled at time tin

room r, or not. The following IP for the generic university course timetabling

problem guarantees a suﬃcient number of time slots per course (2), avoids room

conﬂicts (3), and time conﬂicts (4).

min X

c,t,r

prio(c, t)·xc,t,r (1)

s.t. X

t∈T(c),r∈R(c)

xc,t,r =ℓ(c)∀c∈ C (2)

X

c∈R−1(r)

xc,t,r ≤1∀t∈ T , r ∈ R (3)

X

r∈R(c1)

xc1,t1,r +X

r∈R(c2)

xc2,t2,r ≤1∀((c1, t1),(c2, t2)) ∈Econf (4)

xc,t,r ∈ {0,1} ∀(c, t)∈Vconf , r ∈ R (5)

This integer program will be infeasible for any reasonable practical data since

usually some courses cannot be scheduled without conﬂicts. Thus, one tries to

schedule as many courses as possible; a modiﬁcation to accomplish this is straight

forward. However, the computation times and solution qualities (cf. Table 3) do

not advise to actually work with this formulation.

2.2 Decomposition into Time and Room Assignment

Instead, we reduce the problem in three dimensions to a problem in two di-

mensions, implicitly taking care of room conﬂicts. To this end, we represent

eligible combinations of courses and rooms as undirected bipartite graphs Gt=

(Ct∪ Rt, Et), one for every time slot t∈ T . Courses which may be scheduled at

tare given in set Ct; and Rtdenotes the set of all eligible rooms for all courses

in Ct. A course cand a room rare adjacent iﬀ ris eligible for c. For ease of

exposition let G= (C ∪ R, E ) be the graph consisting of all components Gt,

t∈ T .

For any subset Uof vertices, denote by Γ(U) := {i∈ C ∪ R | j∈U, (i, j)∈E}

the neighborhood of U; in particular, Γ(U)⊆ R for any U⊆ C. The set of all

vertices which are adjacent only to vertices in Uis denoted by Γ−1(U) := {i∈

U ∪ R | Γ({i})⊆U}. In particular, Γ−1(U)⊆ C for any U⊆ R.

Hall’s Theorem [3] states that a bipartite graph G= (C ∪ R, E ) has a matching

of all vertices in Cinto Rif and only if |Γ(U)| ≥ |U|for all U⊂ C. This enables

us to state a simpler integer program which schedules courses in such a way that

a later assignment of rooms is possible. It is thus based on binary variables xc,t,

but obviously has an exponential number of constraints.

min X

(c,t)∈Vconf

prio(c, t)·xc,t (6)

s.t. X

t∈T(c)

xc,t =ℓ(c)∀c∈ C (7)

X

c∈U

xc,t ≤ |Γ(U)| ∀U⊆ C, t ∈ T (8)

xc1,t1+xc2,t2≤1∀((c1, t1),(c2, t2)) ∈Econf (9)

xc,t ∈ {0,1} ∀(c, t)∈Vconf (10)

Once this IP is solved, the second stage merely consists of solving a sequence

of minimum weight bipartite matching problems; clearly, this decomposition

approach is exact.

Even though Hall’s inequalities (8) can be separated in polynomial time via a

maximum ﬂow computation, we would like to work with a strongest possible

formulation: We are interested in the facets of the polytope deﬁned by (8) (and

non-negativity).

3 The Partial Transversal Polytope

In the context of Hall’s Theorem, Cis known as system of distinct representatives

or transversal. A partial transversal is a subset of Cwhich can be perfectly

matched (we may assume that all r∈ R will be matched). The partial transversal

polytope P(C) is the convex hull of all incidence vectors of partial transversals

of C. It is full dimensional in |C |.

The deﬁciency of a vertex set U⊆ C is deﬁned as defG(U) := |U| − |Γ(U)|. The

deﬁciency of a graph Gis def(G) := maxU⊆C defG(U). We will often consider

the deﬁciency of induced subgraphs (U∪Γ(U), E ), and denote it by def(U),

slightly abusing notation. Graph deﬁciency is known to be supermodular [3],

that is, def(U∪V) + def (U∩V)≥def(U) + def (V) for U, V ⊆ C. Finally, denote

by ν(G) the cardinality of a maximum matching in G.

We consider two equivalent descriptions of the partial transversal polytope P(C).

We use the common shorthand notation x(U) := Pi∈Uxi.

Lemma 1 (The Partial Transversal Polytope) Given a bipartite graph G=

(C ∪ R, E ), the partial transversal polytope P(C)⊆|C| is deﬁned by

x(U)≤ |Γ(U)| ∀U⊆ C (11)

0≤x≤1 (12)

or equivalently by

x(U)≤ |U| − def(U)∀U⊆ C (13)

x≥0.(14)

The advantage of the latter description is that x≤1 is not explicitly required.

This will facilitate characterizing facets.

3.1 Facets

A theorem by Edmonds on the facets of polymatroids [4, Thm. 44.4] allows us to

easily give a complete and non-redundant description of the partial transversal

polytope. For a consistent presentation we deﬁne the set function

f: 2C→, U 7→ f(U) := |U| − def(U),(15)

which is submodular by supermodularity of the deﬁciency. Note also that fis

nondecreasing, that is, f(U)≤f(T) for U⊆T. Further, f(∅) = 0 and f({i})>0

for i∈ C.

A subset U⊆ C is called an f-ﬂat if f(U∪ {i})> f(U) for all i∈ C \ U; and U

is f-inseparable if there are no U1, U26=∅with U1∩U2=∅and U1∪U2=U

such that f(U) = f(U1) + f(U2).

Edmonds has the following theorem: With the properties of a set function fas

given in (15), the facets of {x∈|C| |x≥0, x(U)≤f(U) for U⊆ C} are

given by (i) x≥0, and (ii) x(U)≤f(U) for each nonempty f-inseparable f-ﬂat

U⊆ C.

Deﬁnition (Deﬁning C-set) Given a bipartite graph G= (C ∪ R, E ), and f

as deﬁned in (15). A set ∅ 6=U⊆ C is called deﬁning C-set, iﬀ Uis an f-ﬂat, and

def(U)>max

U1,U2⊆U

U1∩U2=∅

{def(U1) + def (U2)}.(16)

This deﬁnition reﬂects the intuition that a C-set is important, if it bears more

information than the union of its parts. Inequality (16) will guarantee f-insepa-

rability.

Theorem 2 Given a bipartite graph G= (C ∪ R, E), then a set U⊆ C is facet

inducing for the partial transversal polytope P(C), if and only if Uis a deﬁning

C-set.

Proof. To prove necessity, let V⊆ C be facet inducing. Vis an f-inseparable

f-ﬂat by deﬁnition. Hence there are no disjoint V1, V26=∅with V=V1∪V2with

|V1| − def(V1) + |V2| − def(V2) = |V| − def(V).

Equivalently, for all disjoint ∅ 6=V1, V2⊆V:

|V| − def(V)<|V1| − def(V1) + |V2| − def(V2)

def(V)>def(V1) + def(V2),

so Vis a deﬁning C-set. For suﬃciency, let Vbe a deﬁning C-set. Vis an f-ﬂat

by deﬁnition. Further it holds that

def(V)>max

U1,U2⊆U

U1∩U2=∅

{def(U1) + def (U2)}.

That is, for arbitrary disjoint ∅ 6=V1, V2⊆Vwith V1∪V2=Vwe have

def(V)>def(V1) + def(V2)

|V| − def(V)<|V1| − def(V1) + |V2| − def(V2)

f(V)< f(V1) + f(V2).

So Vis facet inducing for the partial transversal polytope.

Corollary 3 (Strengthening of Hall’s Conditions) Let G= (C ∪ R, E )be

a bipartite graph, and D1, .., Dn⊆ C the collection of all deﬁning C-sets. There

exists a matching covering all elements of A⊆ C, if and only if for all Diand

for all X⊆A

|Di∩X| ≤ |Γ(Di)|.(17)

3.2 Generating all Facets, and a Generating Subset

Now that we know how to strengthen constraints (8), we would like to make

algorithmic use of this knowledge. We will ﬁrst see that taking unions of deﬁning

C-sets again yields a deﬁning C-set, if we preserve the f-ﬂat property.

Deﬁnition (The ﬂat-union ⊔)Given a bipartite graph G= (C ∪ R, E ) and

two sets U1, U2⊆ C, then the ﬂat-union ⊔is deﬁned as follows:

U1⊔U2:= U1∪U2∪ {c∈ C :Γ({c})∈Γ(U1)∪Γ(U2)}.

Lemma 4 (The ﬂat-union of deﬁning C-sets) Given a bipartite graph G=

(C ∪ R, E ), a set function fas in (15), and two deﬁning C-sets U1, U2⊆ C such

that

f(U1) + f(U2)> f(U1∪U2).

Then U=U1⊔U2is a deﬁning C-set.

Proof. By deﬁnition, Uis an f-ﬂat. We assume for contradiction that there are

disjoint V1, V26=∅with

U=V1∪V2(18)

f(U) = f(V1) + f(V2).(19)

U1, U2and V1, V2both partition U. Thus, U1or U2cannot be completly contained

in V1or V2, so at least one of U1, U2has to have a non trivial intersection with

V1and V2. W.l.o.g., U1∩V16=∅and U1∩V26=∅. A consequence of (19) is

ν((U1∪Γ(U1))) = ν(((U1∩V1)∪Γ(U1∩V1)))+ ν(((U1∩V2)∪Γ(U1∩V2))) (20)

which is equivalent to

|U1∪Γ(U1)| − def((U1∪Γ(U1), E))

=|U1∩V1| − def(((U1∩V1)∪Γ(U1∩V1), E)) +

|U1∩V2| − def(((U1∩V2)∪Γ(U1∩V2), E)) .

That is, U1is not f-inseparable, hence it is not facet inducing, and thus no

deﬁning C-set.

The number of deﬁning C-sets can be as large as 2|R| −1. Consider G= (C ∪R, E )

described by the incidence matrix

A=

11100010000100

00111100001000

00000111110000

00000000011111

.

One can see, that for all R⊆ R, with |R| ≤ 2, Γ−1(R) is a deﬁning C-set. It is

a consequence of Lemma 4 that Γ−1(R) is a deﬁning C-set for all R⊆ R.

Even though the number of facets can be large, we will show we can obtain all

facets from a (practically small) subset via Lemma 4.

Deﬁnition (Atomic deﬁning C-set) Given a bipartite graph G= (C ∪ R, E).

A deﬁning C-set Ais called atomic, if |A|>1, and no two deﬁning C-sets

U1, U2⊆Aexist, such that

Γ(U1)∪Γ(U2) = Γ(A)

Γ(U1)∩Γ(U2)6=∅.

All other deﬁning C-sets are called non-atomic.

Theorem 5 (Number of atomic deﬁning C-sets) Given a bipartite Graph

G= (C∪R, E ). The number of atomic deﬁning C-sets is at most def(C) = def(G).

Proof. Proof by induction on r=|R|:

The assertion is easily veriﬁed for r= 1 and r= 2. For the induction step, let A

be the set of all atomic deﬁning C-set and h: 2C→, U 7→ |{C∈ A :C⊆U}|.

Case I: Cis an atomic deﬁning C-set. Let A1,...,Ak⊂ C be all inclusion maximal

subsets of C, from Lemma 4 we know that

∀A∈ A ∃Di:A⊂Di.(21)

Now the assertion is easy to show.

def(C)Lemma 12

≥

k

X

i=1

def(Di) + 1

by ind. hyp.

≥

k

X

i=1

h(Di) + 1

(21)

=|A|

Case II: Cis not a deﬁning C-set or a non-atomic deﬁning C-set.

Let Ci=C\{c∈ C :i∈Γ({c})}. Clearly, we have

C ≥

r+1

[

i=1

Ci.(22)

Further, one can conclude from Lemma 10 and the f-ﬂat condition of a deﬁning

C-set

∀D∈ A ∃R⊂ R :D=Γ−1(R).(23)

By supermodularity of def(·) we can proof the assertion.

def(C)

(22)

≥def(

r+1

[

i=1

Ci)

Lemma 8

≥

r+1

X

k=1

(−1)k−1X

1≤i1<...<ik≤r+1

def(Ci1∩...∩Cik)

by ind. hyp.

≥

r+1

X

k=1

(−1)k−1X

1≤i1<...<ik≤r+1

h(Ci1∩...∩Cik)

(23)

=X

C∈A

(

r+1−|Γ(C)|

X

k=1

(−1)k−1X

1≤i1<...<ik≤r+1

1)

Lemma 9

=X

C∈A

1

=|A|

3.3 Facet Enumeration

In our present implementation we enumerate all deﬁning C-sets, basically using

Lemmas 4 and 11. If the number of deﬁning C-sets is polynomially bounded,

the running time of the algorithm is polynomial. As pointed out below, for

real-world instances this is a reasonable assumption. Theorem 5 suggests an

algorithm which ﬁrst constructs all atomic C-sets, and repeatedly takes all non

disjoint ﬂat-unions. We postpone a detailed description of such an algorithm to

the full paper.

4 Consequences

In real-world instances of the university course timetabling problem a room can

be described by various attributes (or features). These may be capacity, location,

seating, beamer, blackboard, etc. We distinguish between two types of features,

exclusive and inclusive. Exclusive features cannot be requested at the same time

(e.g., diﬀerent room capacities). It is characteristic to exclusive features that

the graph Gt= (Ct∪ Rt, Et) decomposes into independent components. We will

show that for each component of Gtthe maximum number of deﬁning C-sets

only depends on the number of diﬀerent (inclusive) features.

Lemma 6 (Number of deﬁning C-sets) If the number of diﬀerent features

in a connected bipartite graph G= (C ∪ R, E)is φ, then the number of deﬁning

C-sets in Gis at most 2φ−1.

Proof. Let Fbe the set of features and F⊆ F . We then denote with CFall

the courses, that apply for a room, which has to be provided with all features

f∈F. Let

D={CF:F⊆ F} .

We show that if A⊆ C is a deﬁning C-set and |A|>1, then A∈ D. We assume

that A⊆ C is a deﬁning C-set and A /∈ D. Then there exists a c∈ C\A, such

that Γ(c)⊆Γ(A).

Case I: ν((A∪Γ(A), E)) = |Γ(A)|. Then, |A∪c| − def (A∪c) = |A| − def (A),

so Ais not an f-ﬂat and hence no deﬁning C-set.

Case II: ν((A∪Γ(A), E)) <|Γ(A)|. Then, Acannot be a deﬁning C-set (Lemma

10).

This has important consequences for the applicability of our apporach to real-

world instances.

Corollary 7 For a ﬁxed number of features, the number of deﬁning C-sets is

O(1).

Practical evidence shows that the number of deﬁning C-sets is in fact small.

For example, we added a total of about 6400 non-trivial facets to our largest

instance, cf. Table 2.

5 Computational Results

All our results were obtained on a 3.2GHz Pentium 4 Linux PC with 1GB mem-

ory. Integer programs are solved using CPLEX 10.1. We separately list running

times for three steps: (i) facet generation, (ii) solution of the integer program

(6)–(10), and (iii) allocating rooms to all assigned periods of all courses via a

sequence of perfect matching calculations.

5.1 The Second International Timetabling Competition

Accompanying the PATAT08 conference, the second international timetabling

competition, ITC2007, is held. The data of seven problems were published [5].

We present the statistics of our approach for these instances in Table 1. Note

that we only report computation times for respecting all given hard constraints.

Almost all soft constraints can be easily included in our IP without signiﬁcantly

worsen the running time.

5.2 Statistics and Results on Simulated Data

As we can see, the ITC2007 instances are no challenge to our approach. To obtain

a better idea of its potential performance, we developed a simulation tool which is

able to create large problem instances with near real-world character. We present

Name Courses Course-Slots Rooms Violations Step1 Step2 Step3

comp01 30 160 6 0 <0.01 sec. 0.05 sec. 0.02 sec.

comp02 82 283 16 0 <0.01 sec. 0.19 sec. 0.02 sec.

comp03 72 251 16 0 <0.01 sec. 0.17 sec. 0.02 sec.

comp04 79 286 18 0 <0.01 sec. 0.24 sec. 0.03 sec.

comp05 54 152 9 0 <0.01 sec. 0.56 sec. 0.02 sec.

comp06 108 361 18 0 <0.01 sec. 0.43 sec. 0.04 sec.

comp07 131 434 20 0 <0.01 sec. 0.57 sec. 0.04 sec.

Table 1. Statistics and results for ITC2007 instances

statistics of three representative instances of diﬀerent sizes, cf. Table 2. The key

data (not listed here) of the large instance is almost identical to that of Technical

University of Berlin (which is a rather large university). Computation times

are acceptable, even though for an interactive timetable design, some tuning is

necessary. Almost 80% of instructors teach at their ﬁrst choice time slots.

Name Courses Course-Slots Rooms Violations Step1 Step2 Step3

small 180 420 35 0 45 sec. 9 sec. 3 sec.

medium 950 2100 165 0 307 sec. 52 sec. 6 sec.

large 2100 4640 345 0 1235 sec. 5106 sec. 5 sec.

Table 2. Statistics and results for simulated instances

For comparison, we list in Table 3 the results for the same instances when using

the intuitive integer program (1)–(5).

Name # Variables # Constraints Runtime Gap

small 13 000 7000 30 sec. <2%

medium 100 000 31 000 510 sec. 7 %

large 240 000 80 000 1 day no solution

Table 3. Sizes, solution times, and quality for the intuitive integer program (1)–(5).

6 Discussion

We did not discuss several extensions, which are (or can easily be) incorporated in

our practical implementation, most notably practical soft constraints. However,

our generic model (in particular using the concept of a conﬂict graph) is well

suited for this purpose. One can model e.g., that two courses have to be scheduled

on consecutive time slots, or that no two lectures of the same course are given

on the same day, etc. We report experiences with a soft constraint solver in a

companion paper [17].

One could think of solving the integer program (6)–(10) via branch-and-cut.

However, even for our largest instances, the number of facet inducing Hall in-

equalities (8) was rather small. This is why we simply added all facet inducing

inequalities up-front.

We have access to the courses database at Technical University of Berlin. It

comprises 2100 courses (to be scheduled to about 4500 time slots), 345 rooms

of about 50 types, and 1550 instructors; there are seven time periods each day.

The only reason for using simulated data instead of the real instance, is that

the database is severely inconsistent and incomplete [18]. It is planned to man-

ually repair and complete the necessary data in the near future, and to test our

implementation for the construction of timetables for the whole university.

References

1. Burke, E., Rudov´a, H., eds.: PATAT 2006: Proceedings of the 6th International

Conference on the Practice and Theory of Automated Timetabling. Lect. Notes

Comp. Science, Berlin, Springer (2007) To appear; available online at http://

patat06.muni.cz/proceedings.html.

2. Burke, E., Jackson, K., Kingston, J., Weare, R.: Automated university timetabling:

The state of the art. Comput. J. 40(9) (1997) 565–571

3. Lov´asz, L., Plummer, M.: Matching Theory. North-Holland, Amsterdam (1986)

4. Schrijver, A.: Combinatorial Optimization Polyhedra and Eﬃciency. Springer,

Berlin (2003)

5. : ITC2007: 2nd International Timetabling Competition. http://www.cs.qub.ac.

uk/itc2007/

6. Burke, E., Petrovic, S.: Recent research directions in automated timetabling. Eu-

ropean J. Oper. Res. 140(2) (2002) 266–280

7. Schaerf, A.: A survey of automated timetabling. Artiﬁcial Intelligence Review

13(2) (1999) 87–127

8. Daskalaki, S., Birbas, T., Housos, E.: An integer programming formulation for a

case study in university timetabling. European J. Oper. Res. 153 (2004) 117–135

9. Schimmelpfeng, K., Helber, S.: Application of a real-world university-course

timetabling model solved by integer programming. OR Spectrum 29 (2007) 783–

803

10. Lewis, R.: A survey of metaheuristic-based techniques for university timetabling

problems. OR Spectrum (2007) In press.

11. Meyers, C., Orlin, J.: Very large-scale neighborhood search techniques in

timetabling problems. [1] 36–52

12. Carter, M.: A comprehensive course timetabling and student scheduling system at

the university of Waterloo. In Burke, E., Erben, W., eds.: PATAT 2000: Proceed-

ings of the 3th International Conference on the Practice and Theory of Automated

Timetabling. Volume 2079 of Lect. Notes Comp. Science., Berlin, Springer (2001)

64–82

13. Daskalaki, S., Birbas, T.: Eﬃcient solutions for a university timetabling problem

through integer programming. European J. Oper. Res. 127(1) (January 2005)

106–120

14. Qualizza, A., Seraﬁni, P.: A column generation scheme for faculty timetabling.

In Burke, E., Trick, M., eds.: PATAT 2004: Proceedings of the 5th International

Conference on the Practice and Theory of Automated Timetabling. Volume 3616

of Lect. Notes Comp. Science., Berlin, Springer (2005) 161–173

15. Edmonds, J.: Maximum matching and a polyhedron with 0,1-vertices. J. Res. Nat.

Bur. Standards 69B (1965) 125–130

16. Balas, E., Pulleyblank, W.: The perfectly matchable subgraph polytope of a bi-

partite graph. Networks 13 (1983) 495–516

17. Lach, G., L¨ubbecke, M.: Curriculum based course timetabling: Optimal solutions

to the Udine benchmark instances. Preprint 2008/9, Technische Universit¨at Berlin,

Institut f¨ur Mathematik (2008)

18. Lach, G.: Modelle und Algorithmen zur Optimierung der Raumvergabe der TU

Berlin. Master’s thesis, Technische Universit¨at Berlin, Institut f¨ur Mathematik

(2007) In German.

19. Grinstead, C., Snell, J.: Introduction to Probability. Second edn. American Math-

ematical Society (2003) Available at http://math.dartmouth.edu/~prob/prob/

prob.pdf.

A Auxiliary Results

The ﬁrst two lemmas follow directly from the inclusion-exclusion principle in

probability theory [19].

Lemma 8 Given a set Vand a supermodular function f: 2V→, then for

arbitrary A1,...,An⊆Vthe following inequality holds:

f(

n

[

i=1

Ai)≥

n

X

k=1

(−1)k−1X

1≤i1<...<ik≤n

f(Ai1∩...∩Aik) (24)

Lemma 9 For each n∈the following equation holds:

n

X

k=1

(−1)k−1X

1≤i1<...<ik≤n

1 = 1 (25)

Lemma 10 Given a bipartite graph G= (C ∪ R, E)and a deﬁning C-set U⊆ C

with cardinality larger one, then we have

ν((U∪Γ(U), E)) = |Γ(U)|.

Proof. Assume for contradiction that ν((U∪Γ(U), E)) <|Γ(U)|. Then there

exists at least one unmatched r∈ R for all maximal matchings. So we choose

c∈Γ({r}) and deﬁne:

U1=c

U2=U\{c}

Clearly, U1and U2are disjoint. Furthermore,

f(U1) + f(U2) = |U1| − def(U1) + |U2| − def(U2)

=|U| − def(U1)

=f(U).

Thus, Udoes not induce a facet of P(C). This is a contradiction to Lemma 2.

Lemma 11 Given a bipartite graph G= (C ∪R, E )and an atomic C-set U⊆ C,

then all inclusion maximal deﬁning subsets D1,...,Dk⊆Uare disjoint, and

furthermore their neighbourhoods Γ(D1),...,Γ(Dk)are disjoint.

Proof. Assume for contradiction that there exist two inclusion maximal deﬁning

disjoint subsets D1, D2with Γ(D1)∩Γ(D2)6=∅.

Case I: Γ(D1)∪Γ(D2) = Γ(U)

Then Uis not atomic.

Case II: Γ(D1)∪Γ(D2)(Γ(U)

Then D1⊔D2is deﬁning and D1is not an inclusion maximal deﬁning subset of

U.

Lemma 12 Given a bipartite graph G= (C ∪R, E ), an atomic C-set U⊆ C and

all inclusion maximal deﬁning subsets D1,...,Dk(Uof U, then the following

inequality holds:

def(U)≥

k

X

i=1

def(Di) + 1 .

Proof. For all deﬁning C-sets Dwe have

def(U) = |U| − |Γ(U)|

=

k

X

i=1

|Di| − |Γ(Di)|+|U\

k

[

i=1

Di| − |Γ(U)\

k

[

i=1

Γ(Di)|

≥

k

X

i=1

def(Di) + 1