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

Documents pareils