Work schedules influence the lives of each of us. On the one hand an unsuitable timetable can have a tremendous negative impact on one's health, social life, and motivation at work. On the other hand, organizations in the commercial and public sector must meet their workforce requirements and ensure the quality of their services and operations. Therefore, the task of finding appropriate staff schedules is of great importance for society. However, this is a tremendously complex task due to the huge number of constraints that have to be fulfilled (e.g. labor rules, individual employee preferences, and requirements of companies) and the enormous search space of possible solutions. Such complex problems appear especially in companies where the required number of employees throughout the time periods fluctuates, which operate 24 hours per day, and deal with critical tasks (e.g., air traffic control, personnel working in emergency services, call centers, etc.).
Traditionally, the general employee scheduling problems have been solved in separated phases which include several sub-problems, each of which are NP-hard (e.g., shift scheduling, break scheduling, workforce scheduling, etc.). Such an approach reduces the complexity for solving the problem, but requires the use of a human expert. Furthermore, the sub-problems are strongly interleaved between each other, and solutions which are optimal overall can not be guaranteed due to the early decisions made in the sub-problem solutions. One of the main open challenging questions in general employee scheduling is: Can we fully automate the general employee scheduling problem and obtain high quality solutions without the help of human expert?