Proceedings

Optimizing Constraint Solving via Dynamic Programming

Download BibTeX Cite

Proceedings of the Twenty-Eighth International Joint Conference on Artificial Intelligence. Main track. Pages 1146-1154.

https://doi.org/10.24963/ijcai.2019/160

Abstract

Constraint optimization problems (COP) on finite domains are typically solved via search. Many problems (e.g., 0-1 knapsack) involve redundant search, making a general constraint solver revisit the same subproblems again and again. Existing approaches use caching, symmetry breaking, subproblem dominance, or search with decomposition to prune the search space of constraint problems. In this paper we present a different approach--DPSolver--which uses dynamic programming (DP) to efficiently solve certain types of constraint optimization problems (COPs). Given a COP modeled with MiniZinc, DPSolver first analyzes the model to decide whether the problem is efficiently solvable with DP. If so, DPSolver refactors the constraints and objective functions to model the problem as a DP problem. Finally, DPSolver feeds the refactored model to Gecode--a widely used constraint solver--for the optimal solution. Our evaluation shows that DPSolver significantly improves the performance of constraint solving.

  1. [Baatar et al., 2007] Davaatseren Baatar, Natashia Boland, Sebastian Brand, and Peter J. Stuckey. Minimum cardi- nality matrix decomposition into consecutive-ones matri- ces: CP and IP approaches. In International Conference on Integration of Artificial Intelligence (AI) and Opera- tions Research (OR) Techniques in Constraint Program- ming, pages 1-15. Springer, 2007.
  2. [Bertsekas, 2000] Dimitri P. Bertsekas. Dynamic Program- ming and Optimal Control. Athena Scientific, 2nd edition, 2000.
  3. [Chu et al., 2012] Geoffrey Chu, Maria Garcia de la Banda, and Peter J. Stuckey. Exploiting subproblem dominance in constraint programming. Constraints, 17(1):1-38, 2012.
  4. [Cormen et al., 2009] Thomas H. Cormen, Charles E. Leis- erson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms, third edition. MIT Press, 2009.
  5. [de Uña et al., 2019] Diego de Uña, Graeme Gange, Peter Schachte, and Peter J. Stuckey. Compiling CP subprob- lems to MDDs and d-DNNFs. Constraints, 24(1):56-93, 2019.
  6. [Dekker et al., 2017] Jip J. Dekker, Gustav Björdal, Mats Carlsson, Pierre Flener, and Jean-Noël Monette. Auto- tabling for subproblem presolving in MiniZinc. Con- straints, 22(4):512-529, 2017.
  7. [Gent et al., 2006] Ian P. Gent, Karen E. Petrie, and Jean- Franc ¸ois Puget. Chapter 10 -Symmetry in Constraint Programming. In Francesca Rossi, Peter van Beek, and Toby Walsh, editors, Handbook of Constraint Program- ming, volume 2 of Foundations of Artificial Intelligence, pages 329 -376. Elsevier, 2006.
  8. [Kitching and Bacchus, 2007] Matthew Kitching and Fahiem Bacchus. Symmetric component caching. In IJCAI, pages 118-124, 2007. IJCAI
  9. [Marinescu and Dechter, 2005] Radu Marinescu and Rina Dechter. AND/OR branch-and-bound for graphical mod- els. In IJCAI, pages 224-229, 2005. IJCAI
  10. [Moor, 1994] Oege De Moor. Categories, relations and dy- namic programming. Mathematical Structures in Com- puter Science, 4(1):33-69, 1994.
  11. [Morihata et al., 2014] Akimasa Morihata, Masato Koishi, and Atsushi Ohori. Dynamic Programming via Thinning and Incrementalization. Springer International Publishing, 2014.
  12. [Nethercote et al., 2007] Nicholas Nethercote, Peter J. Stuckey, Ralph Becket, Sebastian Brand, Gregory J. Duck, and Guido Tack. MiniZinc: Towards a standard CP modelling language. Principles and Practice of Constraint Programming-CP 2007, pages 529-543, 2007.
  13. [Ohrimenko et al., 2009] Olga Ohrimenko, Peter J. Stuckey, and Michael Codish. Propagation via lazy clause genera- tion. Constraints, 14(3):357-391, 2009.
  14. [Prestwich et al., 2018] Steven Prestwich, Roberto Rossi, S. Armagan Tarim, and Andrea Visentin. Towards a closer integration of dynamic programming and constraint pro- gramming. EPiC Series in Computing, 55:202-214, 2018.
  15. [Sauthoff et al., 2011] Georg Sauthoff, Stefan Janssen, and Robert Giegerich. Bellman's GAP: a declarative language for dynamic programming. In International ACM Sig- plan Symposium on Principles and Practices of Declar- ative Programming, pages 29-40, 2011.
  16. [Schulte et al., 2006] Christian Schulte, Mikael Lagerkvist, and Guido Tack. Gecode. Software download and online material at the website: http://www.gecode.org, pages 11- 13, 2006. Link
  17. [Smith, 2005] Barbara M. Smith. Caching search states in permutation problems. In International Conference on Principles and Practice of Constraint Programming, pages 637-651. Springer, 2005.
  18. [Zhou et al., 2015] Neng-Fa Zhou, Håkan Kjellerstrand, and Jonathan Fruhman. Constraint solving and planning with Picat. Springer, 2015.

References were extracted automatically from the PDF and may contain errors.

Welcome Future Conferences AI Journal Division IJCAI Proceedings About IJCAI IJCAI Awards