chapitre 2 le recuit simulé
TRANSCRIPT
préparé par Moez Hammami 1
le Recuit Simulé
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
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
Fo
nctio
n O
bje
ctif
configurations
Optimum local Optimum global
Inspirée par la technique expérimentale du recuit dans la métallurgie
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é
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
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
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
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
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
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
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
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
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
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
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.
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
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)
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
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
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
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.
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é
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.
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.