Skip to main content

An open-ended finite domain constraint solver

  • Compilation
  • Conference paper
  • First Online:
Programming Languages: Implementations, Logics, and Programs (PLILP 1997)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1292))

Abstract

We describe the design and implementation of a finite domain constraint solver embedded in a Prolog system using an extended unification mechanism via attributed variables as a generic constraint interface. The solver is essentially a scheduler for indexicals, i.e. reactive functional rules encoding local consistency methods performing incremental constraint solving or entailment checking, and global constraints, i.e. general propagators which may use specialized algorithms to achieve a higher degree of consistency or better time and space complexity.

The solver has an open-ended design: the user can introduce new constraints, either in terms of indexicals by writing rules in a functional notation, or as global constraints via a Prolog programming interface. Constraints defined in terms of indexicals can be linked to 0/1-variables modeling entailment; thus indexicals are used for constraint solving as well as for entailment testing. Constraints can be arbitrarily combined using the propositional connectives by automatic expansion to systems of reified constraints.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. Aggoun and N. Beldiceanu. Extending CHIP in order to solve complex scheduling and placement problems. Mathl. Comput. Modelling, 17(7):57–73, 1993.

    Google Scholar 

  2. P. Baptiste and C. Le Pape. A theoretical and experimental comparison of constraint propagation techniques for disjunctive scheduling. In Proceedings of the Seventeenth International Joint Conference on Artificial Intelligence (IJCAI-95), Montreal, Canada, August 1995.

    Google Scholar 

  3. N. Beldiceanu and E. Contejean. Introducing global constraints in CHIP. Mathl. Comput. Modelling, 20(12):97–123, 1994.

    Google Scholar 

  4. B. Carlson and M. Carlsson. Compiling and Executing Disjunctions of Finite Domain Constraints. In Proceedings of the Twelfth International Conference on Logic Programming. MIT Press, 1995.

    Google Scholar 

  5. B. Carlson, M. Carlsson, and D. Diaz. Entailment of finite domain constraints. In Proceedings of the Eleventh International Conference on Logic Programming. MIT Press, 1994.

    Google Scholar 

  6. B. Carlson, M. Carlsson, and S. Janson. The implementation of AKL(FD). In Logic Programming: Proceedings of the 1995 International Symposium. MIT Press, 1995.

    Google Scholar 

  7. Y. Caseau and F. Laburthe. Improved clp scheduling with task intervals. In P. Van Hentenryck, editor, Logic Programming, Proceedings of the Eleventh International Conference on Logic Programming, pages 369–383, Santa Margherita Ligure, Italy, 1994. MIT Press.

    Google Scholar 

  8. Philippe Codognet and Giuseppe Nardiello. Enhancing the constraint-solving power of clp(FD) by means of path-consistency methods. In A. Podelski, editor, Constraints: Basics and Trends, volume 910 of Lecture Notes in Computer Science, pages 37–61. Springer-Verlag, 1995.

    Google Scholar 

  9. D. Diaz and P. Codognet. A Minimal Extension of the WAM for CLP(FD). In Proceedings of the International Conference on Logic Programming, pages 774–790, Budapest, Hungary, 1993. MIT Press.

    Google Scholar 

  10. M. Dincbas, P. van Hentenryck, H. Simonis, A. Aggoun, T. Graf, and F. Berthier. The Constraint Logic Programming Language CHIP. In Proceedings of the International Conference on Fifth Generation Computer Systems, 1988.

    Google Scholar 

  11. Mats Carlsson et al. SICStus Prolog User's Manual. SICS Research Report, Swedish Institute of Computer Science, 1995. URL: http://www.sics.se/isl/sicstus.html.

    Google Scholar 

  12. Micha Meier et al. ECLiPSe user manual. ECRC Research Report ECRC-93-6, European Computer Research Consortium, 1993.

    Google Scholar 

  13. C. Holzbaur. Specification of Constraint Based Inference Mechanism through Extended Unification. PhD thesis, Dept. of Medical Cybernetics and AI, University of Vienna, 1990.

    Google Scholar 

  14. ILOG. ILOG Solver C++. Reference manual, ILOG S.A., 1993.

    Google Scholar 

  15. R. Mohr and T.C. Henderson. Arc and path consistency revisited. Artificial Intelligence, 28:225–233, 1986.

    Google Scholar 

  16. W. Older and A. Vellino. Constraint arithmetic on real intervals. In Constraint Logic Programming: Selected Research (eds. Benhamou and Colmerauer). MIT Press, 1993.

    Google Scholar 

  17. PrologIA. Le manuel de Prolog IV. Reference manual, PrologIA S.A., 1997.

    Google Scholar 

  18. J.-F. Puget and M. Leconte. Beyond the glass box: Constraints as objects. In J. Lloyd, editor, Proceedings of the International Logic Programming Symposium (ILPS-95), pages 513–527, Portland, 1995.

    Google Scholar 

  19. J.-C. Régin. A filtering algorithm for constraints of difference in CSPs. In Proc. of the Twelfth National Conference on Artificial Intelligence (AAAI-94), pages 362–367, 1994.

    Google Scholar 

  20. Vijay A. Saraswat. Concurrent Constraint Programming Languages. PhD thesis, Carnegie-Mellon University, January 1990.

    Google Scholar 

  21. Gregory Sidebottom. A Language for Optimizing Constraint Propagation. PhD thesis, Simon Fraser University, November 1993.

    Google Scholar 

  22. Gert Smolka. The Oz programming model. In J. van Leeuwen, editor, Computer Science Today, volume 1000 of Lecture Notes in Computer Science, pages 324–343. Springer-Verlag, 1995.

    Google Scholar 

  23. Pascal Van Hentenryck and Yves Deville. The cardinality operator: a new logical connective in constraint logic programming. In International Conference on Logic Programming. MIT Press, 1991.

    Google Scholar 

  24. Pascal Van Hentenryck, Vijay Saraswat, and Yves Deville. Constraint processing in cc(FD). Draft, Computer Science Department, Brown University, 1991.

    Google Scholar 

  25. Pascal Van Hentenryck, Vijay Saraswat, and Yves Deville. Design, implementation and evaluation of the constraint language cc(FD). In A. Podelski, editor, Constraints: Basics and Rends, volume 910 of Lecture Notes in Computer Science. Springer-Verlag, 1995.

    Google Scholar 

  26. D. Waltz. The Psychology of Computer Vision (Ed. P. Winston), chapter Understanding line drawings of scenes with shadows. McGraw-Hill, New York, 1975.

    Google Scholar 

  27. H.P. Williams. Model Building in Mathematical Programming. J. Wiley and sons, New York, 1978.

    Google Scholar 

  28. Jörg Würtz, 1997. Personal Communication.

    Google Scholar 

  29. Neng-Fa Zhou. B-Prolog User's Manual Version 2.1. Technical report, Kyushu Institute of Technology, 1997. URL: http://www.cad.mse.kyutech.ac.jp/people/zhou/bprolog.html.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Hugh Glaser Pieter Hartel Herbert Kuchen

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Carlsson, M., Ottosson, G., Carlson, B. (1997). An open-ended finite domain constraint solver. In: Glaser, H., Hartel, P., Kuchen, H. (eds) Programming Languages: Implementations, Logics, and Programs. PLILP 1997. Lecture Notes in Computer Science, vol 1292. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0033845

Download citation

  • DOI: https://doi.org/10.1007/BFb0033845

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-63398-3

  • Online ISBN: 978-3-540-69537-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics