COLETTE, prototyping CSP solvers using a rule-based language

  • Carlos Castro
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1476)


We are interested in modelling constraint solving as a deduction process. In previous works we have described how a constraint solver can be viewed as a strategy that specifies the order of application of a set of rules, to transform a set of constraints into a solved form. In this framework, the computation process is associated to a constructive proof of a formula. On one hand, the use of transformation rules allows to prove termination in a very easy way. On the other, the use of strategies allows to describe constraint handling in a very abstract way, prototype new heuristics almost by modifying only the choice of rules, and combine constraint solver in the same theoretical framework. In this paper, we introduce COLETTE, an implementation of these ideas using ELAN, a rule-based language. We exemplify step by step how a flexible strategy language allows to prototype existing algorithms for solving CSPs. The theoretical and practical results show that this approach could be useful for better understand constraint solving.


Constraint Satisfaction Problems Rewriting Logic 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    ILOG Solver 4.0, User’s Manual, May 1997.Google Scholar
  2. 2.
    K. R. Apt. A Proof Theoretic View of Constraint Programming. Fundamenta Informaticae, 1998. To appear.Google Scholar
  3. 3.
    P. Borovanský, C. Kirchner, and H. Kirchner. Rewriting as a Unified Specification Tool for Logic and Control: The ELAN Language. In Proceedings of The International Workshop on Theory and Practice of Algebraic Specifications, ASF+SDF’97, Workshops in Computing, Amsterdam, September 1997. Springer-Verlag.Google Scholar
  4. 4.
    P. Borovanský, C. Kirchner, H. Kirchner, P.-E. Moreau, and M. Vittek. ELAN Version 3.00 User Manual. CRIN & INRIA Lorraine, Nancy, France, first edition, January 1998.Google Scholar
  5. 5.
    M. Bruynooghe. Solving Combinatorial Search Problems by Intelligent Backtracking. Information Processing Letters, 12(1):36–39, 1981.CrossRefGoogle Scholar
  6. 6.
    C. Castro. Solving Binary CSP Using Computational Systems. In J. Meseguer, editor, Proceedings of The First International Workshop on Rewriting Logic and its Applications, RWLW’96, volume 4, pages 245–264, Asilomar, Pacific Grove, CA, USA, September 1996. Electronic Notes in Theoretical Computer Science.Google Scholar
  7. 7.
    C. Castro. Building Constraint Satisfaction Problem Solvers Using Rewrite Rules and Strategies. Fundamenta Informaticae, 1998. To appear.Google Scholar
  8. 8.
    T. Frühwirth. Constraint Handling Rules. In A. Podelski, editor, Constraint Programming: Basic and Trends. Selected Papers of the 22nd Spring School in Theoretical Computer Sciences, volume 910 of Lecture Notes in Computer Science, pages 90–107. Springer-Verlag, Châtillon-sur-Seine, France, May 1994.Google Scholar
  9. 9.
    J. Jaffar and M. J. Maher. Constraint Logic Programming: A Survey. Journal of Logic Programming, 19(20):503–581, 1994.MathSciNetCrossRefGoogle Scholar
  10. 10.
    C. Kirchner, H. Kirchner, and M. Vittek. Designing Constraint Logic Programming Languages using Computational Systems. In P. V. Hentenryck and V. Saraswat, editors, Principles and Practice of Constraint Programming. The Newport Papers, pages 131–158. The MIT press, 1995.Google Scholar
  11. 11.
    A. K. Mackworth. Consistency in Networks of Relations. Artificial Intelligence, 8:99–118, 1977.zbMATHCrossRefGoogle Scholar
  12. 12.
    A. K. Mackworth. Constraint Satisfaction. In S. C. Shapiro, editor, Encyclopedia of Artificial Intelligence, volume 1. Addison-Wesley Publishing Company, 1992. Second Edition.Google Scholar
  13. 13.
    J. Meseguer. Conditional rewriting logic as a unified model of concurrency. Theoretical Computer Science, 96(1):73–155, 1992.zbMATHMathSciNetCrossRefGoogle Scholar
  14. 14.
    E. Monfroy. Collaboration de solveurs pour la programmation logique à contraintes. PhD thesis, Université Henri Poincaré — Nancy 1, November 1996. Also available in english.Google Scholar
  15. 15.
    P.-E. Moreau and H. Kirchner. Compilation Techniques for Associative-Commutative Normalisation. In Proceedings of The International Workshop on Theory and Practice of Algebraic Specifications, ASF+SDF’97, Amsterdam, September 1997. Technical report CRIN 97-R-129.Google Scholar
  16. 16.
    P. Prosser. Domain filtering can degrade intelligent backtracking search. In Proceedings of The 13th International Joint Conference on Artificial Intelligence, IJCAI’93, Chambéry, France, pages 262–267, August 29–September 3 1993.Google Scholar
  17. 17.
    G. Smolka. Problem Solving with Constraints and Programming. ACM Computing Surveys, 28(4es), December 1996. Electronic Section.Google Scholar
  18. 18.
    E. Tsang. Foundations of Constraint Satisfaction. Academic Press, 1993.Google Scholar
  19. 19.
    J. Zhou. Calcul de plus petits produits cartésiens d’intervalles: application au problème d’ordonnancement d’atelier. PhD thesis, Université de la Mediterranée, Aix-Marseille II, March 1997.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Carlos Castro
    • 1
  1. 1.LORIAVillers-lès-Nancy CedexFrance

Personalised recommendations