The goal of this work is to create a program, which helps establishing work-schedules in corporate environment with an algorithmic method. The essay includes a general introduction into work-scheduling, legal side, and based on the aforementioned knowledge the creation of a capable software, which apart from minor user interactions carries out the task of paring employees and work shifts independently.
The input information is fed into the software from various database tables, which contain the exact duration of each zone to be processed, which usually mean 5 business or 7 calander days, just as the employees and work shifts affected. Based on this input data the software carries out a finite-step long refinement, which establishes the work-schedule with availability and legal terms in mind. The basis of the algorithm is given by the principle of genetic algorithms, which approach the problem as a creation of entity generations with their best properties carried over over time.
The software gives two ways to evaluate the results. Firstly the most significant information is displayed to the user on-the-fly, secondly all information gets written to the output file, thirdly after the input data has succesfully been processed, the program initiates a data-visualization in order to give a better view of the results. The data-visualization displays the parings, work shifts and employees as edges and vertices of a bi-graph, of which look can be customized through various options.
The software was mostly written in C/C++ with addons for data-visualization written in OpenGL.