Skip to main content
Log in

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

  • Published:
Constraints Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. ECLiPSe 3.5, User Manual. (1995). ECRC, Munich.

  2. Benhamou, F. (1994). Interval constraint logic programming. In Constraint Programming: Basics and Trends, (A. Podelski, editor), LNCS 910, Springer Verlag, pp. 1-21.

  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.

  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.

  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.

  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.

  7. Codognet, P. & Diaz, D. (1996a). Compiling constraints in clp(FD). The Journal of Logic Programming 27: 185-226.

    Google Scholar 

  8. Codognet, P. & Diaz, D. (1996b). Local propagation methods for solving Boolean constraints in constraint logic programming. The Journal of Automated Reasoning 17(1).

  9. Cras, J-Y. (1993). A review of industrial constraints solving tools. AI Intelligence.

  10. Csontó, J. & Paralič, J. (1997). A look at CLP: theory and application. Applied Artificial Intelligence 11: 59-69.

    Google Scholar 

  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.

  12. Fernández, A. J. (1998). http://www:lcc:uma:es/~a f dez/srq.

  13. Frühwirth, T. (1994). Constraint handling rules. In Constraint Programming: Basics and Trends, (A. Podelski, editor), LNCS 910, Springer Verlag, pp. 90-107.

  14. Haralick, R. & Elliot, G. (1980). Increasing tree search efficiency for constraint satisfaction problems. Artificial Intelligence 14: 263-313.

    Google Scholar 

  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).

  16. IF/Prolog V5.0A, constraints package. (1994). Siemens Nixdorf Informationssysteme AG, Munich, Germany.

  17. Ilog SOLVER, Reference Manual, version 3.1. (1995).

  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.

  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. Jaffar, J. & Maher, M. J. (1994). Constraint logic programming: a survey. The Journal of Logic Programming 19 & 20: 503-581.

    Google Scholar 

  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.

  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.

  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.

  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.

  25. SICStus Prolog User's manual, release 3#5. (1996). By the Intelligent Systems Laboratory, Swedish Institute of Computer Science.

  26. Sidebottom, G. (1993). A Language for Optimizing Constraint Propagation. PhD Thesis, Simon Fraser University.

  27. Smolka, G. (1995). The Oz programming model. In Computer Science Today, (Jan van Leeuwen, editor), LNCS 1000, Springer Verlag, pp. 324-343.

  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. Van Hentenryck, P. (1989). Constraint Satisfaction in Logic Programming. MIT Press.

  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.

  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.

  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 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Fernández, A.J., Hill, P.M. A Comparative Study of Eight Constraint Programming Languages Over the Boolean and Finite Domains. Constraints 5, 275–301 (2000). https://doi.org/10.1023/A:1009816801567

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1009816801567

Navigation