Méthodes à divergences pour la résolution de problèmes de satisfaction de contraintes et d’optimisation combinatoire

Méthodes à divergences pour la résolution de problèmes de satisfaction de contraintes et d’optimisation combinatoire

Heuristiques d’instanciation 

 Généralités

 Les heuristiques d’instanciation sont des règles qui déterminent l’ordre suivant lequel on va choisir les variables pour les instancier ainsi que l’ordre suivant lequel on va choisir les valeurs pour les variables. Ainsi, une heuristique d’instanciation est composée : – d’un ordre sur les variables ; – d’un ordre sur les valeurs. Une bonne heuristique d’instanciation peut avoir un grand impact sur la résolution d’un problème de décision et permettre d’accélérer l’obtention de solutions (la détection d’échecs en cas de problèmes insolubles) pendant l’exploration de l’espace de recherche. Ainsi, on évite que de grandes parties de l’arbre de recherche soient explorées en vain. De plus, si l’on veut favoriser l’apparition d’une solution, les variables et les valeurs sont ordonnées par l’heuristique de telle façon que, si une solution existe, elle sera associée à un chemin qui se trouve, par convention, le plus à gauche possible dans l’arbre de 20 recherche et sera ainsi atteinte au plus tôt lors d’une exploration en profondeur d’abord. Plusieurs travaux se sont interessés aux heuristiques, que ce soit dans un contexte SAT, CSP ou optimisation combinatoire [Hooker 2000, Lecoutre 2007b]. Une heuristique peut être statique ou dynamique selon que les ordres de variables et de valeurs sont fixés au préalable ou évoluent pendant la résolution, de telle sorte qu’elle soit affectée par les changements que subit l’espace de recherche. Nous présentons ci-dessous quelques exemples d’heuristiques. 

 Principe de l’échec au plus tôt ou fail-first

Le principe de l’échec au plus tôt ou fail-first de Haralick se résume en cette citation : “To suceed, try first where you are most likely to fail” (Pour réussir, commence par essayer où il est plus probable d’échouer) [Haralick 1980]. 

 Heuristique du domaine minimal (min-domain)

Cette heuristique dynamique d’ordre sur les variables sélectionne en premier la variable qui a le plus petit domaine de valeurs. 

Heuristiques du degré (degree ou deg)

L’heuristique basée sur les degrés [Dechter 1989] ordonne les variables de manière décroissante en fonction de leur degré (cf. paragraphe 1.1.8). 

Heuristiques du degré dynamique (dynamic-degree ou ddeg)

L’heuristique du degré dynamique ordonne les variables de manière décroissante en fonction de leur degrés dynamiques qui évoluent au cours de la recherche. 

Heuristique du degré pondéré (weighted-degree ou wdeg) 

A chaque étape de résolution, l’objectif de cette heuristique de variables dynamique [Boussemart 2004a, Boussemart 2004b] est de s’appuyer sur des informations issues des étapes précédentes du processus de recherche de solution. Pour cela, un poids est associé 21 à chaque contrainte et à chaque fois que le domaine d’une variable devient vide, le poids de la contrainte ayant entrainé cet échec est incrémenté. L’heuristique wdeg choisit alors la variable associée aux contraintes de plus fort poids. 

Heuristique de la largeur minimale (minimal-width ou width)

 L’heuristique de la largeur minimale [Freuder 1982] ordonne les variables de manière à limiter la largeur du graphe de contraintes (cf. paragraphe 1.1.8). 

Heuristique du conflit minimum (min-conflict)

 Contrairement aux heuristiques présentées ci-dessus, l’heuristique du conflit minimum ordonne les valeurs. Il s’agit de choisir une valeur qui permettra à l’instanciation partielle courante d’être étendue à une solution. Une mesure commune pour juger vraisemblable la participation d’une valeur à une solution est de considérer le nombre de valeurs qui ne sont pas en conflit avec la valeur en question. Ainsi, la valeur qui est compatible avec la plupart des valeurs des variables non instanciées est essayée en premier. Ces différentes heuristiques sont également combinées entre elles, on retrouve classiquement l’utilisation de l’heuristique d’ordre sur les variable min-domain ⊕ ddeg ou min-domain/ddeg ou encore min-domain/wdeg. Les algorithmes de résolution qui utilisent des heuristiques d’ordre assurent, dans la plupart des cas, une résolution plus rapide que celle obtenue par des algorithmes sans heuristique d’ordre. Même si les différentes heuristiques d’ordre sont en général incomparables entre elles, dans de nombreux cas (et notamment sur des problèmes structurés) l’heuristique min-domain/wdeg fournit de très bons résultats.

Table des matières

LISTE DES TABLEAUX
LISTE DES FIGURES
INTRODUCTION
CHAPITRE 1 : PROBLÈMES DE SATISFACTION DE CONTRAINTES
1.1 Le formalisme des CSP
1.1.1 CSP
1.1.2 Arité d’une contrainte
1.1.3 Instanciation
1.1.4 No-goods
1.1.5 Satisfaction de contraintes
1.1.6 Solution
1.1.7 Espace de recherche
1.1.8 Représentation graphique d’un CSP
1.2 Paradigme général de traitement des CSP
1.3 Techniques de propagation
1.3.1 Consistance de sommet
1.3.2 Consistance d’arc
1.3.3 Autres consistances
1.4 Heuristiques d’instanciation
1.4.1 Généralités
1.4.2 Principe de l’échec au plus tôt
1.4.3 Heuristique du domaine minimal
1.4.4 Heuristiques du degré
1.4.5 Heuristiques du degré dynamique
1.4.6 Heuristique du degré pondéré
1.4.7 Heuristique de la largeur minimale
1.4.8 Heuristique du conflit minimum
1.5 Méthodes de recherche arborescente
1.5.1 Chronogical Backtracking
1.5.2 Méthodes de résolution exploitant la propagation
1.5.3 Méthodes de résolution exploitant l’apprentissage
1.6 Synthèse de l’existant
CHAPITRE 2 : MÉTHODES DE RÉSOLUTION AVEC DIVERGENCES
2.1 Introduction
2.2 Limited Discrepancy Search (LDS)
2.3 Improved Limited Discrepancy Search (ILDS)
2.4 Depth-bounded Discrepancy Search (DDS)
2.5 Interleaved Depth-First Search (IDFS)
2.6 Reverse LDS (RLDS)
2.7 Depth-Weighted Discrepancy Search (DWDS)
2.8 Discrepancy-Bounded Depth First Search (DBDFS)
2.9 Conclusion
CHAPITRE 3 : HEURISTIQUES ET DIVERGENCES POUR CSP
3.1 Introduction
3.2 Mécanismes d’amélioration pour les méthodes de recherche arborescente
3.2.1 Pondération des variables
3.2.2 Exemple illustratif
3.2.3 Pondération des valeurs
3.2.4 Exemple illustratif
3.3 Mécanismes d’amélioration pour les méthodes de recherche à divergences
3.3.1 Restriction des divergences
3.3.2 Différents modes de comptage des divergences
3.3.3 Positionnement des divergences
3.4 Combinaison de mécanismes
3.4.1 YIELDS
3.4.2 Exemple illustratif
3.4.3 Exploitation des no-goods
3.4.4 Exemple illustratif
3.5 Expérimentations
3.5.1 Problèmes de car sequencing
3.5.2 Problèmes aléatoires
3.6 Conclusion
CHAPITRE 4 : MÉTHODES À DIVERGENCES POUR OPTIMISATION
4.1 Méthodes à base de divergences pour l’optimisation
4.1.1 Climbing Discrepancy Search (CDS)
4.1.2 Exemple illustratif
4.1.3 Climbing Depth-bounded Discrepancy Search (CDDS)
4.1.4 Autres adaptations de la méthode CDS
4.2 Problèmes d’ordonnancement avec contraintes de délais
4.2.1 Définitions
4.2.2 Modélisation
4.2.3 Méthodes de résolution de la littérature
4.3 Divergences pour les time-lags
4.3.1 Adaptation de la méthode CDS
4.3.2 Positionnement des divergences
4.3.3 Heuristique d’initialisation utilisée
4.3.4 Pondération des variables
4.3.5 Exploitation des pondérations des variables
4.4 Expérimentations
4.4.1 Benchmarks
4.4.2 Résultats obtenus
4.5 Conclusion
CONCLUSION GÉNÉRALE & PERSPECTIVES
BIBLIOGRAPHIE

projet fin d'etudeTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *