Timetable scheduling is a complicated and resource-intensive task. Even the most basic timetables like timetables for educational institutions generate huge amounts of data and require huge amounts of processing power to tackle. Thus, most institutions use manual labour for scheduling timetables taking into consideration the time, cost and price constraints. The proposed solution aims to tackle these problems in all three domains. The solution thus proposed is titled ‘Project Almanac’. Project Almanac was initiated with three main outcomes in mind.
The main problem at the heart of our project was to enhance the process of timetable scheduling, particularly in the context of a university environment. Timetable scheduling is a complex task that involves juggling multiple constraints, preferences, and resources. In the university setting, it becomes even more intricate due to the diverse requirements of students, faculty members, and available facilities. Our goal was to find an optimized solution that could efficiently allocate classes, lectures, and other academic activities while considering factors such as lecturer availability, room capacities, and students' preferences. The problem encompassed finding the most suitable balance between meeting academic requirements and ensuring a satisfying experience for all stakeholders involved.
Project Almanac, we aimed to create a solution that simplifies this process and results in a well-optimized timetable that benefits both educators and learners.
We are approaching timetable scheduling by developing a solution called Project Almanac. This project incorporates advanced technologies such as Cluster Computing, High-Performance Computing (HPC), Artificial Intelligence (AI), and Machine Learning (ML) to automate and optimize the scheduling process. By leveraging HPC, we are able to handle large amounts of data and perform complex calculations quickly and parallelly in a cluster, resulting in faster and more efficient timetable generation. The AI and ML components analyze patterns and preferences to generate timetables that meet the requirements of the institution. The software architecture of Project Almanac includes different modules that work together seamlessly to create and optimize timetables. Through this approach, we aim to revolutionize timetable scheduling, making it more accurate, time-saving, and adaptable to various domains and industries.
The software architecture of Project Almanac comprises three pivotal elements - the Almanac AI program, the Almanac Host program, and the Almanac Porthole program. Developed within a Python environment, the Almanac AI program plays a central role in the cluster environment. Responsible for decision-making in timetable generation and optimization, it efficiently allocates the computation load across cluster nodes. The Almanac Host program, developed in C#, serves as a vital interface. It orchestrates data flow between the porthole, AI program, and database. The Almanac Porthole, with its graphical user interface, empowers clients to input data, view timetables, and facilitates data transfer for processing.
Project Almanac is powered by a robust hardware setup, boasting a Beowulf cluster. Consisting of three slave nodes equipped with MPI capabilities and a designated node for a Python-based artificial neural network, these nodes are interlinked through a router. This hardware architecture facilitates parallel processing, distributing workloads efficiently among cluster nodes, culminating in enhanced performance and accelerated processing times. Additionally, the use of MPI technology elevates parallelization, while the artificial neural network contributes to bolstering scheduling accuracy. This synergy of hardware components showcases the potency of our project's computational foundation.
Project Almanac's hardware, a Beowulf cluster with MPI-enabled nodes, enables parallel processing, while its software components, the Almanac AI program, Host program, and Porthole interface, deliver optimized scheduling. This integration marks a pivotal advancement in timetable management, enhancing efficiency and accuracy in a unified approach.