• Aucun résultat trouvé

compte les informations sur la courbure de la fonction à optimiser pour la construction des directions.

Méthode de Nelder-Mead

La méthode de Nelder-Mead [101] est une méthode d’optimisation qui utilise une figure géométrique, particulièrement un simplexe, pour localiser le minimum.

Soit d la dimension de l’espace de définition de la fonction à optimiser. L’algorithme définit un simplexe de dimension d et lui fait subir, au cours des itérations, des trans- formations (expansion, contraction, rétrécissement) afin que les sommets du simplexe se rapprochent du minimum de la fonction.

Plus précisément, les différentes étapes de l’algorithme peuvent être résumées comme suit:

1. Choisir p + 1 points {v1, · · · , vp+1} qui forment un simplexe dans l’espace de dé-

finition à d dimensions.

Calculer les valeurs de la fonction en ces points et réindexer les points de façon à avoir g(v1) ≤ g(v2) ≤ · · · ≤ g(vp+1)

2. Calculer le centre de gravité v0 des points {x1, · · · , xp+1} et de la réflexion vr de vp+1par rapport à v0: v0 =Ppi=1vi/net vr= v0+ (v0− vp+1).

3. Si g(vr) < g(vp), calculer ve = v0 + 2(v0 − vp+1) (étirement du simplexe), et si g(ve) < g(vr), remplacer le point vp+1par le point ve.

Sinon remplacer vp+1par vr.

4. Si g(vp) < g(vr), calculer vc = vp+1+

1

2(v0 − vp+1)(contraction du simplexe) et si

g(vc) ≤ g(vp), remplacer vp+1par vc.

Sinon remplacer vipar v1+

1

2(vi − v1)pour i ≥ 2

3.2

Principales méthodes d’optimisation globale

Les méthodes d’optimisation locale permettent une bonne recherche locale en ex- ploitant les points déjà évalués, mais au prix d’une exploration moindre. Elles ne ga- rantissent donc pas la convergence vers un optimum global et peuvent être piégées dans un optimum local. Contrairement aux méthodes locales, les méthodes globales permettent d’explorer l’espace de recherche de manière plus exhaustive. Ce qui aug- mente le nombre de chance de tomber sur l’optimum global. A titre d’exemple, trois approches d’optimisation globale s’appuyant sur des concepts différents sont briève- ment présentées ci-dessous.

32 Chapitre 3. Méthodes d’optimisation

3.2.1

Algorithme évolutionnaire

Les algorithmes évolutionnaires sont des méthodes d’optimisation stochastiques dans lesquelles un ensemble de points dans E est produit à chaque itération au moyen d’opérations stochastiques inspirées de la théorie de l’évolution selon Darwin [29]. Par analogie avec l’évolution naturelle, un algorithme évolutionnaire est un processus itératif faisant évoluer un ensemble de solutions candidates, appelé population, com- posé d’individus représentant des solutions possibles du problème d’optimisation. Au cours de chaque itération, appelée génération, la performance des individus d’une po- pulation appelée population parent est évaluée à l’aide de la fonction à optimiser. Les meilleurs individus sélectionnés en fonction de leurs valeurs, subissent des opérations génétiques (croisement, mutation et sélection) pour créer de nouveaux individus. Ces nouveaux individus créés forment une nouvelle population appelée population enfant. L’algorithme se poursuit jusqu’à ce qu’un critère d’arrêt soit satisfait.

Pour un problème de minimisation, le principe de fonctionnement d’un algorithme évolutionnaire peut être résumé comme suit:

1. Générer aléatoirement un ensemble initial d’individus nommé population parent. 2. Évaluer chaque individu de la population parent.

3. Appliquer les trois opérations génétiques “sélection, croisement et mutation”pour créer un ensemble d’individus appelé population enfant.

4. Évaluer chaque individu de la population enfant.

5. Sélectionner les meilleurs individus de la population enfant pour créer une po- pulation parent de la nouvelle génération.

Répéter les étapes 3, 4 et 5 jusqu’à ce que l’algorithme converge.

On distingue plusieurs familles de méthodes évolutionnaires: les algorithmes géné- tiques [65,37], les stratégies d’évolution [141], la programmation évolutionnaire [45].

3.2.2

Le recuit simulé

Le recuit simulé [87,88] se base sur un phénomène observé en métallurgie. Dans le recuit simulé, chaque paramètre x de l’espace de recherche est considéré comme l’état d’un système physique et sa réponse f (x), la fonction à optimiser, comme l’énergie in- terne de ce système. On introduit également un paramètre fictif, la température T du système, dans le but de régler la probabilité d’acceptation des nouveaux points. L’ob- jectif est d’amener progressivement le système d’un état initial arbitraire vers un état correspondant au minimum global d’énergie.

Étant donné un état initial x0 arbitrairement choisi et une température initiale T0 éle-

vée, l’algorithme génère une suite de points xncomme suit:

3.2. Principales méthodes d’optimisation globale 33

est effectuée en générant aléatoirement un point x dans un voisinage de xi. Cette mo-

dification va entrainer une variation de l’énergie du système. Si cette variation corres- pond à une baisse de l’énergie du système, c’est à dire si f (x) < f (xi)alors le jeu de pa-

ramètre y est retenu; sinon il est accepté avec une probabilité égale à exp

Ç

f (xi) − f (y) Ti

å

. En résumé le nouveau point xi+1est choisi comme suit:

           xi+1= y si f (y) ≤ f (xi) xi+1= y si exp Ç f (xi) − f (x) Ti å > u xi+1= xisinon

où u est un nombre choisi aléatoirement compris entre 0 et 1, (Tn)une suite de para-

mètre positif qui tend vers 0 au cours de l’algorithme. L’algorithme peut sélectionner des points qui n’apportent aucune amélioration. Cependant, la décroissance de la suite (Tn)fera que la probabilité d’accepter une mauvaise solution décroit au cours des ité-

rations.

Le recuit simulé est une méthode d’optimisation qui s’adapte à plusieurs types de pro- blèmes. Cependant la convergence est relativement lente et le réglage de la suite (Tn)

délicat.

Il existe d’autres algorithmes d’optimisation globale tels que les méthodes basées sur l’intelligence en essaims (les algorithmes des colonies de fourmis [35], les algo- rithmes par essaims particulaires [85]) et la recherche tabou [56].

Les algorithmes d’optimisation globale sont le plus souvent inspirés de phénomènes naturels tirés de la biologie, la physique etc. Contrairement aux méthodes d’optimi- sation avec calcul de gradient, les algorithmes d’optimisation globale n’imposent pas d’hypothèses de régularité sur la fonction à optimiser. Ils ont une bonne capacité d’ex- ploration de l’espace de recherche, ce qui leur donne plus de chance de converger vers l’optimum globale. Cependant ils sont très coûteux en terme de temps.

3.2.3

Optimisation à base de métamodèle

L’utilisation de métamodèles est une solution fréquemment utilisée pour faciliter l’optimisation des modèles complexes et coûteux à évaluer [11, 70,7,39, 60,93]. L’ob- jectif de la métamodélisation est de remplacer un modèle coûteux en temps par un modèle à coût négligeable, afin de pouvoir exploiter le modèle plus facilement. Le mé- tamodèle est une approximation des réponses du modèle étudié, obtenue à partir d’un nombre limité d’évaluation du modèle dans un domaine appelé plan d’expérience. On évalue le modèle pour un certain nombre n de valeurs D = {x1, · · · , xn} et on observe

les n réponses associées Y = {y(x1), · · · , y(xn)}. Le gradient de la fonction à optimi-

ser étant inconnu en général, le choix des prochains points à évaluer se fait à l’aide d’un critère d’échantillonnage défini à l’aide du métamodèle. Il existe plusieurs types de métamodèle parmi lesquels on peut citer : les interpolateurs locaux, les techniques polynomiales [75], les splines [124], l’interpolation à noyaux [123] et les réseaux de neurones [130]. Certains métamodèles comme le krigeage et la régression linéaire per-

34 Chapitre 3. Méthodes d’optimisation

mettent de modéliser l’incertitude de prédiction. De tels métamodèles sont particuliè- rement adaptés pour l’optimisation globale. L’estimation de l’incertitude peut guider la phase exploratoire de l’optimisation globale où nous cherchons dans des régions à forte incertitude. Après avoir testé des métamodèles de manière empirique sur diffé- rents exemples, Simpson et al. [128] proposent d’utiliser un métamodèle de régression linéaire si la fonction f est assez régulière et un métamodèle de krigeage dans le cas ou elle est fortement non linéaire et de dimension raisonnable.