Views and Iterators for Generic Constraint Implementations

  • Christian Schulte
  • Guido Tack
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3709)


This paper introduces an architecture for generic constraint implementations based on variable views and range iterators. Views allow, for example, to scale, translate, and negate variables. The paper shows how to make constraint implementations generic and how to reuse a single generic implementation with different views for different constraints. Applications of views exemplify their usefulness and their potential for simplifying constraint implementations. We introduce domain operations compatible with views based on range iterators to access and modify entire variable domains.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Brisset, P., Sakkout, H.E., Frühwirth, T., Harvey, W., Meier, M., Novello, S., Le Provost, T., Schimpf, J., Wallace, M.: ECLiPSe Constraint Library Manual 5.8. User manual, IC Parc, London, UK (February 2005)Google Scholar
  2. 2.
    Gecode: Generic constraint development environment, Available upon request from the authors (2005),
  3. 3.
    ILOG S.A. ILOG Solver 5.0: Reference Manual. Gentilly, France (August 2000)Google Scholar
  4. 4.
    Intelligent Systems Laboratory. SICStus Prolog user’s manual, 3.12.1. Technical report, Swedish Institute of Computer Science, Box 1263, 164 29 Kista, Sweden (April 2005)Google Scholar
  5. 5.
    Laburthe, F.: CHOCO: implementing a CP kernel. In: Beldiceanu, N., Harvey, W., Henz, M., Laburthe, F., Monfroy, E., Müller, T., Perron, L., Schulte, C. (eds.) Proceedings of TRICS: Techniques foR Implementing Constraint programming Systems, a post-conference workshop of CP 2000, 55 Science Drive 2, Singapore 117599, September 2000, vol. TRA9/00, pp. 71–85 (2000)Google Scholar
  6. 6.
    Müller, T.: Propagator-based Constraint Solving. Doctoral dissertation, Universität des Saarlandes, Fakultät für Mathematik und Informatik, Fachrichtung Informatik, Im Stadtwald, 66041 Saarbrücken, Germany (2001)Google Scholar
  7. 7.
    Puget, J.-F.: A C++ implementation of CLP. In: Proceedings of the Second Singapore International Conference on Intelligent Systems (SPICIS), Singapore, November 1994, pp. B256–B261 (1994)Google Scholar
  8. 8.
    Puget, J.-F., Leconte, M.: Beyond the glass box: Constraints as objects. In: Lloyd, J. (ed.) Proceedings of the International Symposium on Logic Programming, Portland, OR, USA, December 1995, pp. 513–527. The MIT Press, Cambridge (1995)Google Scholar
  9. 9.
    Régin, J.-C.: A filtering algorithm for constraints of difference in CSPs. In: Proceedings of the Twelfth National Conference on Artificial Intelligence, Seattle, WA, USA, pp. 362–367. AAAI Press, Menlo Park (1994)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Christian Schulte
    • 1
  • Guido Tack
    • 2
  1. 1.IMIT, KTH – Royal Institute of TechnologySweden
  2. 2.PS LabSaarland UniversitySaarbrückenGermany

Personalised recommendations