LUNCH: an Answer Set Programming System for Course Scheduling - Lima, Ana Y. F. de; de Sousa, Briza M. D.; Cardeal, Daniel P.; Sato, Jessica Y. N.; Salvador, Lorenzo B.; Geh, Renato L.; Bazaluk, Bruna (Anais do Encontro Nacional de Inteligência Artificial e Computacional (ENIAC); 2023: Anais do XX Encontro Nacional de Inteligência Artificial e Computacional, 2023)
Timetable scheduling is a known NP-hard problem; despite this, there have been many efforts to enable fast and efficient algorithms and heuristics for such a challenging task. Within the realm of timetable scheduling lies the particularly complex problem of Course Scheduling (CS). The goal in CS is to find an optimal timetable configuration of courses within the constraints set by faculty, course requirements and departmental functions. Answer Set Programming (ASP) is a declarative logic programming paradigm for solving combinatorial search tasks; instead of explicitly writing the solution to the problem, ASP programs define the problem’s constraints and knowledge in a high-level language, leaving the model search to a highly optimized solver. In this work, we construct and showcase LUNCH, an easily extensible, free and open-source system for course scheduling. Notably, we study the use of ASP for course scheduling within the specific context of the Computer Science Department at the University of São Paulo, showing how LUNCH fares against the manual scheduling done in previous years.