Modelling Dynamic Programming-Based Global Constraints in Constraint Programming

  • Andrea VisentinEmail author
  • Steven D. Prestwich
  • Roberto Rossi
  • Armagan Tarim
Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 991)


Dynamic Programming (DP) can solve many complex problems in polynomial or pseudo-polynomial time, and it is widely used in Constraint Programming (CP) to implement powerful global constraints. Implementing such constraints is a nontrivial task beyond the capability of most CP users, who must rely on their CP solver to provide an appropriate global constraint library. This also limits the usefulness of generic CP languages, some or all of whose solvers might not provide the required constraints. A technique was recently introduced for directly modelling DP in CP, which provides a way around this problem. However, no comparison of the technique with other approaches was made, and it was missing a clear formalisation. In this paper we formalise the approach and compare it with existing techniques on MiniZinc benchmark problems, including the flow formulation of DP in Integer Programming. We further show how it can be improved by state reduction methods.


Constraint programming Dynamic programming MIP Encoding 



This publication has emanated from research supported in part by a research grant from Science Foundation Ireland (SFI) under Grant Number SFI/12/RC/2289 which is co-funded under the European Regional Development Fund.


  1. 1.
    Beldiceanu, N., Carlsson, M., Rampon, J.X.: Global constraint catalog, (revision a) (2012)Google Scholar
  2. 2.
    Bellman, R.: The theory of dynamic programming. Technical report, RAND Corp Santa Monica CA (1954)Google Scholar
  3. 3.
    Bergman, D., Cire, A.A., van Hoeve, W.J., Hooker, J.N.: Discrete optimization with decision diagrams. INFORMS J. Comput. 28(1), 47–66 (2016)Google Scholar
  4. 4.
    Bradley, S.P., Hax, A.C., Magnanti, T.L.: Applied Mathematical Programming. Addison Wesley (1977)Google Scholar
  5. 5.
    Chu, G., Stuckey, P.J.: Minimizing the maximum number of open stacks by customer search. In: International Conference on Principles and Practice of Constraint Programming, pp. 242–257. Springer (2009)Google Scholar
  6. 6.
    Dantzig, G.B., Wolfe, P.: Decomposition principle for linear programs. Oper. Res. 8(1), 101–111 (1960)Google Scholar
  7. 7.
    Eppen, G.D., Martin, R.K.: Solving multi-item capacitated lot-sizing problems using variable redefinition. Oper. Res. 35(6), 832–848 (1987)Google Scholar
  8. 8.
    Focacci, F., Milano, M.: Connections and integrations of dynamic programming and constraint programming. In: CPAIOR 2001 (2001)Google Scholar
  9. 9.
    Freuder, E.C.: Progress towards the holy grail. Constraints 23(2), 158–171 (2018)Google Scholar
  10. 10.
    Malitsky, Y., Sellmann, M., van Hoeve, W.J.: Length-lex bounds consistency for knapsack constraints. In: International Conference on Principles and Practice of Constraint Programming, pp. 266–281. Springer (2008)Google Scholar
  11. 11.
    Martello, S.: Knapsack Problems: Algorithms and Computer Implementations. Wiley-Interscience Series in Discrete Mathematics and Optimization (1990)Google Scholar
  12. 12.
    Martello, S., Pisinger, D., Toth, P.: New trends in exact algorithms for the 0–1 knapsack problem. Eur. J. Oper. Res. 123(2), 325–332 (2000)Google Scholar
  13. 13.
    Martin, R.K.: Generating alternative mixed-integer programming models using variable redefinition. Oper. Res. 35(6), 820–831 (1987)Google Scholar
  14. 14.
    Pisinger, D.: A minimal algorithm for the 0–1 knapsack problem. Oper. Res. 45(5), 758–767 (1997)Google Scholar
  15. 15.
    Plateau, G., Nagih, A.: 0–1 knapsack problems. In: Paradigms of Combinatorial Optimization: Problems and New Approaches, vol. 2, pp. 215–242 (2013)Google Scholar
  16. 16.
    Prestwich, S.D., Rossi, R., Tarim, S.A., Visentin, A.: Towards a closer integration of dynamic programming and constraint programming. In: 4th Global Conference on Artificial Intelligence (2018)Google Scholar
  17. 17.
    Quimper, C.G., Walsh, T.: Global grammar constraints. In: International Conference on Principles and Practice of Constraint Programming, pp. 751–755. Springer (2006)Google Scholar
  18. 18.
    Stuckey, P.J., Feydy, T., Schutt, A., Tack, G., Fischer, J.: The minizinc challenge 2008–2013. AI Mag. 35(2), 55–60 (2014)Google Scholar
  19. 19.
    Zhou, N.F., Kjellerstrand, H., Fruhman, J.: Constraint Solving and Planning with Picat. Springer (2015)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  • Andrea Visentin
    • 1
    Email author
  • Steven D. Prestwich
    • 1
  • Roberto Rossi
    • 2
  • Armagan Tarim
    • 3
  1. 1.Insight Centre for Data AnalyticsUniversity College CorkCorkIreland
  2. 2.University of Edinburgh Business SchoolEdinburghUK
  3. 3.Cork University Business SchoolUniversity College CorkCorkIreland

Personalised recommendations