[Paper Review] Finite Domain Bounds Consistency Revisited
This paper clarifies the three incompatible definitions of bounds consistency in finite domain constraint programming—bounds(ℝ), bounds(ℤ), and bounds(𝒟)—and demonstrates that while they are equivalent for many common constraints, they differ in critical cases, especially with integer linear equations. The authors provide precise definitions and conditions under which these notions coincide, enabling correct implementation and verification of bounds propagators.
A widely adopted approach to solving constraint satisfaction problems combines systematic tree search with constraint propagation for pruning the search space. Constraint propagation is performed by propagators implementing a certain notion of consistency. Bounds consistency is the method of choice for building propagators for arithmetic constraints and several global constraints in the finite integer domain. However, there has been some confusion in the definition of bounds consistency. In this paper we clarify the differences and similarities among the three commonly used notions of bounds consistency.
Motivation & Objective
- To resolve confusion in the literature regarding three distinct definitions of bounds consistency in finite domain constraint solving.
- To formally define and distinguish bounds(ℝ), bounds(ℤ), and bounds(𝒟) consistency for integer constraints.
- To identify conditions under which these three notions of bounds consistency are equivalent.
- To provide a foundation for verifying the correctness of bounds propagators in constraint programming systems.
Proposed method
- Formal definition of bounds consistency using integer and real interpretations of constraints, distinguishing between bounds(ℝ), bounds(ℤ), and bounds(𝒟).
- Use of infimum and supremum of expressions over domains to define consistency properties.
- Application of range domains and domain mapping to analyze consistency propagation.
- Construction of counterexamples to show incompatibility between bounds(𝒟) and the other two definitions.
- Proof that for linear constraints with unit coefficients, bounds(ℝ) and bounds(ℤ) are equivalent, but bounds(𝒟) may differ.
- Analysis of constraint satisfaction using integer and real solutions to verify consistency conditions.
Experimental results
Research questions
- RQ1Why do three different definitions of bounds consistency exist in the literature, and what are their key differences?
- RQ2Under what conditions are bounds(ℝ), bounds(ℤ), and bounds(𝒟) consistency equivalent?
- RQ3Can bounds(𝒟) consistency be weaker than bounds(ℝ) or bounds(ℤ) consistency for integer constraints?
- RQ4How do counterexamples demonstrate the incompatibility between bounds(𝒟) and the other two definitions?
- RQ5What formal criteria can ensure correct implementation of bounds propagators in constraint solvers?
Key findings
- The three definitions of bounds consistency—bounds(ℝ), bounds(ℤ), and bounds(𝒟)—are incompatible in general, despite common assumptions of equivalence.
- For linear constraints with unit coefficients, bounds(ℝ) and bounds(ℤ) consistency are equivalent, but bounds(𝒟) may not hold even when the others do.
- A counterexample shows a domain that is bounds(ℝ) and bounds(ℤ) consistent but not bounds(𝒟) consistent, due to integer domain restrictions.
- Bounds(𝒟) consistency is strictly stronger than bounds(ℝ) and bounds(ℤ) in some cases, particularly when variable domains are discrete and non-uniform.
- The paper establishes precise conditions under which the three notions coincide, resolving long-standing ambiguity in the literature.
- The formal definitions provided can be used to verify the correctness of bounds propagators in constraint programming systems.
Better researchstarts right now
From reading papers to final review, dramatically reduce your research time.
No credit card · Free plan available
This review was created by AI and reviewed by human editors.