Answer set programming as a modeling language for course timetabling

The course timetabling problem can be generally defined as the task of assigning a number of lectures to a limited set of timeslots and rooms, subject to a given set of hard and soft constraints. The modeling language for course timetabling is required to be expressive enough to specify a wide variety of soft constraints and objective functions. Furthermore, the resulting encoding is required to be extensible for capturing new constraints and for switching them between hard and soft, and to be flexible enough to deal with different formulations. In this paper, we propose to make effective use of ASP as a modeling language for course timetabling. We show that our ASP-based approach can naturally satisfy the above requirements, through an ASP encoding of the curriculum-based course timetabling problem proposed in the third track of the second international timetabling competition (ITC-2007). Our encoding is compact and human-readable, since each constraint is individually expressed by either one or two rules. Each hard constraint is expressed by using integrity constraints and aggregates of ASP. Each soft constraint S is expressed by rules in which the head is the form of penalty (S, V, C), and a violation V and its penalty cost C are detected and calculated respectively in the body. We carried out experiments on four different benchmark sets with five different formulations. We succeeded either in improving the bounds or producing the same bounds for many combinations of problem instances and formulations, compared with the previous best known bounds.

[1]  Rhyd Lewis,et al.  A survey of metaheuristic-based techniques for University Timetabling problems , 2007, OR Spectr..

[2]  Edmund K. Burke,et al.  Practice and Theory of Automated Timetabling III , 2001, Lecture Notes in Computer Science.

[3]  Torsten Schaub,et al.  Unsatisfiability-based optimization in clasp , 2012, ICLP.

[4]  Martin Gebser,et al.  The Conflict-Driven Answer Set Solver clasp: Progress Report , 2009, LPNMR.

[5]  Stefan Helber,et al.  Application of a real-world university-course timetabling model solved by integer programming , 2007, OR Spectr..

[6]  Michael W. Carter A Comprehensive Course Timetabling and Student Scheduling System at the University of Waterloo , 2000, PATAT.

[7]  Martin Gebser,et al.  Conflict-Driven Answer Set Solving , 2007, IJCAI.

[8]  Edmund K. Burke,et al.  Practice and Theory of Automated Timetabling VI, 6th International Conference, PATAT 2006, Brno, Czech Republic, August 30 - September 1, 2006, Revised Selected Papers , 2007, PATAT.

[9]  Luca Di Gaspero,et al.  Multi-neighbourhood Local Search with Application to Course Timetabling , 2002, PATAT.

[10]  Ben Paechter,et al.  Setting the Research Agenda in Automated Timetabling: The Second International Timetabling Competition , 2010, INFORMS J. Comput..

[11]  Edmund K. Burke,et al.  A supernodal formulation of vertex colouring with applications in course timetabling , 2007, Ann. Oper. Res..

[12]  M De Vos ASP: The future is bright a position paper , 2009, ICLP 2009.

[13]  Edmund K. Burke,et al.  Decomposition, reformulation, and diving in university course timetabling , 2009, Comput. Oper. Res..

[14]  Tu,et al.  Representing School Timetabling in a DisjunctiveLogic Programming Language , 1998 .

[15]  Chitta Baral,et al.  Knowledge Representation, Reasoning and Declarative Problem Solving , 2003 .

[16]  Marius Thomas Lindauer,et al.  A Portfolio Solver for Answer Set Programming: Preliminary Report , 2011, LPNMR.

[17]  Martin Gebser,et al.  Answer Set Solving in Practice , 2012, Answer Set Solving in Practice.

[18]  Luca Di Gaspero,et al.  Benchmarking curriculum-based course timetabling: formulations, data formats, instances, validation, visualization, and results , 2012, Ann. Oper. Res..

[19]  Andrea Qualizza,et al.  A Column Generation Scheme for Faculty Timetabling , 2004, PATAT.

[20]  Wolfgang Faber,et al.  Logic Programming and Nonmonotonic Reasoning , 2011, Lecture Notes in Computer Science.

[21]  Calvin C. Gotlieb,et al.  The Construction of Class-Teacher Time-Tables , 1962, IFIP Congress.

[22]  Edmund K. Burke,et al.  Practice and Theory of Automated Timetabling V, 5th International Conference, PATAT 2004, Pittsburgh, PA, USA, August 18-20, 2004, Revised Selected Papers , 2005, PATAT.

[23]  Sophia Daskalaki,et al.  Efficient solutions for a university timetabling problem through integer programming , 2005, Eur. J. Oper. Res..

[24]  Peter J. Stuckey,et al.  Explaining the cumulative propagator , 2010, Constraints.

[25]  Barry McCollum,et al.  A Perspective on Bridging the Gap Between Theory and Practice in University Timetabling , 2006, PATAT.

[26]  Ilkka Niemelä,et al.  Logic programs with stable model semantics as a constraint programming paradigm , 1999, Annals of Mathematics and Artificial Intelligence.

[27]  Andrea Schaerf,et al.  A Survey of Automated Timetabling , 1999, Artificial Intelligence Review.

[28]  Sanja Petrovic,et al.  Recent research directions in automated timetabling , 2002, Eur. J. Oper. Res..

[29]  Marco E. Lübbecke,et al.  Curriculum based course timetabling: new solutions to Udine benchmark instances , 2012, Ann. Oper. Res..

[30]  Edmund K. Burke,et al.  A branch-and-cut procedure for the Udine Course Timetabling problem , 2012, Ann. Oper. Res..

[31]  Robert Nieuwenhuis,et al.  Curriculum-based course timetabling with SAT and MaxSAT , 2012, Ann. Oper. Res..

[32]  Barry McCollum,et al.  The Second International Timetabling Competition (ITC-2007): Curriculum-based Course Timetabling (Track 3) — preliminary presentation — , 2007 .