Skip to main content

Introducing esra, a Relational Language for Modelling Combinatorial Problems

  • Conference paper
Logic Based Program Synthesis and Transformation (LOPSTR 2003)

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

Abstract

Current-generation constraint programming languages are considered by many, especially in industry, to be too low-level, difficult, and large. We argue that solver-independent, high-level relational constraint modelling leads to a simpler and smaller language, to more concise, intuitive, and analysable models, as well as to more efficient and effective model formulation, maintenance, reformulation, and verification. All this can be achieved without sacrificing the possibility of efficient solving, so that even time-pressed or less competent modellers can be well assisted. Towards this, we propose the esra relational constraint modelling language, showcase its elegance on some well-known problems, and outline a compilation philosophy for such languages.

A previous version of this paper appears pages 63–77 in the informally published proceedings of the Second International Workshop Modelling and Reformulating CSPs, available at http://www-users.cs.york.ac.uk/~sfrisch/Reformulation/03/

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abrial, J.-R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)

    Book  MATH  Google Scholar 

  2. Ambert, F., Legeard, B., Legros, E.: Programmation en logique avec contraintes sur ensembles et multi-ensembles héréditairement finis. Techniques et Sciences Informatiques 15(3), 297–328 (1996)

    Google Scholar 

  3. Bakewell, A., Frisch, A.M., Miguel, I.: Towards automatic modelling of constraint satisfaction problems: A system based on compositional refinement. In: Proceedings of the 2nd International Workshop on Modelling and Reformulating CSPs, pp. 3–17 (2003), Available at http://www-users.cs.york.ac.uk/~frisch/Reformulation/03/

  4. Cadoli, M., Palopoli, L., Schaerf, A., Vasile, D.: NPSPEC: An executable specification language for solving all problems in NP. In: Gupta, G. (ed.) PADL 1999. LNCS, vol. 1551, pp. 16–30. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  5. Carlsson, M., Ottosson, G., Carlson, B.: An open-ended finite domain constraint solver. In: Hartel, P.H., Kuchen, H. (eds.) PLILP 1997. LNCS, vol. 1292, pp. 191–206. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  6. Denecker, M., Pelov, N., Bruynooghe, M.: Ultimate well-founded and stable semantics for logic programs with aggregates. In: Codognet, P. (ed.) ICLP 2001. LNCS, vol. 2237, pp. 212–226. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  7. Dovier, A., Piazza, C., Pontelli, E., Rossi, G.: Sets and constraint logic programming. ACM Transactions on Programming Languages and Systems 22(5), 861–931 (2000)

    Article  Google Scholar 

  8. Finkel, R., Marek, V., Truszczyński, M.: Tabular constraint-satisfaction problems and answer-set programming. In: Proceedings of the AAAI Spring Symposium on Answer-Set Programming (2001), Available at http://www.cs.nmsu.edu/~tson/ASP2001/

  9. Flener, P.: Towards relational modelling of combinatorial optimisation problems. In: Bessière, C. (ed.) Proceedings of the IJCAI 2001 Workshop on Modelling and Solving Problems with Constraints, pp. 31–38 (2001), Available at http://www.lirmm.fr/~bessiere/w_ijcai01/

  10. Flener, P., Frisch, A.M., Hnich, B., Kızıltan, Z., Miguel, I., Walsh, T.: Matrix modelling: Exploiting common patterns in constraint programming. In: Proc. of the 1st Int’l Workshop on Reformulating CSPs, pp. 27–41 (2002), Available at http://www-users.cs.york.ac.uk/~frisch/Reformulation/02/

  11. Flener, P., Hnich, B., Kızıltan, Z.: Compiling high-level type constructors in constraint programming. In: Ramakrishnan, I.V. (ed.) PADL 2001. LNCS, vol. 1990, pp. 229–244. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  12. Flener, P., Pearson, J., Ă…gren, M.: The Syntax, Semantics, and Type System of esra. Technical report, ASTRA group (April 2003), Available at http://www.it.uu.se/research/group/astra/

  13. Gervet, C.: Interval propagation to reason about sets: Definition and implementation of a practical language. Constraints 1(3), 191–244 (1997)

    Article  MATH  MathSciNet  Google Scholar 

  14. Hickey, T.J.: Functional constraints in CLP languages. In: Benhamou, F., Colmerauer, A. (eds.) Constraint Logic Programming: Selected Research, pp. 355–381. The MIT Press, Cambridge (1993)

    Google Scholar 

  15. Hnich, B.: Function Variables for Constraint Programming. PhD thesis, Department of Information Science, Uppsala University, Sweden (2003), Available at http://publications.uu.se/theses/

  16. Jackson, D., Shlyakhter, I., Sridharan, M.: A micromodularity mechanism. Software Engineering Notes 26(5), 62–73 (2001); Proceedings of FSE/ESEC 2001

    Article  Google Scholar 

  17. Laburthe, F., Caseau, Y.: salsa: A language for search algorithms. Constraints 7, 255–288 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  18. Laurière, J.-L.: A language and a program for stating and solving combinatorial problems. Artificial Intelligence 10(1), 29–127 (1978)

    Article  MATH  MathSciNet  Google Scholar 

  19. Leone, N., Pfeifer, G., Faber, W., Eiter, T., Gottlob, G., Perri, S., Scarcello, F.: The DLV system for knowledge representation and reasoning. ACM Transactions on Computational Logic (forthcoming), Available at http://arxiv.org/ps/cs.AI/0211004

  20. Lesaint, D.: Inferring constraint types in constraint programming. In: Van Hentenryck, P. (ed.) CP 2002. LNCS, vol. 2470, pp. 492–507. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  21. Lifschitz, V.: Answer set programming and plan generation. Artificial Intelligence 138, 39–54 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  22. Minton, S.: Automatically configuring constraint satisfaction programs: A case study. Constraints 1(1-2), 7–43 (1996)

    Article  MathSciNet  Google Scholar 

  23. Niemelä, I.: Logic programs with stable model semantics as a constraint programming paradigm. Annals of Mathematics and AI 25(3-4), 241–273 (1999)

    MATH  Google Scholar 

  24. Pelov, N., Bruynooghe, M.: Extending constraint logic programming with open functions. In: Proceedings of PPDP 2000, pp. 235–244. ACM Press, New York (2000)

    Google Scholar 

  25. Pelov, N., Denecker, M., Bruynooghe, M.: Partial stable models for logic programs with aggregates. In: Lifschitz, V., Niemelä, I. (eds.) LPNMR 2004. LNCS (LNAI), vol. 2923, pp. 207–219. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  26. Pesant, G.: A regular language membership constraint for sequences of variables. In: Proceedings of the 2nd International Workshop on Modelling and Reformulating CSPs, pp. 110–119 (2003), Available at http://www-users.cs.york.ac.uk/~frisch/Reformulation/03/

  27. Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual. Addison-Wesley, Reading (1999)

    Google Scholar 

  28. Smith, B.M.: Modelling a permutation problem. Technical Report 18, School of Computing, University of Leeds, UK (2000); Also in Proceedings of the ECAI 2000 Workshop on Modelling and Solving Problems with Constraints

    Google Scholar 

  29. Spivey, J.M.: The Z Notation: A Reference Manual, 2nd edn. Prentice Hall, Englewood Cliffs (1992)

    Google Scholar 

  30. Tsang, E., Mills, P., Williams, R., Ford, J., Borrett, J.: A computer-aided constraint programming system. In: Little, J. (ed.) Proceedings of PACLP 1999, pp. 81–93. The Practical Application Company (1999)

    Google Scholar 

  31. Van Hentenryck, P.: The OPL Optimization Programming Language. The MIT Press, Cambridge (1999)

    Google Scholar 

  32. Van Hentenryck, P., Flener, P., Pearson, J., Ågren, M.: Tractable symmetry breaking for CSPs with interchangeable values. In: Proceedings of IJCAI 2003, pp. 277–282. Morgan Kaufmann, San Francisco (2003)

    Google Scholar 

  33. Walsh, T.: Permutation problems and channelling constraints. In: Nieuwenhuis, R., Voronkov, A. (eds.) LPAR 2001. LNCS (LNAI), vol. 2250, pp. 377–391. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  34. Walsh, T.: Consistency and propagation with multiset constraints: A formal viewpoint. In: Rossi, F. (ed.) CP 2003. LNCS, vol. 2833, pp. 724–738. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  35. Warmer, J., Kleppe, A.: The Object Constraint Language: Precise Modeling with UML. Addison-Wesley, Reading (1999)

    Google Scholar 

  36. Wrang, S.: Implementation of the ESRA Constraint Modelling Language. Master’s thesis, Master’s Thesis in Computing Science 223, Department of Information Technology, Uppsala University, Sweden (2002), Available at ftp://ftp.csd.uu.se/pub/papers/masters-theses/

  37. Zhou, J.: Introduction to the constraint language NCL. Journal of Logic Programming 45(1-3), 71–103 (2000)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Flener, P., Pearson, J., Ă…gren, M. (2004). Introducing esra, a Relational Language for Modelling Combinatorial Problems. In: Bruynooghe, M. (eds) Logic Based Program Synthesis and Transformation. LOPSTR 2003. Lecture Notes in Computer Science, vol 3018. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-25938-1_18

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-25938-1_18

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-22174-6

  • Online ISBN: 978-3-540-25938-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics