Amine - RFIA 2012
Transcription
Amine - RFIA 2012
Ministère de l’Enseignement Supérieur Et de la Recherche Scientifique Université des Sciences et de la Technologie d’Oran - Mohamed Boudiaf Faculté des Sciences - Département d’Informatique Le recuit simulé Module : Optimisation avancée BENDAHMANE Amine – Master2 RFIA 25 octobre 2011 Le recuit simulé Sommaire 1. Introduction :................................................................................................ 3 2. Les origines : ................................................................................................. 4 3. Définition : .................................................................................................... 5 4. Algorithme : .................................................................................................. 6 4.1. L’algorithme de Metropolis : ................................................................. 6 4.2. L'algorithme du recuit simulé : .............................................................. 6 4.3. Etat initial de l'algorithme : ................................................................... 7 4.4. Variation de la temperature : ................................................................ 7 4.5. Amélioration : ........................................................................................ 8 5. Exemple d’application : ................................................................................ 8 6. Domaines d’applications : .......................................................................... 10 7. Avantages et Inconvénients : ..................................................................... 10 7.1. Avantages : .......................................................................................... 10 7.2. Inconvénients : .................................................................................... 11 8. Conclusion : ................................................................................................ 11 Bibliographie ..................................................................................................... 12 2 Le recuit simulé 1. Introduction : Les problèmes NP-complets d'optimisation combinatoire sont caractérisés par une complexité exponentielle ou factorielle, par conséquent ; il est impossible d'énumérer toutes les solutions possibles car cela dépasse la capacité de calcul de n'importe quel ordinateur. Il est donc très difficile de trouver la solution optimale. Pour palier a ces problèmes, les chercheurs ont introduit des méthodes approchées appelées heuristiques, elles présentent l'avantage d'un temps de calcul réduit mais ne donnent aucune information sur la qualité de la solution trouvée, de plus elles ne sont en général applicables qu'a un seul type de problèmes. (Autin, 2006) Par exemple la méthode de la descente consiste à partir d’une solution S à choisir une solution S’ dans un voisinage de S, telle que S’ améliore la solution. La recherche s’arrête donc au premier minimum (ou maximum) local rencontré, c’est là son principal défaut. Pour améliorer les résultats, on peut relancer plusieurs fois l’algorithme mais la performance de cette technique décroît rapidement. Ce qui a poussé les chercheurs à proposer de nouvelles méthodes générales (applicables à la plupart des problèmes d'optimisation) appelées métaheuristiques, dont la méthode du recuit simulé ; conçu pour rechercher un optimum global parmi plusieurs minimas (ou maximas) locaux. 3 Le recuit simulé Solution trouvée par la descente du gradient Solution optimale Figure 1 : blocage d’une heuristique classique dans un minima local 2. Les origines : La méthode du recuit simulé est une généralisation de la méthode MonteCarlo ; son but est de trouver une solution optimale pour un problème donné. Elle a été mise au point par trois chercheurs de la société IBM : S. Kirkpatrick, C.D. Gelatt et M.P. Vecchi en 1983, et indépendamment par V. Cerny en 1985 à partir de l'algorithme de Metropolis ; qui permet de décrire l'évolution d'un système thermodynamique. (LIACS, 2009) La méthode du recuit simulé est basée sur un processus très utilisé en métallurgie pour obtenir un alliage sans défaut, ce processus est appelé « le recuit ». (Autin, 2006) On commence d’abord par chauffer le métal jusqu'à une certaine température où il devient liquide (les atomes peuvent donc circuler librement). Après avoir atteint ce stade, on abaisse la température très lentement de sorte à obtenir un solide (Olivier, 2001). Si cette baisse de température est brusque on obtient alors du verre ; si au contraire cette baisse de température est très lente (laissant aux atomes le temps d'atteindre l'équilibre statistique), nous 4 Le recuit simulé obtiendrons des structures de plus en plus régulières, jusqu’à atteindre un état d’énergie minimale correspondant à la structure parfaite d’un Crystal, on dit alors que le système est « gelé ». Au cas où cet abaissement de température ne se ferait pas assez lentement, il pourrait apparaitre des défauts. Il faudrait alors les corriger en réchauffant de nouveau légèrement la matière de façon à permettre aux atomes de retrouver la liberté de mouvement, leur facilitant ainsi un éventuel réarrangement conduisant à une structure plus stable. (Olivier, 2001) 3. Définition : L’idée principale du recuit simulé tel qu’il a été proposé par Metropolis en 1953 est de simuler le comportement de la matière dans le processus du recuit très largement utilisé dans la métallurgie. Le but est d’atteindre un état d’équilibre thermodynamique, cet état d’équilibre (où l’énergie est minimale) représente - dans la méthode du recuit simulé – la solution optimale d’un problème ; L’énergie du système sera calculé par une fonction coût (ou fonction objectif) spécifique à chaque problème (Kendall). La méthode va donc essayer de trouver la solution optimale en optimisant une fonction objectif, pour cela, un paramètre fictif de température a été ajouté par Kirkpatrick, Gelatt et Vecchi. En gros le principe consiste à générer successivement des configurations à partir d'une solution initiale S0 et d'une température initiale T0 qui diminuera tout au long du processus jusqu'à atteindre une température finale ou un état d’équilibre (optimum global). 5 Le recuit simulé 4. Algorithme : 4.1. L’algorithme de Metropolis : Dans l'algorithme de Metropolis, on part d'une configuration donnée, et on lui fait subir une modification aléatoire. Si cette modification fait diminuer la fonction objectif (ou énergie du système), elle est directement acceptée ; Sinon, elle n'est acceptée qu'avec une probabilité égale à 𝑒𝑥𝑝(∆𝐸/𝑇) (avec E=énergie, et T=température), cette règle est appelée critère de Metropolis. (Autin, 2006) 4.2. L'algorithme du recuit simulé : Le recuit simulé applique itérativement l’algorithme de Metropolis, pour engendrer une séquence de configurations qui tendent vers l'équilibre thermodynamique : 1) Choisir une température de départ T=T0 et une solution initiale S=S0 ; 2) générer une solution aléatoire dans le voisinage de la solution actuelle ; 3) comparer les deux solutions selon le critère de Metropolis ; 4) répéter 2 et 3 jusqu'a ce que l'équilibre statistique soit atteint ; 5) décroitre la température et répéter jusqu'a ce que le système soit gelé. (Abecasis) Dans un premier temps, T étant généralement choisi très grand, beaucoup de solutions - même celles dégradant la valeur de f - sont acceptées, et l'algorithme équivaut à une visite aléatoire de l'espace des solutions. Mais à mesure que la température baisse, la plupart des solutions augmentant l'énergie sont refusés, et l'algorithme se ramène à une amélioration itérative classique. A température intermédiaire, l'algorithme autorise de temps en temps des transformations qui dégradent la fonction objectif. Il laisse ainsi une chance au système de s'extraire d'un minima local. (Autin, 2006) 6 Le recuit simulé Notons aussi que si la température est égale à 0, seules les solutions optimisant f sont acceptées. L'algorithme se comportera donc comme la méthode de la descente du gradient. Le recuit simulé continue sa recherche Solution trouvée par le recuit simulé après un nombre suffisant d’itérations Solution trouvée par une heuristique classique Figure 2 : comparaison entre le recuit simulé et une heuristique classique 4.3. Etat initial de l'algorithme : La solution initiale peut être prise au hasard dans l'espace des solutions possibles, elle peut aussi être générée par une heuristique classique, telle que la descente du gradient ou l’algorithme glouton (dans le cas du voyageur du commerce). (Kendall) La température initiale doit être assez élevée, car c'est elle qui fixe la probabilité d'accepter ou de refuser les solutions défavorables à l'optimisation de la fonction f. 4.4. Variation de la temperature : Deux approches sont possibles pour décroitre la température : a) décroissance par paliers : Pour chaque valeur de la température, on itère l'algorithme de Metropolis jusqu'a atteindre un équilibre statistique, puis on diminue la temperature. 7 Le recuit simulé b) Décroissance continue : On fait baisser la température d'une façon continue, le plus courant est d'utiliser la loi suivante : 𝑇𝑖+1 = 𝛼. 𝑇𝑖 / 𝛼 < 1 (en génral 𝛼 = 0.9 à 0.99) Remarque : Le paramètre α est à choisir avec précaution ; En effet, s’il est choisi trop grand, la temperature baissera très rapidement et l'algorithme pourra être bloqué dans un minima local ; Si au contraire il est choisi trop petit, la temperature baissera très lentement et le temps de calcul sera très grand. (Kendall) 4.5. Amélioration : Cet algorithme est parfois amélioré en ajoutant une variable qui mémorise la meilleure valeur rencontrée jusqu’à présent ; sans cela, l’algorithme pourrait converger vers une certaine solution, alors qu’on avait visité auparavant une solution meilleure. (Autin, 2006) 5. Exemple d’application : Le problème du voyageur de commerce : Le recuit simulé peut être appliqué au problème du voyageur de commerce. Le but est alors de trouver le circuit hamiltonien de coût minimal dans un graphe. L’énergie représentera la distance totale à parcourir, et un état du système représentera le chemin entre les villes. L’algorithme va donc tenter de minimiser la longueur totale du chemin, en modifiant l’ordre des villes à parcourir. Soit le graphe suivant représentant un ensemble de villes : 8 Le recuit simulé 2 8 6 5 6 1 1 4 4 5 3 3 6 4 2 Figure 3 : un ensemble de villes (noeuds) reliés entre eux par des routes (arcs) La solution la plus simple est de parcourir les villes dans l’ordre. 1 6 2 8 3 6 4 2 5 4 1 Total = 26 Figure 4 : Une première solution (parcours suivant l'ordre des villes) 1 1 4 2 5 4 3 8 2 6 1 Total = 21 Figure 5 : Le résultat donné par l’algorithme glouton (se délacer d’un sommet vers son plus proche voisin) 1 1 4 2 5 5 2 2 8 3 6 1 Total = 22 Figure 6 : Le résultat obtenu en échangeant les sommets 2 et 3 Dans la Figure 6 : Le résultat obtenu en échangeant les sommets 2 et 3, la distance totale a augmenté. Pour une heuristique classique cette est solution est rejetée car la distance doit être minimisée, mais le recuit simulé poura l’accepter si la temperature est encore elevée, et cette solution qui est « mauvaise » par rapport à la première va lui permettre de trouver une solution meilleure : 1 1 4 3 2 5 5 4 3 6 1 Total = 18 Figure 7 : Le résultat obtenu en échangeant les sommets 5 et 2 9 Le recuit simulé Le graphique suivant résume les resultats trouvés : Distance totale 28 26 24 22 20 18 16 Fig 8 : les résultats obtenus dans l'exemple En résumé : Le recuit simulé, en acceptant une mauvaise solution, à réussi a échapper au minima local et à obtenir une solution meilleure. 6. Domaines d’applications : Comme pour toute méta-heuristique, la méthode du recuit simulé peut être appliquée dans de nombreux problèmes d’optimisation, les chercheurs l’ont utilisée essentiellement dans : La conception des circuits intégrés (Kirkpatrick, et al., 1988)(problème de placement et de répartition) ; Le routage des paquets dans les réseaux ; La segmentation d'images ; Le problème du voyageur de commerce ; Et, le problème du sac à dos. 7. Avantages et Inconvénients : 7.1. Avantages : Facile à implémenter; Donne généralement de bonnes solutions par rapport aux algorithmes de recherche classiques; 10 Le recuit simulé Peut être utilisé dans la plupart des problèmes d'optimisation; Il converge vers un optimum global (lorsque le nombre d’itérations tend vers l’infini (Autin, 2006)). Cela fait de lui une option attrayante pour les problèmes d'optimisation difficiles. 7.2. Inconvénients : Le principal inconvénient du recuit simulé est qu'une fois l'algorithme piégé à basse température dans un minimum local, il lui est impossible de s'en sortir. Plusieurs solutions ont été proposées pour tenter de résoudre ce problème, par exemple en acceptant une brusque remontée de la température de temps en temps, pour relancer la recherche sur d’autres régions plus éloignées. (Autin, 2006) Appart cela on peut citer quelques autres inconvénients comme : La difficulté de déterminer la température initiale : Si elle est trop basse, la qualité de recherche sera mauvaise. Si elle est trop haute, le temps de calcul sera élevé. L'impossibilité de savoir si la solution trouvée est optimale ; Dégradation des performances pour les problèmes où il y a peu de minimas locaux (comparé avec les heuristiques classiques comme la descente du gradient par exemple). 8. Conclusion : Nous avons vu que les heuristiques classiques n'étaient pas très satisfaisantes pour résoudre les problèmes d’optimisation, car les solutions générées n’étaient pas de bonne qualité. L’intelligence artificielle s’est donc tournée vers la nature pour créer de nouvelles méthodes : plus générales et plus efficaces. 11 Le recuit simulé Bibliographie AI Methods - Simulated Annealing [Rapport] : complément de cours / aut. Kendall Graham / CS - Nottingham University. Les métaheuristiques en optimisation combinatoire [Rapport] : Mémoire de fin d'etudes / aut. Autin Baptiste / Conservatoire National Des Arts et Metiers. - PARIS : [s.n.], 2006. Méthode du recuit simulé [Rapport] : complément TD/TP Recherche stochastique / aut. Olivier D.. - 2001. Optimization by Simulated Annealing [Article] / aut. Kirkpatrick, Gelatt et Vecchi // Science, New Series. - 13 Mai 1988. - 4598. - pp. 671-680. Simulated Annealing [Rapport] / aut. LIACS / Natural Computing Group ; Leiden University. 2009. Simulated Annealing, cours Biostatistiques - chapitre19 [En ligne] / aut. Abecasis Goncalo. 19 octobre 2011. - http://www.sph.umich.edu/csg/abecasis/. 12