Towards the Systematic Generation of Channelling Constraints

The automatic modelling tool Conjure [1] generates CSP models from a problem specified in the specification language Essence. Variables in Essence may have domains currently unsupported by solvers. Also, the elements of the domains may be arbitrarily compound, for example, sets of sets, sets of sets...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Martínez-Hernández, B., Frisch, A. M.
Format: Buchkapitel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:The automatic modelling tool Conjure [1] generates CSP models from a problem specified in the specification language Essence. Variables in Essence may have domains currently unsupported by solvers. Also, the elements of the domains may be arbitrarily compound, for example, sets of sets, sets of sets of sets. Conjure uses a set of refinement rules to compositionally transform the variables (and constraints) into representations that can be implemented in current solvers. Conjure can produce multiple alternative (redundant) representations of the same variable that may appear simultaneously in the same model. Currently, Conjure does not generate the channelling constraints [2] that are needed to maintain the consistency between these simultaneous alternatives. There are several unsolved issues related to channeling constraints and automatic modelling, such as, how to identify the cases where a channelled model performs better than a non-channelled one, and how to implement the channelling constraints efficiently. In this paper however, we focus the automated generation of channelling constraints under the Conjure framework. Our work has identified and proved correct, an algorithm to systematically generate the channelling constraints needed in a Conjure-generated model. We briefly describe this algorithm as follows. Let P be a specification refined by Conjure into the CSP model P′. Let X be a variable in P that has two representations X1 and X2 in P′. Let Y be a new variable with exactly the same domain of X. We can then re-refineX=Y (channelling constraint between X and Y) forcing the X to refine into X1 and the Y into X2. Hence, we produce a correct channelling constraint between X1 and X2 providing Conjure generates correct refinements.
ISSN:0302-9743
1611-3349
DOI:10.1007/11564751_97