Essence: A constraint language for specifying combinatorial problems

  • Authors:
  • Alan M. Frisch;Warwick Harvey;Chris Jefferson;Bernadette Martínez-Hernández;Ian Miguel

  • Affiliations:
  • Artificial Intelligence Group, Department of Computer Science, University of York, York, UK;School of Computer Science, University of St. Andrews, St. Andrews, UK;Oxford University Computing Laboratory, University of Oxford, Oxford, UK;Artificial Intelligence Group, Department of Computer Science, University of York, York, UK;School of Computer Science, University of St. Andrews, St. Andrews, UK

  • Venue:
  • Constraints
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

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.