Results 1 - 10
of
24
A fast and simple algorithm for bounds consistency of the alldifferent constraint
- IN PROCEEDINGS OF THE 18TH INTERNATIONAL JOINT CONFERENCE ON ARTIFICIAL INTELLIGENCE
, 2003
"... In constraint programming one models a problem by stating constraints on acceptable solutions. The constraint model is then usually solved by interleaving backtracking search and constraint propagation. Previous studies have demonstrated that designing special purpose constraint propagators for comm ..."
Abstract
-
Cited by 29 (9 self)
- Add to MetaCart
In constraint programming one models a problem by stating constraints on acceptable solutions. The constraint model is then usually solved by interleaving backtracking search and constraint propagation. Previous studies have demonstrated that designing special purpose constraint propagators for commonly occurring constraints can significantly improve the efficiency of a constraint programming approach. In this paper we present a fast, simple algorithm for bounds consistency propagation of the alldifferent constraint. The algorithm has the same worst case behavior as the previous best algorithm but is much faster in practice. Using a variety of benchmark and random problems, we show that our algorithm outperforms existing bounds consistency algorithms and also outperforms—on problems with an easily identifiable property—state-ofthe-art commercial implementations of propagators for stronger forms of local consistency.
The alldifferent Constraint: A Survey
, 2001
"... The constraint of difference is known to the constraint programming community since Lauriere introduced Alice in 1978. Since then, several strategies have been designed to solve the alldifferent constraint. This paper surveys the most important developments over the years regarding the alldifferent ..."
Abstract
-
Cited by 28 (1 self)
- Add to MetaCart
The constraint of difference is known to the constraint programming community since Lauriere introduced Alice in 1978. Since then, several strategies have been designed to solve the alldifferent constraint. This paper surveys the most important developments over the years regarding the alldifferent constraint. First we summarize the underlying concepts and results from graph theory and integer programming. Then we give an overview and an abstract comparison of different solution strategies. In addition, the symmetric alldifferent constraint is treated. Finally, we show how to apply cost-based filtering to the alldifferent constraint.
Fast Optimal Instruction Scheduling for Single-issue Processors with Arbitrary Latencies
, 2001
"... Instruction scheduling is one of the most important steps for improving the performance of object code produced by a compiler. The local instruction scheduling problem is to find a minimum length instruction schedule for a basic block subject to precedence, latency, and resource constraints. In ..."
Abstract
-
Cited by 22 (7 self)
- Add to MetaCart
Instruction scheduling is one of the most important steps for improving the performance of object code produced by a compiler. The local instruction scheduling problem is to find a minimum length instruction schedule for a basic block subject to precedence, latency, and resource constraints. In this paper we consider local instruction scheduling for single-issue processors with arbitrary latencies. The problem is considered intractable, and heuristic approaches are currently used in production compilers. In contrast, we present a relatively simple approach to instruction scheduling based on constraint programming which is fast and optimal. The proposed approach uses an improved constraint model which allows it to scale up to very large, real problems. We describe powerful redundant constraints that allow a standard constraint solver to solve these scheduling problems in an almost backtrack-free manner. The redundant constraints are lower bounds on selected sub-problems which take advantage of the structure inherent in the problems. Under specified conditions, these constraints are sometimes further improved by testing the consistency of a sub-problem using a fast test. We experimentally evaluated our approach by integrating it into the Gnu Compiler Collection (GCC) and then applying it to the SPEC95 floating point benchmarks. All 7402 of the benchmarks' basic-blocks were optimally scheduled, including basic-blocks with up to 1000 instructions. Our results compare favorably to the best previous approach which is based on integer linear programming (Wilken et al., 2000): Across the same benchmarks, the total optimal scheduling time for their approach is 98 seconds while the total time for our approach is less than 5 seconds. 1
When Do Bounds and Domain Propagation Lead to the Same Search Space
- In Proceedings of the Third International Conference on Principles and Practice of Declarative Programming
, 2001
"... This paper explores the question of when two propagation-based constraint systems have the same behaviour, in terms of search space. We categorise the behaviour of domain and bounds propagators for primitive constraints, and provide theorems that allow us to determine propagation behaviours for conj ..."
Abstract
-
Cited by 20 (3 self)
- Add to MetaCart
This paper explores the question of when two propagation-based constraint systems have the same behaviour, in terms of search space. We categorise the behaviour of domain and bounds propagators for primitive constraints, and provide theorems that allow us to determine propagation behaviours for conjunctions of constraints. We then show how we can use this to analyse CLP(FD) programs to determine when we can safely replace domain propagators by more efficient bounds propagators without increasing search space.
Fast Bound Consistency for the Global Cardinality Constraint
- In Proceedings CP’03
, 2003
"... We show an algorithm for bound consistency of global cardi- nality constraints, which runs in time O(n+n ) plus the time required to sort the assignment variables by range endpoints, where n is the number of assignment variables and n is the number of values in the union of their ranges. We thus ..."
Abstract
-
Cited by 15 (4 self)
- Add to MetaCart
We show an algorithm for bound consistency of global cardi- nality constraints, which runs in time O(n+n ) plus the time required to sort the assignment variables by range endpoints, where n is the number of assignment variables and n is the number of values in the union of their ranges. We thus offer a fast alternative to Rgin's arc consistency algorithm [6] which runs in time O(na/2n') and space O(n. n'). Our al- gorithm can also narrow the bounds for the number of occurrences of each value, which has not been done before.
GLOBAL CONSTRAINTS AND FILTERING ALGORITHMS
"... Constraint programming (CP) is mainly based on filtering algorithms; their association with global constraints is one of the main strengths of CP. This chapter is an overview of these two techniques. Some of the most frequently used global constraints are presented. In addition, the filtering algor ..."
Abstract
-
Cited by 13 (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. This chapter is an overview of these two techniques. Some of the most frequently used global constraints are presented. In addition, the filtering algorithms establishing arc consistency for two useful constraints, the alldiff and the global cardinality constraints, are fully detailed. Filtering algorithms are also considered from a theoretical point of view: three different ways to design filtering algorithms are described and the quality of the filtering algorithms studied so far is discussed. A categorization is then proposed. Over-constrained problems are also mentioned and global soft constraints are introduced.
Finite domain bounds consistency revisited
, 2004
"... Abstract. 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 ..."
Abstract
-
Cited by 12 (3 self)
- Add to MetaCart
Abstract. 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 and of bounds propagators. We clarify the differences among the three commonly used notions of bounds consistency in the literature. This serves as a reference for implementations of bounds propagators by defining (for the first time) the a priori behavior of bounds propagators on arbitrary constraints. 1
Network Flow Problems in Constraint Programming
"... We introduce a new global constraint for modeling and solving network flow problems in constraint programming. We describe the declarative and operational semantics of the flow constraint and illustrate its use through a number of applications. ..."
Abstract
-
Cited by 8 (1 self)
- Add to MetaCart
We introduce a new global constraint for modeling and solving network flow problems in constraint programming. We describe the declarative and operational semantics of the flow constraint and illustrate its use through a number of applications.
Decompositions of All Different, Global Cardinality and Related Constraints
"... We show that some common and important global constraints like ALL-DIFFERENT 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 8 (6 self)
- Add to MetaCart
We show that some common and important global constraints like ALL-DIFFERENT 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 pseudo-Boolean solver. 1

