  Generating schedules for shift workers is essential for many employers,
whether the employer is a small or a large industrial complex, research
laboratory, or other businesses involving shift works.
  Previous methods for creating rotational workforce schedules included
interactions between the schedule maker and the algorithm, including defining
the length of sequences of consecutive days of working shifts.
  In this method, an algorithm takes into account inputs (or constraints) from
the schedule maker and then presents the possible solutions (incl. that all
shifts must be filled, working hours per week, minimal resting time, etc.) in a
first phase. The schedule maker can then select which solutions are most
feasible to proceed with in the second phase, where the final schedules are
then constructed and exported.
