Advertisement

Annals of Operations Research

, Volume 194, Issue 1, pp 71–87 | Cite as

A branch-and-cut procedure for the Udine Course Timetabling problem

  • Edmund K. Burke
  • Jakub Mareček
  • Andrew J. Parkes
  • Hana Rudová
Article

Abstract

A branch-and-cut procedure for the Udine Course Timetabling problem is described. Simple compact integer linear programming formulations of the problem employ only binary variables. In contrast, we give a formulation with fewer variables by using a mix of binary and general integer variables. This formulation has an exponential number of constraints, which are added only upon violation. The number of constraints is exponential. However, this is only with respect to the upper bound on the general integer variables, which is the number of periods per day in the Udine Course Timetabling problem.

A number of further classes of cuts are also introduced, arising from: enumeration of event/free-period patterns; bounds on the numbers of days of instruction; the desire to exploit integrality of the objective function value; the graph colouring component; and also from various implied bounds. An implementation of the corresponding branch-and-cut procedure is evaluated on the instances from Track 3 of the International Timetabling Competition 2007.

Keywords

Integer programming Branch-and-cut Cutting planes Soft constraints Educational timetabling University course timetabling 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ahuja, R. K., Magnanti, T. L., & Orlin, J. B. (1993). Network flows: theory, algorithms, and applications. New York: Prentice Hall. Google Scholar
  2. Al-Yakoob, S. M., & Sherali, H. D. (2007). A mixed-integer programming approach to a class timetabling problem: a case study with gender policies and traffic considerations. European Journal of Operational Research, 180(3), 1028–1044. CrossRefGoogle Scholar
  3. Avella, P., & Vasil’ev, I. (2005). A computational study of a cutting plane algorithm for university course timetabling. Journal of Scheduling, 8(6), 497–514. CrossRefGoogle Scholar
  4. Balas, E., Bockmayr, A., Pisaruk, N., & Wolsey, L. (2004). On unions and dominants of polytopes. Mathematical Programming, 99(2), 223–239. CrossRefGoogle Scholar
  5. Balas, E., & Qi, L. Q. (1993). Linear-time separation algorithms for the three-index assignment polytope. Discrete Applied Mathematics, 43(1), 1–12. CrossRefGoogle Scholar
  6. Balas, E., & Saltzman, M. J. (1989). Facets of the three-index assignment polytope. Discrete Applied Mathematics, 23, 201–229. CrossRefGoogle Scholar
  7. Balas, E., & Saltzman, M. J. (1991). An algorithm for the three-index assignment problem. Operations Research, 39(1), 150–161. CrossRefGoogle Scholar
  8. Bardadym, V. A. (1996). Computer-aided school and university timetabling: the new wave. In E. K. Burke & P. Ross (Eds.), Lecture notes in computer science: Vol. 1153. Practice and theory of automated timetabling (pp. 22–45). Berlin: Springer. Google Scholar
  9. Beyrouthy, C. B., Burke, E. K., Silva, D. L., McCollum, B., McMullan, P., & Parkes, A. J. (2009). Towards improving the utilisation of university teaching space. The Journal of the Operational Research Society, 60(1), 130–143. CrossRefGoogle Scholar
  10. Bonutti, A., De Cesco, F., Di Gaspero, L., & Schaerf, A. (2011). Benchmarking curriculum-based course timetabling: formulations, data formats, instances, validation, visualization, and results. Annals of Operations Research (this volume). doi: 10.1007/s10479-010-0707-0.
  11. Burke, E. K., & Petrovic, S. (2002). Recent research directions in automated timetabling. European Journal of Operational Research, 140(2), 266–280. CrossRefGoogle Scholar
  12. Burke, E. K., Jackson, K., Kingston, J. H., & Weare, R. F. (1997). Automated university timetabling: the state of the art. Computer Journal, 40(9), 565–571. CrossRefGoogle Scholar
  13. Burke, E. K., de Werra, D., & Kingston, J. H. (2004). Applications to timetabling. In J. L. Gross & J. Yellen (Eds.), Handbook of graph theory (pp. 445–474). London: CRC. Google Scholar
  14. Burke, E. K., Mareček, J., Parkes, A. J., & Rudová, H. (2010). A supernodal formulation of vertex colouring with applications in course timetabling. Annals of Operations Research 179(1), 105–130. CrossRefGoogle Scholar
  15. Burke, E. K., Mareček, J., Parkes, A. J., & Rudová, 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. CrossRefGoogle Scholar
  16. Burke, E. K., Mareček, J., Parkes, A. J., & Rudová, H. (2010). Decomposition, reformulation, and diving in timetabling. Computers and Operations Research, 37(1), 582–597. CrossRefGoogle Scholar
  17. Campêlo, M., Corrêa, R. C., & Frota, Y. (2003). Cliques, holes and the vertex coloring polytope. Information Processing Letters, 89(4), 159–164. CrossRefGoogle Scholar
  18. Caprara, A. (1998). Properties of some ILP formulations of a class of partitioning problems. Discrete Applied Mathematics, 87(1–3), 11–23. CrossRefGoogle Scholar
  19. Carter, M. W. (1989). A Lagrangian relaxation approach to the classroom assignment problem. INFORMS Journal on Computing, 27, 230–245. Google Scholar
  20. Carter, M. W., & Laporte, G. (1997). Recent developments in practical course timetabling. In E. K. Burke & M. W. Carter (Eds.), Lecture notes in computer science: Vol. 1408. Practice and theory of automated timetabling (pp. 3–19). Berlin: Springer. CrossRefGoogle Scholar
  21. Chvátal, V. (1973). Edmonds polytopes and a hierarchy of combinatorial problems. Discrete Mathematics, 4, 305–337. CrossRefGoogle Scholar
  22. Coll, P., Marenco, J., Méndez-Díaz, I., & Zabala, P. (2002). Facets of the graph coloring polytope. Annals of Operations Research, 116, 79–90. CrossRefGoogle Scholar
  23. Czumaj, A., & Lingas, A. (2007). Finding a heaviest triangle is not harder than matrix multiplication. In SODA ’07: Proceedings of the eighteenth annual ACM-SIAM symposium on discrete algorithms (pp. 986–994). Philadelphia: SIAM. Google Scholar
  24. Daskalaki, S., Birbas, T., & Housos, E. (2004). An integer programming formulation for a case study in university timetabling. European Journal of Operational Research, 153, 117–135. CrossRefGoogle Scholar
  25. Daskalaki, S., Birbas, T., & Housos, E. (2005). Efficient solutions for a university timetabling problem through integer programming. European Journal of Operational Research, 160, 106–120. CrossRefGoogle Scholar
  26. Dimopoulou, M., & Miliotis, P. (2004). An automated university course timetabling system developed in a distributed environment: a case study. European Journal of Operational Research, 153, 136–147. CrossRefGoogle Scholar
  27. Edmonds, J. (1965). Maximum matching and a polyhedron with 0,1-vertices. Journal of Research, National Bureau of Standards. Section D, Radio Science, 69B, 125–130. Google Scholar
  28. Edmonds, J., Lovász, L., & Pulleyblank, W. R. (1982). Brick decompositions and the matching rank of graphs. Combinatorica, 2(3), 247–274. CrossRefGoogle Scholar
  29. Di Gaspero, L., & Schaerf, A. (2003). Multi neighborhood local search with application to the course timetabling problem. In E. K. Burke & P. De Causmaecker (Eds.), Lecture notes in computer science: Vol. 2740. Practice and theory of automated timetabling (pp. 262–275). Berlin: Springer. CrossRefGoogle Scholar
  30. Di Gaspero, L., & Schaerf, A. (2006). Neighborhood portfolio approach for local search applied to timetabling problems. Journal of Mathematical Modelling and Algorithms, 5(1), 65–89. CrossRefGoogle Scholar
  31. Gwan, G., & Qi, L. Q. (1992). On facets of the three-index assignment polytope. The Australasian Journal of Combinatorics, 6, 67–87. Google Scholar
  32. ILOG (2006). ILOG CPLEX advanced programming techniques. Incline Village: ILOG S. A. Google Scholar
  33. Lach, G., & Lübbecke, M. E. (2008). Optimal university course timetables and the partial transversal polytope. In C. C. McGeoch (Ed.), Lecture notes in computer science: Vol. 5038. Experimental algorithms (pp. 235–248). Berlin: Springer. CrossRefGoogle Scholar
  34. Lach, G., & Lübbecke, M. E. (2011). Curriculum based course timetabling: new solutions to Udine benchmark instances. Annals of Operations Research (this volume). doi: 10.1007/s10479-010-0700-7.
  35. Lawrie, N. L. (1969). An integer linear programming model of a school timetabling problem. Computer Journal, 12, 307–316. CrossRefGoogle Scholar
  36. McCollum, B. (2007). A perspective on bridging the gap between theory and practice in university timetabling. In E. K. Burke & H. Rudová (Eds.), Lecture notes in computer science: Vol. 3867. Practice and theory of automated timetabling (pp. 3–23). Berlin: Springer. Google Scholar
  37. McCollum, B., Schaerf, A., Paechter, B., McMullan, P., Lewis, R., Parkes, A. J., Di Gaspero, L., Qu, R., & Burke, E. K. (2010). Setting the research agenda in automated timetabling: the second international timetabling competition. INFORMS Journal on Computing, 22(1), 120–130. CrossRefGoogle Scholar
  38. Méndez-Díaz, I., & Zabala, P. (2008). A cutting plane algorithm for graph coloring. Discrete Applied Mathematics, 156(2). Google Scholar
  39. Mirhassani, S. A. (2006). A computational approach to enhancing course timetabling with integer programming. Applied Mathematics and Computation, 175, 814–822. CrossRefGoogle Scholar
  40. Müller, T. (2009). ITC-2007 solver description: a hybrid approach. Annals of Operations Research, 127(1), 429–446. CrossRefGoogle Scholar
  41. Niskanen, S., & Östergøard, P. R. J. (2003). Cliquer user’s guide, version 1.0. Communications Laboratory, Helsinki University of Technology, Espoo, Finland, Tech. rep. T48, 2003. Google Scholar
  42. 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: CRC Press. ISBN 1584883979. Google Scholar
  43. Qualizza, A., & Serafini, P. (2004). A column generation scheme for faculty timetabling. In E. K. Burke & M. A. Trick (Eds.), Lecture notes in computer science: Vol. 3616. Practice and theory of automated timetabling (pp. 161–173). Berlin: Springer. CrossRefGoogle Scholar
  44. Rudová, H., & Murray, K. (2003). University course timetabling with soft constraints. In E. K. Burke & P. De Causmaecker (Eds.), Lecture notes in computer science: Vol. 2740. Practice and theory of automated timetabling (pp. 310–328). Berlin: Springer. CrossRefGoogle Scholar
  45. Rudová, H., Müller, T., & Murray, K. (2011). Complex university course timetabling. Journal of Scheduling (to appear). doi: 10.1007/s10951-010-0171-3.
  46. Santos, H., Uchoa, E., Ochi, L., & Maculan, N. Strong bounds with cut and column generation for class-teacher timetabling Annals of Operations Research (to appear). doi: 10.1007/s10479-010-0828-5.
  47. Schaerf, A. (1999). A survey of automated timetabling. Artificial Intelligence Review, 13(2), 87–127. CrossRefGoogle Scholar
  48. Schimmelpfeng, K., & Helber, S. (2007). Application of a real-world university-course timetabling model solved by integer programming. OR-Spektrum, 29, 783–803. CrossRefGoogle Scholar
  49. Tomita, E., Tanaka, A., & Takahashi, H. (2006). The worst-case time complexity for generating all maximal cliques and computational experiments. Theoretical Computer Science, 363(1), 28–42. CrossRefGoogle Scholar
  50. Tripathy, A. (1984). School timetabling—a case in large binary integer linear programming. Management Science, 30, 1473–1489. CrossRefGoogle Scholar
  51. Vlach, M. (1967). Branch and bound method for the three-index assignment problem. Ekonomicko-Matematicky Obzor, 3, 181–191. Google Scholar
  52. Welsh, D. J. A., & Powel, M. B. (1967). An upper bound for the chromatic number of a graph and its application to timetabling problems. Computer Journal, 10(1), 85–86. CrossRefGoogle Scholar
  53. Zabala, P., & Méndez-Díaz, I. (2006). A branch-and-cut algorithm for graph coloring. Discrete Applied Mathematics, 154(5), 826–847. CrossRefGoogle Scholar
  54. Zuckerman, D. (2007). Linear degree extractors and the inapproximability of max clique and chromatic number. Theory of Computing, 3(6), 103–128. CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2011

Authors and Affiliations

  • Edmund K. Burke
    • 1
  • Jakub Mareček
    • 1
    • 2
  • Andrew J. Parkes
    • 1
  • Hana Rudová
    • 2
  1. 1.Automated Scheduling, Optimisation and Planning Group, School of Computer ScienceThe University of NottinghamNottinghamUK
  2. 2.Faculty of InformaticsMasaryk UniversityBrnoThe Czech Republic

Personalised recommendations