Affiliations: [a] Department of Mathematics and Computer Science, University of Calabria, Arcavacata di Rende (CS), Italia | [b] Department of Informatics, Bioengineering, Robotics and Systems Engineering, University of Genova, Genova (GE), Italia
Corresponding author: Carmine Dodaro, Department of Informatics, Bioengineering, Robotics and Systems Engineering, University of Genova, Viale F. Causa 15, 16145, Genova (GE), Italia. E-mail: [email protected].
Note:  This paper includes parts and significantly extends our previous work .
Abstract: The goal of the Nurse Scheduling Problem is to find an assignment of nurses to shifts according to specific requirements. Frequently, a computed schedule may become not usable because of sudden absences of some nurses. In this cases, Nurse Rescheduling amounts to the computation of a new schedule, which has to satisfy the original requirements and the new absences. Additionally, a good solution to the Nurse Rescheduling Problem must be as similar as possible to the original schedule, which practically means that the number of changes has to be minimized. This paper focuses on the requirements specified by an Italian hospital, and recently addressed by an approach based on Answer Set Programming (ASP). Even if promising results have been obtained with ASP, the original encoding presents some intrinsic weaknesses, which are identified and eventually circumvented in this paper. The new encoding is designed by taking into account both intrinsic properties of Nurse Scheduling and internal details of ASP solvers, such as cardinality and weight constraint propagators. The performance gain of clingo and wasp is empirically verified on instances from ASP literature. As an additional contribution, the performance of clingo and wasp is compared to other declarative frameworks, namely SAT and ILP; the best performance is obtained by clingo running the new ASP encoding. The advanced ASP encodings are then extended to solve Nurse Rescheduling, and an empirical evaluation is conducted with clingo and wasp.