Skip to main content

Exploiting subproblem dominance in constraint programming


Many search problems contain large amounts of redundancy in the search. In this paper we examine how to automatically exploit subproblem dominance, which arises when different partial assignments lead to subproblems that dominate (or are dominated by) other subproblems. Subproblem dominance is exploited by caching subproblems that have already been explored by the search, using keys that characterise the subproblems, and failing the search when the current subproblem is dominated by a subproblem already in the cache. In this paper we show how we can automatically and efficiently define keys for arbitrary constraint problems using constraint projection. We show how, for search problems where subproblem dominance arises, a constraint programming solver with this capability can solve these problems orders of magnitude faster than solvers without caching. The system is fully automatic, i.e., subproblem dominance is detected and exploited without any effort from the problem modeller.

This is a preview of subscription content, access via your institution.


  1. Aggoun, A., & Beldiceanu, N. (1993). Extending CHIP in order to solve complex scheduling and placement problems. Mathematical and Computer Modelling, 17(7), 57–73.

    MathSciNet  Article  Google Scholar 

  2. Baatar, D., Boland, N., Brand, S., & Stuckey, P. J. (2007). Minimum cardinality matrix decomposition into consecutive-ones matrices: CP and IP approaches. In Proc. of CPAIOR 2007 (pp. 1–15).

  3. Bellman, R. (1957). Dynamic programming. Princeton: Princeton University Press.

    MATH  Google Scholar 

  4. Chu, G., & Stuckey, P. J. (2009). Minimizing the maximum number of open stacks by customer search. In Proceedings of CP 2009 (pp. 242–257).

  5. Fahle, T., Schamberger, S., & Sellmann, M. (2001). Symmetry breaking. In Proceedings of CP 2001 (pp. 93–107).

  6. Fukunaga, A., & Korf, R. (2007). Bin completion algorithms for multicontainer packing, knapsack, and covering problems. Journal of Artificial Intelligence Research (JAIR), 28, 393–429.

    MathSciNet  MATH  Google Scholar 

  7. Garcia de la Banda, M., & Stuckey, P. J. (2007). Dynamic programming to minimize the maximum number of open stacks. INFORMS JOC, 19(4), 607–617.

    MathSciNet  Article  Google Scholar 

  8. Gent, I., Kelsey, T., Linton, S., McDonald, I., Miguel, I., & Smith, B. (2005). Conditional symmetry breaking. In Proceedings of CP 2005 (pp. 256–270).

  9. Gent, I., Petrie, K., & Puget, J.-F. (2006). Symmetry in constraint programming. In Handbook of constraint programming (pp. 329–376). Amsterdam: Elsevier.

    Chapter  Google Scholar 

  10. Hnich, B., Kiziltan, Z., & Walsh, T. (2002). Modelling a balanced academic curriculum problem. In Proceedings of CP-AI-OR-2002 (pp. 121–131).

  11. Kitching, M., & Bacchus, F. (2007). Symmetric component caching. In Proceedings of IJCAI 2007 (pp. 118–124).

  12. Maher, M. J. (2005). Herbrand constraint abduction. In 20th IEEE symposium on logic in computer science (LICS 2005) (pp. 397–406). Los Alamitos: IEEE Computer Society.

    Chapter  Google Scholar 

  13. Marinescu, R., & Dechter, R. (2005). And/or branch-and-bound for graphical models. In Proceedings of IJCAI 2005 (pp. 224–229).

  14. Nethercote, N., Stuckey, P. J., Becket, R., Brand, S., Duck, G. J., & Tack, G. (2007). Minizinc: Towards a standard CP modelling language. In Proceedings of CP 2007 (pp. 529–543).

  15. Ohrimenko, O., Stuckey, P. J., & Codish, M. (2009). Propagation via lazy clause generation. Constraints, 14(3), 357–391.

    MathSciNet  MATH  Article  Google Scholar 

  16. Puchinger, J., & Stuckey, P. J. (2008). Automating branch-and-bound for dynamic programs. In Proceedings of PEPM 2008 (pp. 81–89).

  17. Regin, J.-C. (1996). Generalized arc consistency for global cardinality constraint. In 14th national conference on artificial intelligence (AAAI-96) (pp. 209–215).

  18. Schulte, C., Lagerkvist, M., & Tack, G. (2010). Gecode. Accessed January 2010.

  19. Smith, B., & Gent, I. (2005). Constraint modelling challenge report 2005.

  20. Smith, B. M. (2005). Caching search states in permutation problems. In Proceedings of CP 2005 (pp. 637–651).

Download references

Author information

Authors and Affiliations


Corresponding author

Correspondence to Peter J. Stuckey.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Chu, G., de la Banda, M.G. & Stuckey, P.J. Exploiting subproblem dominance in constraint programming. Constraints 17, 1–38 (2012).

Download citation

  • Published:

  • Issue Date:

  • DOI:


  • Caching
  • Dominance
  • Search