Skip to main content

University Timetable Solver

An intelligent scheduling system developed as my final thesis project that tackles the notoriously complex Curriculum-Based Course Timetabling problem using Answer-Set Programming.

Final Thesis Project & Developer

Project Highlights

100%
Serverless
AWS Architecture
ASP
Constraint Solving
Answer-Set Programming
Open
Source Algorithm
Research Contribution
University Timetable Solver Interface

About The Project

The platform combines a powerful constraint-solving engine using Answer-Set Programming (ASP) with Clingo, wrapped in a user-friendly React interface. This tackles the notoriously complex Curriculum-Based Course Timetabling problem, a well-known NP-complete challenge in computer science.

Architected as a fully serverless solution on AWS using Lambda, DynamoDB, and S3, the system handles intricate university scheduling constraints from room capacities and teacher availability to course prerequisites and student preferences.

Core Capabilities

  • Automated timetable generation using constraint solving
  • Room capacity and availability management
  • Teacher scheduling and conflict resolution
  • Course prerequisites and dependencies handling
  • Student preferences and constraints optimization

Technical Features

  • Serverless architecture for scalability
  • Answer-Set Programming engine (Clingo)
  • Modern React-based user interface
  • Real-time constraint validation
  • Export and integration capabilities

Technology Stack

Technologies

  • Solver Engine: Python, Clingo (ASP)
  • Frontend: React, JavaScript
  • Backend: Python, AWS Lambda
  • Database: DynamoDB
  • Infrastructure: AWS (Lambda, S3, DynamoDB)

Problem Domain

NP-Complete Constraint Satisfaction Optimization Academic Research

Platform Demonstrations

Academic Contribution

This project served as my final thesis (TFG - Trabajo de Fin de Grado) at the University of Santiago de Compostela, exploring the practical application of Answer-Set Programming to real-world scheduling challenges.

The solving algorithm is open-source, contributing to academic research in automated scheduling and constraint satisfaction problems. The serverless architecture demonstrates how modern cloud technologies can be leveraged to solve computationally intensive problems efficiently.

By making the algorithm publicly available, this project supports further research and development in the field of automated timetabling systems.