Skip to main content
Log in

Explaining circuit propagation

  • Published:
Constraints Aims and scope Submit manuscript

Abstract

The circuit constraint is used to constrain a graph represented by a successor for each node, such that the resulting edges form a circuit. Circuit and its variants are important for various kinds of tour-finding, path-finding and graph problems. In this paper we examine how to integrate the circuit constraint, and its variants, into a lazy clause generation solver. To do so we must extend the constraint to explain its propagation. We consider various propagation algorithms for circuit and examine how best to explain each of them. We compare the effectiveness of each propagation algorithm once we use explanation, since adding explanation changes the trade-off between propagation complexity and power. Simpler propagators, although less powerful, may produce more reusable explanations. Even though the most powerful propagator considered for circuit and variants creates huge explanations, we find that explanation is highly advantageous for solving problems involving this kind of constraint.

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.

Institutional subscriptions

Similar content being viewed by others

References

  1. Beldiceanu, N., & Contejean, E. (1994). Introducing global constraints in CHIP. Mathematical and Computer Modelling, 20(12), 97–123.

    Article  MATH  Google Scholar 

  2. Beldiceanu, N., Flener, P., Lorca, X. (2005). The tree constraint. In Integration of AI and OR Techniques in constraint programming for combinatorial optimization problems (Vol. 3524, pp. 64–78). Berlin, Heidelberg: Springer.

    Chapter  Google Scholar 

  3. Beldiceanu, N., Flener, P., Lorca, X. (2008). Combining tree partitioning, precedence, and incomparability constraints. Constraints, 13(4), 459–489.

    Article  MATH  MathSciNet  Google Scholar 

  4. Caseau, Y., & Laburthe, F. (1997). Solving small TSPs with constraints. In Proceedings of the 14th international conference on logic programming (ICLP97) (pp. 316–330).

  5. cycle constraint. Global constraint catalog: http://www.emn.fr/z-info/sdemasse/gccat/Ccycle.html. Accessed Dec 2012

  6. Downing, N., Feydy, T., Stuckey, P. (2012). Explaining alldifferent. In M. Reynolds & B. Thomas (Eds.), Proceedings of the australasian computer science conference (ACSC 2012). CRPIT (Vol. 122, pp. 115–124). Melbourne, Australia: ACS.

    Google Scholar 

  7. Fages, J., & Lorca, X. (2011). Revisiting the tree constraint. In Principles and practice of constraint programming—CP 2011 (Vol. 6876, pp. 271–285). Berlin, Heidelberg: Springer.

    Chapter  Google Scholar 

  8. Fages, J., & Lorca, X. (2012). Improving the asymmetric TSP by considering graph structure. arXiv:1206.3437.

  9. Katsirelos, G. (2008). Nogood processing in CSPs. PhD thesis, University of Toronto.

  10. Katsirelos, G., & Bacchus, F. (2005). Generalized nogoods in CSPs. In Proceedings, the 20th national conference on artificial intelligence and the 17th innovative applications of artificial intelligence conference, 9–13 July 2005, Pittsburgh, Pennsylvania, USA (pp. 390–396).

  11. Kaya, L., & Hooker, J. (2006). A filter for the circuit constraint. In F. Benhamou (Ed.), Principles and practice of constraint programming—CP 2006 (Vol. 4204, pp. 706–710). Berlin, Heidelberg: Springer.

    Chapter  Google Scholar 

  12. Marriott, K., Nethercote, N., Rafeh, R., Stuckey, P., Garcia de la Banda, M., Wallace, M. (2008). The design of the zinc modelling language. Constraints, 13(3), 229–267.

    Article  MATH  MathSciNet  Google Scholar 

  13. Moskewicz, M., Madigan, C., Zhao, Y., Zhang, L., Malik, S. (2001). Chaff: Engineering an efficient SAT solver. In Proceedings of 38th conference on design automation (DAC’01) (pp. 530–535).

  14. Nethercote, N., Stuckey, P., Becket, R., Brand, S., Duck, G., Tack, G. (2007). Minizinc: Towards a standard CP modelling language. In C. Bessiere (Ed.), Proceedings of the 13th international conference on principles and practice of constraint programming. LNCS (Vol. 4741, pp. 529–543). Springer-Verlag.

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

    Article  MATH  MathSciNet  Google Scholar 

  16. Quesada, L., Van Roy, P., Deville, Y., Collet, R. (2006). Using dominators for solving constrained path problems. In Practical aspects of declarative languages, proceedings 8th international symposium, PADL 2006, Charleston, SC, USA, 9–10 January 2006. Lecture notes in computer science (Vol. 3819, pp. 73–87).

  17. Schulte, C., & Stuckey, P. (2008). Efficient constraint propagation engines. ACM Transactions on Programming Languages and Systems, 31(1), Article No. 2.

  18. Schulte, C., & Tack, G. (2009). Weakly monotonic propagators. In Principles and practice of constraint programming-CP 2009 (pp. 723–730).

  19. Schulte, C., Lagerkvist, M., Tack, G. GECODE—an open, free, efficient constraint solving toolkit. http://www.gecode.org/. Accessed Dec 2012

  20. Tarjan, R. (1972). Depth-first search and linear graph algorithms. SIAM Journal on Computing, 1(2), 146–160.

    Article  MATH  MathSciNet  Google Scholar 

  21. van Hoeve, W. (2001). The alldifferent constraint: A survey. arXiv:cs/0105015. Accessed Dec 2012

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Kathryn Glenn Francis.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Francis, K.G., Stuckey, P.J. Explaining circuit propagation. Constraints 19, 1–29 (2014). https://doi.org/10.1007/s10601-013-9148-0

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10601-013-9148-0

Keywords

Navigation