<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Cyclic Nurse Scheduling with ASP: Two Case Studies from Cosenza Hospitals</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>CarmineDodaro</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>MarcoMarate</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>aand NicolaRamacciat</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Workshop</string-name>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>Logic Programming, Healthcare, Answer Set Programming, Nurse Scheduling Problem</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dipartimento di Farmacia e Scienze della Salute e della Nutrizione, Università della Calabria</institution>
          ,
          <addr-line>Via P. Bucci, 87036, Rende, CS</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Dipartimento di Matematica e Informatica, Università della Calabria</institution>
          ,
          <addr-line>Via P. Bucci, 87036, Rende, CS</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Ospedale Mariano Santo, Contrada da Muoio Piccolo</institution>
          ,
          <addr-line>87100, Cosenza, CS</addr-line>
        </aff>
      </contrib-group>
      <fpage>0000</fpage>
      <lpage>0002</lpage>
      <abstract>
        <p>The Nurse Scheduling Problem (NSP) is a well-known combinatorial optimization problem with significant practical implications in healthcare workforce management. In this paper, we investigate the use of Answer Set Programming (ASP) to model and solve realistic nurse scheduling scenarios in two Italian healthcare institutions: the Mariano Santo and the Annunziata hospitals. We design ASP encodings capable of handling both general and institution-specific constraints, including shift coverage requirements, rotation rules, and personal unavailability. We analyze the impact of solver configurations and optimization strategies, comparing the perfocrlminagnoce of andwasp across multiple solving modes. Our experimental results show that unsatisfiable core-based strategies are able to find optimal solutions for the tested instances within a few seconds.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>(N. Ramacciati)</p>
      <p>CEUR</p>
      <p>ceur-ws.org
by the high number of its applications in both academic and industrial c7o,n8t,e9,xt10s,[11]. Its
ability to represent non-monotonic reasoning and to express hard and soft constraints in a natural
and compact form makes it a powerful tool for addressing scheduling and planning p12r]o.blems [
Indeed, ASP has already been successfully applied to various problems in the healthcar1e3d,1o4m]a,in [
including the NSP itself, although in previous works the focus has been on diferent types of constraints
compared to those addressed in this stu15d,y1[6].</p>
      <p>As for the NSP variants considered in this paper, they were defined by two diferent hospital
departments in the city of Cosenza, Italy. The first department belongs to the Mariano Santo Hospital,
while the second is part of the Annunziata Hospital. Although the two departments present similar
scheduling requirements from a general point of view, there are several diferences in the specific rules
and organizational needs that must be respected. In both cases, the objective is to generate cyclic
schedules, that is, schedules based on a repeating sequence of working days and rest days, in order to
ensure a balanced distribution of shifts over time. However, the internal policies of the two departments
difer, and therefore require separate modeling strategies.</p>
      <p>The proposed ASP encodings allow us to generate complete monthly schedules that satisfy all the
required constraints, both common and department-specific. Thanks to the eficiency of modern ASP
solvers, specificallyclingo [17] andwasp [18], we are able to obtain (optimal) solutions in a few seconds.
This confirms the applicability of ASP as a viable approach for supporting nurse scheduling in real
healthcare contexts, where flexibility and customizability are essential.</p>
      <p>To summarize, the contribution of this work is twofold. First, we provide two concrete case studies
of the NSP arising in real-world contexts. Second, we show how ASP can be used to formalize and solve
them within a few seconds.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Nurse Scheduling Problem (NSP)</title>
      <p>The NSP consists of assigning nurses to shifts over a predetermined period of time. In this section, we
describe the NSP as it arises in the two hospital departments considered in our study: one from Mariano
Santo Hospital and the other from Annunziata Hospital, both located in Cosenza, Italy. While the
general structure of the scheduling problem is similar in both cases, each department presents specific
operational needs and organizational constraints that must be taken into account when generatin
feasible and acceptable schedules.</p>
      <p>We begin by outlining a set of general rules and requirements that are common to both hospitals. These
include the definition of shift types, national labor regulations, and standard contractual obligations
that apply uniformly to the nursing staf. Then, we introduce the specific rules associated with each
department.</p>
      <sec id="sec-2-1">
        <title>2.1. General Rules</title>
        <p>The scheduling model is based on a set of predefined shifts, each with specific time intervals and
durations. The available shifts include: morning (08:00–14:00, 6 hours), afternoon (14:00–20:00, 6 hours),
night (20:00–00:00, 4 hours), and post-night (00:00–08:00, 8 hours). The night and post-night shifts are
always considered as a combined duty period, representing a full night shift of 12 consecutive hours.</p>
        <p>The schedule must comply with several temporal and contractual constraints. A minimum rest period
of 11 hours is required between the end of one shift and the start of the next. The maximum number
of working hours allowed per day is 13. In some cases, a nurse may be assigned both morning and
afternoon shifts on the same day, which is referred to alsonag call. On a weekly basis, nurses are
expected to work approximately 36 hours, a target that is monitored and enforced over the course of
the entire month rather than weekly.</p>
        <p>Each nurse is entitled to 32 vacation days per year (30 in certain cases), with two weeks selected
by the administration and two weeks chosen by the employee. These vacation periods are commonly
managed in two-week blocks, known as quindicine.</p>
        <p>As a general principle, a balanced shift rotation is encouraged, typically following the sequence:
morning→ afternoon → night→ post-night→ rest. In any case, achieving an even distribution of
diferent shift types across the staf is considered beneficial. Regarding night shifts, a maximum of two
consecutive nights is allowed, although the preferred pattern is one night followed by a rest day.</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Mariano Santo</title>
        <p>Operational constraints also stem from the organizational structure of the hospital. The outpatient un
operates, during both morning and afternoon, Monday through Friday and remains closed on holidays,
while the inpatient department (or ward) is open 24 hours a day, seven days a week. Some nurses
are permanently assigned to specific units due to personal or medical reasons. Others are restricted
from working in the inpatient department and can only be assigned to outpatient duties. There are
also nurses who are exempt from night shifts, while a portion of the staf is fully flexible and can be
scheduled in both units without restrictions.</p>
        <p>Each unit has specific requirements concerning stafing levels. The baseline configuration assumes
one nurse per shift in the inpatient department (morning, afternoon, and night), and a minimum of seven
nurses in the outpatient unit during the morning shift, and two during the afternoon. Additionally, each
day two nurses are assigned to an “of-shift” status (not to be confused with rest days) meaning they
are available as reserve staf to cover any unforeseen needs. These of-shift assignments are scheduled
either for the entire month or on a weekly basis, depending on planning requirements.</p>
      </sec>
      <sec id="sec-2-3">
        <title>2.3. Annunziata</title>
        <p>The considered department at Annunziata Hospital is an inpatient unit that operates continuously, 24
hours a day, 7 days a week. The scheduling model for this unit is relatively regular, as it involves only
the ward, with no outpatient services. Each shift requires the presence of two nurses, which must be
ensured for every shift throughout the month.</p>
        <p>From a constraint perspective, this scenario does not introduce significant complexity beyond the
general rules previously described. However, a particular requirement concerns one of the nurses,
who is married to another nurse working in a diferent department of the same hospital. According to
national regulations, spouses employed within the same institution must not be assigned to the same
shift or to consecutive shifts on the same day. For instance, if the spouse is assigned to the morning
shift, the nurse in question cannot be assigned to the afternoon shift; instead, they must either be on
rest or scheduled for the night shift.</p>
        <p>An exception to this rule has been agreed upon by the individuals involved and is respected by both
departments: both nurses must work the same night shift. This exception simplifies coordination in
those cases, but the constraint remains valid for all other shifts. Since this constraint afects two distinct
departments, the heads of the respective units coordinate closely to ensure compliance. Typically, the
responsibility for adapting the schedule to accommodate this rule alternates monthly between the two
departments: one month the schedule is adjusted by the manager of one department, and the next
month by the other.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. ASP Solution</title>
      <p>In this section, we present the ASP encodings developed to model the nurse scheduling problems for
the two case studies considered in this work. The first concerns the Mariano Santo rehabilitation clinic,
while the second focuses on the Annunziata hospital. The ASP model for the Mariano Santo clinic is
introduced in Sectio3.n1, while the encoding for the Annunziata hospital is discussed in3S.2e.cItnion
the following, we assume the reader to be familiar with ASP syntax and se6m, a19n]t. ics [</p>
      <sec id="sec-3-1">
        <title>3.1. Mariano Santo</title>
        <p>The ASP model for the Mariano Santo clinic is divided into two parts. In3.S1e.1c,twioendescribe the
data model used to represent the structure of the problem, including nurses and shi3fts.1S.2ection
then presents the ASP encoding that formalizes the scheduling logic and optimization criteria, based on
the defined data schema.</p>
        <sec id="sec-3-1-1">
          <title>3.1.1. Data Model</title>
          <p>The encoding uses several key predicates to model the nurse scheduling domain:
• shift(ID, TYPE, HOURS) defines a shift identified by ID, with typeTYPE (e.g., morning,
afternoon, etc.) and associated wHitOhURS working hours.
• day(D) defines the days of the month under consideration.
• clinic_open(WEEK, DAY) indicates that the clinic is open during a WgEivEeKnon specified DAY.
• nurse(ID) defines the set of nurses involved in the scheduling.
• nurse_rotation(NURSE_ID, ORDER, SHIFT_ID) encodes the predefined cyclic rotation for
certain nurses, mapping their rotation order to specific shifts.
• rotation_length(N) defines the length of the rotation cycle.
• clinic_only(ID) indicates nurses who can only be assigned to outpatient (clinic) duties.
• reserve(ID) marks nurses who are on reserve and used to fill schedule gaps as needed.
• staff_per_shift(SHIFT_ID, N) specifies the required number of personnel for a shift type
within the outpatient unit.
• clinic_shifts(ID, TYPE, HOURS) includes the clinic-compatible shifts (excluding night and
postnight), with an additional “long” shift type.
• assign(NURSE, DAY, SHIFT, ORDER) models the assignment of a nurse to a specific shift on a
given day, according to their position in the cyclic rotation.
• result(NURSE, DAY, SHIFT) is the output predicate, collecting the assignments made for the
ifnal schedule.</p>
          <p>
            The following is the set of input facts provided to the problem.
shift(1, morning, 6). shift(2, afternoon, 6). shift(3, night, 4).
shift(4, postnight, 8). shift(5, vacation, 0). shift(6, rest, 0).
day(1..30). nurse(1..14). reserve(13..14). clinic_only(6..14).
clinic_open(1,1..4). clinic_open(2,7..11). clinic_open(3,14..18).
clinic_open(4,22..24). clinic_open(5,28..30). rotation_length(
            <xref ref-type="bibr" rid="ref5">5</xref>
            ).
nurse_rotation(
            <xref ref-type="bibr" rid="ref1 ref1">1, 0, 1</xref>
            ). nurse_rotation(
            <xref ref-type="bibr" rid="ref1 ref2 ref2">2, 1, 2</xref>
            ). nurse_rotation(
            <xref ref-type="bibr" rid="ref2 ref3 ref3">3, 2, 3</xref>
            ).
nurse_rotation(
            <xref ref-type="bibr" rid="ref3 ref4 ref4">4, 3, 4</xref>
            ). nurse_rotation(
            <xref ref-type="bibr" rid="ref4 ref5 ref6">5, 4, 6</xref>
            ).
staff_per_shift(
            <xref ref-type="bibr" rid="ref1 ref7">1, 7</xref>
            ). staff_per_shift(
            <xref ref-type="bibr" rid="ref2 ref2">2, 2</xref>
            ).
          </p>
          <p>An example of the computed schedule is reported in Fi1g,uwrheereM, A, N, AN, V, R, L stand for
morning, afternoon, night, postnight, vacation, rest, andlong, respectively.</p>
        </sec>
        <sec id="sec-3-1-2">
          <title>3.1.2. ASP Encoding</title>
          <p>In the following, we describe the meaning of each rule of the ASP encoding reported2,iunsFiniggure
the notatio nto refer to the rule appearing a tilnintehe logic program.</p>
          <p>Rule 1 initializes the rotation-based schedule for each nurse. Specifically, for aXn,ytnhuisrrsuele
assigns them to the shSift that corresponds to their posiOtriodnin the predefined cyclic rotation. This
assignment is made for the first day of the planning period.</p>
          <p>Rule 2 extends the cyclic schedule over the rest of the planning horizon. Given thXatwasnurse
assigned to shiftS with ordeOrrd on dayD, the rule computes the next orOdredr2 (modulo the rotation
lengthZ) and assigns the corresponding shNSift on the following dDa+y1.
1 assign(X,1,S,Ord) :- nurse(X), nurse_rotation(X,Ord,S).
2 assign(X,D+1,NS,Ord2) :- assign(X,D,S,Ord), Ord2 = (Ord+1)\Z, rotation_length(Z),</p>
          <p>nurse_rotation(_,Ord2,NS), day(D+1).
3 clinic_shifts(X, N, H) :- shift(X, N, H), X != 3, X != 4.
4 clinic_shifts(7, long, 12).
5 {assign(X,D,S) : clinic_shifts(S,_,_)} = 1 :- clinic_only(X), clinic_open(_,D).
6 :- #count{X: assign(X,D,S); X: assign(X,D,7)} != N, clinic_open(_,D), staff_per_shift(S,</p>
          <p>N).
7 :- clinic_only(X), not reserve(X), clinic_open(W,_), #sum{H,D: assign(X,D,S),</p>
          <p>clinic_open(W,D), clinic_shifts(S,_,H)} &gt; 36.
8 :∼ reserve(N), day(D), not assign(N,D,5). [1@1,D,X]
9 result(X,D,N) :- assign(X,D,SID,_), shift(SID,N,_).
10 result(X,D,N) :- assign(X,D,SID), shift(SID,N,_).
11 #show result/3.</p>
          <p>Rule 3 defines which shifts are considered valid for outpatient (clinic-only) nurses. Specifically, it
excludes nightX (= 3) and postnightX (= 4) shifts from this category.</p>
          <p>Rule 4 introduces a synthetic “long shift” of 12 hours, identifiedIDby7 and labeled alsong, which
is also available to outpatient-only nurses. This shift models a combined morning and afternoon shift.</p>
          <p>Rule 5 states that, for each clinic-only nX,uerxsaectly one clinic-compatible shift must be assigned
on each dayD when the clinic is open.</p>
          <p>Rule 6 enforces that, for each clinic-openD,dtahye number of assigned nurses (counting both normal
and long shifts) must exactly match the required numNbseprecified for shift type T. This is a global
cardinality constraint for staf coverage.</p>
          <p>Rule 7 limits the total number of hours worked by non-reserve outpatient-only nurses in each open
clinic weekW. The rule ensures that the sum of the duraHtioofnasssigned shifts does not exceed
36 hours. Note that this requirement is automatically enforced for nurses assigned to the inpatient
department, due to the use of cyclic rotation. Moreover, for nurses on reserve, this constraint is relaxed,
as they are deployed to fill stafing gaps as needed. However, in practice, it is unlikely that they will
exceed the allowed number of working hours.</p>
          <p>Rule 8 is a weak constraint that penalizes the use of reserve nurses for any shift other than vacation
(shift 5). The solver attempts to minimize such occurrences, preferring solutions where reserves are
used only when strictly necessary.</p>
          <p>Rule 9 and rul e10 are used to project the final output of the program. They collect all assignments,
whether produced by the rotation-based logic or not, under the atoms ofretshueltfo(⋅,r⋅m,⋅).</p>
          <p>Finally, the directive at line 11 instructs the ASP solver to displayroesnullyttahteoms in the
output, which represent the final schedule.</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Annunziata</title>
        <p>Concerning the Annunziata hospital, the data model is similar of the one for the Mariano Santo Hospital,
but we consider the additional atoms of theunfaovramilable(N,D,S), meaning that the nurNse
cannot be assigned to the shSidfturing the daDy. The following is a set of the input facts provided to
the problem.</p>
        <p>
          shift(1, morning, 6). shift(2, afternoon, 6). shift(3, night, 4).
shift(4, post-night, 8). shift(5, vacation, 0). shift(6, rest, 0).
day(1..30). nurse(1..12). reserve(11..12). cycle_length(
          <xref ref-type="bibr" rid="ref5">5</xref>
          ).
week(1,1..6). week(2,7..13). week(3,14..20). week(4,21..27). week(5,28..30).
nurse_rotation(
          <xref ref-type="bibr" rid="ref1 ref1">1, 0, 1</xref>
          ). nurse_rotation(
          <xref ref-type="bibr" rid="ref1 ref2 ref2">2, 1, 2</xref>
          ). nurse_rotation(
          <xref ref-type="bibr" rid="ref2 ref3 ref3">3, 2, 3</xref>
          ).
nurse_rotation(
          <xref ref-type="bibr" rid="ref3 ref4 ref4">4, 3, 4</xref>
          ). nurse_rotation(
          <xref ref-type="bibr" rid="ref4 ref5 ref6">5, 4, 6</xref>
          ).
nurse_rotation(
          <xref ref-type="bibr" rid="ref1 ref6">6, 0, 1</xref>
          ). nurse_rotation(
          <xref ref-type="bibr" rid="ref1 ref2 ref7">7, 1, 2</xref>
          ). nurse_rotation(
          <xref ref-type="bibr" rid="ref2 ref3 ref8">8, 2, 3</xref>
          ).
nurse_rotation(
          <xref ref-type="bibr" rid="ref3 ref4 ref9">9, 3, 4</xref>
          ). nurse_rotation(
          <xref ref-type="bibr" rid="ref10 ref4 ref6">10, 4, 6</xref>
          ).
        </p>
        <p>required_staff_per_shift(1..4, 2).</p>
        <p>Note that atoms of the founramvailable(N,D,S) are optional and depend on the work schedule of
the nurse’s spouse.</p>
        <p>An example of the computed schedule is reported in Fi3g.uArsein the previous caseM, A, N, AN, V, R,
L stand fomrorning, afternoon, night, postnight, vacation, rest, andlong, respectively.</p>
        <p>The ASP encoding used in this hospital is reported in F4igaunrde described in the following.</p>
        <p>Rule 1 is used to assign each nurse to a shift on day 1 based on their initial position in the predefined
rotation cycle, as specified by the predicnautrese_rotation/3.</p>
        <p>Rule 2 ensures the daily progression of nurse assignments according to the rotation: after working
shift S at dayD with ordeOrrd, a nurse moves to the next shNiSft corresponding to the incremented
orderOrd2, cycling back according to the predefined cycle length.</p>
        <p>Rule 3 defines a derived predicateresult/3, which records the assignment of nuNrtsoe shift SID
on dayD, abstracting away the rotation order information.</p>
        <p>Rule 4 imposes that exactly one shift must be assigned to each nurse on each day, ensuring that each
nurse has precisely one work assignment per day.</p>
        <p>Rule 5 enforces the constraint that if a nurse is assigned a night shift (shift 3) Do,ntdhaey must be
assigned a post-night recovery shift (shift 4) on daDy+1.</p>
        <p>Rule 6 ensures that if a nurse is assigned a post-night shift (shift 4) onDd,atyhen the previous day
D-1 must have been a night shift (shift 3).</p>
        <p>Rule 7 requires that after a post-night shift (shift 4) on daDy, the nurse must be assigned a rest day
(shift 6) on day D+1, enforcing proper recovery after night work.</p>
        <p>Rule 8 verifies that for every daDyand for every shiSft, the number of nurses assigned matches the
required stafing levels, as specified byrequired_staff_per_shift/2.</p>
        <p>Rule 9 introduces a weekly workload constraint: for eachN annudrseeach weekW, the sum of the
2 assign(N,D+1,NS,Ord2) :- assign(N,D,S,Ord), Ord2 = (Ord+1)\Z, cycle_length(Z),</p>
        <p>nurse_rotation(_,Ord2,NS), day(D+1).
3 result(N,D,SID) :- assign(N,D,SID,_).
4 {assign(N,D,S) : shift(S,_,_)} = 1 :- nurse(N), day(D).
5 :- assign(N,D,3), not assign(N,D+1, 4), day(D+1).
6 :- assign(N,D,4), not assign(N,D-1, 3), day(D-1).
7 :- assign(N,D,4), not assign(N,D+1, 6), day(D+1).
8 :- day(D), shift(S,_,_), required_staff_per_shift(S, V), #count{N : assign(N,D,S)} != V.
9 :- nurse(N), not reserve(N), week(W,_), #sum{H,D : assign(N,D,S), week(W,D),</p>
        <p>shift(S,_,H)} &gt; 36.
10 :- unavailable(N,D,S), assign(N,D,S).
11 :- nurse(N), #count{D: assign(N,D,3)} &gt; 6.
12 :∼ not assign(N,D,S), result(N,D,S). [1@1,N,D]
13 :∼ reserve(N), day(D), not assign(N,D,5). [1@2,N,D]
14 #show assign/3.
hourly workload associated with their assigned shifts must not exceed 36 hours. As in the Mariano
Santo requirements, for nurses on reserve, this constraint is relaxed, as they are deployed to fill stafing
gaps as needed.</p>
        <p>Rule 10 prohibits assignments that conflict with individual unavailabilities.</p>
        <p>Rule 11 enforces a limit on the number of night shifts assigned to each nurse. Specifically, it prohibits
any answer set in which a nurNsies assigned to the night shift (identified as shift 3) on more than 6
days.</p>
        <p>Rule 12 defines a weak constraint that penalizes missing assignments predicted by the previous
solution (captured bryesult/3), guiding the solver towards maintaining continuity with the cyclic
plan.</p>
        <p>Rule 13 defines another weak constraint penalizing the failure to assign a reserve nurse to vacation
(shift 5) on a day, encouraging the use of reserves mainly for covering absences.</p>
        <p>Finally, the directi#vsehow assign/3 specifies that only the nurse-day-shift assignments should be
displayed in the output.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Experiments</title>
      <p>In this section, we present the results of the experiments conducted on real-world data from the two
hospitals. The experimental analysis follows three main directions. The first one concerns changing
the heuristic options of the considered soalvuetros,:frumpy, jumpy, handy, crafty, trendy, many for
clingo v.5.7.1 [17]; andmoms, binary, watches, combination forwasp v.3.0.3 [20]. These heuristic
parameters influence how the solver performs the diferent operations during the computation of
an answer set, as variable selection, branching decisions, and restart policies. In general, no single
heuristic configuration is expected to perform optimally across all problem domains. Instead, certain
configurations tend to be more efective for specific classes of problems, making the choice of heuristics
a critical factor in solver perform2a1n]c.e [</p>
      <p>The second one consists of modifying the algorithms used to process weak constraints. Before
describe the main configurations, it is important to briefly recall the main algorithms used by the
solvers to compute optimal stable models. Indeed, weak constraints in ASP are typically handled using
either model-guided or unsatisfiable core-guided optimization algorithms. The two approaches difer
fundamentally in how they search for optimal solutions.</p>
      <p>Model-guided algorithms incrementally explore the space of stable models, attempting to find
successively better solutions by enforcing stricter bounds on the cost. These algorithms are conceptually
simple and can quickly find feasible (suboptimal) models, but they often struggle to prove optimality,
especially in instances with a large or complex cost strucwtuarspe,. tInhis approach is activated by
selecting the basic weak constraint algorithm using th-e-owpetaikocnonstraints-algorithm=basic.
In clingo, model-guided optimization is used by default when--tohpet-strategy option is not
explicitly specified.</p>
      <p>Unsatisfiable core-guided algorithms, on the other hand, operate by iteratively identifying
unsatisfiable subsets (cores) of the problem that prevent further cost improvements. Each core represents a
conlfict that must be resolved to achieve a lower cost, and by systematically eliminating such cores, the solver
converges toward the optimal solution. This strategy tends to be significantly more efective in proving
optimality. Inclingo, core-guided optimization is enabled by set–t-inopgt-strategy=usc. In wasp,
this is the default optimization strategy and is used wh–e-nweevaekrconstraints-algorithm=basic
is not specified. We refer the reader t2o2][for an explanation and a comparison of the diferent
algorithms.</p>
      <p>Finally, the third direction is about the efect of paralleclliisnmgoin(as wasp does not support
parallel solving). When executed in parallel cmloindge,o assigns a distinct configuration to each thread,
both in terms of search heuristics and weak constraint optimization strategies. This means that each
solver thread explores the search space using a diferent combination of parameters, such as decision
heuristics, restart policies, and optimization techniques (e.g., model-guided vs. unsatisfiable core-guided).
This design increases the diversity of the search and enhances the likelihood of quickly identifying
either high-quality feasible solutions or proving optimality. The parallel mode can be activated via
the option–-parallel-mode=n, wheren specifies the number of threads to run concurrently. In our
experiments, we executecdlingo with 2, 4, and 8 thread-s-(parallel-mode=2, --parallel-mode=4,
and--parallel-mode=8, respectively).</p>
      <p>All experiments were executed on a MacBook Air equipped with an Apple M2 processor and 24 GB
of RAM. A timeout of 5 minutes was imposed for each run. Configurations that exceeded the timeout
are marked with a &gt;300 indication in the table.</p>
      <sec id="sec-4-1">
        <title>4.1. Mariano Santo</title>
        <p>To evaluate the computational performance of our ASP encoding, we conducted an experiment on a
single instance related to the scheduling problem for the month of April at the Mariano Santo clinic
The specific instance considered is reported in Sect3i.o1.n1. The instance models a planning horizon of
30 days, corresponding to the month of April, with the clinic being closed during weekends, on Easter
Monday (April 21), and on April 25, which is a national holiday in Italy.</p>
        <p>Table1 reports the execution time required to find an optimal solution using various configurations
of the solvercslingo andwasp. It is important to note that a feasible solution was found within a
few seconds across all configurations; the reported times concern the efort necessary to guarantee
optimality.</p>
        <p>Execution times vary significantly across configurations. As a general observation, algorithms based
on unsatisfiable cores achieve the best performance incbloitnhgo andwasp, withclingo configured
withfrumpy is able to find the optimal solution in less than 2 secondws,aasnpdconfigured with the
init strategy setbtionary is able to solve the instance in approximately 9 secondcsl.iFnogro, all the
configurations are able to terminate within 5 seconds when the algorithm based on unsatisfiable cores
is enabled. Instead, the default algorithm obtains mixed results, as there are two cases (configurations
frumpy andcrafty) where it is not able to terminate within 5 minutes. The best configurations in this
case arehandy andtrendy. Moreover, parallel solvingcliningo is also quite eficient, particularly
with 2 threads.</p>
        <p>Forwasp, solving times were generally below 20 seconds across all configurationbis.nTarhyeand
moms initialization strategies resulted in slightly faster solving times compared to the default, while th
use of thebasic weak constraint algorithm increased the solving time, ascsleienngoin.</p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2. Annunziata</title>
        <p>Table2 reports the execution times for the Annunziata hospital instance, evaluating the same solver
configurations as in the previous experiment. This instance corresponds to the dataset described in
Section3.2, where we simulate the unavailability of nurse 1 using atoms of tuhneavfoairlmable(N,D,S).
Specifically, the unavailability data were derived from the real work schedule of nurse 1’s spouse,
ensuring realistic constraints in the generated instance.</p>
        <p>An interesting trend emerges from the results: configurations based on unsatisfiable core algorithms
(i.e., those using th-e-opt-strategy=usc flag in clingo or the default algorithwmainsp) consistently
solve the instance in less than two seconds. These inclculdinegaollconfigurations combined wituhsc
as well aswasp with or without alternative initialization strategies. In particulacrl,itnhgeofastest
configuration wasusc withcrafty (0.703s), while the versions owafsp perform approximately the
same, with a slight advantage when the init strategy iwsastecthetso(1.127s).</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Related Work</title>
      <p>In recent years, a wide range of approaches have been proposed to tackle the NSP, each characterized
by diferent assumptions and constraints. The primary distinctions among these works (cio)ntcheern
length of the planning horiz(ioi)nt,he modeling of shifts,(iii) the stafing requirements per shift, and
(iv) the application of institutional or contractual constraints on nurses’ schedules. A detailed review o
these dimensions is provided in3][.</p>
      <p>The variant of NSP presented in this work considers a one-month scheduling window, which is aligned
with the common planning periods adopted in operational practice, although some previous studies,
such as [23], have focused on longer horizons, including annual schedules. Unlike some models that
consider homogeneous or overlapping shifts, our approach explicitly distinguishes between morning,
afternoon, and night shifts, with strict non-overlapping constraints. In contrast, early formulations of
the problem often assumed a single type of shift or less granular temporal divis2i4o]n. s [</p>
      <p>Several computational approaches have been investigated for NSP, ranging from exact methods to
heuristic and metaheuristic techniques. Integer programming models remain a foundational strategy,
as seen in works such as25[, 26, 27]. Metaheuristic approaches have also proven efective, including
genetic algorithm2s8[], fuzzy logic-based formulatio2n9s],[and ant colony optimizatio3n0][.</p>
      <p>More recently, attention has also been directed toward the use of declarative and hybrid methods for
nurse scheduling. For example3,1[] explores a model of the Hybrid Salp Swarm Algorithm and Genetic
Algorithm (HSSAGA). In the context of workforce well-being, studies s1u],c[h2]a,s[3[2], and [33]
emphasize the impact of schedule quality on nurse satisfaction, performance and retention, highlighting
the importance of fairness and compatibility with personal life, including family constraints.</p>
      <p>With respect to the use of ASP for solving the 1N5S]Pp,r[oposed an ASP encoding tailored to a
real-world scenario described by an Italian hospital. Some of the constraints addressed in their work,
such as the number of nurses required per shift and the general organization of shift types, are similar
to those considered in this paper. However, their approach targets a one-year planning horizon and
does not incorporate cyclic rotation constraints as we do here.</p>
      <p>Building on that work1,6][ introduced an enhanced version of the encoding and developed a
rescheduling framework capable of adapting to unexpected changes in staf availability, thus enabling
more flexible shift management in dynamic environments.</p>
      <p>For a comprehensive overview of the field, we refer the reader to the su3r,4v,e3y4s,[35].</p>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusions</title>
      <p>In this paper, we presented an ASP-based approach to solve two variants of the NSP, focusing on
real-case scenarios from Italian healthcare facilities. Our encodings capture both common scheduling
requirements and domain-specific constraints, demonstrating how ASP can be adapted to reflect diverse
organizational practices. The experimental analysis highlights a clear advantage of unsatisfiable
coreguided optimization strategies, which achieved optimal solutions in a fraction of the time required by
traditional model-guided approaches. In particcluilnagro, andwasp showed great performance when
appropriately configured, solving complex instances in a few seconds. These results suggest that ASP is
a viable and eficient solution for practical nurse rostering tasks, provided that appropriate encoding
techniques and solver configurations are adopted. Future work includes extending the approach to
additional departments within the two hospitals, where diferent scheduling preferences may apply
and the number of nurses to manage would significantly increase. Another promising direction is the
development of a web-based application to support scheduling managers in interactively selecting the
constraints to enforce. Moreover, the experimental evaluation could be expanded to cover longer time
horizons, such as multiple months, to better assess scalability and robustness. Finally, we aim to explore
approaches for recomputing the plan when it cannot be followed due to unexpected events, such as
last-minute absences or emergency reassignments.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgments</title>
      <p>Carmine Dodaro and Marco Maratea were supported by the European Union - NextGenerationEU and by
the Ministry of University and Research (MUR), National Recovery and Resilience Plan (NRRP), Mission
4, Component 2, Investment 1.5, project “RAISE - Robotics and AI for Socio-economic Empowerment”
(ECS00000035) under the project “Gestione e Ottimizzazione di Risorse Ospedaliere attraverso Analisi
Dati, Logic Programming e Digital Twin (GOLD)”, CUP H53C24000400006.</p>
    </sec>
    <sec id="sec-8">
      <title>Declaration on Generative AI</title>
      <p>During the preparation of this work, the authors used ChatGPT-4o in order to: Grammar and spelling
check. After using these tool, the authors reviewed and edited the content as needed and take full
responsibility for the publication’s content.
[17] M. Gebser, R. Kaminski, B. Kaufmann, M. Ostrowski, T. Schaub, P. Wanko, Theory solving
made easy with clingo 5, in: ICLP TCs, volume 52 OoAfSICS, Schloss Dagstuhl -
LeibnizZentrum fuer Informatik, 2016, pp. 2:1–2:15. URhLt:tps://doi.org/10.4230/OASIcs.ICLP.2016..2
doi:10.4230/OASIcs.ICLP.2016.2.
[18] M. Alviano, C. Dodaro, N. Leone, F. Ricca, Advances in WASP, in: LPNMR, volume 9345 of
LNCS, Springer, 2015, pp. 40–54. URL:https://doi.org/10.1007/978-3-319-23264-5_.5doi:10.1007/
978-3-319-23264-5_5.
[19] F. Calimeri, W. Faber, M. Gebser, G. Ianni, R. Kaminski, T. Krennwallner, N. Leone, M. Maratea,
F. Ricca, T. Schaub, Asp-core-2 input language format, Theory Pract. Log. Program. 20 (2020)
294–309. URL: https://doi.org/10.1017/S147106841900045.0doi:10.1017/S1471068419000450.
[20] M. Alviano, G. Amendola, C. Dodaro, N. Leone, M. Maratea, F. Ricca, Evaluation of disjunctive
programs in WASP, in: LPNMR, volume 11481 oLfNCS, Springer, 2019, pp. 241–255. URL:
https://doi.org/10.1007/978-3-030-20528-7_1.8doi:10.1007/978-3-030-20528-7\_18.
[21] C. Dodaro, Design and implementation of modern CDCL ASP solvers, Intelligenza Artificiale 18
(2024) 239–259. URL: https://doi.org/10.3233/IA-24001.9doi:10.3233/IA-240019.
[22] M. Alviano, C. Dodaro, J. Marques-Silva, F. Ricca, Optimum stable model search: algorithms and
implementation, J. Log. Comput. 30 (2020) 863–897. URLh:ttps://doi.org/10.1093/logcom/exv0.61
doi:10.1093/LOGCOM/EXV061.
[23] P. Chan, G. Weil, Cyclical staf scheduling using constraint logic programming, in: PATAT,
volume 2079 ofLNCS, Springer, 2000, pp. 159–175. URL:https://doi.org/10.1007/3-540-44629-X_1.0
doi:10.1007/3-540-44629-X_10.
[24] H. E. Miller, W. P. Pierskalla, G. J. Rath, Nurse scheduling using mathematical programming,
Operations Research 24 (1976) 857–870. URhL:ttps://doi.org/10.1287/opre.24.5.8.5d7oi:10.1287/
opre.24.5.857.
[25] M. N. Azaiez, S. S. A. Sharif, A 0-1 goal programming model for nurse scheduling,
Computers &amp; OR 32 (2005) 491–507. URL:https://doi.org/10.1016/S0305-0548(03)00249.-1doi:10.1016/
S0305-0548(03)00249-1.
[26] J. F. Bard, H. W. Purnomo, Preference scheduling for nurses using column generation, European
Journal of Operational Research 164 (2005) 510–534. UhRtLt:ps://doi.org/10.1016/j.ejor.2003.06.0.46
doi:10.1016/j.ejor.2003.06.046.
[27] M. Narlı, O. Derse, Optimal crew scheduling in an intensive care unit: A case study in a university
hospital, Applied Sciences (Switzerland) 15 (2025). UhRtLt:ps://doi.org/10.3390/app1507361.0
doi:10.3390/app15073610.
[28] U. Aickelin, K. A. Dowsland, An indirect genetic algorithm for a nurse-scheduling problem,
Computers &amp; OR 31 (2004) 761–778. URL:https://doi.org/10.1016/S0305-0548(03)00034.-0doi:10.
1016/S0305-0548(03)00034-0.
[29] S. Topaloglu, H. Selim, Nurse scheduling using fuzzy modeling approach, Fuzzy Sets and Systems
161 (2010) 1543–1563. URL: http://dx.doi.org/10.1016/j.fss.2009.10.0.0d3oi:10.1016/j.fss.2009.
10.003.
[30] W. J. Gutjahr, M. S. Rauner, An ACO algorithm for a dynamic regional nurse-scheduling problem
in austria, Computers &amp; OR 34 (2007) 642–666. URhL:ttps://doi.org/10.1016/j.cor.2005.03.0.18
doi:10.1016/j.cor.2005.03.018.
[31] M. Q. H. Abadi, S. Rahmati, A. Sharifi, M. Ahmadi, HSSAGA: designation and scheduling of nurses
for taking care of COVID-19 patients using novel method of hybrid salp swarm algorithm and
genetic algorithm, Appl. Soft Comput. 108 (2021) 107449. URLh:ttps://doi.org/10.1016/j.asoc.2021.
107449. doi:10.1016/J.ASOC.2021.107449.
[32] A. Mystakidis, C. Koukaras, P. Koukaras, K. Kaparis, S. G. Stavrinides, C. Tjortjis, Optimizing
nurse rostering: A case study using integer programming to enhance operational eficiency and
care quality, Healthcare (Switzerland) 12 (2024).hUtRtLps:://doi.org/10.3390/healthcare12242.545
doi:10.3390/healthcare12242545.
[33] H. Wynendaele, E. Peeters, P. Gemmel, D. Myny, J. Trybou, Unravelling the ideal roster: A
cross-sectional study of nurse shift preferences using multivariate analysis, Journal of Advanced
Nursing 81 (2025) 1829 – 1844. URL:https://doi.org/10.1111/jan.163.7d3oi:10.1111/jan.16373.
[34] C. M. Ngoo, S. L. Goh, S. Sze, N. R. Sabar, S. Abdullah, G. Kendall, A survey of the nurse
rostering solution methodologies: The state-of-the-art and emerging trends, IEEE Access 10
(2022) 56504–56524. URL: https://doi.org/10.1109/ACCESS.2022.317728.0doi:10.1109/ACCESS.
2022.3177280.
[35] D. Allen, H. Strange, N. Jacob, A. M. Raferty, How can we optimise nurse stafing systems?
insights from a comparative document analysis of 10 widely used models and focused interpretative
review of implementation experiences, International Journal of Nursing Studies 167 (2025). URL:
https://doi.org/10.1016/j.ijnurstu.2025.105.0d56oi:10.1016/j.ijnurstu.2025.105056.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>L.</given-names>
            <surname>Yu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Zhou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Yu</surname>
          </string-name>
          ,
          <article-title>Shift work sleep disorder in nurses: a concept analysis</article-title>
          ,
          <source>BMC Nursing 24</source>
          (
          <year>2025</year>
          ). URL: https://doi.org/10.1186/s12912-024-02651.-zdoi:
          <fpage>10</fpage>
          .1186/s12912-024-02651-z.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>L.</given-names>
            <surname>Lessi</surname>
          </string-name>
          , I. de Barbieri, M. Danielis,
          <article-title>Addressing nursing resignation: Insights from qualitative studies on nurses leaving healthcare organisations and the profession</article-title>
          ,
          <source>Journal of Advanced Nursing</source>
          <volume>81</volume>
          (
          <year>2025</year>
          )
          <fpage>2290</fpage>
          -
          <lpage>2315</lpage>
          . URL:https://doi.org/10.1111/jan.165.4d6oi:
          <fpage>10</fpage>
          .1111/jan.16546.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>E. K.</given-names>
            <surname>Burke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. D.</given-names>
            <surname>Causmaecker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G. V.</given-names>
            <surname>Berghe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. V.</given-names>
            <surname>Landeghem</surname>
          </string-name>
          ,
          <article-title>The state of the art of nurse rostering</article-title>
          ,
          <source>J. Scheduling</source>
          <volume>7</volume>
          (
          <year>2004</year>
          )
          <fpage>441</fpage>
          -
          <lpage>499</lpage>
          . URhLt:tps://doi.org/10.1023/B:JOSH.
          <volume>0000046076</volume>
          .75950. 0.b doi:
          <volume>10</volume>
          .1023/B:JOSH.
          <volume>0000046076</volume>
          .75950.
          <year>0b</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>B.</given-names>
            <surname>Cheang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Rodrigues</surname>
          </string-name>
          ,
          <article-title>Nurse rostering problems - a bibliographic survey</article-title>
          ,
          <source>European Journal of Operational Research</source>
          <volume>151</volume>
          (
          <year>2003</year>
          )
          <fpage>447</fpage>
          -
          <lpage>460</lpage>
          . UhRtLt:ps://doi.org/10.1016/S0377-
          <volume>2217</volume>
          (
          <issue>03</issue>
          )
          <fpage>00021</fpage>
          -
          <lpage>3</lpage>
          . doi:
          <volume>10</volume>
          .1016/S0377-
          <volume>2217</volume>
          (
          <issue>03</issue>
          )
          <fpage>00021</fpage>
          -
          <lpage>3</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M.</given-names>
            <surname>Gelfond</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Lifschitz</surname>
          </string-name>
          ,
          <article-title>Classical Negation in Logic Programs</article-title>
          and Disjunctive Databases, New Generation Comput.
          <volume>9</volume>
          (
          <year>1991</year>
          )
          <fpage>365</fpage>
          -
          <lpage>386</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>G.</given-names>
            <surname>Brewka</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Eiter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Truszczynski</surname>
          </string-name>
          ,
          <article-title>Answer set programming at a glance</article-title>
          ,
          <source>Commun. ACM</source>
          <volume>54</volume>
          (
          <year>2011</year>
          )
          <fpage>92</fpage>
          -
          <lpage>103</lpage>
          . URL: http://doi.acm.
          <source>org/10.1145/2043174.204319.5doi:10.1145/2043174</source>
          .2043195.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>E.</given-names>
            <surname>Erdem</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Gelfond</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Leone</surname>
          </string-name>
          ,
          <article-title>Applications of answer set programming</article-title>
          ,
          <source>AI Mag</source>
          .
          <volume>37</volume>
          (
          <year>2016</year>
          )
          <fpage>53</fpage>
          -
          <lpage>68</lpage>
          . URL: https://doi.org/10.1609/aimag.v37i3.
          <volume>26</volume>
          .7d8oi:
          <fpage>10</fpage>
          .1609/AIMAG.V37I3.2678.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>P.</given-names>
            <surname>Schüller</surname>
          </string-name>
          ,
          <article-title>Answer set programming in linguistics</article-title>
          ,
          <source>Künstliche Intell</source>
          .
          <volume>32</volume>
          (
          <year>2018</year>
          )
          <fpage>151</fpage>
          -
          <lpage>155</lpage>
          . URL: https://doi.org/10.1007/s13218-018-0542.-zdoi:
          <fpage>10</fpage>
          .1007/S13218-018-0542-Z.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A. A.</given-names>
            <surname>Falkner</surname>
          </string-name>
          , G. Friedrich,
          <string-name>
            <given-names>K.</given-names>
            <surname>Schekotihin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Taupe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. C.</given-names>
            <surname>Teppan</surname>
          </string-name>
          ,
          <article-title>Industrial applications of answer set programming</article-title>
          ,
          <source>Künstliche Intell</source>
          .
          <volume>32</volume>
          (
          <year>2018</year>
          )
          <fpage>165</fpage>
          -
          <lpage>176</lpage>
          . UhRttLp:s://doi.org/10.1007/ s13218-018-0548-6. doi:
          <volume>10</volume>
          .1007/S13218-018-0548-6.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>A. D. Palù</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Dovier</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Formisano</surname>
          </string-name>
          , E. Pontelli,
          <article-title>ASP applications in bio-informatics: A short tour</article-title>
          ,
          <source>Künstliche Intell</source>
          .
          <volume>32</volume>
          (
          <year>2018</year>
          )
          <fpage>157</fpage>
          -
          <lpage>164</lpage>
          . UhRtLt:ps://doi.org/10.1007/s13218-018-
          <fpage>0551</fpage>
          -.
          <source>ydoi:10</source>
          . 1007/S13218-018-0551-Y.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>E.</given-names>
            <surname>Erdem</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Patoglu</surname>
          </string-name>
          ,
          <article-title>Applications of ASP in robotics</article-title>
          ,
          <source>Künstliche Intell</source>
          .
          <volume>32</volume>
          (
          <year>2018</year>
          )
          <fpage>143</fpage>
          -
          <lpage>149</lpage>
          . URL: https://doi.org/10.1007/s13218-018-0544.-xdoi:
          <fpage>10</fpage>
          .1007/S13218-018-0544-X.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>T. C.</given-names>
            <surname>Son</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Balduccini</surname>
          </string-name>
          ,
          <article-title>Answer set planning in single- and multi-agent environments</article-title>
          ,
          <source>Künstliche Intell</source>
          .
          <volume>32</volume>
          (
          <year>2018</year>
          )
          <fpage>133</fpage>
          -
          <lpage>141</lpage>
          . URhLt:tps://doi.org/10.1007/s13218-018-0546.-
          <fpage>8doi</fpage>
          :
          <fpage>10</fpage>
          .1007/ S13218-018-0546-8.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>P.</given-names>
            <surname>Cappanera</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Caruso</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Dodaro</surname>
          </string-name>
          , G. Galatà,
          <string-name>
            <given-names>M.</given-names>
            <surname>Gavanelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maratea</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Marte</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mochi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Nonato</surname>
          </string-name>
          , M. Roma,
          <article-title>Recent answer set programming applications to scheduling problems in digital health, in: AI4CC-IPS-RCRA-SPIRIT</article-title>
          , volume 3883CoEfUR
          <source>Workshop Proceedings</source>
          , CEUR-WS.org,
          <year>2024</year>
          . URL:https://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>3883</volume>
          /paper3_
          <fpage>RCRA8</fpage>
          ..pdf
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>M.</given-names>
            <surname>Alviano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Bertolucci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Cardellini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Dodaro</surname>
          </string-name>
          , G. Galatà,
          <string-name>
            <given-names>M. K.</given-names>
            <surname>Khan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maratea</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mochi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Morozan</surname>
          </string-name>
          , I. Porro,
          <string-name>
            <given-names>M.</given-names>
            <surname>Schouten</surname>
          </string-name>
          ,
          <article-title>Answer set programming in healthcare: Extended overview</article-title>
          , in: IPS-RCRA, volume
          <volume>2745</volume>
          ofCEUR Workshop Proceedings, CEUR-WS.org,
          <year>2020</year>
          . URL: https: //ceur-ws.
          <source>org/</source>
          Vol-
          <volume>2745</volume>
          /paper7.p.df
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>C.</given-names>
            <surname>Dodaro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maratea</surname>
          </string-name>
          ,
          <article-title>Nurse scheduling via answer set programming</article-title>
          ,
          <source>in: LPNMR</source>
          , volume
          <volume>10377</volume>
          ofLNCS, Springer,
          <year>2017</year>
          , pp.
          <fpage>301</fpage>
          -
          <lpage>307</lpage>
          . URL:https://doi.org/10.1007/978-3-
          <fpage>319</fpage>
          -61660-
          <issue>5</issue>
          _
          <fpage>2</fpage>
          .7 doi:10.1007/978-3-
          <fpage>319</fpage>
          -61660-5\_
          <fpage>27</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>M.</given-names>
            <surname>Alviano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Dodaro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maratea</surname>
          </string-name>
          ,
          <article-title>Nurse (re)scheduling via answer set programming</article-title>
          ,
          <source>Intelligenza Artificiale</source>
          <volume>12</volume>
          (
          <year>2018</year>
          )
          <fpage>109</fpage>
          -
          <lpage>124</lpage>
          . URL:https://doi.org/10.3233/IA-17003.
          <year>0doi</year>
          :
          <fpage>10</fpage>
          .3233/IA-170030.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>