This repository contains solution of schedule optimization problem prepared for operational research classes.
There are 2 input files which could be created by collecting the data through the Google Forms.
- The first one stores information about gym users classes types preferences,
- The second one stores informatio about instructors skills.
First we have implemented Simulated Annealing (https://en.wikipedia.org/wiki/Simulated_annealing) algorithm to optimize the classes organized on the gym such as the profit gained by the gym is maximum.
Then we have created the application which let's choosing the optimization algorithm parameters and input files. We implemented the back-end and front-end of this application using Kivy library.
This is the snipped of app's main menu:
You can choose the algorithm parameters:
Check the optimization progress:
And see the algorithm overview:
And see the result schedule in a nice shape:
If you want to get the details of the class you can just click on a time slot of your interest:
If you want to learn more about our app feel free to download the code, in requirements.txt you can find all the needed libraries to run the code.
There are a few thing which could be improved like handling the exception when there are too few timeslots for a given number of participants (e.g. force a user to choose larger number of classrooms).