Penalising Patterns in Timetables : Strengthened Integer Programming Formulations

Many complex timetabling problems, such as university course timetabling [1, 2] and employee rostering [3], have an underpinning bounded graph colouring component, a pattern penalisation component and a number of side constraints. The bounded graph colouring component corresponds to hard constraints such as “each student attends all events of courses of his choice, no student can be in two rooms at the same time, and there can be at most a given number of events taking place during each period”. Despite the intractability of bounded graph colouring, it is often easy to come up with feasible solutions for instances with hundreds of events and hundreds of distinct enrollments. Much more challenging are requirements such as “students should not have gaps in their individual daily timetables”, which often make the problem over-constrained. The key to tackling this challenge is a suitable formulation of “soft” constraints counting and minimising penalties incurred by matches of various patterns. Several integer programming formulations of such pattern penalising constraints are studied in this paper.

[1]  Edmund K. Burke,et al.  The practice and theory of automated timetabling , 2014, Annals of Operations Research.

[2]  Hong Yan,et al.  Representations of the all_different Predicate of Constraint Satisfaction in Integer Programming , 2001, INFORMS J. Comput..

[3]  Jon Lee All-Different Polytopes , 2002, J. Comb. Optim..

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

[5]  Hana Rudová,et al.  University Course Timetabling with Soft Constraints , 2002, PATAT.

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

[7]  Andreas T. Ernst,et al.  An Annotated Bibliography of Personnel Scheduling and Rostering , 2004, Ann. Oper. Res..

[8]  Sanja Petrovic,et al.  University Timetabling , 2004, Handbook of Scheduling.

[9]  Thorsten Koch,et al.  Rapid mathematical programming , 2005 .

[10]  Igor Vasil'ev,et al.  A Computational Study of a Cutting Plane Algorithm for University Course Timetabling , 2005, J. Sched..

[11]  Luca Di Gaspero,et al.  Neighborhood Portfolio Approach for Local Search Applied to Timetabling Problems , 2006, J. Math. Model. Algorithms.

[12]  Edmund K. Burke,et al.  On a Clique-Based Integer Programming Formulation of Vertex Colouring with Applications in Course Timetabling , 2007, ArXiv.

[13]  Tobias Achterberg,et al.  Constraint integer programming , 2007 .

[14]  Isabel Méndez-Díaz,et al.  A cutting plane algorithm for graph coloring , 2008, Discret. Appl. Math..