Contractor Programming - ENSTA Bretagne - École nationale supérieure de techniques avancées Bretagne Accéder directement au contenu
Article Dans Une Revue Artificial Intelligence Année : 2009

Contractor Programming

Luc Jaulin


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.
Fichier principal
Vignette du fichier
quimper.pdf (1.19 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-00428957 , version 1 (30-10-2009)



Gilles Chabert, Luc Jaulin. Contractor Programming. Artificial Intelligence, 2009, 173, pp.1079-1100. ⟨10.1016/j.artint.2009.03.002⟩. ⟨hal-00428957⟩
394 Consultations
284 Téléchargements



Gmail Facebook Twitter LinkedIn More