Abstract
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.
Similar content being viewed by others
Notes
References
Andersen, K., & Cornuejols, G. Y. L. (2005). Reduce-and-split cuts: Improving the performance of mixed integer gomory cuts. Management Science, 51, 1720–1732.
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.
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.
Avella, P., & Vasil’ev, I. (2005). A computational study of a cutting plane algorithm for university course timetabling. Journal of Scheduling, 8, 497–514.
Balas, E., Ceria, S., Cornueljols, G., & Natra, N. (1996). Gomory cuts revisited. Operations Research Letters, 19, 1–10.
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.
Boyd, E. (1994). Solving 0/1 integer programs with enumeration cutting planes. Annals of Operations Research, 50, 61–72.
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.
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.
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.
Cheang, B., Li, H., Lim, A., & Rodrigues, B. (2003). Nurse rostering problems-a bibliographic survey. European Journal of Operational Research, 151(3), 447–460.
Cornuéjols, G. (2007). Revival of the gomory cuts in the 1990s. Annals of Operations Research, 149(1), 63–66.
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.
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.
Fischetti, M., & Lodi, A. (2007). Optimizing over the first Chvàtal closure. Mathematical Programming B, 110(1), 3–20.
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.
Hansen, P., Mladenović, N., & Urosević, D. (2006). Variable neighborhood search and local branching. Computers & Operations Research, 33(10), 3034–3045.
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.
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.
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.
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.
Méndez-Díaz, I., & Zabala, P. (2008). A cutting plane algorithm for graph coloring. Discrete Applied Mathematics, 156, 159–179.
Mittelmann, H. (2012). Benchmarks for optimization software. http://plato.asu.edu/bench.html 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.
Padberg, M. (1973). On the facial structure of set packing polyhedra. Mathematical Programming, 5(1), 199–215.
Ralphs, T., Saltzman, M., Ladnyi, L. (2004). The COIN-OR Open Solver Interface: Technology Overview. http://www.coin-or.org/Presentations/CORS2004-OSI.pdf 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.
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.
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.
Wolsey, L. (1998). Integer programming. Wiley-interscience series in discrete mathematics and optimization. Chichester: Wiley.
Acknowledgments
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
Rights and permissions
About this article
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). https://doi.org/10.1007/s10479-014-1594-6
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10479-014-1594-6