Modeling and solving staff scheduling with partial weighted maxSAT
 423 Downloads
Abstract
Employee scheduling is a well known problem that appears in a wide range of different areas including health care, air lines, transportation services, and basically any organization that has to deal with workforces. In this paper we model a collection of challenging staff scheduling instances as a weighted partial Boolean maximum satisfiability (maxSAT) problem. Using our formulation we conduct a comparison of four different cardinality constraint encodings and analyze their applicability on this problem. Additionally, we measure the performance of two leading solvers from the maxSAT evaluation 2015 in a series of benchmark experiments and compare their results to state of the art solutions. In the process we also generate a number of challenging maxSAT instances that are publicly available and can be used as benchmarks for the development and verification of modern SAT solvers.
Keywords
Employee scheduling maxSAT SAT encodings Cardinality constraints1 Introduction
Staff scheduling problems arise whenever there is the need for efficient management and distribution of workforce over periods of time. Therefore, a wide range of different institutions can benefit from an optimized staff schedule, including hospitals, airlines, security personnel, transportation services, and basically any organization that has to deal with a large number of employees. Finding the ideal workforce roster however is not an easy task, and even a basic variant of this problem belongs to the class of NPhard problems (Chuin Lau 1996).
A variety of different staff scheduling problems are described in the literature and many solving methods have been proposed in the past. Corresponding surveys regarding employee scheduling were provided by Ernst et al. (2004) and Bergh et al. (2013). While many approaches are based on mathematical programming and heuristic methods, the application of solution strategies which model the problem as a maximum Boolean satisfiability problem (maxSAT) has not been considered. The intuitive way of working with propositional formulas, as well as growing developments in the SAT community motivate the investigation of such an approach.
In this paper we concentrate on the employee scheduling instances introduced by Curtois and Qu (2014). According to the authors those instances were designed to describe realistic and challenging staff scheduling problems while still being straightforward to use. The included scheduling periods range from one week up to one year, requiring up to 180 employees and 32 shift types to be assigned.
Recent publications provided an integer programming (IP) model as well as a metaheuristic approach to this problem. The best known solutions using these techniques as well as a description of the IP formulation were provided by Curtois and Qu (2014). A detailed description of the used algorithms, namely a branch and price method and a metaheuristic based on ejection chains can be found in the literature (Burke and Curtois 2014; Burke et al. 2008). With the use of the branch and price algorithm and ejection chains, optimal solutions could be found for most of the smaller instances and new lower/upper bounds could be determined for many instances. However, optimal solutions for a number of instances are still unknown.
In this paper we want to investigate a new solving paradigm for this problem based on maxSAT. Modeling a problem with a maximum propositional satisfiability formulation has shown to perform well on a variety of different applications in the past, including the scheduling of businesstobusiness meetings (Bofill et al. 2015) and High School Timetabling (Demirovic and Musliu 2014). The most related papers to our work are Kundu and Acharyya (2008) and Haspeslagh et al. (2013). Kundu and Acharyya (2008) proposed a SAT formulation for a basic nurse scheduling problem. The local search algorithm GSAT was used to provide solutions for the generated SAT instances. Haspeslagh et al. (2013) investigated the translation of instances from the first international nurse rostering competition (Haspeslagh et al. 2014) to SAT. Additionally, in this work the features of SAT instances were used to analyze the hardness of nurse rostering instances. To the best of our knowledge we investigate for the first time the application of maxSAT for employee scheduling. We also experiment with different encodings for the cardinality constraints and evaluate complete maxSAT solvers for the considered instances. Additionally, to show that the applicability of maxSAT is not restricted to the instances from Curtois and Qu (2014), we will describe how the maxSAT formulation introduced in this paper can be adapted to model the well known problem instances from the second international nurse rostering competition (INRC2) (Ceschia et al. 2015). Although several approaches have been applied on those instances within the competition (e.g. Römer and Mellouli 2016), to the best of our knowledge they will be modeled for the first time using maxSAT.

We provide the first maxSAT formulation for the variant of the employee scheduling problem introduced by Curtois and Qu (2014). Furthermore, we show how the proposed maxSAT formulation can be adapted to model another well known variant from nurse rostering.

We experiment with different encodings for cardinality constraints and compare two leading solvers from the maxSAT evaluation 2015. Additionally, we experiment with a simplification of the problem and provide a comparison with the state of the art solutions.

We provide challenging instances which can be used by the maxSAT community to test and improve results of maxSAT solvers.
2 Problem description
In our work we deal with a variant of the employee scheduling problem as it was described by Curtois and Qu (2014). We chose to focus on this specific problem formulation as it provides a number of instances that include challenging and realistic scheduling problems, while still being intuitive and straightforward to use.
The overall goal is to find an optimal roster for a number of given employees and shift types, where every employee may either work a single shift or have a day off on each day of a given scheduling period. For this problem the scheduling period is stated as a number of weeks and therefore the number of days is always a multitude of seven. Another property concerning the scheduling horizon ensures that the first day of the roster is always a Monday, while the last day is always a Sunday. The employees and shift types which are considered in this problem are specified by a list of unique names which are connected with a number of constraints that restrict all possible shift assignments. Some employees might for example be only allowed to work in certain shifts and patterns of consecutive working shifts might be prohibited or requested. Each problem instance specifies hard and softconstraints to set up a corresponding rule set. Hard constraints on the one hand are always strict and have to be fulfilled in order to generate a feasible solution. Soft constraints on the other hand may be violated, but will in case of a violation lead to an integer valued penalty. For example a hard constraint in our problem could restrict the minimum and maximum amount of time that an employee has to work in total over the whole scheduling horizon. Personal shift requests that employees can state are formulated as soft constraints in our problem instances.
Finally, the objective function of a candidate solution is defined as the sum of all violated soft constraints. We therefore deal with an optimization problem, where the optimal solution is the schedule with the lowest possible objective value. We have a deeper look on all of the constraints in the next section.
3 Modeling employee scheduling as partial weighted maxSAT
3.1 The maximum satisfiability problem
The satisfiability problem (SAT) is a decision problem which asks whether there exist assignments of truth values to variables, such that a propositional logic formula is evaluated true (that is, the formula is satisfied). A propositional logic formula is built from Boolean variables using logic operators and parentheses. The formula is usually given in conjunctive normal form (CNF), meaning that the formula is a conjunction of clauses, where a clause is a disjunction of literals, where a literal is a variable or its negation. For example, the formula \((X_1 \vee X_2) \wedge (\lnot X_1 \vee \lnot X_3)\) is said to be satisfiable, because the assignment \((X_1, X_2, X_3) = (true, false, false)\) satisfies the formula. However, had we inserted the clause \((\lnot X_1 \vee X_2 \vee X_3)\), the same assignment would no longer satisfy the formula.
An extension to SAT that we consider in this work is Partial Weighted maxSAT, in which clauses are partitioned into two types: hard and soft clauses. Each soft clause is given a weight. The goal is to find an assignment which satisfies the hard clauses and minimizes the sum of weights of the unsatisfied soft clauses. For more in depth information about SAT and maxSAT, we direct the interested reader to the literature (Biere et al. 2009).
In the following sections we will formulate our problems as maxSAT. The obtained maxSAT formulas which model the problem are called encodings.
3.2 Decision variables
In order to model the assignment of shifts to employees, we define variables \(S_{i,d,t}, \forall i \in I, d \in D, t \in T\), where I denotes the set of all employees, D refers to the set of days in the planning horizon, and T is the set of all shift types in the problem. Each variable \(S_{i,d,t}\) will be set to true if and only if employee i gets the shift type t assigned on the dth day in the roster, otherwise it will be set to false. Additionally, we define helper variables \(X_{i,d}, \forall i \in I, d \in D\) which are set to true if employee i has no shift assigned on day d. So \(X_{i,d}\) is set to true if and only if employee i is considered to have a day off on this day.
Since many of the constraints contain properties of cardinality constraints, we continue by shortly introducing the notion of them.
3.3 Cardinality constraints
In order to be able to formulate all of the constraints for the problem, it is necessary to make use of cardinality constraints. Such constraints define limits on the number of truth assignments on a set of given Boolean variables. There are three different types of cardinality constraints: \(\textit{atLeast}_k(x_i : x_i \in X)\), \(\textit{exactly}_k(x_i : x_i \in X)\), and \(\textit{atMost}_k(x_i : x_i \in X)\) which are defined on sets of variables that should have at least, exactly, or at most k variables having their truth value assigned. For example if a cardinality constraint limits the number of true valued variables of the set \({x_1,x_2,x_3}\) to at most two \(\textit{atMost}_2(\{x_1,x_2,x_3\})\), the assignment \((x_1,x_2,x_3) = (1,1,0)\) is considered to be feasible, while the assignment \((x_1,x_2,x_3) = (1,1,1)\) would be considered as infeasible.
Additionally, we have to distinguish between hard and soft cardinality constraints. While hard cardinality constraints decide whether or not the overall solution will become feasible, soft cardinality constraints will only penalize the objective function if violated. In our problem we assign a weight to a cardinality constraint and calculate the total penalty linearly depending on the difference to the violated limit. For example if we consider the constraint \(\textit{atLeast}_2(\{x_1,x_2,x_3\})\) with a weight of 40, the assignment \((x_1,x_2,x_3) = (0,0,0)\) would lead to a penalty of \(40 \cdot 2 = 80\).
Different variants of dealing with cardinality constraints in Boolean satisfiability problems have been studied in the literature (e.g. Sinz 2005; Asín et al. 2009). In this paper we investigate four different encoding types: combinatorial encoding, sequential encoding, bit adder encoding, and cardinality networks. The encodings differ in the number of variables and clauses needed, and whether or not unit propagation is enough to ensure generalized arc consistency. Unit propagation forces the assignments of variables that are contained in unit clauses, that is, clauses which consist of only a single literal. Since all clauses must be satisfied, including unit clauses, the value of a variable must be set such that the unit clause is satisfied. A constraint is generalized arc consistent if for each unassigned variable and value that it can be assigned, there exists an assignment of values to the other unassigned variables in the constraint such that the constraint is satisfied (Mohr and Masini 1988). It is important to note that in our modeling, whether an employee scheduling constraint is generalized arc consistent or not solely depends on generalized arc consistency of the cardinality constraint used. In the following we briefly describe the cardinality constraints used, we refer the reader to Demirovic and Musliu (2014), Sinz (2005), and Asín et al. (2009) for more details.
3.3.1 Combinatorial encoding
The combinatorial encoding enumerates all possible undesired truth assignments and forbids them explicitly by generating corresponding clauses. While this approach may provide an efficient encoding for small cardinality constraints, the number of generated clauses will grow exponentially with the number of variables. An alternative approach would be to explicitly enumerate all desired truth assignments. For example, to encode \(\textit{atLeast}\_2(\{x_1, x_2, x_3\})\), one needs to encode clauses that forbid every assignment which does not have at least two variables \(x_1\), \(x_2\), and \(x_3\) set to true. This can be achieved with the following clauses: \((x_1 \vee x_2 \vee x_3)\), \((x_1 \vee x_2 \vee \lnot x_3)\), \((x_1 \vee \lnot x_2 \vee x_3)\), and \((\lnot x_1 \vee x_2 \vee x_3)\). The first clause requires that at least one variable is set to true, while the other three forbid assignments in which exactly one variable is set to true, encoding the desired constraint. Unit propagation ensures generalized arc consistency.
3.3.2 Sequential and bitadder encoding
The main idea behind the sequential and bit adder encoding is to encode the sum of the considered variables \(x_i\) and then forbid certain output values. However, this cannot be done directly in SAT. Thus, one must introduce auxiliary variables and clauses to capture the desired behavior.
Both encodings use additional variables to represent each partial sum of the original variables. The ith partial sum is defined in terms of the ith variable and the \({(i1)}\)th partial sum (\(ps(i) = ps(i1) + x_i\) and \(ps(0) = 0\)). Afterwards, a constraint on the last partial sum is imposed to encode the cardinality constraint. For example, for the assignment \((x_1, x_2, x_3, x_4) = (1, 0, 1, 1)\), \(ps(1) = 1\), \(ps(2) = 1\), \(ps(3) = 2\), and \(ps(4) = 3\). Enforcing \(ps(4) = 3\) would lead to the \(\textit{exactly}\_3\) cardinality constraint.
In SAT, variables (e.g. for ps above) cannot be assigned numeric values. Therefore, they need to be encoded with Boolean variables instead. This is main difference between the sequential and bitadder encoding: the former uses unary, while the later uses binary number representations.
Due to the different number representations, the bitadder encoding requires less clauses and variables when compared to the sequential encoding (O(nlog(n)) clauses and variables as opposed to \(O(nk  k^2)\) variables and O(kn) clauses), but unit propagation is not sufficient to ensure generalized arc consistency for the bitadder, while it is for the sequential encoding. For more details on the encodings, we refer the reader to Demirovic and Musliu (2014), Sinz (2005), and Asín et al. (2009).
3.3.3 Cardinality networks
Cardinality networks generate helper variables that are used to sort all the considered truth assignments and then insert clauses which forbid certain outputs. The sorting is performed in a similar way as a simple merge sort algorithm would work. For example, considering an assignment \((x_1 = 0, x_2 = 1, x_3=0, x_4=1)\), the helper variables \(a_{14}\) would represented the sorted version of this assignment \((a_1 = 1, a_2 = 1, a_3 = 0, a_4 =0)\). Additional clauses are then inserted to forbid undesired assignments of the helper variables. Generalized arc consistency is maintained by unit propagation. The encoding requires \(O(nlog^2k)\) auxiliary variables and clauses. More details can be found in Asín et al. (2009).
In the experiments covered in later sections of this paper we compare the performance of those four encodings on two maxSAT solvers.
3.4 Modeling of hard constraints
In this section we give a description of the hard constraints for employee scheduling problem which is considered in this paper and specify how these constraints can be encoded in our partial weighted maxSAT formulation.
An employee cannot be assigned more than one shift on a single day Since no employee should work two shifts on the same day, we have to ensure that no two variables \(S_{i,d,t}\) and \(S_{i,d,x}\) may be set to true at the same time if \(t \ne x\) and \(i \in I\), \(d \in D\), \(t,x \in T\) where I is the set of all employees, D is the set of all days in the scheduling horizon and T is the set of all possible shift types.
In order to formulate this constraint efficiently, we introduce additional helper variables which help us to count the total number of minutes worked by an employee. For their definition we consider the shift lengths \(l_t, \forall t \in T\) which are given as parameters to the problem and specify the number of working time in minutes required for shift t. Furthermore we define their greatest common divisor \(g = gcd(l_t : t \in T)\). If we have three different shift types, with the first one lasting for 480, the second one lasting 620, and the third one lasting 120 min, g would then be 20 for example.
With g, we can then calculate simplified lengths for all shifts \(sl_t = {l_t \over g}\) \(\forall t \in T\). Additionally, we define the maximum simplified shift length \(sl_{max} = max\{sl_t : t \in T\}\). Now we are able to introduce our variable set U, which counts the units of time an employee i works on day d.
3.5 Modeling of soft constraints
In this section we give a description of all the soft constraints of the employee scheduling problem considered in this paper and specify how they can be encoded in our partial weighted maxSAT formulation.
3.6 Using maxSAT to model nurse rostering
In this paper we provide a maxSAT formulation and computational results for the employee scheduling problem that was described by Curtois and Qu (2014). We chose this particular problem variant because it provides a number of challenging instances that are straightforward to use. However, the application of a partial weighted maxSAT formulation is not limited to this problem variant.
In this section we describe how the presented maxSAT formulation can be extended and adapted to model instances from the second international nurse rostering competition (INRC2) described by Ceschia et al. (2015). The problem considered for INRC2 asked for the assignment of nurses to shifts within a given planning horizon, subject to a number of hard and soft constraints. Note that INRC2 required its competitors to solve a sequence of consecutive weeks in the planning horizon in a multistage setting. We will not go into the details of this setting here and want to refer the interested reader to Ceschia et al. (2015) for more information.
In the following subsections we will briefly describe the constraints of the problem and also provide information on how they can be modeled using partial weighted maxSAT.
3.6.1 Additional variables for nurse rostering
The given nurse rostering problem has many similarities to the employee scheduling problem that we modeled in earlier sections of this paper, since the main goal of the problem is again to find the optimal roster for a number of given nurses and shift types. Therefore, in the following sections we will use the same decision variables and parameters that we have previously introduced if not noted otherwise. However, to model some of the constraints for the INRC2 instances we will also introduce some new variables and parameters which we describe now.
3.6.2 Hard constraints
This section will shortly present the hard constraints of the INRC2 instances and describe how they can be modeled using maxSAT.
Single assignment per day This constraint is the equivalent to the An employee cannot be assigned more than one shift on a single day constraint in Sect. 3.4 and can be modeled similarly.
Missing required skill A shift of a given skill must necessarily be fulfilled by a nurse having that skill. This constraint is implicitly covered by the formulation for the understaffing constraint.
3.6.3 Soft constraints
Insufficient staffing for optimal coverage This constraint is similar to understaffing as it asks for an optimal number of nurses with a particular skill for each shift. It can be formulated similar to understaffing, but as a soft cardinality constraint with a weighted penalty. The optimal cover requirements are given to the problem in a similar form as the cover requirements for understaffing.
Minimum/maximum consecutive working shifts These constraints can be formulated similarly to the minimum/maximum consecutive working days constraints. However, because they ask for consecutive assignments of a certain shift type, we have to introduce new helper variables \(O^t_{i,d}\) for each shift type t that will be true whenever employee i does not work in shift t on day d. Then we can model the minimum/maximum consecutive working shifts by just replacing the X variables with the corresponding O variables in the minimum/maximum consecutive working days constraints.
Total working weekends This constraint can be formulated similar to the maximum number of weekends constraint in Sect. 3.4, but as a soft cardinality constraint with a weighted penalty.
4 Computational results
We now give an overview of our experimental environment and describe how our benchmark tests were executed and evaluated.
4.1 Experimental environment
We conducted a large number of experiments with generated maxSAT encodings for the 24 instances that were described by Curtois and Qu (2014). The planning horizon of the instances ranges from two weeks to 52 weeks, while the number of considered employees ranges from 8 to 150. As this dataset contains very large instances it provides challenging benchmarks for solution techniques. If not noted otherwise we ran all of our experiments on an Intel Xeon E5345 2.33 GHz machine with a total of 48GB RAM. The encoded maxSAT instances are available online in DIMACS format and can be downloaded at.^{1}
In our benchmarks we used two solvers which performed well on timetabling instances in the maxSAT evaluation 2015: WPM3 (Ansótegui et al. 2015) and Optiriss using the default configuration. The latter uses the riss framework (Kahlert et al. 2015) in combination with the publicly available OpenWBO solver (Martins et al. 2014). Both solvers were ranked first and second in the industrial category for partial weighted maxSAT problems. Besides being the leaders in their category, both solvers have also shown to provide good results for high school timetabling and timetabling instances, which share similarities with the considered employee scheduling problem.
4.2 Comparison of different cardinality constraint encodings
Because our model utilizes a number of cardinality constraints, a crucial point in the configuration of our experiments turned out to be the determination of which cardinality constraint encodings we should use in order to get good results with the maxSAT solvers. There are five constraints which are affected in our formulation: The cover requirement constraint, the workload requirement constraint, the maximum number of shifts constraint, the maximum number of weekends, and the One shift per day constraint. For those, we applied four different encoding variants: combinatorial encoding, sequential encoding, cardinality networks encoding, and bit adder encoding. We used the implementation by Demirovic and Musliu (2014) to encode those constraints.
Overview on the number of generated variables (vars.) as well as the hard and softclauses (h.c. and s.c.) for all the cardinality constraint/encoding pairs for instance 5
Combinatorial  Sequential  Cardinality N.  Bit adders  

Cover Req.  vars.  10,192  7616  7056  5096 
h.c.  35,616  28,672  21,168  17808  
s.c.  896  896  896  896  
Workload Req.  vars.  Out of memory  6176  8032  5088 
h.c.  Out of memory  20,240  21,760  14864  
s.c.  Out of memory  0  0  0  
Max shifts  vars.  Out of memory  3010  3520  6374 
h.c.  Out of memory  11,928  10,658  22,646  
s.c.  Out of memory  0  0  0  
Max weekends  vars.  0  124  160  176 
h.c.  46  420  496  602  
s.c.  0  0  0  0  
One shift per day  vars.  0  896  896  1344 
h.c.  448  2688  3136  4480  
s.c.  0  0  0  0 
The combinatorial encoding turned out to be impractical in most cases and we were often not able to generate maxSAT encodings for many of the instances when using it. The huge amount of produced clauses required by this encoding forced our model generator to run out of memory when dealing with larger instances. When looking at the numbers displayed in Table 1, we can also see that the maximum number of weekends and the one shift per day constraints have a relatively low impact when compared with the other constraints. As this behavior appeared also in other instances, we decided to use only the sequential encoding for the maximum number of weekends constraint and only the combinatorial encoding for the one shift per day constraint in the remainder of our experiments. With the elimination of the combinatorial encoding in our configuration options because of the caused inconveniences with larger instances, and only three constraints remaining, we now have to examine only \(3^3 = 27\) possible combinations.
Best results found by Optiriss using different combinations of cardinality encodings
Optiriss  Best solutions found in 30 min time limit  

Cardinality encoding  Inst. 2  Inst. 4  Inst. 7  Inst. 9  Inst. 11 
seq./seq./seq.  837  5626  13,333  12,655  40,435 
seq./seq./card.  837  5626  12,000  11,659  40,435 
seq./seq./adder  839  5122  10,078  11,533  23,720 
seq./card./seq.  840  6002  15,318  12,460  32,768 
seq./card./card.  840  6002  12,111  12,242  32,768 
seq./card./adder  838  5215  11,474  12,758  24,905 
seq./adder/seq.  841  5407  14,319  11,044  34,612 
seq./adder/card.  841  5407  15,148  11,662  34,612 
seq./adder/adder  840  5331  11,785  12,752  25,633 
card./seq./seq.  841  5609  13,813  14,353  32,281 
card./seq./card.  841  5609  15,211  11,423  32,281 
card./seq./adder  834  5723  11,987  13250  25,631 
card./card./seq.  834  6210  14,080  12,156  37,028 
card./card./card.  834  6210  13,779  13,154  37,028 
card./card./adder  841  5316  10,682  10,641  22,130 
card./adder/seq.  837  5711  13,002  12,570  32,618 
card./adder/card.  837  5711  13,492  12,785  32,618 
card./adder/adder  838  5504  9689  12,976  24,844 
adder/seq./seq.  844  3900  5762  7729  15,916 
adder/seq./card.  844  3900  5741  7526  15,916 
adder/seq./adder  852  3720  5228  7437  16,624 
adder/card./seq.  853  3608  5421  6394  15420 
adder/card./card.  853  3608  5852  6804  15,420 
adder/card./adder  847  3918  5452  7239  16,464 
adder/adder/seq.  845  3907  5411  7716  16,627 
adder/adder/card.  845  3907  5746  7422  16,627 
adder/adder/adder  850  3798  5040  7215  16,436 
Optiriss  Best solutions found in 30 min time limit  

Cardinality encoding  Inst. 12  Inst. 14  Inst. 16  Inst. 18  
seq./seq./seq.  57,680  17,959  15,584  35,073  
seq./seq./card.  58,369  16,665  15,584  39,555  
seq./seq./adder  34,964  17,549  13,263  25,829  
seq./card./seq.  57,575  16,761  15,635  37,084  
seq./card./card.  54,138  16,630  15,635  37,641  
seq./card./adder  33,939  18,362  14,544  23,932  
seq./adder/seq.  61,229  17,454  16,013  34,284  
seq./adder/card.  52,854  16,043  16,013  28,074  
seq./adder/adder  36,632  15,555  13,937  27,604  
card./seq./seq.  72,062  19,358  16,093  37,501  
card./seq./card.  49,699  18,247  16,093  38,147  
card./seq./adder  32,074  17,934  14,776  28,188  
card./card./seq.  56,279  19,044  16,903  37,778  
card./card./card.  50,404  15,546  16,903  35,638  
card./card./adder  32,239  16,918  14,880  26,855  
card./adder/seq.  62,154  18,980  17,419  38,269  
card./adder/card.  49,096  18,565  17,419  30,601  
card./adder/adder  33,340  18,593  15,990  29,781  
adder/seq./seq.  28,602  10,076  12,546  21,039  
adder/seq./card.  31,000  9875  12,546  22,548  
adder/seq./adder  28,694  8777  12,223  21,095  
adder/card./seq.  28,598  9776  13,026  20,710  
adder/card./card.  30,324  9144  13,026  20,225  
adder/card./adder  29,596  9555  13,049  20,280  
adder/adder/seq.  27,193  9758  11,939  20,462  
adder/adder/card.  29,606  9931  11,939  20,504  
adder/adder/adder  29,417  9756  11,707  20,996 
Best results found by WPM3 using different combinations of cardinality encodings
WPM3  Best solution found in 30 min time limit  

Cardinality encoding  Inst. 2  Inst. 4  Inst. 7  Inst. 9  Inst. 11 
seq./seq./seq.  828  3189  5510  10,631  12,183 
seq./seq./card.  828  3189  4596  10,949  12,183 
seq./seq./adder  828  3494  8959  10,248  23,420 
seq./card./seq.  828  3090  7446  11,132  11,516 
seq./card./card.  828  3090  6545  11,405  11,516 
seq./card./adder  828  2688  8351  12,154  24,114 
seq./adder/seq.  828  2784  7712  12,178  12,478 
seq./adder/card.  828  2784  8553  10,033  12,478 
seq./adder/adder  828  2893  9364  10,964  24,195 
card./seq./seq.  835  3394  5230  10,605  17,224 
card./seq./card.  835  3394  6815  11,037  17,224 
card./seq./adder  828  4082  7562  11,062  25,444 
card./card./seq.  828  3087  7143  10,240  13,888 
card./card./card.  828  3087  8147  10,942  13,888 
card./card./adder  839  3704  9670  10,531  25,626 
card./adder/seq.  840  3695  7543  11,871  15,393 
card./adder/card.  840  3695  7760  11,235  15,393 
card./adder/adder  828  3103  9287  12,374  22,719 
adder/seq./seq.  1550  3718  10,502  13,982  29,673 
adder/seq./card.  1550  3718  11,315  12,780  29,673 
adder/seq./adder  1159  3198  9478  14,674  26,133 
adder/card./seq.  1563  3994  9365  11,256  31,595 
adder/card./card.  1563  3994  9253  12,773  31,595 
adder/card./adder  856  4212  9791  12,693  25,827 
adder/adder/seq.  1469  4108  10,292  10,771  29,083 
adder/adder/card.  1469  4108  9476  11,963  29,083 
adder/adder/adder  1359  3702  10,100  10,935  26,467 
WPM3  Best solution found in 30 min time limit  

Cardinality encoding  Inst. 12  Inst. 14  Inst. 16  Inst. 18  
seq./seq./seq.  23,937  18,045  10,292  19,771  
seq./seq./card.  18,770  16303  10,292  18,498  
seq./seq./adder  1,697,590  15,297  12,738  21,408  
seq./card./seq.  22,010  15,419  12,528  19,191  
seq./card./card.  19,845  16,285  12,528  19,241  
seq./card./adder  1,697,590  16,654  16,099  22,100  
seq./adder/seq.  22,536  17,130  12,550  17,277  
seq./adder/card.  22,734  16,330  12,550  20,139  
seq./adder/adder  1,697,590  15,155  15,031  20,793  
card./seq./seq.  24,142  18,272  12,015  2,1095  
card./seq./card.  23,726  18,948  12,015  22,605  
card./seq./adder  32,150  18,455  14,126  29,910  
card./card./seq.  24,206  16,321  12,848  25,567  
card./card./card.  23,716  16,864  12,848  21,097  
card./card./adder  1,697,590  14,915  16,176  24,417  
card./adder/seq  25,331  17,055  13,360  24,620  
card./adder/card.  26,272  18,104  13,360  25,051  
card./adder/adder  1,697,590  17,490  16,998  30,144  
adder/seq./seq.  48,422  18,356  18,064  31,426  
adder/seq./card.  44,948  19,731  18,064  29,955  
adder/seq./adder  38,822  18,376  16,497  27,336  
adder/card./seq.  42,744  19,131  16,259  28,860  
adder/card./card.  44,272  18,959  16,259  31,694  
adder/card./adder  37,582  18,494  16,343  30,929  
adder/adder/seq.  42,648  15,723  17,590  31,791  
adder/adder/card.  45,583  20,184  17,590  27,403  
adder/adder/adder  35,857  18,143  18,593  29,081 
A comparison of those results reveals that there is no general best combination of cardinality constraint encodings and good encodings are highly dependent on the solver which is used. While Optiriss prefers the adder encoding for the cover requirements constraint, the sequential encoding shows the best results for WPM3. We selected the best candidates for each solver by considering the sums of the results over all instances for each combination of cardinality encodings. The encodings which led to the minimum of all those sums were then taken to generate the instances for our final experiments. Therefore, the combinations of cardinality constraint encodings used for Optiriss were as follows: bit adder encoding for the cover requirements constraint, cardinality networks for the workload requirements constraint, and the sequential encoding for the maximum number of shifts constraint. The combinations of cardinality constraint encodings for WPM3 on the other hand were: The sequential encoding for the cover requirements constraint as well as the workload requirements constraint, and the encoding which uses cardinality networks for the maximum number of shifts constraint.
4.3 Final experiments and comparison of solvers
The final results obtained for Instance 1–21 using WPM3 and Optiriss, with the application of the selected cardinality constraint encodings described in this paper
Instances  WPM3  Optiriss  Branch and Price  Gurobi  

Inst.  Weeks  Employees  Shifts  
I 1  2  8  1  607  607  607  607 
I 2  2  14  2  828  835  828  828 
I 3  2  20  3  1009  3475  1001  1001 
I 4  4  10  2  3102  3608  1716  1716 
I 5  4  16  2  4037  3645  1160  1143 
I 6  4  18  3  6150  6941  1952  1950 
I 7  4  20  3  4596  5421  1058  1056 
I 8  4  30  4  11,018  7617  1308  1323 
I 9  4  36  4  10,949  6394  439  439 
I 10  4  40  5  16,435  15,350  4631  4631 
I 11  4  50  6  12,183  15,420  3443  3443 
I 12  4  60  10  18,770  28,598  4046  4040 
I 13  4  120  18  6,110,163  69,203  –  3109 
I 14  6  32  4  16,303  9776  –  1280 
I 15  6  45  6  30,833  16,506  –  4964 
I 16  8  20  3  10,292  13,026  3323  3233 
I 17  8  32  4  22,002  22,073  –  5851 
I 18  12  22  3  18,498  14,433  –  4760 
I 19  12  40  5  1,698,538  50,274  –  5420 
I 20  26  50  6  5,519,316  147,325  –  – 
I 21  26  100  8  14,715,064  –  –  – 
If we compare the outcomes for WPM3 and Optiriss we are not able to point out a clear winner which performs better over all the instances. While WPM3 performs significantly better on the smaller instances (Instances 1–7 and 11–12), it does not produce good solutions for the larger instances (Instances 8–10 and 13–21). Using Optiriss provides better results when it comes to solving the larger instances, except for the last two instances where the solver could not find any solution under 4 h.
Comparing our approach with another existing exact method based on integer programming, which was provided by Curtois and Qu (2014) (last two columns in the table) we can conclude that both maxSAT solvers could not find new unknown optimal results. However they could provide optimal solutions for instances 1 and 2. Running the maxSAT solvers for 4 h resulted in finding solutions for two of the instances which could not be solved by the integer programming approach within 1 h on a different environment.
Although currently the state of the art solvers that are based on integer programming produce better results for many of the considered instances, the results show that maxSAT as an exact method gives promising results for employee scheduling problems. As many maxSAT solvers are publicly available and their performance is consistently improving, this approach can be useful to find solutions for staff scheduling problems.
4.4 Analyzing the influence of the undercoverage softconstraint
To further investigate the problem we performed additional experiments by simplifying the instances. We omitted all soft constraints except undercoverage (Eq. 18). We wanted to investigate this constraint because it shows to have the highest weight in all instances, and as such contributed to the objective value significantly more than others.
Optiriss provides the option to experiment with the Linear maxSAT algorithm (Berre and Parrain 2010). The Linear algorithm is an iterative upper bounding algorithm in which the SAT solver is repeatedly called and in each call clauses are added which constrain the objective value to be less than in the previous iteration. Therefore, this process is only repeated until the SAT solver reports unsatisfiable, in which case the previously calculated solution is the optimal one. The Linear algorithm is invoked in Optiriss by supplying the parameter algorithm=1. As this algorithm is appropriate to be used in this scenario, below we report experiments using it.
The results obtained by running Optiriss with the Linear maxSAT algorithm for 1 h on simplified and original instances
Instance  Linear  Simplifiedlinear  Optiriss (Table 4) 

Instance 1  607  620  607 
Instance 2  847  858  835 
Instance 3  1236  1050  3475 
Instance 4  1859  1787  3608 
Instance 5  2202  1534  3645 
Instance 6  5763  2637  6941 
Instance 7  6541  1625  5421 
Instance 8  15,105  2894  7617 
Instance 9  13,496  1991  6394 
Instance 10  –  6649  15,350 
Instance 11  –  6434  15,420 
Instance 12  –  22,838  28,598 
Instance 13  –  70,242  69,203 
Instance 14  –  6634  9776 
Instance 15  –  24,988  16,506 
Instance 16  18,074  4867  13,026 
Instance 17  –  14,315  22,073 
Instance 18  18,498  13,143  14,433 
The results obtained in Table 5 are interesting for two reasons. Firstly, in most cases when a solution could be generated, the obtained results with the described technique with the simplified instances outperformed the previous maxSAT experiments even though less time has been allocated. Secondly, the simplification proved to be a very useful improvement for the Linear maxSAT algorithm. Instances 19–24 where not included in the table as no solution could be generated with either encoding technique using the Linear maxSAT algorithm.
These results indicate that the undercoverage constraint has a high influence on the objective value, at least for the Linear maxSAT algorithm. Because of this, leaving the solver all the time to focus on the undercoverage constraint showed to be valuable. Using this technique new unknown optimal results could not be found, but the results suggest the importance of the undercoverage constraint. Focusing only on the undercoverage constraint could also be applied to other solving techniques, like integer programming methods or local search.
5 Conclusion
In this paper we have introduced, to the best of our knowledge, for the first time a partial weighted Boolean maximum satisfiability model for variants of the employee scheduling problem and the nurse rostering problem. We further generated maxSAT instances using four different cardinality encoding methods and compared the effects of these methods on two maxSAT solvers. Our results showed that there is a need to experimentally select an efficient combination of cardinality encodings for each solver separately, as the best encoding strategy in our experiments varied depending on the used solver. A comparison between the two solvers could not point out a clear winner for all of the considered benchmark tests. While WPM3 performed better on smaller instances, Optiriss was able to produce better results for many of the larger instances.
Currently an exact approach based on integer programming provides better results than maxSAT for most of the considered instances. However, maxSAT could provide optimal solutions for two of the instances and obtained solutions for two very large instances within 4 h, which could not be solved by integer programming within 1 h.
Although the results for many instances are currently not competitive when compared with results produced by state of the art solvers that are based on integer programming, we have shown that maxSAT was successfully used to solve the majority of the problem instances. We think that the main reason why the results currently cannot compete with integer programming lies in the intensive use of cardinality constraints that are required to model the problem. The high significance of choosing good encoding strategies for cardinality constraints that became apparent during our experiments as well as the discovered influence of the undercoverage constraint indicate the importance of efficient strategies to deal with these types of constraints. We therefore conclude that there is a need for improving the performance of maxSAT solvers, especially regarding cardinality constraints. Seeing many maxSAT solvers becoming available and consistently advancing in the recent years, we believe that the provided instances for employee scheduling, which are now also part of the annual maxSAT evaluation, can serve as relevant benchmarks to evaluate new strategies for an efficient handling of cardinality constraints.
Possible improvements and extensions could be subject of future work when working with the proposed model. It would be interesting to investigate if we can break symmetries in our model. Further, given the findings regarding the undercoverage constraint, developing a lexicographic optimization approach for Employee Scheduling might be valuable. In this approach, one would first optimize for the undercoverage constraint and then optimize the rest of the soft constraints. Furthermore, a hybridization of maxSAT with heuristic techniques within the framework of very large neighbourhood search could be considered.
Footnotes
Notes
Acknowledgements
Open access funding provided by Austrian Science Fund (FWF). The work was supported by the Austrian Science Fund (FWF): P24814N23 and the Vienna PhD School of Informatics.
References
 Ansótegui, C., Didier, F., & Gabàs, J. (2015) Exploiting the structure of unsatisfiable cores in maxsat. In Proceedings of the twentyfourth international joint conference on artificial intelligence, IJCAI 2015, Buenos Aires, Argentina, July 25–31, 2015 (pp. 283–289).Google Scholar
 Asín, R., Nieuwenhuis, R., Oliveras, A., & RodríguezCarbonell, E. (2009). Cardinality networks and their applications. In Proceedings of the 12th international conference on theory and applications of satisfiability testing, SAT 2009, Swansea, UK, June 30–July 3, 2009 (pp. 167–180).Google Scholar
 Berre, D. L., & Parrain, A. (2010). The SAT4J library, release 2.2. JSAT, 2–3, 59–6.Google Scholar
 Biere, A., Heule, M., van Maaren, H., & Walsh, T. (Eds.). (2009). Handbook of satisfiability, frontiers in artificial intelligence and applications. Amsterdam: IOS Press.Google Scholar
 Bofill, M., Garcia, M., Suy, J., & Villaret, M. (2015). MaxSATbased scheduling of B2B meetings. In Proceedings of the 12th international conference integration of AI and OR techniques in constraint programming, CPAIOR 2015, Barcelona, Spain, May 18–22, 2015 (pp. 65–73).Google Scholar
 Burke, E. K., & Curtois, T. (2014). New approaches to nurse rostering benchmark instances. European Journal of Operational Research, 237(1), 71–81.CrossRefGoogle Scholar
 Burke, E. K., Curtois, T., Post, G. F., Qu, R., & Veltman, B. (2008). A hybrid heuristic ordering and variable neighbourhood search for the nurse rostering problem. European Journal of Operational Research, 2, 330–341.CrossRefGoogle Scholar
 Ceschia, S., Thanh, N. D. T., Causmaecker, P. D., Haspeslagh, S., & Schaerf, A. (2015). Second international nurse rostering competition (INRCII)—Problem description and rules. CoRR, arxiv.org/abs/1501.04177
 Chuin Lau, H. (1996). On the complexity of manpower shift scheduling. Computers & Operations Research, 23(1), 93–102.CrossRefGoogle Scholar
 Curtois, T., & Qu, R. (2014). Computational results on new staff scheduling benchmark instances. Technical report, ASAP Research Group, School of Computer Science, University of Nottingham, NG8 1BB, Nottingham, UKGoogle Scholar
 Demirovic, E., & Musliu, N. (2014). Modeling high school timetabling as partial weighted maxSAT. Technical report, Technical University Vienna.Google Scholar
 den Bergh, J. V., Beliën, J., Bruecker, P. D., Demeulemeester, E., & Boeck, L. D. (2013). Personnel scheduling: A literature review. European Journal of Operational Research, 3, 367–385.CrossRefGoogle Scholar
 Ernst, A. T., Jiang, H., Krishnamoorthy, M., & Sier, D. (2004). Staff scheduling and rostering: A review of applications, methods and models. European Journal of Operational Research, 1, 3–27.CrossRefGoogle Scholar
 Haspeslagh, S., Messelis, T., Berghe, G. V., & Causmaecker, P. D. (2013). An efficient translation scheme for representing nurse rostering problems as satisfiability problems. In: Proceedings of the 5th International Conference on Agents and Artificial Intelligence, ICAART 2013, Barcelona, Spain, 15–18 February, 2013 (Vol. 2, pp. 303–310).Google Scholar
 Haspeslagh, S., DeCausmaecker, P., Schaerf, A., & Stølevik, M. (2014). The first international nurse rostering competition 2010. Annals of Operations Research, 218(1), 221–236. https://doi.org/10.1007/s1047901210620.CrossRefGoogle Scholar
 Kahlert, L., Krüger, F., Manthey, N., & Stephan, A. (2015). Riss solver framework v5. 05. SATRaceGoogle Scholar
 Kundu, S., & Acharyya, S. (2008). A SAT approach for solving the nurse scheduling problem. In TENCON 2008—2008 IEEE region 10 conference, IEEE (pp. 1–6).Google Scholar
 Martins, R., Manquinho, V. M., & Lynce, I. (2014). OpenWBO: A modular maxsat solver. In Proceedings of the 17th international conference on theory and applications of satisfiability testing, SAT 2014, held as part of the Vienna Summer of Logic, VSL 2014, Vienna, Austria, July 14–17, 2014 (pp. 438–445).Google Scholar
 Mohr, R., & Masini, G. (1988). Good old discrete relaxation. In ECAI (pp. 651–656).Google Scholar
 Römer, M., & Mellouli, T. (2016). Future demand uncertainty in personnel scheduling: Investigating deterministic lookahead policies using optimization and simulation. In Proceedings of the 30th European conference on modelling and simulation, ECMS 2016, Regensburg, Germany, May 31–June 3, 2016 (pp. 502–507). https://doi.org/10.7148/20160502.
 Sinz, C. (2005). Towards an optimal CNF encoding of Boolean cardinality constraints. In Proceedings of the 11th international conference on principles and practice of constraint programming, CP 2005, Sitges, Spain, October 1–5, 2005 (pp. 827–831).Google Scholar
Copyright information
Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.