Explaining circuit propagation

Kathryn Glenn Francis, Peter J. Stuckey

Research output: Contribution to journalArticleResearchpeer-review

14 Citations (Scopus)


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.

Original languageEnglish
Pages (from-to)1-29
Number of pages29
Issue number1
Publication statusPublished - Jan 2014
Externally publishedYes


  • Circuit
  • Constraint propagation
  • Explanation

Cite this