Perfect Derived Propagators
Christian Schulte, Guido Tack

TL;DR
This paper introduces a systematic approach using variable views to derive perfect propagator variants, significantly reducing implementation effort while maintaining correctness and consistency in constraint programming.
Contribution
It presents a formal model for views and derived propagators, proving their correctness and developing techniques for systematic derivation across variable domains.
Findings
Derived propagators inherit correctness and consistency properties.
Using views reduces code size from 140,000 to 40,000 lines in Gecode.
Systematic derivation techniques improve maintainability and performance.
Abstract
When implementing a propagator for a constraint, one must decide about variants: When implementing min, should one also implement max? Should one implement linear equations both with and without coefficients? Constraint variants are ubiquitous: implementing them requires considerable (if not prohibitive) effort and decreases maintainability, but will deliver better performance. This paper shows how to use variable views, previously introduced for an implementation architecture, to derive perfect propagator variants. A model for views and derived propagators is introduced. Derived propagators are proved to be indeed perfect in that they inherit essential properties such as correctness and domain and bounds consistency. Techniques for systematically deriving propagators such as transformation, generalization, specialization, and channeling are developed for several variable domains. We…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsConstraint Satisfaction and Optimization · Model-Driven Software Engineering Techniques · Advanced Database Systems and Queries
