• Aucun résultat trouvé

MOEGO NSGA-II - une alternative pour la distribution des calculs

Optimisation de fonctions boîtes noires

Algorithme 5.4 Algorithme d’optimisation pire cas assisté par modèle de substitution Input : la fonction à minimiser f

6.4 MOEGO NSGA-II - une alternative pour la distribution des calculs

Nous avons donc mis en évidence que les algorithmes évolutionnaires sont robustes et explorent entièrement le P F?. Néanmoins, ils présentent le désavantage de nécessiter un grand nombre d’appels aux fonctions objectif. Par ailleurs, les méthodes basées sur l’amé-lioration espérée nécessitent peu d’appels aux fonctions objectif mais ne permettent pas d’obtenir l’intégralité du front, en particulier lorsque ce dernier a une forme particulière, comme MOP2 et ZDT3. L’idée de cette partie est donc de proposer puis de valider un algo-rithme d’optimisation conjuguant la robustesse de l’algoalgo-rithme NSGA-II à la parcimonie permise par l’amélioration espérée.

La section 5.2.2.1 présente différentes façons de coupler modèles de substitution et algorithmes évolutionnaires. Le principal reproche que l’on puisse faire aux études pré-sentées dans cette section est qu’elles n’utilisent pas toutes les informations fournies par le krigeage : elles utilisent soit l’écart type sur la prédiction fournie par l’estimateur, soit l’intervalle de confiance sur la prédiction que l’on peut également déduire de l’espérance et de l’écart type. Toutefois, il est détaillé à la section 5.1.3.1 qu’il peut être sous efficace de ne pas utiliser entièrement l’information fournie par le krigeage, c’est-à-dire la distribution de la prédiction Y (x) (cf équation (3.16)) en tout point x ∈ Dx.

C’est justement ce que permet de faire l’amélioration espérée. Toutefois, il a été montré à la section précédente que sur les cas étudiés, l’exploration de l’espace des objectifs n’est pas toujours suffisante et ne permet donc pas d’obtenir l’intégralité du front. L’utilisation de l’algorithme évolutionnaire peut permettre de compenser ce manque d’exploration.

6.4.1 Détail de l’algorithme MOEGO NSGA-II

Nous proposons un algorithme qui combine les avantages des deux méthodes. Pour cela, l’idée proposée est de réaliser un algorithme séquentiel du type MOEGO en choisis-sant les points à rajouter au plan d’expériences à l’aide de l’algorithme NSGA-II, comme l’explique la figure 6.24. Plus précisément, à partir d’un plan d’expériences initial, par exemple de taille N0

DOE = 10, on construit un premier modèle de krigeage des fonctions objectif fˆi

16i6Nobj

. L’algorithme NSGA-II est ensuite utilisé afin d’estimer le front de Pareto des approximations gaussiennes des fonctions objectif. Le temps d’exécution de cette étape est très réduit par rapport au temps d’exécution potentiel des objectifs. On peut donc laisser l’algorithme NSGA-II évoluer durant un nombre fixé de générations suffi-samment grand. Par exemple, on peut prendre Ngen = 500 pour deux objectifs. Les points maximisant l’amélioration espérée sont ensuite recherchés sur la population afin d’enrichir le plan d’expériences. La section 6.4.2 explique le détail de cette étape. Ce nouveau plan d’expériences permet alors de construire un nouveau modèle de krigeage de chacune des fonctions objectif.

En ce qui concerne le critère EI multi-objectif utilisé, la section 6.3.2 montre que celui basé sur la distance euclidienne (voir équation (5.14)) donne de meilleurs résultats selon la mesure de convergence choisie dans cette étude. C’est donc celui qui est mis en place ici. Toutefois, la méthode proposée peut s’utiliser avec n’importe quelle version de l’EI multi-objectif. C’est d’ailleurs la raison pour laquelle les notations utilisées pour ce critère à la figure 6.24 restent générales. Enfin, la section précédente a montré que la modification de Parr du critère MOEI réduit la capacité d’exploration de la méthode MOEGO. De ce

Initial DOE (X, Y ) X = n x1, · · · , xNDOE0 o Y = n fi(x1), · · · , fi(xNDOE0 ) o 16i6Nobj Build surrogates ˆfi (X, Y ) −→fˆi 16i6Nobj

Xopt= argmaxxEI(x) card Xopt

= NCP U

Add Xoptto DOE

X =X, Xopt Y =Y , fi(Xopt) Optimal P F computed on (X, Y ) Stopping criterion OK NOK NSGA-II evolves onfˆi 16i6Nobj to maximize EI → Xopt

Figure 6.24 – Illustration de la méthode MOEGO NSGA-II

fait, le critère d’amélioration espérée par rapport au front complet, et non plus réduit à la zone dominée par un goal point comme introduit à la section 6.3.1, est utilisé.

Enfin, cet enrichissement du plan d’expériences aidé par NSGA-II est réalisé tant qu’un critère d’arrêt n’est pas atteint. Ce dernier correspond souvent à un budget de calcul alloué. Un autre critère d’arrêt peut aussi être défini en utilisant la valeur de l’amélioration espérée maximum à l’itération courante. En effet, on peut comparer ce maximum à une valeur ca-ractéristique de même nature. Par exemple, dans le cas de la distance euclidienne, le maxi-mum de l’amélioration espérée à l’itération courante peut être comparé à la distance mi-nimale entre le front courant et le point de coordonnées C = miny∈YP F y1,miny∈YP F y2. Dans le cas d’un critère basé sur l’hypervolume, le maximum de l’amélioration espérée peut être comparé à l’hypervolume du front courant. Ces deux distances sont représentées sur la figure 6.25.

Figure 6.25 – Illustration des valeurs à comparer pour la construction d’un critère d’arrêt pour l’amélioration espérée basée sur la distance euclidienne

6.4.2 NSGA-II pour choisir les points d’enrichissement

Afin de distribuer les appels aux fonctions objectif, cette partie a pour but de détailler le choix simultané de plusieurs points pour l’enrichissement. Pour cela, on utilise NSGA-II afin d’explorer l’espace des entrées et d’approcher le PF sur le modèle de substitution entre chaque enrichissement. À partir de ce PF, l’enjeu est donc de choisir les points qui apportent l’information la plus pertinente, c’est-à-dire les points qui améliorent la connaissance du front de Pareto en divers endroits de l’espace des objectifs.

Une manière de choisir plusieurs points à chaque itération et permettant de forcer l’exploration est de choisir les points maximisant le critère EI répartis sur des sous-espaces

(Ai)16i6Nx disjoints de l’espace des objectifs. Par exemple, avec deux objectifs, on peut

partitionner l’espace des objectifs à l’aide de droites concentriques partant de l’origine. Ceci permet donc de répartir la population optimale en sous-ensembles de points. Voici les étapes du choix des points d’enrichissement utilisant NSGA-II :

Figure 6.26 – Illustration de la population optimale ˆP obtenue sur les prédictions par krigeage des objectifs.

Figure 6.27 – Illustration de la décomposi-tion de la populadécomposi-tion ˆP en sous-espaces dis-joints ˆPAi à l’aide de lignes concentriques

Figure 6.28 – Illustration du choix des points dans les sous-espaces disjoints ˆPAi

Figure 6.29 – Illustration de l’optimisation locale de l’EI à partir des points choisis à la figure 6.28

popu-lation prédite ˆP après ces Ngen générations est représentée sur la figure 6.26).

ˆ

P =nfˆ1(x1), ˆf2(x1)

,· · · ,fˆ1(xn

P OP), ˆf2(xnP OP)o

2. Sur cette population ˆP, NCP U points sont choisis, grâce aux NCP U lignes

conver-gentesreprésentées sur la figure 6.27. Ces points sont ensuite utilisés afin d’initialiser

la recherche du maximum pour l’amélioration espérée. Ceci permet notamment de rajouter des points à divers endroits de l’espace des objectifs et obtenir un front bien distribué. Cette division de la population ˆP est discutée à la partie 6.4.5.1.

ˆ

PAi =n

xk : fˆ1(xk), ˆf2(xk)

∈ Ai

o

3. On choisit ensuite les points maximisant l’amélioration espérée dans chacun des sous-espaces ˆPAi (délimités par les lignes convergentes représentées sur la figure 6.28). EI(x) = E [I(x)|Y (X) = Y ] xk+10 = argmaxx∈Pˆ A1EI(x) xk+20 = argmaxx∈PˆA2EI(x) · · · xk+NCP U 0 = argmaxx∈Pˆ ANCP UEI(x)

4. Chacun de ces points est ensuite utilisé pour initialiser la recherche du maximum

du critère EI à l’aide d’un optimiseur local (par exemple Nelder-Mead, détaillé en

section 5.1.2.1) comme illustré sur la figure 6.29, et les optima obtenus sont ensuite rajoutés au plan d’expériences.

EI(x) = E [I(x)|Y (X) = Y ] xk+1 = argmaxx∈V (xk+1 0 )EI(x) xk+2 = argmaxx∈V (xk+2 0 )EI(x) · · · xk+NCP U = argmaxx∈V (xk+NCP U 0 )EI(x) X = n X, xk+1,· · · , xk+NCP U o Yi = n Yi, fi(xk+1), · · · , fi(xk+NCP U)o La notation x ∈ V (xk+i

0 ), i ∈ {1, · · · , NCP U}, pour le calcul de chacun de ces maxima permet uniquement de souligner le fait qu’un optimiseur local est utilisé, initialisé par le point xk+i

0 . Toutefois, le domaine de recherche de ce dernier est Dx

entier. Pour cette optimisation, puisque le critère d’amélioration espérée basé sur la distance euclidienne n’est pas dérivable, l’optimiseur COBYLA, développé par Powell [Powell, 1998], est utilisé.

6.4.3 Filtre des redondances à chaque itération

Puisque NCP U points sont potentiellement ajoutés simultanément au plan d’expé-riences, certains de ces points peuvent donc être fortement corrélés, c’est-à-dire être proches dans l’espace des entrées et apporter une information redondante. En particulier, lors des

premières itérations de l’algorithme MOEGO NSGA-II, peu de points sont présents dans le DOE. À cause de cela, l’amélioration espérée peut avoir peu de maxima locaux et donc plusieurs des NCP U maximisations locales peuvent retourner le même point. De ce fait, il est nécessaire de filtrer les points non informatifs avant de les inclure au plan d’expériences. L’estimation de l’erreur du krigeage ˆσ peut ici être utilisée. En effet, elle ne dépend pas de la valeur de la sortie, comme expliqué en section 3.2.3.3. Un point peut être virtuellement ajouté au plan d’expériences du krigeage pour fournir l’estimateur de l’erreur ˆσ+x qu’au-rait le modèle de krigeage une fois le point x rajouté. Le point est dit virtuellement ajouté puisque l’on n’utilise pas la valeur de la sortie en ce dernier. Ainsi, l’estimateur d’erreur virtuel ˆσ+x est utilisé sans recalculer les paramètres du modèle de krigeage (variance, longueurs de corrélation, etc...). Ceci est expliqué dans la section 3.2.4.1.

Pour utiliser cette erreur virtuelle du krigeage dans le but de filtrer les redondances parmi les NCP U points, on part du dernierplan d’expériences DOE, représenté en figure 6.30. L’estimation de l’erreur « réelle » ˆσ est représentée sur le graphe du bas. Les points sont ensuite testés séquentiellement : le point d’amélioration espérée maximale des NCP U

points est virtuellement ajouté (comme expliqué à la section 3.2.4.1). Sur le graphe du bas de la figure 6.31, l’erreur courante ˆσ est représentée en pointillés alors que celle calculée par ajout virtuel ˆσ+x y est représentée en vert. On ajoute par la suite le point suivant (classé selon l’amélioration espérée), il est rejeté si sa variation d’écart type entre le plan d’expériences courant et l’écart type estimé sur le plan d’expériences virtuel est plus grande que preject= 90% (comme représenté sur la figure 6.32). Sisa variationest plus faible que

preject, alors le pointest gardé pour ajout, comme représenté sur la figure 6.33 puis 6.34. Ce processus est répété tant que les NCP U points n’ont pas été testés. Ceci est résumé à l’algorithme 6.1.

Algorithme 6.1 Algorithme de filtre des redondances des NCP U points à l’aide de l’erreur