Efficient generation of rotating workforce schedules
<|reference_start|>Efficient generation of rotating workforce schedules: Generating high-quality schedules for a rotating workforce is a critical task in all settings where a certain staffing level must be guaranteed beyond the capacity of single employees, such as for instance in industrial plants, hospitals, or airline companies. Results from ergonomics \cite{BEST91} indicate that rotating workforce schedules have a profound impact on the health and social life of employees as well as on their performance at work. Moreover, rotating workforce schedules must satisfy legal requirements and should also meet the objectives of the employing organization. We describe our solution to this problem. A basic design decision was to aim at quickly obtaining high-quality schedules for realistically sized problems while maintaining human control. The interaction between the decision maker and the algorithm therefore consists in four steps: (1) choosing a set of lengths of work blocks (a work block is a sequence of consecutive days of work shifts), (2) choosing a particular sequence of work and days-off blocks among those that have optimal weekend characteristics, (3) enumerating possible shift sequences for the chosen work blocks subject to shift change constraints and bounds on sequences of shifts, and (4) assignment of shift sequences to work blocks while fulfilling the staffing requirements. The combination of constraint satisfaction and problem-oriented intelligent backtracking algorithms in each of the four steps allows to find good solutions for real-world problems in acceptable time. Computational results from real-world problems and from benchmark examples found in the literature confirm the viability of our approach. The algorithms are now part of a commercial shift scheduling software package.<|reference_end|>
@article{musliu2000efficient,
    title={Efficient generation of rotating workforce schedules},
    author={Nysret Musliu, Johannes Gaertner, Wolfgang Slany},
    journal={arXiv preprint arXiv:cs/0002018},
    year={2000},
    number={dbai-tr-2000-35},
    archivePrefix={arXiv},
    eprint={cs/0002018},
    primaryClass={cs.OH}
}