Skip to main content
Log in

A Survey of Automated Timetabling

  • Published:
Artificial Intelligence Review Aims and scope Submit manuscript

Abstract

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.

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

  • Aarts, E. H.L. & Korst, J. (1989). Simulated Annealing and Boltzmann Machines. New York: John Wiley & Sons.

    Google Scholar 

  • Abramson, D. (1991). Constructing School Timetables Using Simulated Annealing: Sequential and Parallel Algorithms. Management Science 37(1): 98-113.

    Google Scholar 

  • Abramson, D. (1992). A Very High Speed Architecture for Simulated Annealing. IEEE Computer May: 27-36.

  • Akkoyunlu, E. A. (1973). A Linear Algorithm for Computing the Optimum University Timetable. The Computer Journal 16(4): 347-350.

    Google Scholar 

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

  • Aubin, J. & Ferland, J. A. (1989). A Large Scale Timetabling Problem. Computers and Operational Research 16(1): 67-77.

    Google Scholar 

  • Azevedo, F. & Barahona, P. (January 1994). Timetabling in Constraint Logic Programming. In Proceedings of World Congress on Expert Systems '94.

  • 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 

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

  • Brélaz, D. (1979). New Methods to Color Vertices of a Graph. Communications of the ACM 22: 251-256.

    Google Scholar 

  • Breslaw, J. A. (1976). A Linear Programming Solution to the Faculty Assignment Problem. Socio-Economic Planning Science 10: 227-230.

    Google Scholar 

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

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

  • Busam, V. A. (1967). An Algorithm for Class Scheduling with Section Preference. Communications of the ACM 10(9): 567-569.

    Google Scholar 

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

  • Carter, M. W. & Tovey, C. A. (1989). When is the Classroom Assignment Problem Hard? Operations Research 40(1S): 28-39.

    Google Scholar 

  • Carter, M. W., Laporte, G. & Chinneck, J. W. (1994). A General Examination Scheduling System. Interfaces 24(3): 109-120.

    Google Scholar 

  • Carter, M. W. (1986). A Survey of Practical Applications of Examination Timetabling Algorithms. Operations Research 34(2): 193-202.

    Google Scholar 

  • 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 

  • 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 

  • Clementson, A. T. & Elphick, C. H. (1982). Continuous Timetabling Problems. Journal of the Operational Research Society 33: 181-183.

    Google Scholar 

  • 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 

  • 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 

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

  • Corne, D., Ross, P. & Fang, H.L. (1994). Evolutionary Timetabling: Practice, Prospects and Work in Progress. In UK Planning and Scheduling SIG Workshop.

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

  • Costa, D. (1994). A Tabu Search Algorithm for Computing an Operational Timetable. European Journal of Operational Research 76: 98-110.

    Google Scholar 

  • Davis, L. (ed.) (1991). Handbook of Genetic Algorithms. Van Nostrand Reinhold.

  • de Werra, D. (1985). An Introduction to Timetabling. European Journal of Operational Research 19: 151-162.

    Google Scholar 

  • Dempster, M. A. H., Lethridge, D. G. & Ulph, A. M. (1973). School Timetabling by Computer — a Technical History. Technical report, Oxford University.

  • Dhar, V. & Ranganathan, N. (1990). Integer Programming vs. Expert Systems: An Experimental Comparison. Communications of the ACM 33(3): 323-336.

    Google Scholar 

  • 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 

  • Dowsland, K. A. (1990). A Timetabling Problem in Which Clashes Are Inevitable. Journal of the Operational Research Society 41(10): 907-918.

    Google Scholar 

  • 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 

  • ECRC, Germany (December 1995). ECL iPSe User Manual (Version 3.5.2).

  • Eglese, R. W. & Rand, G. K. (1987). Conference Seminar Timetabling. Journal of the Operational Research Society 38(7): 591-598.

    Google Scholar 

  • 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 

  • 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 

  • Fahrion, R. & Dollansky. G. (1992). Construction of University Faculty Timetables Using Logic Programming Techniques. Discrete Applied Mathematics 35(3): 221-236.

    Google Scholar 

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

  • Ferland, J. A. & Fleurent, C. (1991). Computer Aided Scheduling for a Sport League. INFOR 29: 14-25.

    Google Scholar 

  • 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 

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

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

  • Garey, M. R. & Johnson, D. S. (1979). Computers and Intractability — A guide to NP-completeness. San Francisco: W.H. Freeman and Company.

    Google Scholar 

  • Glover, F. & Laguna, M. (1993). Tabu Search. In Reeves, C. R. (ed.) Modern Heuristic Techniques for Combinatorial Problems. Oxford: Scientific Publications.

    Google Scholar 

  • Glover, F. (1989). Tabu Search. Part I. ORSA Journal of Computing 1: 190-206.

    Google Scholar 

  • Gotlieb, C. C. (1963). The Construction of Class-Teacher Timetables. In Popplewell, C. M. (ed.) IFIP Congress 62, 73-77. North-Holland.

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

  • Halldórsson, M. M. (1993). A Still Better Performance Guarantee for Approximate Graph Coloring. Information Processing Letters 45: 19-23.

    Google Scholar 

  • Harwood, G. B. & Lawless, R. W. (1975). Optimizing Faculty Teaching Schedules. Decision Science 6: 513-524.

    Google Scholar 

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

  • Hertz, A. & de Werra, D. (1987). Using Tabu Search Techniques for Graph Coloring. Computing 39: 345-351.

    Google Scholar 

  • Hertz, A. (1991). Tabu Search for Large Scale Timetabling Problems. European Journal of Operational Research 54: 39-47.

    Google Scholar 

  • Hertz, A. (1992). Finding a Feasible Course Schedule Using Tabu Search. Discrete Applied Mathematics 35(3): 255-270.

    Google Scholar 

  • Hilton, A. J. W. (1981). School Timetables. Annals of Discrete Mathematics 11: 177-188.

    Google Scholar 

  • 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 

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

  • Jaffar, J. & Lassez, J.-L. (1987). Constraint Logic Programming. In Proc. of the 14th ACM POPL Symposium, Munich, Germany.

  • 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 

  • Johnson, D. (1990). Timetabling University Examinations. Journal of the Operational Research Society 41(1): 39-47.

    Google Scholar 

  • Junginger, W. (1986). Timetabling in Germany — a Survey. Interfaces 16: 66-74.

    Google Scholar 

  • 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 

  • Kiaer, L. & Yellen, J. (1992). Weighted Graphs and University Course Timetabling. Computers and Operational Research 19(1): 59-67.

    Google Scholar 

  • Kirkpatrick, S., Gelatt Jr, C. D. & Vecchi, M. P. (1983). Optimization by Simulated Annealing. Science 220: 671-680.

    Google Scholar 

  • Klein, D. (1983). The Application of Computerized Solution Techniques to the Problem of Timetabling in High Schools and Universities. Master's thesis, Concordia University.

  • Klingen, L. H. (1981). Stundenplan-erstellung mit dem computer. Log In 1(4): 31-33.

    Google Scholar 

  • Laporte, G. & Desroches, S. (1984). Examination Timetabling by Computer. Computers and Operational Research 11(4): 351-360.

    Google Scholar 

  • 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 

  • Leighton, F. T. (1979). A Graph Coloring Algorithm for Large Scheduling Problems. J. Res. Natl. Bur. Standards 84: 489-506.

    Google Scholar 

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

  • 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 

  • McClure, R. H. & Wells, C. E. (1984). A Mathematical Programming Model for Faculty Course Assignment. Decision Science 15: 409-420.

    Google Scholar 

  • Mehta. M. K. (1981). The Application of a Graph Coloring Method to an Examination Scheduling Problem. Interfaces 11(5): 57-64.

    Google Scholar 

  • Meisels, A., Gudes, E. & Kuflik, T. (1991). Limited-Resource Time-Tabling by a Generalized Expert System. Knowledge-Based Systems 4: 215-224.

    Google Scholar 

  • Michalewicz, Z. (1994). Genetic Algorithms + Data Structures = Evolution Programs. Springer-Verlag. Second, extended edition.

  • 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 

  • Monfroglio, A. (1986). School Time Table Scheduling in Prolog. SIGART Newsletter 96: 20-22.

    Google Scholar 

  • Monfroglio, A. (1988). Time-Tabling Through a Deductive Database: A Case Study. Data and Knowledge Engineering 3: 1-27.

    Google Scholar 

  • Mulvey, J.M. (1982). A Classroom/Time Assignment Model. European Journal of Operational Research 9: 64-70.

    Google Scholar 

  • 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 

  • 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 

  • Ostermann, R. & de Werra, D. (1983). Some Experiments with a Timetabling System. OR Spektrum 3: 199-204.

    Google Scholar 

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

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

  • Papadimitriou, C. H. & Steiglitz, K. (1982). Combinatorial Optimization: Algorithms and Complexity. Englewood Cliffs, New Jersey: Prentice-Hall.

    Google Scholar 

  • 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 

  • Pearl, J. (1984). Heuristics: Intelligent Search Strategies for Computer Problem Solving. Reading, MA: Addison-Wesley.

    Google Scholar 

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

  • 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 

  • 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 

  • 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 

  • Schmidt, G. & Strohlein, T. (1979). Timetable Construction — an Annotated Bibliography. The Computer Journal 23(4): 307-316.

    Google Scholar 

  • Schreuder, J. A. M. (1992). Combinatorial Aspects of Construction of Competition Dutch Professional Football Leagues. Discrete Applied Mathematics 35: 301-312.

    Google Scholar 

  • Selim, S. M. (1983). An Algorithm for Producing Course and Lecture Timetables. Computers & Education 7: 101-108.

    Google Scholar 

  • 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 

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

  • Shin, W. & Sullivan, J. A. (1977). Dynamic Course Scheduling for College Faculty Via Zero-One Programming. Decision Science 8: 711-721.

    Google Scholar 

  • Shmoys, D. B., Stein, C. & Wein, J. (1991). Improved Approximation Algorithms for Shop Scheduling Problems. In Proc. of the Symposium on Discrete Algorithms.

  • 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 

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

  • 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 

  • Tripathy, A. (1984). School Timetabling — a Case in Large Binary Integer Linear Programming. Management Science 30(12): 1473-1489.

    Google Scholar 

  • Tripathy, A. (1992). Computerised Decision Aid for Timetabling — a Case Analysis. Discrete Applied Mathematics 35(3): 313-323.

    Google Scholar 

  • Van Hentenryck, P. (1991). The CLP Language CHIP: Constraint Solving and Applications. In COMPCON-91, San Francisco, CA.

  • van Laarhoven, P. J. M. & Aarts, E. H. L. (1987). Simulated Annealing: Theory and Applications. D. Reidel Publishing Company, Kluwer Academic Publishers Group.

  • Vincke, P. (1984). Timetabling in Belgium: A Survey. In TIMS XXVI. Copenhagen.

  • Weare, R. (1995). Unpublished Manuscript. Nottingham University, UK.

  • 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 

  • Wong, K. H. & Ng, W. Y. (1990). An Interactive Timetabling Support System. In Int. Conf. in System Management, 307-313, Hong Kong.

  • Yoshikawa, M., Kaneko, K., Yamanouchi, T. & Watanabe, M. (1996). A Constraint-Based High School Scheduling System. IEEE Expert 11(1): 63-72.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Schaerf, A. A Survey of Automated Timetabling. Artificial Intelligence Review 13, 87–127 (1999). https://doi.org/10.1023/A:1006576209967

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1006576209967

Navigation