Two type extensions for the constraint modeling language MiniZinc

Rafael Caballero, Peter J. Stuckey, Antonio Tenorio-Fornés

Research output: Contribution to journalArticleResearchpeer-review

2 Citations (Scopus)


In this paper we present two type extensions for the modeling language MiniZinc that allow the representation of some problems in a more natural way. The first proposal, called MiniZinc∗, extends existing types with additional values. The user can specify both the extension of a predefined type with new values, and the behavior of the operations with relation to the new types. We illustrate the usage of MiniZinc∗ to model SQL-like problems with integer variables extended with NULL values. The second extension, MiniZinc+, introduces union types in the language. This allows defining recursive types such as trees, which are very useful for modeling problems that involve complex structures. A new case statement is introduced to select the different components of union type terms. The paper shows how a model defined using these extensions can be transformed into a MiniZinc model which is equivalent to the original model.

Original languageEnglish
Article number1890
Pages (from-to)156-189
Number of pages34
JournalScience of Computer Programming
Issue numberP1
Publication statusPublished - 1 Nov 2015
Externally publishedYes


  • Constraint programming
  • NULL values
  • Union types

Cite this