Skip to main content

Integer programming techniques for the nurse rostering problem


This work presents integer programming techniques to tackle the problem of the International Nurse Rostering Competition. Starting from a compact and monolithic formulation in which the current generation of solvers performs poorly, improved cut generation strategies and primal heuristics are proposed and evaluated. A large number of computational experiments with these techniques produced the following results: the optimality of the vast majority of instances was proved, the best known solutions were improved by up to 15 % and strong dual bounds were obtained. In the spirit of reproducible science, all code was implemented using the Computational Infrastructure for Operations Research.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6



  2. a clique with three nodes.




  • Andersen, K., & Cornuejols, G. Y. L. (2005). Reduce-and-split cuts: Improving the performance of mixed integer gomory cuts. Management Science, 51, 1720–1732.

    Article  Google Scholar 

  • Andreello, G., Caprara, A., & Fischetti, M. (2007). Embedding cuts in a branch and cut framework: A computational study with 0,1/2-cuts. INFORMS Journal on Computing, 19(2), 229–238.

    Article  Google Scholar 

  • Atamtürk, A., Nemhauser, G. L., & Savelsbergh, M. W. P. (2000). Conflict graphs in solving integer programming problems. European Journal of Operational Research, 121, 40–55.

    Article  Google Scholar 

  • Avella, P., & Vasil’ev, I. (2005). A computational study of a cutting plane algorithm for university course timetabling. Journal of Scheduling, 8, 497–514.

    Article  Google Scholar 

  • Balas, E., Ceria, S., Cornueljols, G., & Natra, N. (1996). Gomory cuts revisited. Operations Research Letters, 19, 1–10.

    Article  Google Scholar 

  • Bilgin, B., Demeester, P., Mısır, M., Vancroonenburg, W., Berghe, G., & Wauters, T. (2010). A hyper-heuristic combined with a greedy shuffle approach to the nurse rostering competition. In Proceedings of the 8th International Conference on the Practice and Theory of Automated Timetabling (PATAT’10).

  • Borndorfer, R. (1998). Aspects of set packing, partitioning, and covering. Ph.D. Thesis, Faculty of Mathematics at Technical University of Berlin.

  • Boyd, E. (1992). Fenchel cutting planes for integer programming. Operations Research, 42, 53–64.

    Article  Google Scholar 

  • Boyd, E. (1994). Solving 0/1 integer programs with enumeration cutting planes. Annals of Operations Research, 50, 61–72.

    Article  Google Scholar 

  • Brito, S., & Santos, H. G. (2011). Pivoting in the bron-kerbosch algorithm for maximum-weight clique detection (in portuguese). In Anais do XLIII Simpósio Brasileiro de Pesquisa Operacional.

  • Bron, C., & Kerbosch, J. (1973). Algorithm 457: Finding all cliques of an undirected graph. Communications of the ACM, 16(9), 575–577.

    Article  Google Scholar 

  • Burke, E., & Curtois, T. (2010). An ejection chain method and a branch and price algorithm applied to the instances of the first international nurse rostering competition, 2010. In Proceedings of the 8th International Conference on the Practice and Theory of Automated Timetabling (PATAT’10)

  • Burke, E., Li, J., & Qu, R. (2010). A hybrid model of integer programming and variable neighbourhood search for highly-constrained nurse rostering problems. European Journal of Operational Research, 203(2), 484–493.

    Article  Google Scholar 

  • Burke, E., Mareček, K., Parkes, A.J., & Rudová, H. (2011). A branch-and-cut procedure for the udine course timetabling problem. Annals of Operations Research, 194, 1–17.

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

    Article  Google Scholar 

  • Cheang, B., Li, H., Lim, A., & Rodrigues, B. (2003). Nurse rostering problems-a bibliographic survey. European Journal of Operational Research, 151(3), 447–460.

    Article  Google Scholar 

  • Cornuéjols, G. (2007). Revival of the gomory cuts in the 1990s. Annals of Operations Research, 149(1), 63–66.

    Article  Google Scholar 

  • Danna, E., Rothberg, E., & Le Pape, C. (2003). Exploring relaxation induced neighborhoods to improve mip solutions. Technical report, ILOG.

  • Danna, E., Rothberg, E., & Le Pape, C. (2003). Integrating mixed integer programming and local search: A case study on job-shop scheduling problems. In Proceedings Third International Conference on Integration of Artificial Intelligence (AI) and Operations Research (OR) techniques in Constraint Programming (CPAIOR’03).

  • Dash, S., Goycoolea, M., & Gunluk, O. (2009). Two step MIR inequalities for mixed-integer programs. INFORMS Journal on Computing, 21(4), 641–649.

    Article  Google Scholar 

  • Eso, M. (1999). Parallel branch-and-cut for set partitioning. Ph.D. Thesis, Cornell University Ithaca, NY, USA.

  • Fischetti, M., & Lodi, A. (2003). Local branching. Mathematical Programming, 98, 23–47.

    Article  Google Scholar 

  • Fischetti, M., & Lodi, A. (2007). Optimizing over the first Chvàtal closure. Mathematical Programming B, 110(1), 3–20.

    Article  Google Scholar 

  • Forrest, J., & Lougee-Heimer, R. (2005). CBC user guide. INFORMS Tutorials in Operations Research 257–277

  • Grotschel, M., Lovasz, L., & Schrijver, A. (1993). Geometric Algorithms and Combinatorial Optimization. Springer, New York.

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

    Article  Google Scholar 

  • Hansen, P., Mladenović, N., & Urosević, D. (2006). Variable neighborhood search and local branching. Computers & Operations Research, 33(10), 3034–3045.

    Article  Google Scholar 

  • Haspeslagh, S., De Causmaecker, P., & Stolevik, M. A. S. (2010). First international nurse rostering competition 2010. Technical report, CODeS, Department of Computer Science, KU Leuven Campus Kortrijk. Belgium.

  • Hoffman, K., & Padberg, M. (1993). Solving airline crew scheduling problems by branch-and-cut. Management Science, 39(6), 657–682.

    Article  Google Scholar 

  • IBM. (2011). CPLEX 12.2 User’s Manual

  • Koch, T., Achterberg, T., Andersen, E., Bastert, O., Berthold, T., Bixby, R., et al. (2010). MIPLIB. Mathematical Programming Computation, 3, 103–163.

    Article  Google Scholar 

  • Linderoth, J.T., & Ralphs, T.K. (2005). Noncommercial software for mixed-integer linear programming. In J. Karlof (ed.) Integer programming: Theory and practice, operations research series, vol. 3, pp. 103–163.

  • Lougee-Heimer, R. (2003). The common optimization interface for operations research: Promoting open-source software in the operations research community. IBM Journal of Research and Development, 47(1), 57–66.

    Article  Google Scholar 

  • Martins, A. X., Souza, M. C., Souza, M. J., & Toffolo, T. A. M. (2009). GRASP with hybrid heuristic-subproblem optimization for the multi-level capacitated minimum spanning tree problem. Journal of Heuristics, 15, 133–151.

    Article  Google Scholar 

  • Méndez-Díaz, I., & Zabala, P. (2008). A cutting plane algorithm for graph coloring. Discrete Applied Mathematics, 156, 159–179.

    Article  Google Scholar 

  • Mittelmann, H. (2012). Benchmarks for optimization software. Accessed March 2013

  • Nonobe, K. (2010). INRC2010: An approach using a general constraint optimization solver. The First International Nurse Rostering Competition (INRC 2010)

  • Nonobe, K., & Ibaraki, T. (1998). A tabu search approach to the constraint satisfaction problem as a general problem solver. European Journal of Operational Research, 106(2–3), 599–623.

    Article  Google Scholar 

  • Padberg, M. (1973). On the facial structure of set packing polyhedra. Mathematical Programming, 5(1), 199–215.

    Article  Google Scholar 

  • Ralphs, T., Saltzman, M., Ladnyi, L. (2004). The COIN-OR Open Solver Interface: Technology Overview. Accessed March 2013

  • Ralphs, T. K., & Gzelsoy, M. (2005). The symphony callable library for mixed integer programming. In B. Golden, S. Raghavan, E. Wasil, R. Sharda, & S. Vo (Eds.), The next wave in computing, optimization, and decision technologies, operations research/computer science interfaces series (Vol. 29, pp. 61–76). New York: Springer.

    Chapter  Google Scholar 

  • Uchoa, E., Toffolo, T. A. M., de Souza, M. C., Martins, A. X., & Fukasawa, R. (2012). Branch-and-cut and hybrid local search for the multi-level capacitated minimum spanning tree problem. Networks, 59(1), 148–160.

    Article  Google Scholar 

  • Valouxis, C., Gogos, C., Goulas, G., Alefragis, P., & Housos, E. (2012). A systematic two phase approach for the nurse rostering problem. European Journal of Operational Research, 219(2), 425–433.

    Article  Google Scholar 

  • Wolsey, L. (1998). Integer programming. Wiley-interscience series in discrete mathematics and optimization. Chichester: Wiley.

    Google Scholar 

Download references


The authors would like to thank FAPEMIG (Grants APQ-01779-10) and CNPq (Grant 480388/2010-5) for supporting the development of this research and the anonymous reviewers of this paper for the detailed suggestions and corrections

Author information

Authors and Affiliations


Corresponding author

Correspondence to Túlio A. M. Toffolo.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Santos, H.G., Toffolo, T.A.M., Gomes, R.A.M. et al. Integer programming techniques for the nurse rostering problem. Ann Oper Res 239, 225–251 (2016).

Download citation

  • Published:

  • Issue Date:

  • DOI:


  • Nurse rostering
  • Integer programming
  • Cutting planes
  • MIP heuristics