• Aucun résultat trouvé

Chapitre 3. Problème d’Optimisation Multicritères

5. Les principales métaheuristiques pour l’optimisation multicritères

5.1. Les techniques Non-élitiste

Les approches que nous allons voir ne conservent pas les individus Pareto optimaux trouvés au cours des itérations, ce qui rend difficile le maintien de la diversité sur la frontière de Pareto. D’où, la convergence des solutions vers la frontière de Pareto est lente, [Berro, (2001].

5.1.1. Multiple Objective Genetic Algorithm (MOGA)

La méthode MOGA, Proposée par [Fonseca et al. 1995] est à la base de la technique de Goldberg, dans laquelle chaque individu de la population est rangé en fonction du nombre d’individus qui le dominent. On utilise une fonction de notation permettant de prendre en compte le rang de l’individu et le nombre d’individus ayant le même rang, [Berro, 2001]. Considérons, pour illustration, un individu & à la génération t, dominé par 6& 0 individus de la génération en cours, il se voit attribuer le rang : G- 3 &, 0 1 w 6& 0

Tous les individus non dominés sont affectés du rang 1, tandis que les dominés sont pénalisés en fonction de la densité de la population de la région correspondante de la surface de compromis.

Algorithme MOGA.

Initialisation de la population Évaluation des objectifs

Assignation d’un rang basé sur la dominance Assignation d’une efficacité à partir de ce rang Pour i =1 jusqu’à N Faire

Sélection aléatoire proportionnelle à l’efficacité ; Croisement ;

Mutation ;

Évaluation des individus ;

Assignation d’un rang basé sur la dominance ; Assignation d’une efficacité à partir de ce rang ; Fin Pour

Algorithme (3.2) : Algorithme MOGA L’évaluation de la fitness de chaque individu se fait de la façon suivante :

1) Tri de la population selon le rang.

2) Attribuer la fitness des individus par interpolation du meilleur (rang 1) au pire (rang $ …) dans le sens proposé par [Goldberg, 1989], selon une certaine fonction, généralement linéaire. 3) faire la moyenne des fitnesses des individus ayant le même rang, de sorte que chacun d’entre eux soit échantillonné à la même vitesse. Ceci permet de maintenir la fitness global de la population, tout en maintenant constante la pression de sélection appropriée.

La méthode MOGA présente le principal, d’être efficace et relativement facile à mettre en œuvre. Néanmoins, elle est critiquée, d’avoir effectué le partage de l’espace des objectifs, ce qui implique que deux vecteurs différents avec les mêmes valeurs de la fonction objectif ne peuvent exister simultanément dans la population. La principale faiblesse de MOGA est que, comme toutes les autres techniques de classement de Pareto, sa performance dépend fortement d’une sélection appropriée du facteur de partage (sharing), [Zidani, 2013].

5.1.2. Non dominated Sorting Genetic Algorithm (NSGA)

Dans l’algorithme NSGA proposé par [Srinivas et al. 1993], le calcul de fitness s’effectue en divisant d’abord la population en plusieurs fronts en fonction du degré de dominance au sens de Pareto de chaque individu. Les individus non dominés de la population courante constituent le premier front de Pareto. On attribue alors à tous les individus de ce front la même valeur de fitness factice. Cette valeur est supposée, elle donne une chance égale de reproduction à tous ces individus. Mais pour maintenir la diversité de la population, il est nécessaire d’appliquer une fonction de partage sur cette valeur. Ensuite, ce premier groupe d’individus est temporairement supprimé de la population. On recommence cette procédure jusqu’à l’identification des solutions du deuxième front. La valeur factice de fitness attribuée à ce second groupe est inférieure au plus petit fitness, après application de la

fonction de partage sur le premier front. Ce mécanisme est répété jusqu’à ce que l’on ait traité tous les individus. L’algorithme se déroule ensuite comme un algorithme génétique standard. [Srinivas et al. 1993] utilisent une sélection basée sur le reste stochastique. Mais leur méthode peut être utilisée avec d'autres heuristiques de sélections (tournoi, roulette pipée, etc.). Grâce à sa procédure d’assignement de fitness basée à la fois sur la notion de dominance et la fonction de partage, le NSGA semble le plus approprié à maintenir la diversité de la population et à répartir plus efficacement les solutions sur le front de Pareto. Néanmoins, cet algorithme présente quelques insuffisances en raison de sa complexité de calcul et de sa sensibilité au choix de la valeur xyz:{, Figure (3.21).

Cette méthode paraît moins efficace en temps de calcul que la méthode MOGA car le temps de calcul de la notation (tri de la population et sharing) est important. Mais l'utilisation d'un sharing sur l'espace d'état et le tri des solutions en différentes frontières semblent plus appropriés à maintenir une grande diversité de la population et à répartir plus efficacement les solutions sur la frontière de Pareto, [Bagchi, 1999]. De plus, cette méthode est applicable dans des problèmes avec un nombre quelconque d'objectifs. Trois critiques ont été soulevées pour cette méthode :

− Sa complexité de calcul de † M. …O avec k le nombre d'objectifs et N la taille de la population, essentiellement due au processus de tri de la population et d'application de l'heuristique de partage. − Son approche non élitiste : Le tri de la population est une heuristique intéressante pour distribuer la population sur l'ensemble de la frontière de Pareto mais cette procédure ralentit le processus de convergence de l'algorithme. De plus, cet effet est accentué par l'utilisation de la méthode de sélection par reste stochastique.

− La nécessité de spécifier un paramètre de sharing.

Population initiale Nbgen = 0 ;

Front = 1

Début

Recherche des individus non dominés Nbgen + 1

Sélection Croisement

Oui

Non

Calcul fitness factice Sharing Front + 1 Mutation

Nbgen < max ? Fin

Figure (3.22) : Schéma de fonctionnement de NSGA Population

classée ?

5.1.3. Niched Pareto Genetic Algorithm (NPGA)

La méthode NPGA proposé par Jeffrey Horn et ses collègues, [Jeffrey et al. 1993], [Horn et al. 1994] utilisent un tournoi basé sur la notion de dominance de Pareto. Elle compare deux individus choisis au hasard, à une sous-population, également choisie au hasard, en général, d’environ 10% de l’ensemble la population. Si l’un d’eux est dominé par les individus sous-population et l’autre non, alors il est positionné dans la population suivante. Dans les autres cas une fonction de sharing est appliquée pour sélectionner l’individu. Le réglage de la taille de la sous population permet d’exercer une pression variable sur la population et ainsi d’augmenter ou de diminuer la convergence de l’algorithme. Le choix de cette taille à un effet majeur sur la vitesse de convergence, une valeur de l’ordre de 10% de N (Nombre d’individus de la population) donne une bonne distribution des individus. Cette valeur apporte un bon compromis entre élitisme et représentativité statistique de la population. Elle permet non seulement d’exercer une pression suffisante sur la sélection des individus, mais également d’éviter une convergence non désirée due à une sélection effectuée sur un échantillon non représentatif de la population. À travers leurs expérimentations Horn et Napfliotis établissent le constat suivant :

− Si la taille de la sous-population est enverront 1% de N, il y a trop de solutions dominées. Cette valeur n'apporte pas assez d'élitisme dans la sélection, d'où un grand nombre de solutions non dominées qui subsistent dans la population.

− Si la taille de la sous-population est enverront 10% de N, une bonne distribution des individus est obtenue. Cette valeur apporte un bon compromis entre élitisme et représentativité statistique de la population. Elle permet non seulement d'exercer une pression suffisante sur la sélection des individus, mais également d'éviter une convergence non désirée due à une sélection effectuée sur un échantillon non représentatif de la population.

− Si la taille de la sous-population est enverront supérieur à 20% de N, il y a une convergence prématurée, car la pression est trop importante lors de la sélection.

Cette méthode nécessite la maîtrise de deux paramètres : le sharing et la taille de sous population. Les solutions trouvées sont de bonne précision et cette approche est plus rapide que l’approche précédente car le sharing n’est appliqué que sur une portion de la population, Algorithme (3.3).

Algorithme de la fonction de sélection

sous_pop () ← Sélection aléatoire de Tspop + 2 candidat1 ← sous_pop (1)

candidat2 ← sous_pop(1) cand_dominé1 ← faux cand_dominé2 ← faux Pour i de 3 à tdom + 2 faire

cand_comp ← sous_pop (i)

Si (cand_comp domine cand_dominé1) alors cand_dominé1 ← vrai

Fin Si

Si (cand_comp domine cand_dominé2) alors cand_dominé2 ← vrai

Fin Si Fin Pour

Si (cand_dominé1 et non cand_dominé2) alors retourne cand_dominé2

sinon

si (non cand_dominé1 et cand_dominé2) alors retourne cand_dominé1

sinon appliquer l'heuristique de sharing Fin Si

Fin Si

Algorithme (3.3) : Algorithme de la fonction de sélection Avec Tspop désigne la taille de la sous-population.