Skip to main content

Modelling Dynamic Programming-Based Global Constraints in Constraint Programming

Part of the Advances in Intelligent Systems and Computing book series (AISC,volume 991)

Abstract

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.

Keywords

  • Constraint programming
  • Dynamic programming
  • MIP
  • Encoding

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-030-21803-4_42
  • Chapter length: 11 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   189.00
Price excludes VAT (USA)
  • ISBN: 978-3-030-21803-4
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   249.99
Price excludes VAT (USA)
Fig. 1.
Fig. 2.
Fig. 3.

References

  1. Beldiceanu, N., Carlsson, M., Rampon, J.X.: Global constraint catalog, (revision a) (2012)

    Google Scholar 

  2. Bellman, R.: The theory of dynamic programming. Technical report, RAND Corp Santa Monica CA (1954)

    Google Scholar 

  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. Bradley, S.P., Hax, A.C., Magnanti, T.L.: Applied Mathematical Programming. Addison Wesley (1977)

    Google Scholar 

  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. Dantzig, G.B., Wolfe, P.: Decomposition principle for linear programs. Oper. Res. 8(1), 101–111 (1960)

    Google Scholar 

  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. Focacci, F., Milano, M.: Connections and integrations of dynamic programming and constraint programming. In: CPAIOR 2001 (2001)

    Google Scholar 

  9. Freuder, E.C.: Progress towards the holy grail. Constraints 23(2), 158–171 (2018)

    Google Scholar 

  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. Martello, S.: Knapsack Problems: Algorithms and Computer Implementations. Wiley-Interscience Series in Discrete Mathematics and Optimization (1990)

    Google Scholar 

  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. Martin, R.K.: Generating alternative mixed-integer programming models using variable redefinition. Oper. Res. 35(6), 820–831 (1987)

    Google Scholar 

  14. Pisinger, D.: A minimal algorithm for the 0–1 knapsack problem. Oper. Res. 45(5), 758–767 (1997)

    Google Scholar 

  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. 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. 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. 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. Zhou, N.F., Kjellerstrand, H., Fruhman, J.: Constraint Solving and Planning with Picat. Springer (2015)

    Google Scholar 

Download references

Acknowledgments

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.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Andrea Visentin .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Verify currency and authenticity via CrossMark

Cite this paper

Visentin, A., Prestwich, S.D., Rossi, R., Tarim, A. (2020). Modelling Dynamic Programming-Based Global Constraints in Constraint Programming. In: Le Thi, H., Le, H., Pham Dinh, T. (eds) Optimization of Complex Systems: Theory, Models, Algorithms and Applications. WCGO 2019. Advances in Intelligent Systems and Computing, vol 991. Springer, Cham. https://doi.org/10.1007/978-3-030-21803-4_42

Download citation