Results 1  10
of
28
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 62 (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
GENERALISED ARC CONSISTENCY FOR THE ALLDIFFERENT CONSTRAINT: AN EMPIRICAL SURVEY
"... The AllDifferent constraint is a crucial component of any constraint toolkit, language or solver, since it is very widely used in a variety of constraint models. The literature contains many different versions of this constraint, which trade strength of inference against computational cost. In thi ..."
Abstract

Cited by 16 (8 self)
 Add to MetaCart
(Show Context)
The AllDifferent constraint is a crucial component of any constraint toolkit, language or solver, since it is very widely used in a variety of constraint models. The literature contains many different versions of this constraint, which trade strength of inference against computational cost. In this paper, we focus on the highest strength of inference, enforcing a property known as generalised arc consistency (GAC). This work is an analytical survey of optimizations of the main algorithm for GAC for the AllDifferent constraint. We evaluate empirically a number of key techniques from the literature. We also report important implementation details of those techniques, which have often not been described in published papers. We pay particular attention to improving incrementality by exploiting the stronglyconnected components discovered during the standard propagation process, since this has not been detailed before. Our empirical work represents by far the most extensive set of experiments on variants of GAC algorithms for AllDifferent. Overall, the best combination of optimizations gives a mean speedup of 168 times over the same implementation without the optimizations.
Effective Compilation of Constraint Models
, 2010
"... Constraint Programming is a powerful technique for solving largescale combinatorial (optimisation) problems. However, it is often inaccessible to users without expert knowledge in the area, precluding the widespread use of Constraint Programming techniques. This thesis addresses this issue in thre ..."
Abstract

Cited by 12 (0 self)
 Add to MetaCart
(Show Context)
Constraint Programming is a powerful technique for solving largescale combinatorial (optimisation) problems. However, it is often inaccessible to users without expert knowledge in the area, precluding the widespread use of Constraint Programming techniques. This thesis addresses this issue in three main contributions. First, we propose a simple ‘modelandsolve ’ approach, consisting of a framework where the user formulates a solverindependent problem model, which is then automatically tailored to the input format of a selected constraint solver (a process similar to compiling a highlevel modelling language to machine code). The solver is then executed on the input, solver, and solutions (if they exist) are returned to the user. This allows the user to formulate constraint models without requiring any particular background knowledge of the respective solver and its solving technique. Furthermore, since the framework can target several solvers, the user can explore different types of solvers. Second, we extend the tailoring process with model optimisations that can compensate for a wide selection of poor modelling choices that novices (and experts) in Constraint Programming often make and hence result in redundancies. The elimination of these redundancies
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
Automatically Enhancing Constraint Model Instances during Tailoring
"... Tailoring solverindependent constraint instances to target solvers is an important component of automated constraint modelling. We augment the tailoring process by a set of enhancement techniques of which many are successfully established in related fields, such as common subexpression elimination. ..."
Abstract

Cited by 8 (5 self)
 Add to MetaCart
Tailoring solverindependent constraint instances to target solvers is an important component of automated constraint modelling. We augment the tailoring process by a set of enhancement techniques of which many are successfully established in related fields, such as common subexpression elimination. Our aim is to apply these techniques in an efficient fashion, since we tailor instancewise, and not whole problem classes. We integrate automated enhancement into the tailoring procedure, which creates a novel setup with great potential, as our empirical analysis confirms: impressive speedups, additional propagation and instance reduction, all for investing little computational effort. 1.
Modelling Equidistant Frequency Permutation Arrays: An Application of Constraints to Mathematics
"... Abstract Equidistant Frequency Permutation Arrays are combinatorial objects of interest in coding theory. A frequency permutation array is a type of constant composition code in which each symbol occurs the same number of times in each codeword. The problem is to find a set of codewords such that an ..."
Abstract

Cited by 8 (2 self)
 Add to MetaCart
(Show Context)
Abstract Equidistant Frequency Permutation Arrays are combinatorial objects of interest in coding theory. A frequency permutation array is a type of constant composition code in which each symbol occurs the same number of times in each codeword. The problem is to find a set of codewords such that any pair of codewords are a given uniform Hamming distance apart. The equidistant case is of special interest given the result that any optimal constant composition code is equidistant. This paper presents, compares and combines a number of different constraint formulations of this problem class, including a new method of representing permutations with constraints. Using these constraint models, we are able to establish several new results, which are contributing directly to mathematical research in this area. 3 1
Lazy explanations for constraint propagator
, 2010
"... Abstract Explanations are a technique for reasoning about constraint propagation, which have been applied in many learning, backjumping and userinteraction algorithms for constraint programming. To date explanations for constraints have usually been recorded eagerly when constraint propagation h ..."
Abstract

Cited by 8 (6 self)
 Add to MetaCart
(Show Context)
Abstract Explanations are a technique for reasoning about constraint propagation, which have been applied in many learning, backjumping and userinteraction algorithms for constraint programming. To date explanations for constraints have usually been recorded eagerly when constraint propagation happens, which leads to inefficient use of time and space, because many will never be used. In this paper we show that it is possible and highly effective to calculate explanations retrospectively when they are needed. To this end, we implement lazy explanations in a state of the art learning framework. Experimental results confirm the effectiveness of the technique: we achieve reduction in the number of explanations calculated up to a factor of 200 and reductions in overall solve time up to a factor of 5. Key words: constraint programming, explanations, learning 1
A constraint model for the settlers planning domain
 Watt University
"... The Settlers planning domain has proved a challenging problem for planning technology. We present a preliminary model of Settlers in the Essence ’ specification language. We generate a constraint model for the CSP solver Minion using the automated modelling tool Tailor. We show this model to be comp ..."
Abstract

Cited by 6 (3 self)
 Add to MetaCart
The Settlers planning domain has proved a challenging problem for planning technology. We present a preliminary model of Settlers in the Essence ’ specification language. We generate a constraint model for the CSP solver Minion using the automated modelling tool Tailor. We show this model to be competitive with stateoftheart planning technology.
Optimising Quantified Expressions in Constraint Models
"... Abstract. One of the key difficulties in Constraint Modeling lies in formulating an effective constraint model of an input problem for input to a constraint solver: many different models exist for a given problem and it is often difficult even for experts to determine the model which is solved mos ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
(Show Context)
Abstract. One of the key difficulties in Constraint Modeling lies in formulating an effective constraint model of an input problem for input to a constraint solver: many different models exist for a given problem and it is often difficult even for experts to determine the model which is solved most effectively by a constraint solver. In recent years, solverindependent modelling languages (MLs) have become increasingly popular among the CP community, such as OPL [10], Essence ′ [1] or MiniZinc [5]. These languages are very expressive and allow the user to focus on the problem model rather than on the solver input syntax. An important construct in solverindependent MLs are quantifiers, in particular ∀, ∃, ∑ , which are used to scale constraints and expressions in constraints, similarly to forloops in program code. However, quantified expressions often contain redundancies, in particular in models formulated by novices. Such redundancies can have a notable impact on the solving performance of the model, in particular since they often increase with problem size. This paper presents new constraint model optimisation techniques concerned with optimising quantified expressions at problem class level. Our experimental results show that quantified expression optimisations can reduce solving time very considerably. 1
Enhancing constraint models of planning problems by common subexpression elimination
 Proceedings of the Syposium on Abstraction, Reformulation and Approximation
, 2009
"... Constraint Programming is an attractive approach for solving AI planning problems by modelling them as Constraint Satisfaction Problems (CSPs). However, formulating effective constraint models of complex planning problems is challenging, and CSPs resulting from standard approaches often require furt ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
Constraint Programming is an attractive approach for solving AI planning problems by modelling them as Constraint Satisfaction Problems (CSPs). However, formulating effective constraint models of complex planning problems is challenging, and CSPs resulting from standard approaches often require further enhancement to perform well. Common subexpression elimination is a general technique for improving constraint models, which has been shown to lead to a great reduction in instance size, solving time and search space. This paper argues that models of AI planning problems are particularly amenable to this approach. We present four case studies to substantiate this argument, three of which include novel constraint models of AI planning problems. In each, we describe the constraint model, highlight the sources of common subexpressions, and present an empirical analysis of the effect of eliminating common subexpressions.