835 articles – 1515 references  [version française]
HAL: hal-00428957, version 1

Detailed view  Export this paper
Artificial Intelligence 173 (2009) 1079-1100
Contractor Programming
Gilles Chabert 1, Luc Jaulin 2
(2009)

This paper describes a solver programming method, called "contractor programming", that copes with two issues related to constraint processing over the reals. First, continuous constraints involve an inevitable step of solver design. Existing softwares provide an insufficient answer by restricting users to choose among a list of fixed strategies. Our first contribution is to give more freedom in solver design by introducing programming concepts where only configuration parameters were previously available. Programming consists in applying operators (intersection, composition, etc.) on algorithms called "contractors" that are somehow similar to propagators. Second, many problems with real variables cannot be cast as the search for vectors simultaneously satisfying the set of constraints, but a large variety of different outputs may be demanded from a set of constraints (e.g., a paving with boxes inside and outside of the solution set). These outputs can actually be viewed as the result of different "contractors" working concurrently on the same search space, with a bisection procedure intervening in case of deadlock. Such algorithms (which are not strictly speaking solvers) will be made easy to build thanks to a new branch & prune system, called "paver". Thus, this paper gives a way to deal harmoniously with a larger set of problems while giving a fine control on the solving mechanisms. The contractor formalism and the paver system are the two contributions. The approach is motivated and justified through different cases of study. An implementation of this framework named Quimper is also presented.
1:  Laboratoire d'Informatique de Nantes Atlantique (LINA)
CNRS : UMR6241 – Université de Nantes – École Nationale Supérieure des Mines - Nantes
2:  Développement des Technologies Nouvelles (DTN)
ENSTA Bretagne
Computer Science/Artificial Intelligence
Constraint processing – Interval methods – Solver design – Programming languages
Attached file list to this document: 
PDF
quimper.pdf(1.2 MB)