Global constraints are cardinal concepts of CLP(FD), a constraint programming language. They are means to find a set of integers that satisfy certain relations. The fact that defining global constraints often requires the knowledge of a specification language makes sharing constraints between scientists and programmers difficult. Nicolas Beldiceanu presented a theory that could solve this problem, because it depicts global constraints as graphs: an abstraction that everyone understands.The abstract description language defined by the theory may also be interpreted by a computer program. This paper deals with the problematic issues of putting the theory into practice by implementing such a program. It introduces a concrete syntax of the language and presents three programs understanding that syntax. These case studies represent two different approaches of propagation. One of these offers exhausting pruning with poor efficiency, the other, yet unfinished attempt provides a better alternative at the cost of being a lot more complicated.
[1]
Vincenzo Loia,et al.
Embed Finite Domain Constraint Programming into Java and some Web-based Applications
,
1999,
Softw. Pract. Exp..
[2]
Pascal Van Hentenryck,et al.
Constraint Programming in OPL
,
1999,
PPDP.
[3]
Nicolas Beldiceanu,et al.
Global Constraints as Graph Properties on a Structured Network of Elementary Constraints of the Same Type
,
2000,
CP.
[4]
Gert Smolka.
Constraints in OZ
,
1996,
CSUR.
[5]
Joxan Jaffar,et al.
Methodology and Implementation of a CLP System
,
1987,
ICLP.
[6]
Mats Carlsson,et al.
SICStus Prolog User''s Manual
,
1993
.
[7]
Pascal Van Hentenryck.
Constraint satisfaction in logic programming
,
1989,
Logic programming.
[8]
Philippe Codognet,et al.
A Minimal Extension of the WAM for clp(FD)
,
1993,
ICLP.