SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
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 
Fonction Objectif 
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.

Weitere ähnliche Inhalte

Was ist angesagt?

Algorithme génétique
Algorithme génétiqueAlgorithme génétique
Algorithme génétiqueIlhem Daoudi
 
Chapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court cheminChapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court cheminSana Aroussi
 
rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATSiwar GUEMRI
 
Intelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes expertsIntelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes expertsMohamed Heny SELMI
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite completChahrawoods Dmz
 
Réseaux de neurones récurrents et LSTM
Réseaux de neurones récurrents et LSTMRéseaux de neurones récurrents et LSTM
Réseaux de neurones récurrents et LSTMJaouad Dabounou
 
Rapport de Mémoire Master Recherche
Rapport de Mémoire Master RechercheRapport de Mémoire Master Recherche
Rapport de Mémoire Master RechercheRouâa Ben Hammouda
 
Apprentissage supervisé.pdf
Apprentissage supervisé.pdfApprentissage supervisé.pdf
Apprentissage supervisé.pdfhanamettali
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivitéSana Aroussi
 
Machine Learning et Intelligence Artificielle
Machine Learning et Intelligence ArtificielleMachine Learning et Intelligence Artificielle
Machine Learning et Intelligence ArtificielleSoft Computing
 
Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats Ayed CHOKRI
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLwebreaker
 
Chapitre vi np complétude
Chapitre vi np complétudeChapitre vi np complétude
Chapitre vi np complétudeSana Aroussi
 
Algorithme Colonie de fourmis
Algorithme Colonie de fourmisAlgorithme Colonie de fourmis
Algorithme Colonie de fourmiskamar MEDDAH
 
Mon Projet Fin d'étude: Conception et développement d'une application de géol...
Mon Projet Fin d'étude: Conception et développement d'une application de géol...Mon Projet Fin d'étude: Conception et développement d'une application de géol...
Mon Projet Fin d'étude: Conception et développement d'une application de géol...rim elaire
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Sofien Benrhouma
 
Intelligence Artificielle: résolution de problèmes en Prolog ou Prolog pour l...
Intelligence Artificielle: résolution de problèmes en Prolog ou Prolog pour l...Intelligence Artificielle: résolution de problèmes en Prolog ou Prolog pour l...
Intelligence Artificielle: résolution de problèmes en Prolog ou Prolog pour l...Jean Rohmer
 

Was ist angesagt? (20)

Algorithme génétique
Algorithme génétiqueAlgorithme génétique
Algorithme génétique
 
Chapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court cheminChapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court chemin
 
rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSAT
 
Intelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes expertsIntelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes experts
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
 
Réseaux de neurones récurrents et LSTM
Réseaux de neurones récurrents et LSTMRéseaux de neurones récurrents et LSTM
Réseaux de neurones récurrents et LSTM
 
Rapport de Mémoire Master Recherche
Rapport de Mémoire Master RechercheRapport de Mémoire Master Recherche
Rapport de Mémoire Master Recherche
 
Apprentissage supervisé.pdf
Apprentissage supervisé.pdfApprentissage supervisé.pdf
Apprentissage supervisé.pdf
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 
Diviser Pour Régner
Diviser Pour RégnerDiviser Pour Régner
Diviser Pour Régner
 
Modele rapport pfe esprit
Modele rapport pfe  espritModele rapport pfe  esprit
Modele rapport pfe esprit
 
Machine Learning et Intelligence Artificielle
Machine Learning et Intelligence ArtificielleMachine Learning et Intelligence Artificielle
Machine Learning et Intelligence Artificielle
 
Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQL
 
Chapitre vi np complétude
Chapitre vi np complétudeChapitre vi np complétude
Chapitre vi np complétude
 
Algorithme Colonie de fourmis
Algorithme Colonie de fourmisAlgorithme Colonie de fourmis
Algorithme Colonie de fourmis
 
Mon Projet Fin d'étude: Conception et développement d'une application de géol...
Mon Projet Fin d'étude: Conception et développement d'une application de géol...Mon Projet Fin d'étude: Conception et développement d'une application de géol...
Mon Projet Fin d'étude: Conception et développement d'une application de géol...
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
 
Intelligence Artificielle: résolution de problèmes en Prolog ou Prolog pour l...
Intelligence Artificielle: résolution de problèmes en Prolog ou Prolog pour l...Intelligence Artificielle: résolution de problèmes en Prolog ou Prolog pour l...
Intelligence Artificielle: résolution de problèmes en Prolog ou Prolog pour l...
 

Andere mochten auch

Simulated annealing -a informative approach
Simulated annealing -a informative approachSimulated annealing -a informative approach
Simulated annealing -a informative approachRanak Ghosh
 
Optimization Simulated Annealing
Optimization Simulated AnnealingOptimization Simulated Annealing
Optimization Simulated AnnealingUday Wankar
 
Metaheurística Simulated Annealing
Metaheurística Simulated AnnealingMetaheurística Simulated Annealing
Metaheurística Simulated AnnealingMarcos Castro
 
Simulated Annealing
Simulated AnnealingSimulated Annealing
Simulated Annealingkellison00
 
Simulated annealing.ppt
Simulated annealing.pptSimulated annealing.ppt
Simulated annealing.pptKaal Nath
 
Simulated Annealing - A Optimisation Technique
Simulated Annealing - A Optimisation TechniqueSimulated Annealing - A Optimisation Technique
Simulated Annealing - A Optimisation TechniqueAUSTIN MOSES
 

Andere mochten auch (8)

Simulated annealing
Simulated annealingSimulated annealing
Simulated annealing
 
Simulated annealing -a informative approach
Simulated annealing -a informative approachSimulated annealing -a informative approach
Simulated annealing -a informative approach
 
Optimization Simulated Annealing
Optimization Simulated AnnealingOptimization Simulated Annealing
Optimization Simulated Annealing
 
Tabu search
Tabu searchTabu search
Tabu search
 
Metaheurística Simulated Annealing
Metaheurística Simulated AnnealingMetaheurística Simulated Annealing
Metaheurística Simulated Annealing
 
Simulated Annealing
Simulated AnnealingSimulated Annealing
Simulated Annealing
 
Simulated annealing.ppt
Simulated annealing.pptSimulated annealing.ppt
Simulated annealing.ppt
 
Simulated Annealing - A Optimisation Technique
Simulated Annealing - A Optimisation TechniqueSimulated Annealing - A Optimisation Technique
Simulated Annealing - A Optimisation Technique
 

Ähnlich wie Chapitre 2 le recuit simulé

Ähnlich wie Chapitre 2 le recuit simulé (6)

Introduction à la théorie de graphes et application
Introduction à la théorie de graphes et applicationIntroduction à la théorie de graphes et application
Introduction à la théorie de graphes et application
 
Chapitre3 conf th
Chapitre3 conf thChapitre3 conf th
Chapitre3 conf th
 
RAPP-THERMO.pdf
RAPP-THERMO.pdfRAPP-THERMO.pdf
RAPP-THERMO.pdf
 
Gpao 6 - Ordonnancement
Gpao 6 - OrdonnancementGpao 6 - Ordonnancement
Gpao 6 - Ordonnancement
 
Presentation Internship Cythelia
Presentation Internship CytheliaPresentation Internship Cythelia
Presentation Internship Cythelia
 
Approximation de ritter
Approximation de ritterApproximation de ritter
Approximation de ritter
 

Chapitre 2 le recuit simulé

  • 1. préparé par Moez Hammami 1 le Recuit Simulé
  • 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.