Towards an open finite domain constraint solver
We describe the design and implementation of a finite domain constraint solver embedded in SICStus Prolog system using an extended unification mechanism via attributed variables as a generic constraint interface. The solver is based on indexicals, i.e. reactive functional rules performing incremental constraint solving or entailment checking. Propagation is done using the arc-consistency algorithm AC-3, adapted for non-binary constraints. At the heart of the algorithm is an evaluator for indexicals.
The solver provides the usual predefined search strategies (fixed order, failfirst principle, branch and bound for minimization or maximization). Access predicates for the relevant variable attributes (domain value, bounds and size etc.) are also provided, making customized search strategies easily programmable.
A design goal has been to keep the solver open-ended and extendible as well as to keep a substantial part written in Prolog, partly contradicting conventional wisdom in implementing constraint solvers.
- B. Carlson, M. Carlsson, and D. Diaz. Entailment of finite domain constraints. In Proceedings of the Eleventh International Conference on Logic Programming. MIT Press, 1994.
- D. Diaz and P. Codognet. A Minimal Extension of the WAM for CLP(FD). In Proceedings of the International Conference on Logic Programming, pages 774–790, Budapest, Hungary, 1993. MIT Press.
- C. Holzbaur. Specification of Constraint Based Inference Mechanism through Extended Unification. PhD thesis, Dept. of Medical Cybernetics and AI, University of Vienna, 1990.
- Pascal Van Hentenryck, Vijay Saraswat, and Yves Deville. Design, implementation and evaluation of the constraint language cc(FD). In A. Podelski, editor, Constraints: Basics and Trends, volume 910 of Lecture Notes in Computer Science. Springer-Verlag, 1995.
- Towards an open finite domain constraint solver
- Book Title
- Principles and Practice of Constraint Programming — CP96
- Book Subtitle
- Second International Conference, CP96 Cambridge, MA, USA, August 19–22, 1996 Proceedings
- pp 531-532
- Print ISBN
- Online ISBN
- Series Title
- Lecture Notes in Computer Science
- Series Volume
- Series ISSN
- Springer Berlin Heidelberg
- Copyright Holder
- Additional Links
- Industry Sectors
- eBook Packages
- Author Affiliations
- 1. Computing Science Dept., Uppsala University, PO Box 311, S-751 05, Uppsala, Sweden
- 2. SICS, PO Box 1263, S-164 28, Kista, Sweden
- 3. Xerox PARC, 3333 Coyote Hill Road, 94304-9960, Palo Alto, CA
To view the rest of this content please follow the download PDF link above.