ESSENCE: A constraint language for specifying combinatorial problems

Alan M. Frisch, Warwick Harvey, Christopher Anthony Jefferson, Bernadette Martinez-Hernandez, Ian James Miguel

Research output: Contribution to journalArticlepeer-review

82 Citations (Scopus)


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.

Original languageEnglish
Pages (from-to)268-306
Number of pages39
Issue number3
Publication statusPublished - Sept 2008


  • constraint languages
  • specification languages
  • constraint modelling
  • constraint programming
  • combinatorial problems


Dive into the research topics of 'ESSENCE: A constraint language for specifying combinatorial problems'. Together they form a unique fingerprint.

Cite this