Results 1  10
of
213
DESIGN, IMPLEMENTATION, AND EVALUATION OF THE CONSTRAINT LANGUAGE cc(FD)
 J. LOGIC PROGRAMMING 1994:19, 20:1679
, 1994
"... This paper describes the design, implementation, and applications of the constraint logic language cc(FD). cc(FD) is a declarative nondeterministic constraint logic language over finite domains based on the cc framework [33], an extension of the CLP scheme [21]. Its constraint solver includes (nonl ..."
Abstract

Cited by 188 (11 self)
 Add to MetaCart
This paper describes the design, implementation, and applications of the constraint logic language cc(FD). cc(FD) is a declarative nondeterministic constraint logic language over finite domains based on the cc framework [33], an extension of the CLP scheme [21]. Its constraint solver includes (nonlinear) arithmetic constraints over natural numbers which are approximated using domain and interval consistency. The main novelty of cc(FD) is the inclusion of a number of generalpurpose combinators, in particular cardinality, constructive disjunction, and blocking implication, in conjunction with new constraint operations such as constraint entailment and generalization. These combinators significantly improve the operational expressiveness, extensibility, and flexibility of CLP languages and allow issues such as the definition of nonprimitive constraints and disjunctions to be tackled at the language level. The implementation of cc(FD) (about 40,000 lines of C) includes a WAMbased engine [44], optimal arcconsistency algorithms based on AC5 [40], and incremental implementation of the combinators. Results on numerous problems, including scheduling, resource allocation, sequencing, packing, and hamiltonian paths are reported and indicate that cc(FD) comes close to procedural languages on a number of combinatorial problems. In addition, a small cc(FD) program was able to find the optimal solution and prove optimality to a famous 10/10 disjunctive scheduling problem [29], which was left open for more than 20 years and finally solved in 1986.
Closure Properties of Constraints
 Journal of the ACM
, 1997
"... Many combinatorial search problems can be expressed as `constraint satisfaction problems', and this class of problems is known to be NPcomplete in general. In this paper we investigate the subclasses which arise from restricting the possible constraint types. We first show that any set of cons ..."
Abstract

Cited by 182 (22 self)
 Add to MetaCart
(Show Context)
Many combinatorial search problems can be expressed as `constraint satisfaction problems', and this class of problems is known to be NPcomplete in general. In this paper we investigate the subclasses which arise from restricting the possible constraint types. We first show that any set of constraints which does not give rise to an NPcomplete class of problems must satisfy a certain type of algebraic closure condition. We then investigate all the different possible forms of this algebraic closure property, and establish which of these are sufficient to ensure tractability. As examples, we show that all known classes of tractable constraints over finite domains can be characterised by such an algebraic closure property. Finally, we describe a simple computational procedure which can be used to determine the closure properties of a given set of constraints. This procedure involves solving a particular constraint satisfaction problem, which we call an `indicator problem'. Keywords: Cons...
Compiling Constraints in clp(FD)
, 1996
"... We present the clp(FD) system: a Constraint Logic Programming language with finite domain constraints... ..."
Abstract

Cited by 174 (24 self)
 Add to MetaCart
We present the clp(FD) system: a Constraint Logic Programming language with finite domain constraints...
ArcConsistency and ArcConsistency Again
 Artificial Intelligence
, 1994
"... Constraint networks are known as a useful way to formulate problems such as design, scene labeling, temporal reasoning, and more recently natural language parsing. The problem of the existence of solutions in a constraint network is NPcomplete. Hence, consistency techniques have been widely studied ..."
Abstract

Cited by 151 (12 self)
 Add to MetaCart
(Show Context)
Constraint networks are known as a useful way to formulate problems such as design, scene labeling, temporal reasoning, and more recently natural language parsing. The problem of the existence of solutions in a constraint network is NPcomplete. Hence, consistency techniques have been widely studied to simplify constraint networks before or during the search of solutions. Arcconsistency is the most used of them. Mohr and Henderson [Moh&Hen86] have proposed AC4, an algorithm having an optimal worstcase time complexity. But it has two drawbacks: its space complexity and its average time complexity. In problems with many solutions, where the size of the constraints is large, these drawbacks become so important that users often replace AC4 by AC3 [Mac&Fre85], a nonoptimal algorithm. In this paper, we propose a new algorithm, AC6, which keeps the optimal worstcase time complexity of AC4 while working out the drawback of space complexity. More, the average time complexity of AC6 is optimal for constraint networks where nothing is known about the semantic of the constraints. At the end of the paper, experimental results show how much AC6 outperforms AC3 and AC4. 1.
Arc Consistency for General Constraint Networks: Preliminary Results
, 1997
"... Constraint networks are used more and more to solve combinatorial problems in reallife applications. Much activity is concentrated on improving the efficiency of finding a solution in a constraint network (the constraint satisfaction problem, CSP). Particularly, arc consistency caught many research ..."
Abstract

Cited by 139 (16 self)
 Add to MetaCart
Constraint networks are used more and more to solve combinatorial problems in reallife applications. Much activity is concentrated on improving the efficiency of finding a solution in a constraint network (the constraint satisfaction problem, CSP). Particularly, arc consistency caught many researchers' attention, involving the discovery of a large number of algorithms. And, for the last two years, it has been shown that maintaining arc consistency during search is a worthwhile approach. However, results on CSPs and on arc consistency are almost always limited to binary constraint networks. The CSP is no longer an academic problem, and it is time to deal with nonbinary CSPs, as widely required in real world constraint solvers. This paper proposes a general schema to implement arc consistency on constraints of any arity when no specific algorithm is known. A first instantiation of the schema is presented here, which deals with constraints given by a predicate, by the set of forbidden c...
Interval propagation to reason about sets: definition and implementation of a practical language
 CONSTRAINTS
, 1997
"... Local consistency techniques have been introduced in logic programming in order to extend the application domain of logic programming languages. The existing languages based on these techniques consider arithmetic constraints applied to variables ranging over nite integer domains. This makes difficu ..."
Abstract

Cited by 121 (8 self)
 Add to MetaCart
Local consistency techniques have been introduced in logic programming in order to extend the application domain of logic programming languages. The existing languages based on these techniques consider arithmetic constraints applied to variables ranging over nite integer domains. This makes difficult a natural and concise modelling as well as an efficient solving of a class of NPcomplete combinatorial search problems dealing with sets. To overcome these problems, we propose a solution which consists in extending the notion of integer domains to that of set domains (sets of sets). We specify a set domain by an interval whose lower and upper bounds are known sets, ordered by set inclusion. We define the formal and practical framework of a new constraint logic programming language over set domains, called Conjunto. Conjunto comprises the usual set operation symbols ([ � \ � n), and the set inclusion relation (). Set expressions built using the operation symbols are interpreted as relations (s [ s1 = s2,...). In addition, Conjunto provides us with a set of constraints called graduated constraints (e.g. the set cardinality) which map sets onto arithmetic terms. This allows us to handle optimization problems by applying a cost function to the quantifiable, i.e., arithmetic, terms which are associated to set terms. The constraint solving in Conjunto is based on local consistency techniques using interval reasoning which are extended to handle set constraints. The main contribution of this paper concerns the formal definition of the language and its design and implementation as a practical language.
The Essence of Constraint Propagation
 CWI QUARTERLY VOLUME 11 (2&3) 1998, PP. 215 { 248
, 1998
"... We show that several constraint propagation algorithms (also called (local) consistency, consistency enforcing, Waltz, ltering or narrowing algorithms) are instances of algorithms that deal with chaotic iteration. To this end we propose a simple abstract framework that allows us to classify and comp ..."
Abstract

Cited by 106 (6 self)
 Add to MetaCart
(Show Context)
We show that several constraint propagation algorithms (also called (local) consistency, consistency enforcing, Waltz, ltering or narrowing algorithms) are instances of algorithms that deal with chaotic iteration. To this end we propose a simple abstract framework that allows us to classify and compare these algorithms and to establish in a uniform way their basic properties.
Automatically configuring constraint satisfaction programs: A case study
 CONSTRAINTS
, 1996
"... Multitac is a learning system that synthesizes heuristic constraint satisfaction programs. The system takes a library of generic algorithms and heuristics and specializes them for a particular application. We present a detailed case study with three different distributions ofa single combinatorial ..."
Abstract

Cited by 102 (4 self)
 Add to MetaCart
Multitac is a learning system that synthesizes heuristic constraint satisfaction programs. The system takes a library of generic algorithms and heuristics and specializes them for a particular application. We present a detailed case study with three different distributions ofa single combinatorial problem, "Minimum Maximal Matching", and show that Multitac can synthesize programs for these different distributions that perform on par with handcoded programs and that exceed the performance of some wellknown satisfiability algorithms. In synthesizing a program, Multitac bases its choice of heuristics on an instance distribution, and we demonstrate that this capability has a significant impact on the results.
Refining the basic constraint propagation algorithm
 In Proceedings IJCAI’01
, 2001
"... Propagating constraints is the main feature of any constraint solver. This is thus of prime importance to manage constraint propagation as efficiently as possible, justifying the use of the best algorithms. But the ease of integration is also one of the concerns when implementing an algorithm in a c ..."
Abstract

Cited by 100 (12 self)
 Add to MetaCart
Propagating constraints is the main feature of any constraint solver. This is thus of prime importance to manage constraint propagation as efficiently as possible, justifying the use of the best algorithms. But the ease of integration is also one of the concerns when implementing an algorithm in a constraint solver. This paper focuses on AC3, which is the simplest arc consistency algorithm known so far. We propose two refinements that preserve as much as possible the ease of integration into a solver (no heavy data structure to be maintained during search), while giving some noticeable improvements in efficiency. One of the proposed refinements is analytically compared to AC6, showing interesting properties, such as optimality of its worstcase time complexity. 1