Results 1  10
of
260
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.
Minion: A fast scalable constraint solver
 In: Proceedings of ECAI 2006, Riva del Garda
, 2006
"... Abstract. We present Minion, a new constraint solver. Empirical results on standard benchmarks show orders of magnitude performance gains over stateoftheart constraint toolkits. These gains increase with problem size – Minion delivers scalable constraint solving. Minion is a generalpurpose const ..."
Abstract

Cited by 118 (39 self)
 Add to MetaCart
(Show Context)
Abstract. We present Minion, a new constraint solver. Empirical results on standard benchmarks show orders of magnitude performance gains over stateoftheart constraint toolkits. These gains increase with problem size – Minion delivers scalable constraint solving. Minion is a generalpurpose constraint solver, with an expressive input language based on the common constraint modelling device of matrix models. Focussing on matrix models supports a highlyoptimised implementation, exploiting the properties of modern processors. This contrasts with current constraint toolkits, which, in order to provide ever more modelling and solving options, have become progressively more complex at the cost of both performance and usability. Minion is a black box from the user point of view, deliberately providing few options. This, combined with its raw speed, makes Minion a substantial step towards Puget’s ‘Model and Run ’ constraint solving paradigm. 1
Algorithms for hybrid MILP/CP models for a class of optimization problems
 INFORMS Journal on Computing
, 2001
"... The goal of this paper is to develop models and methods that use complementary strengths of Mixed Integer Linear Programming (MILP) and Constraint Programming (CP) techniques to solve problems that are otherwise intractable if solved using either of the two methods. The class of problems considered ..."
Abstract

Cited by 96 (12 self)
 Add to MetaCart
The goal of this paper is to develop models and methods that use complementary strengths of Mixed Integer Linear Programming (MILP) and Constraint Programming (CP) techniques to solve problems that are otherwise intractable if solved using either of the two methods. The class of problems considered in this paper have the characteristic that only a subset of the binary variables have nonzero objective function coefficients if modeled as an MILP. This class of problems is formulated as a hybrid MILP/CP model that involves some of the MILP constraints, a reduced set of the CP constraints, and equivalence relations between the MILP and the CP variables. An MILP/CP based decomposition method and an LP/CPbased branchandbound algorithm are proposed to solve these hybrid models. Both these algorithms rely on the same relaxed MILP and feasibility CP problems. An application example is considered in which the leastcost schedule has to be derived for processing a set of orders with release and due dates using a set of dissimilar parallel machines. It is shown that this problem can be modeled as an MILP, a CP, a combined MILPCP OPL model (Van Hentenryck 1999), and a hybrid MILP/CP model. The computational performance of these models for several sets shows that the hybrid MILP/CP model can achieve two to three orders of magnitude reduction in CPU time.
The essence of ESSENCE: A constraint language for specifying combinatorial problems
 In Proceedings of the 20th International Joint Conference on Artificial Intelligence
, 2005
"... Abstract. Essence is a new language for specifying combinatorial (decision or optimisation) problems at a high level of abstraction. The key feature enabling this abstraction is the provision of decision variables whose values can be combinatorial objects, such as tuples, sets, multisets, relations, ..."
Abstract

Cited by 64 (15 self)
 Add to MetaCart
(Show Context)
Abstract. Essence is a new language for specifying combinatorial (decision or optimisation) problems at a high level of abstraction. The key feature enabling this abstraction is the provision of decision variables whose values can be combinatorial objects, such as tuples, sets, multisets, relations, partitions and functions. Essence also allows these combinatorial objects to be nested to arbitrary depth, thus providing, for example, sets of partitions, sets of sets of partitions, and so forth. 1
Efficient constraint propagation engines
 Transactions on Programming Languages and Systems
"... This paper presents a model and implementation techniques for speeding up constraint propagation. Three fundamental approaches to improving constraint propagation based on propagators as implementations of constraints are explored: keeping track of which propagators are at fixpoint, choosing which p ..."
Abstract

Cited by 62 (9 self)
 Add to MetaCart
(Show Context)
This paper presents a model and implementation techniques for speeding up constraint propagation. Three fundamental approaches to improving constraint propagation based on propagators as implementations of constraints are explored: keeping track of which propagators are at fixpoint, choosing which propagator to apply next, and how to combine several propagators for the same constraint. We show how idempotence reasoning and events help track fixpoints more accurately. We improve these methods by using them dynamically (taking into account current domains to improve accuracy). We define prioritybased approaches to choosing a next propagator and show that dynamic priorities can improve propagation. We illustrate that the use of multiple propagators for the same constraint can be advantageous with priorities, and introduce staged propagators that combine the effects of multiple propagators with priorities for greater efficiency. 1
The rules of constraint modelling
 In Proc. of the Nineteenth Int. Joint Conf. on Artificial Intelligence
, 2005
"... Many and diverse combinatorial problems have been solved successfully using finitedomain constraint programming. However, to apply constraint programming to a particular domain, the problem must first be modelled as a constraint satisfaction or optimisation problem. Since constraints provide a rich ..."
Abstract

Cited by 55 (21 self)
 Add to MetaCart
(Show Context)
Many and diverse combinatorial problems have been solved successfully using finitedomain constraint programming. However, to apply constraint programming to a particular domain, the problem must first be modelled as a constraint satisfaction or optimisation problem. Since constraints provide a rich language, typically many alternative models exist. Formulating a good model therefore requires a great deal of expertise. This paper describes CONJURE, a system that refines a specification of a problem in the abstract constraint specification language ESSENCE into a set of alternative constraint models. Refinement is compositional: alternative constraint models are generated by composing refinements of the components of the specification. Experimental results demonstrate that CONJURE is able to generate a variety of models for practical problems from their ESSENCE specifications. 1
A Hybrid Algorithm for the Examination Timetabling Problem
 Causmaecker, P.D. (Eds.): Practice and Theory of Automated Timetabling IV (PATAT 2002
, 2002
"... Examination timetabling is a wellstudied combinatorial optimization problem. We present a new hybrid algorithm for examination timetabling, consisting of three phases: a constraint programming phase to develop an initial solution, a simulated annealing phase to improve the quality of solution, and ..."
Abstract

Cited by 52 (0 self)
 Add to MetaCart
Examination timetabling is a wellstudied combinatorial optimization problem. We present a new hybrid algorithm for examination timetabling, consisting of three phases: a constraint programming phase to develop an initial solution, a simulated annealing phase to improve the quality of solution, and a hill climbing phase for further improvement.
MIP: Theory and Practice  Closing the Gap
 SYSTEM MODELLING AND OPTIMIZATION: METHODS, THEORY, AND APPLICATIONS
, 2000
"... ..."
The design of ESSENCE: a constraint language for specifying combinatorial problems
 In: Proceedings of IJCAI07
, 2007
"... ESSENCE is a new formal language for specifying combinatorial problems in a manner similar to natural rigorous specifications that use a mixture of natural language and discrete mathematics. ESSENCE provides a high level of abstraction, much of which is the consequence of the provision of decision v ..."
Abstract

Cited by 46 (2 self)
 Add to MetaCart
ESSENCE is a new formal language for specifying combinatorial problems in a manner similar to natural rigorous specifications that use a mixture of natural language and discrete mathematics. ESSENCE provides a high level of abstraction, much of which is the consequence of the provision of decision variables whose values can be combinatorial objects, such as tuples, sets, multisets, relations, partitions and functions. ESSENCE also allows these combinatorial objects to be nested to arbitrary depth, thus providing, for example, sets of partitions, sets of sets of partitions, and so forth. Therefore, a problem that requires finding a complex combinatorial object can be directly specified by using a decision variable whose type is precisely that combinatorial object. 1
Function Variables for Constraint Programming
, 2003
"... We introduce function variables to constraint programs (CP), variables whose values are one of (exponentially many) possible functions between two sets. Such variables are useful for modelling problems from domains such as configuration, planning, scheduling, etc. We show that a function variable ca ..."
Abstract

Cited by 42 (5 self)
 Add to MetaCart
(Show Context)
We introduce function variables to constraint programs (CP), variables whose values are one of (exponentially many) possible functions between two sets. Such variables are useful for modelling problems from domains such as configuration, planning, scheduling, etc. We show that a function variable can be mapped into different representations in terms of integer and set variables, and illustrate how to map constraints stated on a function variable into constraints on integer and set variables. As a result, a constraint model expressed using function variables allows for the generation of alternate CP models. Furthermore, we present an extensive theoretical comparison of models of problems involving injective functions supported by asymptotic and empirical studies. Finally, we present and evaluate a practical modelling tool that is based on a highlevel language that supports function variables. The tool helps users explore different alternate CP models starting from a function model that is easy to develop, understand, and maintain.