Langages et environnements en programmation par contraintes d'intervalles
Auteur / Autrice : | Frédéric Goualard |
Direction : | Frédéric Benhamou |
Type : | Thèse de doctorat |
Discipline(s) : | Sciences et techniques |
Date : | Soutenance en 2000 |
Etablissement(s) : | Nantes |
Résumé
La programmation par contraintes d'intervalles est une approche prometteuse pour la resolution de systemes de contraintes reelles non-lineaires : l'emploi de l'arithmetique d'intervalles garantit la completude des resultats et l'efficacite des methodes de filtrage par le calcul de consistances partielles est identique ou (tres) superieure a celle d'algorithmes specialises. Dans cette these, nous nous interessons a l'extension des capacites de la programmation par contraintes d'intervalles suivant trois axes : 1. Acceleration du processus de calcul : les librairies d'intervalles utilisees par les algorithmes de resolution doivent etre a la fois correctes et efficaces. Nous decrivons une librairie c++ parametree de calcul sur les intervalles basee sur la notion de traits et montrons que la flexibilite obtenue par la parametrisation du type des bornes n'induit pas de surcout a l'execution et autorise une plus grande fiabilite pour la portabilite de la librairie. Nous presentons aussi une extension de la definition de box-consistance autorisant la mise au point d'un algorithme pour son calcul dont l'efficacite est toujours au moins egale a celle des algorithmes utilises habituellement pour calculer la box-consistance ou la hull-consistance ; 2. Extension du domaine d'application : l'emploi des intervalles garantit la completude des resultats mais pas leur correction alors que cette propriete est cruciale pour certaines applications. Nous decrivons des algorithmes de calcul d'approximations interieures de relations reelles assurant cette correction ; nous introduisons ensuite des algorithmes autorisant la resolution de systemes avec des variables quantifiees universellement ; 3. Definition d'un environnement de programmation adapte : nous presentons une methode d'abstraction du store de contraintes permettant sa visualisation a des fins de debogage/optimisation/explication de programmes contenant des contraintes, puis decrivons un outil base sur cette technique.