Skip to main content
Log in

Solution counting algorithms for constraint-centered search heuristics

  • Published:
Constraints Aims and scope Submit manuscript

Abstract

Constraints have played a central role in cp because they capture key substructures of a problem and efficiently exploit them to boost inference. This paper intends to do the same thing for search, proposing constraint-centered heuristics which guide the exploration of the search space toward areas that are likely to contain a high number of solutions. We first propose new search heuristics based on solution counting information at the level of individual constraints. We then describe efficient algorithms to evaluate the number of solutions of two important families of constraints: occurrence counting constraints, such as alldifferent, and sequencing constraints, such as regular. In both cases we take advantage of existing filtering algorithms to speed up the evaluation. Experimental results on benchmark problems show the effectiveness of our approach.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Barvinok, A. (1999). Polynomial time algorithms to approximate permanents and mixed discriminants within a simply exponential factor. Random Structures and Algorithms, 14, 29–61.

    Article  MATH  MathSciNet  Google Scholar 

  2. Beck, J. C. (2007). Solution-guided multi-point constructive search for job shop scheduling. Journal of Artificial Intelligence Research, 29, 49–77.

    MATH  Google Scholar 

  3. Chien, S., Rasmussen, L., & Sinclair, A. (2002). Clifford algebras and approximating the permanent. In Proceedings of the thirty-fourth annual ACM symposium on theory of computing (STOC 2002) (pp. 222–231). New York: ACM.

    Google Scholar 

  4. Fürer, M., & Kasiviswanathan, S. P. (2004). An almost linear time approximation algorithm for the permanent of a random (0-1) matrix. In Proceedings of the twenty-fourth international conference on foundations of software technology and theoretical computer science (FSTTCS 2004) (Vol. 3258, pp. 54–61). New York: Springer.

    Google Scholar 

  5. Gomes, C. (2003). Complete randomized backtrack search. In M. Milano (Ed.), Constraint and integer programming: Toward a unified methodology (pp. 233–283). Deventer: Kluwer.

    Google Scholar 

  6. Gomes, C., & Shmoys, D. (2002). Completing quasigroups or Latin squares: A structured graph coloring problem. In Proceedings of computational symposium on graph coloring and generalizations (COLOR 2002) (pp. 22–39).

  7. Gogate, V., & Dechter, R. (2007). Approximate counting by sampling the backtrack-free search space. In Proceedings of the twenty-second national conference on artificial intelligence (AAAI 2007) (pp. 198–203). Menlo Park: AAAI.

    Google Scholar 

  8. Gomes, C. P., Sabharwal, A., & Selman, B. (2006). Model counting: A new strategy for obtaining good bounds. In Proceedings of the twenty-first national conference on artificial intelligence (AAAI 2006) (pp. 54–61).

  9. Hsu, E. I., Kitching, M., Bacchus, F., & McIlraith, S. A. (2007). Using EM to find likely assignments for solving CSP’s. In Proceedings of the twenty-second national conference on artificial intelligence (AAAI 2007) (pp. 224–230). Menlo Park: AAAI.

    Google Scholar 

  10. Huber, M. (2006). Exact sampling from perfect matchings of dense regular bipartite graphs. Algorithmica, 44(3), 183–193.

    Article  MATH  MathSciNet  Google Scholar 

  11. Jerrum, M., Sinclair, A., & Vigoda, E. (2001). A polynomial-time approximation algorithm for the permanent of a matrix with non-negative entries. In Proceedings of the thirty-third annual ACM symposium on theory of computing (STOC 2001) (pp. 712–721). New York: ACM.

    Chapter  Google Scholar 

  12. Linial, N., Samorodnitsky, A., & Wigderson, A. (2000). A deterministic strongly polynomial algorithm for matrix scaling and approximate permanents. Combinatorica, 20(4), 545–568.

    Article  MATH  MathSciNet  Google Scholar 

  13. Kask, K., Dechter, R., & Gogate, V. (2004). Counting-based look-ahead schemes for constraint satisfaction. In Proceedings of the tenth international conference on principles and practice of constraint programming (CP 2004) (Vol. 3258, pp. 317–331). New York: Springer.

    Google Scholar 

  14. Patel, J., & Chinneck, J. W. (2006). Active-constraint variable ordering for faster feasibility of mixed integer linear programs. Mathematical Programming, 110(3), 445–474.

    Article  MathSciNet  Google Scholar 

  15. Pesant, G. (2004). A regular language membership constraint for finite sequences of variables. In Proceedings of the tenth international conference on principles and practice of constraint programming (CP 2004) (Vol. 3258, pp. 482–495). New York: Springer.

    Google Scholar 

  16. Pesant, G. (2005). Counting solutions of CSPs: A structural approach. In Proceedings of the nineteenth international joint conference on artificial intelligence (IJCAI 2005) (pp. 260–265).

  17. Pesant, G., & Quimper, C.-G. (2008). Counting solutions of Knapsack constraints. In Proceedings of the fifth international conference on integration of AI and OR techniques in constraint programming for combinatorial optimization problems (CPAIOR 2008) (pp. 203–217).

  18. Rasmussen, L. E. (1994). Approximating the permanent: A simple approach. Random Structures and Algorithms, 5(2), 349–361.

    Article  MATH  MathSciNet  Google Scholar 

  19. Refalo, P. (2004). Impact-based search strategies for constraint programming. In Proceedings of the tenth international conference on principles and practice of constraint programming (CP 2004) (Vol. 3258, pp. 557–571). New York: Springer.

    Google Scholar 

  20. Régin, J.-C. (1994). A filtering algorithm for constraints of difference in CSPs. In Procedings of the twelfth national conference on artificial intelligence (AAAI 1994) (pp. 362–367). Menlo Park: AAAI.

    Google Scholar 

  21. Ryser, H. J. (1963). Combinatorial mathematics. Carus Mathematical Monographs No. 14. New York: Wiley.

    Google Scholar 

  22. Sellmann, M., & Ansotegui C. (2006). Disco - Novo - GoGo: Integrating local search and complete search with restarts. In Twenty-first national conference on artificial intelligence (AAAI 2006) (pp. 1051–1056). Menlo Park: AAAI.

    Google Scholar 

  23. Valiant, L. G. (1979). The complexity of computing the permanent. Theoretical Computer Science, 8(2), 189–201.

    Article  MATH  MathSciNet  Google Scholar 

  24. Zanarini, A., & Pesant, G. (2007). Solution counting algorithms for constraint-centered search heuristics. In Proceedings of the thirteenth international conference on principles and practice of constraint programming (CP 2007) (Vol. 4741, pp. 743–757). New York: Springer.

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alessandro Zanarini.

Additional information

An earlier version of this paper appeared as [24].

Rights and permissions

Reprints and permissions

About this article

Cite this article

Zanarini, A., Pesant, G. Solution counting algorithms for constraint-centered search heuristics. Constraints 14, 392–413 (2009). https://doi.org/10.1007/s10601-008-9065-9

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10601-008-9065-9

Keywords

Navigation