• Aucun résultat trouvé

des paysages de fitness

Cette section présente l’utilisation des paysages de fitness pour la définition d’un problème d’optimisation et le calibrage de l’algorithme de résolution. De manière à conserver un certain niveau de généralité, on suppose ici un problème physique (f, Ω) avec m grandeurs d’intérêt, et d variables de décision. Ce problème est de type «boîte noire» calculé par un simulateur, avec un temps de calcul supposé long. L’application au problème d’optimisation multi-objectifs du suivi de charge est présentée dans la section suivante.

Cette démarche, bien que présentée ici sous un angle purement statistique, s’accompagne de l’analyse phy- sique des décisions prises suite à l’étude du paysage de fitness.

4.2.1

Échantillonnage de l’espace de recherche à l’aide d’une marche

aléatoire uniforme

L’analyse du paysage de fitness nécessite une base de données importante sur le problème. Cette base est collectée à partir d’un échantillonnage aléatoire de l’espace de recherche à partir de marches aléatoires. Une marche aléatoire est une séquence de solutions voisines (x0, x1, . . . , xl), telles que pour tout t ∈ {1, . . . , l}, la

solutionxtest voisine de la solution xt−1.

Afin de mesurer l’impact d’une modification des paramètres sur les objectifs, on définit une marche aléatoire uniforme. Un paramètre k définit le nombre de fois que chaque paramètre est modifié pendant la marche aléatoire. La marche aléatoire uniforme est décrite dans l’Alg. 8. Un point de départ est d’abord tiré en utilisant les séquences quasi-aléatoires de Sobol, et est évalué. Puis, à chaque étape de la marche, un paramètre est modifié. La marche se termine quand tous les paramètres ont été modifié k fois. La nouvelle valeur est tirée aléatoirement dans l’ensemble :

{xi− br(Mi− mi)c, . . . , xi+br(Mi− mi)c} ∩ {mi, . . . , Mi} \ {xi} (4.8)

où r est la plage de mutation de la marche aléatoire. La marche s’arrête lorsque toutes les entrées ont été modifiéesk fois, sa longueur est donc kd + 1. Le nombre de variables modifiées à chaque pas est fixé à 1. Ceci permet de découpler l’effet des variations des différents paramètres sur les objectifs. Puisqu’on ne suppose pas de connaissance a priori du problème, la plage de mutation est la même pour toutes les variables.

Algorithme 8 : Définition de la marche aléatoire

1 s← (1, . . . , d) × k;

2 Mélanger aléatoirement la séquence s;

3 x0← Tirage d’un point de départ en utilisant les séquences de Sobol; 4 x← x0; 5 Évaluation dex; 6 fort∈ {1, . . . , kd} do 7 xt← Mutation de la variable st dext−1; 8 Évaluationxt; 9 Return(x0, . . . , xkd)

La marche aléatoire uniforme est reproduiteN fois afin d’explorer plusieurs points de départs. Pour chaque point de départ, 3 marches sont considérées, avec 3 valeurs différentes de la plage de mutation :0.1 , 0.25 et 0.5 Ces trois valeurs différentes permettent de « tester » le comportement de l’algorithme pour différentes valeurs de la plage de mutation.

Si l’on notetc le temp moyen de calcul d’un point du problème, le coût total de la marche est3(kd + 1)N tc,

où N est le nombre de points de départ considéré. Pour un budget de calcul donné, le choix des paramètres N et k est le résultat d’un compromis. Une grande valeur de k permet des marches plus longues et donc de définir des métriques plus intéressantes sur chaque marche, et une grande valeur deN permet de mieux couvrir l’espace de recherche en multipliant les points de départ. Pour un espace de recherche de grande dimension, une faible valeur dek semble donc plus adaptée afin d’explorer une plus grande partie de l’espace de recherche.

4.2.2

Définition du problème d’optimisation prenant en compte

l’analyse de paysage de fitness

Une fois l’échantillonnage de l’espace de recherche réalisé, la première étape est de l’utiliser comme aide à la définition du problème d’optimisation, c’est-à-dire pour choisir les observables les plus pertinentes, et restreindre l’espace de décision.

4.2.2.1

Définition et normalisation de l’espace objectif

L’efficacité de l’algorithme MOEA/D est d’autant plus grande que le nombre d’objectifs est restreint. Il est donc nécessaire de sélectionner un petit nombre d’objectifs parmi les grandeurs d’intérêt. On suppose ici que toutes les grandeurs d’intérêts ont un intérêt égal.

L’analyse du paysage de fitness nous donne une méthode afin d’arbitrer entre les objectifs. On peut en effet tracer les corrélations entre les différents objectifs. Considérer deux objectifs fortement corrélés positivement semble être un gâchis de ressources, puisque minimiser l’un conduira à minimiser l’autre. De même, considérer deux objectifs fortement corrélés négativement est une perte de ressources. En effet, il suffira de retenir au moment de l’analyse du Front de Pareto que ces objectifs sont opposés. Afin d’optimiser les ressources, on se propose donc d’identifier des groupes d’observables fortement corrélées entre elles. Pour chaque groupe, on choisira une valeur d’intérêt uniquement. Ces valeurs seront les objectifs du problème. On retiendra les valeurs qui leur ont été associées pour l’analyse finale des solutions dans l’espace objectif.

L’analyse du paysage de fitness est également utile pour la normalisation de l’espace objectif. En effet, dans l’algorithme MOEA/D, la décomposition risque d’introduire une différence d’importance entre les objectifs s’ils ont des ordres de grandeur radicalement différents. Il est donc important de les normaliser. Habituellement, on se contente de diviser les valeurs de l’objectif par une valeur fixe connue a priori, par exemple la valeur de l’objectif pour les paramètres actuels [54]. Cependant, cette normalisation ne permet pas de prendre en compte des différences importantes de variance, qui auraient aussi pour effet de favoriser l’un des objectifs. Afin de normaliser la distribution des objectifs, on utilise la variable centrée réduite, en calculant la moyenne de l’objectif et sa variance à partir des données de l’analyse de paysage de fitness. De cette façon, on peut espérer que les objectifs normalisés auront tous les deux une moyenne de 0 et une variance de 1. Si on note µj et σj

la moyenne et l’écart type de l’objectifj mesurés sur la marche aléatoire, on normalise les objectifs de la façon suivante :

∀j ∈ {1, . . . , m}, fnorm,j =

fj− µj

σj

(4.9)

4.2.2.2

Réduction de l’espace de décision

L’étude du paysage de fitness permet également de redéfinir plus efficacement l’espace de recherche, vis-à-vis des objectifs sélectionnés. Il est en effet possible, puisque seulement un paramètre est modifié à chaque pas, de calculer la variation des objectifs associée à chaque entrée. On définit alors l’importance du paramètre i pour l’objectif j. Étant donné l’ensemble des N marches aléatoires conduites pour échantillonner l’espace de recherche(rw1, . . . , rwN), on définit l’ensemble des pas comme :

S ={(xt, xt−1)∈ rwj : j∈ {1, . . . , N}} (4.10)

et en particulier l’ensemble des pas liés à la variation du paramètrei :

Si={(xt, xt−1)∈ S : xt,i6= xt−1,i} (4.11)

On peut alors définir l’ensemble des variations, pour un ensemble de pas donné X et l’objectif j : δj(X) =

{fj(xt)− fj(xt−1) : (xt, xt−1)∈ X} (4.12)

On définit enfin l’importance du paramètre i pour l’objectif j en comparant les variations liées à i au reste des variations : imp j (i) =||δ j(S i)||2 ||δj(S)|| 2 (4.13) Il est alors possible de classer les leviers d’optimisation selon leur importance, et éventuellement d’éliminer des paramètres jugés peu influents sur les objectifs.

4.2.3

Calibrage de l’algorithme MOEA/D à partir de l’analyse

du paysage de fitness

Une fois le problème entièrement défini, il reste à calibrer les paramètres de l’algorithme MOEA/D. Il s’agit, pour chaque entrée, de régler le taux de mutationp et la plage de mutation r, définis à la section 4.1.3.2.

On introduit pour cela deux indicateurspjneutreetp j

grandpour mesurer le nombre de variations nulles, et de

grandes variations.

Le taux de variations nulles pour les variations de l’ensemble X (qui pourra au choix être δj(S) pour un

taux global ouδj(S

i) pour un taux lié au paramètre i) est défini comme étant la proportion de variations nulles

de l’ensembleX :

pjneutre(X) = 100×|{δ = 0 : δ ∈ X}|

|X| (4.14)

Le taux de grandes variations est défini comme étant la proportion de variations supérieures en valeur absolue à une valeurα :

pjgrand(X) = 100×|{|δ| > α : δ ∈ X}|

|X| (4.15)

Le seuil α est pris égal au décile supérieure de l’ensemble δj(S). Ainsi, pj

grand(δj(Si)) mesure la probabilité

qu’une variation defj liée à une modification du paramètrei soit dans les 10% plus grandes variations de fj.

Il n’existe pas de règle précise pour calibrer r et p. Cependant, on peut se baser sur plusieurs heuristiques, en gardant en mémoire que ces paramètres règlent le compromis entre exploration et exploitation.

— Si une entrée génère peu de grandes variations et beaucoup de zéros, alors sa plage de mutation doit être agrandie pour compenser et permettre l’exploration.

— Inversement, si une entrée génère beaucoup de grandes variations, alors sa plage de mutation doit être réduite pour favoriser l’exploitation. Cette modification peut ralentir la phase d’exploration, on peut pour compenser augmenter son taux de mutation.