Timetable scheduling program.
project was made: 04/2023
This project was created to automate lengthy process which is time scheduling. The problem is inspired by a restaurant timetable creation problem, where elements to be schedule are real people, with different limitations such as availability, contracted hours, employee skill level or how many consecutive days someone is set to work. The program is constructed in three parts, genetic algorithm implementation, genome evaluation and genome realization in to timetable. This program also tries to find the best solution considering item placement requirements such as availability, required allocation amount and few other caveats.

Here are the datails of each worker, those details are prefered amount of days to work through out the week, position preference, availability, contracted hours, and skill level.
The project was coded from scratch using python, research and design was solely done by me. I chose genetic algorithm because it was suitable algorithm to solve an issue that does not have a perfect solution. Since scheduling is problem with a solution space, a genetic algorithm was used to explore the solution space.
This program produces a time schedule with high accuracy considering the purposes and limitations. In the program there is an embedded timetable that was taken from real life example. The results show that the program generated timetable has similar if not higher score of accuracy compared to the real-life example, while doing it in few minutes, while if it was done by a person it takes 5+ hours.


The score from test week (real life example) and program generated week.

Outputed generated week result. It is divided by days that contain roles. Numbers are the workers and the '0' are empty timeslots. The realization of the week is made with a week template that a restaurant would have, hence a lot of empty slots.