Publication:
MiniZinc+:finite type extensions for constraint programming language MiniZinc

Loading...
Thumbnail Image
Official URL
Full text at PDC
Publication Date
2013
Editors
Journal Title
Journal ISSN
Volume Title
Publisher
Citations
Google Scholar
Research Projects
Organizational Units
Journal Issue
Abstract
Muchos problemas se modelan de forma natural extendiendo un tipo existente con valores adicionales. Por ejemplo, los tipos de las bases de datos se extienden con valores nulos para representar la falta de datos. De forma parecida, los enteros pueden extenderse para tratar -∞ y +∞. Estas extensiones no solo afectan a la representación de tipos sino también a las funciones y operaciones entre los elementos del nuevo tipo extendido. Por ejemplo, para extender el tipo entero con los valores -∞ y +∞, las operaciones aritméticas como la suma y la resta se deben redefinir para los nuevos valores. Nuestra propuesta extiende el lenguaje de programación con restricciones MiniZinc para permitir modelos con tipos extendidos. El sistema permite la definición de tipos extendidos y del comportamiento de las operaciones respecto a los nuevos tipos. Los modelos extendidos son transformados a modelos MiniZinc equivalentes. Definimos la semántica tanto de MiniZinc como de la extensión propuesta y probamos la corrección de la transformación. El uso y las aplicaciones del nuevo lenguaje se ilustran a través de ejemplos incluyendo problemas SQL, circuitos Booleanos con posibles entradas indefinidas y problemas de planificación con valores especiales para el tiempo. [ABSTRACT] Many problems are naturally modeled by extending an existing type with additional values. For example, database types are extended with null values to represent missing data Similarly, integers may be extended to handle -∞ and +∞. These extensions does not only aects the type representation but also the functions and operations involving elements of the new extended type. For instance, in order to extend integer type with -∞ and +∞ values, the arithmetical operations such as addition and subtraction must be defined for the new values. Our proposal extends the constraint modeling language MiniZinc to allow models with extended types. The framework allows the definition of the extended types and the behavior of the operations with relation to the new types. The extended models are transformed into equivalent MiniZinc models. We define the semantics of both MiniZinc and the proposed extension and prove the correctness of the transformation. The usage and applications of the new language are illustrated through examples including SQL like problems, Boolean circuits allowing undefined inputs and scheduling problems considering special time values.
Description
Máster en Investigación en Informática, Facultad de Informática, Departamento de Sistemas informáticos y Computación, curso 2012-2013
Keywords
Citation