Skip to main content
Log in

Essence: A constraint language for specifying combinatorial problems

  • Published:
Constraints Aims and scope Submit manuscript

Abstract

Essence is a formal language for specifying combinatorial problems in a manner similar to natural rigorous specifications that use a mixture of natural language and discrete mathematics. Essence provides a high level of abstraction, much of which is the consequence of the provision of decision variables whose values can be combinatorial objects, such as tuples, sets, multisets, relations, partitions and functions. Essence also allows these combinatorial objects to be nested to arbitrary depth, providing for example sets of partitions, sets of sets of partitions, and so forth. Therefore, a problem that requires finding a complex combinatorial object can be specified directly by using a decision variable whose type is precisely that combinatorial object.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Aggoun, A., & Beldiceanu, N. (1993). Overview of the CHIP compiler system. In F. Benhamou, A. Colmerauer (Eds.), Constraint logic programming: Selected research (pp. 421–436). London: MIT.

    Google Scholar 

  2. Brooke, A., Kendrick, D., & Meeraus, A. (1988). GAMS: A users’ guide. Danvers: Scientific.

    Google Scholar 

  3. Cadoli, M., Ianni, G., Palopoli, L., Schaerf, A., & Vasile, D. (2000). NP-SPEC: An executable specification language for solving all problems in NP. Computer Languages, 26, 165–195.

    Article  MATH  Google Scholar 

  4. Cheadle, A. M., Harvey, W., Sadler, A. J., Schimpf, J., Shen, K., & Wallace, M. G. (2003). ECLiPSe: An introduction. Technical report, IC-Parc-03-1. Imperial College London.

  5. Flener, P., Frisch, A. M., Hnich, B., Kızıltan, Z., Miguel, I., Walsh, T. (2001). Matrix modelling. In Proceedings of the CP’01 workshop on modelling and problem formulation (pp. 1–7).

  6. Flener, P., Pearson, J., & Agren, M. (2004). Introducing ESRA, a relational language for modelling combinatorial problems. In Proceedings of LOPSTR ’03: Revised selected papers (Vol. 3018). Lecture notes in computer science.

  7. Fourer, R., Gay, D. M., & Kernighan, B. W. (2003). AMPL: A modeling language for mathematical programming (2nd ed.). Pacific Grove: Thomson/Brooks/Cole.

    Google Scholar 

  8. Frisch, A. M., Grum, M., Jefferson, C., Martínez Hernández, B., & Miguel, I. (2005). The essence of Essence: A language for specifying combinatorial problems. In Proc. of the 4th int. workshop on modelling and reformulating constraint satisfaction problems (pp. 73–88).

  9. Frisch, A. M., Grum, M., Jefferson, C., Martínez Hernández, B., & Miguel, I. (2007). The design of Essence: A language for specifying combinatorial problems. In Proc. of the twentieth int. joint conf. on artificial intelligence.

  10. Frisch, A. M., Hnich, B., Miguel, I., Smith, B. M., & Walsh, T. (2005). Transforming and refining abstract constraint specifications. In Proceedings of the sixth symposium on abstraction, reformulation and approximation. Lecture notes in computer science (Vol. 3607, pp. 76–91). Springer.

  11. Frisch, A. M., Jefferson, C., Martínez Hernández, B., & Miguel, I. (2005). The rules of constraint modelling. In Proc. of the nineteenth int. joint conf. on artificial intelligence (pp. 109–116).

  12. Frisch, A. M., Jefferson, C., Martinez-Hernandez, B., & Miguel, I. (2007). Symmetry in the generation of constraint models. In Proceedings of the international symmetry conference.

  13. Frisch, A. M., & Miguel, I. (2006). The concept and provenance of unnamed, indistinguishable types. www.cs.york.ac.uk/aig/constraints/AutoModel/. Accessed September 2007.

  14. Garey, M. R., & Johnson, D. S. (1979). Computers and intractability. San Francisco: W. H. Freeman.

    MATH  Google Scholar 

  15. Gent, I. P., Jefferson, C., Miguel, I. (2006). Minion: Lean, fast constraint solving. In Proceedings of the 17th European conference on artifical intelligence.

  16. Gent, I. P., Miguel, I., & Rendl, A. (2007). Tailoring solver-independent constraint models: A case study with Essence′ and Minion. In Proceedings of the 7th international symposium on abstraction, reformulation and approximation (pp. 18–21).

  17. Gervet, C. (1994). Conjunto: Constraint logic programming with finite set domains. In M. Bruynooghe (Ed.), Logic programming — proc. of the 1994 international symposium (pp. 339–358). London: MIT.

    Google Scholar 

  18. Hnich, B. (2003). Function Variables for Constraint Programming. Ph.D. thesis, Computer Science Division, Dept. of Information Science, Uppsala University.

  19. ILOG (2006) ILOG Solver 6.3 user manual. ILOG, S.A., Gentilly.

  20. Jackson, D. (2006). Software abstractions: Logic, language, and snalysis. London: MIT.

    Google Scholar 

  21. Lauriere, J-L. (1978). ALICE: A language and a program for stating and solving combinatorial problems. Artificial Intelligence, 10(1), 29–127.

    Article  MATH  MathSciNet  Google Scholar 

  22. Marriott, K., Nethercote, N., Rafeh, R., Stuckey, P. J., De la Banda, M. G., & Wallace, M. (2008). The design of the Zinc modelling language. Constraints, This Volume.

  23. Marriott, K., Rafeh, R., Wallace, M., Garcia de la Banda, M., & Nethercote, N. (2006). Zinc 0.1: Language and libraries. Technical report, Monash University.

  24. Michel, L., & Van Hentenryck, P. (2000). Localizer. Constraints, 5(1/2), 43–84.

    Article  MATH  Google Scholar 

  25. Mills, P., Tsang, E. P. K., Williams, R., Ford, J., Borrett, J. (1999). EaCL 1.5: An easy abstract constraint optimisation programming language. Technical report, University of Essex, Colchester, UK, December.

  26. Mitchell, D., & Ternovska, E. (2008). Expressive power and abstraction in Essence. Constraints, This Volume.

  27. Nethercote, N., Stuckey, P. J., Becket, R., Brand, S., Duck, G. J., & Tack G. (2007). Minizinc: Towards a standard CP modelling language. In Proceedings of the 13th international conference on principles and practice of constraint programming (pp. 529–543).

  28. Regin, J-C. (1996). Generalized arc consistency for global cardinality constraint. In Proceedings of the 13th conference on artificial intelligence (pp. 209–215).

  29. Renker, G., & Ahriz, H. (2004). Building models through formal specification. In Proc of the first int. conf. on the integration of AI and OR techniques in constraint programming for combinatorial optimization problems, Lecture notes in computer science (Vol. 3011, pp. 395–401). Springer.

  30. Simons, R. V. (1987). Mathematical programming modeling using MGG. IMA Journal of Mathematics in Management, 1, 267–276.

    Article  Google Scholar 

  31. Spivey, J. M. (1989). An introduction to Z and formal specifications. Software Engineering Journal, 4(1), 40–50.

    Article  Google Scholar 

  32. Van Hentenryck, P. (1999). The OPL optimization programming language. London: MIT.

    Google Scholar 

  33. Wallace, M. G., Novello, S., & Schimpf, J. (1997). ECLiPSe: A platform for constraint logic programming. ICL Systems Journal, 12(1), 159–200.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alan M. Frisch.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Frisch, A.M., Harvey, W., Jefferson, C. et al. Essence: A constraint language for specifying combinatorial problems. Constraints 13, 268–306 (2008). https://doi.org/10.1007/s10601-008-9047-y

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10601-008-9047-y

Keywords

Navigation