Skip to main content
Log in

A parallel ruin and recreate heuristic for personnel scheduling in a flexible working environment

  • Published:
Journal of Scheduling Aims and scope Submit manuscript

Abstract

Personnel scheduling aims to determine least-cost personnel schedules to meet the demand for employees in each period of a planning horizon. In this article, we propose a parallel ruin and recreate heuristic, denoted PRRH, for solving a personnel scheduling problem. PRRH is an integrated approach for this type of problem that generates and assigns shifts simultaneously. Starting from an initial solution, the method is based on an iterative scheme that ruins the current solution at each iteration by inducing a disruption in an employee schedule and recreates a new solution by finding a cost-effective ejection chain. Each disruption is targeted according to predetermined probabilistic improvement scores, and each solution is created using an algorithm inspired by the heuristic of Hassani et al. (Eur J Oper Res 293:93–108, 2021), which re-optimizes a schedule following a minor disruption. The approach is also based on a partition of the current solution, which is updated at each iteration to treat a maximum number of disruptions in parallel. The proposed algorithm has been tested on real-life instances involving up to 94 employees and 10 jobs. PRRH found solutions of very good quality (1.9% from optimality on average) in fast computational times (less than three minutes on average).

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Algorithm 1:
Algorithm 2:
Algorithm 3:
Algorithm 4:
Algorithm 5:
Algorithm 6:
Algorithm 7:
Algorithm 8:
Algorithm 9:
Algorithm 10:
Algorithm 11:
Fig. 1

Similar content being viewed by others

Notes

  1. In Hassani et al. (2021), moves ejection chains, and giant chains are called generating decisions, elementary decisions, and policies, respectively.

  2. In agreement with our industrial partner Ultimate Kronos Group, the instances will be published on a public website if the paper is accepted for publication.

References

  • Abdelghany, M., Yahia, Z., & Eltawil, A. B. (2021). A new two-stage variable neighborhood search algorithm for the nurse rostering problem. RAIRO, 55, 673–687.

    Article  Google Scholar 

  • Aykin, T. (1996). Optimal shift scheduling with multiple break windows. Management Science, 42, 591–602.

    Article  Google Scholar 

  • Bard, J. F., & Purnomo, H. W. (2005). Hospital-wide reactive scheduling of nurses with preference considerations. IIE Transactions, 37, 589–608.

    Article  Google Scholar 

  • Beaulieu, H., Ferland, J. A., Gendron, B., & Michelon, P. (2000). A mathematical programming approach for scheduling physicians in the emergency room. Health Care Management Science, 3, 193–200.

    Article  Google Scholar 

  • Bechtold, S. E., & Jacobs, L. W. (1990). Implicit modeling of flexible break assignments in optimal shift scheduling. Management Science, 36, 1339–1351.

    Article  Google Scholar 

  • Bonutti, A., Ceschia, S., De Cesco, F., Musliu, N., & Schaerf, A. (2017). Modeling and solving a real-life multi-skill shift design problem. Annals of Operations Research, 252, 365–382.

    Article  Google Scholar 

  • Boyer, V., Gendron, B., & Rousseau, L. M. (2014). A branch-and-price algorithm for the multi-activity multi-task shift scheduling problem. Journal of Scheduling, 17, 185–197.

    Article  Google Scholar 

  • Burke, E., De Causmaecker, P., & Vanden Berghe, G. (2004). The state of the art of nurse rostering. Journal of Scheduling, 7, 441–499.

    Article  Google Scholar 

  • Burke, E. K., Curtois, T., Qu, R., & Vanden Berghe, G. (2013). A time predefined variable depth search for nurse rostering. INFORMS Journal on Computing, 25, 411–419.

    Article  Google Scholar 

  • Chen, Z., Dou, Y., & De Causmaecker, P. (2022). Neural networked-assisted method for the nurse rostering problem. Computers & Industrial Engineering, 171, 108430.

    Article  Google Scholar 

  • Côté, M. C., Gendron, B., & Rousseau, L. M. (2011). Grammar-based integer programming models for multiactivity shift scheduling. Management Science, 57, 151–163.

    Article  Google Scholar 

  • Dantzig, G. B. (1954). Letter to the editor-A comment on Edie’s traffic delays at toll booths. Journal of the Operations Research Society of America, 2, 339–341.

    Article  Google Scholar 

  • Di Gaspero, L., Gärtner, J., Kortsarz, G., Musliu, N., Schaerf, A., & Slany, W. (2007). The minimum shift design problem. Annals of Operations Research, 155, 79–105.

    Article  Google Scholar 

  • Edie, L. C. (1954). Traffic delays at toll booths. Journal of the Operations Research Society of America, 2, 107–138.

    Article  Google Scholar 

  • Ernst, A. T., Jiang, H., Krishnamoorthy, M., Owens, B., & Sier, D. (2004). An annotated bibliography of personnel scheduling and rostering. Annals of Operations Research, 127, 21–144.

    Article  Google Scholar 

  • Felici, G., & Gentile, C. (2004). A polyhedral approach for the staff rostering problem. Management Science, 50, 381–393.

    Article  Google Scholar 

  • Glover, F. (1986). Future paths for integer programming and links to artificial intelligence. Computers & Operations Research, 13, 533–549.

    Article  Google Scholar 

  • Glover, F. (1996). Ejection chains, reference structures and alternating path methods for traveling salesman problems. Discrete Applied Mathematics, 65, 223–253.

    Article  Google Scholar 

  • Hansen, P. (1986). The steepest ascent mildest descent heuristic for combinatorial programming. Congress on Numerical Methods in Combinatorial Optimization (pp. 70–145). Italy: Capri.

  • Hassani, R., Desaulniers, G., & Elhallaoui, I. (2021). Real-time bi-objective personnel re-scheduling in the retail industry. European Journal of Operational Research, 293, 93–108.

    Article  Google Scholar 

  • Jacquet-Lagrèze, E., Montaut, D., & Partouche, A. (1998). The shift scheduling problem: Different formulations and solution methods. Foundations of Computing and Decision Sciences, 23, 199–217.

    Google Scholar 

  • Kirkpatrick, S., Gelatt, C. D., & Vecchi, M. P. (1983). Optimization by simulated annealing. Science, 220, 671–680.

    Article  Google Scholar 

  • Kitada, M., & Morizawa, K. (2013). A heuristic method for nurse rerostering problem with a sudden absence for several consecutive days. International Journal of Emerging Technology and Advanced Engineering, 3, 353–361.

  • Lequy, Q., Desaulniers, G., & Solomon, M. M. (2012). A two-stage heuristic for multi-activity and task assignment to work shifts. Computers & Industrial Engineering, 63, 831–841.

    Article  Google Scholar 

  • Maenhout, B., & Vanhoucke, M. (2010). Branching strategies in a branch-and-price approach for a multiple objective nurse scheduling problem. Journal of Scheduling, 13, 77–93.

    Article  Google Scholar 

  • Mladenović, N., & Hansen, P. (1997). Variable neighborhood search. Computers & Operations Research, 24, 1097–1100.

    Article  Google Scholar 

  • Musliu, N., Schaerf, A., & Slany, W. (2004). Local search for shift design. European Journal of Operational Research, 153, 51–64.

    Article  Google Scholar 

  • Quimper, C. G., & Rousseau, L. M. (2010). A large neighbourhood search approach to the multi-activity shift scheduling problem. Journal of Heuristics, 16, 373–392.

    Article  Google Scholar 

  • Rahimian, E., Akartunalı, K., & Levine, J. (2017). A hybrid integer programming and variable neighbourhood search algorithm to solve nurse rostering problems. European Journal of Operational Research, 258, 411–423.

    Article  Google Scholar 

  • Rekik, M., Cordeau, J. F., & Soumis, F. (2010). Implicit shift scheduling with multiple breaks and work stretch duration restrictions. Journal of Scheduling, 13, 49–75.

    Article  Google Scholar 

  • Restrepo, M. I., Gendron, B., & Rousseau, L. M. (2016). Branch-and-price for personalized multiactivity tour scheduling. INFORMS Journal on Computing, 28, 334–350.

    Article  Google Scholar 

  • Schrimpf, G., Schneider, J., Stamm-Wilbrandt, H., & Dueck, G. (2000). Record breaking optimization results using the ruin and recreate principle. Journal of Computational Physics, 159, 139–171.

    Article  Google Scholar 

  • Thompson, G. M. (1995). Improved implicit optimal modeling of the labor shift scheduling problem. Management Science, 41, 595–607.

    Article  Google Scholar 

  • Van den Bergh, J., Beliën, J., De Bruecker, P., Demeulemeester, E., & De Boeck, L. (2013). Personnel scheduling: A literature review. European Journal of Operational Research, 226, 367–385.

    Article  Google Scholar 

Download references

Acknowledgements

This work was funded by Ultimate Kronos Group, Prompt, and the Natural Sciences and Engineering Research Council (NSERC) of Canada under grant #RDC 530544-18. This financial support is greatly appreciated. The authors are also grateful to the personnel of Ultimate Kronos Group for describing the problem and providing datasets.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Rachid Hassani.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

Appendix A: Table of notations

Sets

\(\mathcal {D}\)

Days

\(\mathcal {P}\)

Time periods

\(\mathcal {J}\)

Jobs

\(\mathcal {E}\)

Employees

\(\mathcal {S}^A\)

Anonymous shifts

\(\mathcal {S}^A_d\)

Anonymous shifts of day d

\(\mathcal {S}^A(x)\)

Anonymous shifts in schedule x

\(\mathcal {E}_x(k)\)

Employees whose remuneration reaches level k in schedule x

\(\mathcal {S}_x(e,d)\)

Shift assigned to employee e on day d in schedule x

\(\mathcal {J}_e\)

Jobs for which employee e is qualified

\(\mathcal {P}_e\)

Periods for which employee e is available

\(\mathcal {P}^d\)

Restriction of set \(\mathcal {P}\) to day d

\(\mathcal {P}_e^d\)

Subset of periods in \(\mathcal {P}_e\) of day d

\(\mathcal {S}_e^d\)

Proposed shifts for employee e on day d

\(\mathcal {K}^L\)

Levels considered for employee remuneration

\(\mathcal {K}^V\)

Levels considered for over-coverage penalties

\(\mathcal {X}\)

Feasible solutions to the integer linear program

\(\mathcal {H}(x)\)

Ejection chains from solution x

\((\mathcal {C}_1(x),\mathcal {C}_2(x),\dots ,\mathcal {C}_\zeta (x))\)

Clustering of the search space from solution x into \(\zeta \) neighborhoods

\(\mathcal {C}(x)\)

Neighborhood from solution x

\(G(\mathcal {C}(x))\)

Giant chains that only involve employees and anonymous shifts in neighborhood \(\mathcal {C}(x)\)

\(G^*(\mathcal {C}(x))\)

Improving giant chains that only involve employees and anonymous shifts in neighborhood \(\mathcal {C}(x)\)

\(\mathcal {E}_{h}\)

Employees impacted by ejection chain h

\(\mathcal {E}_{g}\)

Employees impacted by giant chain g

F

set of pairs of incompatible giant chains

Parameters

\(b_s\), \(f_s\)

Starting and ending periods of shift s

\(j_s\)

Job associated with shift s

\(l_s\)

Length of shift s

\(r_p^j\)

Demand at period p for job j

\(\underline{l}_e\), \(\bar{l}_e\)

Minimum and maximum durations for which the employee e can work continuously during a day

\(\underline{l}^A\), \(\bar{l}^A\)

Minimum and maximum durations for an anonymous shift

\(c_0\)

Basic employee remuneration for one period

\(\tau \)

Growth rate

\(c^V_k\)

Over-coverage penalty rate at level \(k\in \mathcal {K}^V\)

\(n^V_k\)

Number of periods at level \(k \in \mathcal {K}^V\)

\(c^L_k\)

Employee remuneration per period at level \(k\in \mathcal {K}^L\)

\(n^L_k\)

Number of periods at level \(k \in \mathcal {K}^L\)

\(c^Y\)

Unit penalty to cover a period with an anonymous shift

\(s_x(e,d)\)

Shift assigned to employee e on day d in solution x

\(s_0(d)\)

Nil shift on day d

\(m^T\)

Move of type \(T \in \{S,X,SA,XA\}\)

\(\widehat{m}^T\)

Move of type \(T \in \{S,X,SA,XA\}\) Acting as a disruption stimulant

\(c_h\)

Cost incurred by ejection chain h

\(n_h\)

Number of modifications incurred by ejection chain h

\(x_0\)

Initial solution

\(\varphi ^c(g)\)

Total cost incurred by giant chain g

\(\varphi ^n(g)\)

Number of modifications incurred by giant chain g

\(\Phi ^n\)

Maximum number of modifications in a giant chain \(\varphi ^n\)

\(n^m\)

Maximum number of moves in an ejection chain

\(P_x(\mathcal {E}^{'})=(p_x(e))_{e \in \mathcal {E}^{'}}\)

Vector of numbers of periods worked by employee \(e \in \mathcal {E}'\) in schedule x (where \(\mathcal {E}' \subset \mathcal {E}\))

\(O_x(\mathcal {E}^{'})=(o_x(e))_{e \in \mathcal {E}^{'}}\)

Vector of numbers of days off for employee \(e \in \mathcal {E}'\) in schedule x (where \(\mathcal {E}' \subset \mathcal {E}\))

\(\epsilon \)

small positive tolerance

\(\nu _0^T\)

Predefined parameter value in ]0, 1[ for type \(T \in \{S,X,SA,XA\}\)

\(\mathcal {V}(e,[p_1,p_2])\)

Equal to 1 if employee e is available to work between periods \(p_1\) and \(p_2\)

\(\mathcal {Q}(e,j)\)

Equal to 1 if employee e is qualified for job j

\(\mathcal {A}(e,s)\)

Equal to 1 if shift s can be assigned to employee e

\(c^0\)

Negative parameter indicating an expected minimum cost reduction by time unit of computation

\(c^M\)

Cost increase incurred by the diversification phase

\(c^-\)

Cost reduction incurred by the intensification phase

\(p^+\)

Increment step of the start time of the shifts

Functions

\(flex_d(e_1,e_2)\)

Function measuring the flexibility of changes between the employees \(e_1\) and \(e_2\) on day d

var(q)

Function measuring the dispersion of the component values of vector q

\(\nu ^T(\bar{\mathcal {C}}(x))\)

Function estimating the probability that the stimulation of a disruption of type \(T\in \{S,X,SA,XA\}\) in

 

neighborhood \(\bar{\mathcal {C}}(x)\) improves the current solution

Symbol

\(\oplus \)

Concatenation operator of giant chains

Appendix B: Mathematical model of the personnel scheduling problem

In this appendix, we present the integer programming model proposed by Hassani et al. (2021) for the personnel scheduling problem. This model assumes that the horizon has seven days, numbered from 1 to 7. We describe first the required notation that has not been defined in the main text.

Constants:

\(n^R\)::

Minimum duration, in periods, of rest between two consecutive shifts assigned to the same employee (less than 24 h);

\(n^O\)::

Minimum number of days off for each employee;

\(a_{sj}^p\)::

Binary parameter equal to 1 if shift \(s \in \mathcal {S}\) covers job \(j \in \mathcal {J}\) in period \(p \in \mathcal {P} \), 0 otherwise;

M::

A sufficiently large constant.

Variables:

\(X^d_{es}\)::

Binary variable equal to 1 if we assign shift \(s\in \mathcal {S}^e_d\) to employee \(e \in \mathcal {E}\) on day \(d\in \mathcal {D}\), 0 otherwise;

\(O^d_e\)::

Binary variable which indicates the assignment of a day off to employee \(e\in \mathcal {E}\) on day \(d\in \mathcal {D}\), 0 otherwise;

\(Y_s\)::

Integer variable which counts the number of times anonymous shift \(s \in \mathcal {S}^A\) is used;

\(L^k_e\)::

Integer variable which gives the number of periods worked by employee \(e \in \mathcal {E}\), on level \(k \in \mathcal {K}^L\);

\(V^{kp}_j\)::

Integer variable which specifies the amount of over-coverage on level \(k \in \mathcal {K}^V\) in period p for job \(j \in \mathcal {J}\).

Given this notation, the personnel scheduling problem considered can be formulated as the following integer linear program:

$$\begin{aligned} \text {Minimize}{} & {} \quad \sum _{e \in \mathcal {E}}\sum _{k\in \mathcal {K}^L}c_k^L L^k_e + \sum _{s\in \mathcal {S}^A} c^Y l_s Y_s \nonumber \\{} & {} + \sum _{p \in \mathcal {P}} \sum _{j \in \mathcal {J}} \sum _{k\in \mathcal {K}^V} c^V_k V^{kp}_j \end{aligned}$$
(B.1)
$$\begin{aligned}&\text{ subject } \text{ to: } \qquad \sum _{s \in \mathcal {S}^e_d}X^d_{es}+O^d_e=1, \qquad \forall e \in \mathcal {E}, d \in \mathcal {D} \end{aligned}$$
(B.2)
$$\begin{aligned}&\sum _{d\in D} O^d_e \geqslant n^O, \qquad \forall e \in \mathcal {E} \end{aligned}$$
(B.3)
$$\begin{aligned}&\sum _{d \in \mathcal {D}} \sum _{s \in \mathcal {S}^e_d}l_sX^d_{es}-\sum _{k \in \mathcal {K}^L} L^k_e = 0, \qquad \forall e \in \mathcal {E}\end{aligned}$$
(B.4)
$$\begin{aligned}&M \, O^{d+1}_e + \sum _{s \in \mathcal {S}_{d+1}^e}b_sX^{d+1}_{es} - \sum _{s \in \mathcal {S}_d^e}(f_s + 1 +n^R)X^d_{es} \geqslant 0, \nonumber \\&\qquad \forall e \in \mathcal {E}, d \in \mathcal {D} \setminus \{ 7 \} \end{aligned}$$
(B.5)
$$\begin{aligned}&\sum _{e \in \mathcal {E}} \sum _{d \in \mathcal {D}} \sum _{s \in \mathcal {S}_d^e} a^p_{sj} X^d_{es} + \sum _{s \in \mathcal {S}^A} a^p_{sj} Y_s - \sum _{k\in \mathcal {K}^V} V^{kp}_j =r^p_j, \nonumber \\&\qquad \forall p \in \mathcal {P}, j \in \mathcal {J}\end{aligned}$$
(B.6)
$$\begin{aligned}&X^d_{es} \in \{ 0,1 \}, \qquad \forall e \in \mathcal {E}, e \in \mathcal {D}, s \in \mathcal {S}^e_d\end{aligned}$$
(B.7)
$$\begin{aligned}&O^d_e \in \{ 0,1 \}, \qquad \forall e \in \mathcal {E}, d \in \mathcal {D} \end{aligned}$$
(B.8)
$$\begin{aligned}&L^k_e \in [ 0, n^L_k ], \text{ integer }, \qquad \forall e \in \mathcal {E}, k \in \mathcal {K}^L\end{aligned}$$
(B.9)
$$\begin{aligned}&Y_s \geqslant 0, \text{ integer }, \qquad \forall s \in \mathcal {S}^A \end{aligned}$$
(B.10)
$$\begin{aligned}&V^{kp}_j \in [ 0, n^V_k], \text{ integer }, \qquad \forall j \in \mathcal {J}, p \in \mathcal {P}, k \in \mathcal {K}^V. \end{aligned}$$
(B.11)

The objective function (B.1) minimizes the sum of the labor costs and the penalties incurred by the anonymous shifts and the over-coverage. Constraints (B.2) ensure that each employee is assigned to a shift or to a day off for each day \(d\in \mathcal {D}\). Constraints (B.3) impose a minimum of \(n^O\) days off for each employee. The distribution of the work periods for each employee on the different levels of \(\mathcal {K}^L\) is calculated by the constraints (B.4). Note that the relationships between \(c^L_k\) costs ensure that the cheapest levels are always used first. The constraints (B.5) enforce a rest of at least \(n^R\) periods between shifts assigned to the same employee on two consecutive days. For each job and each period, the constraints (B.6) guarantee that the demand is covered by a sufficient number of employees or anonymous shifts. They also make it possible to calculate the amount of over-coverage on each level of \(\mathcal {K}^V\). Finally, the domains of the decision variables are limited by (B.7)–(B.11).

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Hassani, R., Desaulniers, G. & Elhallaoui, I. A parallel ruin and recreate heuristic for personnel scheduling in a flexible working environment. J Sched 27, 165–182 (2024). https://doi.org/10.1007/s10951-023-00794-6

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10951-023-00794-6

Keywords

Navigation