• Aucun résultat trouvé

Optimisation de fonctions boîtes noires

Algorithme 5.1 Algorithme d’optimisation basés sur une recherche locale Input : La fonction à minimiser f

5.2 Optimisation Multi-objectif

Dans cette partie, la résolution de problèmes d’optimisation caractérisés par la pré-sence de plusieurs critères à minimiser f1,· · · , fNobj (Nobj > 2) est développée. Soit F(x) =

f1(x), · · · , fNobj(x)

le vecteur des objectifs au point x. Alors qu’avec un unique objectif, il est facile de comparer deux solutions en les ordonnant selon la valeur prise par la fonction coût en ces points, il n’est pas toujours évident de comparer deux solutions dans le cas multi-objectif. Par exemple avec deux objectifs, comment comparer deux so-lutions x et x0 telles que f1(x) < f1(x0) et f2(x) > f2(x0) ? Afin de pouvoir définir ce qu’est un optimum malgré l’impossibilité dans le cas général de pouvoir comparer toutes les solutions entre elles, il est nécessaire d’introduire la dominance de Pareto. C’est une relation d’ordre partielle qui permet de généraliser au cas multi-objectif la relation d’ordre totale qu’est le « plus petit que » (<) avec un seul objectif.

Définition de la dominance de Pareto : Soit (x, x0) ∈ D2

x. On dit que F (x) domine

F(x0), ce qui s’écrit F (x) ≺ F (x0) dans le cas de la recherche du minimum, si et seulement si

(

∀i ∈ {1, · · · , Nobj} , fi(x) 6 fi(x0) ∃j ∈ {1, · · · , Nobj} , fj(x) < fj(x0)

Cette dominance est illustrée en figure 5.6 dans le cas de deux objectifs.

Figure 5.6 – Illustration de la dominance de Pareto dans le cas de deux objectifs. Le point noir domine les points rouges, est dominé par les points bleus et n’est pas comparable au sens de Pareto avec les points blancs.

Définition de l’optimalité de Pareto : un point x ∈ Dx est Pareto-optimal s’il n’existe pas d’autres points x0

∈ Dx tel que F (x)  F (x0). En d’autres termes, un point Pareto-optimal est un point dont le vecteur des objectifs F (x) est non-dominé.

Définition du front de Pareto optimal : Sachant que la dominance de Pa-reto est une relation d’ordre partielle, certains points ne sont pas comparables par la dominance de Pareto comme illustré par les points blancs sur la figure 5.6. De

ce fait, il peut exister plusieurs points Pareto-optimaux. On appelle donc l’ensemble des points Pareto-optimaux le front de Pareto optimal (noté P F?), et défini par XP F? = {x ∈ Dx : 6 ∃x0 ∈ Dx tel que F (x)  F (x0)} et les sorties en ces points : YP F? = F

xP F? = n

f1(xP F?), · · · , fNobj(xP F?)o

. Ce sont donc l’ensemble des points non-dominés et les solutions recherchées du problème d’optimisation.

Prise en compte de plusieurs critères en présence d’un a priori. La dominance de Pareto permet donc de définir ce que signifie un optimum en présence de plusieurs objectifs : un ensemble de compromis optimaux et non comparables entre eux sans hiérar-chisation des objectifs. Toutefois, il arrive que l’utilisateur ne souhaite pas connaître cet ensemble dans son intégralité, par exemple s’il ne recherche qu’une seule solution. Dans ce cas-là, s’il est de plus capable de hiérarchiser les objectifs à l’aide d’a priori disponibles sur ceux-ci, il est possible de reformuler le problème en un problème mono-objectif avec ou sans contraintes. Voici une liste non exhaustive d’alternatives à l’optimisation simultanée de plusieurs critères provenant des études [Zhang et Li, 2007] ou de la revue des méthodes de résolution d’un problème avec plusieurs critères fournie par [Marler et Arora, 2004] :

— Introduire une fonction utilité mono-objectif où tous les objectifs sont som-més puis pondérés par des réels ai > 0 tels que PNx

i=1ai = 1. Ces pondérations servent à refléter les choix provenant des a priori disponibles. Cette technique s’ap-pelle Weighted Sum dans la littérature. Par exemple, ceci revient à résoudre :

min

x∈Dx

f(x) avec f(x) =XNx

i=1

aifi(x) (5.5)

les objectifs fi pouvant être rendus sans dimension à l’aide d’une valeur caractéris-tique afin d’être comparables même dans le cas où ils traduisent des quantités de nature différente, comme une longueur et une masse.

Ces formulations ont toutefois un certain nombre de limites : il peut être difficile de choisir les coefficients ai, le problème d’optimisation ainsi défini n’a pas toujours une solution acceptable et, dans le cas général, cette formulation ne permet pas de trouver toutes les zones du front de Pareto dans l’espace des objectifs. Toutefois, pour compenser le premier défaut il est possible de faire évoluer les poids a au cours de l’optimisation.

— Introduire une fonction utilité mono-objectif plus complexe telle que la pon-dération de Tchebycheff aussi appelée Weighted Min-Max. Elle consiste à minimiser le maximum de tous les objectifs pondérés, c’est-à-dire :

min x∈Dx f(x) avec f(x) = max 16i6Nobj {ai|fi(x) − f? i|} (5.6) avec  f? 1,· · · , f? Nobj 

∈ RNobj est le vecteur des solutions des problèmes mono-objectifs c’est-à-dire ∀i ∈ {1, · · · , Nobj}, f?

i = minx∈Dxfi(x).

Cette formulation présente l’avantage d’être une condition nécessaire et suffisante pour que la solution soit Pareto-optimale. Néanmoins, le choix des poids ain’est pas toujours évident, notamment si le front entier est recherché. Comme précédemment, il est possible de faire évoluer ces poids au cours de l’optimisation.

— Utiliser une méthode lexicographique consistant à ranger les objectifs par ordre d’importance et en résolvant de manière itérative des problèmes mono-objectifs

sous contraintes du type : min

x∈Dx

fi(x) s.c fj(x) 6 fj(x?) j 6= i (5.7) en commençant par l’objectif le plus important : fi(x?) = minx∈Dxfi(x). Cette formulation présente l’avantage d’être une condition nécessaire et suffisante pour que la solution soit Pareto-optimale. Cependant, les contraintes sont très restric-tives et il est donc compliqué de trouver une solution admissible pour chacun des problèmes. De plus, cette méthode étant itérative, elle est coûteuse et difficilement parallélisable.

— En simplifiant le point précédent, il est également possible de se ramener à un problème mono-objectif avec contraintes en ne minimisant que l’objectif le plus important et en mettant les autres objectifs en contraintes :

min

x∈Dx

fi(x) s.c fj(x) 6 ¯fj j6= i (5.8) avec ¯fj étant un a priori décrivant la valeur à ne pas dépasser par les autres objectifs moins importants. De la même manière que pour la méthode lexicographique, cela peut conduire à un espace de solution admissible très restreint voire vide ce qui rend la résolution potentiellement difficile.

D’une manière générale, ces méthodes ne conduisent pas à la même solution et cha-cune permet de prendre en compte des a priori de nature différente. Dans le cas où l’uti-lisateur n’a aucun a priori disponible ou s’il souhaite connaître l’ensemble des solutions optimales, aucune de ces méthodes n’est utilisable en l’état et il est nécessaire d’utiliser des algorithmes multi-objectifs globaux, c’est-à-dire cherchant le front de Pareto entier. Ceci permet au décideur de faire son choix parmi un ensemble de compromis optimaux non comparables. Ces méthodes sont détaillées dans la première partie, notamment celles basées sur les algorithmes génétiques du type NSGA-II. Enfin, l’utilisation de modèles de substitution pour la résolution de problèmes multi-objectifs est également détaillée. Comme en mono-objectif, cette méthode permet de réduire le nombre d’appels nécessaires aux objectifs.

5.2.1 Algorithmes multi-objectif globaux

Le front de Pareto optimal (P F?) fournit aux ingénieurs un ensemble de solutions optimales non comparables, c’est-à-dire améliorant au moins l’un des objectifs par rapport aux autres points Pareto-optimaux. Cela permet donc à l’ingénieur de choisir le compromis qui correspond le plus à son besoin.

Afin de calculer le front de Pareto entier, il est nécessaire d’explorer intensivement l’espace des objectifs : alors qu’en mono-objectif, les zones à explorer sont celles où la valeur de l’objectif est minimum, en multi-objectifs, un point quelconque pour l’un des objectifs peut tout à fait être le point critique des autres critères. De la même manière, des points non critiques ne représentant le minimum d’aucun des objectifs peuvent tout à fait appartenir à P F?.

Cette exploration peut se faire de deux manières : soit en utilisant des algorithmes basés sur la résolution de plusieurs problèmes mono-objectifs et en faisant varier les poids permettant cette scalarisation. C’est par exemple le cas de la méthode NBI pour Normal

Boundary Intersection [Das et Dennis, 1998] développée par Das et Dennis. Cette

tech-nique a l’avantage d’être applicable quel que soit le nombre d’objectifs. Toutefois, elle nécessite de résoudre des problèmes sous contraintes. Le nombre de résolutions de ce type peut d’ailleurs être important puisqu’à chaque point souhaité dans le front, il faut réaliser une nouvelle résolution. De plus, il faut rajouter la recherche des optima mono-objectifs selon chaque critère avant de chercher les autres points du front, ce qui nécessite Nobj

optimisations mono-objectifs. Enfin, les discontinuités du front sont mal prises en compte par ce type de méthodes.

Les autres méthodes consistent à mettre en place des algorithmes évolutionnaires dont la sélection est basée sur la dominance de Pareto.

Méthodes évolutionnaires - L’exemple de NSGA-II

Afin d’avoir un front discrétisé plus finement et de mieux explorer les différentes objec-tifs, les méthodes évolutionnaires présentées dans le cas mono-objectif, par exemple par la figure 5.4, sont une alternative intéressante en multi-objectif. En effet, elles permettent de prendre en compte les discontinuités du front ou des fonctions objectif, elles permettent aussi de pouvoir travailler sur des domaines faisables disjoints ou encore elles peuvent être utilisées avec des fonctions bruitées.

Par ailleurs, leur fonctionnement est intrinsèquement adapté à la prise en compte de différents objectifs : premièrement parce qu’elles explorent largement l’espace des entrées et donc les fonctions objectif. Deuxièmement parce que la notion d’évolution biologique, notamment génétique, permet de favoriser la diversité parmi une population, ce qui est justement le but dans le cas de l’optimisation multi-objectif où il ne faut pas favoriser une zone du front par rapport à une autre. Cette propriété s’appelle le nichage et peut être prise en compte en choisissant les bons opérateurs de sélection.

Figure 5.7 – Illustration des critères de sélection des méthodes évolutionnaires Il existe de nombreuses techniques évolutionnaires pour l’optimisation multi-objectif. Certaines sont basées sur l’adaptation au cas multi-objectif d’algorithmes mono-objectifs. Par exemple, les essaims particulaires appelés MOPSO [Coello Coello et Lechuga, 2002] ou CMA-ES avec MO-CMA-ES [Igel et al., 2007] ont été développés en modifiant l’opérateur de sélection afin de l’adapter à la présence de plusieurs critères, par exemple en utilisant la notion d’hypervolume, qui est définie en section 5.2.2, dans le cas de MO-CMA-ES.

D’autres algorithmes sont basés sur la transformation du problème multi-objectif en la résolution de plusieurs problèmes mono-objectifs, par exemple à l’aide de la pondéra-tion de Tchebycheff détaillée à l’équapondéra-tion (5.6). Cette méthode s’appelle MOEA/D pour

Multiobjective Evolutionary Algorithm Based on Decomposition [Zhang et Li, 2007] et elle

consiste à résoudre simultanément Npop sous-problèmes formulés à l’aide de Npop valeurs différentes des coefficients a pour chaque sous-problème. Ces Npop sous-problèmes sont ensuite résolus simultanément en une seule exécution de l’algorithme évolutionnaire. Afin de ne pas perdre de solutions en cours de résolution, les meilleures solutions à l’itération courante sont stockées dans une population à part.

Enfin, les méthodes les plus populaires sont quant à elles basées sur un mélange d’éli-tisme et de nichage dans leur étape de sélection. L’élid’éli-tisme consiste à ne garder que les solutions qui sont le moins dominées, par exemple en classant les solutions par rang. Le ni-chage consiste à garder de la diversité dans les solutions en favorisant celles qui sont le plus éloignées d’autres solutions dans l’espace des objectifs. Ces deux critères sont représentés sur la figure 5.7. On peut par exemple citer SPEA-II [Zitzler et al., 2001] ou NSGA-II [Deb et al., 2002] qui sont deux algorithmes populaires car fournissant le meilleur résultat dans une grande diversité de cas tests selon l’étude de Deb [Deb, 2011]. Alors que SPEA-II est basé sur le stockage des meilleures solutions, NSGA-II travaille à population constante. NSGA-II (Non-dominated Sorting Genetic Algorithm) s’inspire de la génétique en tra-vaillant sur le génotype (c’est-à-dire les coordonnées des entrées) des meilleurs individus à l’itération précédente pour générer à chaque itération les nouveaux individus. Afin de caractériser ce qu’est une bonne solution et détecter les meilleures, l’opérateur de sélection se base sur le phénotype, c’est-à-dire la valeur des objectifs pour ce jeu de coordonnées. Elles permettent de garder les solutions favorisant l’élitisme et le nichage. Les étapes de cet algorithme sont représentées sur la figure 5.10. En voici le détail :

— L’initialisation permet de générer aléatoirement sur tout le domaine Dx une po-pulation de Npopindividus P =

x1,· · · , xNpop. Ensuite, comme pour l’algorithme à évolution différentielle (cf figure 5.4), NSGA-II fait évoluer la population grâce à des opérateurs stochastiques de croisement et de mutation. Il sont décomposés de la manière suivante :