ii- lalgorithme du recuit simulé (pseudo-code) i := i 0 (* solution initiale *) t := t 0 (*...

27
II- L’algorithme du recuit simulé (pseudo-code) i := i 0 (* Solution initiale *) T := T 0 (* 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 Δe ij = e(j) - e(i) Si Δe ij < 0 alors i := j Sinon i := j avec une proba de exp(-Δe ij / T) Fin si Fin tant que Abaisser T Fin tant que

Upload: louise-bonhomme

Post on 04-Apr-2015

136 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: II- Lalgorithme du recuit simulé (pseudo-code) i := i 0 (* Solution initiale *) T := T 0 (* Température initiale *) Tant que la condition d'arrêt n'est

II- L’algorithme du recuit simulé(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 atteinteGénérer nouvelle solution jΔeij = e(j) - e(i)Si Δeij < 0 alors

i := jSinon

i := j avec une proba de exp(-Δeij / T)

Fin siFin tant queAbaisser T

Fin tant que

Page 2: II- Lalgorithme du recuit simulé (pseudo-code) i := i 0 (* Solution initiale *) T := T 0 (* Température initiale *) Tant que la condition d'arrêt n'est

III – Convergence Asymptotique

1 – Chaînes de Markov2 – Conditions de convergence

Page 3: II- Lalgorithme du recuit simulé (pseudo-code) i := i 0 (* Solution initiale *) T := T 0 (* Température initiale *) Tant que la condition d'arrêt n'est

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 :

Page 4: II- Lalgorithme du recuit simulé (pseudo-code) i := i 0 (* Solution initiale *) T := T 0 (* Température initiale *) Tant que la condition d'arrêt n'est

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

Page 5: II- Lalgorithme du recuit simulé (pseudo-code) i := i 0 (* Solution initiale *) T := T 0 (* Température initiale *) Tant que la condition d'arrêt n'est

IV – Paramètres de l’algorithme

1 – Température initiale2 – Modification de la température3 – Cas d’arrêt

Page 6: II- Lalgorithme du recuit simulé (pseudo-code) i := i 0 (* Solution initiale *) T := T 0 (* Température initiale *) Tant que la condition d'arrêt n'est

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

Page 7: II- Lalgorithme du recuit simulé (pseudo-code) i := i 0 (* Solution initiale *) T := T 0 (* Température initiale *) Tant que la condition d'arrêt n'est

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

Page 8: II- Lalgorithme du recuit simulé (pseudo-code) i := i 0 (* Solution initiale *) T := T 0 (* Température initiale *) Tant que la condition d'arrêt n'est

Condition d’arrêt

• le système devient figé => plus de permutations depuis 3 paliers

• le seuil fixé est atteint

Page 9: II- Lalgorithme du recuit simulé (pseudo-code) i := i 0 (* Solution initiale *) T := T 0 (* Température initiale *) Tant que la condition d'arrêt n'est

V - Amélioration du recuit simulé

1 - Recuit simulé parallèle2 - Recuit simulé distribué

Page 10: II- Lalgorithme du recuit simulé (pseudo-code) i := i 0 (* Solution initiale *) T := T 0 (* Température initiale *) Tant que la condition d'arrêt n'est

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

Page 11: II- Lalgorithme du recuit simulé (pseudo-code) i := i 0 (* Solution initiale *) T := T 0 (* Température initiale *) Tant que la condition d'arrêt n'est

Architecture « Fermier/Travailleurs »

Processeurfermier

Processeurtravailleur

ProcesseurtravailleurProcesseur

travailleur

Génération de configurations voisines par le processeur Fermer

Page 12: II- Lalgorithme du recuit simulé (pseudo-code) i := i 0 (* Solution initiale *) T := T 0 (* Température initiale *) Tant que la condition d'arrêt n'est

Architecture « Fermier/Travailleurs »

Processeurfermier

Processeurtravailleur

ProcesseurtravailleurProcesseur

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.

Page 13: II- Lalgorithme du recuit simulé (pseudo-code) i := i 0 (* Solution initiale *) T := T 0 (* Température initiale *) Tant que la condition d'arrêt n'est

Recuit simulé distribué

• Subdiviser l’espace de recherche en sous-

espaces

• Dégager des tâches ou des rôles bien

déterminés

Page 14: II- Lalgorithme du recuit simulé (pseudo-code) i := i 0 (* Solution initiale *) T := T 0 (* Température initiale *) Tant que la condition d'arrêt n'est

VI - Applications

1 - Voyageur de commerce2 - Autres applications

Page 15: II- Lalgorithme du recuit simulé (pseudo-code) i := i 0 (* Solution initiale *) T := T 0 (* Température initiale *) Tant que la condition d'arrêt n'est

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 0,8 3 1,5 1,6 2,2 0,3 3

Y 0,3 1 1,8 2,3 3 1,8 1,6 0,9 0,4 0,3

Page 16: II- Lalgorithme du recuit simulé (pseudo-code) i := i 0 (* Solution initiale *) T := T 0 (* Température initiale *) Tant que la condition d'arrêt n'est

Etat initial aléatoire

- Coût initiale : 33,1

Problème du voyageur de commerce

X 3 0,8 2,5 0,8 3 1,5 1,6 2,2 0,3 3

Y 0,3 1 1,8 2,3 3 1,8 1,6 0,9 0,4 0,3

Chainage des sommets

Page 17: II- Lalgorithme du recuit simulé (pseudo-code) i := i 0 (* Solution initiale *) T := T 0 (* Température initiale *) Tant que la condition d'arrêt n'est

X 3 0,3 0,8 2,5 0,8 3 1,5 1,6 2,2 3

Y 0,3 0,4 1 1,8 2,3 3 1,8 1,6 0,9 0,3

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.

Problème du voyageur de commerce

X 3 0,8 2,5 0,8 3 1,5 1,6 2,2 0,3 3

Y 0,3 1 1,8 2,3 3 1,8 1,6 0,9 0,4 0,3

Page 18: II- Lalgorithme du recuit simulé (pseudo-code) i := i 0 (* Solution initiale *) T := T 0 (* Température initiale *) Tant que la condition d'arrêt n'est

Nouvel état obtenue

- Coût à l’étape 1 : 25,5

Problème du voyageur de commerce

X 3 0,3 0,8 2,5 0,8 3 1,5 1,6 2,2 3

Y 0,3 0,4 1 1,8 2,3 3 1,8 1,6 0,9 0,3

Page 19: II- Lalgorithme du recuit simulé (pseudo-code) i := i 0 (* Solution initiale *) T := T 0 (* Température initiale *) Tant que la condition d'arrêt n'est

X 3 0,3 0,8 0,8 3 1,5 1,6 2,5 2,2 3

Y 0,3 0,4 1 2,3 3 1,8 1,6 1,8 0,9 0,3

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.

Problème du voyageur de commerce

X 3 0,3 0,8 2,5 0,8 3 1,5 1,6 2,2 3

Y 0,3 0,4 1 1,8 2,3 3 1,8 1,6 0,9 0,3

Page 20: II- Lalgorithme du recuit simulé (pseudo-code) i := i 0 (* Solution initiale *) T := T 0 (* Température initiale *) Tant que la condition d'arrêt n'est

Nouvel état obtenue

- Coût à l’étape 2 : 21,42

Problème du voyageur de commerce

X 3 0,3 0,8 0,8 3 1,5 1,6 2,5 2,2 3

Y 0,3 0,4 1 2,3 3 1,8 1,6 1,8 0,9 0,3

Page 21: II- Lalgorithme du recuit simulé (pseudo-code) i := i 0 (* Solution initiale *) T := T 0 (* Température initiale *) Tant que la condition d'arrêt n'est

X 3 0,3 0,8 1,6 0,8 3 1,5 2,5 2,2 3

Y 0,3 0,4 1 1,6 2,3 3 1,8 1,8 0,9 0,3

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)

Problème du voyageur de commerce

X 3 0,3 0,8 0,8 3 1,5 1,6 2,5 2,2 3

Y 0,3 0,4 1 2,3 3 1,8 1,6 1,8 0,9 0,3

Page 22: II- Lalgorithme du recuit simulé (pseudo-code) i := i 0 (* Solution initiale *) T := T 0 (* Température initiale *) Tant que la condition d'arrêt n'est

Nouvel état obtenue

- Coût à l’étape 3 : 21,96

Problème du voyageur de commerce

X 3 0,3 0,8 1,6 0,8 3 1,5 2,5 2,2 3

Y 0,3 0,4 1 1,6 2,3 3 1,8 1,8 0,9 0,3

Page 23: II- Lalgorithme du recuit simulé (pseudo-code) i := i 0 (* Solution initiale *) T := T 0 (* Température initiale *) Tant que la condition d'arrêt n'est

X 3 0,3 0,8 1,6 1,5 0,8 3 2,5 2,2 3

Y 0,3 0,4 1 1,6 1,8 2,3 3 1,8 0,9 0,3

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.

Problème du voyageur de commerce

X 3 0,3 0,8 1,6 0,8 3 1,5 2,5 2,2 3

Y 0,3 0,4 1 1,6 2,3 3 1,8 1,8 0,9 0,3

Page 24: II- Lalgorithme du recuit simulé (pseudo-code) i := i 0 (* Solution initiale *) T := T 0 (* Température initiale *) Tant que la condition d'arrêt n'est

Nouvel état obtenue

- Coût à l’étape 4 : 18,62

Problème du voyageur de commerce

X 3 0,3 0,8 1,6 1,5 0,8 3 2,5 2,2 3

Y 0,3 0,4 1 1,6 1,8 2,3 3 1,8 0,9 0,3

Page 25: II- Lalgorithme du recuit simulé (pseudo-code) i := i 0 (* Solution initiale *) T := T 0 (* Température initiale *) Tant que la condition d'arrêt n'est

Problème du voyageur de commerce (2)

Page 26: II- Lalgorithme du recuit simulé (pseudo-code) i := i 0 (* Solution initiale *) T := T 0 (* Température initiale *) Tant que la condition d'arrêt n'est

Problème du voyageur de commerce (2)

Page 27: II- Lalgorithme du recuit simulé (pseudo-code) i := i 0 (* Solution initiale *) T := T 0 (* Température initiale *) Tant que la condition d'arrêt n'est

Autres applications

• Placement des composants sur une carte électronique

• K-partitionnement de graphes• Truc• Bidule• Construction d’images

Exemple.avi