Regularity Requirements in University Course Timetabling. Broes De Cat, Christophe Machiels, Gerda Janssens and Marc Denecker Department of Computer Science, K.U.Leuven, Belgium {broes.decat, gerda.janssens, marc.denecker}@cs.kuleuven.be, christophe.machiels@student.cs.kuleuven.be K.U. Leuven Abstract. Timetabling is the task of assigning sets of events to periods of time, taking into account resource-constraints and preferences among assignments. It is a well-studied field of research and is generally recog- nized to be a hard problem, both from the perspective of encoding it as from a computational point of view. In recent years, there has been increased interest in combining efficient search algorithms with modelling languages capable of high-level rep- resentations of real-world domains. Research into such systems is con- ducted, a.o., in the fields of Constraint Programming and Knowledge Representation. In this paper, we investigate the use of the modelling language of first-order logic extended with constructs such as aggregates, types, definitions and arithmetic, and the idp system, which implements model generation for this language, to the timetabling problem. We show the feasibility of the approach and argue that there are impor- tant advantages both from the modelling point of view, leading to nat- ural representation of the problem, and from the solving point of view, taking advantage of efficient automated search techniques like SAT and constraint propagation. 1 Introduction Timetabling is a well-studied field of research and is generally known to be hard to solve, both from the perspective of encoding as from a computational point of view, belonging to the class of NP-hard constraint optimization problems. The problem consists of assigning time points to a set of events, taking into account constraints on resources associated with those events and preferences among assignments. University timetabling distinguishes between examination timetabling and course timetabling. In this paper we consider the latter. Introductions to the basic elements of (automated) timetabling, approaches to solve the problem and surveys of course and examination timetabling can be found for example in [22]. Surveys of developments in timetabling can be found in [2,7,20,14]. Methods generally used to solve the problem are primarily based on three approaches: local search, e.g. [12], constraint logic programming, e.g. [21], and integer or mixed-integer programming, e.g. [23].