Results 1 -
9 of
9
Applying interval arithmetic to real, integer and Boolean constraints
- JOURNAL OF LOGIC PROGRAMMING
, 1997
"... We present in this paper a general narrowing algorithm, based on relational interval arithmetic, which applies to any n-ary relation on!. The main idea is to define, for every such relation ae, a narrowing function \Gamma! ae based on the approximation of ae by a block which is the cartesian product ..."
Abstract
-
Cited by 148 (19 self)
- Add to MetaCart
We present in this paper a general narrowing algorithm, based on relational interval arithmetic, which applies to any n-ary relation on!. The main idea is to define, for every such relation ae, a narrowing function \Gamma! ae based on the approximation of ae by a block which is the cartesian product of intervals. We then show how, under certain conditions, one can compute the narrowing function of relations defined in terms of unions and intersections of simpler relations. We apply the use of the narrowing algorithm, which is the core of the CLP language BNR-Prolog, to integer and disequality constraints, to boolean constraints and to relations mixing numerical and boolean values. The result is a language, called CLP(BNR), where constraints are expressed in a unique structure, allowing the mixing of real numbers, integers and booleans. We end by the presentation of several examples showing the advantages of such approach from the point of view of the expressiveness, and give some computational results from a first prototype
A Metalevel Compiler of CLP(FD) and its Combination with Intelligent Backtracking
"... We propose an implementation of constraint solving over finite domains, as pioneered by CHIP, on top of any Prolog system that provides a delay mechanism and backtrackable assignment. The aim is to propose a simple, portable, easilymaintenable, but yet efficient package. The performances of our syst ..."
Abstract
-
Cited by 13 (8 self)
- Add to MetaCart
We propose an implementation of constraint solving over finite domains, as pioneered by CHIP, on top of any Prolog system that provides a delay mechanism and backtrackable assignment. The aim is to propose a simple, portable, easilymaintenable, but yet efficient package. The performances of our system are of the same order of magnitude than a "wired" implementation of finite domains such as CHIP, even on quite large programs. We have also designed some basic low-level (WAM) extension to Prolog's delay mechanism to make it more suited for handling constraint solving, such as priority queues for scheduling woken goals, that allow to preferentially treat cheap primitive constraints and investigate various constraint solving heuristics. Moreover, we propose an intelligent backtracking scheme for Finite Domain CLP Languages. Intelligent backtracking consists in determining, upon unsolvability of the constraint system, a pertinent choice-point which can "cure" the failure, and departs from t...
Ng-Backmarking - an Algorithm for Constraint Satisfaction
- and Planning, BT Technology Journal Vol 13 No
, 1995
"... Ng-backmarking with Min-conflict repair, a hybrid algorithm for solving constraint satisfaction problems, is presented in the context of the four main approaches to constraint satisfaction and optimisation: tree-search, domainfiltering, solution repair, and learning while searching. Repair-based tec ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
Ng-backmarking with Min-conflict repair, a hybrid algorithm for solving constraint satisfaction problems, is presented in the context of the four main approaches to constraint satisfaction and optimisation: tree-search, domainfiltering, solution repair, and learning while searching. Repair-based techniques are often designed to use local gradients to direct the search for a solution to a constraint satisfaction problem. It has been shown experimentally that such techniques are often well suited to solving large scale problems. One drawback is that they do not guarantee a (optimal) solution if one exists. The motivation behind ng-backmarking is to allow the search to follow local gradients in the search space whilst ensuring a (optimal) solution if one exists. The search space of this combined approach is controlled by the ng-backmarking process, a method of learning constraints during search (at each failure point 1 ) that may be used to avoid the repeated traversing of failed paths ...
Constructive Negation by Pruning and Optimization Higher-order Predicates for CLP and CC Languages
, 1994
"... . We survey several forms of negation in constraint logic programming following the program's completion approach. We show that a new scheme called constructive negation by pruning provides a generic operational semantics which is correct and complete w.r.t. Kunen's threevalued logic semantics. We e ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
. We survey several forms of negation in constraint logic programming following the program's completion approach. We show that a new scheme called constructive negation by pruning provides a generic operational semantics which is correct and complete w.r.t. Kunen's threevalued logic semantics. We emphasis a full abstraction result which permits to go beyond the theorem proving point of view and to completely characterize the operational behavior of CLP programs with negation. We derive from these results a complete scheme for optimization higherorder predicates in CLP languages, and an operational semantics for concurrent constraint (CC) languages extended with negation and optimization higher-order agents. 1 Introduction The amalgamation of constraint programming, logic programming and concurrent programming results in a very powerful model of computation that is conceptually simple and semantically elegant [13] [23]. Several constraint logic programming (CLP) systems and concurrent...
Typing Constraint Logic Programs
"... We present a prescriptive type system with parametric polymorphism and subtyping for constraint logic programs. The aim of this type system is to detect programming errors statically. It introduces a type discipline for constraint logic programs and modules, while maintaining the capabilities of per ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
We present a prescriptive type system with parametric polymorphism and subtyping for constraint logic programs. The aim of this type system is to detect programming errors statically. It introduces a type discipline for constraint logic programs and modules, while maintaining the capabilities of performing the usual coercions between constraint domains, and of typing meta-programming predicates, thanks to the exibility of subtyping. The property of subject reduction expresses the consistency of a prescriptive type system w.r.t. the execution model: if a program is \well-typed", then all derivations starting from a \well-typed" goal are again \well-typed". That property is proved w.r.t. the abstract execution model of constraint programming which proceeds by accumulation of constraints only, and w.r.t. an enriched execution model with type constraints for substitutions. We describe our implementation of the system for type checking and type inference. We report our experimental results on type checking ISO-Prolog, the (constraint) libraries of Sicstus Prolog and other Prolog programs.
From Constraint Minimization to Goal Optimization in CLP languages
- In: Principles and Practice of Constraint Programming
, 1995
"... In this paper we discuss how the ability of the constraint solvers to deal with constraint minimization can be lifted up to various forms of goal optimization within CLP languages. We emphasis the link there is between optimization and negation both in the declarative semantics and in the operat ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
In this paper we discuss how the ability of the constraint solvers to deal with constraint minimization can be lifted up to various forms of goal optimization within CLP languages. We emphasis the link there is between optimization and negation both in the declarative semantics and in the operational aspects. We also discuss the design of incremental execution models in an "optimization as interaction" paradigm. 1 Introduction Constraint logic programming and concurrent constraint programming are simple and powerful models of computation that have been implemented in several systems over the last decade, and proved successful in a variety of applications ranging from combinatorial optimization problems to complex system modeling [13]. In particular the CLP approach is increasingly used to solve hard scheduling and planning problems [2] [22]. Of course in these applications the ability of the system to generate not all solutions but only best solutions is a fundamental property. ...
CMOS - User Manual
, 1997
"... This document describes the use of a finite domain constraint solving and optimisation system. This cp(FD) system is based on the indexical scheme introduced in [Van Hentenryck], [Saraswat], [Diaz], and specifically [Carlsson1]. This solver may be particularly useful for modelling discrete optimisat ..."
Abstract
- Add to MetaCart
This document describes the use of a finite domain constraint solving and optimisation system. This cp(FD) system is based on the indexical scheme introduced in [Van Hentenryck], [Saraswat], [Diaz], and specifically [Carlsson1]. This solver may be particularly useful for modelling discrete optimisation and verification problems such as scheduling, planning, packing, timetabling etc. The heart of the system is a propagation engine that executes indexicals, both for consistency and entailment. The system can solve for values for the problem variables, and it also solves for optimisation, using a branch and bound or a genetic algorithm. Indexicals to be executed may be generated with a finite domain extended pseudo-Prolog user program. We have tried to keep syntax as closer as possible to Finite Domain Sicstus Prolog library syntax.
Open Constraint Programming
- In Principles and Practice of Constraint Programming – CP’98, 4th International Conference
, 1998
"... Implementation Model A central issue behind an implementation of an OCP system is clearly the management of efficient wakeups of blocked reactors. In analogy with active databases, there is a dependency on some primitive triggering mechanism on the part of the constraint system. However, such a mec ..."
Abstract
- Add to MetaCart
Implementation Model A central issue behind an implementation of an OCP system is clearly the management of efficient wakeups of blocked reactors. In analogy with active databases, there is a dependency on some primitive triggering mechanism on the part of the constraint system. However, such a mechanism works by considering only the internal state of the system, and not at all on the environment of reactors currently blocked by the constraint system. This gap motivates this section, which is an informal discussion on where the major implementation considerations lie. The underlying philoshpy throughout this section is that there are in general a large number of reactors, and each of the frequent updates of the constraint store is of no consequence to most of the reactors. 3.1 Trigger Table In what follows, we informally say that a reactor r is blocked at \Delta if no progress is possible for r using the constraint system \Delta. (This can be formalized using the transition rules i...

