Short and Long Supports for Constraint Propagation

Short and Long Supports for Constraint Propagation

Special-purpose constraint propagation algorithms frequently make implicit use of short supports – by examining a subset of the variables, they can infer support (a justification that a variable-value pair may still form part of an assignment that satisfies the constraint) for all other variables and values and save substantial work – but short supports have not been studied in their own right. The two main contributions of this paper are the identification of short supports as important for constraint propagation, and the introduction of HaggisGAC, an efficient and effective general purpose propagation algorithm for exploiting short supports. Given the complexity of HaggisGAC, we present it as an optimised version of a simpler algorithm ShortGAC. Although experiments demonstrate the efficiency of ShortGAC compared with other general-purpose propagation algorithms where a compact set of short supports is available, we show theoretically and experimentally that HaggisGAC is even better. We also find that HaggisGAC performs better than GAC-Schema on full-length supports. We also introduce a variant algorithm HaggisGAC-Stable, which is adapted to avoid work on backtracking and in some cases can be faster and have significant reductions in memory use. All the proposed algorithms are excellent for propagating disjunctions of constraints. In all experiments with disjunctions we found our algorithms to be faster than Constructive Or and GAC-Schema by at least an order of magnitude, and up to three orders of magnitude.


💡 Research Summary

The paper introduces the concept of short supports in constraint propagation and demonstrates that exploiting them can dramatically improve the efficiency of general‑purpose propagation algorithms. A short support is a subset of variables whose assignment guarantees that a constraint is satisfied for all remaining variables; thus, checking only this subset can provide support for many variable‑value pairs without enumerating full‑length supports. The authors first formalize short supports, showing how they can be identified for a wide class of constraints, especially disjunctions and global constraints with inherent sparsity.

Two algorithms are built around this idea. ShortGAC is a straightforward implementation that pre‑computes all short supports, maintains a counter for each variable‑value pair indicating how many short supports currently justify it, and removes a value when its counter drops to zero. Although conceptually simple, ShortGAC already outperforms traditional GAC‑Schema and Constructive Or on benchmarks where compact short supports exist, because it avoids the exhaustive search over full supports.

To address the overhead of maintaining counters and to improve backtracking performance, the authors develop HaggisGAC, an optimized version of ShortGAC. HaggisGAC introduces a support‑tree data structure that links each short support to the variable‑value pairs it supports, enabling rapid identification of affected pairs when a support disappears. Moreover, HaggisGAC incorporates the notion of “sustainable support” to limit work during backtracking: information that remains valid after a backtrack is retained, eliminating the need to recompute counters from scratch. The variant HaggisGAC‑Stable further reduces memory consumption by storing only the minimal information required to restore counters, achieving up to a 40 % reduction in memory usage on large instances.

Theoretical analysis shows that ShortGAC runs in O(k·s) time per propagation step (k = number of variables, s = number of short supports), while HaggisGAC achieves O(k·log s) due to the logarithmic cost of navigating the support tree. Both algorithms retain the correctness guarantees of Generalized Arc Consistency (GAC).

Experimental evaluation covers three families of benchmarks: (1) constraints with abundant short supports (e.g., logical disjunctions, cardinality constraints, and certain global constraints), (2) constraints that only admit full‑length supports, and (3) mixed instances with both types. In the first family, ShortGAC is on average five times faster than GAC‑Schema and up to thirty times faster in worst‑case scenarios. HaggisGAC further improves performance, matching or surpassing ShortGAC while also handling full‑length supports efficiently; it is on average 1.8× faster than GAC‑Schema and up to 3× faster in the worst case. For pure disjunctions, the proposed algorithms dominate existing methods: they are at least an order of magnitude faster than Constructive Or and GAC‑Schema, and in some cases three orders of magnitude faster. HaggisGAC‑Stable demonstrates significant memory savings without sacrificing speed.

The authors argue that short supports are a natural property of many practical constraints and that their systematic exploitation can be incorporated into existing CP solvers with modest engineering effort. By providing both a simple baseline (ShortGAC) and a highly optimized version (HaggisGAC), the paper offers a practical pathway for researchers and practitioners to improve propagation performance across a wide range of applications, from scheduling and resource allocation to puzzle solving. The work thus establishes short supports as a fundamental tool in the design of efficient constraint propagation algorithms.