This action might not be possible to undo. Are you sure you want to continue?
(will be inserted by the editor)
A Supernodal Formulation of Vertex
Colouring with Applications in Course
Timetabling
Edmund K. Burke
1
, Jakub Mareˇcek
12★
,
Andrew J. Parkes
1
, Hana Rudov´a
2
1
Automated Scheduling, Optimisation and Planning Group
The University of Nottingham School of Computer Science
Nottingham NG8 1BB, UK
2
Masaryk University Faculty of Informatics
Botanick´ a 68a, Brno 602 00, The Czech Republic
Received: December 5, 2007
Reviewed: July 1, 2008
Revised version: November 16, 2009
Abstract For many problems in Scheduling and Timetabling the choice of
a mathematical programming formulation is determined by the formulation
of the graph colouring component. This paper brieﬂy surveys seven known
integer programming formulations of vertex colouring and introduces a new
formulation using “supernodes”.
In the deﬁnition of George and McIntyre [SIAM J. Numer. Anal. 15
(1978), no. 1, 90–112], a “supernode” is a complete subgraph, within which
every pair of vertices have the same neighbourhood outside of the subgraph.
A polynomialtime algorithm for obtaining the best possible partition of an
arbitrary graph into supernodes is given. This makes it possible to use any
formulation of vertex multicolouring to encode vertex colouring. Results of
empirical tests on benchmark instances in graph colouring (DIMACS) and
timetabling (Udine Course Timetabling) are also provided and discussed.
Key words vertex colouring, graph colouring, multicolouring, supernode,
module, integer programming
★
Contact email: jakub@marecek.cz
2 Edmund K. Burke et al.
1 Introduction
Graph colouring (“proper vertex colouring”) is a wellknown Complete
problem (Karp, 1972; Garey & Johnson, 1976). It can be formulated as
follows: Given a simple undirected graph G = (\, 1) and an integer /, de
cide if it is possible to assign / colours to vertices · ∈ \ such that no two
adjacent vertices {n, ·} ∈ 1 are assigned the same colour. There are a num
ber of applications, ranging from university timetabling (Carter & Laporte,
1997; Schaerf, 1999; Petrovic & Burke, 2004) and frequency assignment in
cellular networks (Aardal, Hoesel, Koster, & Mannino, 2007), to registry al
location in compilers (Springer & Thomas, 1994) and computing derivatives
(Gebremedhin, Manne, & Pothen, 2005).
As well as being hard to compute exactly, the minimum number
of colours needed to colour a given graph is also Hard to approximate
within a factor of ∣\ ∣
1−·
for any c 0, unless = (Kraj´ıˇcek, 1997;
Feige & Kilian, 1998; Zuckerman, 2007). There are still dense random in
stances on 125 vertices from the Second DIMACS Implementation Challenge
announced in 1992 (Johnson & Trick, 1996), for which the decision prob
lem cannot be solved within reasonable time limits (M´endezD´ıaz & Zabala,
2008), although it is often possible to solve considerably larger instances in
practice, by exploiting applicationspeciﬁc structure of the graphs. Springer
and Thomas (1994) have, for instance, shown that graph colouring in special
cases of register allocation in compilers is polynomially solvable.
In cases that are not polynomially solvable, exact solvers are often
based on branch and bound/cut or branch and price procedures with lin
ear programming relaxations. There are a wide variety of such integer lin
ear programming approaches to graph colouring. A number of authors,
including Zabala and M´endezD´ıaz (2002; 2006; 2008), have used a nat
ural assignmenttype formulation. Williams and Yan (2001) have studied
a formulation with precedence constraints. Lee (2002) and Lee and Mar
got (2007) have studied a binary encoded formulation. Mehrotra and Trick
(1996) and more recently (Schindl, 2004; Hansen, Labb´e, & Schindl, 2005)
have been using formulations based on independent sets. Barbosa et al. (2004)
have been experimenting with encodings based on acyclic orientations. Fi
nally, the most recent formulation by Campˆelo, Campos, and Corrˆea (2008,
2009) is based on asymmetric representatives. These seven encodings of
graph colouring, often together with the corresponding integer program
ming formulations, are summarised in Table 1 and surveyed in more detail
in Section 2.
In Section 3, we ﬁrst review the concept of a “supernode”, a complete
subset of vertices of a graph, where each two vertices have the same neigh
bourhoods outside of the subset; this concept has been described many times
previously (George & McIntyre, 1978; Duﬀ & Reid, 1983; Eisenstat, Elman,
Schultz, & Sherman, 1984). See Figure 1 for a simple illustration. Next, we
show that the partition of a graph into supernodes, obtainable in polynomial
time, provides a transformation of graph colouring to graph multicolouring.
Supernodal Formulation of Graph Colouring 3
Figure 1: Example of a graph and a partition of its vertexset into supern
odes. Notice supernodes 1
′
and C
′
need to be assigned two distinct colours
each, distinct from the colour(s) assigned to ¹
′
and 1
′
. Within each su
pernode, colours can be interchanged freely. For a more complex example,
see Figure 5.
¹
1
2
1
1
C
2
C
1
1 ¹
′
1
′
C
′
1
′
Table 1: Integer programming formulations of graph colouring:
Based on Variables Constraints Selected references
Vertices I ∣\ ∣ ∣\ ∣ +I ∣1∣ M´endezD´ıaz and Zabala
(Standard) (2002, 2006, 2008)
Binary Encoding ⌈log
2
I⌉ ∣\ ∣ Exp. many Lee (2002)
Max. Independent Sets Exp. many ∣\ ∣ + 1 Mehrotra and Trick (1996)
Any Independent Sets Exp. many ∣\ ∣ + 1 Hansen et al. (2005)
Precedencies (∣\ ∣
2
) ∣1∣ Williams and Yan (2001)
Acyclic Orientations ∣1∣ Exp. many Barbosa et al. (2004)
Asymmetric Represent. (∣1∣) (∣\ ∣ ∣1∣) Campˆelo et al. (2008)
Supernodes I ∣Q∣ ∣Q∣ +I ∣1
′
∣ This paper
Hence, we can use the standard binary integer formulation of multicolouring,
with binary decision variable r
.¸
is set to one, if any member of supernode
i is assigned colour ,, for graph colouring. This translates to new formula
tions for numerous problems in Scheduling and Timetabling. An illustrative
example of formulations of Udine Course Timetabling (Gaspero & Schaerf,
2003, 2006) is given in Section 4. The paper is concluded with a discussion
of the empirical tests we carried out in Section 5.
2 Known Formulations of Graph Colouring
In graph colouring, we assume we are given a simple undirected, but not
necessarily connected graph G = (\, 1) and an integer /. Integer program
ming formulations of the decision version of the graph colouring problem
have feasible integer solutions if and only if it is possible to assign colours
1 = {1, . . . , /} to vertices · ∈ \ of G such that no two adjacent vertices
{n, ·} ∈ 1 are assigned the same colour. Although the minimum value
of / is generally hard to approximate, it is of course always possible to
pick / = ∣\ ∣, and for reallife graphs, heuristics based on local search with
suitable preprocessing often perform well (Galinier & Hertz, 2006). Estima
tors of the minimal / are also available for some classes of random graphs
4 Edmund K. Burke et al.
(Achlioptas & Naor, 2005). Notice that the decision version of the problem
with ﬁxed /, rather than the optimisation version looking for minimal /,
is used in many applications. For instance in school timetabling (Schaerf,
1999), / is usually ﬁxed to the number of periods per week.
Although there are at least seven possible encodings of feasible solu
tions and hence seven diﬀerent integer programming formulations of graph
colouring, as far as we are aware, there is no survey article or empirical com
parison available in the literature. M´endezD´ıaz and Zabala (2008) compare
four classes of cuts using the standard formulation and Prestwich (2003)
compares ﬁve encodings of graph colouring into propositional satisﬁability
testing. This section elaborates on the brief overview provided in Table 1.
Unless stated otherwise, we consider the decision version of the prob
lem. In some cases, constraints necessary to reaching optimality are also
mentioned. Notice, however, there have often been described many classes
of additional constraints, which can be added dynamically in a branch and
cut procedure.
2.1 The Standard Formulation
The natural assignmenttype formulation of graph colouring uses / ∣\ ∣ bi
nary variables:
r
u,t
=
{
1 if vertex · is coloured with colour c
0 otherwise
(1)
subject to / ∣1∣ constraints:

∑
t=1
r
u,t
= 1 ∀ vertices · ∈ \ (2)
r
u,t
+r
u,t
≤ 1 ∀ colours c ∈ 1 ∀ edges {n, ·} ∈ 1 (3)
This formulation alone produces provably poor linear programming re
laxations (Caprara, 1998). Mehrotra and Trick (1996) give the example of
r
u,t
= 1,/ for all vertices · ∈ \ and for all colours c, which is feasible when
/ ≥ 2. However, a number of classes of strong valid inequalities have been
described for this formulation, most notably by Zabala and M´endezD´ıaz
(2002; 2006; 2008), and (Campˆelo, Corrˆea, & Frota, 2003; Campˆelo et al.,
2009), either supplanting or replacing peredge constraints (3). Branch
andcut codes using suitable implementations of separation routines have
produced a number of optimal values and presentbest bounds for the bench
mark established by Johnson and Trick (1996) (Zabala & M´endezD´ıaz,
2006).
Supernodal Formulation of Graph Colouring 5
2.2 Extension: Synchronisation with General Integer Variables
Williams and Yan (2001) have noted that the standard formulation could
be extended with ∣\ ∣ additional general integer variables A, where A
u
= c
if colour c is used to colour vertex ·, subject to ∣\ ∣ additional constraints:

∑
t=1
cr
u,t
= A
u
∀ vertices · ∈ \ (4)
This extension can be applied together with custom branching rules with
some success in some timetabling problems where, for instance, lectures
should be timetabled before laboratory sessions.
2.3 The Independent Set Formulation
One of the ﬁrst alternative formulations was proposed by Mehrotra and
Trick (1996). It is based on set 1 of maximal independent sets. (Subset
o ⊆ \ of graph G = (\, 1) is deﬁned to be independent, if no two n, · ∈ o
form an edge {n, ·} ∈ 1.) There are an exponential number of binary
variables:
r
.
=
{
1 if independent set i is assigned a single colour
0 otherwise
(5)
subject to ∣\ ∣ + 1 constraints:
∑
.∈J
r
.
≤ / (6)
∑
.∈J, s.t. u∈.
r
.
≥ 1 ∀ vertices · ∈ \ (7)
For processing any but the smallest of instances, such a formulation ob
viously requires very good routines for ﬁnding maximal independent sets
and for adding them to the linear programming subproblems ontheﬂy by
the means of column generation. It should also be noted that solutions ob
tained using this formulation require a certain amount of postprocessing,
if constraints (7) remain inequalities. Alternatively, the problem could be
reformulated so that 1 comprises all independent sets, not only maximal
independent sets. In the pervertex constraints (7) , inequality can then be
replaced with equality (Mehrotra & Trick, 1996). The original implementa
tion of Mehrotra and Trick produced exceptionally good results (Mehrotra
& Trick, 1996), but later reimplementation of Schindl (2004) and Hansen et
al. (2005) failed to match the exceptional performance. It seems also rather
diﬃcult to adapt this formulation to extensions of vertex colouring such as
the Udine Course Timetabling, which will be introduced in Section 4.
6 Edmund K. Burke et al.
2.4 The Scheduling Formulation (with Precedence Constraints)
Many researchers from a constraint programming background deal with
graph colouring in terms of multiple simultaneously applied all different
constraints. In an assignment ¹ : \ → 1 of values from a ﬁnite domain
1 to variables \ , applying the all different constraint on a subset
\ ⊂ \ stipulates that there have to be ∣\∣ distinct values assigned to
elements of \. Setting all different (V) then makes assignment ¹ in
jective. The case of a single all different constraint is easy to solve,
as it represents bipartite matching. The case of two simultaneously ap
plied all different constraints was studied by Appa, Magos, and Mourtos
(2005). The general case of multiple simultaneously applied all different
constraints is, in some sense, equivalent to graph colouring. If we take, for
example, the set of variables A deﬁned in Section 2.2, constraints (3) im
plement ∣1∣ all different constraints to pairs of elements of A. Williams
and Yan (2001) have compared this standard integer programming formu
lation of the all different constraint (of Section 2.1) with a formulation
using precedence constraints. Their work leads to a formulation of vertex
colouring using ∣\ ∣ integer variables, where A
u
= c if colour c is used to
colour vertex ·, and
1
2
∣\ ∣ (∣\ ∣ −1) additional binary variables r
u,u
, deﬁned
for n < ·:
r
u,u
=
{
1 if for vertices n, · holds A
u
< A
u
0 otherwise
(8)
subject to ∣1∣ precedence constraints:
r
u,u
+r
u,u
= 1 ∀ edges {n, ·} ∈ 1 (9)
However, in the experience of both Williams and Yan (2001) and the
authors, this formulation does not oﬀer particularly strong relaxations.
Tobias Achterberg (personal communication) suggested using another
encoding inspired by scheduling:
r
u,n
=
{
1 if vertex · is coloured by c ≤ :
0 otherwise
(10)
This encoding is, as far as we know, also untested.
2.5 The Binary Encoded Formulation
In his studies of the all different polyhedron, Lee (2002) and Lee and
Margot (2007) have introduced a formulation of binary encoding using
⌈log
2
/⌉ ∣\ ∣ binary variables:
Supernodal Formulation of Graph Colouring 7
Figure 2: Two encodings of a particular colouring of the graph from Fig
ure 5:
(a) An Encoding Using Inde
pendent Sets
Independent set Used?
{ Math
1
} 0
{ Math
2
} 1
{ Math
3
} 1
{ Math
4
} 1
{ Algo
1
} 1
{ Algo
2
} 1
{ Algo
3
} 1
{ Phy} 0
{ Math
1
, Phy} 1
{ Math
2
, Phy} 0
{ Math
3
, Phy} 0
{ Math
4
, Phy} 0
(b) The Binary Encoding
Vertex Colour
Bit 1 Bit 2 Bit 3
Math
1
1 0 0
Math
2
0 1 0
Math
3
1 1 0
Math
4
0 0 1
Algo
1
1 0 1
Algo
2
0 1 1
Algo
3
1 1 1
Phy 1 0 0
r
u,b
=
{
1 if vertex · is assigned colour having bit / set to 1
0 otherwise
(11)
Lee and Margot (2007) also described three broad classes of applicable
inequalities (“general block inequalities”, “matching inequalities”, “switched
walk inequalities”), each exponentially large in ∣\ ∣. We conjecture, but can
not prove, these include all inequalities introduced by Zabala and M´endez
D´ıaz (2006), when projected to the appropriate space. However, the devel
opment of separation routines for such general inequalities is by no means
straightforward (Lee & Margot, 2007). In the context of edge colouring of
graphs, it only remains to decide if a graph requires more colours than
the maximum degree of vertices in the graph. The computationally expen
sive separation of general block inequalities could thus perhaps be oﬀset by
having to eliminate substantially fewer variables in the branchandcut pro
cedure (Lee & Margot, 2007). In theory, such an argument could perhaps
also apply to colouring of dense random graphs (Bollob´as, 2001), where the
chromatic number was shown to be almost surely one of two known values,
for example, see (Achlioptas & Naor, 2005). However, experimental results
do not seem to be conclusive; not even in the case of edge colouring (Lee &
Margot, 2007).
2.6 Encoding Using Acyclic Orientations
In the context of experimental formulations of graph colouring, we also
mention acyclic orientations, an encoding based on the GallaiRoyVitaver
8 Edmund K. Burke et al.
Figure 3: Two more encodings of a particular colouring of the graph from
Figure 5. Identical row headings are not repeated twice.
(a) The Scheduling Encoding
\
1
Vertex \
2
M
a
t
h
1
M
a
t
h
2
M
a
t
h
3
M
a
t
h
4
A
l
g
o
1
A
l
g
o
2
A
l
g
o
3
P
h
y
Math
1
1 1 1 1 1 1 0
Math
2
0 1 1 1 1 1 0
Math
3
0 0 1 1 1 1 0
Math
4
0 0 0 1 1 1 0
Algo
1
0 0 0 0 1 1 0
Algo
2
0 0 0 0 0 1 0
Algo
3
0 0 0 0 0 0 0
Phy 0 1 1 1 1 1 1
(b) The Encoding Using Asymmetric
Representatives
Vertex \
2
M
a
t
h
1
M
a
t
h
2
M
a
t
h
3
M
a
t
h
4
A
l
g
o
1
A
l
g
o
2
A
l
g
o
3
P
h
y
0 1
1 0
1 0
1 0
1
1
1
0 0 0 0 0
theorem (Gallai, 1968; Roy, 1967; Vitaver, 1962): directed graphs, which
contain no directed simple path of length ≥ /, / ≥ 1, are /colorable. An
acyclic orientation G
′
= (\, 1
′
) of an undirected graph G = (\, 1) is then
obviously a directed graph such that for each {n, ·} ∈ 1, there is either
(n, ·) ∈ 1
′
or (·, n) ∈ 1
′
, and there is no directed cycle in G
′
. For fur
ther references, see also Werra and Hansen (2003) and Neˇsetˇril and Tardif
(2008). Together with an algorithm enumerating all possible acyclic orienta
tions (Barbosa & Szwarcﬁter, 1999), this could provide a basis for a column
generation algorithm for graph colouring. There are some experiments with
metaheuristics using this encoding (Barbosa et al., 2004). The only imple
mentation using the linear programming relaxations with this encoding the
authors are aware of, however, is an unpublished work of Rosa Maria Videira
de Figueiredo.
2.7 Formulation Using Asymmetric Representatives
Finally, the most recently published alternative formulation of graph colour
ing is by Campˆelo et al. (2009), although it does stem from their pre
vious studies of graph colouring (Campˆelo et al., 2008, 2003). There are
∣\ ∣ + ∣\ ∣
2
− ∣1∣ binary variables r
u,u
, where r
u,u
is deﬁned for n, · ∈ \ ,
n ∕= ·, and {n, ·} , ∈ 1:
r
u,u
=
{
1 if vertices n, · share one colour and n represents ·
0 otherwise
(12)
Each independent set, which is assigned a unique colour, is assigned
a unique vertex (“representative”) representing the independent set. This
Supernodal Formulation of Graph Colouring 9
can be done using a number of constraints cubic in ∣\ ∣. Campˆelo et al.
(2008) then establish an order on the vertex set \ , which induces an acyclic
orientation introduced in Section 2.6. This enables addition of a number
of symmetrybreaking constraints. Only limited, albeit promising, empiri
cal results Catanzaro, Godi, and Labb´e (2008); Campˆelo et al. (2009) are
available so far.
3 The Main Result
In this section, we propose another formulation, based on a particular type of
clique partition. However, ﬁrstly, let us start with the (standard) deﬁnition
of a clique partition:
Deﬁnition 1 The clique partition of graph G = (\, 1) is a partition Q of
vertices \ , such that for all sets ¡ ∈ Q, all · ∈ ¡ are pairwise adjacent in
G. We use · ∈ ¡ ∈ Q to denote that vertex · in the original vertexset \ is
an element of a clique represented by ¡ in the clique partition Q.
As is well known, the problem of ﬁnding the minimum cardinality of
a clique partition, ¯ ¸(G), is Hard in general graphs and as hard to
approximate as graph colouring itself (see MinimumCliquePartition
in Crescenzi, Kann, Halld´orsson, Karpinski, & Woeginger, 2005). Indeed,
¯ ¸(G) = ¸(
¯
G), where ¸(
¯
G) is the minimum number of colours needed to
colour the complement graph. Notice, however, we do not require minimality
in the deﬁnition; for example, \ is a valid though trivial clique partition of
graph G.
Next, we introduce the indistinguishability relation between vertices of
a graph:
Deﬁnition 2 Two vertices n, · ∈ \ of a graph G = (\, 1) are indistin
guishable, if and only if they are adjacent and have identical closed neigh
bourhoods; that is: {n ∣ {n, n} ∈ 1} ∪ {n} is the same as {n ∣ {·, n} ∈
1} ∪ {·}.
This relation has been discovered independently a number of times. The
earliest mention known to us are the “closed” sets of Gallai (1967). It has
been studied also in game theory (Shapley, 1967), partially ordered sets
(Golumbic, 1977), in connection with mass elimination (George & McIntyre,
1978), under names such as externally related sets (Habib & Maurer, 1979),
supervariables (Duﬀ & Reid, 1983), prototype vertices (Eisenstat et al.,
1984), and autonomous sets (M¨ohring & Radermacher, 1984). Muller and
Spinrad (1989) suggest the term “module” .
It is easy to observe the indistinguishability relation is reﬂexive, sym
metric, and transitive. Hence:
Lemma 1 The indistinguishability relation is an equivalence.
10 Edmund K. Burke et al.
Next, we deﬁne the particular type of clique partition we are interested
in:
Deﬁnition 3 The reversible clique partition Q of a graph G = (\, 1) is
the clique partition of minimum cardinality such that each supernode ¡ ∈ Q
represents a class of equivalence in a indistinguishability relation on G.
This means that for each supernode ¡ ∈ Q of the reversible clique par
tition (Q, 1
′
), each two vertices n, · ∈ ¡ are indistinguishable. Reversible
clique partition is closely related to modular (Cunningham & Edmonds,
1980) and substitution decomposition (M¨ohring & Radermacher, 1984), or
dinal sum (Sabidussi, 1961), and Xjoin (Habib & Maurer, 1979). It is also
a special case of 2join of the strong perfect graph theorem (Chudnovsky,
Robertson, Seymour, & Thomas, 2006) fame. As usual, we will be interested
also in the graph induced by the clique partition:
Deﬁnition 4 The graph induced by reversible clique partition Q of graph
G = (\, 1) is the graph G
′
= (Q, 1
′
), where 1
′
= {{¡
u
, ¡
u
}∣{n, ·} ∈
1, ¡
u
, ¡
u
∈ Q, ¡
u
∕= ¡
u
, n ∈ ¡
u
, · ∈ ¡
u
, }.
The use of the word induced in this context is reasonable, because it cor
responds to a subgraph induced by taking a subset of the original vertex set
with a single (arbitrary) representative of each supernode. The “reversibil
ity” of the clique partition is, indeed, rather a strict requirement. As the
name suggests, it makes it possible to reconstruct the original graph. It also
makes it possible to employ the usual polynomialtime algorithm for ﬁnding
classes of an equivalence relation:
Deﬁnition 5 Algorithm A
Input: Graph G = (\, 1)
Output: Reversible clique partition Q of G
1. Construct an auxiliary graph H = (\, 1), where there is an edge {n, ·} ∈
1, if and only if there is an edge {n, ·} ∈ 1 and vertices n and · are
indistinguishable in G
2. Run depthﬁrst search on H to obtain collection Q of connected compo
nents of H
3. Return Q
From Lemma 1, we can easily deduce that:
Lemma 2 Algorithm ¹ produces a reversible clique partition in time (∣\ ∣ ∣1∣).
Notice Muller and Spinrad (1989) provide an elegant O(∣\ ∣
2
) algorithm.
Let us now consider multicolouring, as deﬁned by:
Supernodal Formulation of Graph Colouring 11
Deﬁnition 6 The problem of multicolouring of a graph G = (\, 1) with a
ﬁnite set of colours 1 = {1, . . . , /}, which is given together with demand
function ) : \ → ℕ, is to obtain mapping c : \ → 2
J
, such that for all
· ∈ \ : ∣c(·)∣ = )(·) and for all {n, ·} ∈ 1, c(n) ∩c(·) = ∅. It makes sense
to require
∪
u∈\
c(·) = 1.
It follows:
Theorem 1 For all graphs G and integers / 0, there is multicolouring `
of the graph induced by reversible clique partition Q of G with / colours and
demand function implied by the cardinality of sets in Q, if and only if there
is colouring C of G with / colours. There is a lineartime transformation
of ` to C.
Subsequently, the standard integer programming formulation of vertex
multicolouring can also be used as a formulation of vertex colouring. Given
the graph G
′
= (Q, 1
′
) induced by reversible clique partition Q of graph
G = (\, 1) together with the demand function ) : \ → ℕ, specifying
the number )(¡) of colours to attach to each vertex ¡ ∈ Q out of the set
1 = {1, . . . , /}, this is the integer programming formulation with / ∣Q∣
binary variables:
r
g,t
=
{
1 if colour c is included in the set assigned to ¡ ∈ Q
0 otherwise
(13)
subject to ∣Q∣ +/ ∣1
′
∣ constraints:

∑
t=1
r
g,t
= )(¡) ∀¡ ∈ Q (14)
r
u
′
,t
+r
u
′
,t
≤ 1 ∀c ∈ 1 ∀{n
′
, ·
′
} ∈ 1
′
(15)
See Figure 4 for an example. It is easy to see that there exists a proper
vertex colouring of G = (\, 1) with / colours, if and only if there exists a
multicolouring of a reversible clique partition (Q, 1
′
) of G with / colours,
which exists if and only if the integer programming formulation has a feasible
solution for the given instance. When a graph has only a trivial reversible
clique partition, this formulation is reduced to the standard formulation.
It thus remains Complete to decide, if there exists a multicolouring of
G
′
with )(¡) using / colours. Nevertheless, the proposed formulation avoids
some symmetries inherent in the standard vertex colouring formulation,
which assigns unique colours (or “labels”) to individual vertices. If there
was a trivial integer programming solver, using neither bounding, nor cuts,
this formulation should reduce its search space by the factor of
∏
g∈Q
∣¡∣!
when compared to the standard formulation of Section 2.1. Although it is
much more diﬃcult to predict run times in modern integer programming
12 Edmund K. Burke et al.
Figure 4: The standard and the proposed encoding of a particular colouring
of the graph from Figure 5:
(a) The Standard Encoding
Vertex Colour
1 2 3 4 5 6 7
Math
1
1 0 0 0 0 0 0
Math
2
0 1 0 0 0 0 0
Math
3
0 0 1 0 0 0 0
Math
4
0 0 0 1 0 0 0
Algo
1
0 0 0 0 1 0 0
Algo
2
0 0 0 0 0 1 0
Algo
3
0 0 0 0 0 0 1
Phy 1 0 0 0 0 0 0
(b) The Proposed Encoding
Partition Colour
1 2 3 4 5 6 7
Math
′
1 1 1 1 0 0 0
Algo
′
0 0 0 0 1 1 1
Phy
′
1 0 0 0 0 0 0
solvers, it is obvious that there are /(∣\ ∣ − ∣Q∣) fewer variables, in the
proposed formulation than in the standard one. It seems that the number of
constraints is also reduced, often by more than /(∣\ ∣ −∣Q∣), without making
the constraint matrix considerably denser. Hence, reduction in run time of
the order of ∣Q∣ , ∣\ ∣ could perhaps be expected. For empirical results, see
Section 5.
4 An Application in Course Timetabling
In general, a comparison of formulations of graph colouring is nontrivial.
Both encodings based on independent sets and representatives introduce
less symmetry
1
than the standard formulation introduced in Section 2.1 or
binary encoding. Although they neatly partition the set of vertices, without
assigning unique labels to individual partitions, their merits are hard to
quantify, as any empirical results are dependent on a particular implemen
tation of separation and pricing routines, which have not been extensively
studied thus far. Another important aspect is extensibility of the various
formulations of graph colouring. Many realworld applications necessitate
formulation of complex measures of the quality of feasible solutions (“key
performance indicators”), which seem to be hard to formulate using an ex
ponential number of variables representing independent sets (Mehrotra &
Trick, 1996; Hansen et al., 2005) or using the binary encoding of Lee (2002).
One such application arises in a number of universities (Burke, Werra, &
Kingston, 2004): course timetabling.
1
When we address the question of reducing or breaking symmetry below, the statements
hold, when symmetry is thought of as the number of solutions of the instance of
integer programming with the best possible cost, corresponding to, in some sense,
a single conﬁguration. The assignment of colours is irrelevant, for example, as
long as we are given the appropriate vertexpartition. Presumably, the statements
could also hold for other deﬁnitions of symmetry as well.
Supernodal Formulation of Graph Colouring 13
Figure 5: An example from timetabling. Imagine one student takes Algo
rithms and Mathematics (with three and four lectures per week), and an
other one takes Algorithms and Physics (with a single lecture per week); no
two lectures attended by one student can take place at the same time.
The corresponding reversible clique partition G
′
= (Q, 1
′
):
Q = {Phy
′
, Algo
′
, Math
′
}, 1
′
= {{Math
′
, Algo
′
}, {Algo
′
, Phy
′
}}
Phy
′
Algo
′
Math
′
The original conﬂict graph G = (\, 1):
\ = {Phy, Algo
1
, Algo
2
, Algo
3
, Math
1
, Math
2
, Math
3
, Math
4
}
1 = {{&, ·} ∣ &, · ∈ \, & ∕= ·} ∖ {{Phy, Math
1
}, {Phy, Math
2
},
{Phy, Math
3
}, {Phy, Math
4
}}
Phy
Algo
1
Algo
2
Algo
3
Math
1
Math
2
Math
3
Math
4
In educational timetabling, considerable resources can be wasted by low
utilisation of teaching space (Beyrouthy et al., 2008). Speciﬁc timetabling
problems vary widely from institution to institution. Most problems, how
ever, share a common model:
– set 1 of events is given, together with a subset of its powerset ¹, where
for all distinct “enrolments” (or “conﬂict groups” or “curricula’ ’) o ∈ ¹,
no two distinct events c
1
, c
2
∈ o can take place at the same time
– assignment of events to ∣1∣ time periods is desired, such that all distinct
enrolments are honoured and there are at most ∣1∣ events taking place
at one period, where ∣1∣ is the number of periods per week and ∣1∣ is
the number of available rooms.
This model is, indeed, a straightforward application of ∣1∣bounded ∣1∣
colouring. In the graph to be coloured (the “conﬂict graph”), vertices rep
resent events, two vertices are adjacent if the corresponding events are in
cluded in a single enrolment, and assignment of periods to events is repre
sented by assignment of ∣1∣ colours to ∣1∣ vertices, such that adjacent ver
tices are assigned diﬀerent colours and each colour is used at most ∣1∣ times.
For an illustrative example, see Figure 5. For further graphtheoretical foun
dations, see Handbook of Graph Theory (Gross & Yellen, 2004), especially
14 Edmund K. Burke et al.
Section 5.6 (Burke et al., 2004). The most rigorous studies of integer pro
gramming formulations of this model, including competitive branchandcut
implementations, are by Avella and Vasil’ev (2005) and M´endezD´ıaz and
Zabala (2008). For other recent research directions, see Burke and Petro
vic (2002). However, it seems obvious that this model is rather removed
from the needs of reallife applications, although given the complexity of
vertex colouring, where the presentbest solvers have diﬃculties with dense
instances on 125 vertices (Zabala & M´endezD´ıaz, 2006), it also presents an
interesting challenge.
In this paper, we use a model of course timetabling proposed by Schaerf
and Di Gaspero (2003, 2006) at the University of Udine. In Udine Course
Timetabling
2
, the basic model is extended so that:
– events are grouped into disjoint sets, called courses, with events of one
course taking place at diﬀerent times and being freely interchangeable
– courses are grouped into not necessarily disjoint sets, called enrolments;
no two events within a single enrolment can be timetabled for the same
period,
– capacities of individual classrooms and numbers of students taking in
dividual courses are also given
– an assignment of events to both rooms and periods is sought, minimising
the value of a certain objective function.
What makes the extension more diﬃcult (by orders of magnitude) than the
basic model is the objective function, consisting of a linear combination of
three key performance indicators:
– the number of students left without a seat at an event, summed across
all events
– the diﬀerence between the prescribed minimum number of distinct days
of instruction for a course and the actual number of distinct days, when
events of the course are held, summed across all courses, where the
diﬀerence is positive
– the number of events occurring outside of a continuous block of two or
more events in a timetable for an important distinct enrolment, summed
across all important distinct enrolments
Notice that the third key performance indicator essentially consists of the
sum of the number of breaks in individual timetables of individual students
or groups of students, plus the number of single courses on a single day in
the timetables. Its modelling proves to be very diﬃcult (Burke, Mareˇcek,
Parkes, & Rudov´a, 2008) and the present best solvers yield “poor results”
(Avella & Vasil’ev, 2005). See also Schimmelpfeng and Helber (2007) for
2
The problem of Udine Course Timetabling has been extended into a “port
folio of formulations for the curriculumbased course timetabling problem”
(http://tabu.diegm.uniud.it/ctt/, Nov 8, 2009) since this paper was written. The
presented variant of the problem was current as of November 2007.
Supernodal Formulation of Graph Colouring 15
another example of a timetabling problem with a number of softconstraints,
together with an interesting integer programming formulation.
In a further extension of the basic model, not studied in this paper, one
relaxes also the colouring component. Vertices of an edgeweighted conﬂict
graph then have to be partitioned into ∣1∣ disjoint subsets such that the
sum of weights attached to edges with both endpoints in a single subset
is minimised (Kiaer & Yellen, 1992). The weight of an edge {c
1
, c
2
} ∈ 1
can be determined, for instance, by the number of students enrolled in
both events c
1
and c
2
. Obviously, if the conﬂict graph is ∣1∣colourable, a
proper colouring is found. Such a model is employed, for instance, at Purdue
University (Rudov´a & Murray, 2003; Murray, M¨ uller, & Rudov´a, 2007).
4.1 Notation for Course Timetabling
In order to present timetabling applications of the proposed formulation
of graph colouring, we have to introduce some notation. In the context of
course timetabling, it is customary to refer to vertices as events and colours
as periods. In addition to a period, each event is assigned also a room, and
there can be, at most, a given number of events taking place at each period.
Using this convention and the notation presented in Table 2, the standard
integer programming formulation of course timetabling is written as:
T
¡,:,c
=
{
1 if event c is taught in room : at period j
0 otherwise
(16)
∑
:
∑
¡
T
¡,:,c
= 1 ∀ events c ∈ 1 (17)
∑
c
T
¡,:,c
≤ 1 ∀ periods j ∈ 1 ∀ rooms : ∈ 1 (18)
∑
:
∑
c∈t
T
¡,:,c
≤ 1 ∀ periods j ∈ 1 ∀ courses c ∈ C
(19)
∑
:
∑
t∈Teaches
∑
c∈t
T
¡,:,c
≤ 1 ∀ periods j ∈ 1 ∀ teachers t ∈ T
(20)
∑
:
∑
t∈HasC
∑
c∈t
T
¡,:,c
≤ 1 ∀ periods j ∈ 1 ∀ curricula n ∈ U
(21)
This corresponds to the standard formulation of graph colouring in
troduced in Section 2.1. Constraints (17) ensure each event is assigned a
timeplace slot and constraints (18) ensure there is at most one event tak
ing place in a given room at a period. Finally, the packingtype constraints
16 Edmund K. Burke et al.
Table 2: The notation used in our integer programming formulation of
Udine Course Timetabling.
1 set of rooms
Capacity
the number of seats in room v
1 set of periods
D set of days
Periods
the subset of periods pertaining to day d
C set of courses
MinDays
the recommended minimum number of days
of instruction for course c
Students
number of students enrolled in course c
1 set of events
1
the subset of events pertaining to course c
T set of teachers
Teaches
the subset of courses taught by teacher t
U set of identiﬁers of distinct enrolments
HasC
the subset of courses pertaining to curriculum &
(19)–(21) stipulate there should be no conﬂicts. Notice that constraints (21)
make constraints (19) redundant, unless there are courses not included in
any enrolment. In a similar spirit, the formulation introduced in Section 3
can be written, with courses as supernodes, as follows:
T
¡,:,t
=
{
1 if some event of course c is taught in room : at period j
0 otherwise
(22)
∑
:
∑
¡
T
¡,:,t
= ∣1
t
∣ ∀ courses c ∈ C (23)
∑
t
T
¡,:,t
≤ 1 ∀ periods j ∈ 1 ∀ rooms : ∈ 1 (24)
∑
:
T
¡,:,t
≤ 1 ∀ periods j ∈ 1 ∀ courses c ∈ C (25)
∑
:
∑
t∈Teaches
T
¡,:,t
≤ 1 ∀ periods j ∈ 1 ∀ teachers t ∈ T (26)
∑
:
∑
t∈HasC
T
¡,:,t
≤ 1 ∀ periods j ∈ 1 ∀ curricula n ∈ U (27)
What makes reallife course timetabling vastly more diﬃcult than this
formulation of graph colouring, are complex measures of the quality of fea
sible timetables, which are best illustrated by considering an example.
Supernodal Formulation of Graph Colouring 17
4.2 Formulation of Udine Course Timetabling
Udine Course Timetabling, introduced in Section 4, is an established bench
mark in the ﬁeld of course timetabling with complex performance indicators.
Out of the three key performance indicators in Udine Course Timetabling,
the minimisation of the number of students left without a seat can be for
mulated using a single term in the objective function:
∑
:∈R
∑
¡∈P
∑
t∈C
Students
.
Capacity
T
¡,:,t
(Students
t
−Capacity
:
) . (28)
The second key performance indicator, the number of missing days of
instruction summed across all courses, can be formulated using two auxiliary
arrays of decision variables. The ﬁrst binary array, U, is indexed with courses
and days. U
t,J
is set to one, if and only if there are some events of course c
held on day d. The other array of integers, V, is indexed with courses. Value
V
t
is bounded below by zero and above by the number of days in a week
and represents the number of days course c is short of its recommended days
of instruction. This enables addition of the constraints:
∑
:∈R
T
¡,:,t
≤ U
t,J
∀c ∈ C ∀d ∈ D ∀j ∈ Periods
J
(29)
∑
:∈R
∑
¡∈Periods
T
¡,:,t
≥ U
t,J
∀c ∈ C ∀d ∈ D (30)
V
t
+
∑
J∈D
U
t,J
≥ MinDays
t
∀c ∈ C . (31)
The term
∑
t∈C
V
t
can then easily be added to the objective function.
However, it is only the formulation of the third key performance in
dicator, the penalty incurred by patterns of distinct daily timetables of
individual or groups of students, that proves to have a decisive impact on
the performance of formulations of Udine Course Timetabling (Burke et al.,
2008). The penalisation of patterns in timetables was traditionally formu
lated “by feature” (Avella & Vasil’ev, 2005). In an auxiliary binary array S
indexed with curricula, days and features, S
u,J,}
is set to one, if and only
if feature ) is present in the timetable for curriculum n and day d. In the
case of the penalisation of events timetabled for a curriculum outside of a
single consecutive block of two or more events per day, when there are four
periods per day, there are four constraints:
∀u∈U,J∈D,∀⟨¡
1
,¡
2
,¡
3
,¡
4
⟩∈Periods
∑
t∈HasC
∑
:∈R
(T
¡1,:,t
−T
¡2,:,t
) ≤ S
u,J,1
(32)
18 Edmund K. Burke et al.
∀u∈U,J∈D,∀⟨¡
1
,¡
2
,¡
3
,¡
4
⟩∈Periods
∑
t∈HasC
∑
:∈R
(T
¡2,:,t
−T
¡1,:,t
−T
¡3,:,t
) ≤ S
u,J,2
(33)
∀u∈U,J∈D,∀⟨¡
1
,¡
2
,¡
3
,¡
4
⟩∈Periods
∑
t∈HasC
∑
:∈R
(T
¡3,:,t
−T
¡2,:,t
−T
¡4,:,t
) ≤ S
u,J,3
(34)
∀u∈U,J∈D,∀⟨¡
1
,¡
2
,¡
3
,¡
4
⟩∈Periods
∑
t∈HasC
∑
:∈R
(T
¡4,:,t
−T
¡3,:,t
) ≤ S
u,J,4
(35)
However, considerable improvement in the performance of pattern penal
isation can be gained by introducing the concept of the enumeration of
patterns. It is obviously possible to precompute a set 1 of n + 2 tuples
n, r
1
, . . . , r
n
, :, where n is the number of periods per day, r
.
is one if there
is instruction in period i of the daily pattern and minus one otherwise, n
is the penalty attached to the pattern, and : is the sum of positive values
r
.
in the patterns decremented by one. Burke et al. (2008) have studied a
number of possible applications of this concept, with one of the best per
forming being the addition of constraints, such as in the case of four periods
per day:
∀⟨u,i
1
,i
2
,i
3
,i
4
,n⟩∈1 ∀u∈U ∀J∈D ∀⟨¡
1
,¡
2
,¡
3
,¡
4
⟩∈Periods
n (r
1
∑
t∈HasC
∑
:∈R
T
¡
1
,:,t
+r
2
∑
t∈HasC
∑
:∈R
T
¡
2
,:,t
+r
3
∑
t∈HasC
∑
:∈R
T
¡
3
,:,t
+r
4
∑
t∈HasC
∑
:∈R
T
¡
4
,:,t
−:) ≤
∑
s∈Checks
S
u,J,s
.
(36)
The third term in the objective function is
∑
u∈U
∑
J∈D
∑
s∈Checks
S
u,J,s
.
For further details on formulations of these soft constraints and their impact
on the overall performance, see Burke et al. (2008).
5 Computational Experience
In order to evaluate performance of the new formulation, we have conducted
a number of experiments. We report:
1. the dimensions of reversible clique partitions obtained from graphs in
the standard DIMACS benchmark
2. performance gains on graph colouring instances originating from timetabling,
both from reallife and randomly generated instances of the Udine Course
Timetabling problem
Supernodal Formulation of Graph Colouring 19
3. performance gains on the the complete instances of Udine Course Timetabling
problem, as compared to the eﬀects of symmetry breaking built into
CPLEX.
All reported results were measured on a desktop PC running Linux, equipped
with two Intel Pentium 4 processors clocked at 3.20 GHz. ILOG CPLEX
version 10.0 integer programming solver was restricted to use only a single
thread on a single processor. Default parameter settings were used, outside
of settings for symmetry breaking described below and settings imposing the
time limit of one hour on run time per instance. DIMACS instances descibed
by Johnson and Trick (1996) were downloaded from the online repository
3
.
Four reallife timetabling instances were taken from the benchmark used
by (Gaspero & Schaerf, 2003, 2006) and eighteen more instances were ob
tained using a random instance generator
4
developed by the authors. Their
dimensions are listed in Table 4. In all instances, each course has one to six
events per week, with the average being three, each teacher teaches one or
two courses totalling at one to six hours per week, and enrolments consist
of less than ten events per week, on average. All instances were passed to
CPLEX in LP format as generated from sources in Zimpl, the free algebraic
modelling language (Koch, 2004), and are available online in Zimpl format.
Instances in LP format, whose total size exceeds 1.3 GB, can be also made
available upon request. Veriﬁcation of the results is thus possible with freely
available solvers, such as SCIP (Achterberg, 2007).
First, we have obtained reversible clique partions from DIMACS graphs.
To illustrate the eﬀects of preprocessing of the original graph on the size of
the reversible clique partition, in Table 3, we list the sizes ﬁrst without using
any preprocessing (under Q), as well as after some preprocessing speciﬁc
to graph colouring, but not speciﬁc to the transformation (under Q
′
). This
preprocessing
5
included:
– Removal of vertices of degree less than a lower bound on the chromatic
number
– Removal of vertices connected to all other vertices in the graph
– Removal of each vertex n whose neighbourhood is a subset of the neigh
bourhood of another nonadjacent vertex ·.
To summarise Table 3, out of the 121 graphs in the DIMACS benchmark,
28 proved trivial to colour after the reductions were applied. Across the 93
remaining instances, the arithmetic mean of the ratios of the reduced and
original numbers of vertices (edges) was 72.97 % (71.98 %) and the geometric
mean was 63.51 % (56.81 %). In the 47 cases, where the reductions changed
the size of the instance, but did not lead to trivially colourable instances,
the arithmetic and geometric means were 57.37 % (55.27 %) and 40.72 %
3
Available at http://mat.gsia.cmu.edu/COLOR/ (Nov 8, 2009)
4
Available at http://cs.nott.ac.uk/
˜
jxm/timetabling/generator/ (Nov 8, 2009)
5
For details of the preprocessing and the source code used, please see the contact authors’
website, http://cs.nott.ac.uk/
˜
jxm/colouring/supernodal/ (Nov 8, 2009).
20 Edmund K. Burke et al.
(32.67 %), respectively. This could be surprising, as these graphs were not
collected so as to exhibit any particular structure.
Second, we evaluated performance of the standard formulation of graph
colouring introduced in Section 2.1 and performance of the formulation pro
posed in Section 3 on the graph colouring component of instances of Udine
Course Timetabling. (The complete constraint set was used, but not the ob
jective function.) From the results reported in Table 5, it seems that with the
exception of a single random instance (rand16) and one heavily constrained
reallife instance (udine4), the proposed formulation performs considerably
better. In particular, on the 21 instances of Udine Course Timetabling, the
supernodal formulation of the graph colouring component reduced the num
ber of nonzeros in the integer programming instances without the objective
function to 37.42 % (arithmetic mean) or 37.00 % (geometric mean). This
resulted in the reduction of runtime to 54.05 % (arithmetic mean) or 39.26 %
(geometric mean). Notice in Section 4.1, that these reductions were achieved
despite the fact that both formulations use the same amount of information
on cliques in the conﬂict graph, only expressed in terms of diﬀerent decision
variables.
Next, we compared performance of the complete formulations of Udine
Course Timetabling, including the objective function, diﬀering only in the
formulation of the underlying graph colouring component. Notice that the
CPLEX run time necessary to reach optimality was two orders of magni
tude higher than in the previous experiment looking for feasible colouring.
Whether the performance gains observed in the graph colouring component
alone would still be manifested, was thus not clear. As is summarised in
Table 6, however, the new formulation again seems to perform considerably
better, although on one instance, CPLEX 10 did not produce a feasible
solution within one hour using the new formulation. On seven instances
that resulted in a time out after one hour using the old formulation, the
new formulation made it possible to solve the instances to optimality, fast.
On further eight instances, where neither formulation managed to solve the
instance to optimality using CPLEX 10, the new formulation led to the av
erage change of the gap by 9.79 % (arithmetic mean), although the change
was not always a reduction. On the ﬁnal seven instances, solved using both
formulation to optimality within the time limit, the run time was reduced
to 22.71 % (arithmetic mean) or 22.18 % (geometric mean) using the new
formulation. These results seem to indicate the value of the new formulation
in timetabling applications.
We have also studied eﬀects of symmetry breaking implemented in CPLEX
on performance of both formulations. In all previous experiments, both for
mulations were run using no builtin symmetry breaking in CPLEX. Table 7
compares these results (denoted +0) with results obtained with symmetry
breaking builtin in CPLEX 10.0 set to aggressive (denoted +3). Again, the
new formulation using no builtin symmetry breaking performs better than
the standard formulation using aggressive builtin symmetry breaking.
Supernodal Formulation of Graph Colouring 21
These results are rather encouraging, although the performance gains
are limited only to graphs, where it is possible to obtain a reversible clique
partition of \ , whose cardinality is considerably less than ∣\ ∣. This is not
the case in trianglefree graphs and many dense random graphs, often used
in benchmarking general graph colouring procedures. In realworld applica
tions, however, the graphs seem to be highly structured, and the structure
is worth exploiting.
6 Conclusions and Further Work
We have presented a transformation of graph colouring to graph multi
colouring, making it possible to use the standard formulation of graph mul
ticolouring as a formulation of graph colouring. This can also be viewed as
the supernodal integer programming formulation of graph colouring, where
supernode of George and McIntyre (1978) is the complete subset of vertices
of a graph where each two vertices have the same neighbours outside of
the subset. It remains to be seen, if the transformation could be used in
conjuction with other formulations of multicolouring.
This transformation can be seen as an example of symmetry breaking.
Although there has been recently a considerable interest (Margot, 2002,
2003, 2007; Ostrowski, Linderoth, Rossi, & Smriglio, 2007; Kaibel, Pein
hardt, & Pfetsch, 2007; Kaibel & Pfetsch, 2008) in the development of meth
ods for automated symmetry breaking, these methods have so far not been
competitive in solving graph colouring problems (Kaibel & Margot, 2007).
Compared to the standard formulation with symmetry breaking embed
ded in ILOG CPLEX 10.0, the industrial standard in integer programming
solvers, our reformulation without the embedded symmetry breaking en
abled oﬀers performance, which is improved by a factor of three. It would
appear that applicationspeciﬁc formulations breaking symmetries will be
necessary, at least until performance of automated symmetry breaking im
proves.
Additionally, we have brieﬂy surveyed seven other integer programming
formulations of vertex colouring, proposed in the literature. This seems to be
the ﬁrst time such a survey has been attempted. Generally speaking, in non
trivial applications of graph colouring, the performance of various integer
programming formulations of the underlying graph colouring components
seems to be highly dependent on their suitability for applicationspeciﬁc key
performance indicators. Nevertheless, a proper computational comparison of
integer programming formulations of graph colouring would be most inter
esting – and remains to be conducted. Another interesting research direction
might explore hybridisation, using one encoding in an integer programming
formulation, but multiple encodings for cut generation.
Finally, the proposed formulation seems very convenient in timetabling
applications. Compared to many formulations necessitating column gener
ation, it is easy to extend this formulation to accommodate complex key
22 Edmund K. Burke et al.
performance indicators (“soft constraints”). We have demonstrated its per
formance on the example of Udine Course Timetabling, a benchmark prob
lem in timetabling with soft constraints proposed by Gaspero and Schaerf
(2003). Using ILOG CPLEX 10.0, we have been able to arrive at the previ
ously unknown optimum for instance Udine1 within 143 seconds on a single
processor. Such results give a new hope that reallife instances of course
timetabling could be solved within provably small bounds of optimality.
Acknowledgements. The authors are grateful to Andrea Schaerf and Luca
Di Gaspero, who kindly maintain the Udine Course Timetabling problem,
and to Jay Yellen, whose comments have helped to improve an early draft
of the paper. The comments of two anonymous referees, which helped to
improve the presentation, are also much appreciated. Hana Rudov´a is in
part supported by M
ˇ
SMT Project MSM0021622419 and GA
ˇ
CR Project No.
201/07/0205. Andrew J. Parkes was supported by EPSRC grant GR/T26115/01.
Supernodal Formulation of Graph Colouring 23
References
Aardal, K. I., Hoesel, S. P. M. van, Koster, A. M. C. A., & Mannino,
C. (2007). Models and solution techniques for frequency assignment
problems. Ann. Oper. Res., 153, 79–129.
Achlioptas, D., & Naor, A. (2005). The two possible values of the chromatic
number of a random graph. Ann. of Math., 163(3), 1333–1349.
Achterberg, T. (2007). Constraint integer programming. Unpublished doc
toral dissertation, Berlin.
Appa, G., Magos, D., & Mourtos, I. (2005). On the system of two
all diﬀerent predicates. Inform. Process. Lett., 94(3), 99–105.
Avella, P., & Vasil’ev, I. (2005). A computational study of a cutting plane
algorithm for university course timetabling. J. Scheduling, 8(6), 497–
514.
Barbosa, V. C., Assis, C. A. G., & Nascimento, J. O. do. (2004). Two novel
evolutionary formulations of the graph coloring problem. J. Comb.
Optim., 8(1), 41–63.
Barbosa, V. C., & Szwarcﬁter, J. L. (1999). Generating all the acyclic
orientations of an undirected graph. Inform. Process. Lett., 72, 71–
74.
Beyrouthy, C. B., Burke, E. K., Silva, D. L., McCollum, B., McMullan, P., &
Parkes, A. J. (2008). Towards improving the utilisation of university
teaching space. J. Op. Res. Soc., 60(1), 130–143.
Bollob´as, B. (2001). Random graphs. Cambridge: Cambridge UP.
Bollobas, B., & Thomason, A. (1979). Set colourings of graphs. Discrete
Math., 25, 2126.
Burke, E. K., & Causmaecker, P. D. (Eds.). (2003). Practice and the
ory of automated timetabling, 4th international conference, PATAT
2002, Gent, Belgium, August 2123, 2002, Selected revised papers (Vol.
LNCS 2740). Berlin: Springer.
Burke, E. K., Mareˇcek, J., Parkes, A. J., & Rudov´a, H. (2008). Penalising
patterns in timetables: Novel integer programming formulations. In
S. Nickel & J. Kalcsics (Eds.), Operations research proceedings 2007
(pp. 409–414). Berlin: Springer.
Burke, E. K., & Petrovic, S. (2002). Recent research directions in automated
timetabling. European J. Oper. Res., 140(2), 266–280.
Burke, E. K., Werra, D. de, & Kingston, J. H. (2004). Applications to
timetabling. In J. L. Gross & J. Yellen (Eds.), Handbook of graph
theory (pp. 445–474). London, UK: CRC.
Campˆelo, M., Campos, V. A., & Corrˆea, R. C. (2008). On the asymmetric
representatives formulation for the vertex coloring problem. Discrete
Appl. Math., 156(7), 1097–1111.
Campˆelo, M., Campos, V. A., & Corrˆea, R. C. (2009). Um algoritmo
de planosdecorte para o n´ umero crom´atico fracion´ario de um grafo.
Pesquisa Operacional , 29(1), 179–193.
24 Edmund K. Burke et al.
Campˆelo, M., Corrˆea, R. C., & Frota, Y. (2003). Cliques, holes and the
vertex coloring polytope. Inform. Process. Lett., 89(4), 159–164.
Caprara, A. (1998). Properties of some ilp formulations of a class of parti
tioning problems. Discrete Appl. Math., 87(13), 11–23.
Carter, M. W., & Laporte, G. (1997). Recent developments in practical
course timetabling. In E. K. Burke & M. W. Carter (Eds.), Practice
and theory of automated timetabling (Vol. LNCS 1408, p. 319). Berlin:
Springer.
Catanzaro, D., Godi, A., & Labb´e, M. (2008). A class representative model
for pure parsimony haplotyping (Tech. Rep. Nos. Dated October 29,
2008). Bruxelles, Belgium: Universit´e Libre de Bruxelles.
Chudnovsky, M., Robertson, N., Seymour, P., & Thomas, R. (2006). The
strong perfect graph theorem. Ann. of Math. (2), 164(1), 51–229.
Coll, P., Marenco, J., M´endezD´ıaz, I., & Zabala, P. (2002). Facets of the
graph coloring polytope. Ann. Oper. Res., 116, 79–90.
Crescenzi, P., Kann, V., Halld´orsson, M., Karpinski, M., & Woeginger, G.
(2005). A compendium of NP optimization problems. (Available on
line.)
Cunningham, W. H., & Edmonds, J. (1980). A combinatorial decomposition
theory. Canad. J. Math., 32(3), 734–765.
Duﬀ, I. S., & Reid, J. K. (1983). The multifrontal solution of indeﬁnite
sparse symmetric linear. ACM Trans. Math. Softw., 9(3), 302–325.
Dur´an, G., Lin, M. C., Mera, S., & Szwarcﬁter, J. L. (2006). Algorithms for
cliqueindependent sets on subclasses of circulararc graphs. Discrete
Appl. Math., 154(13), 1783–1790.
Dur´an, G., Lin, M. C., & Szwarcﬁter, J. (2002). On cliquetransversals and
cliqueindependent sets. Ann. Oper. Res., 116, 71–77.
Eisenstat, S. C., Elman, H. C., Schultz, M. H., & Sherman, A. H. (1984).
The (new) Yale Sparse Matrix Package. In Elliptic problem solvers, II
(Monterey, Calif., 1983) (pp. 45–52). Orlando, FL: Academic Press.
Feige, U., & Kilian, J. (1998). Zero knowledge and the chromatic number.
J. Comput. Syst. Sci., 57(2), 187–199. (Preliminary version appeared
in IEEE CoCo’96.)
Fischetti, M., & Williamson, D. P. (Eds.). (2007). Integer programming
and combinatorial optimization, 12th international conference, IPCO,
Ithaca, NY, June 2527, 2007, Proceedings (Vol. LNCS 4513). New
York: Springer.
Galinier, P., & Hertz, A. (2006). A survey of local search methods for graph
coloring. Comput. Oper. Res., 33(9), 2547–2562.
Gallai, T. (1967). Transitiv orientierbare Graphen. Acta Math. Acad. Sci.
Hungar, 18, 25–66.
Gallai, T. (1968). On directed paths and circuits. In P. Erd¨os & G. Katobna
(Eds.), Theory of graphs (pp. 115–118). New York, NY: Academic
Press.
Garey, M. R., & Johnson, D. S. (1976). The complexity of nearoptimal
graph coloring. J. ACM, 23(1), 43–49.
Supernodal Formulation of Graph Colouring 25
Gaspero, L. D., & Schaerf, A. (2003). Multi neighborhood local search
with application to the course timetabling problem. In E. K. Burke
& P. D. Causmaecker (Eds.), Practice and theory of automated
timetabling (Vol. LNCS 2740, pp. 262–275). Berlin: Springer.
Gaspero, L. D., & Schaerf, A. (2006). Neighborhood portfolio approach
for local search applied to timetabling problems. J. Math. Model.
Algorithms, 5(1), 65–89.
Gebremedhin, A. H., Manne, F., & Pothen, A. (2005). What color is
your Jacobian? Graph coloring for computing derivatives. SIAM Rev.,
47(4), 629–705.
George, A., & McIntyre, D. R. (1978). On the application of the minimum
degree algorithm to ﬁnite element systems. SIAM J. Numer. Anal.,
15(1), 90–112.
Golumbic, M. C. (1977). The complexity of comparability graph recognition
and coloring. Computing, 18(3), 199–208.
Gross, J. L., & Yellen, J. (Eds.). (2004). Handbook of graph theory. London,
UK: CRC.
Habib, M., & Maurer, M. C. (1979). On the Ajoin decomposition for
undirected graphs. Discrete Appl. Math., 1(3), 201–207.
Halld´orsson, M. M., & Kortsarz, G. (2004). Multicoloring: Problems and
techniques. In J. Fiala, V. Koubek, & J. Kratochv´ıl (Eds.), Math
ematical Foundations of Computer Science 2004, 29th international
symposium, MFCS 2004, Prague, Czech Republic, August 2227, 2004,
Proceedings (Vol. 3153, pp. 25–41). Springer.
Hansen, P., Labb´e, M., & Schindl, D. (2005). Set covering and packing
formulations of graph coloring: algorithms and ﬁrst polyhedral results
(Tech. Rep. No. G200576). Montreal, Canada: GERAD.
Johnson, D. J., & Trick, M. A. (Eds.). (1996). Cliques, coloring, and
satisﬁability: Second DIMACS implementation challenge, Workshop,
October 1113, 1993. Boston, MA: American Mathematical Society.
Kaibel, V., & Margot, F. (2007). Personal communication at MIP Workshop
2007 in Montreal, Canada.
Kaibel, V., Peinhardt, M., & Pfetsch, M. E. (2007). Orbitopal ﬁxing. In
M. Fischetti & D. P. Williamson (Eds.), Integer programming and
combinatorial optimization (Vol. LNCS 4513, pp. 74–88). New York:
Springer.
Kaibel, V., & Pfetsch, M. (2008). Packing and partitioning orbitopes. Math.
Program., 114(1), 1–36. (DOI 10.1007/s1010700600815)
Karp, R. M. (1972). Reducibility among combinatorial problems. In
R. E. Miller & J. W. Thatcher (Eds.), Complexity of computer com
putations (pp. 85–103). New York, NY: Plenum Press.
Kiaer, L., & Yellen, J. (1992). Weighted graphs and university course
timetabling. Comput. Oper. Res., 19(1), 59–67.
Koch, T. (2004). Rapid mathematical programming. Unpublished doctoral
dissertation, Berlin. (ZIB Technical Report TR0458)
26 Edmund K. Burke et al.
Kraj´ıˇcek, J. (1997). Interpolation theorems, lower bounds for proof sys
tems, and independence results for bounded arithmetic. J. Symb.
Log., 62(2), 457–486.
Lee, J. (2002). Alldiﬀerent polytopes. J. Comb. Optim., 6(3), 335–352.
Lee, J., & Margot, F. (2007). On a binaryencoded ILP coloring formulation.
INFORMS J. Comput., 19(3), 406–415.
Margot, F. (2002). Pruning by isomorphism in branchandcut. Math.
Program., 94, 71–90.
Margot, F. (2003). Exploiting orbits in symmetric ILP. Math. Program.,
98, 3–31.
Margot, F. (2007). Symmetric ILP: Coloring and small integers. Discrete
Opt., 4, 40–62.
Mehrotra, A., & Trick, M. A. (1996). A column generation approach for
graph coloring. INFORMS J. Comput., 8(4), 344–354.
Mehrotra, A., & Trick, M. A. (2007). A branchandprice approach for
graph multicoloring. In E. K. Baker, A. Joseph, A. Mehrotra, &
M. A. Trick (Eds.), Extending the horizons: Advances in computing,
optimization, and decision technologies (pp. 15–29). New York, NY:
Springer.
M´endezD´ıaz, I., & Zabala, P. (2008). A cutting plane algorithm for graph
coloring. Discrete Appl. Math., 156(2).
M¨ohring, R. H., & Radermacher, F. J. (1984). Substitution decomposition
for discrete structures and connections with combinatorial optimiza
tion. In Algebraic and combinatorial methods in operations research
(Vol. 95, pp. 257–355). Amsterdam: NorthHolland.
Muller, J. H., & Spinrad, J. (1989). Incremental modular decomposition.
J. ACM, 36(1), 1–19.
Murray, K., M¨ uller, T., & Rudov´a, H. (2007). Modeling and solution of
a complex university course timetabling problem. In E. K. Burke &
H. Rudov´a (Eds.), Practice and theory of automated timetabling (Vol.
LNCS 3867, pp. 193–213). Berlin: Springer.
Neˇsetˇril, J., & Tardif, C. (2008). A dualistic approach to bounding the
chromatic number of a graph. Eur. J. Comb., 29(1), 254–260.
Ostrowski, J., Linderoth, J., Rossi, F., & Smriglio, S. (2007). Orbital branch
ing. In M. Fischetti & D. P. Williamson (Eds.), Integer programming
and combinatorial optimization (Vol. LNCS 4513, pp. 104–118). New
York: Springer.
Petrovic, S., & Burke, E. K. (2004). University timetabling. In J. Leung
(Ed.), Handbook of scheduling: Algorithms, models, and performance
analysis (pp. 1001–1023). Boca Raton, FL: CRC Press.
Prestwich, S. D. (2003). Local search on SATencoded colouring problems.
In E. Giunchiglia & A. Tacchella (Eds.), Theory and applications of
satisﬁability testing (Vol. LNCS 2919, pp. 105–119). Berlin: Springer.
Roy, B. (1967). Nombre chromatique et plus longs chemins d’un graph.
Rev. AFIRO, 1, 127–132.
Supernodal Formulation of Graph Colouring 27
Rudov´a, H., & Murray, K. (2003). University course timetabling with soft
constraints. In E. K. Burke & P. D. Causmaecker (Eds.), Practice
and theory of automated timetabling (Vol. LNCS 2740, pp. 310–328).
Berlin: Springer.
Sabidussi, G. (1961). Graph derivatives. Math. Z., 76, 385–401.
Schaerf, A. (1999). A survey of automated timetabling. Artiﬁcial Intelli
gence Rev., 13(2), 87–127.
Schimmelpfeng, K., & Helber, S. (2007). Application of a realworld
universitycourse timetabling model solved by integer programming.
OR Spectrum, 29, 783–803.
Schindl, D. (2004). Some combinatorial optimization problems in graphs
with applications in telecommunications and tomography. Unpublished
doctoral dissertation, Lausanne.
Shapley, L. (1967). On committees. In New methods of thought and proce
dure (pp. 246–270). Berlin: Springer.
Springer, D. L., & Thomas, D. E. (1994). Exploiting the special structure
of conﬂict and compatibility graphs in highlevel synthesis. IEEE
Transactions on CAD of Integrated Circuits and Systems, 13(7), 843–
856.
Stahl, S. (1976). ntuple colorings and associated graphs. J. Combinatorial
Theory Ser. B, 20(2), 185–203.
Vitaver, L. M. (1962). Determination of minimal coloring of vertices of
a graph by means of boolean powers of the incidence matrix. Dokl.
Akad. Nauk. SSSR, 147, 758–759.
Werra, D. de, & Hansen, P. (2003). Using stable sets to bound the chromatic
number. Inform. Process. Lett., 87(3), 127–131.
Williams, H. P., & Yan, H. (2001). Representations of the all diﬀerent pred
icate of constraint satisfaction in integer programming. INFORMS J.
Comput., 13(2), 96–103.
Zabala, P., & M´endezD´ıaz, I. (2006). A branchandcut algorithm for graph
coloring. Discrete Appl. Math., 154(5), 826–847.
Zuckerman, D. (2007). Linear degree extractors and the inapproximability
of max clique and chromatic number. Theory Comput., 3(6), 103–128.
28 Edmund K. Burke et al.
Table 3: Dimensions of graphs induced by reversible clique partitions ob
tained from DIMACS instances (G), with (Q
′
) and without (Q) pre
processing. Empty spaces indicate graphs trivial to colour.
Instance Original Graph G Rev. Cliq. Part. Q Rev. Cliq. Part. Q
′
Vert. Edges Vert. Edges Vert. Edges
1FullIns 3 30 100 29 89
1FullIns 4 93 593 92 561 25 85
1FullIns 5 282 3247 281 3152 61 358
1Insertions 4 67 232 67 232 60 208
1Insertions 5 202 1227 202 1227 202 1227
1Insertions 6 607 6337 607 6337 600 6301
2FullIns 3 52 201 51 186
2FullIns 4 212 1621 211 1566 16 65
2FullIns 5 852 12201 851 11986 93 582
2Insertions 3 37 72 37 72
2Insertions 4 149 541 149 541 149 541
2Insertions 5 597 3936 597 3936 597 3936
3FullIns 3 80 346 79 327 17 65
3FullIns 4 405 3524 404 3440 22 114
3FullIns 5 2030 33751 2029 33342 94 768
3Insertions 3 56 110 56 110
3Insertions 4 281 1046 281 1046 281 1046
3Insertions 5 1406 9695 1406 9695 1395 9642
4FullIns 3 114 541 113 518
4FullIns 4 690 6650 689 6531
4FullIns 5 4146 77305 4145 76610 195 1769
4Insertions 3 79 156 79 156
4Insertions 4 475 1795 475 1795 475 1795
5FullIns 3 154 792 153 765 39 229
5FullIns 4 1085 11395 1084 11235 121 1037
abb313GPIA 1557 53356 1557 53356 853 16093
anna 138 493 125 437
ash331GPIA 662 4181 662 4181 661 4180
ash608GPIA 1216 7844 1216 7844 1215 7843
ash958GPIA 1916 12506 1916 12506 1915 12505
david 87 406 74 322
DSJC1000.1 1000 49629 1000 49629 1000 49629
DSJC1000.5 1000 249826 1000 249826 1000 249826
DSJC1000.9 1000 449449 1000 449449 1000 449449
DSJC125.1 125 736 125 736 125 736
DSJC125.5 125 3891 125 3891 125 3891
DSJC125.9 125 6961 125 6961 125 6961
DSJC250.1 250 3218 250 3218 250 3218
DSJC250.5 250 15668 250 15668 250 15668
DSJC250.9 250 27897 250 27897 250 27897
Supernodal Formulation of Graph Colouring 29
Table 3: Dimensions of graphs induced by reversible clique partitions ob
tained from DIMACS instances. (Continued.)
Instance Original Graph G Rev. Cliq. Part. Q Rev. Cliq. Part. Q
′
Vert. Edges Vert. Edges Vert. Edges
DSJC500.1 500 12458 500 12458 500 12458
DSJC500.5 500 62624 500 62624 500 62624
DSJC500.9 500 112437 500 112437 500 112437
DSJR500.1 500 3555 480 3341
DSJR500.1c 500 121275 500 121275 281 38166
DSJR500.5 500 58862 497 58218 483 56618
ear 190 4793 185 4758 172 4636
fpsol2.i.1 496 11654 427 5108 107 2454
fpsol2.i.2 451 8691 395 5657 154 2705
fpsol2.i.3 425 8688 369 5658 153 2665
games120 120 638 119 629
hec 81 1363 81 1363 75 1277
homer 561 1628 503 1376
huck 74 301 54 179
inithx.i.1 864 18707 732 11140
inithx.i.2 645 13979 539 9317 50 544
inithx.i.3 621 13969 521 9427 49 474
jean 80 254 67 177
latin square 10 900 307350 900 307350 900 307350
le450 15a 450 8168 450 8168 407 7802
le450 15b 450 8169 450 8169 410 7824
le450 15c 450 16680 450 16680 450 16680
le450 15d 450 16750 450 16750 450 16750
le450 25a 450 8260 450 8260 264 5840
le450 25b 450 8263 450 8263 294 6240
le450 25c 450 17343 450 17343 435 17096
le450 25d 450 17425 450 17425 433 17106
le450 5a 450 5714 450 5714 450 5714
le450 5b 450 5734 450 5734 450 5734
le450 5c 450 9803 450 9803 450 9803
le450 5d 450 9757 450 9757 450 9757
miles1000 128 3216 123 3049
miles1500 128 5198 104 3486
miles250 128 387 117 341
miles500 128 1170 115 1065
miles750 128 2113 122 2011
mug100 1 100 166 84 118
mug100 25 100 166 83 115
mug88 1 88 146 75 107
mug88 25 88 146 72 98
mulsol.i.1 197 3925 166 2274
30 Edmund K. Burke et al.
Table 3: Dimensions of graphs induced by reversible clique partitions ob
tained from DIMACS instances. (Continued.)
Instance Original Graph G Rev. Cliq. Part. Q Rev. Cliq. Part. Q
′
Vert. Edges Vert. Edges Vert. Edges
mulsol.i.2 188 3885 158 2458 35 337
mulsol.i.3 184 3916 155 2504 35 336
mulsol.i.4 185 3946 155 2504 36 360
mulsol.i.5 186 3973 157 2549 36 356
myciel2
myciel3 11 20 11 20 11 20
myciel4 23 71 23 71 23 71
myciel5 47 236 47 236 47 236
myciel6 95 755 95 755 95 755
myciel7 191 2360 191 2360 191 2360
qg.order100 10000 990000 10000 990000 10000 990000
qg.order30 900 26100 900 26100 900 26100
qg.order40 1600 62400 1600 62400 1600 62400
qg.order60 3600 212400 3600 212400 3600 212400
queen10 10 100 1470 100 1470 100 1470
queen11 11 121 1980 121 1980 121 1980
queen12 12 144 2596 144 2596 144 2596
queen13 13 169 3328 169 3328 169 3328
queen14 14 196 4186 196 4186 196 4186
queen15 15 225 5180 225 5180 225 5180
queen16 16 256 6320 256 6320 256 6320
queen5 5 25 160 25 160 25 160
queen6 6 36 290 36 290 36 290
queen7 7 49 476 49 476 49 476
queen8 12 96 1368 96 1368 96 1368
queen8 8 64 728 64 728 64 728
queen9 9 81 1056 81 1056 81 1056
school1 385 19095 376 18937 353 18799
school1 nsh 352 14612 344 14486 322 14343
wap01a 2368 110871 1594 73666 1594 73666
wap02a 2464 111742 1594 72498 1594 72498
wap03a 4730 286722 3716 224640 3716 224640
wap04a 5231 294902 3814 221704 3814 221704
wap05a 905 43081 749 35116 746 35102
wap06a 947 43571 741 34012 735 33760
wap07a 1809 103368 1611 91746 1609 91698
wap08a 1870 104176 1628 91140 1627 91122
will199GPIA 701 6772 701 6772 660 5836
zeroin.i.1 211 4100 182 2131
zeroin.i.2 211 3541 188 2187
zeroin.i.3 206 3540 183 2186
Supernodal Formulation of Graph Colouring 31
Table 4: The dimensions of test instances: numbers of events, occupancy
measured as the ratio of events and available timeplace slots (per cent), and
dimensions of the constraint matrices produced by formulations of Udine
Course Timetabling (variables ×constraints, nonzeros in constaint matrix).
Instance Ev. Occ. Standard (Nonzero) New (Nonzero)
rand01 100 70 15415 ×3194 469.35k 5398 ×4176 188.34k
rand02 100 70 15415 ×3197 508.63k 5398 ×4179 188.38k
rand03 100 70 15415 ×3197 522.44k 5398 ×4179 199.47k
rand04 200 70 60835 ×6447 2.03M 21002 ×8444 794.63k
rand05 200 70 60830 ×6416 1.94M 20696 ×8381 754.97k
rand06 200 70 60830 ×6417 2.16M 20696 ×8382 814.10k
rand07 300 70 136270 ×9799 4.29M 48174 ×12907 1.76M
rand08 300 70 136260 ×9729 4.19M 47262 ×12773 1.69M
rand09 300 70 136255 ×9698 4.46M 46806 ×12710 1.74M
rand11 100 80 12935 ×3296 356.88k 5097 ×4406 159.66k
rand12 100 80 12925 ×3233 380.59k 4835 ×4279 160.43k
rand13 200 80 50835 ×6402 1.71M 17652 ×8399 664.51k
rand14 200 80 50840 ×6427 1.56M 17908 ×8456 623.57k
rand15 200 80 50830 ×6371 1.49M 17396 ×8336 606.71k
rand16 300 80 113755 ×9627 3.92M 39231 ×12639 1.49M
rand17 300 80 113770 ×9726 3.64M 40374 ×12834 1.48M
rand18 300 80 113760 ×9650 3.66M 39612 ×12694 1.46M
udine1 207 86 50350 ×4297 963.38k 11756 ×5393 280.62k
udine2 223 93 54440 ×5626 1.30M 13452 ×6889 378.48k
udine3 252 97 66940 ×7883 2.20M 16036 ×9252 579.15k
udine4 250 100 64200 ×12060 3.70M 15505 ×13678 915.37k
32 Edmund K. Burke et al.
Table 5: The performance of the standard and the proposed (New) formu
lation of vertex colouring, measured in run times of CPLEX and numbers
of iterations performed with no builtin symmetry breaking (+0). The last
column lists ratios of CPLEX run times.
Instance Std+0 (Its.) New+0 (Its.)
Std+0
New+0
rand01 2.85s 1635 0.90s 931 3.16
rand02 2.99s 1666 0.94s 1106 3.18
rand03 9.92s 5792 1.05s 1045 9.45
rand04 99.48s 26317 5.18s 2802 19.20
rand05 73.72s 19802 33.49s 17467 2.20
rand06 83.78s 22537 40.35s 19836 2.08
rand07 216.08s 35821 86.44s 25541 2.50
rand08 59.70s 10760 43.45s 13342 1.37
rand09 127.19s 22155 98.32s 25782 1.29
rand11 3.80s 1761 1.51s 1194 2.52
rand12 4.55s 2005 2.31s 1377 1.97
rand13 95.67s 22851 47.94s 18957 2.00
rand14 45.25s 10544 6.64s 2629 6.81
rand15 30.77s 6799 6.89s 2685 4.47
rand16 114.32s 11603 275.44s 51518 0.42
rand17 251.15s 33185 144.93s 36949 1.73
rand18 160.25s 21686 138.04s 34461 1.16
udine1 23.23s 8082 4.45s 3370 5.22
udine2 14.51s 4749 10.04s 4826 1.45
udine3 83.41s 16807 17.25s 11698 4.84
udine4 144.49s 30655 145.99s 30655 0.99
Supernodal Formulation of Graph Colouring 33
Table 6: The performance of two formulations of Udine Course Timetabling,
diﬀering only in the formulation of the underlying graph colouring compo
nent: run times of CPLEX or gaps remaining after 1 hour of solving and
numbers of iterations performed with no builtin symmetry breaking (+0).
The last column lists ratios of CPLEX run times, where optimality was
reached within 1 hour using both formulations.
Instance Std+0 (Its.) New+0 (Its.)
Std+0
New+0
rand01 385.59s 180854 84.42s 43737 4.57
rand02 290.09s 71537 72.42s 34296 4.01
rand03 443.95s 148961 59.99s 23310 7.40
rand04 gap 0.24% 419910 1242.50s 210104
rand05 gap 4.15% 360868 1194.71s 250148
rand06 gap 8.33% 299998 1257.72s 247075
rand07 gap 89.71% 234087 gap 90.11% 242978
rand08 gap 99.85% 237243 gap 99.90% 312158
rand09 gap 93.97% 199619 gap 95.44% 263820
rand10 285.91s 66842 70.17s 27416 4.07
rand11 211.71s 68244 61.32s 31738 3.45
rand12 337.31s 129788 84.16s 48401 4.01
rand13 gap 0.24% 431148 884.60s 175513
rand14 gap 6.47% 322073 1356.97s 320129
rand15 gap 1.74% 303518 1166.50s 280722
rand16 gap 66.44% 175766 gap 67.19% 417706
rand17 gap 94.15% 239576 gap 94.06% 293519
rand18 gap 90.57% 251822 gap 49.34% 345817
udine1 1175.40s 166539 237.12s 104221 4.96
udine2 gap 100.00% 639068 gap 100.00% 3318838
udine3 gap 99.31% 367505 gap 59.59% 2000062
udine4 gap 99.69% 220364 gap inﬁnite 962856
34 Edmund K. Burke et al.
Table 7: The performance of two formulations of Udine Course Timetabling,
diﬀering only in the formulation of the underlying graph colouring com
ponent, and eﬀects of disabling (+0) the builtin symmetry breaking in
CPLEX, or setting it to very aggressive (+3): run times of CPLEX or gaps
remaining after 1 hour of solving.
Instance Std+0 New+0 Std+3 New+3
Std+3
New+0
rand01 385.59s 84.42s 165.52s 76.45s 1.96
rand02 290.09s 72.42s 343.33s 65.51s 4.74
rand03 443.95s 59.99s 298.52s 72.06s 4.98
rand04 gap 0.24% 1242.50s gap 0.24% 1356.63s
rand05 gap 4.15% 1194.71s gap 4.15% 1107.12s
rand06 gap 8.33% 1257.72s gap 8.33% 1162.52s
rand07 gap 89.71% gap 90.11% gap 89.71% gap 90.11%
rand08 gap 99.85% gap 99.90% gap 99.85% gap 99.90%
rand09 gap 93.97% gap 95.44% gap 93.97% gap 95.44%
rand10 285.91s 70.17s 321.51s 81.12s 4.58
rand11 211.71s 61.32s 207.41s 56.79s 3.38
rand12 337.31s 84.16s 253.75s 84.64s 3.02
rand13 gap 0.24% 884.60s gap 1.85% 795.50s
rand14 gap 6.47% 1356.97s gap 6.47% 1197.39s
rand15 gap 1.74% 1166.50s gap 30.43% 1051.74s
rand16 gap 66.44% gap 67.19% gap 66.44% gap 67.19%
rand17 gap 94.15% gap 94.06% gap 94.15% gap 94.06%
rand18 gap 90.57% gap 49.34% gap 90.57% gap 92.25%
udine1 1175.40s 237.12s 1247.33s 142.84s 5.26
udine2 gap 100.00% gap 100.00% gap 100.00% gap 100.00%
udine3 gap 99.31% gap 59.59% gap 99.33% gap 70.04%
udine4 gap 99.69% gap inﬁnite gap inﬁnite gap inﬁnite
2
Edmund K. Burke et al.
1 Introduction Graph colouring ("proper vertex colouring") is a wellknown NPComplete problem (Karp, 1972; Garey & Johnson, 1976). It can be formulated as follows: Given a simple undirected graph G = (V, E) and an integer k, decide if it is possible to assign k colours to vertices v E V such that no two adjacent vertices {u, v} E E are assigned the same colour. There are a number of applications, ranging from university timetabling (Carter & Laporte, 1997; Schaerf, 1999; Petrovic & Burke, 2004) and frequency assignment in cellular networks (Aardal, Hoesel, Koster, & Mannino, 2007), to registry allocation in compilers (Springer & Thomas, 1994) and computing derivatives (Gebremedhin, Manne, & Pothen, 2005). As well as being NPhard to compute exactly, the minimum number of colours needed to colour a given graph is also NPHard to approximate within a factor of 1V11E for any E > 0, unless NP = P (Krajicek, 1997; Feige & Kilian, 1998; Zuckerman, 2007). There are still dense random instances on 125 vertices from the Second DIMACS Implementation Challenge announced in 1992 (Johnson & Trick, 1996), for which the decision problem cannot be solved within reasonable time limits (MendezDfaz & Zabala, 2008), although it is often possible to solve considerably larger instances in practice, by exploiting applicationspecific structure of the graphs. Springer and Thomas (1994) have, for instance, shown that graph colouring in special cases of register allocation in compilers is polynomially solvable. In cases that are not polynomially solvable, exact solvers are often based on branch and bound/cut or branch and price procedures with linear programming relaxations. There are a wide variety of such integer linear programming approaches to graph colouring. A number of authors, including Zabala and MendezDiaz (2002; 2006; 2008), have used a natural assignmenttype formulation. Williams and Yan (2001) have studied a formulation with precedence constraints. Lee (2002) and Lee and Margot (2007) have studied a binary encoded formulation. Mehrotra and Trick (1996) and more recently (Schindl, 2004; Hansen, Labbe, & Schindl, 2005) have been using formulations based on independent sets. Barbosa et al. (2004) have been experimenting with encodings based on acyclic orientations. Finally, the most recent formulation by Campelo, Campos, and Correa (2008, 2009) is based on asymmetric representatives. These seven encodings of graph colouring, often together with the corresponding integer programming formulations, are summarised in Table 1 and surveyed in more detail in Section 2. In Section 3, we first review the concept of a "supernode", a complete subset of vertices of a graph, where each two vertices have the same neighbourhoods outside of the subset; this concept has been described many times previously (George & McIntyre, 1978; Duff & Reid, 1983; Eisenstat, Elman, Schultz, & Sherman, 1984). See Figure 1 for a simple illustration. Next, we show that the partition of a graph into supernodes, obtainable in polynomial time, provides a transformation of graph colouring to graph multicolouring.
Supernodal Formulation of Graph Colouring
3
Figure 1: Example of a graph and a partition of its vertexset into sup ernodes. Notice supernodes B' and G' need to be assigned two distinct colours each, distinct from the colour( s) assigned to A' and D'. Within each superno de, colours can be interchanged freely. For a more complex example, see Figure 5.
A'  B'
C' D'
Table 1: Integer programming formulations of graph colouring: Based on Vertices (Standard) Binary Encoding Max. Independent Sets Any Independent Sets Precedencies Acyclic Orientations Asymmetric Represent. Supernodes Variables k IVI Exp. many Exp. many O(1V12) lEI O(IEI) klQI Constraints IVI+ klEI Exp. many IVI+ 1 IVI+ 1 lEI Exp. many O(IVIIEI) IQI+kIE'1 Selected references MendezDiaz and Zabala
(2002, 2006, 2008)
llog2k llVl
Lee (2002) Mehrotra and Trick (1996) Hansen et al. (2005) Williams and Yan (2001) Barbosa et al. (2004) Campelo et al. (2008) This paper
Hence, we can use the standard binary integer formulation of multi colouring, with binary decision variable Xij is set to one, if any member of supernode i is assigned colour i, for graph colouring. This translates to new formulations for numerous problems in Scheduling and Timetabling. An illustrative example of formulations of Udine Course Timetabling (Gaspero & Schaerf, 2003, 2006) is given in Section 4. The paper is concluded with a discussion of the empirical tests we carried out in Section 5.
2 Known Formulations of Graph Colouring In graph colouring, we assume we are given a simple undirected, but not necessarily connected graph G = (V, E) and an integer k. Integer programming formulations of the decision version of the graph colouring problem have feasible integer solutions if and only if it is possible to assign colours K = {I, ... , k} to vertices v E V of G such that no two adjacent vertices {u, v} E E are assigned the same colour. Although the minimum value of k is generally hard to approximate, it is of course always possible to pick k = lVI, and for reallife graphs, heuristics based on local search with suitable preprocessing often perform well (Galinier & Hertz, 2006). Estimators of the minimal k are also available for some classes of random graphs
most notably by Zabala and MendezDiaz (2002. which is feasible when k 2:: 2. v} E E (2) (3) + xv. This section elaborates on the brief overview provided in Table 1. constraints necessary to reaching optimality are also mentioned. Notice. . k is usually fixed to the number of periods per week. Notice that the decision version of the problem with fixed k. 2003. as far as we are aware. is used in many applications. & Freta. there have often been described many classes of additional constraints. 1999). 1998). 2. 2006). 2005).1 The Standard Formulation The natural assignmenttype formulation of graph colouring uses k nary variables: IVI bi Xv c = { . Branchandcut codes using suitable implementations of separation routines have produced a number of optimal values and presentbest bounds for the benchmark established by Johnson and Trick (1996) (Zabala & MendezDiaz.4 Edmund K. rather than the optimisation version looking for minimal k. 2006. MendezDiaz and Zabala (2008) compare four classes of cuts using the standard formulation and Prestwich (2003) compares five encodings of graph colouring into propositional satisfiability testing.. Although there are at least seven possible encodings of feasible solutions and hence seven different integer programming formulations of graph colouring. Burke et al. which can be added dynamically in a branch and cut procedure.c = 1 'V vertices v E V 'V colours c E K 'V edges {u. a number of classes of strong valid inequalities have been described for this formulation. and (Campelo. 2008). Campelo et al. However. In some cases. Correa. Mehrotra and Trick (1996) give the example of xv. Unless stated otherwise. we consider the decision version of the problem. 2009). 1 0 otherwise if vertex v is coloured with colour c (1) subject to k lEI constraints: L c=l Xu. there is no survey article or empirical comparison available in the literature.c :::. however. For instance in school timetabling (Schaerf.c = 1/ k for all vertices v E V and for all colours c. 1 This formulation alone produces provably poor linear programming relaxations (Caprara.c k xv. either supplanting or replacing peredge constraints (3). (Achlioptas & Naor.
.t.c = x. The original implementation of Mehrotra and Trick produced exceptionally good results (Mehrotra & Trick. the problem could be reformulated so that I comprises all independent sets. 'V vertices v E V (4) This extension can be applied together with custom branching rules with some success in some timetabling problems where. 1996). It should also be noted that solutions obtained using this formulation require a certain amount of postprocessing. lectures should be timetabled before laboratory sessions. In the pervertex constraints (7) . v} E E. where Xv = c if colour c is used to colour vertex v.Supernodal Formulation of Graph Colouring 2. which will be introduced in Section 4.3 The Independent Set Formulation One of the first alternative formulations was proposed by Mehrotra and Trick (1996). 1996). if constraints (7) remain inequalities. for instance.) There are an exponential number of binary variables: if independent set i is assigned a single colour otherwise subject to (5) IVI + 1 constraints: (6) Xi 2:: 1 'V vertices v E V (7) iEI. if no two u. 2. E) is defined to be independent. It seems also rather difficult to adapt this formulation to extensions of vertex colouring such as the Udine Course Timetabling. (Subset S ~ V of graph G = (V. Alternatively. It is based on set I of maximal independent sets. subject to IVI additional constraints: L c=l k cXv. such a formulation obviously requires very good routines for finding maximal independent sets and for adding them to the linear programming subproblems onthefty by the means of column generation. not only maximal independent sets.2 Extension: Synchronisation with General Integer Variables 5 Williams and Yan (2001) have noted that the standard formulation could be extended with IVI additional general integer variables X. vEi For processing any but the smallest of instances. inequality can then be replaced with equality (Mehrotra & Trick. (2005) failed to match the exceptional performance. v E S form an edge {u. but later reimplementation of Schindl (2004) and Hansen et al. s.
the set of variables X defined in Section 2. v holds Xu < Xv (8) subject to lEI precedence = constraints: Xu.u 1 'V edges {u. as it represents bipartite matching. If we take. Lee (2002) and Lee and Margot (2007) have introduced a formulation of binary encoding using ilog2 k llVl binary variables: . constraints (3) implement lEI alLdifferent constraints to pairs of elements of X. 2. Tobias Achterberg (personal communication) suggested using another encoding inspired by scheduling: x U. this formulation does not offer particularly strong relaxations.6 Edmund K.v. Williams and Yan (2001) have compared this standard integer programming formulation of the alLdifferent constraint (of Section 2. Magos. defined for u < v: Xu v = { . for example.v + xv. The general case of multiple simultaneously applied alLdifferent constraints is. and Mourtos (2005). 1 0 otherwise if for vertices u. 2.4 The Scheduling Formulation (with Precedence Constraints) Many researchers from a constraint programming background deal with graph colouring in terms of multiple simultaneously applied alLdifferent constraints. in the experience of both Williams and Yan (2001) and the authors.v} EE (9) However. and ~ IVI(lVII) additional binary variables xu. In an assignment A : V + D of values from a finite domain D to variables V. in some sense.m otherwise { (10) This encoding is.2. equivalent to graph colouring. also untested. Their work leads to a formulation of vertex colouring using IVI integer variables. as far as we know.ffi I 0 if vertex v is coloured by c :::. The case of a single alLdifferent constraint is easy to solve. applying the alLdifferent constraint on a subset W C V stipulates that there have to be IWI distinct values assigned to elements of W. The case of two simultaneously applied alLdifferent constraints was studied by Appa. Setting alLdifferent (V) then makes assignment A injective.1) with a formulation using precedence constraints.5 The Binary Encoded Formulation In his studies of the alLdifferent polyhedron. where Xv = c if colour c is used to colour vertex v. Burke et al.
However. but cannot prove.= { 1 0 otherwise if vertex v is assigned colour having bit b set to 1 (11) Lee and Margot (2007) also described three broad classes of applicable inequalities ("general block inequalities". 2. 2007). In the context of edge colouring of graphs. experimental results do not seem to be conclusive. Phy} Used? 0 (b) The Binary Encoding Vertex Mathl Math2 Math3 Math4 Algol Algo2 Algo3 Phy Bit 1 1 0 Colour Bit 2 Bit 3 0 1 1 1 1 1 1 0 1 0 1 1 0 0 0 0 0 1 0 1 0 0 0 1 1 1 1 0 1 1 1 1 0 Xv b . such an argument could perhaps also apply to colouring of dense random graphs (Bollobas. each exponentially large in IVI. for example. these include all inequalities introduced by Zabala and MendezDiaz (2006). where the chromatic number was shown to be almost surely one of two known values. We conjecture. when projected to the appropriate space. not even in the case of edge colouring (Lee & Margot. 2007).6 Encoding Using Acyclic Orientations In the context of experimental formulations of graph colouring. Phy} { Math4. the development of separation routines for such general inequalities is by no means straightforward (Lee & Margot. 2007). it only remains to decide if a graph requires more colours than the maximum degree of vertices in the graph. "matching inequalities". we also mention acyclic orientations. Phy} { Math2. 2005). "switched walk inequalities").RoyVitaver . In theory. see (Achlioptas & Naor. Phy} { Math3. The computationally expensive separation of general block inequalities could thus perhaps be offset by having to eliminate substantially fewer variables in the branchandcut procedure (Lee & Margot. 2001). However.Supernodal Formulation of Graph Colouring 7 Figure 2: Two encodings of a particular colouring of the graph from Figure 5: (a) An Encoding Using Independent Sets Independent set { Mathd { Math2} { Math3} { Math4} { Algol} { Algo2} { Algo3} { Phy} { Mathl. an encoding based on the Gallai.
and {u. Vitaver. u # v. 2004). There are some experiments with metaheuristics using this encoding (Barbosa et al. ~ ~ 1 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 theorem (Gallai. is an unpublished work of Rosa Maria Videira de Figueiredo. Roy. k 2:: 1.lEI binary variables xu. there is either (u.8 Edmund K.v  { (12) Each independent set.v) E E' or (v.E: I 0 if vertices u.v is defined for u. and there is no directed cycle in G'. v share one colour and u represents v otherwise x U. Together with an algorithm enumerating all possible acyclic orientations (Barbosa & Szwarcfiter. v} E E. where xu. Burke et al. the most recently published alternative formulation of graph colouring is by Campelo et al.v} 1:. however. The only implementation using the linear programming relaxations with this encoding the authors are aware of. Identical row headings are not repeated twice. 0 0 0 0 0 0 0 E +' ~ +' C'1 ~ +' 00 ~ " +' ~ 0 cd ~ 1 cd ~ 1 cd ~ cd ~ b1I 6' ~ 0 b1I C'1 ~ 0 b1I 00 c. is assigned a unique vertex ("representative") representing the independent set. This . v E V. which contain no directed simple path of length 2:: k. this could provide a basis for a column generation algorithm for graph colouring. 2. are kcolorable. although it does stem from their previous studies of graph colouring (Campelo et al. which is assigned a unique colour... Figure 3: Two more encodings of a particular colouring of the graph from Figure 5. An acyclic orientation G' = (V. E) is then obviously a directed graph such that for each {u. (2009).u) E E'. 1968. For further references.7 Formulation Using Asymmetric Representatives Finally. see also Werra and Hansen (2003) and Nesetfil and Tardif (2008). 2008. 1999). 2003). E') of an undirected graph G = (V.v. (a) The SchedulingEncoding Vl (b) The Encoding Using Asymmetric Representatives Vertex V2 00 Vertex V2 E +' ~ +' C'1 ~ +' 00 ~ " +' ~ Mathl Math2 Math3 Math4 Algol Algo2 Algo3 Phy 0 0 0 0 0 0 0 cd ~ 1 0 0 0 0 0 1 cd ~ 1 1 0 0 0 0 1 cd ~ 1 1 1 0 0 0 1 cd ~ b1I 6' ~ 0 b1I C'1 ~ 0 b1I ~ ~ c. 1962): directed graphs. There are IVI + 1V12 . 1967.
firstly. It is easy to observe the indistinguishability relation is reflexive. V is a valid though trivial clique partition of graph G. Campelo et al. This enables addition of a number of symmetrybreaking constraints. Indeed. which induces an acyclic orientation introduced in Section 2. It has been studied also in game theory (Shapley. Kann. & Woeginger. Hence: Lemma 1 The indistinguishability relation is an equivalence. empirical results Catanzaro. We use an element 1 The clique partition of graph G = (V. and transitive. Next. we propose another formulation.6. for example. 1979). G. that is: {w I {u.. and Labbe (2008). 1984). and autonomous sets (Mohring & Radermacher.w} E E} U {v}. 1984). 1977). albeit promising. 2005). we do not require minimality in the definition. v E V of a graph G = (V. The earliest mention known to us are the "closed" sets of Gallai (1967). under names such as externally related sets (Habib & Maurer. However. however. Notice. x( G). Muller and Spinrad (1989) suggest the term "module" . Only limited. Karpinski. symmetric. 1967). we introduce the indistinguishability relation between vertices of a graph: Definition 2 Two vertices u. partially ordered sets (Golumbic. the problem of finding the minimum cardinality of a clique partition. Godi. Halld6rsson.Supernodal Formulation of Graph Colouring 9 can be done using a number of constraints cubic in IVI. if and only if they are adjacent and have identical closed neighbourhoods. supervariables (Duff & Reid. 1978). where X(G) is the minimum number of colours needed to colour the complement graph. E) are indistinguishable.Hard in general graphs and as hard to approximate as graph colouring itself (see MINIMUMCLIQUEPARTITION in Crescenzi.w} E E} U {u} is the same as {w I {v. (2009) are available so far. all v E q are pairwise adjacent in v E q E Q to denote that vertex v in the original vertexset V is of a clique represented by q in the clique partition Q. based on a particular type of clique partition. Campelo et al. let us start with the (standard) definition of a clique partition: Definition vertices V. is NP. As is well known. prototype vertices (Eisenstat et al. . X(G) = X(G). 1983). (2008) then establish an order on the vertex set V. E) is a partition Q of such that for all sets q E Q. in connection with mass elimination (George & McIntyre. 3 The Main Result In this section. This relation has been discovered independently a number of times.
Reversible clique partition is closely related to modular (Cunningham & Edmonds. 1984). qv E Q. indeed.E'). Let us now consider multi colouring. Run depthfirst search on H to obtain collection Q of connected components of H 3. where there is an edge {u. we will be interested also in the graph induced by the clique partition: Definition 4 The graph induced by reversible clique partition Q of graph G = (V. Notice Muller and Spinrad (1989) provide an elegant O(1V12) algorithm. each two vertices u. and Xjoin (Habib & Maurer. As usual. where E' = {{qu.v} E E. v} E E and vertices u and v are indistinguishable in G 2. Next. 1961). It is also a special case of 2join of the strong perfect graph theorem (Chudnovsky. Return Q From Lemma 1. if and only if there is an edge {u. because it corresponds to a subgraph induced by taking a subset of the original vertex set with a single (arbitrary) representative of each supernode. As the name suggests. a«. & Thomas. It also makes it possible to employ the usual polynomialtime algorithm for finding classes of an equivalence relation: Definition 5 Algorithm A Input: Graph G = (V. 1979). we can easily deduce that: Lemma 2 Algorithm A produces a reversible clique partition in time O(IVIIEI). E) is the clique partition of minimum cardinality such that each supernode q E Q represents a class of equivalence in a indistinguishability relation on G. E) Output: Reversible clique partition Q of G 1. The use of the word induced in this context is reasonable. This means that for each supernode q E Q of the reversible clique partition (Q.v E q are indistinguishable. we define the particular type of clique partition we are interested In: Definition 3 The reversible clique partition Q of a graph G = (V. Burke et al. }. a« # o«. it makes it possible to reconstruct the original graph. 1980) and substitution decomposition (Mohring & Radermacher. F).qv}l{u. ordinal sum (Sabidussi. Construct an auxiliary graph H = (V. 2006) fame.E').E) is the graph G' = (Q. rather a strict requirement. as defined by: . u E qu.10 Edmund K. Robertson. The "reversibility" of the clique partition is. v} E F. v E o«. Seymour.
. such that for all v E V: Ic(v)1 = f(v) and for all {u. It is easy to see that there exists a proper vertex colouring of G = (V. if there exists a multi colouring of G' with f( q) using k colours. k}.c + xv'.Supernodal Formulation of Graph Colouring 11 Definition 6 The problem of multicolouring of a graph G = (V. which is given together with demand function f : V + N. Although it is much more difficult to predict run times in modern integer programming .1 (15) See Figure 4 for an example. . is to obtain mapping c : V + 2K. Given the graph G' = (Q. If there was a trivial integer programming solver. if and only if there is colouring C of G with k colours. using neither bounding. if and only if there exists a multi colouring of a reversible clique partition (Q. which assigns unique colours (or "labels") to individual vertices.c :::. . It thus remains NPComplete to decide. this formulation should reduce its search space by the factor of I1qEQ Iql! when compared to the standard formulation of Section 2.. c(u)nc(v) = 0. E') of G with k colours... specifying the number f( q) of colours to attach to each vertex q E Q out of the set K = {1. the proposed formulation avoids some symmetries inherent in the standard vertex colouring formulation. k}. There is a lineartime transformation of M to C. Subsequently.1. Nevertheless. When a graph has only a trivial reversible clique partition. this is the integer programming formulation with k IQI binary variables: if colour c is included in the set assigned to otherwise subject to k q EQ (13) IQI + k IE'I = constraints: L xq.v} E E. E) together with the demand function f : V + N. this formulation is reduced to the standard formulation.v'} E E' xu'. E) with a finite set of colours K = {I. . nor cuts. E') induced by reversible clique partition Q of graph G = (V. It follows: Theorem 1 For all graphs G and integers k > 0. E) with k colours. It makes sense to require UVEV c(v) = K. the standard integer programming formulation of vertex multi colouring can also be used as a formulation of vertex colouring.. which exists if and only if the integer programming formulation has a feasible solution for the given instance. there is multicolouring M of the graph induced by reversible clique partition Q of G with k colours and demand function implied by the cardinality of sets in Q.c c=l f(q) 'Vq E Q 'lie E K (14) 'V{u'.
in some sense. as long as we are given the appropriate vertexpartition. Burke et al. 2005) or using the binary encoding of Lee (2002). it is obvious that there are k(1V1 .. 1996. Many realworld applications necessitate formulation of complex measures of the quality of feasible solutions ("key performance indicators"). Although they neatly partition the set of vertices.1 or binary encoding. & Kingston. their merits are hard to quantify.12 Edmund K. reduction in run time of the order of IQI / IVI could perhaps be expected. without assigning unique labels to individual partitions. 1 When we address the question of reducing or breaking symmetry below. Hence. which have not been extensively studied thus far. Hansen et al. the statements hold. the statements could also hold for other definitions of symmetry as well. 1 1 0 0 0 0 0 0 1 2 0 1 0 0 0 0 0 0 3 0 0 1 0 0 0 0 0 (b) The Proposed Encoding Partition Colour 1 1 0 1 2 1 0 0 3 1 0 0 4 1 0 0 5 0 1 0 6 0 1 0 7 0 1 0 7 0 0 0 0 0 0 1 0 Colour 4 0 0 0 1 0 0 0 0 5 0 0 0 0 1 0 0 0 6 0 0 0 0 0 1 0 0 Math' Algo' Phy' Algo3 Phy solvers. in the proposed formulation than in the standard one. without making the constraint matrix considerably denser. The assignment of colours is irrelevant. Presumably.IQI) fewer variables. corresponding to. a single configuration. for example. Both encodings based on independent sets and representatives introduce less symmetry ' than the standard formulation introduced in Section 2. It seems that the number of constraints is also reduced. which seem to be hard to formulate using an exponential number of variables representing independent sets (Mehrotra & Trick. One such application arises in a number of universities (Burke. Figure 4: The standard and the proposed encoding of a particular colouring of the graph from Figure 5: (a) The Standard Encoding Vertex Mathl Math2 Math3 Math4 Algol Algo . a comparison of formulations of graph colouring is nontrivial. . For empirical results. Another important aspect is extensibility of the various formulations of graph colouring. often by more than k(IVIIQI). Werra. as any empirical results are dependent on a particular implementation of separation and pricing routines. see Section 5. 4 An Application in Course Timetabling In general. when symmetry is thought of as the number of solutions of the instance of integer programming with the best possible cost. 2004): course timetabling.
{Algo'.Algo'}. Mathl.Algol' Algo2. For further graphtheoretical foundations. 2008). together with a subset of its powerset A. This model is.Math'}. E): V = {Phy. and another one takes Algorithms and Physics (with a single lecture per week).Phy'}} Math' Algo' Phy' In educational timetabling. e2 E a can take place at the same time assignment of events to IFI time periods is desired. Algo'. Math4} E = {{ v} I u. In the graph to be coloured (the "conflict graph").Supernodal Formulation of Graph Colouring 13 Figure 5: An example from timetabling. {Phy. u cF v} \ {{Phy. Math2. Most problems. Math4}} The correspondingreversibleclique partition G' = (Q. vertices represent events. no two lectures attended by one student can take place at the same time. Math3. especially . {Phy. see Figure 5. Algo3. Math2}. no two distinct events el. however. where for all distinct "enrolments" (or "conflict groups" or "curricula' ') a E A. Math3}. share a common model: set E of events is given.E' = {{Math'. considerable resources can be wasted by low utilisation of teaching space (Beyrouthy et al. such that adjacent vertices are assigned different colours and each colour is used at most IRI times. E'): Q = {Phy'. and assignment of periods to events is represented by assignment of IFI colours to lEI vertices. see Handbook of Graph Theory (Gross & Yellen. The original conflictgraph G = (V.Mathd. a straightforward application of IRIbounded IFIcolouring. v E V. For an illustrative example. 2004). u. two vertices are adjacent if the corresponding events are included in a single enrolment.. {Phy. indeed. Specific timetabling problems vary widely from institution to institution. such that all distinct enrolments are honoured and there are at most IRI events taking place at one period. Imagine one student takes Algorithms and Mathematics (with three and four lectures per week). where IFI is the number of periods per week and IRI is the number of available rooms.
Marecek.it/ctt/. no two events within a single enrolment can be timetabled for the same period. consisting of a linear combination of three key performance indicators: the number of students left without a seat at an event. it also presents an interesting challenge.6 (Burke et al. with events of one course taking place at different times and being freely interchangeable courses are grouped into not necessarily disjoint sets. For other recent research directions. capacities of individual classrooms and numbers of students taking individual courses are also given an assignment of events to both rooms and periods is sought. where the difference is positive the number of events occurring outside of a continuous block of two or more events in a timetable for an important distinct enrolment.diegm. see Burke and Petrovic (2002).uniud. summed across all courses.. although given the complexity of vertex colouring. we use a model of course timetabling proposed by Schaerf and Di Gaspero (2003. 2008) and the present best solvers yield "poor results" (Avella & Vasil'ev. plus the number of single courses on a single day in the timetables. 2006). The presented variant of the problem was current as of November 2007. Nov 8. Burke et al. when events of the course are held. the basic model is extended so that: events are grouped into disjoint sets. & Rudova. 2005). where the presentbest solvers have difficulties with dense instances on 125 vertices (Zabala & MendezDfaz. 2004).14 Edmund K. it seems obvious that this model is rather removed from the needs of reallife applications. summed across all important distinct enrolments Notice that the third key performance indicator essentially consists of the sum of the number of breaks in individual timetables of individual students or groups of students. including competitive branchandcut implementations. called courses. However. Section 5. 2009) since this paper was written. Its modelling proves to be very difficult (Burke. minimising the value of a certain objective function. summed across all events the difference between the prescribed minimum number of distinct days of instruction for a course and the actual number of distinct days. What makes the extension more difficult (by orders of magnitude) than the basic model is the objective function. The most rigorous studies of integer programming formulations of this model. are by Avella and Vasil'ev (2005) and MendezDiaz and Zabala (2008). . See also Schimmelpfeng and Helber (2007) for The problem of Udine Course Timetabling has been extended into a "portfolio of formulations for the curriculumbased course time tabling problem" (http://tabu. called enrolments. Parkes. In this paper. In Udine Course Timetabling". 2006) at the University of Udine.
not studied in this paper.r. together with an interesting integer programming formulation.1 'V periods pEP 'V teachers t E T (20) :::. Such a model is employed.r. the packingtype constraints .1 Notation for Course Timetabling In order to present timetabling applications of the proposed formulation of graph colouring.e cEHasCu eEc EU (21) This corresponds to the standard formulation of graph colouring introduced in Section 2.1 'V periods pEP (19) :::. each event is assigned also a room. e2} E E can be determined.r. and there can be.Supernodal Formulation of Graph Colouring 15 another example of a timetabling problem with a number of softconstraints. In addition to a period. at most.e eEc cETeachest eEc =1 'V events e E E 'V rooms r E R 'V courses c E C (17) (18) :::. Murray. Constraints (17) ensure each event is assigned a timeplace slot and constraints (18) ensure there is at most one event taking place in a given room at a period. if the conflict graph is IFIcolourable. In the context of course timetabling. we have to introduce some notation. Obviously.e r Lr L LTp. by the number of students enrolled in both events el and e2.e e LLTp. a given number of events taking place at each period. at Purdue University (Rudova & Murray.r. Using this convention and the notation presented in Table 2.1 'V periods pEP :::. Vertices of an edgeweighted conflict graph then have to be partitioned into IFI disjoint subsets such that the sum of weights attached to edges with both endpoints in a single subset is minimised (Kiaer & Yellen.1. Muller.r. for instance. 2007). the standard integer programming formulation of course timetabling is written as: T p. it is customary to refer to vertices as events and colours as periods. In a further extension of the basic model. a proper colouring is found. 2003.1 'V periods pEP 'V curricula u Lr L LTp. Finally.{I0 if event e is taught in room r at period p otherwise (16) LLTp. The weight of an edge {er. one relaxes also the colouring component. 4. & Rudova.r. for instance.e.e rp LTp. 1992).
the formulation introduced in Section 3 can be written... R Capacity. Students. E Ec T Teaches. e = IEel 'V courses c E C 'V periods pEP 'V periods pEP 'V periods pEP 'V periods pEP 'V rooms r E R 'V courses c E C 'V teachers t E T 'V curricula u (23) (24) (25) (26) 1 1 LTp. p set of rooms the number of seats in room r set of periods set of days the subset of periods pertaining to day d set of courses the recommended minimum number of days of instruction for course c number of students enrolled in course c set of events the subset of events pertaining to course c set of teachers the subset of courses taught by teacher t set of identifiers of distinct enrolments the subset of courses pertaining to curriculum u D Periods.e Tp. Table 2: The notation used m our integer programming formulation of Udine Course Timetabling.e rp LTp.16 Edmund K. unless there are courses not included in any enrolment. as follows: Tp.e <1 <1 L eEHasCu E U (27) What makes reallife course timetabling vastly more difficult than this formulation of graph colouring. with courses as supernodes. which are best illustrated by considering an example. Burke et al. r L r L r L eETeachest Tp. . U HasCu (19)(21) stipulate there should be no conflicts. C Minfrays.r.r. are complex measures of the quality of feasible timetables.e:::.r.r.r. Notice that constraints (21) make constraints (19) redundant.r.e:::. In a similar spirit.e if some event of course c is taught in room r at period p ={ ~ otherwise (22) LLTp.
there are four constraints: L cEHasCu L(Tp1. it is only the formulation of the third key performance indicator.r. if and only if feature f is present in the timetable for curriculum u and day d. the number of missing days of instruction summed across all courses.d.d 'lie E C 'lie E C 'lid E D 'lid E D 'lip E Periodsj (29) Tp. ) .2 Formulation of Udine Course Timetabling Udine Course Timetabling.d 2:: Minfrays.. that proves to have a decisive impact on the performance of formulations of Udine Course Timetabling (Burke et al.d rER pEPeriodsd (30) (31) Vc +L dED Uc.r. . U..s.udent. when there are four periods per day. 2005). The first binary array. The penalisation of patterns in timetables was traditionally formulated "by feature" (Avella & Vasil'ev. In an auxiliary binary array S indexed with curricula.r..l (32) .Capacity. 2008). 'lie E C . This enables addition of the constraints: LTp.c 2:: Uc.c rER . rERpEP cEC St. Out of the three key performance indicators in Udine Course Timetabling.d. U c. The term L:cEC V c can then easily be added to the objective function.c (Students. The other array of integers. introduced in Section 4. (28) The second key performance indicator.d is set to one. the minimisation of the number of students left without a seat can be formulated using a single term in the objective function: Tp. Value V c is bounded below by zero and above by the number of days in a week and represents the number of days course e is short of its recommended days of instruction.r.Supernodal Formulation of Graph Colouring 17 4. is indexed with courses.r.Tp2. Su. days and features. if and only if there are some events of course e held on day d. In the case of the penalisation of events timetabled for a curriculum outside of a single consecutive block of two or more events per day. > Capacity .c rER < Uc. the penalty incurred by patterns of distinct daily timetables of individual or groups of students. is indexed with courses and days.c) < Su. V. can be formulated using two auxiliary arrays of decision variables. However.J is set to one. is an established benchmark in the field of course timetabling with complex performance indicators.
c) < Su.r. both from reallife and randomly generated instances of the Udine Course Timetabling problem . Xi is one if there is instruction in period i of the daily pattern and minus one otherwise. L sEChecks Su. L cEHasCu L(Tp2. 5 Computational Experience In order to evaluate performance of the new formulation. the dimensions of reversible clique partitions obtained from graphs in the standard DIMACS benchmark 2.r.r. Xn. We report: 1.r.r.3 (34) L cEHasCu L(Tp4. (2008) have studied a number of possible applications of this concept.c .c) < Su.4 (35) However.r. .Tp4. .Tp3.Tpl. (2008). and m is the sum of positive values Xi in the patterns decremented by one.d. we have conducted a number of experiments.d.d.s' For further details on formulations of these soft constraints and their impact on the overall performance. with one of the best performing being the addition of constraints.Tp3.c rER +X4 L cEHasCu LTp4. m.r. Burke et al.s' (36) The third term in the objective function is L:uEU L:dED L:sEChecks Su. Burke et al.r. considerable improvement in the performance of pattern penalisation can be gained by introducing the concept of the enumeration of patterns.r.18 Edmund K. see Burke et al.c rER m):::.d.d.r.c rER .c rER .c .c rER . W is the penalty attached to the pattern.2 (33) L cEHasCu L(Tp3. Xl.Tp2. where n is the number of periods per day.c) < Su... It is obviously possible to precompute a set B of n + 2 tuples W. such as in the case of four periods per day: cEHasCu rER cEHasCu rER +X3 L cEHasCu LTp3. performance gains on graph colouring instances originating from timetabling.
81 %). the arithmetic and geometric means were 57. on average.37 % (55. performance gains on the the complete instances ofUdine Course Timetabling problem. out of the 121 graphs in the DIMACS benchmark. All reported results were measured on a desktop PC running Linux. we have obtained reversible clique partions from DIMACS graphs. . DIMACS instances descibed by Johnson and Trick (1996) were downloaded from the online repository '. as compared to the effects of symmetry breaking built into CPLEX. 28 proved trivial to colour after the reductions were applied. Instances in LP format. 2003. but not specific to the transformation (under Q').nott. This preprocessing'' included: Removal of vertices of degree less than a lower bound on the chromatic number Removal of vertices connected to all other vertices in the graph Removal of each vertex u whose neighbourhood is a subset of the neighbourhood of another nonadjacent vertex v. Default parameter settings were used. the arithmetic mean of the ratios of the reduced and original numbers of vertices (edges) was 72. emu.72 % 3 4 5 Available at http://mat . In the 47 cases. uk/> jxm/eolouring/supernodal/ (Nov 8. we list the sizes first without using any preprocessing (under Q). equipped with two Intel Pentium 4 processors clocked at 3. where the reductions changed the size of the instance. Four reallife timetabling instances were taken from the benchmark used by (Gaspero & Schaerf. as well as after some preprocessing specific to graph colouring. but did not lead to trivially colourable instances.2009) Available at http://es. Their dimensions are listed in Table 4. such as SCIP (Achterberg. each teacher teaches one or two courses totalling at one to six hours per week. and are available online in Zimpl format.Supernodal Formulation of Graph Colouring 19 3.nott.2009) For details of the preprocessingand the sourcecode used. http://es.98 %) and the geometric mean was 63.3 GE. 2009). pleasesee the contact authors' website.uk/jxm/timetabling/generator/ (Nov 8.51 % (56.gsia. and enrolments consist of less than ten events per week. To illustrate the effects of preprocessing of the original graph on the size of the reversible clique partition.0 integer programming solver was restricted to use only a single thread on a single processor. ILOG CPLEX version 10.edu/COLOR/ (Nov 8.97 % (71.27 %) and 40. can be also made available upon request. in Table 3. with the average being three. In all instances. ae. each course has one to six events per week.20 GHz. Verification of the results is thus possible with freely available solvers. To summarise Table 3. First. All instances were passed to CPLEX in LP format as generated from sources in Zimpl. Across the 93 remaining instances. 2004). 2006) and eighteen more instances were obtained using a random instance generator ' developed by the authors. outside of settings for symmetry breaking described below and settings imposing the time limit of one hour on run time per instance.ae. 2007). whose total size exceeds 1. the free algebraic modelling language (Koch.
This resulted in the reduction of runtime to 54. we evaluated performance of the standard formulation of graph colouring introduced in Section 2. Second. Table 7 compares these results (denoted +0) with results obtained with symmetry breaking builtin in CPLEX 10.71 % (arithmetic mean) or 22. solved using both formulation to optimality within the time limit. but not the objective function. as these graphs were not collected so as to exhibit any particular structure. CPLEX 10 did not produce a feasible solution within one hour using the new formulation. Burke et al.05 % (arithmetic mean) or 39. it seems that with the exception of a single random instance (rand16) and one heavily constrained reallife instance (udine4). where neither formulation managed to solve the instance to optimality using CPLEX 10. was thus not clear.20 Edmund K. As is summarised in Table 6. (The complete constraint set was used. fast. In all previous experiments.1. only expressed in terms of different decision variables.18 % (geometric mean) using the new formulation. the new formulation led to the average change of the gap by 9.79 % (arithmetic mean). the new formulation made it possible to solve the instances to optimality.1 and performance of the formulation proposed in Section 3 on the graph colouring component of instances of Udine Course Timetabling. the run time was reduced to 22. In particular. differing only in the formulation of the underlying graph colouring component. the new formulation using no builtin symmetry breaking performs better than the standard formulation using aggressive builtin symmetry breaking. (32. On the final seven instances. the supernodal formulation of the graph colouring component reduced the number of nonzeros in the integer programming instances without the objective function to 37. on the 21 instances of Udine Course Timetabling. respectively.42 % (arithmetic mean) or 37. . Next. however. although the change was not always a reduction.26 % (geometric mean). we compared performance of the complete formulations of Udine Course Timetabling.67 %). On further eight instances. Again. although on one instance.) From the results reported in Table 5. On seven instances that resulted in a time out after one hour using the old formulation. We have also studied effects of symmetry breaking implemented in CPLEX on performance of both formulations. This could be surprising. Notice in Section 4. including the objective function.0 set to aggressive (denoted +3).00 % (geometric mean). the new formulation again seems to perform considerably better. Whether the performance gains observed in the graph colouring component alone would still be manifested. both formulations were run using no builtin symmetry breaking in CPLEX. the proposed formulation performs considerably better. These results seem to indicate the value of the new formulation in timetabling applications. that these reductions were achieved despite the fact that both formulations use the same amount of information on cliques in the conflict graph. Notice that the CPLEX run time necessary to reach optimality was two orders of magnitude higher than in the previous experiment looking for feasible colouring.
where supernode of George and McIntyre (1978) is the complete subset of vertices of a graph where each two vertices have the same neighbours outside of the subset. 2007. whose cardinality is considerably less than IVI. This transformation can be seen as an example of symmetry breaking. our reformulation without the embedded symmetry breaking enabled offers performance. at least until performance of automated symmetry breaking improves. Kaibel. This seems to be the first time such a survey has been attempted. 2008) in the development of methods for automated symmetry breaking. these methods have so far not been competitive in solving graph colouring problems (Kaibel & Margot. Rossi. Generally speaking. where it is possible to obtain a reversible clique partition of V. the performance of various integer programming formulations of the underlying graph colouring components seems to be highly dependent on their suitability for applicationspecific key performance indicators. which is improved by a factor of three. Linderoth. but multiple encodings for cut generation. often used in benchmarking general graph colouring procedures.Supernodal Formulation of Graph Colouring 21 These results are rather encouraging. Compared to many formulations necessitating column generation. making it possible to use the standard formulation of graph multicolouring as a formulation of graph colouring. Nevertheless. a proper computational comparison of integer programming formulations of graph colouring would be most interesting . It would appear that applicationspecific formulations breaking symmetries will be necessary. & Smriglio. the proposed formulation seems very convenient in timetabling applications. Another interesting research direction might explore hybridisation. the graphs seem to be highly structured. Finally. Kaibel & Pfetsch. Compared to the standard formulation with symmetry breaking embedded in ILOG CPLEX 10.0. proposed in the literature. although the performance gains are limited only to graphs. Ostrowski. & Pfetsch. 2007. This can also be viewed as the supernodal integer programming formulation of graph colouring. using one encoding in an integer programming formulation. 2002. in nontrivial applications of graph colouring. it is easy to extend this formulation to accommodate complex key . 2007. we have briefly surveyed seven other integer programming formulations of vertex colouring. 2007). the industrial standard in integer programming solvers. 2003. Although there has been recently a considerable interest (Margot.and remains to be conducted. In realworld applications. 6 Conclusions and Further Work We have presented a transformation of graph colouring to graph multicolouring. It remains to be seen. This is not the case in trianglefree graphs and many dense random graphs. and the structure is worth exploiting. Additionally. however. Peinhardt. if the transformation could be used in conjuction with other formulations of multi colouring.
We have demonstrated its performance on the example of Udine Course Timetabling. which helped to improve the presentation. Hana Rudova is in part supported by MSMT Project MSM0021622419and GA CR Project No.0. a benchmark problem in timetabling with soft constraints proposed by Gaspero and Schaerf (2003). Such results give a new hope that reallife instances of course timetabling could be solved within provably small bounds of optimality. Acknowledgements. Parkes was supported by EPSRC grant GR/T26115/01. Using ILOG CPLEX 10. performance indicators ("soft constraints"). are also much appreciated. The comments of two anonymous referees. Burke et al. who kindly maintain the Udine Course Timetabling problem.22 Edmund K. 201/07/0205. and to Jay Yellen. The authors are grateful to Andrea Schaerf and Luca Di Gaspero. Andrew J. whose comments have helped to improve an early draft of the paper. we have been able to arrive at the previously unknown optimum for instance Udine1 within 143 seconds on a single processor. .
. Ann. A..79129. Berlin: Springer. (2003). A.. J. Achlioptas. Soc.. C.. 99105. Process. Constraint integer programming. Burke. 60(1). & Causmaecker. Marecek. (2008). Beyrouthy. Berlin.. Inform. Urn algoritmo de planosdecorte para 0 numero cromatico fracionario de urn grafo. Magos. L. . A.. 2002.. van. E. 4th international conference... 409414). Scheduling. 8(1).. Bollobas. 10971111.. 1.. 7174.). K. Set colourings of graphs. European J. K. Hoesel. Campos. UK: CRC. Random graphs. C. O. Burke. H. 153. J.Supernodal Formulation of Graph Colouring References 23 Aardal. (2005). Burke. & Petrovic. Unpublished doctoral dissertation.. E. Barbosa. (2002). & Mourtos. M. (2008).. A computational study of a cutting plane algorithm for university course timetabling. In S. P. S. L. PATAT 2002. Campos. Process.. Res. C. C. (1979). Pesquisa Operacional. Campelo. A. Appa. J. The two possible values of the chromatic number of a random graph. Nickel & J.. Achterberg. McMullan. Bollobas. Berlin: Springer. J.. McCollum. Assis.. (1999). 8(6). Res. C. Gross & J. (2005). London. Recent research directions in automated timetabling. & Correa. (2004). (2007). 140(2). V. R... Gent. & Nascimento.. Discrete Appl. de. D. E. On the asymmetric representatives formulation for the vertex coloring problem. R. 130143. M. V. 163(3). 72.). Handbook of graph theory (pp.. 156(7). On the system of two alLdifferent predicates. Res. K. A. August 2123.. E..266280. Ann. C. Burke. 94 (3).. A. Applications to timetabling. B. M. Models and solution techniques for frequency assignment problems. Towards improving the utilisation of university teaching space.497514. E..). B. D. J. & Thomason. 445474). 179193. & Vasil'ev. Two novel evolutionary formulations of the graph coloring problem.. Lett. P.4163. (2009). & Naor. & Correa. (2007). Campelo. (2005). D. (Eds. Avella. Inform. J. Parkes. Comb. Yellen (Eds. Generating all the acyclic orientations of an undirected graph. A. Cambridge: Cambridge UP. 1. Werra. G. & Rudova. J.. Burke. P. & Kingston. P. LNCS 2740). (2001). V. Optim. 13331349. Oper. & Szwarcfiter. of Math. L. S. T. C. C. Penalising patterns in timetables: Novel integer programming formulations. Math. V.. B. Koster. 1. In J. D. Operations research proceedings 2007 (pp. Op. (2004). 2126. 25. A. Practice and theory of automated timetabling. K. J. B. (2008). Belgium.. Kalcsics (Eds. & Parkes. D. do. K. Oper. H. Silva. Discrete Math. Barbosa. K... M. A. Lett. J. & Mannino.. Selected revised papers (Vol. 29(1). G.
Catanzaro. Canad.24 Edmund K. Coll. IPCO. 2007. NY: Academic Press. 33(9).. G. & Labbe. A. Recent developments in practical course timetabling.. The (new) Yale Sparse Matrix Package. P. Oper. Transitiv orientierbare Graphen. Ann.. J.. Y. 89(4). holes and the vertex coloring polytope. Rep. In P. H. & Szwarcfiter.. Halld6rsson. Math. K. Discrete Appl. (2006). M. Hungar.. J. Duff. 319). (2008). Res. New York. & Woeginger . W. J. Orlando. LNCS 1408. Nos. 32(3). (1997). Practice and theory of automated timetabling (Vol. ACM. Process. Algorithms for cliqueindependent sets on subclasses of circulararc graphs. & Freta. H. Marenco. Burke & M. (2). & Kilian. S. Burke et al. Gallai. M. Sci.. H. (1976). T. Elman. P. 1.. 7990. (1983).. Carter. L. (Available online.) Fischetti. & Reid.. A class representative model for pure parsimony haplotyping (Tech. Facets of the graph coloring polytope. Cliques. Oper. (2007). D. Inform. D. Schultz. C..). A combinatorial decomposition theory.. J. 9(3). (2005). Karpinski. M. Softw. 2008). (2003). G. New York: Springer.). Ithaca.) Cunningham. (Eds. & Zabala. The strong perfect graph theorem. Gallai. Carter (Eds. J. Sci. H.. Proceedings (Vol. Zero knowledge and the chromatic number.. In E. C. M. On cliquetransversals and cliqueindependent sets.. (1980). G. A compendium of NP optimization problems. Lin. Math. June 2527. (1998). (Preliminary version appeared in IEEE CoCo'96. 7177. C. & Laporte.. M. 18. K. Galinier. Lin. Garey.. II (Monterey. The complexity of nearoptimal graph coloring. W..51229. 4552).. (1984).. M. 4349. Res... 115118).. ACM Trans. Duran. M. of Math.. U. P. & Johnson. 12th international conference.. M.. M. Robertson. . (1968). P. A. MendezDiaz. Comput. Properties of some ilp formulations of a class of partitioning problems.. Lett. Godi. Discrete Appl. (1998). 17831790. C. 23(1). & Thomas. 87(13). 116. & Williamson..25472562. & Szwarcfiter.. N.. Duran. T.). 159164. W. A. 302325. 154 (13). Campelo. A survey of local search methods for graph coloring. S... Feige. V. & Edmonds. J. Integer programming and combinatorial optimization. Res. 1123. (2002). Ann. G. P. Bruxelles. Ann.. Math. 164 (1). & Sherman. On directed paths and circuits. Oper. Acad. R.. Acta Math. Belgium: Universite Libre de Bruxelles. R (2006). Berlin: Springer.. Calij. M. 1. (1967). S. Correa. In Elliptic problem solvers. P. FL: Academic Press.. Caprara. Katobna (Eds.. Erdos & G. M. The multifrontal solution of indefinite sparse symmetric linear. Kann. Seymour. p. 57(2). R C. Theory of graphs (pp. J. Math. & Hertz. Chudnovsky. 116. LNCS 4513). 734765. NY. J. (2002). Comput. D. 187199. Dated October 29. Eisenstat. 1983) (pp. A. Syst. Crescenzi. J. S.2566.. Mera. (2006).
Prague. Gross. Proqram.629705. Burke & P. & Schindl. V. M. M. W. (2004). M.. 2541). (1992).. C.. J. Johnson. & Pfetsch.. Fischetti & D. Halld6rsson. V.). M. Cliques. E. (ZIB Technical Report TR0458) . pp. & Pfetsch. A. 7488). M. Multi neighborhood local search with application to the course timetabling problem. & Pothen. On the application of the minimum degree algorithm to finite element systems. 15(1).. and satisfiability: Second DIMACS implementation challenge.. pp. Canada: GERAD.. Orbitopal fixing. J. 19(1). In J. F.. Berlin: Springer. G200576).. (1979). New York. Complexity of computer computations (pp. coloring..Supernodal Formulation of Graph Colouring 25 Gaspero. L. 1 (3). Handbook of graph theory. Kaibel. Gebremedhin. L. D. J. Kiaer. D. 5(1). Multicoloring: Problems and techniques. 1993. Causmaecker (Eds. & Maurer. A. (Eds. SIAM Rev. Kaibel. & Kortsarz. Rep. Practice and theory of automated timetabling (Vol. 3153. & Schaerf. & McIntyre. (2007). 6589.. 85103). George. D. In M. Hansen. C. Numer. K. Discrete Appl. J. Proceedings (Vol. (DOl 10. 136. (1972). Math. (2005).. Model. Packing and partitioning orbitopes. Kratochvil (Eds. MFCS 2004. August 2227. Williamson (Eds. Personal communication at MIP Workshop 2007 in Montreal. Miller & J.. Comput. Math. Neighborhood portfolio approach for local search applied to timetabling problems. Oper.. Berlin. (2006). & Margot.). V. Montreal. What color is your Jacobian? Graph coloring for computing derivatives. P. P. London. 199208. (2003). Math. T. & Schaerf. On the Xjoin decomposition for undirected graphs. Czech Republic. Rapid mathematical programming. & Yellen.). LNCS 4513. M. Habib. Unpublished doctoral dissertation. Koubek. A. Fiala. NY: Plenum Press.. 29th international symposium.). & Trick. G. pp. New York: Springer. (Eds.5967. Anal.). Peinhardt. (1978). 2004. M. Integer programming and combinatorial optimization (Vol.1007/s1010700600815) Karp.201207.. E. F. Thatcher (Eds. Kaibel. In R. R. Weighted graphs and university course timetabling. J. UK: CRC. H. Manne. Workshop.90112. 18(3). (2007). October 1113. Reducibility among combinatorial problems. & Yellen. Springer. M. Algorithms.. Labbe. M.. LNCS 2740. Set covering and packing formulations of graph coloring: algorithms and first polyhedral results (Tech. (2008). A. 262275). (1996).. (2004). Boston. No. L. Gaspero. A. D. D. (2004). Mathematical Foundations of Computer Science 2004. & J. A. SIAM J. The complexity of comparability graph recognition and coloring. Res. Computing. MA: American Mathematical Society. V. In E.. (2005). 47(4). Canada. (1977). R. Golumbic.. Koch. L. M. D. 114(1). M.).
& Burke.). (1997). F. J.. New York. A. Giunchiglia & A. (2002). P. 344354. (2003). J. Margot. Lee.. M. 1.). Ostrowski. F. J. lower bounds for proof systems. optimization. models. Nesetril. Mohring.457486. (2008). 4062.. (2008). Math. 257355). In Algebraic and combinatorial methods in operations research (Vol. & Tardif. Discrete Opt.Dlaz. (1984). (2007).. . Eur. Comput. K. Amsterdam: NorthHolland. F. (2004). 8(4). A branchandprice approach for graph multicoloring. J. Substitution decomposition for discrete structures and connections with combinatorial optimization. Burke & H. A.26 Edmund K. Rudova (Eds.7190.. 1529).. LNCS 2919. 156(2). (2007).).. (2007). Proqram. B. Comb. In J. (1967). & Margot. In E.. Alldifferent polytopes. Williamson (Eds. Exploiting orbits in symmetric ILP. M. S. Lee. Practice and theory of automated timetabling (Vol. ACM. Symmetric ILP: Coloring and small integers. 119.331. Integer programming and combinatorial optimization (Vol. In E. A. and independence results for bounded arithmetic. Log. Leung (Ed. F. & Trick. J. (2002).. Margot. INFORMS J. 1. 62(2). Comput. Baker. In M. J. Trick (Eds. Nombre chromatique et plus longs chemins d'un graph. Krajicek. Burke et al.. & Trick. J. and performance analysis (pp.. K. & Smriglio. Berlin: Springer. 19(3). 105119). Proqram. A. Boca Raton. 98. University timetabling..). Margot. Prestwich.. A column generation approach for graph coloring. 193213). T. K. F. H. Mendez. & Spinrad.. & M. E. Interpolation theorems. Murray. In E. Rossi. J. (1989). & Radermacher. Handbook of scheduling: Algorithms. F. LNCS 4513.. J. Math. Orbital branching. 6(3). Incremental modular decomposition. 95... Math. Mehrotra. A cutting plane algorithm for graph coloring. 10011023). C. A. & Zabala. NY: Springer. 335352. Comb. Muller. Modeling and solution of a complex university course timetabling problem. S.. Theory and applications of satisfiability testing (Vol. (2007). Tacchella (Eds. & Rudova. 104118). Linderoth. pp. 254260. pp. Discrete Appl.. H. pp.406415. AFIRO. Optim. Berlin: Springer. S. D. Pruning by isomorphism in branchandcut. (1996). 29(1). LNCS 3867.. Rev.. On a binaryencoded ILP coloring formulation. and decision technologies (pp. pp. Fischetti & D. New York: Springer. Roy. (2003). J. (2007). Extending the horizons: Advances in computing. A. Muller. Joseph. J. H. P.. Local search on SATencoded colouring problems.). R. A dualistic approach to bounding the chromatic number of a graph. K. Mehrotra. Symb. 4. Mehrotra. FL: CRC Press. 36(1). A. 127132. INFORMS J. Petrovic. J. 94. J.
D. (2006). D. Lett. University course timetabling with soft constraints.. & Thomas. Representations of the alLdifferent predicate of constraint satisfaction in integer programming. 185203. H. 29. S. Causmaecker (Eds. Application of a realworld universitycourse timetabling model solved by integer programming.. Unpublished doctoral dissertation. INFORMS J. Schaerf. L. & Murray.. ntuple colorings and associated graphs. H. Math. Berlin: Springer. Nauk. Schimmelpfeng. & Yan. (1961). & Hansen. Williams. (1994).. 310328). On committees. Discrete Appl.87127. pp. Berlin: Springer. Process.Supernodal Formulation of Graph Colouring 27 Rudova. In E. D. (1976). Artificial Intelligence Rev. LNCS 2740. A survey of automated timetabling. S.. Theory Comput.. Practice and theory of automated timetabling (Vol. D. 20(2). B. Combinatorial Theory Ser. Akad. A. A branchandcut algorithm for graph coloring. G. & MendezDiaz.. 758759. 13(7). Inform. Burke & P. OR Spectrum. Sabidussi. Werra. (1967). Lausanne. Schindl. (2003). Dokl. SSSR. K. Comput. D. (2007). L. Linear degree extractors and the inapproximability of max clique and chromatic number. In New methods of thought and procedure (pp. 147. M. Springer. Graph derivatives. (2004). (1962). 103128.). 87(3).843856. Some combinatorial optimization problems in graphs with applications in telecommunications and tomography. 13(2). P. Vitaver. E. 246270). L. . Zuckerman.826847. 154(5). & Helber.96103. Using stable sets to bound the chromatic number. de. 1. K. Math. (2007).385401. D. (1999).. Z. 3(6). 13(2).. 127131. P. Stahl. K.. Shapley. J. 76. (2001). IEEE Transactions on CAD of Integrated Circuits and Systems. Determination of minimal coloring of vertices of a graph by means of boolean powers of the incidence matrix. P. Zabala. (2003).. Exploiting the special structure of conflict and compatibility graphs in highlevel synthesis. H. 783803.
28 Edmund K.S 2InsertionsA 2Insertions.1 DSJC125. to Instance 1FullIns_3 1FullInsA 1FullIns_5 1InsertionsA 1Insertions.S 5FullInsA abb313GPIA anna ash331GPIA ash608GPIA ash958GPIA david DSJC1000. Cliq.B 3InsertionsA 3Insertions. Edges 30 100 93 593 282 3247 67 232 202 1227 607 6337 52 201 212 1621 852 12201 37 72 149 541 597 3936 80 346 405 3524 2030 33751 56 110 281 1046 1406 9695 114 541 690 6650 4146 77305 79 156 475 1795 154 792 1085 11395 1557 53356 138 493 662 4181 1216 7844 1916 12506 87 406 1000 49629 1000 249826 1000 449449 125 736 125 3891 125 6961 250 3218 250 15668 250 27897 Rev.f 4FullIns_3 4FullInsA 4FullIns_5 4Insertions.f 3FullIns_3 3FullInsA 3FullIns_5 3Insertions. Burke et al.f 2FullIns_3 2FullInsA 2FullIns_5 2Insertions.B 4InsertionsA 5Fulllns.9 DSJC125. Q' Vert.Part. Edges 25 61 60 202 600 16 93 149 597 17 22 94 281 1395 195 475 39 121 853 661 1215 1915 1000 1000 1000 125 125 125 250 250 250 85 358 208 1227 6301 65 582 541 3936 65 114 768 1046 9642 1769 1795 229 1037 16093 4180 7843 12505 49629 249826 449449 736 3891 6961 3218 15668 27897 . Table 3: Dimensions of graphs induced by reversibleclique partitionsobtained from DIMACS instances (G).S 1Insertions. with (Q') and without (Q) preprocessing.5 DSJC250.9 DSJC250.1 DSJC1000.1 DSJC250. Edges 29 89 92 561 281 3152 67 232 202 1227 607 6337 51 186 211 1566 851 11986 37 72 149 541 597 3936 79 327 404 3440 2029 33342 56 110 281 1046 1406 9695 113 518 689 6531 4145 76610 79 156 475 1795 153 765 1084 11235 1557 53356 125 437 662 4181 1216 7844 1916 12506 74 322 1000 49629 1000 249826 1000 449449 125 736 125 3891 125 6961 250 3218 250 15668 250 27897 Rev.Part.5 DSJC125. Q Vert. Cliq.Empty spaces indicategraphs trivial colour.9 Original Graph G Vert.5 DSJC1000.
2 fpso12. Cliq.2 inithx.Part.5 ear fpso12.) Instance DSJC500. lfl le450_15a le450_15b le450_15c le450_15d le450_25a le450_25b le450_25c le450_25d le450_5a le450_5b le450_5c le450_5d miles1000 miles1500 miles250 miles500 miles750 mug100_1 mug100_25 mug88_1 mug88_25 mulsol.Part.9 DSJR500.3 games120 hec homer huck inithx.i.i.1c DSJR500.5 DSJC500.3 Jean latin.1 fpso12. Edges 500 12458 500 62624 500 112437 480 3341 500 121275 497 58218 185 4758 427 5108 395 5657 369 5658 119 629 81 1363 503 1376 54 179 732 11140 539 9317 521 9427 67 177 900 307350 450 8168 450 8169 450 16680 450 16750 450 8260 450 8263 450 17343 450 17425 450 5714 450 5734 450 9803 450 9757 123 3049 104 3486 117 341 115 1065 122 2011 84 118 83 115 75 107 72 98 166 2274 Rev.i.square.i.i.i.1 DSJR500. Q Vert.1 DSJC500.Supernodal Formulationof Graph Colouring 29 Table 3: Dimensions of graphs induced by reversibleclique partitionsobtained from DIMACS instances.(Continued.i. Edges 500 12458 500 62624 500 112437 281 483 172 107 154 153 75 38166 56618 4636 2454 2705 2665 1277 50 49 900 407 410 450 450 264 294 435 433 450 450 450 450 544 474 307350 7802 7824 16680 16750 5840 6240 17096 17106 5714 5734 9803 9757 . Cliq. Q' Vert.1 Original Graph G Vert. Edges 500 12458 500 62624 500 112437 500 3555 500 121275 500 58862 190 4793 496 11654 451 8691 425 8688 120 638 81 1363 561 1628 74 301 864 18707 645 13979 621 13969 80 254 900 307350 450 8168 450 8169 450 16680 450 16750 450 8260 450 8263 450 17343 450 17425 450 5714 450 5734 450 9803 450 9757 128 3216 128 5198 128 387 128 1170 128 2113 100 166 100 166 88 146 88 146 197 3925 Rev.1 inithx.
i. Q' Vert.i.f queen7_7 queen8_12 queen8_8 queen9_9 schooll schoolLnsh wap01a wap02a wap03a wap04a wap05a wap06a wap07a wap08a wi1l199GPIA zeroin.order30 qg. Cliq.3 .30 Edmund K.2 mulsol.(Continued.2 zeroin.1 zeroin.i. Edges 188 3885 184 3916 185 3946 186 3973 11 23 47 95 191 10000 900 1600 3600 100 121 144 169 196 225 256 25 36 49 96 64 81 385 352 2368 2464 4730 5231 905 947 1809 1870 701 211 211 206 20 71 236 755 2360 990000 26100 62400 212400 1470 1980 2596 3328 4186 5180 6320 160 290 476 1368 728 1056 19095 14612 110871 111742 286722 294902 43081 43571 103368 104176 6772 4100 3541 3540 Rev.4 mulsol.3 mulsol.) Instance mulsol.f queenfi.i.order60 queen l Oi. Burke et al.Ll S queen14_14 queen15_15 queen16_16 queenb.5 mycie12 mycie13 mycie14 mycie15 mycie16 mycie17 qg. Table 3: Dimensions of graphs induced by reversiblecliquepartitionsobtained from DIMACS instances. Edges 35 337 35 336 36 360 36 356 11 23 47 95 191 10000 900 1600 3600 100 121 144 169 196 225 256 25 36 49 96 64 81 353 322 1594 1594 3716 3814 746 735 1609 1627 660 20 71 236 755 2360 990000 26100 62400 212400 1470 1980 2596 3328 4186 5180 6320 160 290 476 1368 728 1056 18799 14343 73666 72498 224640 221704 35102 33760 91698 91122 5836 queen1L11 queen l Zcl Z queen l. Q Vert. Edges 158 2458 155 2504 155 2504 157 2549 11 23 47 95 191 10000 900 1600 3600 100 121 144 169 196 225 256 25 36 49 96 64 81 376 344 1594 1594 3716 3814 749 741 1611 1628 701 182 188 183 20 71 236 755 2360 990000 26100 62400 212400 1470 1980 2596 3328 4186 5180 6320 160 290 476 1368 728 1056 18937 14486 73666 72498 224640 221704 35116 34012 91746 91140 6772 2131 2187 2186 Rev.Part.i.orderlOO qg.order40 qg. Cliq.i.l U OriginalGraph G Vert.Part.i.
29M 4.place slots (per cent).46M 280.92M 3.56M 1.48M 1.03M 1.49M 1.63k 522.46M 356.30M 2.47k 794.97k 814.69M 1.94M 2.19M 4. 70 70 70 70 70 70 70 70 70 80 80 80 80 80 80 80 80 86 93 97 100 Standard 15415 x 3194 15415 X 3197 15415 X 3197 60835 X 6447 60830 X 6416 60830 X 6417 136270 X 9799 136260 X 9729 136255 X 9698 12935 X 3296 12925 X 3233 50835 X 6402 50840 X 6427 50830 X 6371 113755 X 9627 113770 X 9726 113760 X 9650 50350 X 4297 54440 X 5626 66940 X 7883 64200 X 12060 (Nonzero) 469.64M 3. Instance randOl rand02 rand03 rand04 rand05 rand06 rand07 rand08 rand09 rand11 rand12 rand13 rand14 rand15 rand16 rand17 rand18 udine1 udine2 udine3 udine4 Ev.63k 754.20M 3.44k 2. 100 100 100 200 200 200 300 300 300 100 100 200 200 200 300 300 300 207 223 252 250 Occ.70M New 5398 X 4176 5398 X 4179 5398 X 4179 21002 X 8444 20696 X 8381 20696 X 8382 48174 X 12907 47262 X 12773 46806 X 12710 5097 X 4406 4835 X 4279 17652 X 8399 17908 X 8456 17396 X 8336 39231 X 12639 40374 X 12834 39612 X 12694 11756 X 5393 13452 X 6889 16036 X 9252 15505 X 13678 (Nonzero) 188.71M 1.10k 1.35k 508.51k 623.62k 378.38k 1.Supernodal Formulation of Graph Colouring 31 Table 4: The dimensions of test instances: numbers of events.57k 606.88k 380.37k .49M 3.43k 664.16M 4.76M 1. and dimensions of the constraint matrices produced by formulations of Udine Course Timetabling (variables x constraints. nonzeros in constaint matrix).74M 159.71k 1.48k 579.66k 160.38k 199.59k 1.34k 188.15k 915. occupancy measured as the ratio of events and available time.66M 963.
05s 5. Table 5: The performance of the standard and the proposed (New) formulation of vertex colouring.15s 160.94s 1.32s 1.99 .20 2.70s 127.78s 216. Burke et al.51s 83.31s 47. Instance randOl rand02 rand03 rand04 rand05 rand06 rand07 rand08 rand09 rand11 rand12 rand13 rand14 rand15 rand16 rand17 rand18 udine1 udine2 udine3 udine4 Std+O 2.89s 275.) 931 1106 1045 2802 17467 19836 25541 13342 25782 1194 1377 18957 2629 2685 51518 36949 34461 3370 4826 11698 30655 0.td+U NewtO 3. measured in run times of CPLEX and numbers of iterations performed with no builtin symmetry breaking (+0).52 1.) 1635 1666 5792 26317 19802 22537 35821 10760 22155 1761 2005 22851 10544 6799 11603 33185 21686 8082 4749 16807 30655 NewlO (Its.32 Edmund K.37 1.32s 251.49s 40.20 2.99s ::.45s 10.35s 86.90s 0.47 0.41s 144.85s 2.23s 14.44s 144.04s 4.97 2.25s 30.92s 99.51s 2.18 9.22 1.16 3.72s 83.48s 73.50 1.45s 98.04s 17.84 0.19s 3.08 2.42 1.80s 4.64s 6.00 6.77s 114.67s 45.73 1. The last column lists ratios of CPLEX run times.45 19.44s 43.99s 9.25s 145.16 5.08s 59.93s 138.49s (Its.55s 95.94s 6.25s 23.18s 33.81 4.29 2.45 4.
Supernodal Formulation of Graph Colouring 33 Table 6: The performance of two formulations of U dine Course Timetabling.60s 1356.91s 211.59s 290.31% gap 99.72s gap 90.97s 1166.12s gap 100.00% gap 99.17s 61. differing only in the formulation of the underlying graph colouring component: run times of CPLEX or gaps remaining after 1 hour of solving and numbers of iterations performed with no builtin symmetry breaking (+0).44% gap 94.69% (Its.34% 237.40 4.16s 884.71% gap 99. where optimality was reached within 1 hour using both formulations.57 4.50s gap 67. The last column lists ratios of CPLEX run times.00% gap 59.44% 70.40s gap 100.01 4.57% 1175.99s 1242.07 3.15% gap 8.32s 84. ) 180854 71537 148961 419910 360868 299998 234087 237243 199619 66842 68244 129788 431148 322073 303518 175766 239576 251822 166539 639068 367505 220364 NewlO (Its. Instance rand01 rand02 rand03 rand04 rand05 rand06 rand07 rand08 rand09 rand10 rand11 rand12 rand13 rand14 rand15 rand16 rand17 rand18 udine1 udine2 udine3 udine4 Std+O 385.24% gap 6.71s 1257.31s gap 0.24% gap 4.01 7.50s 1194.59% gap infinite NewlO Std+U 4.71s 337.97% 285.06% gap 49.95s gap 0.45 4.96 . ) 43737 34296 23310 210104 250148 247075 242978 312158 263820 27416 31738 48401 175513 320129 280722 417706 293519 345817 104221 3318838 2000062 962856 84.11% gap 99.90% gap 95.33% gap 89.47% gap 1.85% gap 93.19% gap 94.42s 59.74% gap 66.42s 72.09s 443.15% gap 90.
97% 321.47% gap 1.06% gap 49.42s 59.71% gap 99.52s 343.79s 84.51s 72.74 4.59% gap infinite ::ltd+.47% gap 30.91s 211.00% gap 99.11% gap 99.45s 65.96 4.57% 1247.19% gap 94.63s 1107.44% 81.50s gap 67.34 Edmund K.90% gap 95.50s 1194.43% gap 66.19% gap 94.33% gap 89.00% gap 70.59s 290.44% 70.71s 337.12s 56.15% gap 90.15% gap 8.90% gap 95.33s 298.40s gap 100.51s 207.97% 285.15% gap 8.99s 1242. and effects of disabling (+0) the builtin symmetry breaking in CPLEX.11% gap 99.17s 61.33% gap infinite NewtS 76.58 3.15% gap 90.12s gap 100.24% gap 4.12s 1162.25% 142.74% gap 66.34% 237.85% gap 93.33s gap 100.64s 795.06s 1356.71% gap 99.04% gap infinite 84.71s 1257.74s gap 67.00% gap 59.24% gap 4.31s gap 0.52s gap 90.24% gap 6.75s gap 1.26 .39s 1051.98 4.95s gap 0.33% gap 89.38 3.02 5.85% gap 93.52s gap 0. Table 7: The performance of two formulations of Udine Course Timetabling.85% gap 6.57% 1175.) NewtO 1.00% gap 99.84s gap 100.06% gap 92.42s 72. or setting it to very aggressive (+3): run times of CPLEX or gaps remaining after 1 hour of solving.44% gap 94.31% gap 99. differing only in the formulation of the underlying graph colouring component.72s gap 90.32s 84. Instance randOl rand02 rand03 rand04 rand05 rand06 rand07 rand08 rand09 randl0 randll rand12 rand13 rand14 rand15 rand16 rand17 rand18 udinel udine2 udine3 udine4 Std+O 385.44% gap 94.16s 884.60s 1356. Burke et al.97s 1166.69% NewlO Std+3 165.41s 253.50s 1197.09s 443.
This action might not be possible to undo. Are you sure you want to continue?
We've moved you to where you read on your other device.
Get the full title to continue listening from where you left off, or restart the preview.