Results 1  10
of
44
MiniZinc: Towards a standard CP modelling language
 In: Proc. of 13th International Conference on Principles and Practice of Constraint Programming
, 2007
"... There is no standard modelling language for constraint programming (CP) problems. Most solvers have their own modelling language. This makes it difficult for modellers to experiment with different solvers for a problem. In this paper we present MiniZinc, a simple but expressive CP modelling language ..."
Abstract

Cited by 119 (28 self)
 Add to MetaCart
(Show Context)
There is no standard modelling language for constraint programming (CP) problems. Most solvers have their own modelling language. This makes it difficult for modellers to experiment with different solvers for a problem. In this paper we present MiniZinc, a simple but expressive CP modelling language which is suitable for modelling problems for a range of solvers and provides a reasonable compromise between many design possibilities. Equally importantly, we also propose a lowlevel solverinput language called FlatZinc, and a straightforward translation from MiniZinc to FlatZinc that preserves all solversupported global constraints. This lets a solver writer support MiniZinc with a minimum of effort— they only need to provide a simple FlatZinc frontend to their solver, and then combine it with an existing MiniZinctoFlatZinc translator. Such a frontend may then serve as a stepping stone towards a full MiniZinc implementation that is more tailored to the particular solver. A standard language for modelling CP problems will encourage experimentation with and comparisons between different solvers. Although MiniZinc is not perfect—no standard modelling language will be—we believe its simplicity, expressiveness, and ease of implementation make it a practical choice for a standard language.
The Design of the Zinc Modelling Language
, 2008
"... 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 mathematicallike notation. To do so it supports overloaded functions and predicates and automatic coercion and provides arithmetic ..."
Abstract

Cited by 38 (12 self)
 Add to MetaCart
(Show Context)
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 mathematicallike 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 userdefined 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 tradeoffs we faced in its design.
Xml representation of constraint networks format
 XCSP 2.1. http://www.cril.univartois.fr/CPAI08/XCSP2_ 1Competition.pdf
, 2008
"... We propose a new extended format to represent constraint networks using XML. This format allows us to represent constraints defined either in extension or in intension. It also allows us to reference global constraints. Any instance of the problems CSP (Constraint Satisfaction Problem), QCSP (Quanti ..."
Abstract

Cited by 13 (1 self)
 Add to MetaCart
(Show Context)
We propose a new extended format to represent constraint networks using XML. This format allows us to represent constraints defined either in extension or in intension. It also allows us to reference global constraints. Any instance of the problems CSP (Constraint Satisfaction Problem), QCSP (Quantified CSP) and WCSP (Weighted CSP) can be represented using this format. A subset of this format will be used for the third international competition of CSP solvers which will be held during summer 2008 (deadline:
Common Subexpression Elimination in Automated Constraint Modelling
"... Abstract. Typically, there are many alternative models of a given problem as a constraint satisfaction problem, and formulating an effective model requires a great deal of expertise. To reduce this bottleneck, specification of a problem, which can then be refined automatically to a solverindependen ..."
Abstract

Cited by 9 (7 self)
 Add to MetaCart
(Show Context)
Abstract. Typically, there are many alternative models of a given problem as a constraint satisfaction problem, and formulating an effective model requires a great deal of expertise. To reduce this bottleneck, specification of a problem, which can then be refined automatically to a solverindependent modelling language. The final step is to tailor the model to a particular constraint solver. We show that we can eliminate common subexpressions in the tailoring step, as compilers do when compiling source code. We show that common subexpression elimination has two key benefits. First, it can lead to a dramatic reduction in the size of a constraint problem, to the extent that solving time is reduced by an order of magnitude when the number of nodes searched is the same. Second, it can lead to enhanced propagation and reduced search. The effect of this can be even more dramatic, leading to reductions in nodes searched and time taken by several orders of magnitude. Where the technique does not lead to improved search, we have not seen it cause a significant overhead. Therefore, we propose that common subexpression elimination is an important technique for constraint programming. 1
Model Expansion as a Framework for Modelling and Solving Search Problems
"... We propose a framework for modelling and solving search problems using logic, and describe a project whose goal is to produce practically effective, general purpose tools for representing and solving search problems based on this framework. The mathematical foundation lies in the areas of finite mod ..."
Abstract

Cited by 9 (4 self)
 Add to MetaCart
(Show Context)
We propose a framework for modelling and solving search problems using logic, and describe a project whose goal is to produce practically effective, general purpose tools for representing and solving search problems based on this framework. The mathematical foundation lies in the areas of finite model theory and descriptive complexity, which provide us with many classical results, as well as powerful techniques, not available to many other approaches with similar goals. We describe the mathematical foundations; explain an extension to classical logic with inductive definitions that we consider central; give a summary of complexity and expressiveness properties; describe an approach to implementing solvers based on grounding; present grounding algorithms based on an extension of the relational algebra; describe an implementation of our framework which includes use of inductive definitions, sorts and order; and give experimental results comparing the performance of our implementation with ASP solvers and another solver based on the same framework. 1.
Modeldriven constraint programming
 In ACM SIGPLAN PPDP
, 2008
"... Constraint programming can definitely be seen as a modeldriven paradigm. The users write programs for modeling problems. These programs are mapped to executable models to calculate the solutions. This paper focuses on efficient model management (definition and transformation). From this point of ..."
Abstract

Cited by 8 (6 self)
 Add to MetaCart
Constraint programming can definitely be seen as a modeldriven paradigm. The users write programs for modeling problems. These programs are mapped to executable models to calculate the solutions. This paper focuses on efficient model management (definition and transformation). From this point of view, we propose to revisit the design of constraintprogramming systems. A modeldriven architecture is introduced to map solvingindependent constraint models to solvingdependent decision models. Several important questions are examined, such as the need for a visual highlevel modeling language, and the quality of metamodeling techniques to implement the transformations. A main result is the sCOMMA platform that efficiently implements the chain from modeling to solving constraint problems.
A framework for the automatic correction of constraint programs
 In ICST, page Forthcomming. IEEE Computer Society
, 2011
"... Abstract—Constraint programs, such as those written in highlevel constraint modelling languages, e.g., OPL (Optimization Programming Language), COMET, ZINC or ESSENCE, are more and more used in businesscritical programs. As any other critical programs, they require to be thoroughly tested and cor ..."
Abstract

Cited by 8 (6 self)
 Add to MetaCart
Abstract—Constraint programs, such as those written in highlevel constraint modelling languages, e.g., OPL (Optimization Programming Language), COMET, ZINC or ESSENCE, are more and more used in businesscritical programs. As any other critical programs, they require to be thoroughly tested and corrected to prevent catastrophic loss of money. This paper presents a framework for the automatic correction of constraint programs that takes into account the specificity of the software development process of these programs as well as their typical faults. We implemented this framework in our testing platform CPTEST for OPL programs. Using mutation testing, our experimental results show that wellknown constraint programs written in OPL can be automatically corrected using our framework. I.
P.J.: Half reification and flattening
 CP 2011, LNCS
, 2011
"... Abstract. Usually propagationbased constraint solvers construct a constraint network as a conjunction of constraints. They provide propagators for each form of constraint c. In order to increase expressiveness, systems also usually provide propagators for reified forms of constraints. A reified con ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
(Show Context)
Abstract. Usually propagationbased constraint solvers construct a constraint network as a conjunction of constraints. They provide propagators for each form of constraint c. In order to increase expressiveness, systems also usually provide propagators for reified forms of constraints. A reified constraint b ↔ c associates a truth value b with a constraint c. With reified propagators, systems can express complex combinations of constraints using disjunction, implication and negation by flattening. In this paper we argue that reified constraints should be replaced by halfreified constraints of the form b → c. Halfreified constraints do not impose any extra burden on the implementers of propagators compared to unreified constraints, they can implement reified propagators without loss of propagation strength (assuming c is negatable), they extend automatically to global constraints, they simplify the handling of partial functions, and can allow flattening to give better propagation behavior. 1
Declarative Programming of Search Problems with Builtin Arithmetic
"... We address the problem of providing a logical formalization of arithmetic in declarative modelling languages for NP search problems. The challenge is to simultaneously allow quantification over an infinite domain such as the natural numbers, provide natural modelling facilities, and control expressi ..."
Abstract

Cited by 5 (4 self)
 Add to MetaCart
We address the problem of providing a logical formalization of arithmetic in declarative modelling languages for NP search problems. The challenge is to simultaneously allow quantification over an infinite domain such as the natural numbers, provide natural modelling facilities, and control expressive power of the language. To address the problem, we introduce an extension of the model expansion (MX) based framework to finite structures embedded in an infinite secondary structure, together with “doubleguarded ” logics for representing MX specifications for these structures. The logics also contain multiset functions (aggregate operations). Our main result is that these logics capture the complexity class NP on “smallcost ” arithmetical structures. 1
Optimisation Modelling for Software Developers
"... Abstract. Software developers are an ideal channel for the distribution of Constraint Programming (CP) technology. Unfortunately, including even basic optimisation functionality in an application currently requires the use of an entirely separate paradigm with which most software developers are not ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
Abstract. Software developers are an ideal channel for the distribution of Constraint Programming (CP) technology. Unfortunately, including even basic optimisation functionality in an application currently requires the use of an entirely separate paradigm with which most software developers are not familiar. We suggest an alternative interface to CP designed to overcome this barrier, and describe a prototype implementation for Java. The interface allows an optimisation problem to be defined in terms of procedures rather than decision variables and constraints. Optimisation is seamlessly integrated into a wider application through automatic conversion between this definition and a conventional model solved by an external solver. This work is inspired by the language CoJava, in which a simulation is automatically translated into an optimal simulation. We extend this idea to support a general interface where optimisation is triggered ondemand. Our implementation also supports much more advanced code, such as object variables, variablesized collections, and complex decisions. 1