College Timetable Generation Using Graph Neural Networks and Reinforcement Learning

Authors

  • Ghazala Khan
  • Swapnil Sonawane

Keywords:

Academic Timetable Generation, Graph Neural Networks, Constraint Satisfaction, OR-Tools, Automated Scheduling, Multi-Department Timetabling, Faculty Preferences, Artificial Intelligence, Optimization

Abstract

Automating academic timetable scheduling is a complex and resource-intensive challenge faced by many multi-department educational institutions. This paper presents a hybrid web-based timetable generation system Graph Neural Networks (GNN), and Google OR-Tools to efficiently create optimized, conflict-free timetables for undergraduate engineering programs. The system supports multiple departments, years, and faculty constraints such as availability preferences, designation priorities, and subject difficulty. Using a PHP-MySQL frontend coupled with a Python backend, the platform enables real-time data management and iterative schedule refinement. Experimental evaluation demonstrates that the system produces high-quality timetables within minutes, strictly enforces hard constraints (no double-booking, lunch breaks, practical sessions), and accommodates soft preferences effectively. Finally, a Proximal Policy Optimization–based Reinforcement Learning (RL) agent performs a brief local “polishing” pass on the CP-SAT output to further reduce soft-constraint penalties via learned slot-level adjustments. The modular architecture ensures scalability and extensibility for future academic planning needs. This work contributes a practical AI-augmented solution for improving institutional scheduling efficiency and quality.

Downloads

Published

2025-06-28

How to Cite

Ghazala Khan, & Swapnil Sonawane. (2025). College Timetable Generation Using Graph Neural Networks and Reinforcement Learning. Utilitas Mathematica, 122(Special Issue-1), 889–898. Retrieved from https://utilitasmathematica.com/index.php/Index/article/view/2381

Citation Check

Most read articles by the same author(s)

Obs.: This plugin requires at least one statistics/report plugin to be enabled. If your statistics plugins provide more than one metric then please also select a main metric on the admin's site settings page and/or on the journal manager's settings pages.