Results 1 - 10
of
31
Constraint Logic Programming: A Survey
"... Constraint Logic Programming (CLP) is a merger of two declarative paradigms: constraint solving and logic programming. Although a relatively new field, CLP has progressed in several quite different directions. In particular, the early fundamental concepts have been adapted to better serve in differe ..."
Abstract
-
Cited by 704 (20 self)
- Add to MetaCart
Constraint Logic Programming (CLP) is a merger of two declarative paradigms: constraint solving and logic programming. Although a relatively new field, CLP has progressed in several quite different directions. In particular, the early fundamental concepts have been adapted to better serve in different areas of applications. In this survey of CLP, a primary goal is to give a systematic description of the major trends in terms of common fundamental concepts. The three main parts cover the theory, implementation issues, and programming for applications.
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.
Operational Semantics and Confluence of Constraint Propagation Rules
, 1997
"... . Constraint Handling Rules (CHR) allow one to specify and implement both propagation and simplification for user-defined constraints. Since a propagation rule is applicable again and again, we present in this paper for the first time an operational semantics for CHR that avoids the termination pro ..."
Abstract
-
Cited by 86 (12 self)
- Add to MetaCart
. Constraint Handling Rules (CHR) allow one to specify and implement both propagation and simplification for user-defined constraints. Since a propagation rule is applicable again and again, we present in this paper for the first time an operational semantics for CHR that avoids the termination problem with propagation rules. In previous work [AFM96], a sufficient and necessary condition for the confluence of terminating simplification rules was given inspired by results about conditional term rewriting systems. Confluence ensures that the solver will always compute the same result for a given set of constraints independent of which rules are applied. The confluence of propagation rules was an open problem. This paper shows that we can also give a sufficient and a necessary condition for confluence of terminating CHR programs with propagation rules based on the more refined operational semantics. 1 Introduction Constraint Logic Programming [vH91, JM94] combines the declarativity of ...
Constraint satisfaction using constraint logic programming
- Artificial Intelligence
, 1992
"... Constraint logic programming (CLP) is a new class of declarative programming lan-guages whose primitive operations are based on constraints (e.g. constraint solving and constraint entailment). CLP languages naturally combine constraint propagation with nondeterministic choices. As a consequence, the ..."
Abstract
-
Cited by 71 (3 self)
- Add to MetaCart
Constraint logic programming (CLP) is a new class of declarative programming lan-guages whose primitive operations are based on constraints (e.g. constraint solving and constraint entailment). CLP languages naturally combine constraint propagation with nondeterministic choices. As a consequence, they are particularly appropriate for solv-ing a variety of combinatorial search problems, using the global search paradigm, with short development time and efficiency comparable to procedural tools based on the same approach. In this paper, we describe how the CLP language cc(FD), a successor of CHIP using consistency techniques over finite domains, can be used to solve two practical applications: test-pattern generation and car sequencing. For both applications, we present the cc(FD) program, describe how constraint solving is performed, report experimental results, and compare the approach with existing tools.
Constraint logic programming - an informal introduction
- LOGIC PROGRAMMING IN ACTION, NUMBER 636 IN LNCS
, 1992
"... Constraint Logic Programming (CLP) is a new class of programming languages combining the declarativity of logic programming with the efficiency of constraint solving. New application areas, amongst them many different classes of combinatorial search problems such as scheduling, planning or resource ..."
Abstract
-
Cited by 35 (8 self)
- Add to MetaCart
Constraint Logic Programming (CLP) is a new class of programming languages combining the declarativity of logic programming with the efficiency of constraint solving. New application areas, amongst them many different classes of combinatorial search problems such as scheduling, planning or resource allocation can now be solved, which were intractable for logic programming so far. The most important advantage that these languages offer is the short development time while exhibiting an efficiency comparable to imperative languages. This tutorial aims at presenting the principles and concepts underlying these languages and explaining them by examples. The objective of this paper is not to give a technical survey of the current state of art in research on CLP, but rather to give a tutorial introduction and to convey the basic philosophy that is behind the different ideas in CLP. It will discuss the currently most successful computation domains and provide an overview on the different consi...
-- An Interactive Constraint Based Nurse Scheduler
- In Proceedings of The First International Conference and Exhibition on The Practical Application of Constraint Technologies and Logic Programming, PACLP
, 1999
"... In every hospital a duty roster for the nursing staff of each ward must be created each month. The roster has to take into account several requirements such as minimal allocation of a station, legal regulations and wishes of the personnel. This planning is very complex and is still done manually. IN ..."
Abstract
-
Cited by 21 (1 self)
- Add to MetaCart
In every hospital a duty roster for the nursing staff of each ward must be created each month. The roster has to take into account several requirements such as minimal allocation of a station, legal regulations and wishes of the personnel. This planning is very complex and is still done manually. INTERDIP is an advanced industrial prototype that supports semi-automatic creation of such rosters. Using constraint based programming, INTERDIP imitates certain aspects of manual planning. With INTERDIP a roster can be created interactively within some minutes instead of by hand some hours. Additionally, it mostly produces better results. INTERDIP was developed in collaboration with Siemens Nixdorf. It was presented at the Systems'98 Computer exhibition in Munich and several companies have inquired to market our system. 1 Introduction Many real-life problems lead to combinatorial search, computationally a very intensive task. Unfortunately, no general method exists for solving this kind of p...
Temporal Reasoning with Constraint Handling Rules
, 1994
"... This paper describes an application of constraint handling rules to temporal reasoning and illustrates the conceptual simplicity and flexibility of the approach. Following the framework of Meiri, temporal reasoning is viewed as a constraint satisfaction problem about location of temporal variables a ..."
Abstract
-
Cited by 17 (3 self)
- Add to MetaCart
This paper describes an application of constraint handling rules to temporal reasoning and illustrates the conceptual simplicity and flexibility of the approach. Following the framework of Meiri, temporal reasoning is viewed as a constraint satisfaction problem about location of temporal variables along the time line. Temporal variables may be points or intervals and temporal constraints are disjunctions of qualitative or quantitative primitive binary temporal relations. We use constraint logic programming extended with constraint handling rules to define an incremental, flexible general purpose solver for disjunctive binary constraints based on path consistency and backtrack search. We show how this approach supports rapid prototyping and experimentation with different kinds of temporal reasoning and constraint satisfaction techniques in general. Keywords: Constraint-Based Reasoning, Temporal Reasoning, Logic Programming. This work was supported by ESPRIT Project 5291 CHIC. This repor...
Terminological Reasoning with Constraint Handling Rules
, 1994
"... Terminological knowledge representation formalisms in the tradition of kl-oneenable one to define the relevant concepts of a problem domain and their interaction in a structured and well-formed way. Recently, M. Schmidt-Schauß and G. Smolka proposed a new methodology for constructing sound and compl ..."
Abstract
-
Cited by 16 (5 self)
- Add to MetaCart
Terminological knowledge representation formalisms in the tradition of kl-oneenable one to define the relevant concepts of a problem domain and their interaction in a structured and well-formed way. Recently, M. Schmidt-Schauß and G. Smolka proposed a new methodology for constructing sound and complete inference algorithms for terminological logics. The consistency test of assertions is the basis for all terminological reasoning services. We propose constraint handling rules (CH rules) as an implementation language for terminological reasoning. CH rulesare a flexible means to implement `user-defined' constraints on top of existing host languages like Prolog and Lisp. The implementation results in a natural combination of three layers: (i) a constraint layer that reasons in well-understood domains such as rationals or finite domains, (ii) a terminological layer providing a tailored, validated vocabulary on which (iii) the application layer can rely. As an application example, a configur...
Implementing a Lazy Functional Logic Language with Disequality Constraints
- IN PROC. OF THE 1992 JOINT INTERNATIONAL CONFERENCE AND SYMPOSIUM ON LOGIC PROGRAMMING
, 1992
"... In this paper, we investigate the implementation of a lazy functional logic language (in particular the language BABEL [MR88, MR92]) which uses disequality constraints for solving equations and building answers. We specify a new operational semantics which combines lazy narrowing with disequality co ..."
Abstract
-
Cited by 13 (4 self)
- Add to MetaCart
In this paper, we investigate the implementation of a lazy functional logic language (in particular the language BABEL [MR88, MR92]) which uses disequality constraints for solving equations and building answers. We specify a new operational semantics which combines lazy narrowing with disequality constraints and we define an abstract machine tailored to the execution of BABEL programs according to this semantics. The machine is designed as a quite natural extension of a lazy graph narrowing machine [MKLR90]. Disjunctions of disequalities are handled using the backtracking mechanism.
Automatic Generation of Propagation Rules for Finite Domains
"... A general approach to specify the propagation and simplification process of constraints consists of applying rules over these constraints. In ..."
Abstract
-
Cited by 12 (4 self)
- Add to MetaCart
A general approach to specify the propagation and simplification process of constraints consists of applying rules over these constraints. In

