A Constraint Programming Approach to Ship Refit Project Scheduling

Authors Raphaël Boudreault , Vanessa Simard , Daniel Lafond , Claude-Guy Quimper

Thumbnail PDF


  • Filesize: 0.77 MB
  • 16 pages

Document Identifiers

Author Details

Raphaël Boudreault
  • Thales Digital Solutions, Québec, Canada
Vanessa Simard
  • NQB.ai, Québec, Canada
Daniel Lafond
  • Thales Digital Solutions, Québec, Canada
Claude-Guy Quimper
  • Université Laval, Québec, Canada


Thanks are due to the many members of the Refit Optimizer project team and our collaborators at Dalhousie University, Polytechnique Montréal, Sōdan, Simwell and Genoa Design International. We are very grateful to the many domain experts consulted and to Seaspan Victoria Shipyards for their invaluable feedback.

Cite AsGet BibTex

Raphaël Boudreault, Vanessa Simard, Daniel Lafond, and Claude-Guy Quimper. A Constraint Programming Approach to Ship Refit Project Scheduling. In 28th International Conference on Principles and Practice of Constraint Programming (CP 2022). Leibniz International Proceedings in Informatics (LIPIcs), Volume 235, pp. 10:1-10:16, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2022)


Ship refit projects require ongoing plan management to adapt to arising work and disruptions. Planners must sequence work activities in the best order possible to complete the project in the shortest time or within a defined period while minimizing overtime costs. Activity scheduling must consider milestones, resource availability constraints, and precedence relations. We propose a constraint programming approach for detailed ship refit planning at two granularity levels, daily and hourly schedule. The problem was modeled using the Cumulative global constraint, and the Solution-Based Phase Saving heuristic was used to speedup the search, thus achieving the industrialization goals. Based on the evaluation of seven realistic instances over three objectives, the heuristic strategy proved to be significantly faster to find better solutions than using a baseline search strategy. The method was integrated into Refit Optimizer, a cloud-based prototype solution that can import projects from Primavera P6 and optimize plans.

Subject Classification

ACM Subject Classification
  • Computing methodologies → Planning and scheduling
  • Theory of computation → Constraint and logic programming
  • Ship refit
  • planning
  • project management
  • constraint programming
  • scheduling
  • optimization
  • resource-constrained project scheduling problem


  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    PDF Downloads


  1. Abderrahmane Aggoun and Nicolas Beldiceanu. Extending chip in order to solve complex scheduling and placement problems. Mathematical and Computer Modelling, 17(7):57-73, April 1993. URL: https://doi.org/10.1016/0895-7177(93)90068-A.
  2. Rashpal Ahluwalia and Denis Pinha. Decision support system for production planning in the ship repair industry. Industrial and Systems Engineering Review, 2(1):52-61, July 2014. Google Scholar
  3. Christian Artigues, Oumar Koné, Pierre Lopez, Marcel Mongeau, Emmanuel Néron, and David Rivreau. Benchmark instance indicators and computational comparison of methods. In Resource-Constrained Project Scheduling, pages 107-135. John Wiley & Sons, Ltd, 2008. Google Scholar
  4. Philippe Baptiste, Claude Le Pape, and Wim Nuitjen. Constraint-Based Scheduling: Applying Constraint Programming to Scheduling Problems. International Series in Operations Research & Management Science. Springer, Boston, MA, first edition, 2001. Google Scholar
  5. Philippe Baptiste and Claude Le Pape. Constraint propagation and decomposition techniques for highly disjunctive and highly cumulative project scheduling problems. Constraints, 5(1):119-139, January 2000. URL: https://doi.org/10.1023/A:1009822502231.
  6. Nicolas Beldiceanu and Mats Carlsson. A new multi-resource cumulatives constraint with negative heights. In Pascal Van Hentenryck, editor, Principles and Practice of Constraint Programming - CP 2002, Lecture Notes in Computer Science, pages 63-79, Berlin, Heidelberg, 2002. Springer. URL: https://doi.org/10.1007/3-540-46135-3_5.
  7. J. Blazewicz, J. K. Lenstra, and A. H. G. Rinnooy Kan. Scheduling subject to resource constraints: Classification and complexity. Discrete Applied Mathematics, 5(1):11-24, January 1983. URL: https://doi.org/10.1016/0166-218X(83)90012-4.
  8. Jacques Carlier and Emmanuel Néron. On linear lower bounds for the resource constrained project scheduling problem. European Journal of Operational Research, 149:314-324, September 2003. URL: https://doi.org/10.1016/S0377-2217(02)00763-4.
  9. Geoffrey G. Chu. Improving Combinatorial Optimization. PhD thesis, The University of Melbourne, 2011. GitHub: URL: https://github.com/chuffed/chuffed.
  10. Bert De Reyck and Willy Herroelen. On the use of the complexity index as a measure of complexity in activity networks. European Journal of Operational Research, 91(2):347-366, June 1996. URL: https://doi.org/10.1016/0377-2217(94)00344-0.
  11. Sophie Demassey. Mathematical programming formulations and lower bounds. In Resource-Constrained Project Scheduling: Models, Algorithms, Extensions and Applications, pages 49-62. John Wiley & Sons, Ltd, 2008. Google Scholar
  12. Erik L. Demeulemeester and Willy S. Herroelen. New benchmark results for the resource-constrained project scheduling problem. Management Science, 43(11):1485-1492, November 1997. URL: https://doi.org/10.1287/mnsc.43.11.1485.
  13. Emir Demirović, Geoffrey Chu, and Peter J. Stuckey. Solution-Based Phase Saving for CP: A Value-Selection Heuristic to Simulate Local Search Behavior in Complete Solvers. In John Hooker, editor, Principles and Practice of Constraint Programming, Lecture Notes in Computer Science, pages 99-108, Cham, 2018. Springer International Publishing. URL: https://doi.org/10.1007/978-3-319-98334-9_7.
  14. Hamed Fahimi, Yanick Ouellet, and Claude-Guy Quimper. Linear-time filtering algorithms for the disjunctive constraint and a quadratic filtering algorithm for the cumulative not-first not-last. Constraints, 23(3):272-293, July 2018. URL: https://doi.org/10.1007/s10601-018-9282-9.
  15. Thibaut Feydy, Adrian Goldwaser, Andreas Schutt, Peter J Stuckey, and Kenneth D Young. Priority Search with MiniZinc. In ModRef 2017: The Sixteenth International Workshop on Constraint Modelling and Reformulation, 2017. Google Scholar
  16. Sönke Hartmann and Dirk Briskorn. An updated survey of variants and extensions of the resource-constrained project scheduling problem. European Journal of Operational Research, 297(1):1-14, February 2022. URL: https://doi.org/10.1016/j.ejor.2021.05.004.
  17. Willy Herroelen, Bert De Reyck, and Erik Demeulemeester. Resource-constrained project scheduling: A survey of recent developments. Computers & Operations Research, 25(4):279-302, April 1998. URL: https://doi.org/10.1016/S0305-0548(97)00055-5.
  18. IBM Maximo Application Suite. IBM, 2021. Website: URL: https://www.ibm.com/ca-en/products/maximo.
  19. Rainer Kolisch and Arno Sprecher. PSPLIB - A project scheduling problem library. European Journal of Operational Research, 96(1):205-216, January 1997. URL: https://doi.org/10.1016/S0377-2217(96)00170-1.
  20. Oumar Koné, Christian Artigues, Pierre Lopez, and Marcel Mongeau. Event-based MILP models for resource-constrained project scheduling problems. Computers & Operations Research, 38(1):3-13, January 2011. URL: https://doi.org/10.1016/j.cor.2009.12.011.
  21. Philippe Laborie. Complete MCS-based search: Application to resource constrained project scheduling. In Proceedings of the 19th International Joint Conference on Artificial Intelligence, IJCAI'05, pages 181-186, San Francisco, CA, USA, July 2005. Morgan Kaufmann Publishers Inc. Google Scholar
  22. Daniel Lafond, Dave Couture, Justin Delaney, Jessica Cahill, Colin Corbett, and Gaston Lamontagne. Multi-objective schedule optimization for ship refit projects: Toward geospatial constraints management. In Tareq Ahram, Redha Taiar, and Fabienne Groff, editors, Human Interaction, Emerging Technologies and Future Applications IV, Advances in Intelligent Systems and Computing, pages 662-669, Cham, 2021. Springer International Publishing. URL: https://doi.org/10.1007/978-3-030-74009-2_84.
  23. Kevin Leo and Guido Tack. Debugging unsatisfiable constraint models. In Domenico Salvagnin and Michele Lombardi, editors, Integration of AI and OR Techniques in Constraint Programming, Lecture Notes in Computer Science, pages 77-93, Cham, 2017. Springer International Publishing. GitLab: https://gitlab.com/minizinc/FindMUS. URL: https://doi.org/10.1007/978-3-319-59776-8_7.
  24. Anthony A. Mastor. An experimental investigation and comparative evaluation of production line balancing techniques. Management Science, 16(11):728-746, July 1970. URL: https://doi.org/10.1287/mnsc.16.11.728.
  25. Microsoft Project. Microsoft, 2019. Website: URL: https://www.microsoft.com/en-ca/microsoft-365/project/project-management-software.
  26. M.W. Moskewicz, C.F. Madigan, Y. Zhao, L. Zhang, and S. Malik. Chaff: Engineering an efficient SAT solver. In Proceedings of the 38th Design Automation Conference, pages 530-535, June 2001. URL: https://doi.org/10.1145/378239.379017.
  27. Nicholas Nethercote, Peter J. Stuckey, Ralph Becket, Sebastian Brand, Gregory J. Duck, and Guido Tack. MiniZinc: Towards a standard CP modelling language. In Christian Bessière, editor, Principles and Practice of Constraint Programming endash CP 2007, Lecture Notes in Computer Science, pages 529-543, Berlin, Heidelberg, 2007. Springer. Website: https://www.minizinc.org/. URL: https://doi.org/10.1007/978-3-540-74970-7_38.
  28. Olga Ohrimenko, Peter J. Stuckey, and Michael Codish. Propagation via lazy clause generation. Constraints, 14(3):357-391, September 2009. URL: https://doi.org/10.1007/s10601-008-9064-x.
  29. Yanick Ouellet and Claude-Guy Quimper. A O(n log ² n) checker and O(n² log n) filtering algorithm for the energetic reasoning. In Willem-Jan van Hoeve, editor, Integration of Constraint Programming, Artificial Intelligence, and Operations Research, Lecture Notes in Computer Science, pages 477-494, Cham, 2018. Springer International Publishing. URL: https://doi.org/10.1007/978-3-319-93031-2_34.
  30. Robert Pellerin, Nathalie Perrier, and François Berthaut. A survey of hybrid metaheuristics for the resource-constrained project scheduling problem. European Journal of Operational Research, 280(2):395-416, January 2020. URL: https://doi.org/10.1016/j.ejor.2019.01.063.
  31. Laurent Perron and Vincent Furnon. OR-Tools. Google, 2022. Website: URL: https://developers.google.com/optimization/.
  32. David Pisinger and Stefan Ropke. Large Neighborhood Search. In Michel Gendreau and Jean-Yves Potvin, editors, Handbook of Metaheuristics, International Series in Operations Research & Management Science, pages 399-419. Springer US, Boston, MA, 2010. URL: https://doi.org/10.1007/978-1-4419-1665-5_13.
  33. Primavera P6 Enterprise Project Portfolio Management (P6 EPPM). Oracle, 2022. Website: URL: https://docs.oracle.com/en/industries/construction-engineering/primavera-p6-project/index.html.
  34. A. Alan B. Pritsker, Lawrence J. Waiters, and Philip M. Wolfe. Multiproject scheduling with limited resources: A zero-one programming approach. Management Science, September 1969. URL: https://doi.org/10.1287/mnsc.16.1.93.
  35. Robert Richards and Richard Stottler. Complex project scheduling lessons learned from NASA, boeing, general dynamics and others. In 2019 IEEE Aerospace Conference, pages 1-9, March 2019. URL: https://doi.org/10.1109/AERO.2019.8741996.
  36. Francesca Rossi, Peter van Beek, and Toby Walsh, editors. Handbook of Constraint Programming, volume 2 of Foundations of Artificial Intelligence. Elsevier, 2006. Google Scholar
  37. Andreas Schutt, Thibaut Feydy, and Peter J. Stuckey. Explaining time-table-edge-finding propagation for the cumulative resource constraint. In Carla Gomes and Meinolf Sellmann, editors, Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems, Lecture Notes in Computer Science, pages 234-250, Berlin, Heidelberg, 2013. Springer. URL: https://doi.org/10.1007/978-3-642-38171-3_16.
  38. Andreas Schutt, Thibaut Feydy, Peter J. Stuckey, and Mark G. Wallace. Explaining the cumulative propagator. Constraints, 16(3):250-282, July 2011. URL: https://doi.org/10.1007/s10601-010-9103-2.
  39. Paul Shaw. Using Constraint Programming and Local Search Methods to Solve Vehicle Routing Problems. In Michael Maher and Jean-Francois Puget, editors, Principles and Practice of Constraint Programming emdash CP98, Lecture Notes in Computer Science, pages 417-431, Berlin, Heidelberg, 1998. Springer. URL: https://doi.org/10.1007/3-540-49481-2_30.
  40. Arno Sprecher. Scheduling resource-constrained projects competitively at modest memory requirements. Management Science, 46(5):710-723, 2000. Google Scholar
  41. Petr Vilím. Timetable edge finding filtering algorithm for discrete cumulative resources. In Tobias Achterberg and J. Christopher Beck, editors, Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems, Lecture Notes in Computer Science, pages 230-245, Berlin, Heidelberg, 2011. Springer. URL: https://doi.org/10.1007/978-3-642-21311-3_22.
  42. Julien Vion and Sylvain Piechowiak. Une simple heuristique pour rapprocher DFS et LNS pour les COP. In Actes des 13e Journées Francophones de la Programmation par Contraintes, JFPC 2017, pages 38-45, Montreuil sur Mer, France, June 2017. Google Scholar