0% ont trouvé ce document utile (0 vote)
359 vues19 pages

Algorithme de recuit simulé

Transféré par

Nour El Houda
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
359 vues19 pages

Algorithme de recuit simulé

Transféré par

Nour El Houda
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Algorithmes de descente randomise et de recuit simul

INF6953

Le recuit simul

Sommaire
Pour faire mieux que la descente avec relances Lalgorithme damlioration itrative randomise Lalgorithme de recuit simul : historique Schma dalgorithme de recuit simul Le critre de Metropolis Paramtre de temprature Schma de refroidissement Rglage des paramtres du recuit simul Algorithmes dacceptation avec seuil

INF6953

Le recuit simul

Pour faire mieux que la descente avec relances


On sinspire du principe de lalgorithme de descente, mais on ajoute en permanence de lalatoire en permettant certains mouvements qui dgradent la fonction de cot. Ide 1 : On panache les itrations qui effectuent des mouvements de descente avec dautres qui effectuent des mouvements alatoires : algorithme de descente randomise. Ide 2 : Lors dune itration, on tend prfrer les mouvements qui amliorent mais on peut accepter des mouvements qui dgradent la fonction de cot : algorithme du recuit simul, dacceptation avec seuil.

INF6953

Le recuit simul

Lalgorithme damlioration itrative randomise


Lide consiste panacher les itrations qui effectuent des mouvements de descentes avec dautres qui effectuent des mouvements alatoires. Selon une certaine probabilit p (paramtre de la mthode), on effectue un mouvement alatoire. Sinon, on effectue un mouvement de descente. Le paramtre p (compris entre 0 et 1) dtermine le degr de randomisation p=0 : que des mouvements de descente = pure descente p=1 : que des mouvements alatoires = marche alatoire

INF6953

Le recuit simul

Lalgorithme damlioration itrative randomise


Mouvement de descente = meilleure amlioration ou premire amlioration (ou ). Cette technique a t principalement applique dans le cas de la rsolution des CSP avec la technique dite de Min-Conflict+Random Walk (MC+RW). Dans MC+RW, les mouvements de descentes sont des mouvements de type Min-Conflict.

INF6953

Le recuit simul

Schma de lalgorithme damlioration itrative randomise


Engendrer une configuration initiale S0 S := S0 Rpter Selon une probabilit p, appliquer un mouvement alatoire S Sinon, appliquer un mouvement de descente S Jusqu <condition fin> Retourner la meilleure configuration trouve

INF6953

Le recuit simul

Lalgorithme de recuit simul : historique


Le recuit physique Ce processus est utilis en mtallurgie pour amliorer la qualit d'un solide. On cherche atteindre un tat d'nergie minimale qui correspond une structure stable du mtal. En partant d'une haute temprature laquelle la matire est devenue liquide, la phase de refroidissement conduit la matire retrouver sa forme solide par une diminution progressive de la temprature.

INF6953

Le recuit simul

Lalgorithme de recuit simul : historique


Le recuit simul (Simulated Annealing) Expriences ralises par Metropolis et al. dans les annes 50 pour simuler l'volution de ce processus de recuit physique (Metropolis53). Lutilisation pour la rsolution des problmes d'optimisation combinatoire est beaucoup plus rcente et date des annes 80 (Kirkpatrick83,Cerny85). Le recuit simul est la premire mtaheuristique qui a t propose.

INF6953

Le recuit simul

Principes gnraux
Lide est deffectuer un mouvement selon une distribution de probabilit qui dpend de la qualit des diffrents voisins : Les meilleurs voisins ont une probabilit plus leve ; Les moins bons ont une probabilit plus faible. On utilise un paramtre, appel la temprature (note T) : T leve : tous les voisins ont peu prs la mme probabilit dtre accepts. T faible : un mouvement qui dgrade la fonction de cot a une faible probabilit dtre choisi. T=0 : aucune dgradation de la fonction de cot nest accepte. La temprature varie au cours de la recherche : T est leve au dbut, puis diminue et finit par tendre vers 0.
Le recuit simul 9

INF6953

Schma dalgorithme de recuit simul


Engendrer une configuration initiale S0 de S ; S := S0 Initialiser T en fonction du schma de refroissement Rpter Engendrer un voisin alatoire S de S Calculer = f(S) f(S) Si CritMetropolis(, T), alors S := S Mettre T jour en fonction du schma de refroissement Jusqu <condition fin> Retourner la meilleure configuration trouve

INF6953

Le recuit simul

10

Le critre de Metropolis
fonction CritMetropolis (, T) Si 0 renvoyer VRAI Sinon - avec une probabilit de exp( - / T ) renvoyer VRAI - Sinon renvoyer FAUX Un voisin qui amliore (<0) ou cot gal (=0) est toujours accept. Une dgradation faible est accepte avec une probabilit plus grande quune dgradation plus importante. La fonction CritMetropolis(d, T) est une fonction stochastique : appele deux fois avec les mmes arguments, elle peut renvoyer tantt vrai et tantt faux.
Le recuit simul 11

INF6953

Paramtre de temprature
Dans la fonction CritMetropolis(, T), le paramtre T (temprature) est un rel positif. La temprature permet de contrler lacceptation des dgradations : Si T est grand, les dgradations sont acceptes avec une probabilit plus grande. A la limite, quand T tend vers linfini, tout voisin est systmatiquement accept. Inversement, pour T=0, une dgradation nest jamais accepte. La fonction qui spcifie lvolution de la temprature est appel le schma de refroidissement.

INF6953

Le recuit simul

12

Schma de refroidissement
La fonction qui spcifie lvolution de la temprature est appel le schma de refroidissement (cooling schedule). Dans le recuit simul standard la temprature dcrot par paliers. Par exemple, on pourrait avoir trois paramtres : la temprature initiale, la longueur dun palier (nombre ditrations avant de changer la temprature) et le coefficient de dcroissance (si dcroissance gomtrique). On peut aussi utiliser dautres schmas de refroidissement : On peut faire dcrotre la temprature chaque itration. On utilise parfois une temprature constante (algorithme de Metropolis). On peut utiliser des schmas plus complexes, dans lesquels la temprature peut parfois remonter.
Le recuit simul 13

INF6953

Algorithme de recuit simul (avec paliers et refroidissement gomtrique)


Engendrer une configuration initiale S0 ; S := S0 T := T0 Rpter nb_moves := 0 Pour i := 1 iter_palier Engendrer un voisin S de S Calculer = f(S) f(S) Si CritMetropolis(, T), alors S := S; nb_moves := nb_moves + 1 acceptance_rate := i / nb_moves T := T * coeff Jusqu <condition fin> Retourner la meilleure configuration trouve
Le recuit simul 14

INF6953

Rglage des paramtres du recuit simul


Dans le cas du recuit simul classique (avec refroidissement), le rglage des paramtres nest pas vident. Pour rgler les paramtres, il peut tre utile dobserver le pourcentage dacceptation (acceptance rate) au cours de la recherche = nombre de mouvements rellement excuts / nombre ditrations Temprature initiale : Si la temprature initiale est trop leve, le dbut de la recherche ne sert rien. Critre darrt : Il est inutile de poursuivre si le pourcentage dacceptation devient trs faible, la fonction dvaluation cesse dvoluer

INF6953

Le recuit simul

15

Rglage des paramtres du recuit simul : implantation de Johnson et al


Temprature initiale Un paramtre fixe le pourcentage dacceptation initial. Longueur dun palier Un paramtre borne le nombre dessais (itrations) par palier Un autre paramtre borne le nombre changements (mouvements) pour le dbut de la recherche Critre darrt Un compteur sert dterminer si lalgorithme stagne. Le compteur est fix zro au dbut La recherche sarrte quand le compteur atteint un certain seuil. A la fin dun palier, le compteur est - incrment si le pourcentage dacceptation est infrieur un seuil. - remis zro si la qualit de la meilleure solution a volu au cours du palier
Le recuit simul 16

INF6953

Implmentation du recuit simul


Quand on utilise le recuit simul avec des paliers et que la fonction de cot prend des valeurs entires, on peut utiliser un tableau qui mmorise la probabilit dacceptation associe chaque valeur de .. Limplmentation naturelle du recuit simul consiste engendrer un mouvement, puis appliquer le critre de Metropolis. Une implmentation quivalente (en termes de configurations engendres) est le recuit sans rejet (Rejectless Annealing). Il consiste calculer la probabilit de chaque mouvement, puis appliquer la roulette biaise.

INF6953

Le recuit simul

17

Le recuit simul : conclusions


Mthode importante historiquement Facile implmenter Possde des proprits de convergence intressantes mais de peu dutilit en pratique

INF6953

Le recuit simul

18

Algorithmes dacceptation avec seuil


Les algorithmes dacceptation avec seuil constituent une variante dterministe du recuit simul. La fonction CritMetropolis (, T) est remplace par un critre dterministe. fonction AcceptationSeuil (, ) Si max renvoyer VRAI Sinon renvoyer FAUX

INF6953

Le recuit simul

19

Vous aimerez peut-être aussi