{"type":"ScholarlyArticle","title":"Optimizing Constraint Solving via Dynamic Programming","authors":[{"name":"Shu Lin","slug":"shu-lin","given":"Shu","family":"Lin","affiliation":"Department of Computer Science and Technology , Peking University , Beijing , China"},{"name":"Na Meng","slug":"na-meng","given":"Na","family":"Meng","affiliation":"Department of Computer Science , Virginia Tech , Blacksburg , VA , USA"},{"name":"Wenxin Li","slug":"wenxin-li","given":"Wenxin","family":"Li","affiliation":"Department of Computer Science and Technology , Peking University , Beijing , China"}],"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.","doi":"10.24963/ijcai.2019/160","url":"https://ijcai.org/proceedings/2019/160","pdf":"https://ijcai.org/proceedings/2019/0160.pdf","markdown":"https://ijcai.org/proceedings/2019/160.md","bibtex":"https://ijcai.org/proceedings/2019/bibtex/160","volume":{"slug":"2019","title":"Proceedings of the Twenty-Eighth International Joint Conference on Artificial Intelligence","short_title":"IJCAI 2019","url":"https://ijcai.org/proceedings/2019/","year":2019,"location":"Macao","dates":"10-16 August 2019","editors":"Sarit Kraus","isbn":"978-0-9992411-4-1","publisher":"International Joint Conferences on Artificial Intelligence Organization","doi_prefix":"10.24963/ijcai.2019"},"section":"Constraints and SAT","track":"Main track","number":160,"pages":{"first":1146,"last":1154},"keywords":["Constraints and SAT: Dynamic Programming","Constraints and SAT: Constraints: Solvers and Tools"],"videos":[],"references":[{"position":1,"raw":"[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.","title":"Minimum cardinality matrix decomposition into consecutive-ones matrices: CP and IP approaches","authors":"Baatar","year":"2007","venue":"International Conference on Integration of Artificial Intelligence (AI) and Operations Research (OR) Techniques in Constraint Programming","doi":null,"url":null,"internal_url":null},{"position":2,"raw":"[Bertsekas, 2000] Dimitri P. Bertsekas. Dynamic Program- ming and Optimal Control. Athena Scientific, 2nd edition, 2000.","title":"Dynamic Programming and Optimal Control","authors":"Dimitri P Bertsekas","year":"2000","venue":"Athena Scientific","doi":null,"url":null,"internal_url":null},{"position":3,"raw":"[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.","title":"Exploiting subproblem dominance in constraint programming","authors":"Geoffrey Chu, Maria Garcia De La Banda, Peter J Stuckey","year":"2012","venue":"Constraints","doi":null,"url":null,"internal_url":null},{"position":4,"raw":"[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.","title":"Introduction to Algorithms","authors":"H Thomas, Charles E Cormen, Ronald L Leiserson, Clifford Rivest, Stein","year":"2009","venue":null,"doi":null,"url":null,"internal_url":null},{"position":5,"raw":"[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.","title":"Compiling CP subprob-lems to MDDs and d-DNNFs","authors":"De Uña","year":"2019","venue":"Constraints","doi":null,"url":null,"internal_url":null},{"position":6,"raw":"[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.","title":"Autotabling for subproblem presolving in MiniZinc","authors":"J Jip, Gustav Dekker, Mats Björdal, Pierre Carlsson, Jean-Noël Flener, Monette","year":"2017","venue":"Constraints","doi":null,"url":null,"internal_url":null},{"position":7,"raw":"[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.","title":"Chapter 10 -Symmetry in Constraint Programming","authors":"Ian P Gent, Karen E Petrie, Jean-Franc ¸ois Puget","year":"2006","venue":"Foundations of Artificial Intelligence","doi":null,"url":null,"internal_url":null},{"position":8,"raw":"[Kitching and Bacchus, 2007] Matthew Kitching and Fahiem Bacchus. Symmetric component caching. In IJCAI, pages 118-124, 2007.","title":"Symmetric component caching","authors":"Matthew Kitching, Fahiem Bacchus","year":"2007","venue":"IJCAI","doi":null,"url":null,"internal_url":"/proceedings/2007/17"},{"position":9,"raw":"[Marinescu and Dechter, 2005] Radu Marinescu and Rina Dechter. AND/OR branch-and-bound for graphical mod- els. In IJCAI, pages 224-229, 2005.","title":"AND/OR branch-and-bound for graphical models","authors":"Radu Marinescu, Rina Dechter","year":"2005","venue":"IJCAI","doi":null,"url":null,"internal_url":"/proceedings/2005/206"},{"position":10,"raw":"[Moor, 1994] Oege De Moor. Categories, relations and dy- namic programming. Mathematical Structures in Com- puter Science, 4(1):33-69, 1994.","title":"Oege De Moor. Categories, relations and dynamic programming","authors":"Moor","year":"1994","venue":"Mathematical Structures in Computer Science","doi":null,"url":null,"internal_url":null},{"position":11,"raw":"[Morihata et al., 2014] Akimasa Morihata, Masato Koishi, and Atsushi Ohori. Dynamic Programming via Thinning and Incrementalization. Springer International Publishing, 2014.","title":"Dynamic Programming via Thinning and Incrementalization","authors":"Akimasa Morihata, Masato Koishi, Atsushi Ohori","year":"2014","venue":null,"doi":null,"url":null,"internal_url":null},{"position":12,"raw":"[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.","title":"MiniZinc: Towards a standard CP modelling language","authors":"Nicholas Nethercote, Peter J Stuckey, Ralph Becket, Sebastian Brand, Gregory J Duck, Guido Tack","year":"2007","venue":"Principles and Practice of Constraint Programming-CP 2007","doi":null,"url":null,"internal_url":null},{"position":13,"raw":"[Ohrimenko et al., 2009] Olga Ohrimenko, Peter J. Stuckey, and Michael Codish. Propagation via lazy clause genera- tion. Constraints, 14(3):357-391, 2009.","title":"Propagation via lazy clause generation","authors":"Olga Ohrimenko, Peter J Stuckey, Michael Codish","year":"2009","venue":"Constraints","doi":null,"url":null,"internal_url":null},{"position":14,"raw":"[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.","title":"Towards a closer integration of dynamic programming and constraint programming","authors":"Steven Prestwich, Roberto Rossi, S Armagan Tarim, Andrea Visentin","year":"2018","venue":"EPiC Series in Computing","doi":null,"url":null,"internal_url":null},{"position":15,"raw":"[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.","title":"Bellman's GAP: a declarative language for dynamic programming","authors":"Sauthoff","year":"2011","venue":"International ACM Sigplan Symposium on Principles and Practices of Declarative Programming","doi":null,"url":null,"internal_url":null},{"position":16,"raw":"[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.","title":"Gecode. Software download and online material at the website","authors":"Schulte","year":"2006","venue":null,"doi":null,"url":"-13","internal_url":null},{"position":17,"raw":"[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.","title":"Caching search states in permutation problems","authors":"Barbara M Smith","year":"2005","venue":"International Conference on Principles and Practice of Constraint Programming","doi":null,"url":null,"internal_url":null},{"position":18,"raw":"[Zhou et al., 2015] Neng-Fa Zhou, Håkan Kjellerstrand, and Jonathan Fruhman. Constraint solving and planning with Picat. Springer, 2015.","title":"Constraint solving and planning with Picat","authors":"Neng-Fa Zhou, Håkan Kjellerstrand, Jonathan Fruhman","year":"2015","venue":null,"doi":null,"url":null,"internal_url":null}],"license_note":"Copyright International Joint Conferences on Artificial Intelligence."}