Zinc
The design of the zinc modelling language. Zinc is a new modelling language developed as part of the G12 project. It has four important characteristics. First, Zinc allows specification of models using a natural mathematical-like notation. To do so it supports overloaded functions and predicates and automatic coercion and provides arithmetic, finite domain and set constraints. Second, while Zinc is a relatively simple and small language, it can be readily extended to different application areas by means of powerful language constructs such as user-defined predicates and functions and constrained types. Third, Zinc provides sophisticated type and instantiation checking which allows early detection of errors in models. Finally, perhaps the main novelty in Zinc is that it is designed to support a modelling methodology in which the same conceptual model can be automatically mapped into different design models, thus allowing modellers to easily “plug and play” with different solving techniques and so choose the most appropriate for that problem. We describe in detail the various language features of Zinc and the many trade-offs we faced in its design.
Keywords for this software
References in zbMATH (referenced in 26 articles )
Showing results 1 to 20 of 26.
Sorted by year (- Legat, Benoît; Dowson, Oscar; Garcia, Joaquim Dias; Lubin, Miles: MathOptInterface: a data structure for mathematical optimization problems (2022)
- Belle, Vaishak; De Raedt, Luc: Semiring programming: a semantic framework for generalized sum product problems (2020)
- Freuder, Eugene C.: Progress towards the Holy Grail (2018)
- Balduccini, Marcello; Lierler, Yuliya: Constraint answer set solver \textscezcspand why integration schemas matter (2017)
- Guns, Tias; Dries, Anton; Nijssen, Siegfried; Tack, Guido; De Raedt, Luc: MiningZinc: a declarative framework for constraint-based mining (2017)
- Hoffmann, Jan; Das, Ankush; Weng, Shu-Chun: Towards automatic resource bound analysis for OCaml (2017)
- Cire, Andre A.; Hooker, John N.; Yunes, Tallys: Modeling with metaconstraints and semantic typing of variables (2016)
- Gassmann, Horand; Ma, Jun; Martin, Kipp: Communication protocols for options and results in a distributed optimization environment (2016)
- Bruynooghe, Maurice; Blockeel, Hendrik; Bogaerts, Bart; De Cat, Broes; De Pooter, Stef; Jansen, Joachim; Labarre, Anthony; Ramon, Jan; Denecker, Marc; Verwer, Sicco: Predicate logic as a modeling language: modeling and solving some machine learning and data mining problems with IDP3 (2015)
- Allouche, David; André, Isabelle; Barbe, Sophie; Davies, Jessica; de Givry, Simon; Katsirelos, George; O’Sullivan, Barry; Prestwich, Steve; Schiex, Thomas; Traoré, Seydou: Computational protein design as an optimization problem (2014)
- Francis, Kathryn Glenn; Stuckey, Peter J.: Explaining circuit propagation (2014)
- Beldiceanu, Nicolas; Carlsson, Mats; Flener, Pierre; Pearson, Justin: On the reification of global constraints (2013)
- Gualandi, Stefano; Malucelli, Federico: Constraint programming-based column generation (2013)
- Heinz, Stefan; Schulz, Jens; Beck, J. Christopher: Using dual presolving reductions to reformulate cumulative constraints (2013)
- Schrijvers, Tom; Tack, Guido; Wuille, Pieter; Samulowitz, Horst; Stuckey, Peter J.: Search combinators (2013)
- Blockeel, Hendrik; Bogaerts, Bart; Bruynooghe, Maurice; De Cat, Broes; De Pooter, Stef; Denecker, Marc; Labarre, Anthony; Ramon, Jan; Verwer, Sicco: Modeling machine learning and data mining problems with (\mathrmFO(\cdot)) (2012)
- Aravantinos, V.; Caferra, R.; Peltier, N.: Decidability and undecidability results for propositional schemata (2011)
- Schutt, Andreas; Feydy, Thibaut; Stuckey, Peter J.; Wallace, Mark G.: Explaining the \textttcumulativepropagator (2011)
- Buisson, Jérémy; Dagnat, Fabien: ReCaml: execution state as the cornerstone of reconfigurations (2010)
- Milano, Michela; Wallace, Mark: Integrating operations research in constraint programming (2010)