Recuit simulé - reussirlem1info

publicité
Ministère de l’Enseignement Supérieur Et de la Recherche Scientifique
Université des Sciences et de la Technologie d’Oran - Mohamed Boudiaf
Faculté des Sciences - Département d’Informatique
Le recuit simulé
Module : Optimisation Avancée
Master2 RFIA
Présentée par : BENDAHOUA Sarah
Professeur responsable : Mr BENYETTOU Mohamed
2012-2013
Recuit simulé
Sommaire
1. Introduction…………………………………………………………….. 3
2. Historique………………………………………………......................... 4
3. Heuristiques et méta-heuristiques …………………………………..... 4
3.1.
Les heuristiques………………………………………………….. 4
3.2.
Les méta-heuristiques…………………………………………… 4
4. La méthode de descente………………………………………………... 4
5. Définition du recuit simulé……………………………………………. 5
6. Algorithmes……………………………………………………………... 5
6.1.
L’algorithme de Metropolis…………………………………….. 5
6.2.
L’algorithme du recuit simulé………………………………….. 6
6.3.
L’état initial de l’algorithme……………………………………. 7
6.4.
Principes généraux………………………………………………. 7
6.5.
Paramètre de température……………………………………... 8
6.6.
Schéma de refroidissement ………………………………............... 8
7. Exemple d’application…………………………………………............ 9
8. Domaine d’application………………………………………............... 10
9. Avantages et inconvénient…………………………………............... 10
9.1.
Les avantages..………………………………………….............. 10
9.2.
Les inconvénients……………………………………................ 11
10.Conclusion………………………………………………………........... 11
11.Bibliographie…………………………………………………….......... 12
2
Recuit simulé
1. Introduction :
Les problèmes NP-complets d'optimisation combinatoire sont caractérisés par une complexité
exponentielle ou factorielle, par conséquent ; il est impossible d'énumérer toutes les solutions
possibles car cela dépasse la capacité de calcul de n'importe quel ordinateur. Il est donc très
difficile de trouver la solution optimale.
Les méthodes approchées ou heuristiques, sont bien adaptées à un couplage avec un modèle
de simulation de flux et dans les cas ou le problème est complexe avec une très forte
combinatoire. Elles présentent l'avantage d'un temps de calcul réduit mais ne donnent aucune
information sur la qualité de la solution trouvée.
Pour résoudre des problèmes difficiles (par exemple ceux qui présentent de nombreux
extrema locaux pauvres), des techniques ont été conçues pour déterminer des solutions qui ne
sont pas rigoureusement optimales, mais qui s’en approchent. Ces méthodes se basent
généralement sur des phénomènes physiques, biologiques, socio-psychologiques ou font appel
au hasard. Les domaines d’application sont vastes et s’étendent souvent bien au-delà des
problèmes pour lesquels elles ont été initialement conçues.
L’objectif principal est de recenser les méthodes d'optimisation algorithmiques susceptibles
d'améliorer la recherche d'une solution optimale. En effet, comme on l'a vu lors des
expérimentations pour des productions de type multiproduit, il semble être difficile de trouver
par une relation quelconque une solution théorique qui satisfasse les critères. Nous allons
donc plutôt nous diriger vers une approche algorithmique couplée à la simulation, afin
d'optimiser le pilotage de la ligne de production.
Les Métaheuristique sont le plus souvent des recherches locales modifiées pour éviter les
minima locaux. Leur conception commence par l’étude d’une recherche locale classique
(définition d’un voisinage, avec transformations simples), que l’on promeut ensuite en une
méthode plus puissante si elle s’avère insuffisante. Il s’agit de méthodes très générales, dans
lesquelles plusieurs composants doivent être précisés en fonction du problème à traiter. La
méthode du recuit simulé, conçu pour chercher un optimum global parmi plusieurs minimas
locaux.
3
Recuit simulé
2. Historique :

La méthode de recuit simulé réalisées par Metropolis et al. (1953) pour simuler
l'évolution de ce processus de recuit physique (Metropolis53).

Elle a été mise au point par trois chercheurs de la société IBM. Kirkpatrick, C.D. Gelatt
et M.P. Vecchi en 1983 au Etats-Unis, et indépendamment par V. Černy en 1985 en
Slovaquie. L’utilisation pour la résolution des problèmes d'optimisation combinatoire est
beaucoup plus récente.

Le recuit simulé est la première méta-heuristique qui a été proposée.
3. Heuristiques et méta-heuristiques :
3.1. Les heuristiques :
une heuristique est un algorithme qui fournit rapidement (en temps polynomial) une solution
réalisable, pas nécessairement optimale, pour un problème d'optimisation NP-difficile. Une
heuristique, ou méthode approximative, est donc le contraire d'un algorithme exact qui trouve
une solution optimale pour un problème donné.
3.2. Les méta-heuristiques:
Une métaheuristique est un algorithme d’optimisation visant à résoudre des problèmes
d’optimisation difficile (souvent issus des domaines de la recherche opérationnelle, de
l'ingénierie ou de l'intelligence artificielle) pour lesquels on ne connaît pas de méthode
classique plus efficace.
Les métaheuristiques sont généralement des algorithmes stochastiques itératifs, qui
progressent vers un optimum global, c'est-à-dire l'extremum global d'une fonction, par
échantillonnage d’une fonction objectif. Elles se comportent comme des algorithmes de
recherche, tentant d’apprendre les caractéristiques d’un problème afin d’en trouver une
approximation de la meilleure solution (d'une manière proche des algorithmes
d'approximation).
4. La méthode de descente :
La méthode de recherche locale la plus élémentaire est la méthode de descente. On peut la
schématiser comme suit :
Procédure descente_simple (solution initiale s)
Répéter :
Choisir s’ dans N(s)
4
Recuit simulé
Si f(s’) < f(s) alors s ← s’
Jusqu’à ce que f(s’) ≥ f(s),  s’ є S
Fin.
5. Définition du recuit simulé:
Le recuit simulé repose sur une analogie avec la métallurgie et le recuit des métaux : un métal
refroidi trop vite présente de nombreux défauts qui correspondent à des excédents d'énergie
interne. L'objectif du recuit est de minimiser ces excédents de façon à obtenir une
configuration d'énergie minimale. Pour le réaliser, on réchauffe le métal ce qui a pour effet
d'augmenter encore l'énergie interne, mais un réglage judicieux de la température de
refroidissement permet de sortir de l'état initial et d'obtenir finalement une énergie interne
plus faible. L'application de ce principe à l'optimisation est le suivant : Il est possible,
contrairement à un algorithme de recherche locale, d'accepter une dégradation de la fonction
objectif avec une certaine probabilité, sachant que cette dégradation pourra entraîner une
amélioration ultérieurement.
Cette méthode d’optimisation s’appuie sur les travaux de [Metropolis, 1953] qui permettent
de décrire l’évolution de l’équilibre thermodynamique d’un système.
Figure 2 : Recuit simulé. On accepte d’augmenter l’énergie avec la probabilité e-∆E/T, Où T
est la température courante du système.
6. Algorithmes :
6.1. L’algorithme de Metropolis :
Dans l'algorithme de Metropolis, on part d'une configuration donnée, et on lui fait subir
une modification aléatoire. Si cette modification fait diminuer la fonction objectif (ou
5
Recuit simulé
énergie du système), elle est directement acceptée ; Sinon, elle n’est pas acceptée
qu’avec une probabilité égale à 𝐞𝐱𝐩⁡(− ∆𝑬⁄𝑻) (avec E : énergie, et T : température), cette
règle est appelé critère de Metropolis.
6.2. L’algorithme du recuit simulé :
Le
recuit
engendrer
simulé
une
applique
séquence
itérativement
de
l’algorithme
configurations
qui
de
tendent
Metropolis,
vers
pour
l'équilibre
thermodynamique. L’énergie du système est représentée par un réel arbitraire T, la
température. A partir d’une recherche locale quelconque pour un problème, on obtient
une méthode de recuit comme suit :
1) Choisir une température de départ T et une solution initiale s=s0 ;
2) générer une solution aléatoire dans le voisinage de la solution actuelle s0 → s’,
s’ є V(s), au lieu de chercher la meilleur ou la première solution voisine
améliorante comme dans une recherche locale classique ;
3) On calcule la variation de coût ∆ƒ = ƒ(s’) – ƒ(s0) ;
4) Si ∆ƒ ≤ 0, le coût diminue et on effectue la transformation améliorante comme
dans une recherche locale (s 0 :=s’);
5) Si ∆ƒ > 0, le coût remonte, c’est un rebond, qu’on va pénaliser d’autre plus que
la température est basse et que ∆ƒ est grand. Une fonction exponentielle a les
propriétés désirées. On calcule une probabilité d’acceptation a = e
-∆ƒ/T
, puis on
tire au sort p dans [0,1]. Si p ≤ a, la transformation est déclarée acceptée, bien
qu’elle dégrade le coût, et on fait s 0 :=s’. Sinon, la transformation est rejetée : on
garde s pour l’itération suivante.
6) Pour assurer la convergence (analogie de la balle qui rebondit de moins en
moins), T est diminuée lentement à chaque itération, par exemple T :=k.T,
k=0.999 par exemple. On peut aussi décroître T par paliers. Pour être efficace, un
recuit doit diminuer T assez lentement, en plusieurs milliers ou dizaines de
milliers d’itérations. Il dure en tout cas beaucoup plus longtemps qu’une
recherche locale, puisque les transformations améliorante de cette dernière sont
diluées parmi de nombreux rebonds.
6
Recuit simulé
7) On s’arrête quand T atteint un seuil fixe ε, proche de 0.
 Présentation de l’algorithme en pseudo-code (minimisation de f) :
Début
Engendrer la solution initiale s(0)
Mini = s(0)
Répéter
Choix de s(i) є V(s(i))
Calcul de ∆d = f(s(i)) - f(Mini)
Si ∆d < 0
Alors Mini = s(i)
/* idem algorithme de la descente */
Sinon tirer p dans [0,1] suivant une distribution uniforme
Si p ≤ e (-∆d/T)
Alors Mini = s(i)
Sinon s(i) est rejetée
T = g(T)
/* solution moins bonne */
/* avec g décroissante, par exemple T=0.9995 . T */
Jusqu’à ce que T proche de 0
Fin
6.3. Etat initial de l’algorithme :
La solution initiale peut être prise au hasard dans l'espace des solutions possibles. À cette
solution correspond une énergie initiale
. Cette énergie est calculée en fonction du
critère que l'on cherche à optimiser. Une température initiale
élevée est également
choisie. Ce choix est alors totalement arbitraire et va dépendre de la loi de décroissance
utilisée.
6.4. Principes généraux :
• L’idée est d’effectuer un mouvement selon une distribution de probabilité qui dépend de la
qualité des différents voisins :
– Les meilleurs voisins ont une probabilité plus élevée ;
7
Recuit simulé
– Les moins bons ont une probabilité plus faible.
• On utilise un paramètre, appelé la température (notée T) :
– T élevée : tous les voisins ont à peu près la même probabilité d’être acceptés.
– T faible : un mouvement qui dégrade la fonction de coût a une faible probabilité d’être
choisi.
– T=0 : aucune dégradation de la fonction de coût n’est acceptée.
• La température varie au cours de la recherche : T est élevée au début, puis diminue et finit
par tendre vers 0.
6.5. Paramètre de température :
• Le paramètre T (température) est un réel positif.
• La température permet de contrôler l’acceptation des dégradations :
– Si T est grand, les dégradations sont acceptées avec une probabilité plus grande.
– A la limite, quand T tend vers l’infini, tout voisin est systématiquement accepté.
– Inversement, pour T=0, une dégradation n’est jamais acceptée.
• La fonction qui spécifie l’évolution de la température est appelé le schéma de
refroidissement.
6.6. Schéma de refroidissement :
• La fonction qui spécifie l’évolution de la température est appelé le schéma de
refroidissement (cooling schedule).
• Dans le recuit simulé standard la température décroît par paliers.
• Par exemple, on pourrait avoir trois paramètres : la température initiale, la longueur d’un
palier (nombre d’itérations avant de changer la température) et le coefficient de décroissance
(si décroissance géométrique).
• On peut aussi utiliser d’autres schémas de refroidissement :
– On peut faire décroître la température à chaque itération.
– On utilise parfois une température constante (algorithme de Metropolis).
– On peut utiliser des schémas plus complexes, dans lesquels la température peut parfois
remonter.
8
Recuit simulé
7. Exemple d’application :
La méthode la plus utilisée aujourd’hui est celle du « Recuit Simulé » Cette méthode, très
populaire ces dernières années a permis de résoudre des problèmes très complexes du type «
voyageur de commerce » où les méthodes déterministes sont rapidement piégées dans des
minima locaux. L’algorithme va donc tenter de minimiser la longueur totale du chemin, en
modifiant l’ordre des villes à parcourir.
Le but est alors de trouver le circuit hamiltonien de coût minimal dans un graphe.
L’énergie représentera la distance totale à parcourir, et un état du système représentera
le chemin entre les villes.
L’algorithme va donc tenter de minimiser la longueur totale du chemin, en modifiant
l’ordre des villes à parcourir.
Soit le graphe suivant représentant un ensemble de villes :
Figure 3: Un ensemble de villes (nœuds) reliés entre eux par des routes (arcs).
La solution la plus simple est de parcourir les villes dans l’ordre :
Total=26
Figure 4: Une première solution (parcours suivant l'ordre des villes).
Total=21
Figure 5: Le résultat donné par l’algorithme glouton (se délacer d’un sommet vers son plus
9
Recuit simulé
proche voisin).
Total=22
Figure 6: Le résultat obtenu en échangeant les sommets 2 et 3.
Dans la Figure 6 : Le résultat obtenu en échangeant les sommets 2 et 3, la distance
totale a augmenté. Pour une heuristique classique cette solution est rejetée car la
distance
doit
être
minimisée,
mais
le
recuit
simulé
poura l’accepter
si
la
température est encore élevée, et cette solution qui est « mauvaise » par rapport à
la première va lui permettre de trouver une solution meilleure :
Total=18
Figure 7: Le résultat obtenu en échangeant les sommets 5 et 2.
En résumé : Le recuit simulé, en acceptant une mauvaise solution, à réussi à échapper
au minima local et à obtenir une solution meilleure.
8. Domaine d’application :
 L’optimisation combinatoire (ordonnancement)

la CAO (conception de circuits, placement de composants)

Le traitement d'images (restitution d’images brouillées)

Le routage des paquets dans les réseaux ;

Le problème du voyageur de commerce ;

le problème du sac à dos.
➥ Cette méthode est très utilisée dans les milieux industriels.
10
Recuit simulé
9. Avantages et Inconvénients :
9.1. Les avantage :

Le principal avantage du Recuit simulé est donc de pouvoir sortir d'un minimum local, en
fonction d'une probabilité d'acceptation liée à une fonction exponentielle, appelée
transformation de Gibbs-Boltzmann.

Facile à implémenter.

Donne généralement de bonnes solutions par rapport aux algorithmes de recherche
classiques.

Peut être utilisé dans la plupart des problèmes d'optimisation.
9.2. Les inconvénients :

Elle présente l'inconvénient de faire intervenir des paramètres intrinsèques au recuit
simulé: la valeur initiale de la température et le coefficient de décroissance de la
température. présente plusieurs modèles de recuit en fonction de ses différents
paramètres.

non-convergence vers l'optimum peut se rencontrer assez vite.

L'impossibilité de savoir si la solution trouvée est optimale.

Dégradation des performances pour les problèmes où il y a peu de minimas
locaux (comparé avec les heuristiques classiques comme la descente du gradient
par exemple).

La difficulté de déterminer la température initiale.

Très coûteuse en temps de calcul.
10. Conclusion :
Nous avons vu que les heuristiques classiques n'étaient pas très satisfaisantes pour
résoudre les problèmes d’optimisation, car les solutions générées n’étaient pas de bonne
qualité. L’intelligence artificielle s’est donc tournée vers la nature pour créer de
nouvelles méthodes : plus générales et plus efficaces. On peut dire que le recuit simulé
est une bonne solution pour trouver des solutions acceptables à certains problèmes NP
complets, en particulier le problème du voyageur de commerce.
11
Recuit simulé
11. Bibliographie :

Marie-Éléonore Marmion. Recherche locale et optimisation combinatoire : De
l’analyse structurelle d’un problème à la conception d’algorithmes efficaces.
Université Lille 1, École Doctorale Sciences Pour l’Ingénieur Université Lille Nordde-France Laboratoire d’Informatique Fondamentale de Lille (UMR CNRS 8022)
Centre de Recherche INRIA Lille - Nord Europe. 2011.

Algorithmes de minimisation Sébastien Charnoz & Adrian Daerr Université Paris 7
Denis Diderot CEA Sacla.

AI Methods - Simulated Annealing [Rapport] : complément de cours / aut. Kendall
Graham / CS - Nottingham University.

Les métaheuristiques en optimisation combinatoire [Rapport] : Mémoire de fin
d'etudes / aut. Autin Baptiste / Conservatoire National Des Arts et Metiers. - PARIS :
[s.n.], 2006.

Méthode du recuit simulé [Rapport] : complément TD/TP Recherche stochastique /
aut. Olivier D.. - 2001.

Optimization by Simulated Annealing [Article] / aut. Kirkpatrick, Gelatt et Vecchi //
Science,New Series. - 13 Mai 1988. - 4598. - pp. 671-680.

Simulated Annealing [Rapport] / aut. LIACS / Natural Computing Group; Leiden
University. -2009.

http://fr.wikipedia.org/w/index.php?title=Recuit_simulé&oldid=81934443.

Algorithmes de graphes. Philippe Lacomme – Christian Prins – Marcs Servaux. 2e
édition 2003.
12
Téléchargement