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.
Similar content being viewed by others
References
ECLiPSe 3.5, User Manual. (1995). ECRC, Munich.
Benhamou, F. (1994). Interval constraint logic programming. In Constraint Programming: Basics and Trends, (A. Podelski, editor), LNCS 910, Springer Verlag, pp. 1-21.
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.
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.
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.
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.
Codognet, P. & Diaz, D. (1996a). Compiling constraints in clp(FD). The Journal of Logic Programming 27: 185-226.
Codognet, P. & Diaz, D. (1996b). Local propagation methods for solving Boolean constraints in constraint logic programming. The Journal of Automated Reasoning 17(1).
Cras, J-Y. (1993). A review of industrial constraints solving tools. AI Intelligence.
Csontó, J. & Paralič, J. (1997). A look at CLP: theory and application. Applied Artificial Intelligence 11: 59-69.
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.
Fernández, A. J. (1998). http://www:lcc:uma:es/~a f dez/srq.
Frühwirth, T. (1994). Constraint handling rules. In Constraint Programming: Basics and Trends, (A. Podelski, editor), LNCS 910, Springer Verlag, pp. 90-107.
Haralick, R. & Elliot, G. (1980). Increasing tree search efficiency for constraint satisfaction problems. Artificial Intelligence 14: 263-313.
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).
IF/Prolog V5.0A, constraints package. (1994). Siemens Nixdorf Informationssysteme AG, Munich, Germany.
Ilog SOLVER, Reference Manual, version 3.1. (1995).
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.
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.
Jaffar, J. & Maher, M. J. (1994). Constraint logic programming: a survey. The Journal of Logic Programming 19 & 20: 503-581.
Müller, T. & Würtz, J. (1996). Interfacing propagators with a concurrent constraint language. Workshop on Parallelism and Implementation Technologies for (Constraint) Logic Languages.
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.
Puget, J-F. & Leconte, M. (1995) Beyond the glass box: constraints as objects. Proc. of International Symposium on Logic Programming (ILPS'95), MIT Press.
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.
SICStus Prolog User's manual, release 3#5. (1996). By the Intelligent Systems Laboratory, Swedish Institute of Computer Science.
Sidebottom, G. (1993). A Language for Optimizing Constraint Propagation. PhD Thesis, Simon Fraser University.
Smolka, G. (1995). The Oz programming model. In Computer Science Today, (Jan van Leeuwen, editor), LNCS 1000, Springer Verlag, pp. 324-343.
Van Hentenryck, P. (1988). Tutorial on the CHIP systems and applications. Workshop of Constraint Logic Programming. Rehovot, Israel, Weizmann Institute of Science.
Van Hentenryck, P. (1989). Constraint Satisfaction in Logic Programming. MIT Press.
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.
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.
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.
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1023/A:1009816801567