Modelling Dynamic Programming-Based Global Constraints in Constraint Programming
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.
KeywordsConstraint 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.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
- 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
- 8.Focacci, F., Milano, M.: Connections and integrations of dynamic programming and constraint programming. In: CPAIOR 2001 (2001)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
- 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
- 19.Zhou, N.F., Kjellerstrand, H., Fruhman, J.: Constraint Solving and Planning with Picat. Springer (2015)Google Scholar