Artificial Intelligence Review

, Volume 13, Issue 2, pp 87–127 | Cite as

A Survey of Automated Timetabling

  • A. Schaerf


The timetabling problem consists in scheduling a sequence of lectures between teachers and students in a prefixed period of time (typically a week), satisfying a set of constraints of various types. A large number of variants of the timetabling problem have been proposed in the literature, which differ from each other based on the type of institution involved (university or school) and the type of constraints. This problem, that has been traditionally considered in the operational research field, has recently been tackled with techniques belonging also to Artificial Intelligence (e.g., genetic algorithms, tabu search, and constraint satisfaction). In this paper, we survey the various formulations of the problem, and the techniques and algorithms used for its solution.

timetabling combinatorial optimization scheduling local search heuristics 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Aarts, E. H.L. & Korst, J. (1989). Simulated Annealing and Boltzmann Machines. New York: John Wiley & Sons.Google Scholar
  2. Abramson, D. (1991). Constructing School Timetables Using Simulated Annealing: Sequential and Parallel Algorithms. Management Science 37(1): 98-113.Google Scholar
  3. Abramson, D. (1992). A Very High Speed Architecture for Simulated Annealing. IEEE Computer May: 27-36.Google Scholar
  4. Akkoyunlu, E. A. (1973). A Linear Algorithm for Computing the Optimum University Timetable. The Computer Journal 16(4): 347-350.Google Scholar
  5. Alvarez-Valdes, R., Martin, G. & Tamarit, J. M. (1996). Constructing Good Solutions for the Spanish School Timetabling Problem. Journal of the Operational Research Society. To appear.Google Scholar
  6. Aubin, J. & Ferland, J. A. (1989). A Large Scale Timetabling Problem. Computers and Operational Research 16(1): 67-77.Google Scholar
  7. Azevedo, F. & Barahona, P. (January 1994). Timetabling in Constraint Logic Programming. In Proceedings of World Congress on Expert Systems '94.Google Scholar
  8. Balakrishnan, N., Lucena, A. & Wong, R. T. (1992). Scheduling Examinations to Reduce Second-Order Conflicts. Computers and Operational Research 19(5): 353-361.Google Scholar
  9. Boufflet, J. P., Benouaghram, R. & Boufflet, G. (1995). An Interactive Computer Aided Design. In Proc. of the 1st Int. Conf. on the Practice and Theory of Automated Timetabling, 324-350.Google Scholar
  10. Brélaz, D. (1979). New Methods to Color Vertices of a Graph. Communications of the ACM 22: 251-256.Google Scholar
  11. Breslaw, J. A. (1976). A Linear Programming Solution to the Faculty Assignment Problem. Socio-Economic Planning Science 10: 227-230.Google Scholar
  12. Burke, E., Elliman, D. & Weare, R. (1993). Extensions to a University Exam Timetabling System. In IJCAI-93 Workshop on Knowledge-Based Production, Planning, Scheduling and Control, 42-48. Chambery, France.Google Scholar
  13. Burke, E., Elliman, D. & Weare, R. (1994). A Genetic Algorithm Based University Timetabling System. In 2nd East-West International Conference on Computer Technologies in Education. Crimea, Ukraine.Google Scholar
  14. Busam, V. A. (1967). An Algorithm for Class Scheduling with Section Preference. Communications of the ACM 10(9): 567-569.Google Scholar
  15. Čangalović, M. & Schreuder, J. A. M. (1991). Exact Coloring Algorithm for Weighted Graph Applied to Timetabling Problems with Lectures of Different Length. Journal of Operational Research 51(2): 248-258.Google Scholar
  16. Carter, M. W. & Tovey, C. A. (1989). When is the Classroom Assignment Problem Hard? Operations Research 40(1S): 28-39.Google Scholar
  17. Carter, M. W., Laporte, G. & Chinneck, J. W. (1994). A General Examination Scheduling System. Interfaces 24(3): 109-120.Google Scholar
  18. Carter, M. W. (1986). A Survey of Practical Applications of Examination Timetabling Algorithms. Operations Research 34(2): 193-202.Google Scholar
  19. Chahal, N. & de Werra, D. (1989). An Interactive System for Constructing Timetables on a PC. European Journal of Operational Research 40: 32-37.Google Scholar
  20. Chams, M., Hertz, A. & de Werra, D. (1987). Some Experiments with Simulated Annealing for Coloring Graphs. European Journal of Operational Research 32: 260-266.Google Scholar
  21. Clementson, A. T. & Elphick, C. H. (1982). Continuous Timetabling Problems. Journal of the Operational Research Society 33: 181-183.Google Scholar
  22. Colorni, A., Dorigo, M. & Maniezzo, V. (1992). A Genetic Algorithm to Solve the Timetable Problem. Technical Report 90-060 revised, Politecnico di Milano, Italy.Google Scholar
  23. Cooper, T. B. & Kingston, J. H. (1993). The Solution of Real Instances of the Timetabling Problem. The Computer Journal 36(7): 645-653.Google Scholar
  24. Corne, D., Fang, H.L. & Mellish, C. (1993). Solving the Modular Exam Scheduling Problem with Genetic Algorithms. Technical Report 622, Department of Artificial Intelligence, University of Edinburgh.Google Scholar
  25. Corne, D., Ross, P. & Fang, H.L. (1994). Evolutionary Timetabling: Practice, Prospects and Work in Progress. In UK Planning and Scheduling SIG Workshop.Google Scholar
  26. Corne, D., Ross, P. & Fang, H.-L. (1994). Fast Practical Evolutionary Timetabling. In AISB Workshop on Evolutionary Computation, number 865 in Lecture Notes in Computer Science, 251-263.Google Scholar
  27. Costa, D. (1994). A Tabu Search Algorithm for Computing an Operational Timetable. European Journal of Operational Research 76: 98-110.Google Scholar
  28. Davis, L. (ed.) (1991). Handbook of Genetic Algorithms. Van Nostrand Reinhold.Google Scholar
  29. de Werra, D. (1985). An Introduction to Timetabling. European Journal of Operational Research 19: 151-162.Google Scholar
  30. Dempster, M. A. H., Lethridge, D. G. & Ulph, A. M. (1973). School Timetabling by Computer — a Technical History. Technical report, Oxford University.Google Scholar
  31. Dhar, V. & Ranganathan, N. (1990). Integer Programming vs. Expert Systems: An Experimental Comparison. Communications of the ACM 33(3): 323-336.Google Scholar
  32. Dinkel, J. J., Mote, J. & Venkataramanan, M. A. (1989). An Efficient Decision Support System for Academic Course Scheduling. Operations Research 37(6): 853-864.Google Scholar
  33. Dowsland, K. A. (1990). A Timetabling Problem in Which Clashes Are Inevitable. Journal of the Operational Research Society 41(10): 907-918.Google Scholar
  34. Dyer, J. & Mulvey, J. M. (1976). The Implementation of an Integrated Optimization/Information System for Academic Departmental Planning. Management Science 22: 1332-1341.Google Scholar
  35. ECRC, Germany (December 1995). ECL iPSe User Manual (Version 3.5.2).Google Scholar
  36. Eglese, R. W. & Rand, G. K. (1987). Conference Seminar Timetabling. Journal of the Operational Research Society 38(7): 591-598.Google Scholar
  37. Eiselt, H. A. & Laporte, G. (1987). Combinatorial Optimization Problems with Soft and Hard Requirements. Journal of the Operational Research Society 38: 785-795.Google Scholar
  38. Even, S., Itai, A. & Shamir, A. (1976). On the Complexity of Timetabling and Multicommodity Flow Problems. SIAM Journal of Computation 5(4): 691-703.Google Scholar
  39. Fahrion, R. & Dollansky. G. (1992). Construction of University Faculty Timetables Using Logic Programming Techniques. Discrete Applied Mathematics 35(3): 221-236.Google Scholar
  40. Feldman, R. & Golumbic, M. C. (1989). Constraint Satisfiability Algorithms for Interactive Student Scheduling. In Proc. of the 11th Int. Joint Conf. on Artificial Intelligence (IJCAI-89), 1010-1016. Morgan Kaufmann.Google Scholar
  41. Ferland, J. A. & Fleurent, C. (1991). Computer Aided Scheduling for a Sport League. INFOR 29: 14-25.Google Scholar
  42. Ferland, J. A. & Roy, S. (1985). Timetabling Problem for University as Assignment of Activity to Resources. Computers and Operational Research 12(2): 207-218.Google Scholar
  43. Ferland, J. A., Roy, S. & Loc, T. G. (1986). The Timetabling Problem. In Coelho, J. D. & Tavares, L. V. (eds.) O.R. Models on Microcomputers, 97-103. North-Holland.Google Scholar
  44. Frangouli, H., Harmandas, V. & Stamatopoulos, P. (1995). UTSE: Construction of Optimum Timetables for University Courses — A CLP Based Approach. In 3rd International Conference on the Practical Applications of Prolog (PAP'95), 225-243.Google Scholar
  45. Garey, M. R. & Johnson, D. S. (1979). Computers and Intractability — A guide to NP-completeness. San Francisco: W.H. Freeman and Company.Google Scholar
  46. Glover, F. & Laguna, M. (1993). Tabu Search. In Reeves, C. R. (ed.) Modern Heuristic Techniques for Combinatorial Problems. Oxford: Scientific Publications.Google Scholar
  47. Glover, F. (1989). Tabu Search. Part I. ORSA Journal of Computing 1: 190-206.Google Scholar
  48. Gotlieb, C. C. (1963). The Construction of Class-Teacher Timetables. In Popplewell, C. M. (ed.) IFIP Congress 62, 73-77. North-Holland.Google Scholar
  49. Gueret, C., Jussien, N., Boizumault, P. & Prins, C. (1995). Building University Timetables Using Constraint Logic Programming. In Proc. of the 1st Int. Conf. on the Practice and Theory of Automated Timetabling, 393-408.Google Scholar
  50. Halldórsson, M. M. (1993). A Still Better Performance Guarantee for Approximate Graph Coloring. Information Processing Letters 45: 19-23.Google Scholar
  51. Harwood, G. B. & Lawless, R. W. (1975). Optimizing Faculty Teaching Schedules. Decision Science 6: 513-524.Google Scholar
  52. Henz, M. & Würtz, J. (1995). Using Oz for College Time Tabling. In Proc. of the 1st Int. Conf. on the Practice and Theory of Automated Timetabling, 283-296.Google Scholar
  53. Hertz, A. & de Werra, D. (1987). Using Tabu Search Techniques for Graph Coloring. Computing 39: 345-351.Google Scholar
  54. Hertz, A. (1991). Tabu Search for Large Scale Timetabling Problems. European Journal of Operational Research 54: 39-47.Google Scholar
  55. Hertz, A. (1992). Finding a Feasible Course Schedule Using Tabu Search. Discrete Applied Mathematics 35(3): 255-270.Google Scholar
  56. Hilton, A. J. W. (1981). School Timetables. Annals of Discrete Mathematics 11: 177-188.Google Scholar
  57. Hopcroft, J. E. & Karp, R. (1973). An n 5/2 Algorithm for Maximum Matching in Bipartite Graphs. SIAM Journal of Computation 2: 225-231.Google Scholar
  58. Ikeda, H., Kitagawa, F. & Nakajima (1995). School Timetabling System: SECTA. In Proc. of the 1st Int. Conf. on the Practice and Theory of Automated Timetabling, 33-44.Google Scholar
  59. Jaffar, J. & Lassez, J.-L. (1987). Constraint Logic Programming. In Proc. of the 14th ACM POPL Symposium, Munich, Germany.Google Scholar
  60. Johnson, D. S., Aragon, C. R., McGeoch, L. A. & Schevon, C. (1991). Optimization by Simulated Annealing: An Experimental Evaluation; Part II, Graph Coloring and Number Partitioning. Operations Research 39(3): 378-406.Google Scholar
  61. Johnson, D. (1990). Timetabling University Examinations. Journal of the Operational Research Society 41(1): 39-47.Google Scholar
  62. Junginger, W. (1986). Timetabling in Germany — a Survey. Interfaces 16: 66-74.Google Scholar
  63. Kang, L. & White, G. M. (1992). A Logic Approach to the Resolution of Constraints in Timetabling. European Journal of Operational Research 61: 306-317.Google Scholar
  64. Kiaer, L. & Yellen, J. (1992). Weighted Graphs and University Course Timetabling. Computers and Operational Research 19(1): 59-67.Google Scholar
  65. Kirkpatrick, S., Gelatt Jr, C. D. & Vecchi, M. P. (1983). Optimization by Simulated Annealing. Science 220: 671-680.Google Scholar
  66. Klein, D. (1983). The Application of Computerized Solution Techniques to the Problem of Timetabling in High Schools and Universities. Master's thesis, Concordia University.Google Scholar
  67. Klingen, L. H. (1981). Stundenplan-erstellung mit dem computer. Log In 1(4): 31-33.Google Scholar
  68. Laporte, G. & Desroches, S. (1984). Examination Timetabling by Computer. Computers and Operational Research 11(4): 351-360.Google Scholar
  69. Laporte, G. & Desroches, S. (1986). The Problem of Assigning Students to Course Sections in a Large Engineering School. Computers and Operational Research 13: 387-394.Google Scholar
  70. Leighton, F. T. (1979). A Graph Coloring Algorithm for Large Scheduling Problems. J. Res. Natl. Bur. Standards 84: 489-506.Google Scholar
  71. Ling, S.E. (1992). Integrating Genetic Algorithms with Prolog Assignment Problem as a hybrid Solution for the Politechnic Timetable Problem. In Manner, R. & Manderick, B. (eds.) Parallel Problem Solving from Nature 2, 321-329.Google Scholar
  72. Mathaisel, D. F. X. & Comm, C. L. (1991). Course and Classroom Scheduling — an Interactive Computer-Graphics Approach. Journal of Systems and Software 15(2): 149-157.Google Scholar
  73. McClure, R. H. & Wells, C. E. (1984). A Mathematical Programming Model for Faculty Course Assignment. Decision Science 15: 409-420.Google Scholar
  74. Mehta. M. K. (1981). The Application of a Graph Coloring Method to an Examination Scheduling Problem. Interfaces 11(5): 57-64.Google Scholar
  75. Meisels, A., Gudes, E. & Kuflik, T. (1991). Limited-Resource Time-Tabling by a Generalized Expert System. Knowledge-Based Systems 4: 215-224.Google Scholar
  76. Michalewicz, Z. (1994). Genetic Algorithms + Data Structures = Evolution Programs. Springer-Verlag. Second, extended edition.Google Scholar
  77. Minton, S., Johnston, M. D., Philips, A. B. & Laird, P. (1992). Minimizing Conflicts: A Heuristic Repair Method for Constraint Satisfaction and Scheduling Problems. Artificial Intelligence 58: 161-205.Google Scholar
  78. Monfroglio, A. (1986). School Time Table Scheduling in Prolog. SIGART Newsletter 96: 20-22.Google Scholar
  79. Monfroglio, A. (1988). Time-Tabling Through a Deductive Database: A Case Study. Data and Knowledge Engineering 3: 1-27.Google Scholar
  80. Mulvey, J.M. (1982). A Classroom/Time Assignment Model. European Journal of Operational Research 9: 64-70.Google Scholar
  81. Neufeld, G. A. & Tartar, J. (1974). Graph Coloring Conditions for the Existence of Solutions to the Timetable Problem. Communications of the ACM 17(8): 450-453.Google Scholar
  82. Odijk, Michiel A. (1994). Construction of Periodic Timetables; Part I: A Cutting Plane Algorithm. Technical Report DUT-TWI-94-61, Delft University of Technology, Department of Technical Mathematics and Informatics, Delft, The Netherlands, 1994.Google Scholar
  83. Ostermann, R. & de Werra, D. (1983). Some Experiments with a Timetabling System. OR Spektrum 3: 199-204.Google Scholar
  84. Paechter, B., Luchian, H., Cumming, A. & Petruic, M. (1994). Two Solutions to the General Timetable Problem Using Evolutionary Methods. In IEEE Conference on Evolutionary Computation.Google Scholar
  85. Paechter, B. (1994). Optimising a Presentation Timetable Using Evolutionary Algorithms. In AISB Workshop on Evolutionary Computation, number 865 in Lecture Notes in Computer Science, 264-276.Google Scholar
  86. Papadimitriou, C. H. & Steiglitz, K. (1982). Combinatorial Optimization: Algorithms and Complexity. Englewood Cliffs, New Jersey: Prentice-Hall.Google Scholar
  87. Papoulias, D. B. (1980). The Assignment-to-Days Problem in a School Time-Table, a Heuristic Approach. European Journal of Operational Research 4: 31-41.Google Scholar
  88. Pearl, J. (1984). Heuristics: Intelligent Search Strategies for Computer Problem Solving. Reading, MA: Addison-Wesley.Google Scholar
  89. Petrie, C., Causey, R., Steiner, D. & Dhar, V. (1989). A Planning Problem: Revisable Academic Course Scheduling. Technical Report ACT-AI-020, Microelectronics and Computer Technology Corporation.Google Scholar
  90. Sabin, G. C. W. & Winter, G. K. (1986). The Impact of Automated Timetabling on Universities — a Case Study. Journal of the Operational Research Society 37: 689-693.Google Scholar
  91. Schaerf, A. (1996). Scheduling Sport Tournaments Using Constraint Logic Programming. In Proc. of the 12th European Conf. on Artificial Intelligence (ECAI-96), 634-639. Budapest, Hungary: John Wiley & Sons.Google Scholar
  92. Schaerf, A. (1996). Tabu Search Techniques for Large High-School Timetabling Problems. In Proc. of the 13th Nat. Conf. on Artificial Intelligence (AAAI-96), 363-368. Portland, USA: AAAI Press/MIT Press.Google Scholar
  93. Schmidt, G. & Strohlein, T. (1979). Timetable Construction — an Annotated Bibliography. The Computer Journal 23(4): 307-316.Google Scholar
  94. Schreuder, J. A. M. (1992). Combinatorial Aspects of Construction of Competition Dutch Professional Football Leagues. Discrete Applied Mathematics 35: 301-312.Google Scholar
  95. Selim, S. M. (1983). An Algorithm for Producing Course and Lecture Timetables. Computers & Education 7: 101-108.Google Scholar
  96. Selim, S. M. (1988). Split Vertices in Vertex Colouring and Their Application in Developing a Solution to the Faculty Timetable Problem. The Computer Journal 31(1): 76-82.Google Scholar
  97. Selman, B., Levesque, H. & Mitchell, D. (1992). A New Method for Solving Hard Satisfiability Problems. In Proc. of the 10th Nat. Conf. on Artificial Intelligence (AAAI-92), 440-446.Google Scholar
  98. Shin, W. & Sullivan, J. A. (1977). Dynamic Course Scheduling for College Faculty Via Zero-One Programming. Decision Science 8: 711-721.Google Scholar
  99. Shmoys, D. B., Stein, C. & Wein, J. (1991). Improved Approximation Algorithms for Shop Scheduling Problems. In Proc. of the Symposium on Discrete Algorithms.Google Scholar
  100. Smith, G. & Sefton, I. M. (1974). On Lion's Counter-Example for Gotlieb's Method for the Construction of School Timetables. Communications of the ACM 17: 196-197.Google Scholar
  101. Smolka, G. (1995). The Oz Programming Model. In van Leeuwen, J. (ed.) Current Trend in Computer Science, number 1000 in Lecture Notes in Computer Science, 324-343. Springer-Verlag.Google Scholar
  102. Solotorevsky, G., Gudes, E. & Meisels, A. (1994). RAPS: A Rule-Based Language Specifying Resource Allocation and Time-Tabling Problems. IEEE Transactions on Knowledge and Data Engineering 6(5): 681-697.Google Scholar
  103. Tripathy, A. (1984). School Timetabling — a Case in Large Binary Integer Linear Programming. Management Science 30(12): 1473-1489.Google Scholar
  104. Tripathy, A. (1992). Computerised Decision Aid for Timetabling — a Case Analysis. Discrete Applied Mathematics 35(3): 313-323.Google Scholar
  105. Van Hentenryck, P. (1991). The CLP Language CHIP: Constraint Solving and Applications. In COMPCON-91, San Francisco, CA.Google Scholar
  106. van Laarhoven, P. J. M. & Aarts, E. H. L. (1987). Simulated Annealing: Theory and Applications. D. Reidel Publishing Company, Kluwer Academic Publishers Group.Google Scholar
  107. Vincke, P. (1984). Timetabling in Belgium: A Survey. In TIMS XXVI. Copenhagen.Google Scholar
  108. Weare, R. (1995). Unpublished Manuscript. Nottingham University, UK.Google Scholar
  109. Welsh, D. J. A. & Powell, M. B. (1967). An Upper Bound to the Chromatic Number of a Graph and Its Application to Timetabling Problems. The Computer Journal 10: 85-86.Google Scholar
  110. Wong, K. H. & Ng, W. Y. (1990). An Interactive Timetabling Support System. In Int. Conf. in System Management, 307-313, Hong Kong.Google Scholar
  111. Yoshikawa, M., Kaneko, K., Yamanouchi, T. & Watanabe, M. (1996). A Constraint-Based High School Scheduling System. IEEE Expert 11(1): 63-72.Google Scholar

Copyright information

© Kluwer Academic Publishers 1999

Authors and Affiliations

  • A. Schaerf
    • 1
  1. 1.Dipartimento di Ingegneria Elettria Gestionale e MeccanicaUniversitá di UdineUdineItaly

Personalised recommendations