chapitre 2 le recuit simulé

24
préparé par Moez Hammami 1 le Recuit Simulé

Upload: achraf-manaa

Post on 16-Jul-2015

560 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Chapitre 2 le recuit simulé

préparé par Moez Hammami 1

le Recuit Simulé

Page 2: Chapitre 2 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

Page 3: Chapitre 2 le recuit simulé

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

Page 4: Chapitre 2 le recuit simulé

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é

Page 5: Chapitre 2 le recuit simulé

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

Page 6: Chapitre 2 le recuit simulé

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

Page 7: Chapitre 2 le recuit simulé

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

Page 8: Chapitre 2 le recuit simulé

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

Page 9: Chapitre 2 le recuit simulé

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

Page 10: Chapitre 2 le recuit simulé

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

Page 11: Chapitre 2 le recuit simulé

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

Page 12: Chapitre 2 le recuit simulé

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

Page 13: Chapitre 2 le recuit simulé

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

Page 14: Chapitre 2 le recuit simulé

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

Page 15: Chapitre 2 le recuit simulé

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.

Page 16: Chapitre 2 le recuit simulé

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

Page 17: Chapitre 2 le recuit simulé

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)

Page 18: Chapitre 2 le recuit simulé

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

Page 19: Chapitre 2 le recuit simulé

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

Page 20: Chapitre 2 le recuit simulé

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

Page 21: Chapitre 2 le recuit simulé

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.

Page 22: Chapitre 2 le recuit simulé

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é

Page 23: Chapitre 2 le recuit simulé

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.

Page 24: Chapitre 2 le recuit simulé

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.