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.
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.
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.
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.
Balas, E., Bockmayr, A., Pisaruk, N., & Wolsey, L. (2004). On unions and dominants of polytopes. Mathematical Programming, 99(2), 223–239.
Balas, E., & Qi, L. Q. (1993). Linear-time separation algorithms for the three-index assignment polytope. Discrete Applied Mathematics, 43(1), 1–12.
Balas, E., & Saltzman, M. J. (1989). Facets of the three-index assignment polytope. Discrete Applied Mathematics, 23, 201–229.
Balas, E., & Saltzman, M. J. (1991). An algorithm for the three-index assignment problem. Operations Research, 39(1), 150–161.
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.
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.
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.
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.
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.
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.
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.
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.
Campêlo, M., Corrêa, R. C., & Frota, Y. (2003). Cliques, holes and the vertex coloring polytope. Information Processing Letters, 89(4), 159–164.
Caprara, A. (1998). Properties of some ILP formulations of a class of partitioning problems. Discrete Applied Mathematics, 87(1–3), 11–23.
Carter, M. W. (1989). A Lagrangian relaxation approach to the classroom assignment problem. INFORMS Journal on Computing, 27, 230–245.
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.
Chvátal, V. (1973). Edmonds polytopes and a hierarchy of combinatorial problems. Discrete Mathematics, 4, 305–337.
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.
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.
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.
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.
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.
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.
Edmonds, J., Lovász, L., & Pulleyblank, W. R. (1982). Brick decompositions and the matching rank of graphs. Combinatorica, 2(3), 247–274.
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.
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.
Gwan, G., & Qi, L. Q. (1992). On facets of the three-index assignment polytope. The Australasian Journal of Combinatorics, 6, 67–87.
ILOG (2006). ILOG CPLEX advanced programming techniques. Incline Village: ILOG S. A.
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.
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.
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.
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.
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.
Müller, T. (2009). ITC-2007 solver description: a hybrid approach. Annals of Operations Research, 127(1), 429–446.
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.
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.
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.
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.
Schimmelpfeng, K., & Helber, S. (2007). Application of a real-world university-course timetabling model solved by integer programming. OR-Spektrum, 29, 783–803.
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.
Tripathy, A. (1984). School timetabling—a case in large binary integer linear programming. Management Science, 30, 1473–1489.
Vlach, M. (1967). Branch and bound method for the three-index assignment problem. Ekonomicko-Matematicky Obzor, 3, 181–191.
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.
Zabala, P., & Méndez-Díaz, I. (2006). A branch-and-cut algorithm for graph coloring. Discrete Applied Mathematics, 154(5), 826–847.
Zuckerman, D. (2007). Linear degree extractors and the inapproximability of max clique and chromatic number. Theory of Computing, 3(6), 103–128.
Author information
Authors and Affiliations
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10479-010-0828-5