2. préparé par Moez Hammami
2
Plan (Recuit Simulé)
•I. Présentation générale
•II. Origines
•III. Recuit thermique et recuit simulé
•IV. Algorithme du recuit simulé :
IV.1. Convergence théorique du recuit simulé :
IV.2. Espace des configurations :
IV.3. Règles d'acceptation :
IV.4. Programme de recuit :
•IV.4.1. comment initialiser un programme de recuit simulé
•IV.4.2. Règle d’acceptation de Metropolis :
•IV.4.3. Changement de palier de température
•IV.4.4. Décroissance de la température
•IV.4.5. Arrêt du programme :
•IV.4.6. Vérifications indispensables lors des premières exécutions du programme:
•V. Parallélisation de l'algorithme du recuit simulé :
•VI. Application aux problèmes types d’optimisation combinatoire :
•VII. Application aux problèmes industriels
•VIII. Conclusion: Avantages et faiblesses de la méthode
3. préparé par Moez Hammami
3
Présentation générale
Le recuit Simulé « Simulated Annealing » est une meta-heuristique destinée à résoudre au mieux les problèmes dits d’optimisation difficile
Evite le piégeage dans les minima locaux de la fonction objectif
Fonction Objectif
configurations
Optimum local
Optimum global
Inspirée par la technique expérimentale du recuit dans la métallurgie
4. préparé par Moez Hammami
4
Origine: Recuit thermique
Chauffer le matériau et le porter à l’état liquide (énergie élevée)
Refroidissement lent de la température en marquant des paliers de température de durée suffisante
Refroidissement rapide de la température
Technique de la trempe
Etat solide cristalisé, état stable.
Apparition de défauts dans le matériau, structure
amorphe, état meta-stable
Minimum absolu de l’énergie
Minimum local d’énergie
Transformation désordre ordre
Figer un état désordonné, non cristalisé
5. préparé par Moez Hammami
5
Recuit thermique et recuit simulé
L’algorithme s’appuie sur 2 résultats de la physique statistique
1er résultat de la physique statistique
Lorsque l’équilibre thermodynamique est atteint à une température T, la possibilité pour un système physique de posséder une énergie E est:
P(E) = e[-E/(KB*T)]
KB: constante de bolzman
À Température élevée, P(E) tend vers 1 pour tous les états d’énergie
T élevée
KB * T +
-E/(KB T) 0
e[-E/(KB*T)] 1
DEM
La probabilité d’accepter un état à énergie élevée est faible a faible Température
DEM
E élevée, T faible
-E -
-E/(KB T) -
e[-E/(KB*T)] 0
Même si la probabilité d’accepter un état à énergie élevée est faible, elle n’est pas nulle.
La distribution de bolzman permet au système d’échapper au minimum local d’énergie en donnant une chance même faible de passer à un état à énergie plus élevée
Conclusion
6. préparé par Moez Hammami
6
Recuit thermique et recuit simulé
L’algorithme s’appuie sur 2 résultats de la physique statistique
2ième résultat de la physique statistique
Metropolis[1953] a établit un algorithme qui simule l’évolution du système physique vers son équilibre thermodynamique à une température donnée T
Configuration 1 donnée (E1)
Nouvelle configuration (E2)
modification
E2<E1
non
oui
Accepter avec une probabilité Exp(-E/T)
Accepter la nouvelle configuration
Si le nombre d’itérations est suffisamment long, le système aboutit à l’équilibre thermodynamique pour la température T:
IL aboutit à la distribution de bolzman
7. préparé par Moez Hammami
7
Recuit thermique et recuit simulé
KirkPatrick et al 1983 proposent un algorithme qui est basé sur une analogie entre le recuit thermique
et la résolution de problèmes d’optimisation combinatoire
Recuit thermique
Recuit simulé
Les états du solide
Les solutions réalisables
Les énergies des états
Les valeurs de la fonction objectif calculées sur ces solutions
L’état à énergie minimale
Solution optimale du problème
Le refroidissement rapide
Recherche locale
8. préparé par Moez Hammami
8
Algorithme du recuit simulé :
Commencer avec une solution initiale : solution courante Température := T0 (*Température initiale*) Tant que la condition d’arret n’est pas remplie faire Pour i de 1 à N faire Calculer nouvelle solution (perturber la solution) = coût (nouvelle solution) - coût (solution courante) si < 0 alors conserver nouvelle solution sinon si random[0,1] < e[- /Température] alors conserver nouvelle solution fin si fin si fin pour Température = * Température (*nouveau palier de température*) fin Tant que
9. préparé par Moez Hammami
9
Algorithme du recuit simulé :
Température
/Température 0 P = e[- /Température] 1
P
Il est plus probable qu’une valeur aléatoire entre 0 et 1 soit inférieure à P
A température élevée la plupart des mouvements sont acceptés
L’algorithme équivaut à une simple marche dans l’espace des configurations
Température
-/Température - P = e[- /Température] 0
P
Il est plus probable qu’une valeur aléatoire entre 0 et 1 soit supérieure à P
A température faible la plupart des mouvements augmentant la température sont refusés
L’algorithme se ramène à une amélioration itérative classique
Température intermédiaire
L’algorithme autorise de temps en temps des transformations qui dégradent la fonction objectif
L’algorithme laisse une chance au système pour s’extraire d’un minimum local
0
1
0
1
10. préparé par Moez Hammami
10
Algorithme du recuit simulé :
Abaissement de la température
Une fois l’équilibre est atteint à une température donnée (optimum local) on abaisse légèrement la température et on effectue une nouvelle série d’itérations
Condition d’arret
La température a atteint une valeur presque nulle
ou bien plus aucun mouvement améliorant la fonction objectif n’a été accepté au cours du palier
11. préparé par Moez Hammami
11
Convergence théorique du recuit simulé :
De nombreux mathématiciens se sont intéressés à la convergence du recuit vers l’optimum global
[Aarts 85] [Hajek 89]
Principales résultats des études
Sous certaines conditions, le RS converge en probabilité vers un optimum global. ( il permet d’obtenir une solution arbitrairement proche de cet optimum avec une probabilité arbitrairement proche de 1) Ce résultat différencie le RS d’autres heuristiques concurrentes comme la recherche Tabou dont la convergence n’est pas garantie
Condition de convergence
•Réversibilité : le changement inverse de tout mouvement permis doit être permis
•Connexité : tout état du système peut être atteint à partir de n’importe quel état moyennant un nombre fini de changements d’états
Les avantages de cette formalisation
• Elle légitime la décroissance de la température par paliers qui en pratique améliore la vitesse de convergence de l’algorithme
• Elle permet d’établir qu’une solution de bonne qualité peut-être établie par RS en un temps polynomial pour certains problèmes NP-difficiles
12. préparé par Moez Hammami
12
Convergence théorique du recuit simulé :
Autre Formalisation de la convergence [Hajek 88] [Hajek 89]
• L’algorithme converge vers un optimum global avec une probabilité égale à 1 lorsque le temps t tend vers l’infini, la température T(t) ne décroît pas plus vite que C/ log(t), avec C une constante qui est liée à la profondeur des puits d’énergie (ou vallées) du problème.
• Cette formalisation n’est pas utilisée en pratique pour deux raisons
• Il est généralement impossible d’évaluer la profondeur des puits d’énergie du problème
• Cette loi induit un temps de calcul notoirement prohibitif
13. préparé par Moez Hammami
13
Examen des différents composants de l’algorithme Espace des configurations
L’espace des configurations joue un rôle fondamental dans l’éfficacité du RS pour résoudre un problème complexe d’optimisation
Topologie
• Elle résulte de la proximité entre deux configurations . (La distance entre deux configurations représente le nombre minimum de changements élémentaires nécessaires pour passer d’une configuration à l’autre)
•À chaque configuration correspond un coût « énergie »
•L’espace des configurations est caractérisé par un paysage d’énergie
La difficulté du problème d’optimisation réside dans le fait que le paysage d’énergie comporte un grand nombre de vallées plus au moins profondes et plus au moins proches qui correspondent à des minima locaux du coût
L’allure du paysage dépend du choix de la fonction coût et du choix des changements élémentaires Mais l’optimum global dépend essentiellement de la nature du problème considéré et très peu des choix précédents
configuration
14. préparé par Moez Hammami
14
Examen des différents composants de l’algorithme Espace des configurations
Dans [Siarry 89] Il a été démontré qu’un problème apparamment délicat à traiter peut être simplifié par le choix d’une topologie mieux adaptée
•Une fonction coût adaptée
•Une stratégie de choix des changements élémentaires adaptée
Des recherches [Kirkpatrick 85] [Solla 86] se sont penchés sur l’établissement d’une relation entre les propriétés de l’espace de recherche et la convergence du RS Résultats La méthode du RS serait plus efficace pour traiter les problèmes d’optimisation dont les optima locaux les plus bas forment un ensemble très proche
15. préparé par Moez Hammami
15
Examen des différents composants de l’algorithme Règles d’acceptation
Problème !
A basse température, le taux d’acceptation de l’algorithme devient très faible de sorte que la méthode est inéfficace
Solution !! [Siarry 89] substituer à la règle classique de Metropolis une variante accélérée dite de thermostat. Dès que la température d ‘acceptation est tombée trop bas, la température est augmentée Remarque : Cette technique est peu utilisée en pratique.
16. préparé par Moez Hammami
16
Examen des différents composants de l’algorithme Programme du recuit
La vitesse de convergence dépend de:
•l’espace des configurations
•Le programme du recuit
Il s’agit de contrôler au mieux la température du système pour atteindre, le plus vite possible, une bonne solution
Le programme du recuit doit préciser les valeurs des paramètres du recuit suivants
•La température initiale t0
•Le nombre de configurations visitées dans un palier de température
•La loi de décroissance de la température
•Le critère d’arrêt du programme
Absence de résultats théoriques réellement exploitables
Réglage empirique de ces paramètres
? Un bon réglage
17. préparé par Moez Hammami
17
Examen des différents composants de l’algorithme Réglage des paramètres du recuit simulé
1. Définition de la fonction objectif :
•Intégerer certaines contraintes dans la fonction objectif
•d’autres constituent une limitation des perturbations du problème
2. Choix des mécanismes de perturbation d’une “configuration courante” : le calcul de la variation correspondante E de la fonction objectif doit être direct et rapide
3. Détermination de la température initiale T0
Faire 100 perturbations au hazard
Évaluer la moyenne <E> des variations E correspondantes
Choisir un taux initial d’acceptation 0 des « perturbations dégradantes », selon la qualité supposée de la configuration initiale
•Qualité médiocre 0 = 50% (démarrage à haute température)
•Qualité bonne 0 = 20% (démarrage à basse température)
Déduire T0 de la relation e[- <E> /T0] = 0
log (e[- <E> /T0] )= log(0)
[- <E> /T0] = log(0)
T0 = - <E>/ log(0)
18. préparé par Moez Hammami
18
PVC: heuristique 2-opt
i
i+1
j
j+1
i
i+1
j
j+1
Pour calculer la valeur de la variation de la fonction objectif il suffit de calculer distance(i,j)+distance(i+1,j+1) - distance(i,i+1) - distance(j, j+1) les distances sont extraites directement de la matrice des distances
19. préparé par Moez Hammami
19
Examen des différents composants de l’algorithme Réglage des paramètres du recuit simulé
4. Règle d’acceptation de Métropolis:
Si E > 0 tirer un nombre r au hazard dans [0 1] et accepter la perturbation si r < e[- /Température]
5. Changement du palier de température
12 N perturbations acceptées
100 N perturbations tentées
N désignant la taille du problème
6. Décroissance de la température Loi géométrique Tk+1 = 0.9 Tk
7. Arrêt du programme : 3 paliers de température successifs sans aucune acceptation
8. Vérifications indispensables lors des premières exécutions du programme
•Le générateur de nombres réels aléatoires doit être bien uniforme
•La qualité du résultat doit varier peu lorsque le programme est lancé plusieurs fois
•Avec des générateurs de nombres aléatoires différents
•Avec des configurations initiales différentes
9. Variante du programme pour essayer de gagner du temps: Interrompre prématurément le RS et lancer un algorithme d’optimisation locale spécifique au problème pour affiner l’optimum
20. préparé par Moez Hammami
20
Parallélisation du recuit simulé
[Kravitz 86][Roussel-Ragot 86]
Calcul en parallèle de plusieurs configurations d’un même palier Il s’appuie sur la remarque suivante: A basse température le nombre de configurations refusés devient très important. Ces configurations sont indépendantes, donc susceptibles de se dérouler en parallèle. Une stratégie consiste à subdiviser l’algorithme en K processus élémentaires, chargés pour chacun d’eux de :
- Calculer ΔE correspondant à un ou plusieurs mouvements élémentaires
•- Réaliser le test de Metropolis
A haute température
A basse température
1 processus 1 mouvement élémentaire
Exécuter k processus en parallèle
Choisir au hazard parmi celles qui ont été acceptées
Mettre à jour la mémoire contenant la meilleure solution connue avec la nouvelle configuration
Les mouvements acceptés deviennent très rares. Généralement, moins d’une transition acceptée pour K mouvement effectués.
Repeter Chaque processus Calculer ΔE correspondant à une suite de perturbation Jusqu’à ce que l’un des processus accepte une solution Mettre à jour la solution
21. préparé par Moez Hammami
21
Parallélisation du recuit simulé
[Ghédira 93 94]
Autres références [Diekman 92]
Parallèlisation du RS sur des systèmes Multi-processus à mémoire globale ou à mémoires distribuées
Associer le recuit simulé à l’éco-résolution pour les problèmes CSP
Des agents contraintes et des agents variables cherchent à se satisfaire grâce à un dialogue et des décisions basées sur le critères de Metropolis.
22. préparé par Moez Hammami
22
Application aux problèmes d’optimisation et analyse de performance.
Pour le problème du voyageur de commerce, comparé aux techniques classiques, Le RS est moins rapide pour N< 100 plus performant pour N> 800
Autres problèmes "Partitionnement logique", "Couplage Minimal de points", "Affectation quadratique" la comparaison aboutit à des résultats variables selon le problème et les auteurs.
Généralement, les résultats sont à l'avantage du RS pour les exemples de grande taille (quelques centaines de variables).
Inconvénients : temps de calculs élevé.
Même conclusion faite lors de l'application du RS aux problèmes industriels - Placement et routage des circuits électriques.
-Alignements du laser et du fibre optique.
-Problème d’allocation et de séquencement des stations d’inspection dans le domaine du contrôle de qualité
23. préparé par Moez Hammami
23
Conclusions Avantages et faiblesses
Avantages
Faiblesses
RS procure généralement une solution de bonne qualité.
C'est une méthode générale, facile à programmer, applicable à la majorité des problèmes d'optimisation, à condition que l'on puisse calculer ΔE rapidement (éviter de recalculer complètement la fonction objectif après chaque transformation)
Nombre important de paramètres (température initiale, taux de décroissance de la température, durée des paliers de la température, critère d'arrêt du programme)
Réglage souvent empirique des paramètres.
Temps de calculs excessif dans certaines applications
Des efforts pour gommer ces inconvénients sont faits dans la direction de parallélisation de l'algorithme et la prise en considération des progrès effectués par la physique statistique dans l'étude des milieux désordonnés.
24. préparé par Moez Hammami
24
Références bibliographiques
Johann Dréo , Alain Pétrowski , Patrick Siarry , Eric Taillard , Métaheuristiques pour l'optimisation difficile, édition Eyrolles
Khaled Ghédira, Optimisation Combinatoire par Méta heuristiques, Origines Concepts et éléments de base, Algorithmes canoniques et étendus, édition TECHNIP Juillet 2007.