• Aucun résultat trouvé

E La méthode du recuit simulé

Dans le document Méthodes numériques et simulations (Page 196-200)

Une grande partie des problèmes d’optimisation vise à minimiser une fonction E(x ) définie sur un espaceΩ de configurations discret, sur lequel la notion de continuité n’existe pas. Le problème le plus connu de ce genre est celui du commis voyageur : un voyageur de commerce doit visiter N villes dont les positions sont connues, tout en minimisant le chemin parcouru au total. On peut supposer pour simplifier l’argument qu’il peut parcourir la distance entre chaque paire de villes selon une ligne droite, mais cela n’est pas essentiel à la formulation du problème. Le voyageur doit donc choisir un itinéraire, qui prend la forme d’une permutation pide la liste des villes (i= 1,...,N ), qu’il devra parcourir dans cet ordre, en commençant et en terminant par la même ville (la trajectoire est fermée). La figure17.4illustre un exemple de chemin minimal reliant N = 36 points.

Ce problème ne peut pas être résolu par les méthodes classiques d’optimisation, car la variable sur laquelle nous devons minimiser est une permutation p , et non une variable continue. D’un autre côté, la simple énumération de toutes les possibilités est hors de question, car le nombre d’itiné- raires possibles est N !, un nombre qui défie l’imagination même pour une valeur modérée de N , comme 36.3

La méthode de choix pour résoudre ce type de problème est l’algorithme du recuit simulé (angl.

simulated annealing).4L’idée générale est de considérer la fonction E comme une énergie qu’on veut minimiser, d’explorer différentes configurations par l’algorithme de Metropolis, et de dimi- nuer progressivement la température T jusqu’à un minimum proche de zéro. Autrement dit, on

3. 36!= 371993326789901217467999448150835200000000 ∼ 3.1041.

4. En métallurgie, le recuit est un procédé par lequel un alliage est porté à haute température et ensuite refroidi len- tement, ce qui permet aux défauts cristallins de se propager et d’être évacués, par opposition à la trempe, qui est un refroidissement soudain du matériau, qui gèle sur place les différents défauts cristallins et augmente la dureté de l’al- liage.

1

i i− 1 j

j+ 1

FIGURE17.4

Le problème du commis voyageur : comment relier N points (ou «villes») par un chemin qui passe au moins une fois par chaque ville et minimise la distance totale parcourue. La portion pointillée illustre un changement local qu’il est possible d’apporter à l’itinéraire dans le recherche d’un minimum de la distance totale.

procède à une marche aléatoire dans l’espace des configurationsΩ. Cette marche favorise les confi- gurations de basse «énergie» E , mais permet tout de même de passer pendant un certain temps à des configurations d’énergie plus grande, quand la température est suffisamment élevée. Cet as- pect est crucial, car il permet de surmonter les barrières de potentiel qui entourent souvent les mi- nimums locaux (l’adjectif «local» doit être correctement interprété dans le contexte d’un espace où la notion de distance n’est pas définie de manière évidente).

La méthode du recuit simulé requiert donc les ingrédients suivants :

1. Une définition claire de ce que constitue une configuration. Dans le cas du problème du commis voyageur, une configuration est une permutation p de la liste des villes à visiter. 2. Une fonction de type «énergie» E(p), qu’on désire minimiser. Dans le problème du voyageur,

c’est la longueur de l’itinéraire :

E(p) =

N−1 ∑

i=0

d(pi, pi+1) (17.54)

où d(j,k) est la distance entre les villes j et k, et pi est l’indice noi de la permutation p . Il est sous-entendu que les indices sont traités de manière périodique, c’est-à-dire modulo N (l’indice N + i étant considéré synonyme de i ).

3. Une procédure de changement local, l’équivalent du renversement local du spin dans le mo- dèle d’Ising. Dans le problème du voyageur, une procédure possible est de sélectionner un indice i au hasard, ainsi qu’un deuxième indice j également au hasard, mais suivant une distribution exponentielle en fonction de la séparation| j − i |, de sorte que les paires (i , j )

d’indices proches sont plus probables que les paires éloignées. Ensuite, on sectionne le che- min entre les indices i−1 et i , et entre les indices j et j +1 et on recolle la portion du chemin comprise entre i et j dans l’autre sens, c’est-à-dire de i− 1 à j , ensuite j − 1, etc. jusqu’à i et ensuite j+ 1. Cette procédure est illustrée par les traits pointillés sur la figure17.4.

4. Un mode de refroidissement, c’est-à-dire une séquence de températures décroissantes, en- trecoupées d’une série de changements locaux à chaque température. Le mode choisi dans le code décrit ci-dessous est caractérisé par une température initiale T1, une température fi- nale T2, un facteur 1−ε par lequel la température est multipliée à chaque étape, et un nombre

m de mises à jour de la configuration effectuées à chaque valeur de T .

Au total, un code de recuit simulé ressemble beaucoup, mais en plus simple, à un code de simu- lation de physique statistique dans l’ensemble canonique. Il n’y a pas lieu, cependant, de procé- der à une analyse d’erreur, car c’est l’état fondamental du système qui nous intéresse et non une moyenne statistique. Ceci dit, il n’y a aucune garantie que l’algorithme va converger vers le mini- mum absolu et non vers un minimum local. Il est cependant très peu probable que ce minimum local soit mauvais, au sens que son «énergie» E soit élevée. Donc, même si le minimum absolu n’est pas garanti, l’algorithme est tout de même extrêmement utile, car le résultat qu’il produit est toujours intéressant d’un point de vue pratique. Dans tous les cas, l’algorithme est rapide, mais de- mande une certaine exploration des paramètres afin d’optimiser sa convergence vers un minimum de qualité ; plusieurs simulations répétées (avec des configurations initiales aléatoires différentes) sont à conseiller, afin de valider le point d’arrivée.

T

0

T

i

T

N

x

f(x)

FIGURE17.5

Application de la méthode du recuit simulé à la minimisation d’une fonction à une variable f(x ) possédant plusieurs minimums locaux. En rouge : probabilité e−f (x )/T d’une configuration x à la température finale

TN.

Application à une fonction ordinaire

Rien n’empêche d’utiliser la méthode du recuit simulé lors de la minimisation d’une fonction défi- nie sur les réels. Dans ce cas, la mise à jour de la configuration consiste simplement en un déplace- mentδx dans une direction aléatoire dont la grandeur est, par exemple, distribuée uniformément dans un certain intervalle. Le mérite de la méthode dans ce cas est sa capacité à trouver souvent le minimum global de la fonction et non un minimum local. Voir la figure17.5pour un exemple uni- dimensionnel : la température initiale T0est suffisamment élevée pour permettre une exploration

de l’espace dans un domaine large où plusieurs minimums relatifs existent. À mesure que la tempé- rature diminue, la distribution de probabilité régissant l’algorithme de Metropolis devient de plus en plus concentrée autour du minimum global, de sorte que ce minimum est celui qui est atteint le plus souvent à la fin de la simulation.

Dans le document Méthodes numériques et simulations (Page 196-200)