Skip to main content
Log in

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

  • Published:
Annals of Operations Research Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  • Ahuja, R. K., Magnanti, T. L., & Orlin, J. B. (1993). Network flows: theory, algorithms, and applications. New York: Prentice Hall.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Balas, E., Bockmayr, A., Pisaruk, N., & Wolsey, L. (2004). On unions and dominants of polytopes. Mathematical Programming, 99(2), 223–239.

    Article  Google Scholar 

  • Balas, E., & Qi, L. Q. (1993). Linear-time separation algorithms for the three-index assignment polytope. Discrete Applied Mathematics, 43(1), 1–12.

    Article  Google Scholar 

  • Balas, E., & Saltzman, M. J. (1989). Facets of the three-index assignment polytope. Discrete Applied Mathematics, 23, 201–229.

    Article  Google Scholar 

  • Balas, E., & Saltzman, M. J. (1991). An algorithm for the three-index assignment problem. Operations Research, 39(1), 150–161.

    Article  Google Scholar 

  • 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 

  • 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.

    Article  Google Scholar 

  • 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.

  • Burke, E. K., & Petrovic, S. (2002). Recent research directions in automated timetabling. European Journal of Operational Research, 140(2), 266–280.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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 

  • 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.

    Article  Google Scholar 

  • 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.

    Chapter  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Campêlo, M., Corrêa, R. C., & Frota, Y. (2003). Cliques, holes and the vertex coloring polytope. Information Processing Letters, 89(4), 159–164.

    Article  Google Scholar 

  • Caprara, A. (1998). Properties of some ILP formulations of a class of partitioning problems. Discrete Applied Mathematics, 87(1–3), 11–23.

    Article  Google Scholar 

  • Carter, M. W. (1989). A Lagrangian relaxation approach to the classroom assignment problem. INFORMS Journal on Computing, 27, 230–245.

    Google Scholar 

  • 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.

    Chapter  Google Scholar 

  • Chvátal, V. (1973). Edmonds polytopes and a hierarchy of combinatorial problems. Discrete Mathematics, 4, 305–337.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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 

  • Edmonds, J., Lovász, L., & Pulleyblank, W. R. (1982). Brick decompositions and the matching rank of graphs. Combinatorica, 2(3), 247–274.

    Article  Google Scholar 

  • 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.

    Chapter  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Gwan, G., & Qi, L. Q. (1992). On facets of the three-index assignment polytope. The Australasian Journal of Combinatorics, 6, 67–87.

    Google Scholar 

  • ILOG (2006). ILOG CPLEX advanced programming techniques. Incline Village: ILOG S. A.

    Google Scholar 

  • 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.

    Chapter  Google Scholar 

  • 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.

  • Lawrie, N. L. (1969). An integer linear programming model of a school timetabling problem. Computer Journal, 12, 307–316.

    Article  Google Scholar 

  • 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 

  • 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.

    Article  Google Scholar 

  • Méndez-Díaz, I., & Zabala, P. (2008). A cutting plane algorithm for graph coloring. Discrete Applied Mathematics, 156(2).

  • Mirhassani, S. A. (2006). A computational approach to enhancing course timetabling with integer programming. Applied Mathematics and Computation, 175, 814–822.

    Article  Google Scholar 

  • Müller, T. (2009). ITC-2007 solver description: a hybrid approach. Annals of Operations Research, 127(1), 429–446.

    Article  Google Scholar 

  • 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.

  • 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 

  • 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.

    Chapter  Google Scholar 

  • 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.

    Chapter  Google Scholar 

  • Rudová, H., Müller, T., & Murray, K. (2011). Complex university course timetabling. Journal of Scheduling (to appear). doi:10.1007/s10951-010-0171-3.

  • 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.

  • Schaerf, A. (1999). A survey of automated timetabling. Artificial Intelligence Review, 13(2), 87–127.

    Article  Google Scholar 

  • Schimmelpfeng, K., & Helber, S. (2007). Application of a real-world university-course timetabling model solved by integer programming. OR-Spektrum, 29, 783–803.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Tripathy, A. (1984). School timetabling—a case in large binary integer linear programming. Management Science, 30, 1473–1489.

    Article  Google Scholar 

  • Vlach, M. (1967). Branch and bound method for the three-index assignment problem. Ekonomicko-Matematicky Obzor, 3, 181–191.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • Zabala, P., & Méndez-Díaz, I. (2006). A branch-and-cut algorithm for graph coloring. Discrete Applied Mathematics, 154(5), 826–847.

    Article  Google Scholar 

  • Zuckerman, D. (2007). Linear degree extractors and the inapproximability of max clique and chromatic number. Theory of Computing, 3(6), 103–128.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jakub Mareček.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Burke, E.K., Mareček, J., Parkes, A.J. et al. A branch-and-cut procedure for the Udine Course Timetabling problem. Ann Oper Res 194, 71–87 (2012). https://doi.org/10.1007/s10479-010-0828-5

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10479-010-0828-5

Keywords

Navigation