Optimizing Student Course Preferences in School Timetabling

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 12296)


School timetabling is a complex problem in combinatorial optimization, requiring the best possible assignment of course sections to teachers, timeslots, and classrooms. There exist standard techniques for generating a school timetable, especially in cohort-based programs where students take the same set of required courses, along with several electives. However, in small interdisciplinary institutions where there are only one or two sections of each course, and there is much diversity in course preferences among individual students, it is very difficult to create an optimal timetable that enables each student to take their desired set of courses while satisfying all of the required constraints.

In this paper, we present a two-part school timetabling algorithm that was applied to generate the optimal Master Timetable for a Canadian all-girls high school, enrolling students in 100% of their core courses and 94% of their most desired electives. We conclude the paper by explaining how this algorithm, combining graph coloring with integer linear programming, can benefit other institutions that need to consider student course preferences in their timetabling.


School timetabling Post Enrollment Course Timetabling Problem Integer Programming Graph coloring Optimization 



The authors thank the reviewers for their insightful comments that significantly improved the final version of this paper. We are grateful to Darlene DeMerchant and Megan Hedderick at St. Margaret’s School for making this collaboration possible. Finally, we acknowledge that the student author’s research was sponsored by a Student Project Grant awarded by the Research and Scholarly Works Committee at Quest University Canada.


  1. 1.
    Brélaz, D.: New methods to color the vertices of a graph. Commun. ACM 22(4), 251–6 (1979)MathSciNetCrossRefGoogle Scholar
  2. 2.
    Burke, E.K., Marec̆ek, J., Parkes, A., Rudová, H.: A supernodal formulation of vertex colouring with applications in course timetabling. Ann. Oper. Res. 179(1), 105–130 (2010). Scholar
  3. 3.
    Cambazard, H., Hébrard, E., O’Sullivan, B., Papadopoulos, A.: Local search and constraint programming for the post enrolment-based course timetabling problem. Ann. Oper. Res. 194(1), 111–135 (2012). Scholar
  4. 4.
    Carter, M.W.: A comprehensive course timetabling and student scheduling system at the University of Waterloo. In: Burke, E., Erben, W. (eds.) PATAT 2000. LNCS, vol. 2079, pp. 64–82. Springer, Heidelberg (2001). Scholar
  5. 5.
    Chiarandini, M., Fawcett, C., Hoos, H.H.: A modular multiphase heuristic solver for post enrolment course timetabling. In: PATAT (2008)Google Scholar
  6. 6.
    Demirović, E., Stuckey, P.J.: Constraint programming for high school timetabling: a scheduling-based model with hot starts. In: van Hoeve, W.-J. (ed.) CPAIOR 2018. LNCS, vol. 10848, pp. 135–152. Springer, Cham (2018). Scholar
  7. 7.
    Even, A.S.S., Itai, A., Shamir, A.: On the complexity of timetable and multicommodity flow problems. SIAM J. Comput. 5(4), 691–703 (1976)MathSciNetCrossRefGoogle Scholar
  8. 8.
    Fonseca, G.H., Santos, H.G., Carrano, E.G., Stidsen, T.J.: Modelling and solving university course timetabling problems through XHSTT. In: PATAT, vol. 16, pp. 127–138 (2016)Google Scholar
  9. 9.
    Google OR-Tools: Fast and portable software for combinatorial optimization. Accessed 17 Feb 2020
  10. 10.
    Gotlieb, C.C.: The construction of class-teacher timetables. In: IFIP Congress, Amsterdam, vol. 62, pp. 73–77 (1963)Google Scholar
  11. 11.
    GrinPy: A NetworkX extension for calculating graph invariants. Accessed 17 Feb 2020
  12. 12.
    Hébrard, E., Katsirelos, G.: A hybrid approach for exact coloring of massive graphs. In: Rousseau, L.-M., Stergiou, K. (eds.) CPAIOR 2019. LNCS, vol. 11494, pp. 374–390. Springer, Cham (2019).
  13. 13.
    Karp, R.M.: Reducibility among combinatorial problems. In: Miller, R.E., Thatcher, J.W., Bohlinger, J.D. (eds.) Complexity of Computer Computations. IRSS, pp. 85–103. Springer, Boston (1972). Scholar
  14. 14.
    Kristiansen, S., Sørensen, M., Stidsen, T.R.: Integer programming for the generalized high school timetabling problem. J. Sched. 18(4), 377–392 (2014). Scholar
  15. 15.
    Kristiansen, S., Stidsen, T.R.: Elective course student sectioning at Danish high schools. Ann. Oper. Res. 239(1), 99–117 (2014). Scholar
  16. 16.
    Lach, G., Lübbecke, M.E.: Optimal university course timetables and the partial transversal polytope. In: McGeoch, C.C. (ed.) WEA 2008. LNCS, vol. 5038, pp. 235–248. Springer, Heidelberg (2008). Scholar
  17. 17.
    Lewis, R., Paechter, R., McCollum, B.: Post enrolment based course timetabling: a description of the problem model used for track two of the second international timetabling competition (2007)Google Scholar
  18. 18.
    Liu, Y., Zhang, D., Leung, S.C.: A simulated annealing algorithm with a new neighborhood structure for the timetabling problem. In: Proceedings of the First ACM/SIGEVO Summit on Genetic and Evolutionary Computation, pp. 381–386 (2009)Google Scholar
  19. 19.
    Méndez-Díaz, I., Zabala, P., Miranda-Bront, J.J.: An ILP based heuristic for a generalization of the post-enrollment course timetabling problem. Comput. Oper. Res. 76, 195–207 (2016)MathSciNetCrossRefGoogle Scholar
  20. 20.
    Minh, K.N.T.T., Thanh, N.D.T., Trang, K.T., Hue, N.T.T.: Using Tabu search for solving a high school timetabling problem. In: Nguyen, N.T., Katarzyniak, R., Chen, S.M. (eds.) Advances in Intelligent Information and Database Systems. SCI, vol. 283, pp. 305–313. Springer, Heidelberg (2010). Scholar
  21. 21.
    NetworkX: Software for complex networks. Accessed 17 Feb 2020
  22. 22.
    Nothegger, C., Mayer, A., Chwatal, A., Raidl, G.R.: Solving the post enrolment course timetabling problem by ant colony optimization. Ann. Oper. Res. 194(1), 325–339 (2012). Scholar
  23. 23.
    Pillay, N.: A survey of school timetabling research. Ann. Oper. Res. 218(1), 261–293 (2014). Scholar
  24. 24.
    Post, G., et al.: An XML format for benchmarks in high school timetabling. Ann. Oper. Res. 194(1), 385–397 (2012). Scholar
  25. 25.
    Post, G., et al.: XHSTT: an XML archive for high school timetabling problems in different countries. Ann. Oper. Res. 218(1), 295–301 (2011). Scholar
  26. 26.
    Raghavjee, R., Pillay, N.: An application of genetic algorithms to the school timetabling problem. In: Proceedings of the 2008 Annual Research Conference of the South African Institute of Computer Scientists and Information Technologists on IT Research in Developing Countries: Riding the Wave of Technology, pp. 193–199 (2008)Google Scholar
  27. 27.
    Sørensen, M., Dahms, F.H.W.: A two-stage decomposition of high school timetabling applied to cases in Denmark. Comput. Oper. Res. 1(43), 36–49 (2014)MathSciNetCrossRefGoogle Scholar
  28. 28.
    St. Margaret’s Boarding School Viewbook. Accessed 17 Feb 2020
  29. 29.
    Van Den Broek, J., Hurkens, C., Woeginger, G.: Timetabling problems at the TU Eindhoven. Eur. J. Oper. Res. 196(3), 877–885 (2009)MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  1. 1.Quest University CanadaSquamishCanada

Personalised recommendations