Recuit simulé Une métaheuristique venue de la métallurgie. Jean-Frédéric Berthelot, Paul-Alain Bugnard, Camille Capelle, Sébastien Castiel, Marion Floury, Chris Hervieux
Recuit réel Matériau en fusion, à haute température Refroidissement lent, par paliers Désordre => Ordre Minimisation de l’énergie
Analogie Optimisation Système physique Fonction objectif Trouver une bonne configuration Système physique Energie libre Trouver les états de basse énergie
Avantages & inconvénients Convergence Ne bloque pas sur un minimum local Inconvénients Choix initial des paramètres
Algorithme (pseudo-code) i := i0 (* Solution initiale *) T := T0 (* Température initiale *) Tant que la condition d'arrêt n'est pas vérifiée Tant que la fin du pallier n'est pas atteinte Générer nouvelle solution j Δeij = e(j) - e(i) Si Δeij < 0 alors i := j Sinon i := j avec une proba de exp(-Δeij / T) Fin si Fin tant que Abaisser T Fin tant que
Convergence Asymptotique Chaînes de Markov Conditions de convergence
Chaînes de Markov Une variable aléatoire X est dite chaîne de Markov si : Une Chaîne de Markov est dite homogène si :
Conditions de convergence Chaque chaîne de Markov homogène est de longueur fini Les chaînes de Markov sont irréductibles et apériodiques Seules les configurations d’énergie minimale ont une probabilité d’existence non nulle quand T tend vers 0 -> Convergence vers des solutions optimales globales asymptotique
Paramètres de l’algorithme 1 – Température initiale 2 – Modification de la température 3 – Cas d’arrêt
Valeur initiale de la température On fait 100 perturbations et on évalue la moyenne des variations d’énergie. On choisie un taux initiale d’acceptation selon la qualité supposé de la situation initiale On déduit T0 de la relation de Metropolis T0 = -ΔE /ln τ0
Modification de la température Paliers de température 12XN perturbations sont acceptées 100XN perturbations sont refusées Loi de décroissance Géométrique : Tk+1 = 0,9xTk Arithmétique : Tk+1 = Tk - 1
Condition d’arrêt le système devient figé => plus de permutations depuis 3 paliers le seuil fixé est atteint
V - Amélioration du recuit simulé Recuit simulé parallèle Recuit simulé distribué
Recuit simulé parallèle Plusieurs solutions sont possibles : Architecture « Fermier/Travailleurs » proposée par Baiardi et Orlando Architecture « Une-chaîne » proposée par Aarts Architecture « Chaînes-Parallèles » proposée par Aarts
Architecture « Fermier/Travailleurs » Processeur travailleur Génération de configurations voisines par le processeur Fermer
Architecture « Fermier/Travailleurs » Processeur travailleur Un processeur détecte une configuration acceptable il en informe le processeur fermier. Le processeur fermier effectue la mise à jour globale du système.
Recuit simulé distribué Subdiviser l’espace de recherche en sous-espaces Dégager des tâches ou des rôles bien déterminés
VI - Applications 1 - Voyageur de commerce 2 - Autres applications
Problème du voyageur de commerce Il faut définir : L’état initial La fonction de coût L’évolution de T° Une modification élémentaire. X 3 0,8 2,5 1,5 1,6 2,2 0,3 Y 1 1,8 2,3 0,9 0,4
Problème du voyageur de commerce Etat initial aléatoire - Coût initiale : 33,1 X 3 0,8 2,5 1,5 1,6 2,2 0,3 Y 1 1,8 2,3 0,9 0,4 Chainage des sommets
Problème du voyageur de commerce 1ère étape On sélectionne une transformation. On calcule le coût associé C = 25,5 Comme le nouveau coût est plus petit, on applique la transformation. X 3 0,8 2,5 1,5 1,6 2,2 0,3 Y 1 1,8 2,3 0,9 0,4 X 3 0,3 0,8 2,5 1,5 1,6 2,2 Y 0,4 1 1,8 2,3 0,9
Problème du voyageur de commerce Nouvel état obtenue - Coût à l’étape 1 : 25,5 X 3 0,3 0,8 2,5 1,5 1,6 2,2 Y 0,4 1 1,8 2,3 0,9
Problème du voyageur de commerce 2ème étape On sélectionne une autre transformation. On calcule le coût associé C = 21,42 Comme le nouveau coût est plus petit, on applique la transformation. X 3 0,3 0,8 2,5 1,5 1,6 2,2 Y 0,4 1 1,8 2,3 0,9 X 3 0,3 0,8 1,5 1,6 2,5 2,2 Y 0,4 1 2,3 1,8 0,9
Problème du voyageur de commerce Nouvel état obtenue - Coût à l’étape 2 : 21,42 X 3 0,3 0,8 1,5 1,6 2,5 2,2 Y 0,4 1 2,3 1,8 0,9
Problème du voyageur de commerce 3ème étape On sélectionne une autre transformation. On calcule le coût associé C = 21,96 Le nouveau coût est plus grand. On applique la transformation avec une certaine P(T°,E) X 3 0,3 0,8 1,5 1,6 2,5 2,2 Y 0,4 1 2,3 1,8 0,9 X 3 0,3 0,8 1,6 1,5 2,5 2,2 Y 0,4 1 2,3 1,8 0,9
Problème du voyageur de commerce Nouvel état obtenue - Coût à l’étape 3 : 21,96 X 3 0,3 0,8 1,6 1,5 2,5 2,2 Y 0,4 1 2,3 1,8 0,9
Problème du voyageur de commerce 4ème étape On sélectionne une autre transformation. On calcule le coût associé C = 18,62 Comme le nouveau coût est plus petit, on applique la transformation. X 3 0,3 0,8 1,6 1,5 2,5 2,2 Y 0,4 1 2,3 1,8 0,9 X 3 0,3 0,8 1,6 1,5 2,5 2,2 Y 0,4 1 1,8 2,3 0,9
Problème du voyageur de commerce Nouvel état obtenue - Coût à l’étape 4 : 18,62 X 3 0,3 0,8 1,6 1,5 2,5 2,2 Y 0,4 1 1,8 2,3 0,9
Problème du voyageur de commerce (2)
Problème du voyageur de commerce (2)
Autres applications Placement des composants sur une carte électronique K-partitionnement de graphes Organisation de réseaux informatiques Reconstruction d’images