Lopes, Manuel Joaquim PereiraMarrão, Inês Manuela Afonso2023-11-272023-11-272023-10-20http://hdl.handle.net/10400.22/23975This work presents the development of an algorithm to support the process of creating academic timetables, specifically aimed at solving the University Course Timetabling Problem. To date, this problem is solved manually in Instituto Superior de Engenharia do Porto, where professors and engineers face the complex task of creating timetables based on schedules from previous years. The proposed solution aimed to support the process of creating timetables at ISEP, reducing the time and human resources required for this task. The developed algorithm uses an integer programming approach and can consider a variety of constraints and preferences of both faculty and students. It was designed to adapt and optimize the timetable creation process as needs evolve, ensuring future demands can be easily accommodated. The algorithm implementation was based on the Python programming language and the Pyomo library, offering a flexible and efficient approach to optimizing resource allocation. Additionally, the system is designed to import data from real-world sources, simplifying the integration of crucial information. The result assigned all the 128 one-hour classes among the week, presenting the faculty member, the classroom assigned and the type of class according to each course. This research presents feasible solutions that need improvement on the demanding conditions and restrictions imposed by ISEP. The computational results obtained offered a significantly decrease in the time resource used, compared to the manual work previously done.engTIMETABLINGINTEGER PROGRAMMINGUNIVERSITY COURSE TIMETABLING PROBLEMDEM Timetabling Project ? Development/implementation of an algorithm to support the creation of timetablesmaster thesis203380568