Towards an open finite domain constraint solver

  • Mats Carlsson
  • Björn Carlson
  • Greger Ottosson
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1118)


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.


  1. 1.
    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.Google Scholar
  2. 2.
    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.Google Scholar
  3. 3.
    C. Holzbaur. Specification of Constraint Based Inference Mechanism through Extended Unification. PhD thesis, Dept. of Medical Cybernetics and AI, University of Vienna, 1990.Google Scholar
  4. 4.
    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.Google Scholar

Copyright information

© Springer-Verlag 1996

Authors and Affiliations

  • Mats Carlsson
    • 1
    • 2
  • Björn Carlson
    • 3
  • Greger Ottosson
    • 1
  1. 1.Computing Science Dept.Uppsala UniversityUppsalaSweden
  2. 2.SICSKistaSweden
  3. 3.Xerox PARCPalo Alto

Personalised recommendations