Heterogeneous Constraint Solving - CiteSeerX

2 downloads 0 Views 228KB Size Report
ideas were developed in the BNR-Prolog system 19] and extended to the pro- cessing of combined constraints over the Booleans, the naturals and the reals in.
Heterogeneous Constraint Solving Frederic Benhamou LIFO, Universite d'Orleans, I.I.I.A., Rue Leonard de Vinci B.P. 6759 45067 ORLEANS Cedex 2 France

mail: [email protected] www : http://www.univ-orleans.fr/~benhamou/

Abstract. Most CLP languages designed in the past few years feature

at least some combination of constraint solving capabilities. These combinations can take multiple forms since they achieve either the mixing of di erent domains or the use of di erent algorithms over the same domain. These solvers are also very di erent in nature. Some of them perform complete constraint solving while others are based on propagation methods. This paper is an attempt to design a uni ed framework describing the cooperation of constraint solving methods. Most techniques used in constraint-based systems are shown to be implementations of operators called constraint narrowing operators. A generalized notion of arc-consistency, called weak arc-consistency is proposed and is used to model heterogeneous constraint solving. We provide conditions on the constraint solving algorithms which guarantee termination, correctness and con uence of the resulting combined solver. This framework is shown to be general enough to describe the operational semantics of the basic constraint solving mechanisms in a number of current CLP systems.

1 Introduction One of the main practical achievements of Constraint Logic Programming has been to prove its ability to solve problems involving numerical and/or symbolic constraints in a way which, often enough to be mentioned, is competitive or even overruns traditional methods. The core of these systems is made of algorithms, called solvers, designed to process various types of constraints. Essentially, these algorithms can be divided in two main categories: incomplete algorithms based on local consistency and propagation and complete algorithms, often combined with delay mechanisms. Algorithms in the rst category achieve approximate constraint solving by introducing various levels of local consistency checking. Local consistency was rst introduced in Arti cial Intelligence [24] and then adapted to the constraint programming framework in the language CHIP [22] to solve discrete, combinatorial problems. The introduction of interval arithmetic in logic programming [6] extended the notion to numerical (including non-linear) constraints. These ideas were developed in the BNR-Prolog system [19] and extended to the processing of combined constraints over the Booleans, the naturals and the reals in CLP(BNR)[5].

Solvers from the second category generally divide constraint systems in two subsets. The rst (e.g. linear constraints) is processed with complete algorithms while the treatment of the other is based on delay mechanisms. This is the case in CLP(