| Première partieFavoriser l'obtention rapide desolutions dans les méthodes derecherche arborescente1 Dynamic Learning Search : une méthode par
apprentissage 19 1.1 Introduction   19 1.2 État de l'art des recherches arborescentes   20 1.2.1 Méthode de parcours de l'arbre de recherche   21 1.2.2 Méthode de structuration de l'arbre de recherche  
22 1.2.3 Parcours réduit de l'arbre   22 1.2.4 Ordre dynamique  24 1.2.5 Apprentissage : look-back   26 1.2.6 Métaheuristiques combinées à la
recherche arborescente   27 1.3 Dynamic Learning Search : une méthode par
apprentissage   28 1.4 Learning : une méthode basée sur un
apprentissage   29 1.4.1 Sondage   29 1.4.2 Apprentissage   30 1.4.3 Prévision   32 1.4.4 Remise en question   32 1.5 Dynamic : un ordre dynamique de choix des variables et de
sélection des valeurs   33 1.6 Search: un schéma de recherche adapté à
la méthode   34 1.7 Algorithme général de la méthode   34 1.8 Méthode Dynamic Learning Search : critères de
sélection   34 1.8.1 Problèmes de Satisfaction des Contraintes  35 1.8.2 Problèmes d'Optimisation Combinatoire   38 1.8.3 Méthode commune aux deux types de problèmes  
39 1.9 Résultats expérimentaux   40 1.9.1 Application au problème du Voyageur de Commerce  
40 1.9.2 Application au problème d'Emploi du Temps de Garde
d'Infirmières   411.9.3 Application à des problèmes de
Satisfaction de Contraintes aca-
 démiques   43 1.10 Conclusion et perspectives   47 Chapitre 1Dynamic Learning Search: uneméthode par apprentissage1.1 IntroductionLa plupart des méthodes de résolution exacte
utilisées en optimisation combinatoire s'appuient sur une
énumération intelligente des solutions (Branch & Bound,
Programmation par contraintes, Programmation dynamique ...). Cette
énumération consiste en règle générale en la
construction d'un arbre de recherche, au cours de laquelle la création
d'un fils pour un noeud correspond à une prise de décision:
typiquement fixer une valeur à une variable. L'exploration
complète d'un tel arbre peut s'avérer très coûteuse
en temps. Il est donc classique de fixer une limite de temps, rendant ainsi
l'exploration incomplète. Si cette limite de temps est atteinte avant la
fin de l'exploration complète de l'arbre de recherche, on retourne la
meilleure solution trouvée (dans le cas où une ou plusieurs
solutions ont été trouvées). Un défaut connu de
cette approche est que l'exploration peut se faire dans un premier temps sur un
sous-arbre qui ne contient pas ou peu de solution intéressante et ainsi
utiliser tout le temps alloué à n'explorer que ce sous-arbre.
Cette situation conduit à retourner une mauvaise solution (ou aucune
solution). On a donc tout intérêt à mettre en place des
techniques favorisant l'exploration en priorité de parties de l'espace
de recherche contenant de bonnes solutions. Il s'agit de gérer au mieux
la prise de décision à la fois en ce qui concerne la construction
de l'arbre et le parcours des noeuds créés, et ce dès le
début de l'arbre. La méthode que nous proposons, Dynamic
Learning Search a été conçue dans le but de diriger
l'exploration de l'arbre de recherche vers les parties de l'espace des
solutions contenant les meilleures solutions. Notre objectif est de proposer
une méthode générique, de manière à pouvoir
l'utiliser indépendamment du type de problème traité :
problèmes d'optimisation combinatoire ou problèmes de
satisfaction de contraintes. La méthode DLS définit de
manière dynamique à chaque noeud de l'arbre des règles de
priorité pour la sélection de la variable sur laquelle brancher
et de l'ordre dans lequel les différentes valeurs pour chaque variable
sont explorées. Ces ordres sont déduits des
caractéristiques des sous-arbres obtenus jusqu'ici lors de branchements
concernant la même variable. |