• Aucun résultat trouvé

2 État de l’art des méthodes de résolution de problèmes inverses

2.1 Méthodes classiques après régularisation

2.1.4 Méthodes d’optimisation globale

Pour résoudre un problème de moindres carrés, il existe aussi des méthodes d’optimisation globale comme les algorithmes évolutionnaires, le recuit simulé et la recherche tabou. Ces mé-thodes font partie d’une famille générale d’algorithmes d’optimisation : les métaheuristiques.

Ce sont généralement des algorithmes stochastiques itératifs, qui progressent vers un optimum global par échantillonnage de la fonction objectif. Ils se comportent comme des algorithmes de recherche, tentant d’apprendre les caractéristiques d’un problème afin d’en trouver une ap-proximation de la meilleure solution (d’une manière proche des algorithmes d’apap-proximation).

Il existe un grand nombre de métaheuristiques différentes, allant de la simple recherche locale à des algorithmes complexes de recherche globale. Ces méthodes sont répertoriées et classées dans un diagramme présenté à la Figure IV.4. Les métaheuristiques peuvent être classées de nombreuses façons. C’est pourquoi certaines méthodes sont présentées à cheval entre plusieurs classes. Une telle méthode peut être placée dans l’une ou l’autre classe, selon le point de vue adopté.

Une première classification consiste à distinguer les notions de parcours et de population. Les métaheuristiques les plus classiques sont celles fondées sur la notion de parcours. Dans ce cas,

IV.2 État de l’art des méthodes de résolution de problèmes inverses

Figure IV.4Classifications des métaheuristiques

une seule solution évolue à chaque itération sur l’espace de recherche. La notion de voisinage est alors primordiale. Les plus connues dans cette classe sont le recuit simulé, la recherche avec tabous, la recherche à voisinage variable, la méthode GRASP (Greedy Randomized Adaptive Search Procedure) ou encore les méthodes de bruitage. L’autre approche utilise la notion de po-pulation. Dans ce cas, un ensemble de solutions sont considérées en parallèle, à chaque itération.

On y trouve les algorithmes génétiques, l’optimisation par essaims particulaires, les algorithmes de colonies de fourmis. Ces deux dernières méthodes sont fondées sur le principe qu’un groupe d’individus peu intelligents peut posséder une organisation globale complexe.

Une autre classification porte sur le fait que l’algorithme a une mémoire ou pas. En effet, les métaheuristiques utilisent l’historique de leur recherche pour guider l’optimisation aux

itéra-IV.2 État de l’art des méthodes de résolution de problèmes inverses

donnée pour déterminer la prochaine itération. Il s’agit alors d’un processus de décision mar-kovien et on parlera de méthode sans mémoire. C’est le cas de la plupart des méthodes de recherche locale. Beaucoup de métaheuristiques utilisent une mémoire plus évoluée comme la recherche tabous.

Les métaheuristiques sont des méthodes itératives utilisant un échantillonnage de la fonction objectif comme base d’apprentissage. Le choix de cet échantillonnage se fait en général via une distribution de probabilités. L’utilisation de cette distribution donne lieu à trois classes de métaheuristiques :

- les méthodes implicites : la distribution de probabilité n’est pas connue a priori, - les méthodes explicites : une distribution de probabilité choisie à chaque itération, - les méthodes directes : ni implicites ni explicites.

Parmi les méthodes implicites, on trouve les algorithmes génétiques, où le choix de l’échan-tillonnage entre deux itérations ne suit pas une loi donnée, mais est fonction de règles locales.

Dans la classe des méthodes explicites, on trouve les algorithmes à estimation de distribution.

Dans cette classification, le recuit simulé représente la classe des méthodes directes. Dans cette méthode, on peut considérer qu’il échantillonne la fonction objectif en l’utilisant directement comme distribution de probabilité (les meilleures solutions ayant une probabilité plus grande d’être tirées).

Une dernière classification repose sur une propriété de la fonction objectif. On peut séparer les métaheuristiques selon qu’elles utilisent une fonction objectif statique (qui demeure inchangée tout au long de l’optimisation) ou dynamique (quand la fonction objectif est modifiée au cours de la recherche). Dans la seconde classe, on trouve notamment la recherche à voisinage variable et la recherche locale guidée.

Pour plus d’informations sur les métaheuristiques, le lecteur intéressé pourra se référer à (Dréo et al., 2003), (Blum and Roli,2003), (Talbi,2009) ou encore (Glover and Kochenberger, 2003).

Nous présentons ici les algorithme évolutionnaires, le recuit simulé et la recherche avec tabous.

Algorithmes évolutionnaires Les algorithmes évolutionnaires sont des méthodes suggé-rées par le paradigme Darwinien de l’évolution. Le principe de variation et de sélection peut être considéré comme le principe fondamental de l’évolution Darwinienne. Ce principe, associé au changement de chaque génération (la mutation), fait naître les composants fondamentaux de la boucle de l’algorithme évolutionnaire. Le principe général de fonctionnement de ces al-gorithmes est représenté par le schéma de la Figure IV.5. Ces algorithmes commencent par une étape d’initialisation avec l’évaluation d’un certain nombre de points appelés individus. Ils

IV.2 État de l’art des méthodes de résolution de problèmes inverses

Figure IV.5Schéma de fonctionnement général d’un algorithme évolutionnaire

constituent une population. Si le critère d’arrêt n’est pas satisfait, on sélectionne les meilleurs individus qui vont devenir des géniteurs. Ces parents vont générer un certain nombre d’enfants grâce à des opérateurs stochastiques de variation. Ces enfants sont évalués pour constituer avec les anciens parents une nouvelle population, sur laquelle on va de nouveau effectuer les diffé-rentes étapes. L’évolution stoppe quand le niveau de performance souhaité est atteint ou qu’un nombre fixé de générations s’est écoulé sans améliorer l’individu le plus performant.

On distingue plusieurs types d’algorithmes évolutionnaires :

- les algorithmes génétiques inspirés des mécanismes de l’évolution naturelle,

- la programmation génétique, extension des algorithmes génétiques dans laquelle les indi-vidus sont des programmes,

- les systèmes de classifieurs, mécanismes d’apprentissage basés sur un ensemble de règles condition/action. Chaque règle est notée en fonction du résultat de l’action produite et un algorithme génétique est utilisé pour générer de nouvelles règles,

- les stratégies d’évolution (Evolution Strategy en anglais, ES), algorithmes itératifs dans lesquels un parent génère un enfant (1+1)-ES. Le meilleur des deux survit et devient le parent de la génération suivante. La génération de ce processus a donné les algorithmes (µ+λ)-ES dans lesquelsµ parents génèrentλ enfants. Les µmeilleurs survivent.

Des précisions sur ces méthodes sont fournies dans (Bäck,1996) et (Goldberg et al., 1994).

Recuit simulé Le recuit simulé est un algorithme d’optimisation inspiré d’un processus physique d’amélioration de la qualité d’un solide en métallurgie. Le principe général de la mé-thode est d’effectuer un mouvement selon une loi de probabilité dépendant de la qualité des voisins (les meilleurs ont les probabilités les plus élevées). En plus de cela, un paramètre de température, T, est considéré pour faire le lien entre le mouvement et la fonction de coût à

IV.2 État de l’art des méthodes de résolution de problèmes inverses

minimiser. Ce paramètre est élevé au début de l’algorithme (les voisins ont à peu près la même probabilité d’être acceptés), puis diminue (un mouvement qui dégrade la fonction de coût a une faible probabilité d’être choisi), jusqu’à tendre vers 0 (aucune dégradation de la fonction de coût n’est acceptée).

Pour un point donné de l’algorithme, on génère un voisin dont l’écart au point en cours, en terme de performance, est évalué. Un critère de Métropolis permet de déterminer si le voisin est conservé selon l’amélioration qu’il apporte à l’algorithme. Ce critère dépend de l’écart et de la température à ce niveau de l’algorithme.

Le critère d’arrêt repose sur le manque d’évolution de l’algorithme et sur le fait que le pour-centage de voisins acceptés devienne faible.

Une description plus détaillée des particularités de la méthode est fournie dans (Kirkpatrick et al.,1983) et (Siarry and Dreyfus, 1988).

Recherche avec tabous Cette méthode est une métaheuristique itérative qui consiste à explorer le voisinage d’une position donnée et à choisir la position dans ce voisinage qui mi-nimise la fonction objectif. La force de la recherche avec tabous est que cette opération peut conduire à augmenter la valeur de la fonction (dans un problème de minimisation) : c’est le cas lorsque tous les points du voisinage ont une valeur plus élevée. C’est à partir de ce mécanisme que l’on sort d’un minimum local et que la méthode peut tendre vers l’optimum global. De plus, cette méthode est une métaheuristique avec mémoire. Ceci évite que l’algorithme ne retombe dans l’optimum local dont il vient de sortir. Cette qualité de mémoire consiste simplement à interdire (d’où le nom de tabou) de revenir sur les dernières positions explorées. Ces positions sont stockées dans une liste tabou dont la taille est choisie par l’utilisateur. De nombreuses va-riantes de la méthode existent, principalement au niveau de la définition du voisinage et de la manière de gérer la mémoire (court, moyen ou long terme). Les démonstrations de convergence pour la recherche tabou existent, mais supposent des conditions strictes, rarement présentes en pratique. Le lecteur intéressé par cette méthode pourra se référer à (Glover and Kochenberger, 2003).

Les autres méta-heuristiques ont également fait l’objet de recherches. Les algorithmes de colo-nies de fourmis ont été étudiés dans (Bonabeau et al.,1999), la méthode GRASP dans (Resende, 2009) et (Angel-Bello et al.,2006), l’optimisation par essaims particulaires dans (Eberhart et al., 2001), les algorithmes à estimation de distribution dans (Larranaga and Lozano, 2002), la re-cherche à voisinage variable dans (Brimberg et al., 2010) et (Altınel et al., 2011), la recherche dispersée dans (Glover, 1977), la recherche locale itérative dans (Lourenço et al., 2010), la

re-IV.2 État de l’art des méthodes de résolution de problèmes inverses

cherche locale stochastique dans (Stutzle and Hoos, 2005) et la recherche locale guidée dans (Talbi, 2009).

La recherche est très active dans ce domaine, il est donc difficile d’établir une liste exhaus-tive des différentes métaheuristiques d’optimisation. La littérature spécialisée montre un grand nombre de variantes et d’hybridations entre méthodes, particulièrement dans le cas des al-gorithmes évolutionnaires. Cependant, nous pouvons citer d’autres métaheuristiques, plus ou moins connues, qui ne sont pas répertoriées dans le diagramme de la FigureIV.4 :

- l’algorithme du kangourou, - la méthode de Fletcher et Powell, - la méthode du bruitage,

- la tunnelisation stochastique,

- l’escalade de collines à recommencements aléatoires, - la méthode de l’entropie croisée,

- l’algorithme de recherche d’harmonie

Nous présentons la méthode de l’entropie croisée qui a la particularité de résoudre des problèmes à plusieurs optima globaux.

Méthode de l’entropie croisée Nous nous sommes particulièrement intéressés à cette méthode récente permettant de réaliser une optimisation globale : la méthode de l’entropie croisée (cross-entropy en anglais). Attribuée à Rubinstein (Rubinstein and Kroese, 2013), la méthode de l’entropie croisée est une méthode générale d’optimisation de type Monte-Carlo (combinatoire ou continue) et d’échantillonnage préférentiel. Conçue à l’origine pour la simula-tion d’évènements rares, elle permet de résoudre des problèmes d’optimisasimula-tion combinatoire par simple modification de l’entropie croisée. Elle repose notamment sur la traduction du problème d’optimisation déterministe en un problème stochastique associé et permet ainsi l’utilisation des techniques de simulation d’évènements rares.

La procédure itérative de la méthode de l’entropie croisée consiste à répéter, à chaque itération, deux actions :

1. générer aléatoirement un échantillon de données (trajectoires, vecteurs, etc.) selon un mécanisme spécifique,

2. mettre à jour les paramètres du mécanisme de génération aléatoire à partir de l’échantillon de données pour produire un meilleur échantillon à l’itération suivante (étape impliquant la minimisation de l’entropie croisée ou la divergence KL).

IV.2 État de l’art des méthodes de résolution de problèmes inverses

dans la Définition 6.

Définition 6. Soient 2 distributions p et q sur le même espace probabilisé X. Leur entropie croisée est définie par

Le but de la méthode est de maximiser une fonction objectif S(x) sur tous les éléments x∈X. On note µ le maximum

µ = max

x∈X S(x). (IV.13)

La randomisation de ce problème déterministe consiste à définir une famille paramétrique de densités de probabilité{f(., v), vV}surX. SoitXun vecteur aléatoire de densitéf(., v0), v0V etγ un paramètre connu ou inconnu. On pose

l(γ) :=Pv0(S(X)≥γ) =Ev0[I{S(X)≥γ}] (IV.14) la quantité à estimer pour un niveau γ donné. L’estimation de cette quantité s’appelle le problème stochastique associé. La résolution du problème (IV.13) est équivalente à celle du problème (IV.15).

minv∈V H(I{S(X)≥γ}, f(., v)), (IV.15)

IV.2 État de l’art des méthodes de résolution de problèmes inverses

pour un niveau γ donné avec H défini en IV.12. L’idée de la méthode est de générer une suite de densités paramétriques f(., v0), f(., v1), f(., v2), . . .. Cette suite tend vers la densité optimale théorique qui est la densité dégénérée au point optimal, f(., v). La loi est souvent considérée comme étant une loi normale. Les paramètres de la loi constituent donc un vecteur à deux éléments, la moyenne et l’écart-type. Une suite de paramètres est alors construite (vt) :=

{(µt, σt)}, t ≥ 1 et doit tendre vers le vecteur optimal (µ, σ) = (µ,0), les paramètres de la densité optimale.

Les principales étapes de la méthode sont décrites dans l’Algorithme1.

Initialisation ρ←10−2. v0µ.

t←0.

Tant que (le critère d’arrêt n’est pas satisfait) faire tt+ 1.

Soit X1, . . . , XN un échantillon aléatoire tiré à partir de f(., vt−1).

Déterminerµt le quantile empirique d’ordre 1−ρ deS(X) sousvt−1. Déterminervt tel quevt= arg maxv N1 PNi=1I{S(Xi)≥µt}lnf(Xi, v).

Fait

Algorithme 1Algorithme général de la méthode de l’entropie croisée

Dans un cas non-contraint, nous avons testé la méthode sur le problème de maximisation de la fonction

S(x) = e−(x−2)2 + 0.8e−(x+2)2, x∈R.

Cette fonction possède un maximum local et un maximum global, comme le montre la Figure IV.6. A partir d’un vecteur de paramètres initial (µ0, σ0) = (−6,100), on obtient rapidement l’optimum (µ, σ) = (2,0). Les différentes étapes de l’algorithme sont représentées à la Fi-gure IV.7. La méthode permet également de résoudre des problèmes à plusieurs extrema. Par exemple, nous tentons de résoudre le problème de maximisation de la fonction

S(x) = 150ex

2

5 + 2x2x4 200,

représentée à la Figure IV.8. Dans ce cas, on ne considère plus une loi de probabilité mais un mélange de deux lois. Chacune doit tendre vers un des deux maxima. En quelques itérations, l’algorithme converge vers les deux solutions, comme le montre la Figure IV.9. La méthode

IV.2 État de l’art des méthodes de résolution de problèmes inverses

Figure IV.6Résolution d’un cas non-contraint avec la méthode d’entropie croisée

Figure IV.7Évolution de l’algorithme d’entropie croisée sur le cas non-contraint

nométriques, de Rosenbrock ou de Hougen. Dans les cas contraints, la prise en compte des contraintes se fait soit par acceptation-rejet, soit par pénalité.

Cette méthode est simple et converge rapidement et indépendamment du point de départ. Dans un cas à plusieurs extrema, il faut choisir le nombre de densités, c’est-à-dire connaître a priori le nombre d’optima, ce qui n’est pas forcément le cas. De plus, en pratique, de nombreux pa-ramètres sont à régler, principalement lorsque le problème est contraint. Enfin, la convergence de la méthode n’a été démontrée que sur des cas simples.

Les méthodes classiques sont utilisées dans le cas des fonctions de R dans R, les méthodes

IV.2 État de l’art des méthodes de résolution de problèmes inverses

Figure IV.8Fonction à deux maxima globaux

Figure IV.9Évolution de l’algorithme d’entropie croisée sur le cas à deux optima

de résolution de systèmes d’équations dans le cas des fonctions de Rm dans Rn, où mn linéaires ou non. Les méthodes d’optimisation permettent de trouver une solution unique à un problème général pour une fonction continue à valeurs dans R, voire dans Rk, k ≥ 1, avec les techniques d’optimisation multi-objectifs. Dans tous les cas, ce sont des problèmes bien posés ou régularisés. Cependant, notre problème consiste à étudier les antécédents d’une fonction deRd dansR. L’ensemble de ces antécédents n’est donc pas fini et n’est souvent pas continu. Il s’agit d’un problème inverse mal posé pour lequel nous n’avons pas suffisamment de connaissances

IV.2 État de l’art des méthodes de résolution de problèmes inverses

qu’une seule sous certaines contraintes a priori.

2.2 Résolution de problèmes inverses mal posés

La résolution d’un tel problème avec les méthodes classiques de recherche de zéros néces-siterait de fixer d−1 variables pour trouver un d-uplet solution et de réitérer l’algorithme en changeant les d −1 variables fixées à des valeurs différentes. Le résoudre avec les méthodes de résolution de systèmes d’équations consisterait à ajouter d−1 contraintes afin de rendre le problème bien posé. Ceci devient très contraignant et difficile lorsque d est grand et que la connaissance sur le processus est limité. Nous pourrions utiliser des méthodes d’optimisation qui ne nous conduirait que vers une des solutions alors que nous voulons en obtenir un grand nombre.

Suivant la valeur de la dimensiond du domaine d’entrée D, l’ensemble des solutionsS ={x∈ D⊂Rd:f(x) = 0} sera composé :

- de singletons si d= 1, - de courbes si d= 2, - de surfaces si d= 3,

- d’hypersurfaces de dimension d−1 pour d >3.

Pour certaines classes d’équations du type f(x) = ax∈Rd, d >1, des algorithmes ont été trouvés pour les résoudre. Certains d’entre eux ont été implémentés dans des systèmes de calcul formel. Mais en général, il n’y a pas d’algorithme permettant de résoudre systématiquement de telles équations.

Plusieurs méthodes existent cependant pour résoudre de tels problèmes : l’optimisation locale multi-start, une méthode déterministe par recherche de grilles et deux méthodes stochastiques, l’une basée sur une recherche probabiliste via un modèle statistique, l’autre sur du MCMC (chaînes de Markov par Monte-Carlo). A notre connaissance, seules ces méthodes permettent de résoudre de tels problèmes.