Two type extensions for the constraint modelling language MiniZinc

In this paper we present two type extensions for the modelling 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 wi...

Descripción completa

Detalles Bibliográficos
Autores: Caballero Roldán, Rafael, Stuckey, Peter J., Tenorio Fornés, Ámbar
Tipo de recurso: artículo
Fecha de publicación:2015
País:España
Repositorio:Docta Complutense
Idioma:inglés
OAI Identifier:oai:docta.ucm.es:20.500.14352/24376
Acceso en línea:https://hdl.handle.net/20.500.14352/24376
Access Level:acceso abierto
Palabra clave:004.438MiniZinc
Constraint Programming
NULL values
Union Types
Lenguajes de programación
1203.23 Lenguajes de Programación
id ES_d2cf3d1520c5cae7e6a1a7ae320d826d
oai_identifier_str oai:docta.ucm.es:20.500.14352/24376
network_acronym_str ES
network_name_str España
repository_id_str
spelling Two type extensions for the constraint modelling language MiniZincCaballero Roldán, RafaelStuckey, Peter J.Tenorio Fornés, Ámbar004.438MiniZincConstraint ProgrammingNULL valuesUnion TypesLenguajes de programación1203.23 Lenguajes de ProgramaciónIn this paper we present two type extensions for the modelling 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 modelling 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.ElsevierUniversidad Complutense de Madrid20232023-06-1820152015-11-0120152015-11-01journal articlehttp://purl.org/coar/resource_type/c_6501info:eu-repo/semantics/articleapplication/pdfhttps://hdl.handle.net/20.500.14352/24376reponame:Docta Complutenseinstname:Inglésengopen accesshttp://purl.org/coar/access_right/c_abf2info:eu-repo/semantics/openAccessoai:docta.ucm.es:20.500.14352/243762025-08-02T12:44:52Z
dc.title.none.fl_str_mv Two type extensions for the constraint modelling language MiniZinc
title Two type extensions for the constraint modelling language MiniZinc
spellingShingle Two type extensions for the constraint modelling language MiniZinc
Caballero Roldán, Rafael
004.438MiniZinc
Constraint Programming
NULL values
Union Types
Lenguajes de programación
1203.23 Lenguajes de Programación
title_short Two type extensions for the constraint modelling language MiniZinc
title_full Two type extensions for the constraint modelling language MiniZinc
title_fullStr Two type extensions for the constraint modelling language MiniZinc
title_full_unstemmed Two type extensions for the constraint modelling language MiniZinc
title_sort Two type extensions for the constraint modelling language MiniZinc
dc.creator.none.fl_str_mv Caballero Roldán, Rafael
Stuckey, Peter J.
Tenorio Fornés, Ámbar
author Caballero Roldán, Rafael
author_facet Caballero Roldán, Rafael
Stuckey, Peter J.
Tenorio Fornés, Ámbar
author_role author
author2 Stuckey, Peter J.
Tenorio Fornés, Ámbar
author2_role author
author
dc.contributor.none.fl_str_mv Universidad Complutense de Madrid
dc.subject.none.fl_str_mv 004.438MiniZinc
Constraint Programming
NULL values
Union Types
Lenguajes de programación
1203.23 Lenguajes de Programación
topic 004.438MiniZinc
Constraint Programming
NULL values
Union Types
Lenguajes de programación
1203.23 Lenguajes de Programación
description In this paper we present two type extensions for the modelling 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 modelling 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.
publishDate 2015
dc.date.none.fl_str_mv 2015
2015-11-01
2015
2015-11-01
2023
2023-06-18
dc.type.none.fl_str_mv journal article
http://purl.org/coar/resource_type/c_6501
info:eu-repo/semantics/article
format article
dc.identifier.none.fl_str_mv https://hdl.handle.net/20.500.14352/24376
url https://hdl.handle.net/20.500.14352/24376
dc.language.none.fl_str_mv Inglés
eng
language_invalid_str_mv Inglés
language eng
dc.rights.none.fl_str_mv open access
http://purl.org/coar/access_right/c_abf2
info:eu-repo/semantics/openAccess
rights_invalid_str_mv open access
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Elsevier
publisher.none.fl_str_mv Elsevier
dc.source.none.fl_str_mv reponame:Docta Complutense
instname:
instname_str
reponame_str Docta Complutense
collection Docta Complutense
repository.name.fl_str_mv
repository.mail.fl_str_mv
_version_ 1844180503417061376
score 15,647109