Personnel rostering: models and algorithms for scheduling, rescheduling and ensuring robustness
Personnel rostering is the process of assigning employees to shifts while respecting a set of constraints. Despite progress in recent decades concerning computation techniques, a considerable number of organizations continue to organize their rosters manually. This thesis seeks to bridge the gap between academia and practice by (i) introducing an integer programming model based on a real-world demand and a matheuristic to quickly generate results, (ii) producing state-of-the-art results for cyclic rostering problems using instances available in the literature, (iii) designing new rerostering strategies for repairing disruptions in multi-skilled rostering scenarios, and (iv) introducing a metric for quantifying and enforcing robustness in rosters. Besides the scientific contributions resulted from the thesis, this work is also relevant in practice. Since April of 2019, Hospital de Clínicas de Porto Alegre employs this PhD's outcome, named ProScheduleSolver to compute its physicians' rosters. The automation takes a few minutes, as opposed to multiple hours in the past, and results in 24,7\% less overtime for the physicians.