vix.ing · top · new · best · stats · spec

View-based Propagator Derivation

2009/08/14 by Christian Schulte, Schulte, Christian, Guido Tack +1 · 2 citations
Computer Science · #Advanced Database Systems and Queries #Artificial Intelligence (cs.AI) #Constraint Satisfaction and Optimization #FOS: Computer and information sciences #Model-Driven Software Engineering Techniques

paper · pdf · doi:10.48550/arxiv.0908.2050

openalex publication_date 2009/08/14 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28

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 constraints both with unit and non-unit coefficients? Constraint variants are ubiquitous: implementing them requires considerable (if not prohibitive) effort and decreases maintainability, but will deliver better performance than resorting to constraint decomposition. This paper shows how to use views 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 type conversion are developed. The paper introduces an implementation architecture for views that is independent of the underlying constraint programming system. A detailed evaluation of views implemented in Gecode shows that derived propagators are efficient and that views often incur no overhead. Without views, Gecode would either require 180 000 rather than 40 000 lines of propagator code, or would lack many efficient propagator variants. Compared to 8 000 lines of code for views, the reduction in code for propagators yields a 1750% return on investment.

Cited by

Related