Counting-Based Search: Branching Heuristics for Constraint Satisfaction Problems

Designing a search heuristic for constraint programming that is reliable across problem domains has been an important research topic in recent years. This paper concentrates on one family of candidates: counting-based search. Such heuristics seek to make branching decisions that preserve most of the solutions by determining what proportion of solutions to each individual constraint agree with that decision. Whereas most generic search heuristics in constraint programming rely on local information at the level of the individual variable, our search heuristics are based on more global information at the constraint level. We design several algorithms that are used to count the number of solutions to specific families of constraints and propose some search heuristics exploiting such information. The experimental part of the paper considers eight problem domains ranging from well-established benchmark puzzles to rostering and sport scheduling. An initial empirical analysis identifies heuristic maxSD as a robust candidate among our proposals. We then evaluate the latter against the state of the art, including the latest generic search heuristics, restarts, and discrepancy-based tree traversals. Experimental results show that counting-based search generally outperforms other generic heuristics.

[1]  Gilles Pesant,et al.  A Regular Language Membership Constraint for Finite Sequences of Variables , 2004, CP.

[2]  Robert M. Haralick,et al.  Increasing Tree Search Efficiency for Constraint Satisfaction Problems , 1979, Artif. Intell..

[3]  Barry O'Sullivan,et al.  The Impact of Search Heuristics on Heavy-Tailed Behaviour , 2006, Constraints.

[4]  Milind Dawande,et al.  A Class of Hard Small 0-1 Programs , 1998, INFORMS J. Comput..

[5]  Kostas Stergiou,et al.  Experimental Evaluation of Modern Variable Selection Strategies in Constraint Satisfaction Problems , 2008, RCRA.

[6]  Bart Selman,et al.  Boosting Combinatorial Search Through Randomization , 1998, AAAI/IAAI.

[7]  George W. Soules Permanental bounds for nonnegative matrices via decomposition , 2005 .

[8]  Vibhav Gogate,et al.  Counting-Based Look-Ahead Schemes for Constraint Satisfaction , 2004, CP.

[9]  Gilles Pesant,et al.  Counting Solutions of CSPs: A Structural Approach , 2005, IJCAI.

[10]  Shmuel Friedland An upper bound for the number of perfect matchings in graphs , 2008 .

[11]  Jean-Charles Régin The Symmetric Alldiff Constraint , 1999, IJCAI.

[12]  Peter van Beek,et al.  Improved Algorithms for the Global Cardinality Constraint , 2004, CP.

[13]  Jean-Charles Régin,et al.  A Filtering Algorithm for Constraints of Difference in CSPs , 1994, AAAI.

[14]  Daniel Brélaz,et al.  New methods to color the vertices of a graph , 1979, CACM.

[15]  Celso C. Ribeiro,et al.  The traveling tournament problem with predefined venues , 2009, J. Sched..

[16]  Richard A. Brualdi,et al.  Matrix factorizations of determinants and permanents , 1990, J. Comb. Theory, Ser. A.

[17]  Alessandro Zanarini,et al.  Improved Algorithm for the Soft Global Cardinality Constraint , 2006, CPAIOR.

[18]  Kostas Stergiou,et al.  On Conflict-driven variable ordering heuristics , 2008 .

[19]  Alessandro Zanarini,et al.  Efficient Generic Search Heuristics within the EMBP Framework , 2009, CP.

[20]  Toby Walsh,et al.  Search in a Small World , 1999, IJCAI.

[21]  Barbara M. Smith,et al.  Trying Harder to Fail First , 1998, ECAI.

[22]  Wei Shih,et al.  A Branch and Bound Method for the Multiconstraint Zero-One Knapsack Problem , 1979 .

[23]  D. Shmoys,et al.  Completing Quasigroups or Latin Squares: A Structured Graph Coloring Problem , 2002 .

[24]  Christian Bessiere,et al.  MAC and Combined Heuristics: Two Reasons to Forsake FC (and CBJ?) on Hard Problems , 1996, CP.

[25]  Daniel Br New Methods to Color the Vertices of a Graph , 1979 .

[26]  Norbert Seifter,et al.  Upper bounds for permanents of (1, − 1)-matrices , 1984 .

[27]  Richard J. Wallace,et al.  Learning to Identify Global Bottlenecks in Constraint Satisfaction Search , 2007, FLAIRS.

[28]  Lakhdar Sais,et al.  Boosting Systematic Search by Weighting Constraints , 2004, ECAI.

[29]  Richard J. Wallace,et al.  Sampling Strategies and Variable Selection in Weighted Degree Heuristics , 2007, CP.

[30]  Gilles Pesant,et al.  Counting Solutions of Knapsack Constraints , 2008, CPAIOR.

[31]  Michael A. Trick A Dynamic Programming Approach for Consistency and Propagation for Knapsack Constraints , 2003, Ann. Oper. Res..

[32]  Barry O'Sullivan,et al.  Guiding Search Using Constraint-Level Advice , 2006, ECAI.

[33]  Alessandro Zanarini,et al.  Recovering Indirect Solution Densities for Counting-Based Branching Heuristics , 2011, CPAIOR.

[34]  Fengshan Bai,et al.  An upper bound for the permanent of (0,1)-matrices , 2004 .

[35]  Henryk Minc,et al.  Upper bounds for permanents of $\left( {0,\,1} \right)$-matrices , 1963 .

[36]  Alessandro Zanarini,et al.  Solution counting algorithms for constraint-centered search heuristics , 2008, Constraints.

[37]  Noga Alon,et al.  The Maximum Number of Perfect Matchings in Graphs with a Given Degree Sequence , 2008, Electron. J. Comb..

[38]  Matthew L. Ginsberg,et al.  Limited Discrepancy Search , 1995, IJCAI.

[39]  Sheila A. McIlraith,et al.  Using Expectation Maximization to Find Likely Assignments for Solving CSP's , 2007, AAAI.

[40]  Alessandro Zanarini,et al.  More Robust Counting-Based Search Heuristics with Alldifferent Constraints , 2010, CPAIOR.

[41]  Leslie G. Valiant,et al.  The Complexity of Computing the Permanent , 1979, Theor. Comput. Sci..

[42]  Philippe Refalo,et al.  Impact-Based Search Strategies for Constraint Programming , 2004, CP.