, Volume 5, Issue 3, pp 275–301 | Cite as

A Comparative Study of Eight Constraint Programming Languages Over the Boolean and Finite Domains

  • Antonio J. Fernández
  • Patricia M. Hill


This paper compares the efficiency of a number of Constraint Logic Programming (CLP) systems in the setting of finite domains as well as a specific aspect of their expressiveness (that concerning reification and meta-constraints). There are two key reasons for adopting CLP technology for solving a problem. The first is its expressiveness enabling a declarative solution with readable code which is vital for maintenance and the second is the provision of an efficient implementation for the computationally expensive procedures. However, CLP systems differ significantly both in how solutions may be expressed and the efficiency of their execution and it is important that both these factors are taken into account when choosing the best CLP system for a particular application. This paper aids this choice by illustrating differences between the systems, indicating their particular strengths and weaknesses.

constraint programming constraint propagator domain labeling strategy solvers 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    ECLiPSe 3.5, User Manual. (1995). ECRC, Munich.Google Scholar
  2. 2.
    Benhamou, F. (1994). Interval constraint logic programming. In Constraint Programming: Basics and Trends, (A. Podelski, editor), LNCS 910, Springer Verlag, pp. 1-21.Google Scholar
  3. 3.
    Carlsson, M., Ottosson, G. & Carlson, B. (1997). An open-ended finite domain constraint solver. Proc. of the 9th International Symposium on Programming Languages: Implementations, Logics and Programs (PLILP'97), LNCS 1292, Springer Verlag, pp. 191-206.Google Scholar
  4. 4.
    Carlson, B., Carlsson, M. & Diaz, D. (1994). Entailment of finite domain constraints. Proc. of the 11th International Conference on Logic Programming, MIT Press, pp. 339-353.Google Scholar
  5. 5.
    Codognet, P.& Diaz, D. (1993). A minimal extension of the WAM for clp(FD). Proc. of the 10th International Conference on Logic Programming, MIT Press, pp. 774-790.Google Scholar
  6. 6.
    Codognet, P. & Diaz, D. (1994). clp(B): Combining simplicity and efficiency in Boolean constraint solving. Proc. of the 6th International Symposium on Programming Languages Implementation and Logic Programming (PLILP'94), LNCS 844, Springer Verlag, pp. 244-260.Google Scholar
  7. 7.
    Codognet, P. & Diaz, D. (1996a). Compiling constraints in clp(FD). The Journal of Logic Programming 27: 185-226.Google Scholar
  8. 8.
    Codognet, P. & Diaz, D. (1996b). Local propagation methods for solving Boolean constraints in constraint logic programming. The Journal of Automated Reasoning 17(1).Google Scholar
  9. 9.
    Cras, J-Y. (1993). A review of industrial constraints solving tools. AI Intelligence.Google Scholar
  10. 10.
    Csontó, J. & Paralič, J. (1997). A look at CLP: theory and application. Applied Artificial Intelligence 11: 59-69.Google Scholar
  11. 11.
    Fernández, A. J. & Hill, P. M. (1997). Boolean and finite domain solvers compared using self referential quizzes. Proc. of the Joint Conference on Declarative Programming (APPIA-GULP-PRODE'97), pp. 533-544.Google Scholar
  12. 12.
    Fernández, A. J. (1998). http://www:lcc:uma:es/~a f dez/srq.Google Scholar
  13. 13.
    Frühwirth, T. (1994). Constraint handling rules. In Constraint Programming: Basics and Trends, (A. Podelski, editor), LNCS 910, Springer Verlag, pp. 90-107.Google Scholar
  14. 14.
    Haralick, R. & Elliot, G. (1980). Increasing tree search efficiency for constraint satisfaction problems. Artificial Intelligence 14: 263-313.Google Scholar
  15. 15.
    Henz, M. (1996). Don't be puzzled! Workshop on Constraint Programming in conjunction with the 2nd International Conference on Principles and Practice of Constraint Programming (CP'96).Google Scholar
  16. 16.
    IF/Prolog V5.0A, constraints package. (1994). Siemens Nixdorf Informationssysteme AG, Munich, Germany.Google Scholar
  17. 17.
    Ilog SOLVER, Reference Manual, version 3.1. (1995).Google Scholar
  18. 18.
    Jaffar, J. & Lassez, J. L. (1987). Constraint logic programming. Proc. of the 14th ACM Symposium on Principles of Programming Languages (POPL'87), pp. 111-119.Google Scholar
  19. 19.
    Jaffar, J., Michaylov, S., Stuckey, P. & Yap, R. (1992). The CLP (ℜ) language and system. ACM Transactions on Programming Languages and Systems 14(3): 339-395.Google Scholar
  20. 20.
    Jaffar, J. & Maher, M. J. (1994). Constraint logic programming: a survey. The Journal of Logic Programming 19 & 20: 503-581.Google Scholar
  21. 21.
    Müller, T. & Würtz, J. (1996). Interfacing propagators with a concurrent constraint language. Workshop on Parallelism and Implementation Technologies for (Constraint) Logic Languages.Google Scholar
  22. 22.
    N'Dong, S. (1997). Prolog IV ou la programmation par contraintes selon PrologIA. Proc. of Sixièmes Journées Francophones de Programmation Logique et Programmation par Contraintes (JFPLC'97), pp. 235-238.Google Scholar
  23. 23.
    Puget, J-F. & Leconte, M. (1995) Beyond the glass box: constraints as objects. Proc. of International Symposium on Logic Programming (ILPS'95), MIT Press.Google Scholar
  24. 24.
    Schulte, C. (1995). Solver-An Oz search debugger. Proceedings of InternationalWorkshop on Oz Programming (WOz'95), Institut Dalle Molle d'Intelligence Artificielle Perceptive, Martigny, Switzerland.Google Scholar
  25. 25.
    SICStus Prolog User's manual, release 3#5. (1996). By the Intelligent Systems Laboratory, Swedish Institute of Computer Science.Google Scholar
  26. 26.
    Sidebottom, G. (1993). A Language for Optimizing Constraint Propagation. PhD Thesis, Simon Fraser University.Google Scholar
  27. 27.
    Smolka, G. (1995). The Oz programming model. In Computer Science Today, (Jan van Leeuwen, editor), LNCS 1000, Springer Verlag, pp. 324-343.Google Scholar
  28. 28.
    Van Hentenryck, P. (1988). Tutorial on the CHIP systems and applications. Workshop of Constraint Logic Programming. Rehovot, Israel, Weizmann Institute of Science.Google Scholar
  29. 29.
    Van Hentenryck, P. (1989). Constraint Satisfaction in Logic Programming. MIT Press.Google Scholar
  30. 30.
    Van Hentenryck, P., Saraswat, V. A. & Deville, Y. (1994). Design, implementation and evaluation of the constraint language cc(FD). In Constraint Programming: Basics and Trends, (A. Podelski, editor), LNCS 910, Springer Verlag, pp. 293-316.Google Scholar
  31. 31.
    Proc. of the Sixth International Conference on the Practical Application of Prolog and the Fourth International Conference on the Practical Application of Constraint Technology (PAPPACT98). (1998). Publisher Practical Application Company Ltd.Google Scholar
  32. 32.
    Zhou, N-F. (1997). B-Prolog User's Manual (Version 2.1). Faculty of Computer Science and Systems Engineering, Kyushu Institute of Technology, Fukuoka, Japan.Google Scholar

Copyright information

© Kluwer Academic Publishers 2000

Authors and Affiliations

  • Antonio J. Fernández
    • 1
  • Patricia M. Hill
    • 2
  1. 1.Departamento de Lenguajes y Ciencias de la ComputacionE.T.S.I.I.MálagaSpain
  2. 2.School of Computer StudiesUniversity of LeedsLeedsEngland

Personalised recommendations