Results 1  10
of
24
Constraint propagation
 Handbook of Constraint Programming
, 2006
"... Constraint propagation is a form of inference, not search, and as such is more ”satisfying”, both technically and aesthetically. —E.C. Freuder, 2005. Constraint reasoning involves various types of techniques to tackle the inherent ..."
Abstract

Cited by 76 (5 self)
 Add to MetaCart
(Show Context)
Constraint propagation is a form of inference, not search, and as such is more ”satisfying”, both technically and aesthetically. —E.C. Freuder, 2005. Constraint reasoning involves various types of techniques to tackle the inherent
Improved algorithms for the global cardinality constraint
 In Proceedings CP’04
, 2004
"... Abstract. We study the global cardinality constraint (gcc) and propose an O(n ..."
Abstract

Cited by 36 (3 self)
 Add to MetaCart
(Show Context)
Abstract. We study the global cardinality constraint (gcc) and propose an O(n
Global Constraint Catalogue: Past, Present and Future
, 2006
"... The catalogue of global constraints is reviewed, focusing on the graphbased description of global constraints. A number of possible enhancements are proposed as well as several research paths for the development of the area. ..."
Abstract

Cited by 26 (2 self)
 Add to MetaCart
The catalogue of global constraints is reviewed, focusing on the graphbased description of global constraints. A number of possible enhancements are proposed as well as several research paths for the development of the area.
J.C.: Spread: A balancing constraint based on statistics
 CP, Lecture Notes in Computer Science
, 2005
"... Abstract. Many combinatorial problems require of their solutions that they achieve a certain balance of given features. In the constraint programming literature, little has been written to specifically address this issue, particularly at the modeling level. We propose a new constraint dedicated to ..."
Abstract

Cited by 26 (3 self)
 Add to MetaCart
(Show Context)
Abstract. Many combinatorial problems require of their solutions that they achieve a certain balance of given features. In the constraint programming literature, little has been written to specifically address this issue, particularly at the modeling level. We propose a new constraint dedicated to balancing, based on wellknown and wellunderstood concepts in statistics. We show how it can be used to model different situations in which balance is important. We also design efficient filtering algorithms to guide the search towards balanced solutions. 1
Finite domain bounds consistency revisited
 AI 2006: Advances in Artificial Intelligence, volume 4304 of LNCS
, 2006
"... A widely adopted approach to solving constraint satisfaction problems combines systematic tree search with constraint propagation for pruning the search space. Constraint propagation is performed by propagators implementing a certain notion of consistency. Bounds consistency is the method of choice ..."
Abstract

Cited by 22 (5 self)
 Add to MetaCart
(Show Context)
A widely adopted approach to solving constraint satisfaction problems combines systematic tree search with constraint propagation for pruning the search space. Constraint propagation is performed by propagators implementing a certain notion of consistency. Bounds consistency is the method of choice for building propagators for arithmetic constraints and several global constraints in the finite integer domain. However, there has been some confusion in the definition of bounds consistency. In this paper we clarify the differences and similarities among the three commonly used notions of bounds consistency. 1
Optimal basic block instruction scheduling for multipleissue processors using constraint programming
 In: Proceedings of the 18th IEEE International Conference on Tools with Artificial Intelligence
, 2005
"... Instruction scheduling is one of the most important steps for improving the performance of object code produced by a compiler. A fundamental problem that arises in instruction scheduling is to find a minimum length schedule for a basic block—a straightline sequence of code with a single entry point ..."
Abstract

Cited by 22 (9 self)
 Add to MetaCart
(Show Context)
Instruction scheduling is one of the most important steps for improving the performance of object code produced by a compiler. A fundamental problem that arises in instruction scheduling is to find a minimum length schedule for a basic block—a straightline sequence of code with a single entry point and a single exit point—subject to precedence, latency, and resource constraints. Solving the problem exactly is NPcomplete, and heuristic approaches are currently used in most compilers. In contrast, we present a scheduler that finds provably optimal schedules for basic blocks using techniques from constraint programming. In developing our optimal scheduler, the key to scaling up to large, real problems was in the development of preprocessing techniques for improving the constraint model. We experimentally evaluated our optimal scheduler on the SPEC 2000 integer and floating point benchmarks. On this benchmark suite, the optimal scheduler was very robust—all but a handful of the hundreds of thousands of basic blocks in our benchmark suite were solved optimally within a reasonable time limit—and scaled to the largest basic blocks, including basic blocks with up to 2600 instructions. This compares favorably to the best previous exact approaches. 1.
Decompositions of All Different, Global Cardinality and Related Constraints
"... We show that some common and important global constraints like ALLDIFFERENT and GCC can be decomposed into simple arithmetic constraints on which we achieve bound or range consistency, and in some cases even greater pruning. These decompositions can be easily added to new solvers. They also provide ..."
Abstract

Cited by 17 (9 self)
 Add to MetaCart
We show that some common and important global constraints like ALLDIFFERENT and GCC can be decomposed into simple arithmetic constraints on which we achieve bound or range consistency, and in some cases even greater pruning. These decompositions can be easily added to new solvers. They also provide other constraints with access to the state of the propagator by sharing of variables. Such sharing can be used to improve propagation between constraints. We report experiments with our decomposition in a pseudoBoolean solver. 1
Global constraints: A survey
 IN
, 2011
"... Constraint programming (CP) is mainly based on filtering algorithms; their association with global constraints is one of the main strengths of CP because they exploit the specific structure of each constraint. This chapter is an overview of these two techniques. A collection of the most frequently u ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
Constraint programming (CP) is mainly based on filtering algorithms; their association with global constraints is one of the main strengths of CP because they exploit the specific structure of each constraint. This chapter is an overview of these two techniques. A collection of the most frequently used global constraints is given and some filtering algorithms are detailed. In addition, we try to identify how filtering algorithms can be designed. At last, we identify some problems that deserve to be addressed in the future.
The ROOTS Constraint
"... Abstract. A wide range of counting and occurrence constraints can be specified with just two global primitives: the Range constraint, which computes the range of values used by a sequence of variables, and the Roots constraint, which computes the variables mapping onto a set of values. We focus here ..."
Abstract

Cited by 4 (4 self)
 Add to MetaCart
(Show Context)
Abstract. A wide range of counting and occurrence constraints can be specified with just two global primitives: the Range constraint, which computes the range of values used by a sequence of variables, and the Roots constraint, which computes the variables mapping onto a set of values. We focus here on the Roots constraint. We show that propagating the Roots constraint completely is intractable. We therefore propose a decomposition which can be used to propagate the constraint in linear time. Interestingly, for all uses of the Roots constraint we have met, this decomposition does not destroy the global nature of the constraint as we still prune all possible values. In addition, even when the Roots constraint is intractable to propagate completely, we can enforce bound consistency in linear time simply by enforcing bound consistency on the decomposition. Finally, we show that specifying counting and occurrence constraints using Roots is effective and efficient in practice on two benchmark problems from CSPLib. 1