-
Notifications
You must be signed in to change notification settings - Fork 2
Home
This repo is for Company 4's Algorithm 1 subteam for the SENG 499 Summer 2022 Capstone project. Algorithm 1 equips the scheduling generation feature for the Scheduling System. For a complete overview of the project, refer to the Company 4 Documentation Repo.
The algorithm schedules courses to professors and timeslots, while maintaining the validity of the schedule (e.g. no professors scheduled for more than one course for a given timeslot). The algorithm aims to generate an optimal schedule given a list of courses, professors, and their preferences and availability. Reinforcement learning is used to optimize assignments with respect to professor preferences, availability, and other constraints.
The algorithm uses reinforcement learning to solve this problem by representing the problem space as a tensor (multi-dimensional matrix) with each dimension representing a particular component of the assignment.
The Algorithm schedule generation is hosted on a FastAPI server that is used to receive requests for schedule generation. Requests adhere to the API specification agreed between Company 3 and 4. R
The Algorithm Schedule Generation is also containerized using docker and deployed with Heroku in order to connect with the other subteams of Company 4 and Company 3.