Results 1 - 10
of
99
Theory and Practice of Constraint Handling Rules
, 1998
"... Constraint Handling Rules (CHR) are our proposal to allow more flexibility and application-oriented customization of constraint systems. CHR are a declarative language extension especially designed for writing user-defined constraints. CHR are essentially a committed-choice language consisting of mu ..."
Abstract
-
Cited by 359 (33 self)
- Add to MetaCart
Constraint Handling Rules (CHR) are our proposal to allow more flexibility and application-oriented customization of constraint systems. CHR are a declarative language extension especially designed for writing user-defined constraints. CHR are essentially a committed-choice language consisting of multi-headed guarded rules that rewrite constraints into simpler ones until they are solved. In this broad survey we aim at covering all aspects of CHR as they currently present themselves. Going from theory to practice, we will define syntax and semantics for CHR, introduce an important decidable property, confluence, of CHR programs and define a tight integration of CHR with constraint logic programming languages. This survey then describes implementations of the language before we review several constraint solvers - both traditional and non- standard ones - written in the CHR language. Finally we introduce two innovative applications that benefited from using CHR.
DESIGN, IMPLEMENTATION, AND EVALUATION OF THE CONSTRAINT LANGUAGE cc(FD)
- J. LOGIC PROGRAMMING 1994:19, 20:1--679
, 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 (non-l ..."
Abstract
-
Cited by 150 (8 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 (non-linear) 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 general-purpose combinators, in particular cardinality, constructive disjunction, and blocking implication, in conjunction with new constraint operations such as constraint entailment and generalization. These combinators signi cantly improve the operational expressiveness, extensibility, and flexibility of CLP languages and allow issues such as the definition of non-primitive constraints and disjunctions to be tackled at the language level. The implementation of cc(FD) (about 40,000 lines of C) includes a WAM-based engine [44], optimal arc-consistency algorithms based on AC-5 [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 nd 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 nally solved in 1986.
The LPSAT Engine & its Application to Resource Planning
, 1999
"... Compilation to boolean satisfiability has become a powerful paradigm for solving AI problems. However, domains... ..."
Abstract
-
Cited by 63 (0 self)
- Add to MetaCart
Compilation to boolean satisfiability has become a powerful paradigm for solving AI problems. However, domains...
Interval arithmetic: From principles to implementation
- J. ACM
"... We start with a mathematical definition of a real interval as a closed, connected set of reals. Interval arithmetic operations (addition, subtraction, multiplication and division) are likewise defined mathematically and we provide algorithms for computing these operations assuming exact real arithme ..."
Abstract
-
Cited by 59 (7 self)
- Add to MetaCart
We start with a mathematical definition of a real interval as a closed, connected set of reals. Interval arithmetic operations (addition, subtraction, multiplication and division) are likewise defined mathematically and we provide algorithms for computing these operations assuming exact real arithmetic. Next, we define interval arithmetic operations on intervals with IEEE 754 floating point endpoints to be sound and optimal approximations of the real interval operations and we show that the IEEE standard’s specification of operations involving the signed infinities, signed zeros, and the exact/inexact flag are such as to make a correct and optimal implementation more efficient. From the resulting theorems we derive data that are sufficiently detailed to convert directly to a program for efficiently implementing the interval operations. Finally we extend these results to the case of general intervals, which are defined as connected sets of reals that are not necessarily closed. 1
The PaLM system: explanation-based constraint programming
- In Proceedings of TRICS: Techniques foR Implementing Constraint programming Systems, a post-conference workshop of CP 2000
, 2000
"... Explanation-based constraint programming is a new way of solving constraint problems: it allows to propagate constraints of the problem, learning from failure and from the solver (thanks to recording explanations) and finally allows to get rid of backtrack-based complete searches by allowing more fr ..."
Abstract
-
Cited by 51 (12 self)
- Add to MetaCart
Explanation-based constraint programming is a new way of solving constraint problems: it allows to propagate constraints of the problem, learning from failure and from the solver (thanks to recording explanations) and finally allows to get rid of backtrack-based complete searches by allowing more free moves in the search space (while remaining complete). This paper presents the PaLM system, an implementation of an explanation-based constraint programming system in CHOCO a constraint programming layer on top of CLAIRE.
LOCALIZER -- A Modeling Language for Local Search
- INFORMS JOURNAL OF COMPUTING
, 1997
"... Local search is a traditional technique to solve combinatorial search problems which has raised much interest in recent years. The design and implementation of local search algorithms is not an easy task in general and may require considerable experimentation and programming effort. However, contrar ..."
Abstract
-
Cited by 50 (7 self)
- Add to MetaCart
Local search is a traditional technique to solve combinatorial search problems which has raised much interest in recent years. The design and implementation of local search algorithms is not an easy task in general and may require considerable experimentation and programming effort. However, contrary to global search, little support is available to assist the design and implementation of local search algorithms. This paper is an attempt to support the implementation of local search. It presents the preliminary design of Localizer, a modeling language which makes it possible to express local search algorithms in a notation close to their informal descriptions in scientific papers. Experimental results on our first implementation show the feasibility of the approach.
Revising Hull and Box Consistency
- INT. CONF. ON LOGIC PROGRAMMING
, 1999
"... Most interval-based solvers in the constraint logic programming framework are based on either hull consistency or box consistency (or a variation of these ones) to narrow domains of variables involved in continuous constraint systems. This paper rst presents HC4, an algorithm to enforce hull consist ..."
Abstract
-
Cited by 40 (10 self)
- Add to MetaCart
Most interval-based solvers in the constraint logic programming framework are based on either hull consistency or box consistency (or a variation of these ones) to narrow domains of variables involved in continuous constraint systems. This paper rst presents HC4, an algorithm to enforce hull consistency without decomposing complex constraints into primitives. Next, an extended denition for box consistency is given and the resulting consistency is shown to subsume hull consistency. Finally, BC4, a new algorithm to eciently enforce box consistency is described, that replaces BC3the original solely Newton-based algorithm to achieve box consistencyby an algorithm based on HC4 and BC3 taking care of the number of occurrences of each variable in a constraint. BC4 is then shown to signicantly outperform both HC3 (the original algorithm enforcing hull consistency by decomposing constraints) and BC3. 1 Introduction Finite representation of numbers precludes computers from exactly solv...
Constraint Programming: In Pursuit of the Holy Grail
- in Proceedings of WDS99 (invited lecture
, 1999
"... : Constraint programming (CP) is an emergent software technology for declarative description and effective solving of large, particularly combinatorial, problems especially in areas of planning and scheduling. It represents the most exciting developments in programming languages of the last decade a ..."
Abstract
-
Cited by 34 (0 self)
- Add to MetaCart
: Constraint programming (CP) is an emergent software technology for declarative description and effective solving of large, particularly combinatorial, problems especially in areas of planning and scheduling. It represents the most exciting developments in programming languages of the last decade and, not surprisingly, it has recently been identified by the ACM (Association for Computing Machinery) as one of the strategic directions in computer research. Not only it is based on a strong theoretical foundation but it is attracting widespread commercial interest as well, in particular, in areas of modelling heterogeneous optimisation and satisfaction problems. In the paper, we give a survey of constraint programming technology and its applications starting from the history context and interdisciplinary nature of CP. The central part of the paper is dedicated to the description of main constraint satisfaction techniques and industrial applications. We conclude with the overview of limit...
Universally Quantified Interval Constraints
- PROCEEDINGS OF THE 6TH INTERNATIONAL CONFERENCE ON PRINCIPLES AND PRACTICE OF CONSTRAINT PROGRAMMING
, 2000
"... Non-linear real constraint systems with universally and/or existentially quantified variables often need be solved in such contexts as control design or sensor planning. To date, these systems are mostly handled by computing a quantifier-free equivalent form by means of Cylindrical Algebraic Decompo ..."
Abstract
-
Cited by 32 (0 self)
- Add to MetaCart
Non-linear real constraint systems with universally and/or existentially quantified variables often need be solved in such contexts as control design or sensor planning. To date, these systems are mostly handled by computing a quantifier-free equivalent form by means of Cylindrical Algebraic Decomposition (CAD). However, CAD restricts its input to be conjunctions and disjunctions of polynomial constraints with rational coefficients, while some applications such as camera control involve systems with arbitrary forms where time is the only universally quantified variable. In this paper, the handling of universally quantified variables is first related to the computation of inner-approximation of real relations.
Interval Analysis on Directed Acyclic Graphs for Global Optimization
- J. Global Optimization
, 2004
"... A directed acyclic graph (DAG) representation of optimization problems represents each variable, each operation, and each constraint in the problem formulation by a node of the DAG, with edges representing the ow of the computation. ..."
Abstract
-
Cited by 32 (7 self)
- Add to MetaCart
A directed acyclic graph (DAG) representation of optimization problems represents each variable, each operation, and each constraint in the problem formulation by a node of the DAG, with edges representing the ow of the computation.

