WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Contribution à l'optimisation complexe par des techniques de swarm intelligence

( Télécharger le fichier original )
par Lamia Benameur
Université Mohamed V Agdal Rabat Maroc - Ingénieur spécialité : informatique et télécommunications 0000
  

Disponible en mode multipage

     

    UNIVERSITÉ MOHAMMED V - AGDAL

    FACULTÉ DES SCIENCES

    Rabat

     

    N° d'ordre: 2493

    THÈSE DE DOCTORAT
    Présentée par :
    Lamia Benameur
    Discipline : Sciences de l'Ingénieur
    Spécialité : Informatique et Télécommunications

    Titre : Contribution à l'optimisation complexe par des techniques
    de swarm intelligence

    Soutenue le : 13 Mai 2010 Devant le jury

    Président :

    D. Aboutajdine, Professeur, Faculté des Sciences de Rabat.

    Examinateurs :

    A.A. El Imrani, Professeur, Faculté des Sciences de Rabat

    B. El Ouahidi, Professeur, Faculté des Sciences de Rabat

    A. Sekkaki, Professeur, Faculté des Sciences Ain Chock de Casablanca J. Benabdelouahab, Professeur, Faculté des Sciences de Tanger

    Y. El Amrani, Professeur Assistant, Faculté des Sciences de Rabat

    Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat - Maroc
    Tel +212 (0) 37 77 18 34/35/38, Fax : +212 (0) 37 77 42 61, http://www.fsr.ac.ma

    Avant-Propos

    Les travaux présentés dans ce mémoire ont été effectués au Laboratoire Conception et Systèmes (LCS) de la Faculté des Sciences de Rabat (Equipe de Soft Computing et aide a la décision) sous la direction du Professeur A. A. El Imrani.

    J'exprime, tout d'abord, ma vive reconnaissance a Monsieur A. Ettouhami, Directeur du LCS, pour la confiance qu'il m'a accordée en m'autorisant a mener mes travaux de recherche dans ce laboratoire.

    Je ne saurai témoigner toute ma gratitude a Monsieur A. A. El Imrani, Professeur a la Faculté des Sciences de Rabat, pour ses qualités humaines et scientifiques. Je suis heureuse de lui adresser mes vifs remerciements pour l'intérêt qu'il a manifesté a ce travail en acceptant la charge de suivre de près ces travaux. Je voudrais lui exprimer ma profonde reconnaissance pour l'aide qu'il m'a constamment octroyée tout au long de ce travail, qu'il trouve, en ce mémoire, le témoignage de mes sincères remerciements.

    Je présente a Monsieur D. Aboutajdine, Professeur a la Faculté des sciences de Rabat, l'expression de ma profonde reconnaissance, pour l'honneur qu'il me fait en acceptant de présider ce jury de thèse.

    Je tiens a remercier Monsieur B. El Ouahidi, Professeur a la Faculté des Sciences de Rabat, de l'intérêt qu'il a porté a ce travail en acceptant d'en être rapporteur et de sa participation au jury de cette thèse.

    Je suis particulièrement reconnaissante a Monsieur J. Benabdelouahab, Professeur a la Faculté des Sciences et Techniques de Tanger, qui a bien voulu consacrer une part de son temps pour s'intéresser a ce travail, d'en être le rapporteur et qui me fait l'honneur de siéger dans le jury de cette thèse.

    Que Monsieur A. Sekkaki, Professeur a la Faculté des Sciences Ain Chock de Casablanca, accepte mes vifs remerciements pour avoir bien voulu juger ce travail et pour sa participation au jury de cette thèse.

    Mes remerciements et ma haute considération vont également a Monsieur Y. El Amrani, Professeur assistant a la Faculté des Sciences de Rabat, pour ses remarques, ses nombreux conseils et pour l'intérêt qu'il a porté a ce travail.

    Je n'oublierai pas d'exprimer mon amitié et ma reconnaissance a Mademoiselle J. Alami Chentoufi, docteur chercheur et membre de l'équipe Soft computing et aide a la décision du laboratoire LCS, qui m'a initié au sujet de thèse. Elle m'a fait bénéficier de ses encouragements, de son soutien amical et moral et de son aide scientifique de tous les instants qu'elle n'a cessés de me témoigner.

    Je tiens à remercier tous les membres du Laboratoire Conception et Systèmes, Professeurs et Doctorants, pour leur esprit de groupe. Qu'ils trouvent ici le témoignage de toute mon estime et ma sincère sympathie.

    Je tiens finalement à souligner que la partie de ce travail, portant sur le problème d'affectation de fréquences mobiles, entre dans le cadre du projet "Résolution du problème d'affectation de fréquences par des méthodes de Soft Computing" soutenu par la Direction de la technologie du Ministère de l'Enseignement Supérieur.

    "Durant les trois dernières années de mes études doctorales, j'ai bénéficié d'une bourse d'excellence octroyée par le Centre National de Recherche Scientifique et Technique (CNRST) et ce dans le cadre du programme des bourses de recherche initié par le ministère de l'Education Nationale de l'Enseignement Supérieur, de la Formation des Cadres et de la Recherche Scientifique".

    Table des matières

    Introduction générale 1

    I Application de l'algorithme d'optimisation par essaims particulaires à des problèmes réels 5

    1 Techniques de calcul "intelligent" 7

    1.1 Introduction 8

    1.2 Techniques de Calcul "Intelligent" 10

    1.2.1 Les réseaux de neurones (Neural Networks) 10

    1.2.2 La logique floue (Fuzzy Logic) 12

    1.2.3 Les techniques de calcul évolutif (Evolutionary Computation) 13 1.3 Conclusion 24

    2 Application de l'algorithme d'optimisation par essaims particulaires aux problèmes MSAP et PAF 25

    2.1 Introduction 26
    2.2 Commande en vitesse des machines synchrones à aimant permanent

    (MSAP) 27

    2.2.1 Modélisation d'une machine synchrone à aimant permanent 27

    2.2.2 Conception d'un contrôleur PI basé sur les essaims particulaires 29
    2.2.3 Résultats de simulation 31

    2.3 Problème d'affectation de fréquences (PAF) 38

    2.3.1 Problématique 38

    2.3.2 Formulation du FS-FAP 39

    2.3.3 Implémentation de l'algorithme d'optimisation par essaims

    particulaires à la résolution de FS-FAP 40

    2.3.4 Etude expérimentale 42

    2.3.5 Comparaison avec d'autres techniques 47

    2.4 Conclusion 49

    II Conception de nouveaux modèles pour l'optimisation multimodale et l'optimisation multiobjectif 50

    3 Conception d'un nouveau modèle d'optimisation multimodale (Multipopulation Particle Swarms Optimization MPSO) 52

    3.1 Introduction 53

    3.2 Problématique de l'optimisation multimodale 54

    3.3 Techniques de l'optimisation multimodale 55

    3.3.1 Les méthodes de niche 55

    3.3.2 Les systèmes basés sur l'intelligence des essaims particulaires

    (PSO) 61

    3.3.3 Les systèmes immunitaires artificiels 62

    3.4 Synthèse 63

    3.5 Conception d'un nouveau modèle d'optimisation multimodale (MPSO) 64

    3.5.1 Le principe du modèle 64

    3.5.2 La couche de classification automatique floue 64

    3.5.3 La couche de séparation spatiale 67

    3.5.4 Le concept de migration 68

    3.5.5 Fonctionnement du modèle 68

    3.5.6 Complexité temporelle de l'algorithme 69

    3.6 Etude expérimentale 69

    3.6.1 Fonctions tests 70

    3.6.2 Résultats numériques 71

    3.6.3 Comparaisons avec d'autres techniques 79

    3.7 Conclusion 82

    4 Conception d'un nouveau modèle pour l'optimisation multiobjectif 83

    4.1 Introduction 84

    4.2 Principe de l'optimisation multiobjectif 85

    4.2.1 Formulation d'un problème multiobjectif 85

    4.2.2 Exemple de problème multiobjectif 86

    4.3 L'optimisation multiobjectif 86

    4.3.1 Choix utilisateur 87

    4.3.2 Choix concepteur 87

    4.3.3 Les méthodes agrégées 88

    4.3.4 Les méthodes non agrégées, non Pareto 90

    4.3.5 Les méthodes Pareto 92

    4.3.6 Les techniques non élitistes 94

    4.3.7 Les techniques élitistes 96

    4.3.8 Difficultés des méthodes d'optimisation multiobjectif 99

    4.4 Optimisation multiobjectif par essaims particulaires 100

    4.4.1 Leaders dans l'optimisation multiobjectif 102

    4.4.2 Conservation et propagation des solutions non-dominées . . 104

    4.4.3 Maintien de la diversité par création de nouvelles solutions . 105

    4.4.4 Classification des différentes approches 107

    4.5 Synthèse 109

    4.6 Optimisation multiobjectif par essaims particulaires basée sur la Clas-

    sification Floue 110

    4.6.1 Implémentation de la couche PSOMO 110

    4.6.2 Fonctionnement du modèle 111

    4.7 Etude expérimentale 112

    4.7.1 Problèmes tests 113

    4.7.2 Résultats numériques 115

    4.7.3 Comparaisons avec d'autres techniques 115

    4.8 Conclusion 118

    Conclusion générale 119

    Références Bibliographiques 122

    Introduction générale

    Les ingénieurs et les décideurs sont confrontés quotidiennement à des problèmes de complexité grandissante, relatifs à des secteurs techniques très divers, comme dans la conception de systèmes mécaniques, le traitement des images, l'électronique, les télécommunications, les transports urbains, etc. Généralement, les problèmes à résoudre peuvent souvent s'exprimer sous forme de problèmes d'optimisation. Ces problèmes sont le plus souvent caractérisés en plus de leur complexité, d'exigences qui doivent tenir compte de plusieurs contraintes spécifiques au problème à traiter.

    L'optimisation est actuellement un des sujets les plus en vue en " soft computing". En effet, un grand nombre de problèmes d'aide à la décision peuvent être décrits sous forme de problèmes d'optimisation. Les problèmes d'identification, d'apprentissage supervisé de réseaux de neurones ou encore la recherche du plus court chemin sont, par exemple, des problèmes d'optimisation.

    Pour modéliser un problème, on définit une fonction objectif, ou fonction de coût (voire plusieurs), que l'on cherche à minimiser ou à maximiser par rapport à tous les paramètres concernés. La définition d'un problème d'optimisation est souvent complétée par la donnée de contraintes : tous les paramètres des solutions retenues doivent respecter ces contraintes, faute de quoi ces solutions ne sont pas réalisables.

    On distingue en réalité deux types de problèmes d'optimisation : les problèmes "discrets" et les problèmes à variables continues. Parmi les problèmes discrets, on trouve le problème d'affectation de fréquences à spectre fixe : il s'agit de trouver des solutions acceptables en minimisant le niveau global d'interférence de fréquences affectées. Un exemple classique de problème continu est celui de la recherche des valeurs à affecter aux paramètres d'un modèle numérique de processus, pour que ce modèle reproduise au mieux le comportement réel observé. En pratique, on rencontre aussi des "problèmes mixtes", qui comportent à la fois des variables discrètes et des variables continues.

    Cette différenciation est nécessaire pour cerner le domaine de l'optimisation difficile. En effet, deux sortes de problèmes reçoivent, dans la littérature, cette appellation :

    Certains problèmes d'optimisation discrète, pour lesquels on ne connaît pas d'algorithme exact polynomial. C'est le cas, en particulier, des problèmes dits "NP-difficiles".

    Certains problèmes d'optimisation à variables continues, pour lesquels on ne
    connaît pas d'algorithme permettant de repérer un optimum global (c'est-à-
    dire la meilleure solution possible) à coup sûr et en un nombre fini de calculs.

    Des efforts ont longtemps été menés pour résoudre ces deux types de problèmes, dans le domaine de l'optimisation continue, il existe ainsi un arsenal important de méthodes classiques dites d'optimisation globales, mais ces techniques sont souvent inefficaces si la fonction objectif ne possède pas une propriété structurelle particulière, telle que la convexité. Dans le domaine de l'optimisation discrète, un grand nombre d'heuristiques, qui produisent des solutions proches de l'optimum, ont été développées; mais la plupart d'entre elles ont été conçues spécifiquement pour un problème donné.

    Face à cette difficulté, il en a résulté un besoin d'outils informatiques nouveaux, dont la conception ne pouvait manquer de tirer parti de l'essor des technologies de l'information et du développement des mathématiques de la cognition.

    Dans ce contexte, un nouveau thème de recherche dans le domaine des sciences de l'information a été récemment suggéré. Cette voie regroupe des approches possédant des caractéristiques ou des comportements "intelligents". Bien que ces techniques aient été développées indépendamment, elles sont regroupées sous un nouveau thème de recherche baptisé "Techniques de calcul intelligent" (Computational Intelligence). Ce thème, introduit par Bezdek (1994), inclut la logique floue, les réseaux de neurones artificiels et les méthodes de calcul évolutif. Ces différents champs ont prouvé, durant ces dernières années, leur performance en résistant à l'imperfection et à l'imprécision, en offrant une grande rapidité de traitement et en donnant des solutions satisfaisantes, non nécessairement optimales, pour de nombreux processus industriels complexes.

    Par ailleurs, les techniques de calcul "intelligent" peuvent être vues comme un ensemble de concepts, de paradigmes et d'algorithmes, permettant d'avoir des actions appropriées (comportements "intelligents") pour des environnements variables et complexes.

    Selon Fogel, ces nouvelles techniques représentent, de façon générale, des méthodes, de calculs "intelligents", qui peuvent être utilisées pour adapter les solutions aux nouveaux problèmes et qui ne requièrent pas d'informations explicites. Par la suite, Zadeh a introduit le terme Soft Computing qui désigne également les mêmes techniques [Zadeh, 1994].

    Les méthodes de calcul évolutif "Evolutionary Computation" constituent l'un des thèmes majeurs des techniques de calcul "intelligent". Ces méthodes qui s'inspirent de métaphores biologiques (programmation évolutive, stratégie évolutive, programmation génétique, algorithmes génétiques), d'évolution culturelle des populations

    (algorithmes culturels), ou du comportement collectif des insectes (colonies de fourmis, oiseaux migrateurs), etc., sont très utilisées dans le domaine de l'optimisation difficile.

    A la différence des méthodes traditionnelles (Hard Computing), qui cherchent des solutions exactes au détriment du temps de calcul nécessaire et qui nécessitent une formulation analytique de la fonction à optimiser, les méthodes de calcul évolutif permettent l'étude, la modélisation et l'analyse des phénomènes plus ou moins complexes pour lesquels les méthodes classiques ne fournissent pas de bonnes performances, en termes de coût de calcul et de leur aptitude à fournir des solutions au problème étudié.

    Une autre richesse de ces métaheuristiques est qu'elles se prêtent à toutes sortes d'extensions. Citons, en particulier :

    - L'optimisation multiobjectif [Collette et Siarry, 2002], oil il s'agit d'optimiser simultanément plusieurs objectifs contradictoires;

    - L'optimisation multimodale, oil l'on s'efforce de repérer tout un jeu d'optima globaux ou locaux;

    - L'optimisation dynamique, qui fait face à des variations temporelles de la fonction objectif.

    Dans ce contexte, les travaux présentés dans ce mémoire présentent dans un premier temps l'adaptation de l'une des techniques de calcul évolutif, qui s'inspire du comportement collectif des insectes : l'optimisation par essaims particulaires (Particle Swarm Optimization PSO), à l'optimisation de problèmes réels tels que machine synchrone à aimant permanent et le problème d'affectation de fréquences à spectre fixe.

    La seconde partie de ce travail sera consacrée à une investigation de l'optimisation multimodale et l'optimisation multiobjectif par essaims particulaires.

    Dans cet ordre d'idée, le présent travail propose une nouvelle méthode d'optimisation multimodale par essaims particulaires, le modèle MPSO (Multipopulation Particle Swarms Optimization).

    Dans le cadre de l'optimisation multiobjectif, une nouvelle approche, basée sur PSO, la dominance de Pareto et la classification floue, est proposée. Le but principal de cette approche est de surmonter la limitation associée à l'optimisation multiobjectif par essaims particulaires standard. Cette limitation est liée à l'utilisation des archives qui fournit des complexités temporelles et spatiales additionnelles.

    Les travaux présentés dans ce mémoire sont structurés selon quatre chapitres :

    Nous évoquerons dans le premier chapitre un concis rappel sur les différentes techniques de calcul "intelligent". Un intérêt tout particulier est destiné aux techniques de calcul évolutif qui s'inscrivent dans le cadre de l'optimisation globale.

    Le deuxième chapitre illustre la performance de l'algorithme d'optimisation par essaims particulaires dans l'optimisation globale de problèmes réels. Les différentes implémentations effectuées nécessitent une phase d'adaptation de la méthode adoptée ainsi qu'un bon réglage des paramètres. Les problèmes traités dans ce chapitre sont de nature combinatoire, e.g., le problème d'affectation de fréquences dans les réseaux cellulaires, ou des problèmes de prise de décision, e.g., la commande en vitesse des machines synchrones à aimant permanent.

    Le troisième chapitre présente, dans un premier temps, l'état de l'art dans le domaine d'optimisation multimodale, et s'intéresse particulièrement aux techniques de niche, basées sur les algorithmes génétiques, les algorithmes culturels et sur les essaims particulaires. Les différentes couches du modèle présenté (MPSO) seront en-suite décrites plus en détail. Enfin, les performances du modèle MPSO sont validées sur plusieurs fonctions tests et comparées à d'autres modèles.

    Dans le quatrième chapitre nous commencerons par présenter les différentes techniques d'optimisation multiobjectif proposées dans la littérature. Le modèle proposé FC-MOPSO (Fuzzy Clustering Multi-objective Particle Swarm Optimizer) est en-suite présenté et décrit en détail. Les performances du modèle seront enfin évaluées sur plusieurs fonctions tests et comparées à d'autres modèles.

    Première partie

    Application de l'algorithme

    d'optimisation par essaims

    particulaires à des problèmes réels

    Résumé

    Cette partie introduit les différentes techniques de calcul "Intelligent". Les techniques de calcul évolutif tels que les systèmes immunitaires artificiels, les algorithmes évolutifs et les systèmes basés sur l'intelligence collective sont décrites. Dans un deuxième temps, nous présentons l'application de l'algorithme d'optimisation par essaims particulaires sur deux problèmes réels, un problème continu : la commande d'une machine synchrone à aimant permanent (MSAP), et un autre discrèt : le problème d'affectation de fréquences dans les réseaux cellulaires (PAF).

    Chapitre 1

    Techniques de calcul "intelligent"

    1.1 Introduction

    La recherche de la solution optimale d'un problème est une préoccupation importante dans le monde actuel, qu'il s'agisse d'optimiser le temps, le confort, la sécurité, les coûts ou les gains. Beaucoup de problèmes d'optimisation sont difficiles à résoudre, la difficulté ne vient pas seulement de la complexité du problème mais également de la taille excessive de l'espace des solutions. Par exemple, le problème du voyageur de commerce a une taille de l'espace de solutions qui varie en factorielle (n-1) où n est le nombre de villes où il faut passer; On s'aperçoit qu'à seulement 100 villes, il y a ~ 9· 10153 solutions possibles. Il est alors impensable de pouvoir les tester toutes pour trouver la meilleure [Amat et Yahyaoui, 1996].

    En général, un problème d'optimisation revient à trouver un vecteur ?- v ? M, tel qu'un certain critère de qualité, appelé fonction objectif, f : M ? R, soit maximisé (ou minimisé). La solution du problème d'optimisation globale nécessite donc de trouver un vecteur ?-v * tel que

    ?-? v ? M : f(-? v ) = f(-? v *)(resp. =)

    Nous assistons ces dernières années à l'émergence de nouvelles techniques d'optimisation. Le principe de ces techniques repose sur la recherche de solutions en tenant compte de l'incertitude, de l'imprécision de l'information réelle et utilisant l'apprentissage. Le but n'est plus de trouver des solutions exactes, mais des solutions satisfaisantes à coût convenable.

    Sur la base de ces nouvelles techniques, le concept de "Computational Intelligence" (calcul "Intelligent") a été introduit par Bezdek [Bezdek, 1994] pour définir une nouvelle orientation de l'informatique. Ce nouveau thème de recherche considère les programmes comme des entités (ou agents) capables de gérer des incertitudes, avec une aptitude à apprendre et à évoluer.

    Le terme "Soft Computing", a été également proposé par Zadeh [Zadeh, 1994] qui se réfère à un ensemble de techniques de calcul (Computational techniques) utilisées dans plusieurs domaines, notamment l'informatique, l'intelligence artificielle et dans certaines disciplines des sciences de l'ingénieur.

    Les techniques de soft computing regroupent diverses méthodes de différentes inspirations, notamment la logique floue, les réseaux de neurones et les techniques de calcul évolutif. En général, ces méthodes reposent particulièrement sur les processus biologiques et sociologiques et considèrent les être vivants comme modèles d'inspiration. À la différence des méthodes traditionnelles (Hard Computing), qui cherchent des solutions exactes au détriment du temps de calcul nécessaire et qui nécessitent une formulation analytique de la fonction à optimiser, les méthodes de calcul "intelligent" permettent l'étude, la modélisation et l'analyse des phénomènes plus ou moins complexes pour lesquels les méthodes classiques ne fournissent pas de bonnes performances, en termes du coût de calcul et de leur aptitude à fournir une solution au problème étudié.

    L'objectif visé dans ce chapitre est de présenter les différentes techniques de calcul "intelligent". Un intérêt tout particulier est adressé aux techniques évolutives utilisées dans le cadre de l'optimisation.

    1.2 Techniques de Calcul "Intelligent"

    Le principe de base des méthodes de Calcul "Intelligent" consiste à considérer les êtres vivants comme modèles d'inspiration, le but étant de simuler à l'aide des machines leur comportement.

    En général, ces techniques peuvent être regroupées en trois grandes classes : les réseaux de neurones artificiels qui utilisent l'apprentissage pour résoudre des problèmes complexes tels que la reconnaissance des formes ou le traitement du langage naturel, la logique floue utilisée dans des applications d'intelligence artificielle, dans lesquelles les variables ont des degrés de vérité représentés par une gamme de valeurs situées entre 1 (vrai) et 0 (faux), et les méthodes de calcul évolutif pour la recherche et l'optimisation (figure 1.1). Ces différentes classes seront présentées dans les sections suivantes.

    FIG. 1.1 - Techniques de calcul "Intelligent"

    1.2.1 Les réseaux de neurones (Neural Networks)

    Un réseau de neurones (Artificial Neural Network) est un modèle de calcul dont la conception est schématiquement inspirée du fonctionnement de vrais neurones. Les réseaux de neurones sont généralement optimisés par des méthodes d'apprentissage de type statistique, si bien qu'ils sont placés d'une part dans la famille des applications statistiques, qu'ils enrichissent avec un ensemble de paradigmes permettant de générer de vastes espaces fonctionnels, souples et partiellement structurés, et d'autre part dans la famille des méthodes de l'intelligence artificielle qu'ils enrichissent en permettant de prendre des décisions s'appuyant d'avantage sur la perception que sur le raisonnement logique formel.

    Ce sont les deux neurologues Warren McCulloch et Walter Pitts [McCulloch et Pitts, 1943] qui ont mené les premiers travaux sur les réseaux de neurones. Ils constituèrent un modèle simplifié de neurone biologique communément appelé neurone

    formel. Ils montrèrent également théoriquement que des réseaux de neurones formels simples peuvent réaliser des fonctions logiques, arithmétiques et symboliques complexes.

    La fonction des réseaux de neurones formels à l'instar du modèle vrai est de résoudre divers problèmes. A la différence des méthodes traditionnelles de résolution informatique, on ne doit pas construire un programme pas à pas en fonction de la compréhension de celui-ci. Les paramètres les plus importants de ce modèle sont les coefficients synaptiques. Ce sont eux qui construisent le modèle de résolution en fonction des informations données au réseau. Il faut donc trouver un mécanisme, qui permet de les calculer à partir des grandeurs acquises du problème, c'est le principe fondamental de l'apprentissage. Dans un modèle de réseau de neurones formels, apprendre, c'est d'abord calculer les valeurs des coefficients synaptiques en fonction des exemples disponibles. La structure d'un réseau de neurones artificiel est donnée par la figure (1.2).

    Le neurone calcule la somme de ses entrées puis cette valeur passe à travers la fonction d'activation pour produire sa sortie. La fonction d'activation (ou fonction de seuillage) sert à introduire une non linéarité dans le fonctionnement du neurone.

    FIG. 1.2 Structure d'un neurone artificiel

    Les fonctions de seuillage présentent généralement trois intervalles :

    1. en dessous du seuil, le neurone est non-actif (souvent dans ce cas, sa sortie vaut 0 ou 1),

    2. au voisinage du seuil, une phase de transition,

    3. au-dessus du seuil, le neurone est actif (souvent dans ce cas, sa sortie vaut 1).

    En général, un réseau de neurone est composé d'une succession de couches dont chacune prend ses entrées à partir des sorties de la couche précédente. Chaque couche i est composée de Ni neurones, prenant leurs entrées sur les Ni_1 neurones de la couche précédente. A chaque synapse est associé un poids synaptique, de sorte que les Ni_1 sont multipliés par ce poids, puis additionnés par les neurones de niveau i, ce qui est équivalent à multiplier le vecteur d'entrée par une matrice de transformation. Mettre l'une derrière l'autre, les différentes couches d'un réseau de neurones, reviendrait à mettre en cascade plusieurs matrices de transformation et pourrait se ramener à une seule matrice, produit des autres, s'il n'y avait à chaque couche, la fonction de sortie qui introduit une non linéarité à chaque étape. Ceci montre l'importance du choix judicieux d'une bonne fonction de sortie : un réseau de neurones dont les sorties seraient linéaires n'aurait aucun intérêt.

    Plusieurs types de réseaux de neurones ont été reportés dans la littérature, notamment le perceptron proposé par Rosenblatt [Rosenblatt, 1958], les cartes autoorganisatrices de Kohonen [Kohonen, 1989], le modèle neural-gas [Martinez et Schulten, 1991] et les réseaux basés sur le modèle de Hopfield [Hopfield, 1982], etc, [Jedra, 1999].

    Grâce à leur capacité de classification et de généralisation, les réseaux de neurones sont généralement utilisés dans des problèmes de nature statistique, tels que la classification automatique, reconnaissance de motif, approximation d'une fonction inconnue, etc.

    1.2.2 La logique floue (Fuzzy Logic)

    La théorie des sous ensembles flous a été introduite par Lotfi Zadeh en 1965 [Zadeh, 1965] et utilisée dans des domaines aussi variés que l'automatisme, la robotique (reconnaissance de formes), la gestion de la circulation routière, le contrôle aérien, l'environnement (météorologie, climatologie, sismologie), la médecine (aide au diagnostic), l'assurance (sélection et prévention des risques) et bien d'autres. Elle constitue une généralisation de la théorie des ensembles classiques, l'une des structures de base sous-jacente à de nombreux modèles mathématiques et informatiques [Bezdek, 1992].

    La logique floue s'appuie sur la théorie mathématique des sous ensembles flous. Cette théorie, introduite par Zadeh, est une extension de la théorie des ensembles classiques pour la prise en compte des sous ensembles définis de façon imprécise. C'est une théorie formelle et mathématique dans le sens oil Zadeh, en partant du concept de fonction d'appartenance pour modéliser la définition d'un sous-ensemble d'un univers donné, a élaboré un modèle complet de propriétés et de définitions formelles. Il a aussi montré que la théorie des sous-ensembles flous se réduit effectivement à la théorie des sous-ensembles classiques dans le cas oil les fonctions d'appartenance considérées prennent des valeurs binaires (0, 1).

    À l'inverse de la logique booléenne, la logique floue permet à une condition d'être en un autre état que vrai ou faux. Il y a des degrés dans la vérification d'une condition. La logique floue tient compte de l'imprécision de la forme des connaissances et propose un formalisme rigoureux afin d'inférer de nouvelles connaissances.

    Ainsi, la notion d'un sous ensemble flou permet de considérer des classes d'objets, dont les frontières ne sont pas clairement définies, par l'introduction d'une fonction caractéristique (fonction d'appartenance des objets à la classe) prenant des valeurs entre 0 et 1, contrairement aux ensemble "booléens" dont la fonction caractéristique ne prend que deux valeurs possibles 0 et 1.

    La capacité des sous ensembles flous à modéliser des propriétés graduelles, des contraintes souples, des informations incomplètes, vagues, linguistiques, les rend aptes à faciliter la résolution d'un grand nombre de problèmes tels que : la commande floue, les systèmes à base de connaissances, le regroupement et la classification floue, etc.

    Mathématiquement, un sous ensemble floue F sera défini sur un référentiel H par une fonction d'appartenance, notée u, qui, appliquée à un élément u ? H, retourne un degré d'appartenance uF(u) de u à F, uF(u) = 0 et uF(u) = 1 correspondent respectivement à l'appartenance et à la non appartenance.

    1.2.3 Les techniques de calcul évolutif (Evolutionary Computation)

    Les techniques de calcul évolutif (EC) représentent un ensemble de techniques. Ces techniques sont regroupées en quatre grandes classes : les systèmes immunitaires artificiels, l'intelligence collective, les algorithmes évolutifs et les algorithmes culturels (figure 1.1).

    1.2.3.1. Les systèmes immunitaires artificiels

    Les algorithmes basés sur les systèmes immunitaires artificiels (AIS Artificial Immune Systems) ont été conçus pour résoudre des problèmes aussi variés que la robotique, la détection d'anomalies ou l'optimisation [De Castro et Von Zuben, 1999], [De Castro et Von Zuben, 2000].

    Le système immunitaire est responsable de la protection de l'organisme contre les agressions d'organismes extérieurs. La métaphore dont sont issus les algorithmes AIS mettent l'accent sur les aspects d'apprentissage et de mémoire du système immunitaire dit adaptatif. En effet, les cellules vivantes disposent sur leurs membranes de molécules spécifiques dites antigènes. Chaque organisme dispose ainsi d'une identité unique, déterminée par l'ensemble des antigènes présents sur ses cellules. Les lymphocytes (un type de globule blanc) sont des cellules du système immunitaire qui possèdent des récepteurs capables de se lier spécifiquement à un antigène unique, permettant ainsi de reconnaître une cellule étrangère à l'organisme. Un lymphocyte

    ayant ainsi reconnu une cellule "étrangère" va être stimulé à proliférer (en produisant des clones de lui-même) et à se différencier en cellule permettant de garder en mémoire l'antigène, ou de combattre les agressions. Dans le premier cas, il sera capable de réagir plus rapidement à une nouvelle attaque à l'antigène. Dans le second cas, le combat contre les agressions est possible grâce à la production d'anticorps. Il faut également noter que la diversité des récepteurs dans l'ensemble de la population des lymphocytes est quant à elle produite par un mécanisme d'hyper-mutation des cellules clonées [Forrest et al., 1993], [Hofmeyr et Forrest, 1999].

    L'approche utilisée dans les algorithmes AIS est voisine de celle des algorithmes évolutionnaires, mais a également été comparée à celle des réseaux de neurones. On peut, dans le cadre de l'optimisation difficile, considérer les AIS comme une forme d'algorithme évolutionnaire présentant des opérateurs particuliers. Pour opérer la sélection, on se fonde par exemple sur une mesure d'affinité entre le récepteur d'un lymphocyte et un antigène; la mutation s'opère quant à elle via un opérateur d'hypermutation directement issu de la métaphore.

    1.2.3.2. Les algorithmes évolutifs (AE)

    Les algorithmes évolutifs (Evolutionary Algorithms) sont des techniques de recherche inspirées de l'évolution biologique des espèces, apparues à la fin des années 1950. Parmi plusieurs approches [Holland, 1962], [Fogel et al, 1966], [Rechenberg, 1965], les algorithmes génétiques (AG) constituent certainement les algorithmes les plus connus [Goldberg, 1989a].

    Le principe d'un algorithme évolutionnaire est très simple. Un ensemble de N points dans un espace de recherche, choisi a priori au hasard, constituent la population initiale; chaque individu x de la population possède une certaine performance, qui mesure son degré d'adaptation à l'objectif visé : dans le cas de la minimisation d'une fonction objectif f, x est d'autant plus performant que f(x) est plus petit. Un AE consiste à faire évoluer progressivement, par générations successives, la composition de la population, en maintenant sa taille constante. Au cours des générations, l'objectif est d'améliorer globalement la performance des individus; le but étant d'obtenir un tel résultat en imitant les deux principaux mécanismes qui régissent l'évolution des êtres vivants, selon la théorie de Darwin :

    la sélection, qui favorise la reproduction et la survie des individus les plus performants,

    la reproduction, qui permet le brassage, la recombinaison et les variations des caractères héréditaires des parents, pour former des descendants aux potentialités nouvelles.

    En fonction des types d'opérateurs, i.e., sélection et reproduction génétique, employés dans un algorithme évolutif, quatre approches différentes ont été proposées [Bäck et al, 1997] : les algorithmes génétiques (AG), la programmation génétique (PG), les stratégies d'évolution (SE) et la programmation évolutive (PE) que nous

    allons décrire par la suite. La structure générale d'un AE est donnée par le pseudo code (7).

    algorithme 1 Structure de base d'un algorithme évolutif

    Algorithme évolutif

    t 4-- 0

    Initialiser la population P(t)

    Evaluer P(t)

    Répéter

    t 4-- t + 1

    Sélectionner les parents

    Appliquer les opérateurs génétiques

    Evaluer la population des enfants crées

    Créer par une stratégie de sélection la nouvelle population P(t) Tant que (condition d'arrêt n'est pas satisfaite)

    a. Les algorithmes génétiques (Genetic Algorithms)

    Les algorithmes génétiques sont des techniques de recherche stochastiques dont les fondements théoriques ont été établis par Holland [Holland, 1975]. Ils sont inspirés de la théorie Darwinienne : l'évolution naturelle des espèces vivantes. Celles-ci évoluent grâce à deux mécanismes : la sélection naturelle et la reproduction. La sélection naturelle, l'élément propulseur de l'évolution, favorise les individus, d'une population, les plus adaptés à leur environnement. La sélection est suivie de la reproduction, réalisée à l'aide de croisements et de mutations au niveau du patrimoine génétique des individus. Ainsi, deux individus parents, qui se croisent, transmettent une partie de leur patrimoine génétique à leurs progénitures. En plus, quelques gènes des individus, peuvent être mutés pendant la phase de reproduction. La combinaison de ces deux mécanismes, conduit, génération après génération, à des populations d'individus de plus en plus adaptés à leur environnement. Le principe des AG est décrit par le pseudo code (8).

    algorithme 2 Structure de base d'un algorithme génétique

    Algorithme Génétique

    t 4-- 0

    Initialiser la population P(t)

    Evaluer P(t)

    Répéter

    t 4-- t + 1

    P(t) = Sélectionner (P(t - 1)) Croiser (P(t))

    Muter (P(t))

    Evaluer P(t)

    Jusqu'à (condition d'arrêt validée)

    Dans leur version canonique, les AG présentent des limites qui conduisent le plus souvent à des problèmes de convergences lente ou prématurée. Pour pallier à ces inconvénients, des améliorations ont été apportées : e.g, codage, opérateurs biologiques, stratégie élitiste, etc. les détails de fonctionnement de ces algorithmes peuvent être trouvés dans plusieurs références principalement : [El Imrani, 2000], [Michalewicz, 1996].

    b. Programmation génétique (Genetic Programming)

    La programmation génétique est une variante, des algorithmes génétiques, destinée à manipuler des programmes [Koza, 1992] pour implémenter un modèle d'apprentissage automatique. Les programmes sont généralement codés par des arbres qui peuvent être vus comme des chaînes de bits de longueur variable. Une grande partie des techniques et des résultats concernant les algorithmes génétiques peuvent donc également s'appliquer à la programmation génétique.

    c. Stratégies d'évolution (Evolutionary Strategy)

    Les stratégies d'évolution forment une famille de métaheuristiques d'optimisation. Elles sont inspirées de la théorie de l'évolution. Ce modèle fut initialement proposé par Rencherberg [Rechenberg, 1965]. il constitue, à ce titre, la première véritable métaheuristique et le premier algorithme évolutif.

    Dans sa version de base, l'algorithme manipule itérativement un ensemble de vecteurs de variables réelles, à l'aide d'opérateurs de mutation et de sélection. L'étape de mutation est classiquement effectuée par l'ajout d'une valeur aléatoire, tirée au sein d'une distribution normale. La sélection s'effectue par un choix déterministe des meilleurs individus, selon la valeur de la fonction d'adaptation.

    Les strategies d'évolution utilisent un ensemble de u "parents" pour produire A "enfants". Pour produire chaque enfant, p parents se "recombinent". Une fois produits, les enfants sont mutés. L'étape de sélection peut s'appliquer, soit uniquement aux enfants, soit à l'ensemble (enfants + parents). Dans le premier cas, l'algorithme est noté (u, A)--ES, dans le second (u + A)--ES [Schoenauer et Michalewicz, 1997].

    À l'origine, l'étape de recombinaison était inexistante, les algorithmes étant alors notés ((u, A)--ES ou (u + A)--ES. Les méthodes actuelles utilisent l'opérateur de recombinaison, comme les autres algorithmes évolutifs, afin d'éviter d'être piégées dans des optima locaux.

    Une itération de l'algorithme général procède comme suit :

    1. À partir d'un ensemble de u parents,

    2. produire une population de A enfants:

    a. choisir p parents,

    b. recombiner les parents pour former un unique individu,

    c. muter l'individu ainsi crée,

    3. sélectionner les i meilleurs individus.

    d. Programmation évolutive (Evolutionary Programming)

    La programmation évolutive a été introduite par Laurence Fogel en 1966 [Fogel et al, 1966] dans la perspective de créer des machines à état fini (Finite State Machine) dans le but de prédire des événements futurs sur la base d'observations antérieures.

    La programmation évolutive suit le schéma classique des algorithmes évolutifs de la façon suivante :

    1. on génère aléatoirement une population de n individus qui sont ensuite évalués;

    2. chaque individu produit un fils par l'application d'un opérateur de mutation suivant une distribution normale;

    3. les nouveaux individus sont évalués et on sélectionne de manière stochastique une nouvelle population de taille n (les mieux adaptés) parmi les 2m individus de la population courante (parents + enfants);

    4. on réitère, à partir de la deuxième étape, jusqu'à ce que le critère d'arrêt choisi soit valide.

    La programmation évolutive partage de nombreuses similitudes avec les stratégies d'évolution : les individus sont, a priori, des variables multidimensionnelles réelles et il n'y a pas d'opérateur de recombinaison. La sélection suit une stratégie de type

    (i + A).

    1.2.3.3. Les systèmes de classifieurs (Learning Classifier Systems)

    Les classifieurs sont des machines, d'apprentissage automatique, basées sur la génétique et l'apprentissage renforcé, mais sont d'une complexité et d'une richesse bien plus grande. Ils sont capables de s'adapter par apprentissage à un environnement dans lequel ils évoluent. Ils reçoivent des entrées de leur environnement et réagissent en fournissant des sorties. Ces sorties sont les conséquences de règles déclenchées directement ou indirectement par les entrées. Un système classifieur est constitué de trois composantes principales :

    1. Un système de règles et de messages,

    2. Un système de répartition de crédits,

    3. Un algorithme évolutif.

    Le système de règles et de messages est un type particulier de système de production (SP). Un SP est un procédé qui utilise des règles comme unique outil algorithmique. Une règle stipule que quand une condition est satisfaite une action peut être réalisée (règle déclenchée) [Goldberg, 1989a].

    Notons que l'environnement dans lequel évolue le système de classifieurs peut changer au cours de l'évolution. Le système s'adapte alors remettant éventuellement en cause des règles. D'une manière générale, les systèmes classifieurs sont capables d'induire de nouvelles règles par généralisation à partir d'exemples [Holland et al, 1986]. Les systèmes de classifieurs sont utilisés pour résoudre des problèmes réels en biologie, en médecine, en sciences de l'ingénieur, etc.

    1.2.3.4. Les systèmes basés sur l'intelligence collective (Swarm Intelligence)

    L'intelligence collective désigne les capacités cognitives d'une communauté résultant des interactions multiples entre les membres (ou agents) de la communauté. Des agents, au comportement très simple, peuvent ainsi accomplir des tâches complexes grâce à un mécanisme fondamental appelé synergie. Sous certaines conditions particulières, la synergie créée, par la collaboration entre individus, fait émerger des possibilités de représentation, de création et d'apprentissage supérieures à celles des individus isolés.

    Les formes d'intelligence collective sont très diverses selon les types de communauté et les membres qu'elles réunissent. Les systèmes collectifs sont en effet plus ou moins sophistiqués. Les sociétés humaines en particulier n'obéissent pas à des règles aussi mécaniques que d'autres systèmes naturels, par exemple du monde animal. Pour des systèmes simples les principales caractéristiques sont :

    1. L'information locale : Chaque individu ne possède qu'une connaissance partielle de l'environnement et n'a pas conscience de la totalité des éléments qui influencent le groupe,

    2. L'ensemble de règles : Chaque individu obéit à un ensemble restreint de règles simples par rapport au comportement du système global,

    3. Les interactions multiples : Chaque individu est en relation avec un ou plusieurs autres individus du groupe,

    4. La collectivité : les individus trouvent un bénéfice à collaborer (parfois instinctivement) et leur performance est meilleure que s'ils avaient été seuls.

    L'intelligence collective est observée notamment chez les insectes sociaux (fourmis, termites et abeilles) et les animaux en mouvement (oiseaux migrateurs, bancs de poissons). En conséquence, plusieurs algorithmes basés sur le principe d'intelligence collective ont été introduits : on peut citer les colonies de fourmis et les essaims particulaires [Hoffmeyer, 1994], [Ramos et al., 2005].

    a. Les colonies de fourmis (Ants Colony)

    Une colonie de fourmis, dans son ensemble, est un système complexe stable et autorégulé capable de s'adapter très facilement aux variations environnementales les plus imprévisibles, mais aussi de résoudre des problèmes, sans contrôle externe ou mécanisme de coordination central, de manière totalement distribuée.

    L'optimisation par colonies de fourmis (ACO "Ants Colony Optimisation") s'inspire du comportement des fourmis lorsque celles-ci sont à la recherche de nourriture [Deneubourg et al, 1983], [Deneubourg et Goss, 1989], [Goss et al, 1990]. Il a ainsi été démontré qu'en plaçant une source de nourriture reliée au nid par une passerelle, formée d'une branche courte et d'une branche longue, les fourmis choisissaient toutes le chemin le plus court après un certain laps de temps [Beckers et al, 1992]. En effet, chaque fourmi se dirige en tenant compte des traces de phéromone déposées par les autres membres de la colonie qui la précèdent.

    Comme cette phéromone s'évapore, ce choix probabiliste évolue continuellement. Ce comportement collectif, basé sur une sorte de mémoire partagée entre tous les individus de la colonie, peut être adapté et utilisé pour la résolution de problèmes d'optimisation combinatoire surtout les problèmes du parcours des graphes.

    D'une façon générale, les algorithmes de colonies de fourmis sont considérés comme des métaheuristiques à population, oil chaque solution est représentée par une fourmi se déplaçant dans l'espace de recherche. Les fourmis marquent les meilleures solutions, et tiennent compte des marquages précédents pour optimiser leur recherche.

    Ces algorithmes utilisent une distribution de probabilité implicite pour effectuer la transition entre chaque itération. Dans leurs versions adaptées à des problèmes combinatoires, ils utilisent une construction itérative des solutions.

    La différence qui existe entre les algorithmes de colonies de fourmis et les autres métaheuristiques proches (telles que les essaims particulaires) réside dans leur aspect constructif. En effet, dans le cas des problèmes combinatoires, il est possible que la meilleure solution soit trouvée, alors même qu'aucune fourmi ne l'aura découverte effectivement. Ainsi, dans l'exemple du problème du voyageur de commerce, il n'est pas nécessaire qu'une fourmi parcoure effectivement le chemin le plus court, i.e., celui-ci peut être construit à partir des segments les plus renforcés des meilleures solutions. Cependant, cette définition peut poser problème dans le cas des problèmes à variables réelles, oil aucune structure de voisinage n'existe.

    b. Les essaims particulaires (Particle Swarm Optimization PSO)

    L'optimisation par essaims particulaires est une métaheuristique d'optimisation, proposée par Russel Ebenhart et James Kennedy en 1995 [Eberhart et Kennedy, 1995], [Kennedy et Eberhart, 1995]. Cette métaheuristique s'appuie notamment sur un modèle développé par le biologiste Craig Reynolds à la fin des années 1980, permettant de simuler le déplacement d'un groupe d'oiseaux.

    Cette méthode d'optimisation se base sur la collaboration des particules entre elles. Elle a d'ailleurs des similarités avec les algorithmes de colonies de fourmis, qui s'appuient eux aussi sur le concept d'auto-organisation.

    Ainsi, grâce à des règles de déplacement très simples (dans l'espace de solutions), les particules peuvent converger progressivement vers un optimum. Cette métaheuristique semble cependant mieux fonctionner pour des espaces en variables continues.

    Au départ de l'algorithme, un essaim est réparti au hasard dans l'espace de recherche de dimension D, chaque particule p est aléatoirement placée dans la position xp de l'espace de recherche, chaque particule possède également une vitesse aléatoire. Ensuite, à chaque pas de temps:

    chaque particule est capable d'évaluer la qualité de sa position et de garder en mémoire sa meilleure performance P i : la meilleure position qu'elle a atteinte jusqu'ici (qui peut en fait être parfois la position courante) et sa qualité (la valeur en cette position de la fonction à optimiser),

    chaque particule est capable d'interroger un certain nombre de ses congénères (ses informatrices, dont elle-même) et d'obtenir de chacune d'entre elles sa propre meilleure performance Pg (et la qualité afférente),

    à chaque pas de temps, chaque particule choisit la meilleure des meilleures performances dont elle a connaissance, modifie sa vitesse V en fonction de cette information et de ses propres données et se déplace en conséquence.

    La modification de la vitesse est une simple combinaison linéaire de trois ten-dances, à l'aide de coéfficients de confiance :

    - la tendance « aventureuse », consistant à continuer selon la vitesse actuelle,

    la tendance « conservatrice », ramenant plus ou moins vers la meilleure position déjà trouvée,

    la tendance « panurgienne », orientant approximativement vers la meilleure informatrice.

    La mise à jour des deux vecteurs vitesse et position, de chaque particule p dans l'essaim, est donnée par les équations (1.1) et (1.2) :

    vj (t + 1) = r(t)vp

    p j (t) + uw1j(t)(P i j(t) - xp j(t)) + uw2j(t)(P j g(t) - xp j(t)) (1.1)

    xp j(t + 1) = xp j(t) + vp j (t + 1) (1.2)

    j = 1. . . , D, r(t) est le facteur d'inertie, u représente le paramètre cognitif et u le paramètre social. w1j(t) et w2j(t) sont des nombres aléatoires compris entre 0 et 1.

    Lors de l'évolution de l'essaim, il peut arriver qu'une particule sorte de l'espace de recherche initialement défini. Pour rester dans un espace de recherche fini donné, on ajoute un mécanisme pour éviter qu'une particule ne sorte de cet espace.

    le plus fréquent est le confinement d'intervalle. Supposons, par simplicité, que l'espace de recherche soit [xmin, xmax]D. Alors ce mécanisme stipule que si une coordonnée xj, calculée selon les équations de mouvement, sort de l'intervalle [xmin, xmax],on lui attribue en fait la valeur du point frontière le plus proche. En pratique, celà revient donc à remplacer la deuxième équation de mouvement (équation 1.2) par:

    xj(t + 1) = min(max(xj(t) + vj(t + 1), xmin), xmax) (1.3)

    De plus, on complète souvent le mécanisme de confinement par une modification de la vitesse, soit en remplaçant la composante qui pose problème par son opposée, souvent pondérée par un coefficient inférieur à 1, soit, tout simplement, en l'annulant. Donc le principe du confinement consiste à ramener la particule qui sort de l'espace de recherche au point le plus proche qui soit dans cet espace et modifier sa vitesse en conséquence. Le pseudo code de l'algorithme PSO de base est donné par l'algorithme (3), [De Falco et al, 2007].

    Principales caractéristiques

    Ce modèle présente quelques propriétés intéressantes, qui en font un bon outil pour de nombreux problèmes d'optimisation, particulièrement les problèmes fortement non linéaires, continus ou mixtes (certaines variables étant réelles et d'autres entières) :

    il est facle à programmer, quelques lignes de code suffisent dans n'importe quel langage évolué,

    il est robuste (de mauvais choix de paramètres dégradent les performances, mais n'empêchent pas d'obtenir une solution).

    algorithme 3 Pseudo code de l'algorithme PSO

    t 4-- 0

    Pour chaque particule

    Initialiser sa position et sa vitesse.

    Initialiser P i(t)

    Fin pour

    Répéter

    Choisir la particule P g(t) ayant la meilleure fitness dans l'itération courante

    Pour chaque particule p

    Calculer la vitesse vp(t + 1) utilisant l'équation (1.1).

    Mettre à jour le vecteur position xp(t + 1) selon l'équation (1.2).

    Calculer la valeur de la fitness f(xp(t))

    Si f(xp(t)) > f(P i(t))

    P i(t + 1) 4-- xp(t)

    Fin si

    Fin pour t 4-- t + 1

    Tant que (critère d'arrêt n'est pas validé)

    1.2.3.5. Les algorithmes culturels (Cultural Algorithms CA) a. Principes de base

    Les algorithmes culturels sont des techniques évolutives modélisant l'évolution culturelle des populations [Reynolds, 1994]. Ces algorithmes supportent les mécanismes de base de changement culturel [Durham, 1994]. Certains sociologues ont proposé des modèles oil les cultures peuvent être codées et transmises à l'intérieur et entre les populations [Durham, 1994], [Renfrew, 1994]. En se basant sur cette idée, Reynolds a développé un modèle évolutif dans lequel l'évolution culturelle est considérée comme un processus d'héritage qui agit sur deux niveaux évolutifs différents : le niveau microévolutif (espace population) et le niveau macro-évolutif (espace de connaissance) [Reynolds, 1994].

    FIG. 1.3 - Les composants principaux d'un algorithme culturel

    Ces algorithmes agissent donc sur deux espaces : l'espace de population qui contient un ensemble d'individus qui évoluent grâce à un modèle évolutif, et l'espace de connaissances qui contient les informations et les connaissances, spécifiques au problème à résoudre, utilisées pour guider et influencer l'évolution des individus des populations au cours des générations. De ce fait, un protocole de communication est indispensable pour établir une interaction entre ces deux espaces (figure 1.3).

    Ce protocole a, en fait, une double mission, il détermine d'une part quels individus de la population peuvent influencer l'espace de connaissances (fonction d'acceptance), et d'autre part quelles connaissances peuvent influencer l'évolution des populations (fonction d'influence). Le pseudo code (4) représente la structure de base d'un AC [Zhu et Reynolds, 1998].

    Plusieurs versions d'algorithmes culturels ont été développées avec différentes implémentations des deux espaces évolutifs. VGA (Version space guided Genetic Algorithm) se sert d'un algorithme génétique comme modèle micro-évolutif et de "Version

    algorithme 4 Structure de base d'un Algorithme Culturel

    t 4-- 0

    Initialiser la population P(t);

    Initialiser l'espace de connaissances B(t); Répéter

    Evaluer P(t);

    Ajuster (B(t), acceptance P(t)); Evaluer (P(t), influence B(t));

    t 4-- t + 1;

    Jusqu'à (condition d'arrêt valide);

    Spaces" pour le niveau macro-évolutif [Reynolds et Zannoni, 1994], d'autres implémentations utilisent la programmation génétique pour le niveau micro évolutif et "Program segments" pour le niveau macro-évolutif [Zannoni et Reynolds, 1997].

    1.3 Conclusion

    Dans ce chapitre, nous avons présenté les différentes techniques de calcul "intelligent". Ces méthodes s'avèrent utiles dans divers domaines de recherche: l'apprentissage, la classification, l'optimisation, etc. Un intérêt tout particulier est adressé aux problèmes d'optimisation, qui constitue l'un des principaux objectifs de cette étude.

    Dans ce contexte, nous avons choisi de nous intéresser aux techniques de calcul évolutif (Evolutionary Computation EC) en raison de leur efficacité dans le cadre de l'optimisation globale. Ces techniques qui s'inspirent des métaphores biologiques (Programmation Evolutive, Stratégie d'Evolution, Programmation Génétique, Algorithmes Génétiques), de l'évolution culturelle des populations (Algorithmes Culturels), ou du comportement collectif (Colonies de Fourmis et Essaims particulaires), etc., offrent la possibilité de trouver des solutions optimales en un temps de calcul raisonnable.

    En général, les techniques EC ont été conçues initialement, dans leur version de base, pour traiter un certain type de problèmes. Par exemple, les AG canoniques ont été proposés pour l'optimisation de fonctions, les algorithmes d'optimisation par colonies de fourmis pour les problèmes de parcours de graphe, etc. En général, ces méthodes ont prouvé leur efficacité à résoudre des problèmes analogues à ceux pour lesquelles elles ont été conçues à l'origine.

    En conclusion, bien qu'on dispose d'une panoplie de méthodes utiles à l'optimisation globale, leur application directe à un problème donné est quasiment impossible. En effet, une phase d'adaptation de ces techniques au problème à résoudre reste une démarche indispensable pour obtenir de meilleures performances.

    Chapitre 2

    Application de l'algorithme

    d'optimisation par essaims

    particulaires aux problèmes MSAP

    et PAF

    2.1 Introduction

    La résolution d'un problème d'optimisation consiste à explorer un espace de recherche afin de maximiser (ou minimiser) une fonction objectif. En effet, dans la vie courante nous sommes fréquemment confrontés à des problèmes réels d'optimisation plus ou moins complexes.

    En général, deux sortes de problèmes reçoivent, dans la littérature, cette appellation :

    Certains problèmes d'optimisation discrets, pour lesquels on ne connait pas d'algorithme exact polynomial (NP-difficiles),

    Certains problèmes d'optimisation à variables continues, pour lesquels on ne connait pas d'algorithme permettant de repérer un optimum global à coup sûr et en un nombre fini de calculs.

    Des efforts ont été longtemps menés, séparément, pour résoudre ces deux types de problèmes. Dans le domaine de l'optimisation continue, il existe un arsenal de méthodes classiques, mais ces techniques se trouvent souvent limitées. Cette limitation est due soit à l'absence de modèles analytiques, soit à l'inadéquation des techniques de résolution. Dans le domaine de l'optimisation discrète, un grand nombre d'heuristiques, qui produisent des solutions proches de l'optimum, ont été développées, mais la plupart d'entre elles ont été conçues spécifiquement pour un problème donné.

    L'arrivée des métaheuristiques marque une réconciliation des deux domaines : en effet, celles-ci s'appliquent à toutes sortes de problèmes discrèts et elles peuvent s'adapter aussi aux problèmes continus.

    L'algorithme d'optimisation par essaims particulaires (PSO) fait partie de ces métaheuristiques. cet algorithme est basé sur la notion de coopération entre des agents (les particules qui peuvent être vues comme des « animaux » aux capacités assez limitées : peu de mémoire et de facultés de raisonnement). L'échange d'information entre les agents fait que, globalement, ils arrivent néanmoins à résoudre des problèmes difficiles voire complexes.

    Dans ce chapitre, l'algorithme d'optimisation par essaims particulaires est implémenté pour résoudre deux problèmes réels, un problème continu : la commande d'une machine synchrone à aimant permanent, et un autre discret : le problème d'affectation de fréquences dans les réseaux cellulaires.

    2.2 Commande en vitesse des machines synchrones à aimant permanent (MSAP)

    Les machines synchrones à aimant permanent (MSAP) sont de grand intérêt, particulièrement dans les applications industrielles de faible et moyenne puissance, puisqu'elles possèdent de bonnes caractéristiques telles que la compacité de la dimension, bons rapports couple/poids et couple/inertie et l'absence des pertes dans le rotor [Slemon, 1994]. Cependant, la performance de MSAP est très sensible aux variations de paramètres et aux perturbations externes de charge dans le système.

    La conception du contrôleur conventionnel, i.e., Proportionnel-Intégrateur (PI), est basée sur un modèle mathématique du dispositif utilisé, qui peut souvent être inconnu, non-linéaire, complexe et multi-variable avec variation de paramètres. De ce fait, le contrôleur conventionnel PI ne présente pas, en général, une solution utile pour la commande du moteur MSAP. Pour surmonter ces problèmes, plusieurs stratégies de commande ont été proposées pour la commande en vitesse des MSAP, notamment par : la logique floue [Lee, 1990], [Akcayol et al, 2002], les réseaux de neurones artificiels [Lin et Lee, 1991] [Rahman et Hoque, 1998], les algorithmes génétiques [Loukdache et al, 2007], et par les essaims particulaires [Benameur et al, 2007].

    Dans les sections suivantes nous décrivons la modélisation des MSAP, nous présentons les résultats de simulation relatifs à l'utilisation d'un PI basé sur les essaims particulaires (PIPSO) [Benameur et al, 2007] et nous comparons enfin les résultats avec ceux obtenus par l'utilisation des algorithmes génétiques (PIGA) [Loukdache et al, 2007].

    2.2.1 Modélisation d'une machine synchrone à aimant permanent

    La configuration du système de commande des MSAP est donnée par la figure (2.1). Le système de commande se compose d'un contrôleur de vitesse, d'un régulateur de courant, d'un contrôleur de courant à bande d'hystérésis, d'un onduleur triphasé et d'un capteur de position.

    èr représente la position du rotor, wr est la vitesse actuelle, i* a, i* b, i* c, sont les courants de phase de référence et ew désigne l'erreur en vitesse. ew est la différence entre la vitesse de référence w* r et la vitesse actuelle wr. Utilisant l'erreur en vitesse ew, le contrôleur de vitesse génère un courant appelé courant de référence ou courant de contrôle I*.

    La figure (2.2) illustre le circuit équivalent de MSAP et de l'onduleur triphasé.

    FIG. 2.1 - Schéma de la commande en vitesse de MSAP

    FIG. 2.2 Circuit équivalent de MSAP et de l'onduleur triphasé

    Les équations de tension au niveau du stator de la MSAP sous forme matricielle sont données par l'équation (2.1).

    ?
    ?

    Va

    Vb

    Vc

    ? ? ? ? ? ? ? ? ? ? ?

    Rs 0 0 ia Ls 0 0 ia ea

    d

    ? = ? 0 Rs 0 ? ? ib ? ? 0 Ls 0 ? ? ib ? + ? eb ? (2.1)

    0 0 Rs ic 0 0 Ls dt ic ec

    Les équations d'état associées à l'équation (3.1) peuvent être écrites selon la formule (2.2) :

    d I ia 1 = I L0 s L0 0 1-1 {[ s 1[ 1 -- [ -Rs 0 0 ia ea Va 1

    0 -R 0 ib eb 1 [ V } (2.2)

    dt I_ ic j I_ 0 0 Ls i 0 0 -Rs ic ec #177; Vcb

    La vitesse du rotor et le couple électrique Te peuvent être formulés selon les équations (2.3) et (2.4) :

    d

    dtùr =

    p2 (Te -- TL -- B (2) ùr) /J (2.3) p

    Te = K I* (2.4)

    K = -4 3p ëf et ëf est le flux dû à l'aimant permanent du rotor. L'équation du contrôleur de courant de bande d'hystérésis est donnée par l'équation (2.5).

    (

    hx = 1 si i*-- ix < 0.5hrb

    (2.5)

    0 si i* x-- ix > --0.5hrb

    Où, x représente a, b, c respectivement. hx désigne la fonction du contrôleur de courant à bande d'hystérésis ha, hb, hc. hrb est le rang du contrôleur de courant à bande d'hystérésis. En utilisant la fonction hx, l'équation (2.2) peut être formulée de la façon donnée en équation (2.6) :

    [ ia i i

    0 0 Ls 0 0 --Rs ec

    ib = [ 0 L 0

    Ls s 0 -1 [ 0

    --Rs

    --Rs 01 [ib-- [ ee:+ (-ha+2hb-hcgb )

    (-ha --F2hc)

    d
    dt

    (2ha

    [vdc]

    3

    (2.6)

    2.2.2 Conception d'un contrôleur PI basé sur les essaims particulaires

    Le nouveau contrôleur proposé intègre le modèle PSO [Benameur et al, 2007] (figure 2.3). L'objectif principal est d'identifier les meilleurs paramètres du contrôleur conventionnel de vitesse PI (Kp et Ki), qui optimisent une fonction objectif et qui dépend particulièrement de l'erreur en vitesse reçue.

    ew représente l'erreur en vitesse et ù* est la vitesse de référence. La fonction objective que nous souhaitons minimiser est donnée par l'équation (2.7) :

    F(Kp, Ki) = a1
    · e
    2w(k) + a2
    ·
    (Kp
    · ew
    (k) + Ki
    · ew
    (k)
    · T
    )2 (2.7)

    a1 et a2 représentent le poids d'importance du premier et du second terme de l'équation (2.7) respectivement, T est le temps d'échantillonnage et Kp, Ki sont les paramètres (ou les gains) du contrôleur PI.

    FIG. 2.3 - Contrôleur PI basé sur PSO pour la commande de MSAP

    Dans cette application, les signaux de retour représentent respectivement la position 0 et les courants de phase. Le signal relatif à la position est 0 utilisé pour calculer la vitesse.

    La figure (2.3) montre que le bloc (PSO) reçoit l'erreur en vitesse eù et fournit les paramètres optimaux (Kp, Ki) au bloc suivant PI. Ce bloc exploite ces paramètres pour générer les courants de référence optimaux abcr. Une boucle de courants, composée d'un onduleur triphasé, produit ensuite les courants optimaux abc qui vont être injectés dans le bloc de la machine MSAP pour qu'elle puisse atteindre la vitesse w* requise.

    2.2.2.1. Implémentation de PSO pour la commande de MSAP La configuration des paramètres de l'algorithme PSO est donnée par:

    - Taille de l'essaim : la première étape d'un algorithme PSO est de créer l'essaim de particules initial. La taille de l'essaim utilisée est de 50. La position et la vitesse de chaque particule sont représentées par des valeurs réelles;

    Intervalle de variables : l'algorithme PSO est utilisé pour chercher les valeurs des gains du Kp et Ki contrôleur PI. Par conséquent, chaque particule aura deux positions associées à ces deux gains. Chaque position doit appartenir à un intervalle de recherche spécifique. Pour cette application, le premier paramètre (Kp) peut varier dans l'intervalle [50, 100], alors que les valeurs permises de (Kp) appartiennent à l'intervalle [1, 10];

    Le facteur d'inertie ô(t) utilisé est donné par l'équation (2.8)

    ô(t) = 0.9 - t * (0.5/(t + 1)) (2.8)

    Les paramètres u et u, utilisés dans l'équation de la mise à jour du vecteur vitesse (équation (1.1)), sont initialisés à 2.

    2.2.3 Résultats de simulation

    Dans cette section, les résultats de simulation relatifs au contrôleur proposé PIPSO pour la commande en vitesse d'une machine synchrone à aimant permanent seront présentés et comparés avec ceux obtenus par l'utilisation du contrôleur conventionnel PI et des algorithmes génétiques (PIGA) [Loukdache et al, 2007].

    Les paramètres, de la MSAP étudiée dans cette application, sont les suivants : - Résistance du stator : Rs = 2.875 I;

    - Inductance Ld = Lq = 8.5e-3H ;

    - Inertie = 0.8e-3kg · m2 ;

    - Nombre de paires de pôles = 4.

    L'objectif principal de cette application étant de fournir comme entrée une vitesse de référence que la MSAP doit asservir. Pour cela, deux cas d'exemple sont étudiés. Dans le premier cas, la vitesse de référence est définie par un échelon qui varie entre 200 et 700 rd/s (figure 2.4), le couple de charge mécanique varie entre 0 et 6 N.m (figure 2.5). Pour le deuxième cas, la vitesse de référence est représentée par séquence répétitive de trapézoïdes (figure 2.6), le couple de charge mécanique étant maintenu constant durant le temps de simulation (Tm = 4 N.m) (figure 2.7).

    FIG. 2.4 - Vitesse de référence

    FIG. 2.5 Couple de charge mécanique

    FIG. 2.6 - Vitesse de référence

    FIG. 2.7 - Couple de charge mécanique

    2.2.3.1. Premier cas : Commande par échelon

    Dans ce cas, la vitesse de référence et le couple de charge mécanique sont définis par des échelons (figures 2.4 et 2.5). La figure (2.8) représente la réponse temporelle de la machine à la vitesse de référence utilisant les trois stratégies de commande (contrôleurs) : le PI conventionnel (figure 2.8(a)), PIGA (figure 2.8(b)) et PIPSO (figure 2.8(c)).

    La figure (2.8(a)) montre que le temps de réponse, à la vitesse de référence utilisée, n'est pas atteint en utilisant le contrôleur conventionnel PI. Cependant, la réponse temporelle relative à PIGA est obtenue à l'instant t 0.222s (figure 2.8(b)) alors que à l'instant t 0.21s, la réponse en vitesse est atteinte utilisant PIPSO (figure 2.8(c)). Par conséquent, le contrôleur PIPSO est 94% plus rapide que la stratégie de commande PIGA.

    Il est clair que la performance du contrôleur PIPSO relative à la réponse en vitesse est meilleure que celles des deux contrôleurs PIGA et du PI conventionnel.

    De plus, pour illustrer la performance et l'efficacité du modèle proposé, la figure (2.9) présente la réponse en couples électromagnétiques fournie par ces trois contrôleurs.

    La réponse en couple électromagnétique présentée par la figure (2.9(a)), relative au contrôleur conventionnel PI, montre que les oscillations ne sont pas atténuées durant

    (a)

    (b)

    (c) FIG. 2.8 Réponse en vitesse électrique

    (a)

    (b)

    (c) FIG. 2.9 Réponse en couple électromagnétique

    tout le temps de simulation. Dans la figure (2.9(b)), les oscillations sont presque atténuées à l'instant t 0.221s utilisant le contrôleur PIGA, tandis qu'avec la stratégie de commande PIPSO, ces oscillations se réduisent à t 0.218s (figure 2.9(c)). Dans ce cas, le rapport du temps de réponse est donné par: PIGA/PIPSO = 101.4%.

    2.2.3.2. Second cas : Commande par une séquence trapézoïdale

    Pour ce cas, la vitesse de référence est définie par une séquence répétitive de trapézoïdes (figure 2.6), le couple est fixé à 4 N.m (figure 2.7).

    La figure (2.10) représente les réponses en vitesse relatives aux trois stratégies de commande utilisées.

    Comme illustré dans la figure (2.10), la stratégie de commande par essaims particulaires PIPSO est plus appropriée que les autres stratégies (PI Conventionnel et PIGA), dans les différentes phases de la commande de la MSAP, en termes de stabilité et de temps de réponse requis.

    La figure (2.11) présente la réponse en couple électromagnétique. Cette figure confirme aussi les résultats conclus antérieurement.

    En conclusion, à cause du comportement non linéaire du système, des perturbations, de la variation des paramètres et du couple de charge, la stratégie de commande conventionnelle s'avère inadéquate pour la commande des MSAP. En effet, utilisant le contrôleur conventionnel PI, la convergence est occasionnellement obtenue et dépend généralement d'un bon réglage des paramètres de PI.

    De ce fait, le contrôleur basé sur les essaims particulaires est proposé et comparé avec celui basé sur les algorithmes génétiques. Selon les résultats de simulation obtenus, il est clair que la stratégie PIPSO fournie de meilleures réponses en vitesse et de précision que les autres stratégies.

    (a)

    (b)

    (c) FIG. 2.10 Réponse en vitesse de la MSAP

    (a)

    (b)

    (c) FIG. 2.11 Réponse en couple électromagnétique

    2.3 Problème d'affectation de fréquences (PAF)

    La gestion efficace, du spectre de fréquences disponibles, est d'une importance capitale pour les opérateurs des systèmes de téléphonie cellulaire. Le coût d'exploitation du réseau et par conséquent la marge de profit dépendent en grande partie, de la capacité à réutiliser de façon optimale les canaux.

    Le principe fondamental de la téléphonie cellulaire consiste à subdiviser l'espace desservi en un ensemble de cellules ou zones géographiques, et à réutiliser, chaque fois que les contraintes de compatibilité électromagnétique le permettent, les mêmes canaux à travers ces différentes cellules. Plus les canaux disponibles sont bien utilisés, moins on investira pour de nouveaux équipements dans le but d'éliminer des interférences potentielles, ou de pouvoir desservir un plus grand nombre de clients.

    Il y a quelques années, le problème d'affectation de canaux se formulait comme un problème d'optimisation avec pour objectif la minimisation du nombre de canaux distincts utilisés ou la minimisation de la largeur de bande [Hale, 1981], [Hurley et al, 1997]. Ces objectifs étaient appropriés parce qu'il était encore possible d'assigner des fréquences sans engendrer des interférences. Actuellement, il s'agit de trouver des solutions acceptables en minimisant le niveau global d'interférence de fréquences affectées. Dans ce cas on parle de problème d'affectation de fréquences à spectre fixe (Fixed Spectrum Frequency Assignment Problem FS-FAP). Le fait de garder les différents types d'interférences, à un niveau minimal, conduit à un faible taux de blocage des appels, une plus grande capacité en termes du nombre de clients, une meilleure qualité de communication et des économies en investissement pour de nouveaux équipements.

    2.3.1 Problématique

    Le problème d'allocation de fréquences (FS-FAP) est classé dans la catégorie des problèmes NP-Complets [Kunz, 1991], [Mathar et Mattfeldt, 1993]. Ce problème peut être modélisé en un problème d'optimisation ayant la forme suivante : étant donné une bande de fréquence [fmin, fmax] subdivisée en un ensemble m de canaux (de même largeur de bande z) numérotés de 1 à un nombre maximum m donné, où m = (fmax -fmin)/z et un ensemble de cellules auxquelles on doit attribuer des fréquences, il s'agit de trouver une affectation qui satisfait un ensemble de contraintes et qui minimise le niveau global d'interférence des affectations de fréquences proposées.

    L'allocation de canaux, aux domaines cellulaires dans un réseau radio mobile, est susceptible d'engendrer des interférences radio de sources internes. Ces interférences apparaissent entre deux canaux proches d'un point de vu spectral dans le domaine fréquentiel et émettant à partir d'émetteurs géographiquement proches. Les types d'interférences internes considérées dans le problème d'affectation de fréquences sont les suivantes :

    Interférence co-cellule : représente l'interférence entre deux canaux identiques alloués à la même cellule.

    Interférence co-canal : c'est l'interférence entre deux cellules auxquelles on a alloué le même canal. Typiquement, cette interférence décroît quand la distance géographique entre les deux cellules croît;

    Interférence du canal adjacent : c'est l'interférence entre deux cellules adjacentes auxquelles on a alloué des canaux proches l'un de l'autre dans le plan spectral.

    Ces interférences peuvent être représentées par une matrice appelée matrice de compatibilités électromagnétiques C de taille m × m, oil n est le nombre de cellules dans un réseau. Les éléments cij de la matrice indiquent la contrainte de séparation spectrale des canaux alloués aux cellules i et j. Les éléments diagonaux cii de la matrice de la compatibilité représentent les interférences co-cellules et les éléments non diagonaux cij représentent soit les interférences co-canal soit les interférences de canaux adjacents.

    Du fait de la nature combinatoire du problème d'affectation de fréquences, l'utilisation de méthodes de recherche exactes "Hard Computing" s'avère inexploitable, en termes de temps de calcul requis [Aardal et al, 1995], [Maniezzo et Montemanni, 1999]. De ce fait, des techniques plus appropriées ont été appliquées pour la résolution de ce problème. Ces méthodes incluent la méthode de recherche par Tabou [Montemanni et al, 2003], recuit simulé [Duque-Anton et al, 1993], algorithmes génétiques [Crompton et al, 1994], réseaux de neurones [Kunz, 1991], programmation dynamique [Shirazi et Amindavar, 2005], colonie de fourmis [Alami et El Imrani, 2006], algorithmes culturels [Alami et El Imrani, 2007] et essaims particulaires [Benameur et al, 2009a].

    Dans les paragraphes suivants, nous présenterons l'implémentation d' algorithme d'optimisation discrète par essaims particulaires (DPSO) adaptés à la résolution du FS-FAP [Benameur et al, 2009b]. Les résultats de simulation, relatifs aux différentes instances utilisées dans la littérature, seront présentés et comparés ensuite avec d'autres modèles.

    2.3.2 Formulation du FS-FAP

    On considère un système de n cellules représenté par n vecteurs X =x1, x2,. . . , xn. On suppose que les canaux disponibles sont numérotés de 1 à m. Une matrice de compatibilité de l'ordre m × m est utilisée pour représenter les différents types d'interférence. Soit R = r1, r2, . . . , rn un vecteur représentant la demande en fréquence pour chaque cellule. Chaque élément ri de R représente le nombre, minimal de canaux, qui doit être assigné à la cellule xi.

    Le problème FS-FAP est décrit par le triplet (X, R, C), oil X est le système cellulaire, R est le vecteur de demande et C la matrice de compatibilité. Supposons que N = 1, 2, ... ,m représente l'ensemble de canaux disponibles et Hi un sous ensemble de N assigné à la cellule xi. L'objectif principal de FS-FAP est d'identifier la meilleure affectation H = H1, H2, . . . , Hn satisfaisant les trois conditions suivantes :

    |Hi| = ri, ?1 = i = n

    (2.9)

    |h - h:|= cij,?h ? Hi, h: ? Hj,?1 = i,j = n, i =6 j

    (2.10)

    |h - h:| = cii,?h,h: ? Hi, ?1 = i = n, h =6 h:

    (2.11)

    Oil |Hi|désigne le nombre de canaux présents dans l'ensemble Hi.

    Par conséquent, la résolution de FS-FAP consiste à identifier la meilleure combinaison qui minimise le nombre total de violation de contraintes. De façon formelle nous avons l'équation (2.12) :

    Xn
    i
    =1

    Min

    Xm
    a
    =1

    Xn
    j
    =1

    Xm
    b
    =1

    oil :

    p(i, a)c(i, a, j, b)p(j, b) (2.12)

    {

    0 si |a - b| = cij c(i, a, j, b) = (2.13)
    1 sinon et

    (

    1 si le canal a est assigné à la cellule

    p(i, a) = ,(2.14)

    0 sinon

    c(i, a, j, b) est égal à 1 si l'assignation du canal a à la ième celule et le canal b à la jème cellule viole les contraintes de compatibilité électromagnétique.

    2.3.3 Implémentation de l'algorithme d'optimisation par essaims particulaires à la résolution de FS-FAP

    Le FS-FAP [Benameur et al, 2010] opère uniquement sur des valeurs entières, la représentation d'une solution de FS-FAP se compose d'une séquence ordonnée de nombres entiers. De ce fait, il peut être considéré comme un problème de programmation discrète (Integer Programming IP) . Ce type de problèmes est souvent difficile à résoudre. Le but de cette étude consiste en l'application de l'algorithme d'optimisation discrète par essaims particulaires pour la résolution de FS-FAP.

    PSO a été à l'origine conçu pour traiter des problèmes dont l'espace de recherche est réel multidimensionnel. Pour pouvoir appliquer PSO à la résolution de FS-FAP, le modèle utilisé doit être adapté à ce type de représentation de solution ( c-à-d. la position d'une particule est maintenant une séquance ordonnée de nombres entiers).

    Le codage utilisé nécessite la redéfinition des éléments (position et vitesse) et des opérations (multiplication externe d'un coefficient par une vitesse, la somme de vitesses et la somme d'une vitesse et une position) des équations (1.1) et (1.2) du chapitre 1. En plus, il est nécessaire de déterminer comment la population initiale doit être choisie et de définir les critères d'arrêt les plus adéquats.

    - Position de la particule : Une position se compose d'une solution qui représente des affectations de fréquences. Chaque membre de l'essaim se compose de Dtot paramètres entiers, oil Dtot est le nombre total de fréquences demandées dans le système cellulaire. Par exemple, une position peut être une séquence (1, 6, 10, 2, 8, 3).

    - Vitesse de la particule : L' expression X2 - X1 oil X1 et X2 sont deux positions, représente la différence entre deux positions et la vitesse demandée pour aller de X1 à X2. Cette vitesse est une liste ordonnée de transformations (appelées mouvements) qui doivent être appliquées séquentiellement à la particule pour passer de sa position courante X1 en une autre X2. Un mouvement est une paire de valeurs a/j.

    Pour chaque position u dans la séquence X1, l'algorithme détermine si l'unité qui est en position u de la séquence X1 est la même unité qui est en position u de la séquence X2. Si les unités sont différentes, a est l'unité en position u de X2 et j est égal à la position u. Ainsi, ce mouvement dénote que pour aller de la séquence X1 à la séquence X2, l'unité en position j doit être échangée par l'unité a. Par exemple soient X1 = (A1, B1, C2, C1, B2, C4, A2, C3) et X2 = (A1, C1, B2, C2, A2, C4, B1, C3), donc la vitesse X2 - X1 est constituée par la liste de mouvement : {(C1/2), (B2/3), (C2/4), (A2/5), (B1/7)}

    X1

    =

    (A1, B1, C2, C1, B2, C4, A2, C3)

    (C1/2)

    ?

    (A1,C1,C2,B1,B2,C4,A2,C3)

    (B2/3)

    ?

    (A1, C1, B2, B1, C2, C4, A2, C3)

    (C2/4)

    ?

    (A1, C1, B2, C2, B1, C4, A2, C3)

    (A2/5)

    ?

    (A1,C1,B2,C2,A2,C4,B1,C3)

    (B1/7)

    ?

    (A1, C1, B2, C2, A2, C4, B1, C3) = X2

    - Multiplication externe d'un coefficient par une vitesse : Les valeurs des coefficients des ô(t), u et u utilisés dans l'équation de la mise à jour du vecteur vitesse (équation (1.1) du chapitre 1) sont entre 0 et 1. Lorsqu'un coefficient est multiplié par une vitesse, il indique la probabilité de chaque mouvement à être appliquer. Par exemple, si on multiplie le coefficient 0.6 par la vitesse [(C1/2), (B2/3), (C2/4), (A2/5), (B1/7)], cinq nombres aléatoires entre 0 et 1 sont génerés pour la comparaison avec la valeur 0.6. Si le nombre aléatoire est inférieur à 0.6, le mouvement est appliqué. Par conséquent, si les valeurs des nombres aléatoires sont 0.8, 0.3, 0.7, 0.4 et 0.2, les mouvements (B2/3), (A2/5) et(B1/7) sont appliqués, tandis que les mouvements (C1/2) et (C2/4) ne sont pas appliqués. La

    vitesse résultante de la multiplication est donc [(B2/3), (A2/5), (B1/7)], qui, comme précédemment indiqué, représente une liste de mouvements qu'on va appliquer à un point.

    - Somme de vitesses : La somme de deux vitesses est simplement la concaténation de leur propre liste de mouvements.

    - Somme de vitesse et une position : La somme d'une vitesse et une position donne le résultat d'appliquer séquentiellement chaque mouvement de la vitesse à la position.

    - Population initiale : La population initiale est produite en plaçant une vitesse vide et une position aléatoire pour chaque particule.

    - Critère d'arrêt : L'algorithme s'arrête après avoir effectuer un nombre prédéfini d'itérations.

    2.3.4 Etude expérimentale

    Afin d'améliorer les performances de DPSO, une procédure de recherche locale déterministe est appliquée à chaque itération. L'idée de base est de ramener chaque solution à son minimum local utilisant une heuristique d'optimisation locale déterministe [Li, 1995]. Cette heuristique consiste en le choix, pour chaque cellule violant les contraintes électromagnétiques, d'un canal qui valide les différentes contraintes. Les nouvelles solutions constituent les particules de la génération courante.

    Le Tableau (2.1) présente les différentes caractéristiques des problèmes étudiés. Ces caractéristiques incluent le vecteur de demande en canaux (D), la matrice de contraintes électromagnétiques (C), le nombre de cellules et le nombre de fréquences disponibles. Le vecteur de demande spécifie le nombre de canaux requis par chaque cellule. Le nombre total de demande (Dtot) représente la somme des éléments de D. Ces différents vecteurs caractéristiques sont illustrés par la figure (2.12).

    TAB. 2.1 - Caractéristiques des problèmes étudiés

    Probleme #

    No. de cellules

    No. de canaux
    valables

    Matrice de
    Compatibilités (C)

    Vecteur de
    demande (D)

    1

    4

    11

    C1

    D1

    2

    25

    73

     

    D2

    3

    21

    381

    C3

    D3

    4

    21

    533

    C4

    D3

    5

    21

    533

    C5

    D3

    6

    21

    221

    C3

    D4

    7

    21

    309

    C4

    D4

    8

    21

    309

    C5

    D4

    FIG. 2.12 - Vecteurs caractéristiques des problèmes étudiés

    Les résultats de simulation obtenus pour quelques instances des problèmes spécifiés ci-dessus sont présentés. Il faut noter que les paramètres de l'algorithme sont donnés par la taille de population et le nombre maximum de générations.

    Problème #1

    Ce problème est relativement simple à résoudre, l'algorithme DPSO est appliqué à une population de 10 individus évoluant durant 10 générations. Le tableau (2.2) présente les différentes affectations de fréquences associées à chaque cellule. Les solutions obtenues montrent que les contraintes de compatibilités électromagnétiques sont toutes validées. Il faut noter que plusieurs solutions ont été obtenues pour ce problème, ces solutions diffèrent uniquement par l'affectation de fréquences des trois premières cellules. En effet, l'affectation de fréquences pour la quatrième cellule illustrée par le tableau (2.2) représente la solution unique qui ne viole pas les interférences de type co-cellule.

    TAB. 2.2 Fréquences affectées aux différentes cellules du problème #1

    Cel.#

    Canaux affectés

    1

    3

     
     

    2

    7

     
     

    3

    2

     
     

    4

    10

    5

    0

    Problème #2

    Le tableau (2.3) représente la solution associée au problème #2. Ce problème est caractérisé par 25 cellules dont le nombre total de demande en fréquences est de 167, alors que le nombre de fréquences disponibles est 73. Pour ce problème, 10 individus qui évoluent durant 10 générations sont utilisés pour l'exécution de l'algorithme DPSO.

    TAB. 2.3 - Canaux alloués aux différentes cellules du problème #2

    Cel.#

    Canaux affectés

    1

    53

    44

    57

    0

    2

    4

    6

    8

    10

    12

     

    2

    3

    5

    7

    9

    11

    13

    15

    17

    20

    22

    24

    3

    14

    19

    23

    28

    30

    21

    32

    26

    34

     
     

    4

    0

    2

    4

    6

    9

     
     
     
     
     
     

    5

    1

    27

    29

    33

    35

    41

    43

    38

    46

     
     

    6

    0

    2

    4

    6

     
     
     
     
     
     
     

    7

    27

    29

    31

    33

    35

     
     
     
     
     
     

    8

    36

    38

    41

    1

    46

    52

    54

     
     
     
     

    9

    3

    5

    11

    7

     
     
     
     
     
     
     

    10

    42

    40

    55

    63

    67

    48

    50

    69

     
     
     

    11

    8

    12

    22

    17

    51

    59

    49

    62

     
     
     

    12

    18

    49

    51

    64

    68

    58

    62

    45

    70

     
     

    13

    56

    44

    53

    61

    16

    65

    44

    44

    71

    57

     

    14

    52

    36

    39

    54

    47

    60

    66

     
     
     
     

    15

    14

    21

    23

    18

    25

    28

    31

     
     
     
     

    16

    0

    2

    4

    6

    9

    11

     
     
     
     
     

    17

    3

    1

    5

    7

     
     
     
     
     
     
     

    18

    10

    13

    15

    19

    26

     
     
     
     
     
     

    19

    20

    29

    34

    32

    37

     
     
     
     
     
     

    20

    3

    7

    24

    33

    35

    38

    40

     
     
     
     

    21

    6

    13

    4

    16

    19

    9

     
     
     
     
     

    22

    0

    2

    10

    26

     
     
     
     
     
     
     

    23

    1

    11

    18

    14

    21

     
     
     
     
     
     

    24

    13

    19

    15

    23

    25

    27

    29

     
     
     
     

    25

    16

    24

    28

    30

    32

     
     
     
     
     
     

    Problème #3

    Ce problème est plus compliqué que les autres instances en termes du nombre total de demande en fréquences (= 481 canaux requis). En plus, les contraintes cocellule, données par les éléments diagonaux de la matrice, sont peu élevées (=5). Le nombre d'individus utilisé dans ce cas est fixé à 40 et le nombre maximum de générations égal à 30. Le tableau (2.4) présente les canaux affectés à chacune des 21

    cellules. Les fréquences allouées à chaque cellule valident toutes les contraintes de compatibilités électromagnétiques.

    TAB. 2.4 - Canaux alloués aux différentes cellules du problème #3

    Cel.#

    Canaux affectés

    1

    127

    1

    6

    11

    16

    21

    26

    31

     
     
     
     
     
     

    2

    187

    2

    7

    12

    17

    22

    27

    37

    42

    47

    52

    57

    62

    67

     

    72

    77

    82

    87

    92

    97

    102

    107

    112

    117

     
     
     
     

    3

    122

    3

    8

    13

    18

    23

    28

    33

     
     
     
     
     
     

    4

    61

    1

    6

    11

    16

    21

    26

    31

     
     
     
     
     
     

    5

    40

    0

    5

    10

    15

    20

    25

    30

     
     
     
     
     
     

    6

    79

    0

    5

    10

    15

    20

    25

    30

    35

    40

    45

    50

    55

    60

     

    65

     
     
     
     
     
     
     
     
     
     
     
     
     

    7

    122

    3

    8

    13

    18

    23

    28

    33

    38

    43

    48

    53

    58

    63

     

    68

    73

    78

    83

     
     
     
     
     
     
     
     
     
     

    8

    284

    4

    9

    14

    19

    41

    46

    51

    56

    61

    66

    71

    76

    81

     

    86

    91

    96

    101

    106

    111

    116

    121

    126

    131

    136

    141

    146

    151

     

    156

    161

    166

    171

    176

    181

    186

    191

    196

    201

    206

    211

    216

    221

     

    226

    231

    236

    241

    246

    251

    256

    261

    266

    271

     
     
     
     

    9

    0

    5

    10

    15

    20

    25

    30

    35

    40

    45

    50

    55

    60

    65

     

    70

    75

    80

    85

    90

    95

    100

    105

    110

    115

    120

    125

    130

    135

     

    140

    145

    150

    155

    160

    165

    170

    175

    180

    185

    190

    195

    200

    205

     

    210

    215

    220

    225

    230

    235

    240

    245

    250

    255

    260

    265

    270

    275

     

    280

    285

    290

    295

    300

    305

    310

    315

    320

    325

    330

    335

    340

    345

     

    350

    355

    360

    365

    370

    375

    380

     
     
     
     
     
     
     

    10

    36

    43

    48

    53

    58

    63

    68

    73

    78

    83

    88

    93

    98

    103

     

    108

    113

    118

    123

    128

    133

    138

    143

    148

    153

    158

    163

    168

    173

    11

    67

    2

    7

    12

    17

    22

    27

    32

    37

    42

    47

    52

    57

     

    12

    79

    3

    8

    13

    18

    23

    28

    33

    38

    44

    49

    54

    59

    64

     

    69

     
     
     
     
     
     
     
     
     
     
     
     
     

    13

    156

    1

    6

    11

    16

    21

    26

    31

    36

    41

    46

    51

    56

    61

     

    66

    71

    76

    81

    86

    91

    96

    101

    106

    111

    116

    121

    126

    131

     

    136

    141

    146

     
     
     
     
     
     
     
     
     
     
     

    14

    32

    2

    7

    12

    17

    22

    27

    37

    52

    57

    62

    67

    72

    77

     

    82

     
     
     
     
     
     
     
     
     
     
     
     
     

    15

    88

    207

    212

    217

    222

    227

    232

    237

    242

    247

    252

    257

    262

    267

     

    272

    93

    98

    103

    108

    113

    118

    123

    128

    133

    138

    143

    148

    153

     

    158

    163

    168

    173

    178

    183

    188

    193

     
     
     
     
     
     

    16

    301

    306

    24

    29

    34

    39

    44

    49

    54

    59

    64

    69

    74

    79

     

    84

    89

    94

    99

    104

    109

    114

    119

    124

    129

    134

    139

    144

    149

     

    154

    159

    164

    169

    174

    179

    184

    189

    194

    199

    204

    209

    214

    219

     

    224

    229

    234

    239

    244

    249

    254

    259

    264

    269

    274

    311

    279

    286

     

    291

     
     
     
     
     
     
     
     
     
     
     
     
     

    17

    192

    127

    132

    137

    142

    147

    152

    157

    162

    167

    172

    177

    182

    197

     

    202

    208

    213

    218

    223

    228

    233

    238

    243

    248

    253

    258

    263

    268

    18

    66

    4

    9

    14

    19

    41

    46

    51

     
     
     
     
     
     

    19

    87

    1

    6

    11

    16

    21

    26

    31

    36

    42

     
     
     
     

    20

    47

    2

    7

    12

    17

    22

    27

    32

    37

    52

    57

    62

    67

     

    21

    56

    3

    8

    13

    18

    23

    28

    33

     
     
     
     
     
     

    On peut constater que la 9ème cellule (tableau 2.4), caractérisée par le plus grand nombre de demande en fréquences (=77), exploite l'ensemble du spectre disponible sans violer les contraintes de compatibilités. En effet, la complexité de ce problème réside dans le fait que pour la neuvième cellule, il existe une solution unique qui évite toute violation de contraintes de type co-cellule, alors que le reste des contraintes doivent être validées par les autres cellules.

    Problème #6

    Pour ce problème, Le nombre de cellules est 21, le spectre disponible est [0...220], le nombre total de demande en canaux est 470. L'algorithme DPSO est appliqué à une population de 60 individus évoluant durant 30 générations. La solution finale obtenue à la convergence de DPSO est présentée dans le tableau (2.5).

    TAB. 2.5 - Canaux alloués aux différentes cellules du problème #6

    Cel.#

    Canaux affectés

    1

    20

    53

    0

    5

    10

     
     
     
     
     
     
     
     
     

    2

    23

    49

    1

    6

    13

     
     
     
     
     
     
     
     
     

    3

    63

    68

    2

    8

    14

     
     
     
     
     
     
     
     
     

    4

    36

    41

    3

    9

    48

    16

    21

    26

     
     
     
     
     
     

    5

    73

    51

    58

    66

    1

    6

    11

    18

    23

    28

    33

    38

     
     

    6

    135

    120

    1

    6

    125

    12

    17

    22

    27

    32

    37

    42

    47

    52

     

    57

    62

    67

    72

    77

    82

    87

    92

    97

    102

    107

     
     
     

    7

    96

    63

    2

    7

    14

    19

    24

    29

    34

    39

    44

    50

    55

    68

     

    73

    78

    83

    88

    101

    108

    117

    122

    127

    132

    137

    142

    147

    152

     

    157

    162

     
     
     
     
     
     
     
     
     
     
     
     

    8

    136

    76

    3

    9

    16

    21

    26

    31

    36

    41

    46

    51

    56

    61

     

    66

    71

    81

    86

    91

    141

    146

    103

    111

    116

    121

     
     
     

    9

    190

    185

    4

    11

    25

    30

    35

    40

    45

    70

    75

    80

    85

    90

     

    95

    100

    105

    110

    115

    120

    125

    130

    135

    140

    145

    150

    155

    160

     

    165

    170

     
     
     
     
     
     
     
     
     
     
     
     

    10

    197

    202

    207

    7

    12

    17

    22

    27

    32

    37

    42

    47

    52

    57

     

    62

    67

    72

    77

    82

    87

    92

    97

    102

    107

    112

    117

    122

    127

     

    132

    137

    142

    147

    152

    157

    162

    167

    172

    177

    182

    187

     
     

    11

    13

    19

    24

    29

    219

    44

    49

    54

    59

    64

    69

    74

    79

    84

     

    89

    94

    99

    104

    109

    114

    119

    124

    129

    134

    139

    144

    149

    154

     

    159

    164

    169

    174

    179

    184

    189

    194

    199

    204

    209

    214

     
     

    12

    0

    5

    10

    15

    20

    25

    30

    35

    40

    45

    50

    55

    60

    65

     

    70

    75

    80

    85

    90

    95

    100

    105

    110

    115

    120

    125

    130

    135

     

    140

    145

    150

    155

    160

    165

    170

    175

    180

    185

    190

    195

    200

    205

     

    210

    215

    220

     
     
     
     
     
     
     
     
     
     
     

    13

    98

    103

    0

    5

    10

    15

    20

    25

    30

    35

    40

    45

    51

    56

     

    61

    66

    71

    76

    81

    86

     
     
     
     
     
     
     
     

    14

    174

    179

    4

    11

    18

    23

    49

    54

    59

    64

    69

    74

    79

    84

     

    89

    94

    99

    104

    109

    114

    119

    124

    129

    134

    139

    144

    149

    154

     

    159

    164

     
     
     
     
     
     
     
     
     
     
     
     

    15

    188

    106

    8

    58

    65

    193

    198

    203

    208

    213

    218

    112

    118

    123

     

    128

    133

    138

    143

    148

    153

    158

    163

    168

    173

    178

     
     
     

    16

    151

    60

    131

    28

    33

    38

    43

    48

    156

    161

    166

    171

    180

    189

     

    194

     
     
     
     
     
     
     
     
     
     
     
     
     

    17

    93

    98

    0

    5

    10

    15

    20

    50

    55

    175

    181

    186

    191

    196

     

    201

     
     
     
     
     
     
     
     
     
     
     
     
     

    18

    61

    76

    81

    34

    39

    86

    46

    188

    53

    193

    198

    71

    203

    208

     

    91

    213

    218

    103

    111

    116

    121

    126

    136

    141

    146

    153

    158

    163

     

    168

    173

     
     
     
     
     
     
     
     
     
     
     
     

    19

    97

    102

    1

    6

    12

    17

    22

    27

    32

    37

    42

    47

    52

    57

     

    62

    67

    72

    77

    82

    87

     
     
     
     
     
     
     
     

    20

    119

    109

    2

    13

    18

    23

    29

    44

    49

    54

    59

    64

    69

    74

     

    79

    84

    89

    94

    99

    104

     
     
     
     
     
     
     
     

    21

    143

    96

    3

    8

    14

    21

    26

    31

    36

    41

    51

    56

    63

    68

     

    73

    78

    83

    88

    101

    106

    113

    118

    123

    128

    133

     
     
     

    Problème #8

    Pour ce système cellulaire de 21 cellules, le spectre disponible est [0...308], le nombre total de demande en canaux est 470. Le nombre des contraintes co-cellule est égal à 7. Le tableau (2.6) présente la solution obtenue utilisant une population de 60 individus qui évolue durant 30 générations.

    TAB. 2.6 - Canaux alloués aux différentes cellules du problème #8

    Cel.#

    Canaux affectés

    1

    47

    5

    12

    19

    26

     
     
     
     
     
     
     
     
     

    2

    0

    7

    14

    23

    30

     
     
     
     
     
     
     
     
     

    3

    69

    76

    41

    48

    55

     
     
     
     
     
     
     
     
     

    4

    22

    29

    89

    96

    103

    117

    1

    8

     
     
     
     
     
     

    5

    173

    180

    187

    31

    110

    17

    3

    10

    24

    61

    68

    75

     
     

    6

    200

    156

    193

    165

    172

    182

    0

    8

    15

    22

    29

    36

    43

    50

     

    57

    64

    71

    78

    85

    92

    99

    106

    117

    124

    131

     
     
     

    7

    138

    145

    152

    159

    238

    250

    2

    10

    17

    24

    31

    38

    45

    52

     

    59

    66

    73

    80

    87

    94

    101

    108

    115

    180

    187

    195

    202

    209

     

    216

    223

     
     
     
     
     
     
     
     
     
     
     
     

    8

    28

    229

    21

    56

    35

    42

    49

    63

    70

    77

    84

    91

    98

    111

     

    118

    128

    161

    168

    175

    236

    286

    243

    252

    259

    266

     
     
     

    9

    172

    179

    186

    263

    270

    256

    249

    4

    11

    18

    25

    32

    39

    46

     

    53

    60

    67

    74

    81

    88

    95

    102

    109

    116

    123

    130

    137

    144

     

    151

    158

     
     
     
     
     
     
     
     
     
     
     
     

    10

    36

    288

    6

    13

    295

    302

    43

    50

    57

    64

    71

    78

    85

    92

     

    99

    113

    120

    127

    134

    141

    148

    155

    162

    169

    176

    183

    190

    197

     

    204

    211

    267

    274

    281

     
     
     
     
     
     
     
     
     

    11

    269

    276

    283

    290

    19

    297

    304

    26

    38

    45

    52

    59

    66

    73

     

    80

    87

    94

    101

    108

    115

    122

    129

    136

    143

    150

    157

    164

    171

     

    178

    185

    241

    248

    255

     
     
     
     
     
     
     
     
     

    12

    0

    7

    14

    21

    28

    35

    42

    49

    56

    63

    70

    77

    84

    91

     

    98

    105

    112

    119

    126

    133

    140

    147

    154

    161

    168

    175

    182

    189

     

    196

    203

    259

    266

    273

    280

    287

    294

    301

    308

     
     
     
     

    13

    121

    128

    135

    142

    149

    102

    3

    11

    18

    25

    32

    39

    46

    53

     

    60

    67

    74

    81

    88

    95

     
     
     
     
     
     
     
     

    14

    225

    190

    197

    204

    211

    218

    6

    13

    20

    27

    34

    41

    48

    55

     

    62

    69

    76

    83

    90

    97

    104

    112

    119

    126

    133

    140

    147

    154

     

    162

    169

     
     
     
     
     
     
     
     
     
     
     
     

    15

    248

    122

    136

    143

    150

    157

    164

    171

    178

    185

    192

    199

    206

    213

     

    220

    227

    234

    241

    255

    262

    269

    276

    283

    290

    297

     
     
     

    16

    273

    245

    125

    132

    139

    181

    1

    8

    15

    189

    196

    203

    210

    217

     

    224

     
     
     
     
     
     
     
     
     
     
     
     
     

    17

    174

    277

    284

    291

    193

    200

    20

    27

    62

    207

    214

    221

    105

    228

     

    235

     
     
     
     
     
     
     
     
     
     
     
     
     

    18

    293

    286

    188

    131

    138

    124

    195

    2

    9

    16

    23

    202

    33

    40

     

    47

    54

    209

    216

    223

    230

    237

    244

    251

    258

    265

    272

    279

    145

     

    152

    159

     
     
     
     
     
     
     
     
     
     
     
     

    19

    113

    120

    127

    134

    141

    148

    5

    12

    19

    26

    33

    40

    47

    54

     

    61

    71

    78

    85

    92

    99

     
     
     
     
     
     
     
     

    20

    108

    115

    129

    160

    146

    153

    3

    10

    17

    24

    31

    38

    45

    52

     

    59

    66

    73

    80

    87

    94

     
     
     
     
     
     
     
     

    21

    163

    170

    177

    184

    191

    198

    0

    7

    14

    29

    42

    49

    56

    68

     

    75

    82

    89

    96

    103

    110

    117

    126

    133

    140

    149

     
     
     

    2.3.5 Comparaison avec d'autres techniques

    Le tableau (2.7) présente la comparaison entre les résultats obtenus par DPSO [Benameur et al, 2009b] et différentes techniques reportées dans la littérature, [Cheng et al, 2005], [Alami et El Imrani, 2007], [Funabiki et Takefuji, 1992], [Kim et al, 1997].

    Pour pouvoir comparer les performances des techniques employées, deux critères de performances sont utilisés. Ces critères incluent le nombre d'itérations requis pour la convergence ainsi que le taux de convergence à la solution optimale. Le tableau (2.7) illustre la moyenne de ces deux critères obtenue à la suite de 100 exécutions des différentes techniques.

    TAB. 2.7 - Comparaison des performances des différentes techniques pour les 8 problèmes

    Méthodes

    Problème #

    1

    2

    3

    4

    5

    6

    7

    8

    DPSO

    # d'itérations

    1

    5

    30

    40

    55

    60

    50

    60

     

    Taux de

    100

    100

    100

    100

    100

    100

    100

    100

     

    Convergence%

     
     
     
     
     
     
     
     

    [Cheng et

    # d'itérations

    1

    5

    3

    1

    5

    8.6

    4

    5

    al, 2005]

    Taux de

    100

    100

    100

    100

    100

    100

    100

    100

     

    Convergence%

     
     
     
     
     
     
     
     

    [Alami et

    # d'itérations

    1

    2

    2

    2

    2.25

    2.75

    3.52

    4

    El Imrani,
    2008]

    Taux de
    Convergence%

    100

    100

    100

    100

    100

    100

    100

    100

    [Funabiki

    # d'itérations

    212

    294

    147.8

    117.5

    100.3

    234.8

    85.6

    305.6

    et Takefuji,
    1992]

    Taux de
    Convergence%

    100

    9

    93

    100

    100

    79

    100

    24

    [Kim et al,
    1997]

    # d'itérations
    Taux de

    -
    -

    279.9
    62

    67.4
    99

    64.2
    100

    126.8
    98

    62.4
    97

    127.7
    99

    151.9
    52

     

    Convergence%

     
     
     
     
     
     
     
     

    Le tableau (2.7) montre que l'implémentation de l'algorithme DPSO sur les différentes instances du problème étudié est exploitable. En effet, l'algorithme de base DPSO converge, à chaque exécution, vers une solution pour les différentes instances du problème.

    Même si le nombre moyen d'itérations nécessaire à la convergence de DPSO est plus grand relativement à celui requis par les autres modèles pour quelques instances, l'application de cet algorithme reste plus adéquate du fait que la complexité de l'algorithme PSO est plus petite que celle des autres algorithmes utilisés (algorithmes culturels, réseaux de neurone).

    2.4 Conclusion

    L'objectif principal de ce chapitre étant d'appliquer l'algorithme d'optimisation par essaims particulaires à des problèmes d'optimisation réels, à savoir un problème continu : la commande d'une machine synchrone à aimant permanent (MSAP), et un autre discret : le problème d'affectation de fréquences dans les réseaux cellulaires.

    Le problème d'optimisation MSAP est très sensible aux variations de paramètres et aux perturbations externes de charge dans le système. dans ce contexte, l'algorithme PSO a été utilisé pour surmonter les problèmes liés à l'utilisation du contrôleur conventionnel. Les résultats de simulation montre que la stratégie PIPSO fournie de meilleures réponses en vitesse et de précision que les autres stratégies (le contrôleur PIPSO est 94% plus rapide que la stratégie de commande PIGA, le rapport du temps de réponse donné par: PIGA/PIPSO est égal à 101.4%.).

    D'autre part, l'algorithme PSO a été utilisé pour la résolution de problème d'allocation de fréquences, qui est classé dans la catégorie des problèmes NP-Complets. Du fait de la nature discrète de FS-FAP, les paramètres du modèle PSO doivent être adapter à la résolution de ce problème. Les résultats de simulation montrent que l'algorithme DPSO a donné de meilleurs résultats pour les différentes instances du problème étudié (en termes du nombre de taux de convergence qui est égal à 100% pour toutes les instances et en terme de temps de calcul).

    Nous pouvons conclure que l'algorithme PSO est très utile dans l'optimisation globale de problèmes continu ou discret plus ou moins compliqués. Ces performances peuvent être expliquées par la nature stochastique de cette méthode et par l'équilibre qu'elle assure entre exploration/exploitation de l'espace de recherche.

    Deuxième partie

    Conception de nouveaux modèles

    pour l'optimisation multimodale et

    l'optimisation multiobjectif

    Résumé

    Dans la plupart des cas réels, on est confronté à deux types de problèmes difficiles : les problèmes d'optimisation multimodale, caractérisés par des domaines multimodaux, la résolution de ces problèmes requière la recherche de toutes les solutions, aussi bien locales que globales, et les problèmes multiobjectifs, caractérisés par la présence simultanée de plusieurs objectifs, souvent contradictoires. Dans ce contexte, nous avons conçu de nouvelles approches basées sur PSO et la classification floue pour résoudre ces deux types de problèmes d'optimisation difficile.

    Chapitre 3

    Conception d'un nouveau modèle

    d'optimisation multimodale

    (Multipopulation Particle Swarms

    Optimization MPSO)

    3.1 Introduction

    Dans la pratique, on est souvent confronté à des problèmes oil on désire identifier tous les optima. Les problèmes réels, généralement caractérisés par des domaines multimodaux, requièrent, de ce fait, la recherche de toutes les solutions, aussi bien locales que globales.

    L'algorithme PSO standard ne permet de localiser qu'un seul optimum dans l'espace de recherche [Kennedy et Eberhart, 1995]. Afin d'adapter l'algorithme PSO à la résolution de ce genre de problèmes, nous avons conçu un nouveau modèle MPSO (Multipopulation Particle Swarms Optimization) qui permet de créer et de maintenir des sous-populations d'essaims, de sorte que chaque sous-essaim effectue une recherche locale dans son propre espace de recherche afin de localiser la meilleure position globale qui représente un optimum.

    En effet, le modèle proposé permet la formation et la maintenance de sous-populations de solutions ainsi que leur sous-espace de recherches et implémente un processus de migration en vue d'échanger des informations entre les sous-essaims voisins. Une procédure de classification automatique floue permet de générer des classes de solutions et de regrouper ainsi les solutions similaires sous forme de sous-population.

    L'intérêt de la procédure de classification automatique floue réside dans le fait qu'elle permet de mieux traduire la réalité et de tenir compte de l'ambiguïté qui survient quand un même objet semble appartenir à plusieurs classes, mais avec des degrés d'appartenance différents. Aussi, cette technique n'exige aucune information préalable sur la distribution de données.

    Dans ce chapitre, les différentes techniques utilisées dans le contexte d'optimisation multimodale seront décrites. Enfin la structure de base, de modèle proposé, sera présentée en détail et validée par plusieurs fonctions tests.

    3.2 Problématique de l'optimisation multimodale

    Lorsqu'une fonction admet plusieurs optima locaux, elle est dite multimodale (elle est unimodale dans le cas contraire). Le plus petit (respectivement le plus grand) optimum local d'une fonction multimodale, est appelé optimum global.

    La figure (3.1) présente, à titre d'exemple, une distribution possible des optima d'une fonction unidimensionnelle et multimodale, ainsi que certains points particuliers, tels que les points d'inflexion et de discontinuité, pouvant poser des difficultés aux méthodes de résolution.

    FIG. 3.1 - Points singuliers d'une fonction unidimensionnelle multimodale

    Lorsqu'un tel problème est traité par des techniques d'optimisation (chapitre 1), l'un des optima sera découvert. Cependant, dans la pratique, on est souvent confronté à des problèmes oil on désire identifier tous les optima. Les problèmes réels, généralement caractérisés par des domaines multimodaux, requièrent, de ce fait, la recherche de toutes les solutions, aussi bien locales que globales. Dans ce contexte, plusieurs techniques ont été développées, soit pour améliorer les techniques de base en intégrant des procédures de recherche multimodale, soit en concevant de nouvelles heuristiques.

    La stratégie la plus simple consiste à exécuter l'algorithme de recherche autant de fois que possible pour localiser tous les optima requis. Si tous les optima ont la même probabilité d'être trouvés, le nombre d'exécutions indépendantes est donné

    approximativement par [Beasley et al, 1993] :

    X p

    p

    i=1

    1

    i

    p(ã + logp) (3.1)

    Où p : nombres d'optima,ã : constante d'Euler.

    Par ailleurs, dans la pratique, les optima n'ont pas la même chance d'être trouvés, de sorte que le nombre d'exécutions indépendantes est beaucoup plus élevé. D'autre part, dès que le nombre d'optima devient important, cette méthode devient très coûteuse en temps de calcul.

    3.3 Techniques de l'optimisation multimodale

    Plusieurs méthodes d'optimisation multimodale ont été reportées dans la littérature, ces methodes incluent les techniques de niche, qui ont été initialement introduites dans les algorithmes génétiques, afin de limiter la dérive génétique due à l'opérateur de sélection et d'explorer en parallèle différentes solutions, locales ou globales, situées dans des régions éloignées de l'espace [Säreni, 1999]. Ces caractéristiques permettent enfin d'éviter le piégeage de l'algorithme dans un optimum local.

    D'autres méthodes ont été développées utilisant d'autres concepts, telles que les systèmes immunitaires artificiels [De Castro et Timmis, 2002] et les systèmes basés sur des stratégies financières [Goldberg et Wang, 1997].

    3.3.1 Les méthodes de niche

    Les méthodes de niche reposent sur une analogie entre les domaines de recherche en optimisation et les écosystèmes naturels. Dans la nature, Chaque espèce évolue de façon à remplir une niche écologique. Une espèce représente un groupe d'organismes identiques de caractéristiques biologiques semblables. Dans chaque niche, les ressources naturelles sont limitées et doivent être partagées entre les représentants des espèces qui l'occupent.

    Par analogie, une niche se réfère typiquement à un optimum de la fonction objectif et la qualité de l'optimum représente les ressources de cette niche [Goldberg et Richardson, 1987]. Les espèces sont constituées par des groupes d'individus similaires. La mesure de la similarité entre individus est effectuée à partir d'un critère de distance et d'un seuil de dissimilarité (ou seuil de voisinage).

    En principe, les techniques de niche utilisent deux stratégies. La première est basée sur la modification de la structure de certaines régions de l'espace de recherche pour prévenir la convergence de l'algorithme vers ces sections. Cette approche englobe les techniques de surpeuplement, de remplissage ou de partage. La seconde approche

    impose des contraintes géographiques à la population pour prévenir la prolifération rapide d'individus très performants. Les modèles des 'îlots' et de populations isolées utilisent en général cette seconde stratégie [El Imrani, 20001.

    Plusieurs méthodes de niche ont été reportées dans la littérature, incluant les méthodes : de partage [Goldberg et Richardson, 19871 et de sa version améliorée [El Imrani et al, 1999a1, [El Imrani et al, 1999b1, de niche séquentielle [Beasley et al, 19931, de niche dynamique [Miller et Shaw, 19961 ou de procédure d'éclaircissement (clearing) [Petrowski, 19961, de surpeuplement (Crowding) [Mahfoud, 19941, [Qing et al, 20081. D'autres méthodes ont été développées utilisant d'autres concepts, telles que les systèmes immunitaires artificiels [De Castro et Timmis, 20021 et les systèmes basés sur des stratégies financières [Goldberg et Wang, 19971.

    Plus récemment, le concept de niche écologique a été également étendu à d'autres modèles (e.g., les essaims particulaires (PSO)). On peut citer : Nbest PSO [Brits et al, 2002a1, Niche PSO [Brits et al, 2002b1, SPSO [Li, 20041 qui améliore la technique proposée par [Kennedy, 20001, les techniques basées sur des opérations vectorielles [Schoeman et Engelbrecht, 20051. Une technique basée sur le concept de nichage séquentiel et la technique d'essaims particulaires PSO (ASNPSO), a été récemment proposée dans [Zhang et al, 20061.

    3.3.1.1. La technique de partage (fitness sharing)

    La méthode de partage constitue probablement la technique de niche la plus utilisée. Cette technique a été initialement introduite par Goldberg et Richardson en 1987 [Goldberg et Richardson, 19871. Elle consiste à réajuster l'adaptation de chaque individu en fonction des ressources disponibles dans son environnement local, et du nombre de congénères voisins susceptibles de lutter pour ces ressources. Le partage a pour effet de modifier l'espace de recherche en pénalisant les régions à forte densité de population. Il permet, par conséquent, de réduire la fonction fitness de chaque élément de la population par une quantité proportionnelle au nombre d'individus similaires. Cet effet incite les individus à migrer vers d'autres points de l'espace et favorise, par conséquent, l'exploration des régions inoccupées [Mahfoud, 19951. En pratique, la mise en oeuvre de la méthode de partage se fait de la façon suivante :

    L'adaptation brute f(i) d'un individu i est réduite d'un facteur correspondant approximativement au nombre d'éléments, qui lui sont similaires, qui représente son compteur de niche. La fonction d'adaptation réajustée fsh(i) d'un individu i s'écrit alors :

    f(i)

    fsh(i) = PN (3.2)

    j=1 sh(d(i, j))

    Le compteur de niche est calculé en sommant la fonction de partage de tous les membres de la population. N définit la taille de la population totale et d(i, j) une mesure de distance entre les individus i et j. La fonction de partage (sh) mesure le niveau de similarité entre deux individus de la population. Elle retourne 1 si les

    individus sont identiques et 0 si la distance d(i, j) est plus grande qu'un certain seuil de dissimilarité [Säreni et Krähenbühl, 1998].

    I

    1 - (d(i,j)

    as )á si d(i, j) < ós

    sh(d(i, j)) =

    0 autrement

    (3.3)

    á est un paramètre qui modifie la forme de la fonction de partage. á est habituellement fixé à 1, donnant comme fonction résultante la fonction de partage triangulaire.

    La distance d(i, j) peut être caractérisée par une similarité métrique génotypique (distance de Hamming) dans le cas binaire ou phénotypique (distance euclidienne par exemple) reliée directement aux paramètres réels de l'espace de recherche. Deb et Goldberg [Deb et Goldberg, 1989] montrent que l'utilisation de distance phénotypique donne des résultats légèrement meilleurs.

    A l'aide de cette technique, plusieurs optima peuvent donc être découverts en même temps. Cependant, la grande difficulté de l'application de la méthode consiste dans la définition de la distance d. En effet, des individus très proches au niveau de leur génotype peuvent différer complètement au niveau de leur position dans l'espace, donc ne pas partager la même ressource. De même, des individus ayant des performances proches peuvent très bien être différents au niveau de leur génotype et donc se trouver sur des optima différents. De plus, cette technique présente un inconvénient majeur relatif au réglage du seuil de similarité.

    3.3.1.2. Nichage dynamique (Dynamic Niching)

    le nichage dynamique (Dynamic Niching) a été proposé par Miller et Shaw [Miller et Shaw, 1996]. Elle consiste à faire précéder le partage d'une phase de regroupement (Clustering), qui a pour rôle de rassembler et de classer les individus similaires à l'intérieur de groupes (ou niches) représentant une même sous-population. Une fois la séparation explicite des niches est effectuée, chaque individu se trouve affecté à une sous-population donnée. Le partage est alors réalisé en prenant un facteur nichage défini à partir des caractéristiques des sous-populations qui est égal au nombre d'individus appartenant à la même sous-population.

    L'inconvénient majeur de cette méthode est l'utilisation de partage fixe en dehors des niches dynamiques [Goldberg et Wang, 1997].

    3.3.1.3. Nichage séquentiel (Sequential Niching)

    Le nichage séquentiel exécute de façon séquentielle un algorithme d'optimisation unimodal en utilisant les connaissances acquises à chaque itération pour éviter la réexploration des régions où des solutions ont déjà été trouvées [Beasley et al, 1993].

    Cette méthode consiste à réajuster la fonction objectif à l'aide d'une fonction de pénalisation lorsque l'algorithme converge. L'algorithme est ensuite relancé en écartant l'optimum trouvé avec une nouvelle fonction objectif.

    L'un des problèmes majeurs de la technique de nichage séquentiel est l'apparition de solutions locales inexistantes à la suite du réajustement de la fonction d'adaptation.

    3.3.1.4. Méthode de sous-populations (Sub-populations Schemes)

    Cette méthode introduite par Spears [Spears, 1994] consiste à associer à chaque individu un identificateur (ou label) représentatif de la sous-population à laquelle il appartient. Ces labels sont initialisés aléatoirement à la première génération selon le nombre désiré de sous-populations.

    Cette technique est une variante de la méthode de partage standard, le facteur de nichage d'un individu est simplement donné par le nombre d'éléments de la sous-population à laquelle il appartient.

    L'avantage de cette méthode réside dans le fait que la technique de croisement restrictif est facilement appliquée, en autorisant uniquement les croisements entre individus de la même sous-population, i.e., qui ont le même label.

    Cependant, cette technique n'offre aucune garantie de détecter tous les optima de la fonction objectif, puisque plusieurs sous-populations distinctes peuvent converger vers le même optima. Cela impose le choix d'un nombre de sous-populations très supérieur au nombre d'optima requis.

    3.3.1.5. La méthode d'éclaircissement (Clearing)

    La méthode d'éclaircissement, similaire au schéma de partage standard, est basée sur le principe des ressources limitées dans l'environnement [Petrowski, 1996]. Elle consiste à n'attribuer les ressources d'une niche qu'aux meilleurs représentants.

    En pratique, la capacité k d'une niche spécifie le nombre maximal d'individus qu'une niche peut accepter. Après avoir évalué la performance des individus dans chaque niche, cette méthode préserve les k meilleurs représentants des sous-populations respectives (dominants) et exclut les autres (dominés) de la population en réinitialisant leur adaptation.

    Comme dans le cas de la méthode de partage, les individus appartiennent à une même niche si la distance qui les sépare est inférieure au seuil de similarité (Clearing radius) [Petrowski, 1996]. Cette méthode est caractérisée par une complexité temporelle moindre comparativement à la méthode de partage, mais souffre des mêmes limitations, principalement en ce qui concerne la définition du rayon de niche.

    3.3.1.6. Méthode de surpeuplement (Crowding Method)

    Cette méthode insère de nouveaux éléments dans la population en remplaçant des éléments similaires. Dans sa version standard, une fraction seulement de la population spécifiée par un pourcentage G se reproduit et meurt à chaque génération. Dans ce schéma, un individu remplace l'individu le plus similaire à partir d'une sous-population aléatoire de taille CF (Crowding factor). A cause des nombreuses erreurs de remplacement, cette technique a montré ses limites, l'inconvénient majeur est qu'elle retarde l'exploration de domaines qui ne sont pas proches (similaires) de la distribution initiale. D'autre part, cette méthode ne permet pas de maintenir plus de 2 niches [Mahfoud, 1992] et donc de découvrir plus de deux optima.

    Ce schéma standard a été amélioré par Mahfoud en s'inspirant directement de la présélection de Cavicchio (Cavicchio 1970). Le principe est basé sur le concept de compétition entre parents et enfants descendants de la même niche. Après les opérations de croisement et éventuellement de mutation, un enfant remplace un parent s'il est mieux adapté [Mahfoud, 1994].

    Cette méthode présente un avantage du fait qu'elle est caractérisée par une complexité linéaire d'ordre N. Toutefois, elle souffre du problème de dérive génétique due aux éventuelles erreurs de remplacement.

    3.3.1.7. Populations co-évolutives

    Ce modèle, basé sur l'interaction commerçants-clients [Goldberg et Wang, 1997], est inspiré de la compétition monopoliste. Il utilise deux populations : des clients et des commerçants. Les clients sont servis par le commerçant les plus proches. Utilisant une fonction de partage, la fitness d'un commerçant est réduite en fonction du nombre total d'autres clients servis par le commerçant le plus proche. La population des clients évolue sous un AG classique. Par contre, les commerçants tentent de maximiser le nombre de clients servis. Plus ce nombre est élevé plus la fitness du commerçant augmente.

    Pour prévenir la convergence de la population de commerçants vers un seul optimum, les commerçants doivent être séparés par une distance minimale dmin. Cette population évolue selon un mécanisme qui permet aux meilleurs clients de devenir commerçants. Pour chaque commerçant, n clients sont sélectionnés aléatoirement. Le premier client qui a la meilleure fitness, et est situé à dmin des autres commerçants, remplace alors le commerçant d'origine dans la population [Watson, 1999].

    3.3.1.8. Algorithme Génétique Co-évolutif basé sur la Classification Floue (AGCoCF)

    Le modèle AGCoCF, proposé par [El Imrani et al, 1999a], est une technique qui combine la technique de partage et une méthode de classification floue, en vue d'améliorer les performances des algorithmes génétiques dans l'optimisation des fonctions multimodales.

    Le principe de cette technique repose sur différents concepts. D'une part, elle intègre une procédure de classification floue afin d'identifier les différentes classes, pouvant exister dans une population, correspondant à des niches. D'autre part, elle utilise une stratégie de séparation spatiale dont l'objectif est de créer des sous populations stables et de guider la recherche vers de multiples niveaux d'exploration et d'exploitation de l'espace de recherche. Pour promouvoir une certaine diversité au sein des sous populations, ce modèle implémente le concept de migration d'individus entre sous populations voisines.

    Quoique le modèle AGCoCF ait fourni des performances de recherche plus élevées que le schéma de partage standard, aussi bien en terme de qualité des solutions identifiées, que par sa capacité à localiser de nouvelles solutions, il présente toutefois une complexité de l'ordre O(N2), oil N est le nombre d'individus de la population.

    3.3.1.9. Multipopulation Algorithme Culturel basé sur la Classification Floue (MCAFC)

    MCAFC (Multipopulation Cultural Algorithm using Fuzzy Clustering) est un nouveau modèle inspiré de l'environnement social comme représenté (Figure 3.2) [Alami et al, 2007]. Cette figure présente l'analogie entre le modèle proposé avec le monde réel. En effet, dans l'environnement réel, il y a différentes nations naturellement séparées, qui peuvent évoluer et échanger leurs cultures .

    Basé sur cette analogie, le modèle MCAFC implémente un algorithme culturel de base pour faire évoluer les sous-populations de solutions et intègre une procédure de classification automatique floue, qui permet de créer les sous-populations à partir de la population initiale. Ces sous-populations sont caractérisées par leur centre ou prototype, rayon et cardinal. Dans le contexte du modèle proposé, une classe représente une nation, c.-à-d., une population ayant son propre espace de connaissance, et le centre indique l'élite de chaque nation qui correspond au meilleur individu dans la nation et donc l'optimum requis.

    FIG. 3.2 - Analogie entre le monde réel, AC et MCAFC
    60

    3.3.2 Les systèmes basés sur l'intelligence des essaims particulaires (PSO)

    Les méthodes de niche ont été étendues récemment pour pallier aux limitations que présente la méthode de base PSO, dans le contexte d'optimisation multimodale. De ce fait, plusieurs techniques ont été proposées dans la littérature.

    3.3.2.1. Nbest PSO

    La technique Nbest PSO a été développée par Brits, Engelbrecht et van den Bergh. Cette méthode redéfinit la meilleure position du voisinage pour augmenter la diversité pendant le partage d'informations entre les particules. En effet, pour chaque particule i, K particules voisines sont déterminées, et la meilleure position du voisinage sera définie comme le centre de masse des meilleures positions visitées par ces K particules [Brits et al, 2002a].

    3.3.2.2. Niche PSO

    Dans cette technique, l'essaim initial, est généré uniformément dans l'espace de recherche. La performance des particules est examinée durant les itérations. Si la fitness d'une particule reste inchangée durant quelques itérations, sa position est convertie en une solution candidat. La particule est ensuite retirée de l'essaim et un nouvel sous-essaim est crée. Durant l'évolution de cette procédure, l'essaim a tendance à perdre ses membres alors que de nouveaux sous-essaims sont générés. Ces sous-essaims, dynamiquement crées, sont censés identifier en parallèle tous les optima aussi bien globaux que locaux [Brits et al, 2002b].

    3.3.2.3. PSO basé sur le concept des espèces (SPSO)

    La méthode SPSO (Species Particle Swarm Optimization) proposée dans [Li, 2004] consiste à rassembler les particules semblables dans des sous-essaims appelés espèces (Species). Cette technique utilise la distance Euclidienne comme mesure de similarité. La meilleure particule dans une espèce s'appelle le noyau de l'espèce (Species Seed), et la frontière des espèces est le cercle dont le centre est le noyau de cette espèce et de rayon r5. A chaque itération, les particules de l'essaim se déplacent dans leur propre espace du sous-essaim. Ensuite, ces particules sont évaluées et les espèces sont redéfinies. Dans cette technique, les différents optima sont maintenus d'une façon parallèle.

    La performance de SPSO dépend du choix du paramètre r5 qui représente le centre de l'espace occupé par le sous-essaim. Ce paramètre est de grande importance, puisqu' il permet d'affecter chaque particule à un sous-essaim.

    3.3.2.4. PSO basé sur les opérations vectorielles

    La technique de base proposée dans [Schoeman et Engelbrecht, 2004], repose principalement sur des opérations vectorielles (Vector-Based PSO : VPSO). Le principe de base réside dans le fait que le produit scalaire de deux vecteurs se dirigeant dans

    différentes directions sera négatif, alors que deux vecteurs ayant la même direction auront un produit scalaire positif.

    Puisque la technique de base PSO exploite les meilleurs vecteurs de position locale et du voisinage, le produit scalaire des deux vecteurs est donc calculé pour déterminer si la particule va se diriger ou s'éloigner de la meilleure position. En outre, un rayon de niche est calculé en cherchant la distance entre la meilleure position du voisinage et la particule la plus proche, qui assure un produit scalaire négatif.

    Dans la version VPSO, les niches sont séquentiellement optimisées une fois qu'elles sont identifiées durant l'évolution du processus. Lorsque les niches ne sont pas symétriques, par rapport au meilleur voisinage, des niches auxiliaires peuvent être formées entre les niches déjà identifiées. De ce fait, et vue la nature des espaces de recherche qui ne sont pas nécessairement symétriques, le nombre de niches, pouvant être identifié, peut être supérieur au nombre de niches requis. Pour cela, une autre version a été introduite pour pallier aux limites de VPSO.

    Cette nouvelle technique, introduite par Schoeman et Engelbrecht [Schoeman et Engelbrecht, 2005], applique un ensemble d'opérations vectorielles en parallèle pour la formation des niches dans l'espace de recherche (Parallel Vector-based PSO : PVPSO). Dans PVPSO, les niches initiales sont identifiées comme dans VPSO, mais toutes les particules sont évaluées simultanément. La mise à jour de la vitesse est accomplie en utilisant la meilleure position locale et celle du voisinage.

    3.3.2.5. PSO basé sur la méthode de nichage séquentiel (ASNPSO)

    L'algorithme proposé utilise plusieurs sous-essaims pour détecter séquentiellement les solutions optimales [Zhang et al, 2006], tel que chaque sous-essaim est responsable d'identifier une solution à la fois. En outre, une fonction de pénalisation 'hill valley' proposée dans [Ursem, 1999] est implémentée dans cet algorithme pour modifier la fitness des particules dans le sous-essaim actuel. Cette fonction permet d'éviter la localisation d'une solution déjà identifiée par un sous-essaim.

    Il est clair que le nombre de sous-essaims, qui vont effectuer la recherche des solutions, dépend du nombre d'optima (globaux et locaux) de la fonction à optimiser. Cependant, pour des problèmes réels, on ne dispose pas du nombre de solutions optimales.

    3.3.3 Les systèmes immunitaires artificiels

    Ces systèmes ont été étudiés par la communauté des chercheurs en "vie artificielle" aussi bien pour leur intérêt scientifique intrinsèque, que pour l'application des concepts d'immunologie adaptés aux problèmes de calcul scientifique [Mitchell et Forrest, 1993]. Ces systèmes ont été simulés en se basant sur deux populations différentes, qui interagissent, représentées par des chaînes de bits : antigènes et anticorps.

    Le principe du modèle proposé par Mitchell et Forrest est le suivant : tous les individus possèdent initialement une fitness égale à zéro. Un antigène et un ensemble d'individus sont ensuite aléatoirement choisis. L'individu le plus similaire à l'antigène remportera la compétition et sa fitness sera incrémentée [Smith et al, 1993]. L'effet de cette technique est analogue à celui du partage dans le sens oil les individus les plus similaires devraient souvent partager le coût fourni par les antigènes qui leur sont parfaitement similaires.

    Ce modèle s'adresse principalement aux problèmes pratiques tels que la détection des intrusions dans les réseaux [Hofmeyr et Forrest, 1999]. Pour cela, Une version adaptée à la technique de base a été proposée [De Castro et Timmis, 2002], dont le but est de résoudre le problème d'optimisation de fonctions multimodales .

    3.4 Synthèse

    L'efficacité des méthodes de niche requiert souvent des connaissances a priori du rayon de niche et de la disposition spatiale des optima. Ces limitations peuvent influencer le nombre d'optima recherchés et dégrader la qualité des solutions désirées. On peut par exemple, choisir un rayon de niche assez petit pour séparer les niches, mais cela nécessite une taille de population très grande et peut conduire par conséquent à définir un grand nombre de niches sans grande importance.

    La section suivante, présente les principes de base du modèle proposé basé sur l'algorithme d'optimisation par essaims particulaires et une méthode de classification floue. Cette approche surmonte les problèmes que présentent les méthodes de niches. En effet, elle ne requiert aucune information a priori sur l'espace de recherche.

    3.5 Conception d'un nouveau modèle d'optimisation multimodale (MPSO)

    3.5.1 Le principe du modèle

    L'idée principale de ce modèle est d'encourager et maintenir la formation de sous populations d'essaims, le modèle proposé intègre une technique de classification floue permettant d'identifier les differentes sous populations. Ainsi, chaque classe de particule (ou essaim) effectue une recherche locale dans son propre espace de recherche et cherche à localiser les differents optima.

    Le principe du modèle MPSO est basé sur une stratégie à trois-couches (figure 3.3) [Alami et al, 2009]. La première couche intègre un algorithme d'optimisation par essaims particulaires de base. La sortie de ce niveau constitue l'entrée de la deuxième couche (FC). Cette couche est basée sur un algorithme de classification floue non supervisé, qui permet de partitionner la population en un ensemble de (C) classes. Chaque classe identifiée correspond à un essaim (sous-population). La dernière couche implémente le principe de la séparation spatiale pour créer les différents sous-essaims à partir des caractéristiques fournies par la couche FC, i.e., centre, rayon et cardinal de chaque classe identifiée. Une fois les sous essaims sont crées, une stratégie de migration est appliquée afin de promouvoir un certain degré de diversité au sein des essaims et d'améliorer la qualité des solutions trouvées. Les sous-essaims ainsi engendrés vont co-évoluer en utilsant l'algorithme de base PSO.

    FIG. 3.3 MPSO strategy

    Dans la section suivante, les différentes couches du modèle sont présentées, le fonctionnement du modèle est ensuite décrit plus en détail. Un ensemble de fonctions tests permet enfin de valider le modèle et de comparer les résultats obtenus avec d'autres méthodes d'optimisation multimodale.

    3.5.2 La couche de classification automatique floue

    C'est une approche qui cherche à détecter la présence éventuelle de classes homo-
    gènes au sein d'un ensemble d'observations multidimensionnelles X = {x1, x2, ..., xn} ?

    Rp, de structure totalement inconnue a priori. Elle ne fait aucune hypothèse préalable sur le nombre de classes à détecter et suppose que les données sont entièrement non étiquetées.

    Cette méthode est constituée de deux étapes [Bouroumi et al, 2000]. La première étape est une procédure d'apprentissage flou qui explore les données de X, moyennant une mesure de similarité inter-objets et un seuil associé Smin, en vue d'y détecter la présence éventuelle de classes plus au moins séparées. Elle fournit, en plus du nombre c de classes détectées dans X, une bonne estimation des prototypes V = {v1, v2, . . . , vc} ? Rc × Rp et de la matrice des degrés d'appartenance U = {u1, u2, . . . , uc} ? Rc × Rn. La seconde étape est une procédure d'optimisation qui applique l'algorithme des C-moyens flous, initialisé avec les résultats de la première étape, notamment le nombre de classes c et la matrice des prototypes V.

    Phase d'apprentissage

    Cette procédure cherche à exploiter l'information, apportée par les vecteurs de X, dans le but de détecter la présence éventuelle de groupements homogènes au sein de X. Pour cela, elle commence par générer une première classe dont le prototype (centre) est initialisé avec le premier vecteur objet analysé. Ensuite, les (n-1) autres vecteurs objets sont séquentiellement examinés. Une nouvelle classe est automatiquement créée chaque fois que l'objet traité présente un faible degré de similarité, i.e., inférieur à un seuil donné Smin, par rapport aux différents centres de classes déjà créées.

    Pour mesurer la similarité entre deux vecteurs xi et xj de Rp, l'expression (3.4) est utilisée :

    s(i, j) = 1 - d(xi, xj)

    vp

    = VEio=1 11xik - xjk112 1 - (3.4)

    vp

    oil d(xi, xj) est une mesure de distance Euclidienne, calculée à partir des valeurs normalisées de xi et xj. Pour normaliser la Kème composante de chaque vecteur (1 = k = p), oil p est la dimension de l'espace des objets (nombre total de paramètres), la relation suivante a été utilisée :

    x i ? max(k) - min(k) xi - min(k)

    (3.5)

    xki représente le Kème composante (valeur) du ième vecteur objet, max(k) et min(k) désignent respectivement les valeurs maximale et minimale prises par cette composante sur l'ensemble des vecteurs de X.

    En remplaçant, dans l'équation (3.4), xj par le représentant (prototype) de la classe j (vj), la relation peut également être interprétée comme le degré d'appartenance de l'objet xj à la classe j.

    d(xi, vj)

    uij = 1 - (3.6)

    vp

    Lors du processus d'apprentissage, l'équation (3.6) est effectivement utilisée à chaque itération pour évaluer le degré d'appartenance de l'objet courant à chacune des c classes existantes (avec c variable). La condition de création d'une nouvelle classe peut alors s'exprimer sous la forme :

    max(uij) < Smin (3.7)

    i=j=c

    Lorsque la condition (3.7) n'est pas vérifiée, les C prototypes des classes précédemment créées sont actualisés selon la règle d'apprentissage donnée par l'équation (3.8) :

    vi(k) = vi(k - 1) + uik

    çi(k)[xk - vi(k - 1)] (3.8)

    oil çi(k) dénote le cardinal flou de la ième classe à l'itération k, soit :

    çi(k) = Xk uij (3.9)

    j=1

    Il est clair que le choix du paramètre Smin joue un rôle essentiel dans le processus d'apprentissage. Théoriquement, si à la limite Smin est très faible ( 0%), une seule classe, formée des n objets de X, peut être obtenue (C = 1). Inversement, si Smin est trop élevé ( 100%), chaque objet peut former une classe à part et on aura (C = n).

    Intuitivement, pour découvrir les groupements naturels supposés présents dans X, une valeur adéquate de Smin doit être typiquement inférieure aux similarités inter-classes et supérieure aux similarités intra-classes. Il sera donc plus commode de faire varier Smin entre 2 valeurs S1 et S2 qui dépendent de l'ensemble X et qui sont automatiquement déterminées par l'algorithme selon les équations suivantes :

    S1 = min{S(xi, xk)} (3.10a)

    i6=k

    S2 = max

    i6=k

    {S(xi, xk)} (3.10b)

    Généralement, lorsqu'un algorithme produit une C-partition des données, plusieurs questions surviennent à propos de la qualité de la partition obtenue, du degré de confiance qu'on peut lui attribuer, de la possibilité de trouver une partition meilleure, etc. C'est le problème de validation des résultats qui constitue le dernier stade du modèle. Ce problème est intimement lié à toute classification automatique et traite de la validité de la structure des données produite par un algorithme.

    Pour valider les résultats de classification, plusieurs critères de validité ont été testés. Ceux-ci incluent le coefficient de partition [Bezdek, 1981], l'indice de Xie et de Beni [Xie et Beni, 1991], l'indice de Fukuyama et de Sugeno, l'indice de Bensaid et le critère d'entropie [Bezdek, 1981]. Les résultats expérimentaux ont prouvé que, dans cette étude, le critère de l'entropie (h) est l'index le plus fiable. Ce critère

    dépend uniquement de la matrice des degrés d'appartenance U et est donné par la formule (3.11) :

    1 1

    h(U) = -- ÓC j=1uij log(uij) (3.11)
    log(C) n

    Phase d'optimisation

    La seconde phase de l'approche de classification floue sert à améliorer la partition apprise, générée lors de la phase d'apprentissage. En général, la procédure utilisée est basée sur l'algorithme C-moyennes (C-means) floues (CMF) [Bezdeck, 1981].

    L'algorithme des C-moyennes floues est une extension directe de l'algorithme classique, oil la notion d'ensemble flou est introduite dans la définition des classes. L'algorithme des C-moyennes est l'exemple type des algorithmes de "clustering" (regroupement). Le principe de base, qui reste inchangé dans la version floue, est de former C groupes qui soient les plus homogènes et naturels possibles. CMF est une technique d'optimisation qui cherche à minimiser la somme pondérée des carrées des distances interclasses.

    Dans l'algorithme des C-moyennes, on suppose que le nombre de classes C est connu. En fait, l'implémentation de cet algorithme présuppose que le nombre de classe est déterminé préalablement lors de la phase d'auto-apprentissage.

    Les étapes de l'algorithme des C-moyennes se déroulent de la manière suivante (C fixé) :

    1. Utiliser la matrice d'appartenance générée par la phase d'apprentissage,

    2. Calculer les centres des classes,

    3. Réajuster la matrice d'appartenance suivant la position des centres,

    4. Calculer le critère d'arrêt : s'il n'a pas convergé, retourner à l'étape 1.

    Enfin, une procédure de "defuzzification" est utilisée pour affecter définitivement chaque objet à sa classe naturelle, i.e., pour laquelle il présente le degré d'appartenance le plus élevé. On obtient ainsi une partition classique à C classes représentées par leurs centres (prototypes) vi, (1 i C).

    3.5.3 La couche de séparation spatiale

    Le concept de séparation spatiale est implémenté dans MPSO pour deux raisons. D'une part, dans la nature, les essaims sont divisés en un certain nombre de sousessaims qui peuvent interagir. D'autre part, le fait d'avoir plusieurs sous-essaims permet d'avoir une bonne implémentation parallèle du modèle et donc une efficacité vis-à-vis du temps de calcul [Pelikan et Goldberg, 2001].

    Dans le modèle que nous avons proposé, l'objectif principal de cette couche est d'induire une géographie locale dans l'essaim et de forcer une coopération locale au sein de cette structure. Elle consiste en la formation de sous-essaims en utilisant les résultats de la procédure de classification. À chaque cycle, un sous-essaim est formé en utilisant le centre et le rayon de la classe correspondante.

    3.5.4 Le concept de migration

    Une fois les sous essaims sont crées, une stratégie de migration est appliquée afin de promouvoir un certain degré de diversité au sein des essaims et d'améliorer la qualité des solutions trouvées. Le processus de migration permet d'avoir un échange entre les sous-essaims dans la structure multi-essaims. Les paramètres les plus importants de la migration sont la topologie de connection entre les sous-essaims, le taux de migration,(la fraction de la population qui va migrer), la fréquence de migration, et la règle pour choisir les migrateurs et pour remplacer les individus existants. La stratégie utilisée dans cette étude est définie comme suit :

    1. Définir une structure de voisinage en utilisant la distance entre les différents centres de classes;

    2. Pour chaque sous-essaim

    Choisir aléatoirement in particule qui vont migrer au sous-essaim voisin, Recevoir in particules venant des sous-essaims voisins.

    Il existe deux manière de choisir les particules qui vont migrer d'un sous-essaim, on peut les choisir aléatoirement ou sélectionner les meilleurs particules de sous-essaim. Aussi il y'en a deux choix pour remplacer les particules existantes dans un sousessaim par les particules migrantes des autres sous-essaim : choisir aléatoirement ou remplacer les plus mauvaises. Dans cette étude, les particules migrantes et les particules qu'elles remplacent sont choisies aléatoirement.

    3.5.5 Fonctionnement du modèle

    Le modèle MPSO commence par générer un essaim aléatoire S(t = 0), Les particules sont définies par leurs positions et leurs vitesses , cet essaim évolue en utilisant l'algorithme PSO. L'algorithme de classification floue non supervisée permet de partitionner l'essaim en C classes, et détermine pour chaque classe ses caractéristiques principales. De nouveaux sous-essaims sont ensuite générés en utilisant le centre et le rayon de chaque classe, cette stratégie de réinitialisation permet d'introduire une nouvelle diversité au sein des sous-essaims.

    La séparation spatiale permet d'engendrer une coopération locale au niveau de chaque sous-essaim. Un processus de migration est appliqué ensuite en vue d'échanger des informations entre les sous-essaims voisins, les sous-essaims vont donc coévoluer séparément et à la fin un nouveau essaim est formée à partir des différents sous-essaims. Le processus est itéré jusqu'à ce que l'entropie (h), utilisée comme critère de validation, atteigne un minimum prédéfini (h < 10-3). L'essaim S(t) est initialisé une seule fois dans tout le processus à la première itération t = 0. Pendant

    les itérations intermédiaires, S(t + 1) = UC i=1 Si(t) oil C est le nombre de classes déterminées.

    Le pseudo code du modèle proposé est donné par l'algorithme 7 [Alami et al, 2009]

    algorithme 5 Pseudo-code du modèle MPSO

    t - 0

    Initialiser l'essaim S(t)

    S(t) - PSO(S(t))

    Répéter

    {

    FC(S(t))

    Pour i = 1 to C /*C nombre de classes identifiées

    Créer les sous-essaims Si(t)

    Appliquer le processus de migration

    Si(t) - PSO(Si(t))

    Fin pour

    S(t + 1) - UC i=1 Si(t)

    t - t + 1 }

    Tant que (h < hmin)

    3.5.6 Complexité temporelle de l'algorithme

    Le modèle proposé, présente une complexité additionnelle , par rapport à l'algorithme de base PSO, induite par la procédure de classification floue. Cette complexité correspond aux étapes de calcul des C centres de classes ainsi que par la distance entre chaque vecteur (n vecteurs de dimension p) et le centre de chaque classe. Ces deux étapes peuvent être effectuées en O(np). De plus, la détermination de chaque nouvelle partition, durant le cycle itératif, nécessite le calcul du degré d'appartenance de chaque vecteur à chaque classe, processus pouvant s'effectuer en O(npC). Puisque le processus est itéré jusqu'à ce que l'algorithme converge, la complexité de l'algorithme de classification flou est donc de l'ordre de O(npCt), oil t est le nombre d'itérations.

    3.6 Etude expérimentale

    Plusieurs fonctions tests ont été utilisées pour valider les performances du modèle proposé. Ces fonctions ont plusieurs caractéristiques, qui les rendent idéales pour tester la capacité de l'approche proposée à identifier différents optima dans un domaine multimodal. Sachant que la localisation de chaque optimum, dans l'espace de recherche, est connue a priori, il est facile de comparer la distribution de la population à la convergence à la distribution idéale des optima théoriques. Il faut noter que durant la procédure de classification floue, les objets sont représentés par les particules de l'essaim et par leur fitness.

    2186 -- (x2 + y -- 11)2 -- (x + y2 -- 7)2 F6(x, y) = 2186

    1

    F7(x, y) = 500

    v-.24 1

    + 2_,

    0.002 i=0 1+i+(x-a(i))6+(y-b(i))6

    a(i) = 16[(i mod 5) -- 2] et b(i) = 16(Li/5] -- 2)

    ;

    F8(x) =

    Xn
    i
    =1

    (x2i -- 10 cos(2ðxi) + 10)

    Pour pouvoir comparer les performances du modèle propose à d'autres modèles, trois critères sont utilises. Ces critères incluent :

    - Le rapport maximum de pics détectés (Maximum Peaks Ratio : MPR) : determine le nombre et la qualite des optima. Il est defini par la somme des optima identifies divisee par la somme des optima reels.

    PC

    MP R = Pq i=1 f(i) (3.12)

    k=1 f(k)

    Oil f(i) est la fonction "fitness" d'un optimum i, C represente le nombre de classes identifiees dont le centre represente l'optimum i. f(k) etant la fitness de l'optimum reel k, et q le nombre de ces optima.

    - Le nombre effectif des pics maintenus (NPM) : represente la capacite d'une technique à localiser et maintenir des individus au niveau des pics pour une duree determinee.

    Le nombre effectif d'évaluations de "fitness" (Number of Fitness Evaluations : NFE) : designe le nombre d'evaluations requis pour la convergence de l'algorithme. Dans cette etude, l'algorithme converge lorsque la valeur d'entropie est inferieure à 10-3.

    3.6.1 Fonctions tests

    Dans cette section, les differentes fonctions tests utilisees pour illustrer les performances du modèle propose sont presentees.

    F1(x) = sin6(5ðx)

    2100)(x(108.1

    F2(x) = exp- sin6(5ðx)

    F3(x) = sin6(5ð(x34 -- 0.05))

    2 log(2) ( xai0482 ) sin6 (57(x

    F4(x) = exp- 4 -- 0.05))

    F5(x) =

    ?

    ???????? ?

    ?????????

    x + 1 si 0 < x < 1

    0.4(x -- 1) si 1 < x < 2

    0.24x -- 0.08 si 2 < x < 3

    0.24x + 1.36 si 3 < x < 4

    0.4x + 2 si 4 < x < 5

    x -- 5 si 5 < x < 6

    La fonction F1 admet 5 maxima uniformément espacés ayant une même valeur 1, la fonction F2 admet cinq pics de hauteurs différentes dans l'intervalle [0,1]. Les pics sont localisés approximativement aux valeurs de x : 0.1, 0.3, 0.5, 0.7 et 0.9. Les maxima sont respectivement 1.0, 0.917, 0.707, 0.459 et 0.250. La fonction F3 a cinq pics de hauteurs identiques (= 1). La fonction F4 admet cinq pics de hauteurs différentes dans l'intervalle [0, 1]. Les pics sont localisés approximativement aux valeurs de x : 0.08, 0.247, 0.451, 0.681 et 0.934. Les maxima sont respectivement 1.0, 0.948, 0.770, 0.503 et 0.250. F5 a deux maxima globaux de hauteurs 1, aussi bien qu'un maximum local localisé en x = 3 et dont la valeur est 0.64. La fonction modifiée d'Himmelblau F6 est une fonction bidimensionnelle, les variables (x et y) sont définies dans l'intervalle [-6,6]. La fonction modifiée de Himmelblau F6 contient quatre pics de hauteurs identiques (= 1) localisés approximativement en (3.58, - 1.86), (3.0, 2.0), (- 2.815, -3.125) et (- 3.78, 3.28). F7 (Shekel's Foxholes) est une fonction bidimensionnelle ayant 25 pics, oil les variables (x et y) [- 65.536, 65.536]. Les maxima de F7 sont situés en (x, y) dont les coordonnées sont (16i, 16j) oil i et j représentent tous les nombres entiers compris dans [- 2, 2], les 25 optima ont tous différentes valeurs, s'étendant de 476.191 à 499.002, l'optimum global est localisé en (- 32, 32). Enfin, la fonction de Rastrigin F8, oil --5.12 xi 5.12, i = 1, . . . , 30, a un seul minimum global ((0, 0) pour une dimension= 2), et plusieurs minima locaux. F8 avec des dimensions (de 2 à 6) est utilisée pour tester la capacité de l'approche proposée.

    3.6.2 Résultats numériques

    Les paramètres u et u, utilisés dans l'équation de la mise à jour du vecteur vitesse (équation (1.1)), sont initialisés à 1.02 pour toutes les fonctions tests, ô(t) varie linéairement de 0.7 à 0.2 pendant les différentes itérations. Le modèle est appliqué à un essaim de 80 particules pour les fonctions F1, F2, F3, F4 et F5. Pour la fonction F6, la taille de l'essaim est 100. Des différentes tailles de l'essaim sont testées pour détecter les optimums de la fonction F7 et les meilleurs résultats sont trouvés pour un essaim de 400 particules.

    Fonction F1

    Le modèle converge à la quatrième itération. Le tableau (3.1) représente l'évolution de l'entropie h et le nombre de classes détectées (C) à la première itération pour différents seuils de similarité. La meilleure partition correspond à la plus petite valeur de l'entropie.

    Comme le montre le tableau (3.1), la valeur 50.6% de similarité fournit la meilleur partition (C = 5) qui correspond à la plus petite valeur d'entropie (h = 4.11E --02).

    Le tableau (3.2) montre l'évolution des optima détectés, il faut noter que les centres des classes sont définis par leurs coordonnés et leurs fitness, C représente le nombre de classes identifiées.

    TAB. 3.1 - Evolution de la valeur d'entropie et du nombre de classes pour les différentes valeurs de similarité

    Smin(%)

    C

    h

    31.6

    2

    0.417

    40.6

    3

    0.392

    50.6

    5

    4.11E-02

    57.6

    6

    6.67E-02

    60.6

    7

    4.14E-02

    64.6

    8

    6.03E-02

    67.6

    10

    0.138

    TAB. 3.2 - Evolution de la valeur d'entropie, des centres et des rayons de classes de la fonction F1.

    1erCycle(C = 5)

    2èmeCycle(C = 5)

    3èmeCycle(C = 5)

    4èmeCycle(C = 5)

    Centre Rayon

    Centre

    Rayon

    Centre

    Rayon

    Centre

    Rayon

    (0.097, 0.917)

    0.037

    (0.101,0.985)

    0.009

    (0.1, 0.999)

    0.0016

    (0.1,1)

    0

    (0.301,0.961)

    0.038

    (0.299,0.989)

    0.016

    (0.3, 0.998)

    0.004

    (0.3,1)

    0

    (0.501,0.982)

    0.010

    (0.500,0.999)

    0.002

    (0.5,1)

    0

    (0.5,1)

    0

    (0.697, 0.955)

    0.073

    (0.699, 0.94)

    0.019

    (0.7, 0.997)

    0.005

    (0.7,1)

    0

    (0.899,0.953)

    0.027

    (0.899,0.992)

    0.006

    (0.9,0.999)

    0.003

    (0.9,1)

    0

    h

    0.041

     

    0.010

     

    0.002

     

    3E-06

    MRP

    0.954

     

    0.981

     

    0.999

     

    1

    L'analyse de ces résultats montre que les cinq classes détectées, au premier cycle, ne sont pas chevauchée et chaque classe contient un seul optimum. Même si les cinq optima ont été trouvés au premier cycle, les cycles suivants du processus permettent un ajustement local fin de ces optima, cet effet tend évidemment à améliorer la qualité des solutions. Ceci est confirmé par la valeur de MRP, qui vaut 0.954 au premier cycle et 1 au dernier.

    La figure (3.4) représente la distribution des particules dans l'espace de recherche durant chaque cycle du processus d'évolution.

    Fonction F2

    Les résultats de simulation obtenus sont présentés dans le tableau (3.3).

    TAB. 3.3 - Evolution de la valeur d'entropie, des centres et des rayons de classes de la fonction F2.

    1erCycle(C = 6)

    2èmeCycle(C = 5)

    3èmeCycle(C = 5)

    4èmeCycle(C = 5)

    Centre

    Rayon

    Centre

    Rayon

    Centre

    Rayon

    Centre

    Rayon

    (0.144,0.122)

    0.009

    (0.104,0.939)

    0.028

    (0.101,0.988)

    0.008

    (0.1,1)

    0

    (0.298,0.889)

    0.019

    (0.298,0.913)

    0.006

    (0.299,0.916)

    0.002

    (0.3,0.917)

    0

    (0.499,0.678)

    0.054

    (0.499,0.691)

    0.014

    (0.499,0.707)

    0.003

    (0.5,0.707)

    0

    (0.698,0.440)

    0.031

    (0.698,0.457)

    0.006

    (0.698,0.459)

    0.002

    (0.7,0.459)

    0

    (0.962,0.942)

    0.067

    (0.897,0.251)

    0.002

    (0.9,0.25)

    0

    (0.9,0.250)

    0

    (0.897,0.241)

    0.013

    -

     

    -

     

    -

     

    h

    0.076

     

    0.014

     

    2.7 E-06

     

    1E-05

    L'analyse des classes et des rayons montre que la cinquième et la dernière classe sont chevauchées, et toutes les deux contient le même optimum au point x = 0.9.

    FIG. 3.4 - Placement des individus dans l'espace de recherche durant l'évolution de MPSO pour la fonction F1

    Ces deux classes se recouvrent et forment une classe unique à l'itération suivante. A ce stade, même si les cinq optima sont déjà identifiés, la valeur d'entropie continue à diminuer, l'algorithme converge au quatrième cycle (h = 1E - 05). Dans ce cas, toutes les particules de même sous-essaim sont identiques et ont la même fitness (figure 3.5), ce qui correspond à un rayon de classe égal à zéro.

    Fonction F3

    Pour cette fonction, l'algorithme converge à la troisième itération et tous les optima sont localisés. La valeur d'entropie à la convergence du processus est égale à 6.9E - 04.

    La distribution des particules dans l'espace de recherche durant chaque cycle du processus d'évolution est représentée dans la figure (3.6).

    A la première itération, les particules sont aléatoirement placées dans l'espace de recherche. Ces particules se regroupent progressivement autour du plus proche pic. A la convergence de l'algorithme, toutes les particules de même sous-essaim sont identiques et ont la même fitness.

    FIG. 3.5 - Distribution des individus dans l'espace de recherche durant l'évolution de MPSO pour la fonction F2

    FIG. 3.6 Placement des individus dans l'espace de recherche durant l'évolution de MPSO pour la fonction F3

    Fonction F4

    Le processus converge à la quatrième itération quand la valeur d'entropie est égale à 9.82E - 04. La figure (3.7) représente la distribution des particules dans l'espace de recherche durant l'évolution de MPSO pour la fonction F4.

    FIG. 3.7 - Placement des individus dans l'espace de recherche durant l'évolution de MPSO pour la fonction F4

    Fonction F5

    La figure (3.8) représente la distribution des particules dans l'espace de recherche durant les différentes itérations. A la première itération, la valeur d'entropie est proche de 0.13E - 01, quand l'algorithme converge, l'entropie prend une valeur plus petite que 2E - 04.

    FIG. 3.8 - Placement des individus dans l'espace de recherche durant l'évolution de MPSO pour la fonction F5

    Fonction d'Himmelblau F6

    Les résultats obtenus sont récapitulés dans le tableau (3.4). On peut noter que le centre de chaque classe détectée est décrit par ses coordonnées (x, y).

    L'analyse de ces résultats montre que, dans la première itération, les quatre classes identifiées ne se chevauchent pas et que la valeur de l'entropie est relativement grande. Dans la dernière itération, les optima identifiés sont proche des optima réel (entropie = 1E - 04). Ceci est confirmé également en suivant l'évolution de la distribution des particules dans l'espace de recherche au cours des différents cycles (figure 3.9).

    TAB. 3.4 Evolution de la valeur d'entropie, des centres et des rayons de classes de la fonction F6.

    1erCycle(C = 6)

    2èmeCycle(C = 5)

    3èmeCycle(C = 5)

    4èmeCycle(C = 5)

    Centre

    Rayon

    Centre

    Rayon

    Centre

    Rayon

    Centre

    Rayon

    (2.50,2.49)

    (2.25,1.62)

    (3.03, 1.95)

    (0.59,0.07)

    (3.02,1.99)

    (0.16, 0.01)

    (3.0, 2.00)

    (0.04, 0)

    (3.52,-1.91)

    (2.28,0.56)

    (3.64,-1.84)

    (0.31,0.01)

    (3.58,-1.80)

    (0.08, 0.00)

    (3.58, -1.80)

    (0, 0)

    (-3.42,-2.53)

    (3.33,0.69)

    (-3.77,-3.11)

    (0.62,0.07)

    (-3.78,-3.19)

    (0.12,0.01)

    (-3.77,-3.28)

    (0, 0)

    (-2.39,3.00)

    (1.98,2.67)

    (-2.79, 3.17)

    (0.22,1.05)

    (-2.81,3.12)

    (0.02, 0.23)

    (-2.8, 3.10)

    (0, 0.02)

    h

    0.387

     

    0.05

     

    6.2E-03

     

    1E-04

    FIG. 3.9 - Placement des individus au cours les différents cycles du processus d'évolution pour la fonction F6

    Fonction de Shekel F7

    Le tableau (3.5) représente les résultats obtenus durant l'évolution du processus.

    TAB. 3.5 - Evolution de la valeur d'entropie de la fonction F7.

     

    1er cycle

    C = 38

    2ème cycle
    C = 35

    3ème cycle
    C = 29

    4ème cycle
    C = 26

    5ème cycle
    C = 25

    6ème cycle
    C = 25

    h

    0.436

    0.177

    0.01

    6.2E-03

    2.3E-03

    1.12E-05

    L'analyse de ces résultats montre que 38 classes ont été détectées à la première itération, ces classes sont chevauchées et la valeur de l'entropie est relativement élevée. Au cours de la deuxième itération, 35 classes sont détectées et l'entropie continue à décroître. A partir de cinquième itération, les 25 optima sont localisés.

    L'évolution des populations, durant chaque cycle du processus, est illustrée par la figure (3.10). Au premier cycle, les particules sont aléatoirement distribuées dans l'espace de recherche, durant l'évolution du processus, les particules du sous-essaim sont progressivement groupées autour de plus grand pic de la fonction F7 (figure 3.11).

    FIG. 3.10 - Placement des individus au cours les différents cycles du processus d'évolution pour la fonction F7

    FIG. 3.11 Représentation 3-D de la distribution finale des individus dans l'espace de recherche de la fonction F7

    3.6.3 Comparaisons avec d'autres techniques

    Dans cette section, la comparaison entre les résultats obtenus par le modèle proposé MPSO, le modèle MCAFC et les techniques de partage, Nichage séquentiel SNGA (Sequential Niched Genetic Algorithm) [Beasley et al, 1993], SPSO (Species Particle Swarm Optimization) [Li, 2004] , Niche PSO [Brits et al 2007], nbestPSO [Brits et al 2002a] et SCGA (Species Conserving Genetic Algorithm) [Li et al, 2002] est présentée.

    3.6.3.1. Comparaison entre le modèle MPSO, MCAFC et la méthode de partage

    L'efficacité des méthodes d'optimisation multimodale est relative à leur capacité à maintenir les maximums des fonctions, à identifier les solutions qui sont plus proches des optima théoriques et à voir le plus petit temps de calcul. Ces performances peuvent être résumées en leurs capacités à assurer le meilleur rapport qualité-prix.

    Le tableau (3.6) présente la valeur moyenne des 3 critères de performance (MPR, NPM et NFE), des modèles MPSO, MCAFC et la technique de partage, relatives aux quatre fonctions tests F4, F5, F6, et F7. Ces valeurs moyennes sont obtenues en exécutant les deux techniques 10 fois.

    TAB. 3.6 - Comparaison entre le modèle MPSO, MCAFC et la méthode de partage

     

    Nombre de Pics
    Maintenus(NPM)

    Rapport de pics
    maintenus(MPR)

    Nombre Effectif
    d'Evaluations (NFE)

    Techniques

    F4

    F5

    F6

    F7

    F4

    F5

    F6

    F7

    F4

    F5

    F6

    F7

    MPSO

    5

    3

    4

    25

    1

    1

    1

    1

    1600

    1720

    1880

    17600

    MCAFC

    5

    3

    4

    25

    1

    1

    1

    1

    2700

    1280

    1800

    13800

    Partage

    5

    2.3

    4

    20.2

    0.99

    0.73

    0.89

    0.79

    20000

    40000

    12150

    73000

    Le tableau (3.6) montre que la technique de partage est capable d'identifier tous les optima de F4 à chaque exécution. Cependant, pour quelques exécutions, elle n'arrive pas à localiser toutes les solutions possibles de F5, F6 et F7. Par contre, la moyenne du critère NPM indique que les modèles MPSO et MCAFC ont pu localiser tous les optima des 4 fonctions tests pour les différentes exécutions.

    De plus, la valeur moyenne du critère MPR relative aux trois techniques, indique que la qualité des optima identifiés par les approches PMSO et MCAFC est meilleure que celle obtenue par la technique de partage.

    Il est évident que les deux approches PMSO et MCAFC convergent plus rapide que la technique de partage pour toutes les fonctions. On peut remarquer que MCAFC converge légèrement plus rapide que PMSO pour les fonctions F5, F6 et F7.

    En conclusion, la comparaison entre les résultats obtenus par la méthode de partage, MPSO et MCAFC confirme l'utilité et la capacité des approches MPSO et MCAFC d'assurer un meilleur rapport qualité/coût.

    3.6.3.2. Comparaison entre les modèles MPSO, MCAFC, SNGA et SCGA

    Pour permettre la comparaison entre le modèle proposé, MCAFC, SNGA [Beasley et al, 1993] et SCGA [Li et al, 2002], cette section présente les résultats obtenus relatifs aux fonctions F1 et F6. Le tableau (3.7) présente la valeur moyenne, calculée après 30 exécutions, du critère NFE et le taux de réussite des quatre méthodes à identifier tous les optima.

    TAB. 3.7 - Comparaison des critères de performance pour les fonctions F1 et F6.

     

    SNGA

    SCGA

    MCAFC

    MPSO

    Fonction

    Nombre
    d'optima

    NFE

    Taux de
    réussite

    NFE

    Taux de
    réussite

    NFE

    Taux de
    réussite

    NFE

    Taux de
    réussite

    F1

    5

    1900

    99%

    3310

    100%

    1120

    100%

    1583.33

    100%

    F6

    4

    5500

    76%

    -

    -

    1800

    100%

    1880

    100%

    Comme montré dans le tableau (3.7), les deux techniques MCAFC et MPSO sont capables d'identifier toutes les solutions optimales des fonctions F1 et F6 avec un taux de 100% à chaque exécution. Toutefois, le nombre d'évaluations, requis pour la convergence du modèle MCAFC est inférieur à celui requis par la technique MPSO.

    3.6.3.3. Comparaison de MPSO avec les méthodes de nichage basées sur PSO

    Cette section présente la comparaison entre les résultats obtenus par le modèle proposé MPSO et les techniques : niche PSO, gbest PSO, nbest PSO et SPSO, relatives aux cinq fonctions tests F1, F2, F3, F4 et F6.

    Le tableau (3.8) présente la valeur moyenne, calculée après 30 exécutions, du critère NFE et le taux de réussite des quatre méthodes à identifier tous les optima.

    TAB. 3.8 - Comparaison des critères de performance pour les fonctions F1, F2, F3, F4 et F6

    Fonctions
    tests

    NichePSO

    nbestPSO

    MPSO

    NFE #177; dev

    Taux de
    réussite

    NFE #177; dev

    Taux de
    réussite

    NFE #177; dev

    Taux de
    réussite

    F1

    2372#177; 109

    100

    4769#177; 45

    93

    1583.33#177; 135.55

    100

    F2

    2934#177; 475

    93

    -

    -

    1670#177; 106.66

    100

    F3

    2404#177; 195

    100

    4789#177; 51

    93

    1560#177; 293.33

    100

    F4

    2820#177; 517

    93

    -

    -

    1600#177; 53.33

    100

    F6

    2151#177; 200

    100

    5008#177; 562

    100

    1800#177; 66.66

    100

    Average

    2536.2

    97.2

    4855.34

    95.34

    1642.66

    100

    Selon le tableau (3.8), nous constatons que le modèle proposé et NichePSO sont capables d'identifier toutes les solutions des fonctions F1,F2 et F6 avec un taux de 100% pour toutes les exécutions. de plus, le nombre d'évaluations, requis pour la convergence, du modèle MPSO est inférieur à celui requis par les techniques NichePSO et nbestPSO.

    La performance du modèle proposé est également confirmée par les résultats obtenus pour la fonction F8 (avec une dimension variante entre 2 et 6).

    Le tableau (3.9) présente la moyenne des critères de performance correspondants aux modèles MPSO et SPSO.

    TAB. 3.9 - Comparaison des critères de performance associés à F8

     

    SPSO

    MPSO

    Dimension

    NFE
    (Moyen #177; stand.
    dev.)

    Taux de
    succés

    NFE
    (Moyen #177; stand.
    dev.)

    Taux de
    succés

    Nombre
    d'optima
    identifiés

    2

    3711.67#177; 911.87

    100%

    3120 #177; 812

    100%

    32.3

    3

    9766.67#177; 4433.86

    100%

    6760 #177; 3150.67

    100%

    25.6

    4

    36606.67#177; 14662.38

    33.3%

    30660 #177; 13568.33

    100%

    31

    5

    44001.67#177; 10859.84

    26.7%

    43100 #177; 11000.5

    90%

    29.5

    6

    50000.00#177; 0.00

    0%

    51100 #177; 10325

    85%

    22

    D'après le tableau (3.9), l'efficacité de la nouvelle approche MPSO est validée par la valeur moyenne du nombre d'évaluations nécessaire pour la convergence, ainsi que par le nombre d'optima localisés, aussi bien globaux que locaux, et ce même lorsque la dimension de la fonction augmente. Cependant, la technique SPSO cherche seulement les minimums globaux et elle n'arrive pas à les localiser quand la dimension de la fonction augmente. Par exemple, pour la fonction F8 de dimension 6, MPSO identifie 22 optima avec un taux de succès de 85% tandis que SPSO ne localise aucun optima.

    3.7 Conclusion

    Dans ce chapitre, nous avons présenté une nouvelle technique d'optimisation multimodale basée sur l'intelligence collective des essaims particulaires. Cette nouvelle technique est proposée pour deux raisons : 1) soit pour pallier aux limitations des algorithmes de base, soit 2) pour résoudre les problèmes liés au réglage des paramètres, lorsqu'on est confronté à un problème d'optimisation multimodale.

    Cette technique utilise une procédure de classification automatique floue pour promouvoir la formation de multiples sous-essaims et par conséquent la localisation simultanée des différents optima. Une stratégie de migration est aussi appliquée afin de promouvoir un certain degré de diversité au sein des essaims et d'améliorer la qualité des solutions trouvées.

    L'objectif étant d'améliorer les performances des techniques de niche reportées dans la littérature, basées sur PSO, ces techniques sont limitées par le réglage des paramètres qui peut influencer la qualité et le nombre de solutions escomptées.

    Les résultats de simulation montre que l'algorithme MPSO accompli les meilleurs performances par rapport aux autres méthodes de nichage basées sur PSO, celà est expliqué par le fait que cette approche utilise un mécanisme qui permet de subdiviser l'essaim en des sous-essaim sans avoir aucune information préalable sur la distribution de données, et ainsi, le rayon de niche est automatiquement calculé. L'algorithme MPSO permet donc de surmonter le problème majeur des autres techniques de nichage, basées sur PSO, qui réside dans l'estimation de rayon de niche.

    En conclusion, l'algorithme MPSO fournit de meilleures performances comparativement aux autres modèles en assurant un meilleur rapport qualité/prix. Le prix reflète le temps de calcul nécessaire pour la localisation de toutes les solutions requises.

    Chapitre 4

    Conception d'un nouveau modèle

    pour l'optimisation multiobjectif

    4.1 Introduction

    Les problèmes d'optimisation multiobjectifs (POMs) sont très fréquents dans le monde réel. Dans un tel problème, les objectifs à optimiser sont normalement en conflit entre eux, ce qui signifie qu'il n'y a pas une seule solution de ce problème. Un POM est résolu lorsque toutes ses solutions Pareto optimales sont trouvées. Cependant, il est impossible de trouver l'ensemble total de solutions Pareto-optimales, parce que le nombre de solutions, non-dominées, augmente très rapidement avec l'augmentation des objectives [Deb, 2001; DiPierro et al, 2007; Farina et Amato, 2004]. En pratique, l'utilisateur n'a besoin que d'un nombre limité de solutions bien distribuées le long de la frontière optimale de Pareto, ce qui rend la tâche d'un POM relativement plus facile.

    Plusieurs algorithmes d'optimisation multiobjectifs par essaims particulaires ont été récemment proposés [Sierra et Coello, 2006], la plupart de ces algorithmes utilisent des archives externes pour stocker les solutions non-dominées trouvées le long du processus de recherche. Cependant, l'utilisation des archives fournit des complexités temporelles et spatiales additionnelles. Les derniers travaux proposent l'utilisation de méthodes inspirées des stratégies d'évolution pour améliorer les performances de ces algorithmes, cette idée a portant un prix: l'augmentation du nombre des paramètres de réglages et la complexification de l'écriture des algorithmes.

    Dans ce chapitre, un nouveau modèle, l'algorithme d'optimisation multiobjectif par essaims particulaires FC-MOPSO (Fuzzy Clustering Multi-objective Particle Swarm Optimizer), basée sur PSO, la dominance de Pareto et la classification floue, est proposé. La nouveauté principale de ce modèle consiste en utilisation d'un mécanisme qui permet de fournir une meilleure distribution des solutions dans l'espace de recherche.

    Le but principal du modèle proposé est de surmonter la limitation associée à l'optimisation multiobjectif par essaims particulaires standard. L'idée fondamentale, derrière cette approche est de promouvoir et maintenir la formation de sous-populations d'essaims en utilisant la technique FC. Chaque sous-essaim a son propre ensemble de leaders (les particules non-dominées) et évolue en utilisant l'algorithme PSO et le concept de la dominance de Pareto. Le concept de migration est également implémenté pour maintenir la diversité des sous-essaims, et améliorer la qualité des solutions trouvées.

    Dans ce chapitre, les différentes techniques utilisées dans le contexte d'optimisation multiobjectif seront décrites. Enfin la structure de base, du modèle proposé, sera présentée en détail, validée par plusieurs fonctions tests et comparée à d'autres modèles.

    4.2 Principe de l'optimisation multiobjectif

    Dans la vie quotidienne, nous résolvons des problèmes d'optimisation plus ou moins complexes. Nos achats, notre organisation, nos déplacements ne sont pas faits sans avoir réfléchi au préalable aux multiples options dont nous disposons pour aboutir à la décision nous semblant la plus appropriée. Par exemple, en prévision d'un trajet en véhicule, nous pouvons être amenés à résoudre la problématique présentée à la figure (4.1). Ces raisonnements, même s'ils paraissent anodins, font appel au concept de compromis, en ce sens que les décisions prises le sont rarement dans un contexte d'objectif unique.

    Plusieurs critères sont simultanément intégrés à la réflexion, afin de dégager un choix final présentant le meilleur compromis entre tous les objectifs. cette approche nous conduit à considérer une autre catégorie de problèmes d'optimisation : les problèmes multicritères ou multiobjectifs.

    FIG. 4.1 - Exemple de problème multicritère de la vie courante

    4.2.1 Formulation d'un problème multiobjectif

    Un problème multicritère P peut se formuler de la manière suivante : F1(X)

    min[F(X)] = Fj(X) j = 1...Nobjectif

    ...

    FNobjectif (X)

    oil X = [X1...Xi...XNparam] , i = 1...Nparam avec gk(X) 0 , k = 1...Ncontrainte

    Il s'agit de minimiser simultanément Nobjectf objectifs Fi(X), sous un ensemble de Ncontrainte contraintes gk(X). Le vecteur X représente l'ensemble des Nparam variables de conception associées au problème. Dans la formulation, on ne considère

    que des contraintes d'inégalité. En effet, sans perte de généralité, on remarque qu'une contrainte d'égalité de type h(X) = 0 est équivalente à deux contraintes d'inégalité h(X) = 0 et -h(X) = 0. Par ailleurs, tout problème défini en terme de maximisation peut aisément se ramener à la formulation précédente au prix de quelques transformations mathématiques.

    L'union des domaines de définition de chaque variable et les contraintes forment un ensemble E qu'on appelle l'ensemble des actions réalisables. F est l'ensemble des objectifs réalisables.

    La difficulté principale, de l'optimisation multicritère, est liée à la présence de conflits entre les divers objectifs. En effet, les solutions optimales, pour un objectif donné, ne correspondent généralement pas à celles des autres objectifs pris indépendamment. De ce fait, il n'existe, la plupart du temps, aucun point de l'espace de recherche oil toutes les fonctions objectifs sont optimales simultanément. Ainsi, contrairement à l'optimisation monocritère, la solution d'un problème d'optimisation multicritère est rarement unique. Elle est constituée de différentes solutions, représentant l'ensemble des meilleurs compromis vis-à-vis des objectifs du problème.

    4.2.2 Exemple de problème multiobjectif

    Le problème de [Schaffer, 1985] constitue un exemple simple de référence pour les problèmes multicritères. Il est défini de la manière suivante :

     

    [ F1(X) = x2 ]

    min[F (X)] = F2(X) = (x - 2)2

    avec x ? [-1,3]

    (4.1)

    Les deux fonctions à optimiser sont tracées sur la figure (4.2), par rapport à la variable x. Comme on peut le constater, les deux objectifs du problème sont antagonistes, dans la mesure oil il n'existe aucune zone de l'espace de recherche pour laquelle leur minimisation simultanée est possible. A l'intérieur de l'intervalle [0, 2], nous notons qu'une des fonctions (F1(x)) s'éloigne de sa valeur minimale (obtenue pour x = 0) tandis que la deuxième décroit vers sa valeur optimale, en x = 2. Il n'est donc pas possible, dans cet intervalle, de minimiser un critère sans détériorer l'autre.

    4.3 L'optimisation multiobjectif

    En général, on rencontre deux classifications différentes des méthodes de résolution de problèmes multiobjectifs. Le premier classement adopte un point de vue utilisateur, les méthodes sont classées en fonction de l'usage que l'on désire en faire. Le deuxième classement est plus théorique, plus conceptuel, les méthodes sont triées en fonction de leur façon de traiter les fonctions objectifs.

    FIG. 4.2 - Problème multicritère de Schaffer

    4.3.1 Choix utilisateur

    Cette classification est essentiellement utilisée en recherche opérationnelle. Les décisions étant considérées comme un compromis entre les objectifs et les choix spécifiques du décideur (contraintes de cout, de temps, etc.), un décideur choisit une méthode en fonction de l'aide qu'elle va lui apporter.

    les méthodes dites a priori, pour lesquelles l'utilisateur définit le compromis qu'il désire réaliser avant de lancer la méthode de résolution. On trouve dans cette famille la plupart des méthodes agrégatives, ou méthodes scalaires. Elles transforment le problème multicritère en un problème monocritère, en pondérant l'ensemble des critères initiaux.

    Les méthodes progressives, pour lesquelles l'utilisateur affine son choix des compromis au fur et à mesure du déroulement de l'optimisation. Comme cela est signalé dans [Colette, 2002], ces méthodes ont l'inconvénient de monopoliser l'attention du décideur tout au long du processus d'optimisation. Cet aspect peut être pénalisant si l'évaluation, des fonctions objectifs est longue et que les sollicitations imposées au concepteur sont fréquentes.

    Les méthodes dites a posteriori, pour lesquelles il n'est plus nécessaire, pour le concepteur, de modéliser ces préférences avant l'optimisation. Ces méthodes se contentent de produire un ensemble de solutions directement transmises au décideur. Il pourra alors a posteriori choisir une solution de compromis parmi celles obtenues lors de la résolution du problème.

    4.3.2 Choix concepteur

    Ce classement adopte un point de vue plus théorique articulé autour des notions d'agrégation et d'optimum de Pareto. Ces notions sont développées dans les paragraphes suivants, nous adoptons cette classification pour présenter les différentes méthodes.

    Les méthodes agrégées : Ces méthodes transforment un problème multiobjectif en un problème simple objectif.

    Les méthodes fondées sur Pareto : Ces méthodes sont fondées sur la notion de dominance au sens de Pareto qui privilégie une recherche satisfaisant au mieux tous les objectifs.

    Les méthodes non agrégées et non Pareto : Certaines méthodes n'utilisent aucun des deux concepts précédents. Alors que l'agrégation ou l'utilisation de la dominance de Pareto traitent les objectifs simultanément, en général, les méthodes dites non agrégées et non Pareto possèdent un processus de recherche qui traite séparément les objectifs.

    4.3.3 Les méthodes agrégées

    L'ensemble de ces méthodes repose sur l'axiome suivant : tout décideur essaye inconsciemment de maximiser une fonction d'utilité U.

    U = U(f1,f2,...,fK) (4.2)

    Les modèles les plus couramment utilisées sont :

    - le modèle additif

    U = Xk Ui(fi) (4.3)

    i=1

    oil Ui est la fonction de mise à l'échelle du ièmecritère.

    - le modèle multplicatif

    U = Yk Ui(fi) (4.4)

    i=1

    L'utilisation de ces modèles impose que les objectifs soient commensurables. Il est donc très difficile d'utiliser ces techniques lorsque l'ensemble des critères est composé à la fois de critères qualitatifs et quantitatifs.

    4.3.3.1. La moyenne pondérée

    Cette méthode consiste à additionner tous les objectifs en affectant à chacun un coefficient de poids. Ce coefficient représente l'importance relative que le décideur attribue à l'objectif. Cela modifie un problème multiobjectif en un problème simple objectif de la forme :

    min Xk wifi(x) avec wi = 0 (4.5)

    i=1

    wi représente le poids affecté au crtère i et k i=1 wi = 1

    4.3.3.2. Le modèle "Goal programming"

    Cette méthode est également appelée "Target Vector Optimisation" [Coello 1996, Van Veldhuizen 1999]. Le décideur fixe un but Ti à atteindre pour chaque objectif fi [Charnes 1961]. Ces valeurs sont ensuite ajoutées au problème comme des contraintes supplémentaires. La nouvelle fonction objectif est modifiée de façon à minimiser la somme des écarts entre les résultats et les buts à atteindre :

    k

    min i=1 |fi(x) -- Ti| avec x E F (4.6)

    Ti représente la valeur à atteindre pour le ième objectif. F représente l'espace complet des objectifs.

    Différentes variantes et applications de ces techniques ont été proposées [Ignizo, 1981; Van Veldhuizen, 1999].

    4.3.3.3. Le modèle min-max

    Cette méthode est assez proche de la précédente, elle minimise le maximum de l'écart relatif entre un objectif et son but associé par le décideur.

    min max

    i

    ufi(x) -- Ti) Ti )

    avec i = 1, ..., k (4.7)

    Ti le but à atteindre pour le ièmeobjectif.

    Dans [Coello, 1995], l'auteur présente précisément plusieurs variantes de la méthode min-max ainsi que diverses applications de celles-ci.

    4.3.3.4. L'approche "Goal attainment"

    Dans cette approche le décideur spécifie l'ensemble des buts Ti qu'il souhaite atteindre et les poids associés wi. La solution optimale est trouvée en résolvant le problème suivant :

    minmiser á tel que (4.8)

    Ti + á
    · wi > fi
    (x)

    k

    avec i=0 wi = 1 4.3.3.5. La méthode e-- contrainte

    Cette méthode est basée sur la minimisation d'un objectif fi en considérant que les autres objectifs fj avec j =6 i qui doivent être inférieurs à une valeur ej. En général, l'objectif choisi est celui que le décideur souhaite optimiser en priorité.

    minimiser fi(x) avec (4.9)

    fj(x) ej, Vj =6 i

    De cette manière, un problème simple objectif sous contraintes peut être résolu. Le décideur peut ensuite réitérer ce processus sur un objectif différent jusqu'à ce qu'il trouve une solution satisfaisante. Cette méthode a été testée avec un algorithme génétique dans [Ritzel, 1994] avec différentes valeurs de c pour générer différentes valeurs Pareto-optimales.

    4.3.4 Les méthodes non agrégées, non Pareto

    En général, les méthodes dites non agrégées et non Pareto possèdent un processus de recherche qui traite séparément les objectifs.

    4.3.4.1. Algorithme VEGA (Vector Evaluated Genetic Algorithm)

    Cette méthode a été introduite par Schaffer en 1985 dans la perspective d'adapter un algorithme génétique canonique à la résolution d'un problème multiobjectif [Schaffer, 1985]. Appelée Vector Evaluated Genetic Algorithm, cette technique se différencie de l'algorithme de base uniquement par le type de sélection utilisé. L'idée est simple, si nous avons k objectifs et une population de n individus, une sélection de n/k individus est effectuée pour chaque objectif. Ainsi K sous-populations vont être crées, chacune d'entre elles contenant les n/k meilleurs individus pour un objectif particulier. Une nouvelle population de taille n est ensuite formée à partir des K sous populations. Le processus se termine par l'application des opérateurs génétiques de base (croisement et mutation).

    De nombreuses variantes de cette technique ont été proposées :

    Mélange de VEGA avec dominance de Pareto [Tanaki, 1995],

    Paramètre pour contrôler le taux de sélection [Ritzel, 1994],

    Application à un problème contraint [surry, 1995],

    Utilisation d'un vecteur contenant les probabilités d'utiliser un certain objectif lors de la sélection [Kurwase, 1984].

    4.3.4.2. Utilisation des genres

    Cette méthode introduite par Allenson [Allenson, 1992] utilise la notion de genre et d'attracteur sexuel pour traiter un problème à deux objectifs. Une des applications de ce modèle consiste à minimiser la longueur d'un pipeline tout en réduisant l'impact écologique de sa construction. En affectant un objectif à chaque genre, l'auteur espère minimiser les deux objectifs simultanément car un genre sera toujours jugé d'après l'objectif qui lui a été associé.

    Allenson utilise un algorithme génétique canonique dans lequel un nombre égal d'individus des deux genres sera maintenu. La population est initialisée avec autant de males que de femelles, puis à chaque génération, les enfants remplacent les plus mauvais individus du même genre. La création des enfants s'effectue par croisement

    mais leur genre est choisi aléatoirement et leur attracteur est crée en fonction de plusieurs heuristiques différentes (aléatoire, clonage ou croisement).

    En 1996, Lis et Eiben ont également réalisé un algorithme basé sur l'utilisation des genres, mais dans ce cas l'algorithme n'est pas limité à deux genres [Lis et Eiben 1996]. Il peut y avoir autant de genres que d'objectifs du problème. Ils ont également modifié le principe de croisement. Pour générer un enfant, un parent de chaque genre est sélectionné. Ensuite un croisement multipoint est effectué et le parent ayant participé le plus, en nombre de gènes, à l'élaboration de l'enfant transmet son genre. En cas d'égalité le choix s'effectue aléatoirement entre les parents égaux. L'opérateur de mutation effectue un simple changement de genre.

    4.3.4.3. La méthode lexicographique

    La méthode lexicographique, proposée par Fourman [fourman, 1985], consiste à ranger les objectifs par ordre d'importance déterminé par le décideur. Ensuite, l'optimum est obtenu en minimisant tout d'abord la fonction objectif la plus importante puis la deuxième et ainsi de suite.

    Soient les fonctions objectifs fi avec i = 1, ..., k, supposons un ordre tel que :

    f1 Â f2 Â ... Â fk

    Il faut :

    minimiser f1(x)

    avec gj(x) satisfait ?j = 1, ..., m

    Soit x* 1, la meilleure solution trouvée avec f* 1 = f1(x*1). f* 1 devient alors une nouvelle contrainte.

    L'expression du nouveau problème est donc :

    minimiser f2(x)

    avec gj(x) satisfait ?j = 1, ..., m et f1(x) = f* 1

    Soit x* 2 la solution de ce problème. Le ièmeproblème sera le suivant :

    minimiser fi(x)

    avec gj(x) satisfait ?j = 1, ..., m

    et f1(x) = f* 1 , f2(x) = f* 2 , ..., f(i-1)(x) = f* (i-1)

    La procédure est répétée jusqu'à ce que tous les objectifs soient traités. La solution obtenue à l'étape k sera la solution du problème.

    Fourman a proposé une autre version de cet algorithme qui choisit aléatoirement la fonction objectif devant être prise en compte. Il en déduit que cela marche aussi bien. Cette façon de procéder équivaut à une somme pondérée dans laquelle un poids correspond à la probabilité que la fonction objectif associée soit sélectionnée.

    4.3.4.4. Algorithme NGGA (A Non Generational Genetic Algorithm)

    Valenzuela et Uresti ont proposé une méthode de sélection des individus non générationnelle dans laquelle la fitness est calculée de façon incrémentale [Valenzuela et Uresti, 1997]. La méthode est appliquée pour la conception de matériel électronique, l'objectif de cette application est de maximiser la performance du matériel, minimiser le temps moyen entre deux erreurs et minimiser le coût de revient. Le principe retenu consiste à utiliser un algorithme non générationnel comme dans le cas des systèmes de classifieurs [Goldberg, 1989b].

    4.3.4.5. Le modèle élitiste

    L'algorithme proposé dans [Ishibuchi et Murata, 1996] est basé sur une sélection de type min-max, les solutions non dominées trouvées à chaque génération forment une population externe. Les auteurs utilisent également une méthode de recherche locale pour générer de meilleurs individus.

    L'utilisation d'une population externe d'individus non dominés et d'une technique de recherche locale apporte à cette méthode une capacité élitiste très importante.

    Nous allons voir dans la section suivante que l'introduction de ce mécanisme de stockage associé aux stratégies de mise à jour de cette population externe et de réinjection des individus dans la population courante va inspirer beaucoup de chercheurs.

    4.3.5 Les méthodes Pareto

    L'idée d'utiliser la dominance au sens de Pareto a été proposée par Goldberg [Goldberg, 1989b] pour résoudre les problèmes proposés par Schaffer [Schaffer, 1985]. L'auteur suggère d'utiliser le concept d'optimalité de Pareto pour respecter l'intégralité de chaque critère au lieu de comparer a priori les valeurs de différentes critères. L'utilisation d'une sélection basée sur la notion de dominance de Pareto entraine la convergence de la population vers un ensemble de solutions efficaces. Ce concept ne permet pas de choisir une alternative plutôt qu'une autre mais il apporte une aide précieuse au décideur.

    Dans les paragraphes suivants, nous définissons tout d'abord la notion de dominance au sens de Pareto et la frontière de Pareto, ensuite, nous présentons les techniques évolutionnaires utilisant cette notion.

    4.3.5.1. Optimum de Pareto

    Au XIXème siècle, Vilfredo Pareto, formule le concept suivant [Pareto, 1896] : dans un problème multiobjectif, il existe un équilibre tel que l'on ne peut pas améliorer un critère sans détériorer au moins un des autres critères.

    Cet équilibre a été appelé optimum de Pareto. Un point x est dit Pareto-optimal s'il n'est dominé par aucun autre point appartenant à l'espace de recherche E. Ces points sont également appelés solutions non inférieures ou non dominées.

    4.3.5.2. Notion de dominance Un point x E E domine x' E E si :

    Vi, fi(x) fi(x') avec (4.10)

    au moins un i tel que fi(x) < fi(x')

    Dans l'exemple (figure 4.3), les points 1, 3 et 5 ne sont dominés par aucun autre point. Alors que le point 2 est dominé par le point 3, et le point 4 est dominé par 3 et 5.

    FIG. 4.3 - Exemple de dominance

    Un point x E E est dit faiblement non dominé, s'il n'existe pas de point x' E E tel que :

    fi(x') < fi(x),Vi = 1, ...,k

    Un point x E E est dit fortement non dominé, s'il n'existe pas de point x' E E tel que :

    fi(x') fi(x),Vi = 1, ...,k avec

    au moins un i tel que, fi(x') < fi(x)

    4.3.5.3. Frontière de Pareto

    La frontière de Pareto est l'ensemble de tous les points Pareto-optimaux. La figure (4.4) présente la frontière de Pareto pour un problème à deux objectifs.

    FIG. 4.4 - Exemple de frontière de Pareto

    4.3.6 Les techniques non élitistes

    4.3.6.1. Algorithme MOGA (Multiple Objective Genetic Algorithm)

    En 1993 Fonseca et Fleming ont proposé une méthode, dans laquelle chaque individu de la population est rangé en fonction du nombre d'individus qui le dominent [Fonseca et Fleming, 1993]. Ensuite; ils utilisent une fonction de notation permettant de prendre en compte le rang de l'individu et le nombre d'individus ayant le même rang.

    Soit un individu x à la génération t, dominé par p (t) individus. Le rang de cet individu est :

    rang(x ,t) = 1 + p (t) (4.11)

    Tous les individus non dominés sont de rang 1. Les auteurs calculent la fitness de chaque individu de la façon suivante :

    Calcul du rang de chaque individu.

    Affectation de la fitness de chaque individu par application d'une fonction de changement d'échelle sur la valeur de son rang. Cette fonction est en général linéaire. Suivant le problème, d'autres types de fonction pourront être envisagés afin d'augmenter ou de diminuer l'importance des meilleurs rangs ou d'atténuer la largueur de l'espace entre les individus de plus fort rang et de plus bas rang.

    L'utilisation de la sélection par rang a tendance à répartir la population autour d'un même optimum. Or cela n'est pas satisfaisant pour un décideur car cette méthode ne lui proposera qu'une seule solution. Pour éviter cette dérive, les auteurs utilisent une fonction de partage. L'objectif est de répartir la population sur l'ensemble de la frontière de Pareto.

    La technique de partage agit sur l'espace des objectifs. Cela suppose que deux actions qui ont le même résultat dans l'espace des objectifs ne pourront pas être présentes dans la population.

    Cette méthode obtient des solutions de bonne qualité et son implémentation est facile. Mais les performances dépendent de la valeur du paramètre óshare utilisé dans la technique de partage. Dans leur article Fonseca et Flaming proposent une méthode de sélection de la meilleure valeur de óshare.

    4.3.6.2. Algorithme NSGA (Non dominated Sorting Genetic Algorithm)

    Dans la méthode proposée par [Srivinas et Deb 1993], le calcul de fitness s'effectue en séparant la population en plusieurs groupes en fonction du degré de domination au sens de Pareto de chaque individu.

    1. Dans la population entière, on recherche les individus non dominés. Ces derniers constituent la première frontière de Pareto.

    2. On leur attribue une valeur de fitness factice, cette valeur est supposée donner une chance égale de reproduction à tous ces individus. Cependant pour maintenir la diversité dans la population, il est nécessaire d'appliquer une fonction de partage sur cette valeur.

    3. Ce premier groupe d'individu est ensuite supprimé de la population.

    4. On recommence cette procédure pour déterminer la seconde frontière de Pareto. La valeur factice de fitness attribuée à ce second groupe est inférieure à la plus petite fitness après application de la fonction de partage sur le premier groupe. Ce mécanisme est répété jusqu'à ce que l'on ait traité tous les individus de la population.

    L'algorithme se déroule ensuite comme un algorithme génétique classique. Srivinas et Deb 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.).

    4.3.6.3. Algorithme NPGA (Niched Pareto Genetic Algorithm)

    Cette méthode proposée par Horn et Napfliotis utilise un tournoi basé sur la 95

    notion de dominance de Pareto [Horn et Napfliotis, 1993]. Elle compare deux individus pris au hasard avec une sous-population de taille tdom également choisie au hasard. Si un seul de ces deux individus domine le sous-groupe, il est positionné dans la population suivante. Dans les autres cas une fonction de partage est appliquée pour sélectionner l'individu.

    4.3.7 Les techniques élitistes

    Les approches que nous venons de voir sont dites non élitistes car:

    1. Elles ne conservent pas les individus Pareto-optimaux trouvés au cours de l'évolution.

    2. Elles maintiennent difficilement la diversité sur la frontière de Pareto.

    3. La convergence des solutions vers la frontière de Pareto est lente. Pour résoudre ces difficultés, de nouvelles techniques ont été appliquées.

    1. Introduction d'une population externe ou archive permettant de stocker les individus Pareto-optimaux.

    2. Utilisation de techniques de nichage, classification et "grid-based" pour répartir efficacement les solutions sur la frontière de Pareto.

    3. Préférence pour les solutions non dominées.

    Les paragraphes suivants présentent différents modèles intégrants des méthodes élitistes.

    4.3.7.1. Algorithme SPEA (Strength Pareto Evolutionary Algorithm)

    En 1998 Zitzler et Thiele ont proposé une nouvelle méthode d'optimisation multiobjectif qui possède les caractéristiques suivantes [Zitzler et Thiele, 1998] :

    Utilisation du concept de Pareto pour comparer les solutions.

    Un ensemble de solutions Pareto-optimales est maintenu dans une mémoire externe appelée archive.

    La fitness de chaque individu est calculée par rapport aux solutions stockées dans l'archive.

    Toutes les solutions de l'archive participent à la sélection.

    Une méthode de classification est utilisée pour réduire l'ensemble de Pareto sans supprimer ses caractéristiques.

    Une nouvelle méthode de niche, basée sur Pareto, est utilisée afin de préserver la diversité. L'avantage essentiel est qu'elle n'exige pas de réglage de paramètres de la méthode de partage.

    4.3.7.2. Algorithme PAES (Pareto Archived Evolution Strategy)

    Cette méthode a été développée initialement comme méthode de recherche locale dans un problème de routage d'information off-line. Les premiers travaux de

    Knowles et Corne ont montré que cette méthode simple objectif fournissait des résultats supérieurs aux méthodes de recherche basées sur une population [Knowles et Corne, 1999]. Par conséquent, les auteurs ont adapté cette méthode aux problèmes multiobjectifs. Les particularités de cette méthode sont les suivantes :

    Elle n'est pas basée sur une population. Elle n'utilise qu'un seul individu à la fois pour la recherche des solutions.

    Elle utilise une population annexe de taille déterminée permettant de stocker les solutions temporairement Pareto-optimales.

    L'algorithme utilisé est plus simple et inspiré d'une stratégie d'évolution [Rechenberg, 1973].

    Elle utilise une technique de remplissage basée sur un découpage en hypercubes de l'espace des objectifs.

    4.3.7.3. Algorithme PESA (Pareto Envelope based Selection Algorithm)

    La méthode PESA a été également proposée par Knowles et corne [Knowles et al., 2000]. Elle reprend approximativement le principe de crowding développé dans PAES et définit un paramètre appelé "squeeze_factor" qui représente la mesure d'encombrement d'une zone de l'espace. Alors que PAES est basé sur une stratégie d'évolution, PESA est une méthode basée sur les algorithmes génétiques. Elle définit deux paramètres concernant la taille des populations d'individus : PI (taille de la population interne) et PE (taille de la population externe ou archive).

    4.3.7.4. Modèle NSGA II

    Dans cette deuxième version de NSGA [Deb, 2000]; l'auteur tente de résoudre les problèmes liés à l'approche NSGA : complexité, non élitisme et utilisation du partage.

    La complexité de l'algorithme NSGA est notamment due à la procédure de création des différentes frontières. Pour diminuer la complexité de calcul de NSGA, Deb propose une modification de la procédure de tri de la population en plusieurs frontières.

    La deuxième difficulté liée à l'approche NSGA est l'utilisation de la méthode de partage qui exige le réglage d'un ou plusieurs paramètre(s) et qui nécessite un temps de calcul important. Dans NSGA II, Deb remplace la fonction de partage par une fonction de remplissage.

    Enfin, le modèle proposé utilise une sélection par tournoi pour permettre la conservation des meilleurs individus d'une génération à l'autre.

    4.3.7.5. Modèle PESA II (Region-based Selection)

    PESA II est une technique de sélection basée sur l'utilisation d'hypercubes dans l'espace des objectifs [Corne, 2001]. Au lieu d'effectuer une sélection en fonction de la fitness des individus comme dans PESA, cette méthode effectue une sélection par rapport aux hypercubes occupés par au moins un individu. Après avoir sélectionné l'hypercube, on choisit aléatoirement l'individu dans l'hypercube. Cette méthode se montre plus efficace à repartir les solutions sur la frontière de Pareto. Cela est dû à sa capacité de choisir avec une plus grande probabilité que le tournoi classique, des individus situés dans des zones désertiques.

    4.3.7.6. Algorithme Micro-GA (Micro-Genetic Algorithm)

    Coello trouve que les recherches actuelles n'accordent pas assez d'importance à l'efficience des méthodes d'optimisation multiobjectifs. Dans [Coello et al., 2001], il propose une méthode basée sur une population avec un nombre très faible d'individus. Cette technique se base sur les résultats théoriques obtenus par Goldberg [Goldberg, 1989b].

    Coello applique le mécanisme suggéré par Goldberg aux problèmes d'optimisation multiobjectifs en utilisant un algorithme génétique avec une petite taille de population associée à une archive et une heuristique de distribution géographique. Il définit une population extérieure divisée en deux parties : une partie remplaçable et une partie non remplaçable. La portion non remplaçable ne change pas durant le processus de modification et sert à maintenir la diversité. Elle ne sera mise à jour que lorsque le micro algorithme génétique aura convergé. La portion remplaçable est totalement modifiée à intervalle régulier. Ce dernier est défini en nombre de cycles du micro GA.

    Au début de l'algorithme du micro GA, la population est constituée à l'aide d'individus sélectionnés aléatoirement dans la population externe. Ensuite l'algorithme se déroule de manière classique. En fin de cycle, lorsque la population du micro GA a perdu sa diversité, deux individus non dominés sont sélectionnés pour mettre à jour l'archive. L'approche utilisée est similaire à celle de PAES. Ensuite ces deux mêmes individus sont comparés à deux individus de la partie non remplaçable. Si l'un des deux premiers domine l'un des deux autres alors il le remplace dans la partie non remplaçable.

    Les tests effectués par l'auteur montrent que cette approche est capable de converger plus rapidement vers la surface de Pareto (en terme de temps CPU). Mais pour le cas de fonctions avec contraintes, la méthode a été moins bonne que NSGA II. Dans quelque cas, cette méthode produit une meilleure distribution des points sur la surface de Pareto.

    4.3.8 Difficultés des méthodes d'optimisation multiobjectif

    Un processus d'optimisation multiobjectif doit résoudre les deux tâches suivantes :

    - Guider le processus de recherche vers la frontière de Pareto,

    - Maintenir une diversité des solutions pour assurer une bonne répartition sur la frontière de Pareto.

    L'accomplissement de ces tâches est très délicat car les difficultés rencontrées dans un problème multiobjectif sont identiques à celles d'un problème simple objectif mais elles sont amplifiées par la présence d'objectifs dépendants les un des autres.

    Le processus de recherche est souvent ralenti ou totalement dérouté par des fonctions possédant une des caractéristiques suivantes : multimodalité, isolation d'un optimum ou optimum trompeur.

    -La multimodalité : Comme déjà sité dans le chapitre 3, Une fonction est dite multimodale si elle possède plusieurs optima-globaux. Dès lors, chaque optimum exerce sur les individus d'une population une attraction différente qui peut piéger le processus de convergence de l'algorithme. Ce problème peut être éviter en utilisant une technique de répartition des individus de type partage ou remplissage [Mahfoud, 1995].

    -L'isolation d'un optimum : Il existe des problèmes dans lesquels un optimum peut être entouré de grandes zones pratiquement plates. Cet optimum se trouve alors isolé car l'espace de recherche qui l'entoure ne peut pas guider vers lui les individus de la population.

    -Les problèmes trompeurs : Un problème est dit trompeur lorsqu'il guide la convergence vers une zone non optimale de la fonction.

    Pour éviter ce problème, Deb et Goldberg recommandent l'utilisation de techniques de répartition individus en niches [Goldberg et Deb, 1992]. Ils établissent également que le choix d'une taille appropriée de la population est primordial pour éviter ce problème.

    La difficulté à maintenir une bonne répartition des solutions sur la frontière de Pareto résulte principalement des caractéristiques suivantes : convexité ou non convexité de la frontière de Pareto, discontinuité de cette frontière et non uniformité de la distribution.

    - non convexité de la frontière de Pareto : Certains problèmes ont une frontière de Pareto non convexe. Les méthodes dont le calcul de la fitness est basé sur le nombre d'individus dominés (MOGA, SPEA) vont être moins efficaces.

    -Discontinuité de la frontière de Pareto : Si une frontière de Pareto est discontinue, on retrouve le même principe que pour une fonction multimodale. Les différentes parties de cette frontière vont exercer, proportionnellement à leur taille, une attraction plus ou moins importante sur les individus d'une population. Certaines parties pourront donc ne pas être découvertes. Les méthodes basées sur les algorithmes génétiques sont plus sensibles à ce phénomène que les méthodes utilisant des stratégies d'évolution.

    -Non uniformité de répartition sur la frontière : Les solutions sur la frontière de Pareto peuvent ne pas être réparties uniformément. La raison principale vient du choix des fonctions objectifs. Par exemple; si une des fonctions objectifs est multimodale, elle va influencer de manière très différente la répartition des solutions sur la frontière de Pareto.

    4.4 Optimisation multiobjectif par essaims particulaires

    Il est évident que l'algorithme original PSO doit être modifié pour être adapté à la résolution des problèmes d'optimisation multiobjectifs. Comme on a vu, l'ensemble des solutions d'un problème avec multiples objectifs ne se compose pas d'une seule solution (comme dans l'optimisation globale).

    Cependant, dans l'optimisation multiobjectif, il est nécessaire de trouver un ensemble de solutions (l'ensemble Pareto-optimal). Généralement pour résoudre un problème multiobjectif, il y' a trois objectifs principaux à réaliser [Zitzler et al, 2000] :

    1. Maximiser le nombre des éléments de l'ensemble Pareto-optimal trouvé.

    2. Minimiser la distance entre le front de Pareto trouvé par l'algorithme et le vrai (global) front de Pareto (supposant qu'on connait son endroit).

    3. Maximiser la répartition des solutions trouvées, de sorte que nous puissions avoir une distribution des vecteurs la plus uniforme.

    Etant donné la structure de la population de PSO, il est souhaitable de produire plusieurs (différentes) solutions non-dominées avec une seule itération. Ainsi, comme avec tout autre algorithme évolutionnaire, les trois questions posés lors de l'adaptation de PSO à l'optimisation multiobjectif sont [Coello et al, 2002] :

    1. Comment choisir les particules (employées comme leader) afin de donner plus de préférence aux solutions non-dominées.

    2. Comment maintenir les solutions non-dominées trouvées pendant le processus de recherche afin de rapporter les solutions non-dominées, en tenant compte de toutes les anciennes populations et non seulement de la population courante. Aussi, il est souhaitable que ces solutions soient bien réparties sur le front de Pareto.

    3. Comment maintenir la diversité dans l'essaim afin d'éviter la convergence prématurée vers une seule solution.

    Comme nous l'avons déjà vu, en résolvant les problèmes d'optimisation à un seul objectif, pour chaque particule, le leader qui a la meilleure des meilleures performances dont elle a connaissance, est complètement déterminé une fois une topologie de voisinage est établie. Cependant, dans le cas des problèmes d'optimisation multiobjectif, chaque particule pourrait communiquer avec différents leaders, un seul étant choisi afin de mettre à jour sa position. Un tel ensemble de leaders est habituellement stocké dans une mémoire appelée archive externe. Les solutions contenues dans les archives externes sont employées comme leaders quand les positions des particules de l'essaim doivent être mises à jour. En outre, le contenu des archives externes est souvent rapporté comme résultat final de l'algorithme.

    L'algorithme général de MOPSO est décrit par le pseudo code (6). Nous avons marqué en italique les processus qui rendent cet algorithme différent de l'algorithme PSO de base de l'optimisation à un seul objectif.

    algorithme 6 Pseudo code de l'algorithme général de MOPSO

    Initialiser l'essaim

    Initialiser l'ensemble de leaders

    mesurer la qualité de leaders

    t 4-- 0

    tant que (t < tmax)

    Pour chaque particule

    Sélectionner un leader

    Calculer la vitesse

    Mettre à jour la position

    Effectuer la mutation si c'est nécessaire Mettre à jour pbest

    Fin pour

    Mettre à jour les leaders dans l'archive externe mesure la qualité de leaders

    t 4-- t + 1

    Fin tant que

    Retourner les résultats de l'archive externe

    Après l'initialisation de l'essaim, un ensemble de leaders est également initialisé avec les particules non-dominées de l'essaim. Comme nous avons déjà mentionné,

    l'ensemble de leaders est souvent stocké dans des archives externes. Ensuite, une mesure de qualité est calculée pour tous les leaders afin de choisir (souvent) un leader pour chaque particule de l'essaim. A chaque génération, pour chaque particule, un leader est choisi et le vol est exécuté. La plupart des MOPSOs existants applique un opérateur de mutation après l'exécution du vol. La particule est ensuite évaluée et la valeur de pbest (la meilleure position qu'elle a atteinte jusqu'ici) correspondante est mise à jour. Une nouvelle position de particule remplace sa pbest habituellement quand cette position de particule domine sa pbest ou si elles sont toutes les deux non-dominée l'une de l'autre. Après la mise à jour de toutes les particules, l'ensemble de leaders est mise à jour aussi. Finalement, la mesure de qualité de l'ensemble de guides est recalculée. Ce processus est répété pour un certain nombre d'itérations.

    En résumé, pour adapter l'algorithme de base PSO à la résolution des problèmes multiobjectifs, on est confronté à deux difficultés majeures [Pulido, 2005] :

    1. Choix et mise à jour des leaders

    - Comment choisir un seul guide de l'ensemble des solutions non-dominées qui sont toutes bonnes, on peut le choisir d'une manière aléatoire ou on doit utiliser un critère additionnel (pour favoriser la diversité, par exemple).

    Comment choisir les particules qui devraient demeurer dans les archives externes d'une itération à l'autre.

    2. Création de nouvelles solutions

    Comment favoriser la diversité en utilisant deux mécanismes pour créer de nouvelles solutions : mise à jour de positions et mutation. Ces concepts sont discutés en détail dans les prochains paragraphes.

    4.4.1 Leaders dans l'optimisation multiobjectif

    Puisque la solution d'un problème multiobjectif se compose d'un ensemble de bonnes solutions, il est évident que le concept de leader traditionnellement adopté dans PSO doit être changé. Afin d'éviter la définition d'un nouveau concept de leader pour des problèmes multiobjectifs, certaines méthodes utilisent des fonctions d'agrégation (sommes pondérées des objectifs) ou approches qui optimisent chaque objectif séparément. Cependant, il est important d'indiquer que la majorité des approches actuellement proposées de MOPSO redéfinissent le concept de leader.

    Comme mentionné plus haut, le choix d'un leader est une composante importante dans la conception de MOPSO. L'approche la plus directe est de considérer chaque solution non-dominée comme un nouveau leader et puis, un seul leader étant choisi. De cette façon, une mesure de qualité qui indique la qualité d'un leader est très importante. Evidemment, une telle approche peut être définie de différentes manières. Des différentes propositions, pour traiter ce problème, seront présentées plus loin.

    Une manière possible de définir une telle mesure de qualité peut être les mesures de densité. La promotion de la diversité peut être faite par ce processus au moyen de mécanismes basés sur quelques mesures de qualité qui indiquent la proximité des particules dans l'essaim. Plusieurs auteurs ont proposé des techniques de choix de leader qui sont basées sur des mesures de densité, nous présentons ici deux des plus important mesures de densité utilisées dans le domaine de l'optimisation multiobjectif :

    - Estimateur de densité de voisin le plus proche : L'estimateur de densité de voisin le plus proche nous donne une idée de la façon dont les voisins les plus proches d'une particule donnée sont distribués, dans l'espace de fonction objectif [Deb et al, 2002]. Cette mesure estime le périmètre du cuboïde formé en employant le plus proche voisin comme sommet (figure 4.5).

    FIG. 4.5 - Exemple d'estimateur de densité de voisin le plus proche

    - Estimateur de densité de grain: Quand une particule partage les ressources avec d'autres particules, sa fitness est dégradée proportionnellement au nombre et proximité des particules qui l'entourent avec un certain périmètre seuil [Goldberg et Richardson, 1987; Deb et Goldberg, 1989]. Un voisinage d'une particule est défini en termes de paramètre noté óshare qui indique le rayon de voisinage. De tels voisinages s'appellent niches écologiques (figure 4.6).

    FIG. 4.6 Niches de particules

    4.4.2 Conservation et propagation des solutions non-dominées

    Comme déjà mentionné, il est important de maintenir les solutions non-dominées trouvées le long de tout le processus de recherche et ainsi pouvoir retourner à la fin ces solutions non-dominées en tenant compte de toutes les populations précédentes. Ceci est important non seulement pour des raisons pragmatiques, mais également pour les raisons théoriques [Rudolph, 1998].

    La manière la plus directe de maintenir des solutions non-dominées, en prenant en considérations toutes les populations précédentes (ou essaims), est d'employer des archives externes. De telles archives permettra l'ajout d'une solution seulement si elle est non-dominée par une solution enregistrée dans l'archive ou si elle domine une des solutions de l'archive (dans ce cas, les solutions dominées doivent être supprimés de l'archive).

    L'inconvénient de cette approche est l'augmentation très rapide de la taille des archives. C'est un point important parce que les archives doivent être mises à jour à chaque génération. Ainsi, cette mise à jour peut devenir très coûteuse en temps de calcul si la taille des archives est importante. Dans le pire des cas, tous les membres de l'essaim peuvent entrer dans l'archive, à chaque génération. Ainsi, le processus de la mise à jour correspondant, à chaque génération, aura une complexité de o(kN2), oil N est la taille de l'essaim et k le nombre des objectifs. De cette façon, la complexité du processus de mise à jour pour l'exécution complète de l'algorithme est de o(kMN2), oil M est le nombre total d'itérations.

    Cependant, il est nécessaire d'ajouter un critère pour décider quelles solutions non-dominées doivent être maintenues dans le cas oil l'archive est pleine. Dans l'optimisation multiobjectif évolutionnaire, les chercheurs ont adopté différentes techniques pour réduire la taille des archives. D'autres concepts ont été introduits pour l'utilisation des archives, par exemple, pour ajouter les éléments dans l'archive, la distribution des solutions a été utilisée comme critère additionnel au lieu d'utiliser uniquement le concept de non dominance.

    Il faut noter qu'on doit utiliser trois archives pour adapter PSO à l'optimisation multiobjectif : une pour stocker les meilleures solutions globales, une pour les meilleures valeurs pbest et une troisième pour stocker la meilleure solution locale. Cependant, dans la pratique, quelques auteurs rapportent l'utilisation de plus d'une archive dans leur MOPSOs. Plus récemment, d'autres chercheurs ont proposé l'utilisation de formes relaxées de dominance. La plus principale a été la méthode c-dominance [Laumanns et al, 2002]. Le but était de sauvegarder les solutions non dominées dans des archives externes. En utilisant le paramètre c, on définit un ensemble de cases de taille epsilon, une seule solution non-dominée est maintenue pour chaque case (située à la limite gauche et inférieure de chaque case). Comme illustré dans la figure (4.7).

    FIG. 4.7 - Exemple d'utilisation de dominance dans un archive externe

    Comme le montre la figure (4.7), la solution 1 domine la solution 2; donc la solution 1 est maintenue. Les solutions 3 et 4 sont non dominées l'une de l'autre, mais solution 3 est mieux que 4, puisque solution 3 est le plus proche au coin à gauche inférieur représenté par le point (2€, 2). Solution 5 domine solution 6, donc solution 5 est maintenue. Solution 7 est non accepté puisque sa case représentée par le point (2€, 3) est dominée par la case représentée par le point (2€, 2).

    Pour un cas Bi-objectif, l'utilisation du c--dominance, comme proposé dans [Laumanns et al, 2002], garantit que les solutions maintenues sont non-dominées en tenant compte de toutes les solutions produites pendant l'exécution.

    En utilisant c-dominance, la taille de l'archive externe final dépend de la valeur c, qui est normalement un paramètre défini par l'utilisateur [Laumanns et al, 2002].

    4.4.3 Maintien de la diversité par création de nouvelles solutions

    La convergence rapide est l'une des caractéristiques les plus importantes de l'algorithme PSO. Ce pendant, il est primordial de maintenir un certain degré de diversité pour éviter que l'algorithme soit piégé.

    La convergence prématurée est provoquée par la perte rapide de diversité dans l'essaim. Ainsi, le maintien de la diversité dans PSO est un point très important afin de contrôler sa convergence (normalement rapide). Comme mentionné précédemment, en adoptant PSO pour résoudre des problèmes d'optimisation multiobjectifs, il est possible de favoriser la diversité par le choix de leaders. Cela peut être également fait par les deux principaux mécanismes utilisés pour créer de nouvelles solutions :

    a. Mise à jour des positions

    L'utilisation de différentes topologies de voisinage détermine la vitesse du processus de transfert de l'information à travers l'essaim. Cependant, dans une topologie entièrement reliée, toutes les particules sont reliées les unes avec les autres, l'information est transférée plus rapidement que dans le cas de topologie locale best ou d'arbre. Aussi, une topologie spécifique de voisinage détermine également la vitesse de perte de diversité dans l'essaim. Puisque dans une topologie entièrement reliée le transfert d'information est rapide, en employant cette topologie, la diversité dans l'essaim est également perdue rapidement. De cette façon, les topologies qui définissent des voisinages plus petits que l'essaim global pour chaque particule peuvent également préserver la diversité dans l'essaim.

    D'autre part, la diversité peut également être favorisée par le facteur d'inertie (ô(t) de l'équation (1.1)). Le facteur d'inertie est utilisé pour contrôler l'impact des vitesses antérieures sur la vitesse courante. Ainsi, le poids d'inertie influence la différence entre les capacités d'exploration globales et locales [Shi et Eberhart, 1998]. Un grand facteur d'inertie facilite l'exploration globale tandis qu'un plus petit facteur d'inertie tend à faciliter l'exploration locale. La valeur du facteur d'inertie peut varier pendant le processus d'optimisation. Shi [Shi et Eberhart, 1998] a montré qu'en diminuant linéairement le poids d'inertie d'une valeur relativement grande à une petite valeur durant l'exécution de PSO, l'algorithme favorise une recherche globale au début de son exécution et une recherche locale à la fin.

    L'addition de la vitesse à la position actuelle pour produire la prochaine position est semblable à l'opérateur de mutation dans des algorithmes évolutionnaires, sauf que la mutation dans PSO est guidée par l'expérience d'une particule et de celle de ses voisines.

    b. L'utilisation d'un opérateur de mutation (ou turbulence)

    Quand une particule met à jour sa position, une mutation se produit. Parfois, une turbulence est aussi nécessaire. La turbulance reflète le changement du vol des particules qui est hors de son control [Fieldsend et Singh, 2002].

    En général, quand un essaim stagne, c-à-d., quand les vitesses des particules sont pratiquement nulles, il devient incapable de produire de nouvelles solutions qui pourraient mener l'essaim hors de cet état. Ce comportement peut mener l'essaim entier à être emprisonné dans un optimum local duquel il est impossible de s'échapper. Puisque le meilleur individu global attire tous les membres de l'essaim, il est possible de mener l'essaim loin d'un endroit courant grâce à la mutation d'une particule simple si la particule mutée devient le nouveau leader. Ce mécanisme permet à la fois de s'échapper des optima locaux et d'accélérer la recherche [ Stacey et al, 2003].

    De cette façon, l'utilisation d'un opérateur de mutation est très importante afin de s'échapper des optima locaux et d'améliorer les capacités d'exploration de PSO. En fait, différents opérateurs de mutation ont été proposés qui permettent la mutation des composants de la position ou de la vitesse d'une particule.

    Le choix d'un bon opérateur de mutation est une tâche difficile qui a un impact significatif sur l'exécution. D'autre part, une fois un opérateur spécifique de mutation est choisi, une autre tâche difficile est de savoir le nombre de mutation à appliquer : avec quelle probabilité, dans quelle étape du processus, dans quel élément spécifique d'une particule, etc.

    Plusieurs approches proposées ont employé des opérateurs de mutation, néanmoins, d'autres approches qui n'utilisent pas d'opérateurs de mutation ont donné de bonnes performances.

    4.4.4 Classification des différentes approches

    On peut classifier les MOPSOs de la manière suivante :

    - Approches agrégées.

    - Ordre lexicographique.

    - Approches de sous-population. - Approches basées sur Pareto. - Approches combinées.

    Ces différents modèles seront présentés dans les paragraphes suivants.

    4.4.4.1. Approches agrégées

    Sous cette catégorie nous considérons les approches qui combinent tous les objectifs du problème en un seul objectif. En d'autres termes, le problème à multiples objectifs est transformé en un seul-objectif.

    a. L'algorithme de Parsopoulos et Vrahatis : Cet algorithme adopte trois types de fonctions d'agrégation : les fonctions d'agrégation linéaire conventionnelle, les fonctions d'agrégation dynamique et l'approche moyenne pondérée [Parsopolous et Vrahatis, 2002].

    b. L'approche de Baumgartner, Magele et Renhart : Basé sur la topologie entièrement reliée, cette approche utilise les fonctions d'agrégation linéaire. Dans ce cas l'essaim est divisé en n sous-essaims, chaque sous-essaim utilise un ensemble de poids et se déplace en direction de leader. L'approche adopte une technique de gradient pour identifier les solutions Pareto optimales [Baumgarter et al, 2004].

    4.4.4.2. Ordre lexicographique

    Dans cette méthode, l'utilisateur est invité à ranger les objectifs par ordre d'importance. La solution optimale est alors obtenue par minimisation des fonctions objectifs séparément, commençant par la plus importante et procédant selon l'ordre d'importance assigné aux objectifs [ Miettinen, 1999]. L'ordre lexicographique tend à être utile seulement quand peu d'objectifs sont employés (deux ou trois), et il peut être sensible à l'ordre choisi des objectifs [Coello, 1999].

    a. L'approche de Hu et Eberhart : Dans cet algorithme, chaque objectif est optimisé séparément en utilisant un schéma similaire à l'ordre lexicographique. Cette approche n'utilise pas d'archive externe [Hu et Eberhat, 2002].

    b. Interactif Multi-essaims PSO : Cette approche prend en considération l'ordre d'importance déterminé par le décideur durant le processus d'optimisation. L'approche utilise la structure multi-essaims, la population est composée de l'essaim principal et de plusieurs essaims assistants, chaque objectif est optimisé par un essaim assistant correspondant et tous les objectifs sont optimisés simultanément dans l'essaim principal. Une nouvelle équation de la mise à jour de vitesse est introduite afin de partager l'information entre les essaims assistants et l'essaim principal [Wang et Yang, 2008].

    4.4.4.3. Approches de sous-population

    Ces approches concernent l'utilisation de plusieurs sous-populations en tant que problème à un seul-objectif. Les sous-populations effectuent ensuite un échange d'information ou une recombinaison visant à produire la diversité entre les différentes solutions précédemment produites pour les objectifs qui ont été séparément optimisés.

    a. Approche VEPSO (Parallel Vector Evaluated Particle Swarm Optimization) : Cette approche [Parsopoulos et al., 2004] est une multi-essaim variante de PSO, qui est inspirée de l'algorithme " Evaluated Genetic Algorithm" (VEGA) [Schaffer, 1985]. En VEPSO, chaque essaim est évalué en prenant seulement un seul objectif en considération, et l'information qu'il possède est échangée avec d'autres essaim à travers l'échange de sa meilleure expérience (gbest).

    4.4.4.4. Approches basées sur Pareto

    Ces approches utilisent des techniques, de choix de leader, basées sur la dominance de Pareto. L'idée fondamentale de toutes ces approches est de choisir comme leaders les particules non-dominées de l'essaim. Cependant, plusieurs variations de la sélection de leader sont possibles puisque la plupart des auteurs adoptent des informations supplémentaires pour choisir les leaders (par exemple, l'information fournie par un estimateur de densité) afin d'éviter un choix aléatoire d'un leader de l'ensemble courant de solutions non-dominées.

    a. L'Algorithme de Ray et Liew : Cet algorithme utilise la dominance de Pareto et combine le concept de techniques évolutionnaires avec les essaims particulaires. Cette approche utilise l'estimateur de densité de voisin le plus proche pour maintenir la diversité. L'ensemble de leaders maintenus est sauvegarder dans une archive externe [Ray et Liew, 2002].

    b. L'optimisation multiobjective par essaims particulaires (Multiple Objective Particle Swarm Optimization) : Cette approche est basée sur l'idée d'avoir une archive externe dans laquelle chaque particule déposera son expérience après chaque itération. Le système basé sur la position géographique des particules est appliqué lors de la mise à jour d'archive. L'espace de recherche est divisé en des hypercubes. Cette approche emploie également un opérateur de mutation [Coello et al, 2004].

    c. Approche AMOPSO (Another Multi-objective Particle Swarm Optimization ) : Cette approche utilise : (1) le rang de Pareto, (2) une technique de classification qui permet une subdivision de l'espace de recherche en plusieurs sous-essaims , afin de fournir une meilleure distribution des solutions dans l'espace de recherche. Dans chaque sous-essaim, un algorithme de PSO est exécuté et, au même temps, les différents sous-essaims échangent l'information [Pulido et Coello, 2004].

    4.4.4.5. Approches combinées

    Il y a des approches qui combinent quelques catégories décrites précédemment comme l'algorithme adaptive weighted PSO[Mahfouf et al, 2004] et l'algorithme d'optimisation intelligente par essaims particulaire (IPSO)[ Xiao-hua et al, 2005]. Aussi des approches qui ne peuvent pas rentrer dans les catégories principales, telle que l'approche maximinPSO [Li, 2004]

    4.5 Synthèse

    Plusieurs algorithmes d'optimisation multiobjectif par essaims particulaires ont été proposés, les inconvénients majeurs de ces differents algorithmes sont :(1) le nombre élevé de paramètres de réglages, (2) l'utilisation des archives. Cependant, l'utilisation des archives introduit des complexités temporelles et spatiales additionnelles, ce qui dégrade les performances de ces algorithmes.

    Pour pallier ce problème, la section suivante, présente les principes de base du modèle proposé basé sur la notion de dominance de Pareto et une méthode de classification floue. Cette approche surmonte les problèmes que présentent les méthodes d'optimisation multiobjectif par essaims particulaires, en effet, elle n'utilise aucune archive externe et ainsi les complexités temporelles et spatiales sont réduites.

    4.6 Optimisation multiobjectif par essaims particulaires basée sur la Classification Floue

    FC-MOPSO (Fuzzy Clustering Multi-objective Particle Swarm Optimizer) est un nouveau modèle d'optimisation multiobjectif par essaims particulaires basé sur Pareto dominance et classification floue [Benameur et al, 2009c]. La nouveauté principale de cette méthode est l'utilisation de la classification floue afin d'identifier les différentes classes de l'essaim. Ainsi, chaque classe de particules (ou essaim) a son propre ensemble de leaders et évolue utilisant l'algorithme PSO et le concept de dominance de Pareto, le concept de migration est intégré afin de maintenir la diversité des sous-essaims et d'améliorer en conséquence la qualité des solutions trouvées.

    Le principe du modèle FC-MOPSO est basé sur une stratégie à trois-couches (figure 4.8). La première couche intègre un algorithme d'optimisation multiobjectif par essaims Particulaires (PSOMO) qui n'utilise pas d'archives externes pour maintenir les solutions non-dominées trouvées le long de tout le processus de recherche. La sortie de ce niveau constitue l'entrée de la deuxième couche (FC), cette couche est basée sur un algorithme de classification floue non supervisé, qui permet de partitionner la population en un ensemble de (C) classes, chaque classe identifiée correspond à un sous essaim. Cette couche permet de calculer automatiquement le nombre de classes (C), le cardinal (Ni), le centre (Vi) et le rayon (ri) de chaque classe. La dernière couche implémente le principe de la séparation spatiale pour créer les différentes sous essaims à partir des caractéristiques fournies par la couche FC. Les sous-essaims ainsi engendrés vont co-évoluer en utilisant l'algorithme de base PSOMO.

    Dans le paragraphe suivant, la première couche du modèle est présentée, les autres couches sont détaillées dans le chapitre 3, le fonctionnement du modèle est ensuite décrit plus en détail. Un ensemble de fonctions tests permet enfin de valider le modèle et de comparer les résultats obtenus avec d'autres méthodes d'optimisation multiobjectif par essaim particulaire.

    FIG. 4.8 Structure en couches du modèle FC-MOPSO

    4.6.1 Implémentation de la couche PSOMO

    Le PSOMO est un algorithme d'optimisation multiobjectif par essaims particulaires qu'on peut décrire comme suit : Une fois l'essaim est initialisé, un ensemble

    de leaders est également initialisé avec les particules non-dominées de l'essaim. A` chaque génération, pour chaque particule, un leader est aléatoirement choisi parmi l'ensemble de leaders et le vol est exécuté. Ensuite, la fitness de particule est évaluée et la valeur de pbest correspondante est mise à jour. Une nouvelle particule rem-place sa pbest particule quand cette pbest est dominée ou si toutes les deux sont incomparables. Après la mise à jour de toutes les particules, l'ensemble de leaders est mis à jour aussi. Le principe de PSOMO est décrit par le pseudo code (7).

    algorithme 7 Pseudo code de l'algorithme PSOMO utilisé

    Initialiser l'essaim

    Initialiser l'ensemble de leaders (en utilisant la dominance au sens de Pareto)

    t 4-- 0

    tant que (t < tmax)

    Pour chaque particule

    Sélectionner un leader

    Calculer la vitesse

    Mettre à jour la position

    Mettre à jour pbest

    Mettre à jour l'ensemble de leaders

    Fin pour
    t 4-- t + 1
    Fin tant que

    4.6.2 Fonctionnement du modèle

    Le modèle FC-MOPSO [Benameur et al, 2009d] est initialisé avec un essaim aléatoire de particules S(t = 0) définies par leurs positions et leur vitesses. Cet essaim évolue utilisant l'algorithme PSOMO, l'algorithme de classification floue non supervisée permet de partitionner l'essaim en C classes, et détermine pour chaque classe ses caractéristiques principales. De nouveaux sous-essaims, ainsi que leur sousespace de recherche, sont ensuite générés en utilisant le centre et le rayon de chaque classe. Cette stratégie de réinitialisation permet d'introduire une nouvelle diversité au sein des sous-essaims.

    Utilisant le principe de séparation spatiale, une coopération locale est ensuite engendrée au niveau de chaque sous-essaim. Après avoir généré les sous-essaims et les sous espaces de recherche correspondants, un processus de migration est appliqué en vue d'échanger des informations entre les sous-essaims voisins. Les sous essaims vont donc co-évoluer séparément, et à la fin de cette évolution une nouvelle population est formée à partir des différentes sous essaims. Le processus est itéré jusqu'à ce que l'entropie (h) utilisée comme critère de validation, atteigne un minimum prédéfini (h < 10-3). L'essaim S(t) est initialisé une seule fois dans tout le processus à la première itération (t = 0). Pendant les cycles intermédiaires S(t + 1) = Uc i=1 Si(t) oil C est le nombre de classes identifiées.

    Le principe du modèle proposé est donné par le pseudo code (8).

    algorithme 8 Pseudo code de l'algorithme FC-MOPSO

    t - 0

    Initialiser l'essaim (S(t))

    S(t) - PSOMO(S(t))

    Répéter

    FC(S(t))

    Pour i = 1 to C /*C nombre de classes identifiées

    Créer les sous-essaims Si(t)

    Appliquer le processus de migration

    Si(t) - PSOMO(Si(t))

    Fin pour

    S(t + 1) - UC i=1 Si(t)

    t - t + 1

    Tant que (h < hmin)

    4.7 Etude expérimentale

    Plusieurs fonctions tests ont été utilisées pour valider les performances du modèle proposé. Ces fonctions ont plusieurs caractéristiques qui les rendent idéales pour tester la capacité de l'approche proposée à identifier la frontière optimale de Pareto. Il faut noter que ce sont les fonctions de benchmark les plus utilisées dans la littérature.

    Pour pouvoir comparer les performances du modèle proposé avec d'autres modèles, deux critères sont utilisés. Ces critères incluent :

    La distance générationnelle (Generational Distance GD) : Cette métrique a été proposée par Deb et Jain [Deb et Jain, 2002] pour mesurer la distance entre les éléments de l'ensemble des solutions non-dominées trouvées et les éléments de l'ensemble Pareto optimal.

    IPn i=1 d2 i

    GD = m

    (4.12)

    oil m est le nombre des éléments de l'ensemble des solutions non-dominées trouvées et di est la distance euclidienne (mesurée dans l'espace des objectifs) entre chacune de ces solutions et le plus proche élément de l'ensemble Pareto optimal.

    L'espacement (Spacing :SP) : On désire par SP mesurer la distribution des solutions trouvées. Puisque le début et la fin de front de Pareto sont connus, une métrique convenable peut montrer si les solutions sont bien réparties sur le front de Pareto trouvé. Schott [Schott, 1995] a proposé une telle métrique

    qui mesure la variance de distance entre les solutions voisines de l'ensemble des solutions non-dominées trouvée. Cette métrique est définie par :

    SP =

    tu u v

    1

    Xn
    i
    =1

    ( d - di)2 (4.13)

    n - 1

    di est défini comme suit :

    di = min

    j

    XM
    m
    =1

    |fi m(x) - fj m(x)|, i,j = 1,...,n,

    oil d est la moyenne de tous les di, M est le nombre d'objectifs et n est le nombre de solutions non-dominées trouvées. La valeur zéro de cette métrique indique que tous les membres du front de Pareto trouvé sont tous espacés de la même distance.

    4.7.1 Problèmes tests

    Pour valider un algorithme, nous avons besoin d'un ensemble de fonctions tests. Cet ensemble doit être soigneusement choisi de façon à mettre à l'épreuve l'efficacité des méthodes étudiées dans diverses situations difficiles. En effet, un "bon" test doit être tel que :

    1. il représente un danger particulier pour la convergence ou pour la diversité;

    2. la forme et la position de la surface de Pareto soient connues et les valeurs des variables de décisions correspondantes soient faciles à trouver.

    Dans la suite, nous utilisons le générateur de tests de Deb [Deb, 1999]. L'idée consiste à construire des tests à M objectifs, pour M = 2. Nous commençons par partitionner le vecteur des variables de décision en M groupes.

    x = (x1, x2,··· , xM)

    Ensuite, à partir de M -1 fonctions f1,··· , fM-1, d'une fonction g positive et d'une fonction h à M variables, on construit la fonction fM par :

    fM(x) = g(xM)h(f1(x1),··· , fM-1(xM-1), g(xM))

    avec xm ? Rm pour in = 1, · · · , M - 1. Enfin, le problème d'optimisation est défini par:

    minimiser fm(xm)m=1,··· ,M-1, fM(x)

    La surface optimale correspond ici aux solutions sur lesquelles la fonction g atteint son minimum e elle est donc décrite comme :

    fM = g*h(f1, · · · , fM-1, g*)
    Dans les paragraphes qui suivent nous présentons quatre fonction tests bi-objectif

    ZDT1, ZDT2, ZDT3, ZDT6 et une à quatre objectif DTLZ7 que nous utilisons pour valider l'approche proposée. Notre choix s'est fixé sur ces fonctions tests car elles ont servi comme une base commune pour la comparaison des algorithmes evolutionnaires multi-Objectifs existants et pour l'évaluation des nouvelles techniques.

    Fonction ZDT1

    La fonction ZDT1 est la plus simple de cette ensemble, le front de Pareto correspondant étant continu, convexe et avec la distribution uniforme des solutions le long du front.

    ZDT1 :

    ? ??

    ??

    f1(x) = x1

    g(x2) = 1 + 9_1 E7

    n =2 xi (4.14)

    h(f1, g) = 1 - V 91

    oil xi ? [0, 1] pour tout i = 1, · · · , n et n = 30. Fonction ZDT2

    La difficulté de cette fonction se présente dans la non-convexité du front de Pareto.

    ZDT2 :

    ? ?

    ?

    f1(x) = x1

    Pn

    g(x2) = 1 + 9 i=2 xi

    n_1

    h(f1, g) = 1 - (f g )2

    (4.15)

    oil xi ? [0, 1] pour tout i = 1, · · · , n et n = 30.

    Fonction ZDT3

    La difficulté de cette fonction réside dans la discontinuité du front de Pareto.

    ZDT3 :

    ? ??

    ??

    f1(x) = x1

    g(x2) = 1 + 9_1E7

    n =2 xi (4.16)

    h(f1, g) = 1 - 91 - (f g )sin(10ðf1)

    oil xi ? [0, 1] pour tout i = 1, · · · , n et n = 30. Fonction ZDT6

    La particularité de ce problème est que les solutions optimales ne sont pas uniformément distribuées le long du front de Pareto. Cet effet est due à la non-linéarité de la fonction f1.

    ZDT6 :

    ? ?

    ?

    f1(x) = 1 - exp(-4x1) sin6(4ðx1) g(x2) = 1 + 9(E7=2 nx21)1/4

    h(f1, g) = 1 - (f g)2

    (4.17)

    oil xi ? [0, 1], pour tout i = 1, · · · , n et n = 10.

    Fonction DTLZ7

    Dans cette étude, nous utilisons une fonction DTLZ7 à 4 objectifs, le front de Pareto de cette fonction est discontinu et formé de 8 régions séparées dans l'espace de recherche,

    DTLZ7 :

    ? ?????

    ?????

    f1(x1) = x1
    f2(x2) = x2

    f3(x3) = x3 Pn

    g(x4) = 1 + 9 i=4 xi

    h(f1, f2, f3, g) = 4 - I23

    |x4|

    i=1[fi 1+g(1 + sin(3ðfi))]

    (4.18)

    oil xi ? [0, 1] pour tout i = 1,··· , m et m = 23.

    4.7.2 Résultats numériques

    Les paramètres u et u, utilisés dans l'équation de la mise à jour du vecteur vitesse (équation 1.1), sont initialisés à 1.5 et 2.5 respectivement pour toutes les fonctions tests, la valeur de facteur d'inertie r(t) se réduit pendant le processus [Venter et Sobieski, 2004] selon l'équation (4.19)

    r(t + 1) = r(t)cô (4.19)

    cô est une constante entre 0 et 1, la valeur de cô utilisée est 0.975, r est intialisé à 1.4 et la taille de l'essaim est 200.

    La figure (4.9) représente les fronts de Pareto des quatre fonctions tests ZDT1, ZDT2, ZDT3 et ZDT6 trouvés en utilisant l'algorithme FC-MOPSO. Il est clair que l'algorithme proposé peut produire presque un front de Pareto uniforme et complet pour chaque fonction.

    4.7.3 Comparaisons avec d'autres techniques

    Dans cette section, la comparaison entre les résultats obtenus par le modèle proposé FC-MOPSO et les techniques : interactive multi-swarm PSO [Wang et Yang, 2008], MOPSO [Coello et al, 2004] et MOPSO-CD [Raquel et Naval, 2005].

    Le tabeau (4.1) représente la valeur moyenne et l'écart type des valeurs de GD concernant le modèle FC-MOPSO et les techniques : interactive multi-swarm PSO, MOPSO et MOPSO-CD.

    D'après le tableau (4.1), La valeur de GD indique que l'algorithme proposé a obtenue la meilleure convergence pour toutes les fonctions par rapport aux algorithmes multi-swarm, MOPSO et MOPSO-CD. Ceci est confirmé par le paramètre GD, qui est égal à 3.6E -05 (fonction ZDT1) pour l'algorithme FC-MOPSO et égal à 8.4E - 05, 2.5E - 02 et 1.0E - 02 pour l'interactive multiswarm PSO, MOPSO et MOPSO-CD respectivement. La même analyse peut être faite pour les fonctions ZDT2, ZDT3 et ZDT6.

    (a) ZDT1 (b) ZDT2

    (c) ZDT3 (d) ZDT6

    FIG. 4.9 - Le front de Pareto final généré par l'algorithme FC-MOPSO.

    TAB. 4.1 - La moyenne et l'ecart type de la valeur de GD

    Algorithme

    ZDT1

    ZDT2

    ZDT3

    ZDT6

    DTLZ7

     

    Moyenne

     
     
     
     

    FC-MOPSO

    3.6E-05

    9.3E-08

    4.5E-06

    5.7E-08

    8.7E-03

    Interactive multiswarm PSO

    8.4E-05

    1.1E-07

    8.2E-06

    1.1E-07

    1.2E-02

    MOPSO

    2.5E-02

    4.0E-03

    7.3E-03

    6.9E-03

    1.8E-02

    MOPSO-CD

    1.0E-02

    1.1E-02

    1.3E-02

    2.8E-02

    1.9E-02

     

    Ecart type

     
     
     
     

    FC-MOPSO

    1.88E-04

    3.5E-07

    8.4E-06

    2.9E-07

    1.2E-04

    Interactive multiswarm PSO

    2.6E-04

    4.6E-07

    2.2E-05

    4.2E-07

    3.2E-04

    MOPSO

    2.3E-03

    6.0E-07

    4.8E-04

    1.0E-02

    8.4E-02

    MOPSO-CD

    3.4E-03

    4.9E-05

    1.5E-04

    1.5E-03

    8.5E-04

    Puisque le front de Pareto de DTLZ7 est l'intersection de la droite avec l'hyperplan, la convergence est difficile. Cependant, FC-PSOMO arrive à améliorer la valeur de GD par rapport aux autres algorithmes.

    Le tableau (4.2) représente la moyenne et l'écart type des valeurs de SP pour les quatre MOPSO algorithmes appliqués aux cinq fonctions tests. La valeur de SP montre que les solutions générées par l'algorithme proposé sont mieux distribuée que celles obtenues par les autres trois algorithmes pour toutes les fonctions tests.

    TAB. 4.2 - La moyenne et l'écart type de la valeur de SP

    Algorithme

    ZDT1

    ZDT2

    ZDT3

    ZDT6

    DTLZ7

     

    Moyenne

     
     
     
     

    FC-MOPSO

    3.4E-04

    8.7E-05

    6.3E-04

    1.19E-04

    1.1E-02

    Interactive multiswarm PSO

    3.2E-03

    3.8E-04

    4.2E-03

    8.8E-04

    1.3E-02

    MOPSO

    1.1E-02

    1.0E-02

    2.3E-02

    2.4E-03

    8.4E-02

    MOPSO-CD

    1.6E-02

    1.0E-02

    1.6E-02

    2.8E-03

    4.8E-02

     

    Ecart type

     
     
     
     

    FC-MOPSO

    6.5E-03

    2.56E-04

    2.3E-03

    7.3E-04

    1.4E-04

    Interactive multiswarm PSO

    7.3E-03

    3.4E-04

    1.4E-03

    5.7E-04

    1.9E-02

    MOPSO

    6.8E-03

    8.4E-03

    4.8E-04

    9.5E-04

    2.8E-02

    MOPSO-CD

    3.3E-03

    3.4E-03

    4.3E-03

    5.7E-04

    6.3E-02

    Puisque le front de Pareto de ZDT3 n'est pas uniformément distribué, cette fonction peut être utilisée pour étudier la capacité de l'algorithme à maintenir une bonne distribution de solution. D'après les résultats obtenus pour la fonction ZDT3, on peut conclure que la distribution des solutions est améliorée par l'utilisation de FCMOPSO. En fait, la vaeur de SP est égal à 6.3E -04 pour le modèle FC-MOPSO et égal à 4.2E-03, 2.3E-02 et 1.6E-02 pour interactive multi-swarm PSO, MOPSO et MOPSO-CD respectivement. La même analyse peut être faite pour les fonctions ZDT1, ZDT2, ZDT6 et DTLZ7.

    Les résultats de simulation montre que l'algorithme proposé accompli les meilleurs performances par rapport aux autres méthodes en terme de la qualité des solutions trouvées, prouvée par les valeurs de GD et de SP.

    4.8 Conclusion

    Dans ce chapitre, une nouvelle approche d'optimisation multiobjectif par essaims particulaires basé sur classification floue est présentée. Cette approche incorpore la dominance de Pareto, la classification floue, la séparation spatiale et la procédure de migration.

    L'avantage principal de cette approche est qu'elle permet de former des sousessaims sans information à priori sur la distribution de données en employant la technique de classification floue, un mécanisme de séparation spatiale est implémenté afin d'introduire une géographie locale dans l'espace de recherche permettant à chaque sous essaim une recherche locale dans son propre sous espace, une procédure de migration est également implémenté pour maintenir une diversité au sein des sous essaims, permettant ainsi l'amélioration de la qualité des solutions.

    L'implémentation de cette technique, pour la résolution de différentes fonctions multiobjectives, montre que le modèle FC-MOPSO fournit de meilleures performances, comparativement aux autres modèles tels que : interactive multi-swarm PSO, MOPSO et MOPSO-CD, en terme de la qualité des solutions trouvées. Ceci est due d'une part à l'utilisation de classification floue qui permet de partitionner l'essaim en un ensemble de sous-essaims, chaque sous-essaim est traitée par un PSOMO, et d'autre part à l'application de procédure de migration qui permet de promouvoir une certaine diversité au sein des sous-essaims.

    Cette approche surmonte les problèmes que présentent les méthodes d'optimisation multiobjectif par essaims particulaires, en effet, elle n'utilise aucune archive externe et ainsi les complexités temporelles et spatiales sont réduites.

    En conclusion, généralement, pour des problèmes réels, dans lesquels on ne dispose d'aucune information sur l'espace de recherche, l'approche proposée peut être efficacement appliquée. En fait, elle exige moins de connaissances sur le problèmes à résoudre par rapport aux autres techniques multiobjectives.

    Conclusion générale

    L'essor de l'informatique et des techniques d'intelligence artificielle a conduit ces dernières années à un développement sans précédent des procédés d'optimisation automatique qui peuvent aujourd'hui prendre en compte de plusieurs paramètres. En particulier, les méthodes évolutionnistes ont connu depuis le début des années soixante une croissance exponentielle en s'affirmant peu à peu comme des techniques performantes comparativement aux techniques traditionnelles. Cette performance est due à leur aptitude à apprendre, évoluer et effectuer des traitements en un temps de calcul réduit, et à leur capacité à gérer avec efficacité des incertitudes et des imprécisions dans un environnement donné.

    Sur la base de ce nouveau thème de recherche, cette thèse a consisté, en une investigation de l'algorithme d'optimisation par essaims particulaires, d'une part, en optimisation globale, de problèmes difficilement solubles exactement. D'autre part, elle a porté sur l'étude de l'optimisation multimodale et multiobjectif.

    Dans un premier temps, une étude exhaustive des différentes techniques de calculs 'intelligent', notamment les techniques de calcul évolutif qui s'inscrivent dans le cadre de l'optimisation, a été effectuée. Cela nous a permis de maîtriser le fonctionnement de ces techniques et de les implémenter pour résoudre des problèmes réels.

    L'application de PSO, pour l'optimisation globale, n'était pas une tâche évidente. En effet, elle a nécessité une phase préliminaire d'adaptation de la méthode utilisée au problème étudiée, notamment, pour le problème d'affectation de fréquence dans les réseaux cellulaires qui a nécessité une adaptation de l'algorithme à l'optimisation discrète. De plus, un bon réglage des paramètres est toujours indispensable pour l'obtention de bonnes solutions.

    Les performances de PSO ont été aussi validées sur un problème continu, qui consistait à optimiser la commande d'une machine synchrone à aimant permanent. Les résultats obtenus montrent que la maitrise de ces différents modèles et un bon réglage des paramètres permettent de fournir de très bonnes performances.

    Cependant, dans leur version de base, les techniques d'optimisation sont incapables de gérer efficacement des domaines caractérisés par plusieurs optima (ce qui est le cas généralement dans la plupart des applications réelles), puisque à l'origine

    elles ont été conçues pour l'optimisation globale. Par ailleurs, il est souvent indispensable d'identifier toutes les solutions possibles, aussi bien globales que locales. En effet, l'utilisateur a généralement besoin de l'ensemble de solutions possibles afin de choisir la meilleure solution qui fournit un bon rapport qualité/prix.

    De ce fait, plusieurs techniques d'optimisation multimodale, basées sur l'analogie avec les niches écologiques, ont été proposées dans la littérature pour ce type de problèmes. Toutefois, de nombreuses limitations apparaissent dans l'utilisation de ces modèles. Elles sont liées principalement aux paramètres spécifiés par l'utilisateur, i.e., rayon de niche, disposition des niches dans l'espace, etc. Ces difficultés peuvent souvent induire des résultats erronés.

    Dans ce contexte, le présent travail a porté sur la conception de nouvelle technique, basée sur l'algorithme d'optimisation par essaims particulaires et une procédure de classification floue MPSO, a été proposé. Cette approche permet l'exploration parallèle de plusieurs régions de l'espace de recherche en partitionnant la population en plusieurs sous-populations d'essaims, chaque sous-essaim étant traité indépendamment par un algorithme PSO.

    Pour localiser les différentes solutions, une procédure de classification floue non supervisée a été intégrée. Cette procédure permet, en effet, de regrouper les solutions en différentes classes. Le représentant de chaque classe identifiée étant l'optimum requis. L'intérêt de cette stratégie réside dans le fait qu'elle n'a besoin d'aucune information a priori sur le problème à résoudre, notamment le nombre d'optima recherché, la séparabilité des classes, etc.

    Une stratégie de migration, qui permet d'avoir un échange entre les sous-essaims dans la structure multi-essaims, est appliquée afin de promouvoir un certain degré de diversité au sein des essaims et d'améliorer la qualité des solutions trouvées.

    Les résultats d'optimisation relatifs aux différentes fonctions tests, et les comparaisons avec d'autres modèles montrent l'efficacité du modèle proposé, plus spécifiquement, en termes de la qualité des solutions identifiées et du nombre d'évaluations de la fonction fitness requis pour la convergence. Cela peut être expliqué par le fait que ce modèle fournit un bon équilibre entre exploitation/exploration des différentes régions prometteuses de l'espace de recherche.

    La dernière partie du présent travail a consisté en conception d'un nouveau modèle d'optimisation multiobjectif par essaims particulaires FC-MOPSO, basée sur PSO, la dominance de Pareto et la classification floue. La nouveauté principale de ce modèle consiste en utilisation d'un mécanisme qui permet de fournir une meilleure distribution des solutions sur l'ensemble Pareto-optimal.

    Grace à l'utilisation de la technique FC, cette approche permet de promouvoir et maintenir la formation de sous-populations d'essaims. Chaque sous-essaim a son

    propre ensemble de leaders (les particules non-dominées) et évolue en utilisant l'algorithme PSO et le concept de la dominance de Pareto. Le concept de migration est également implémenté pour maintenir la diversité des sous-essaims, et améliorer la qualité des solutions trouvées.

    Les résultats de simulation obtenus ont prouvé les performances du modèle proposé. Cependant, la plupart des techniques d'optimisation multiobjectif basées sur PSO, reportées dans la littérature, ont été limitées au choix de paramètres de réglage, et l'utilisation d'archives externes, ce qui introduit des complexités temporelles et spatiales additionnelles.

    Références Bibliographiques

    1. Aardal K. I., Hipolito A., Van Hoesel S., Jansen B., (1995). A Branch-and-Cut Algorithm for the Frequency Assignment Problem, Technical Report Annex T-2.2.1 A, CALMA project, T.U. Eindhoven and T.U. Delft.

    2. Akcayol M. A., Cetin A., Elmas C., (2002). An Educational Tool for Fuzzy Logic-Controlled BDCM, IEEE Transactions On Education, Vol. 45, No. 1, pp. 33-42.

    3. Alami J., Benameur L., El Imrani A., (2007). Fuzzy clustering based parallel cultural algorithm. International Journal of Soft Computing Vol.2(4), 562-571.

    4. Alami J., Benameur L., El Imrani A. (2009) A Fuzzy Clustering based Particle Swarms for Multimodal Function Optimization. International Journal of Computational Intelligence Research, ISSN 0974-1259. Vol.5, No.2 (2009), pp. 96-107.

    5. Alami J., El Imrani A., Bouroumi A., (2007). A multipopulation cultural algorithm using fuzzy clustering. In journal of Applied Soft Computing Vol.7 (2), 506-519.

    6. Alami J., El Imrani A., (2006). A Hybrid Ants Colony Optimization for Fixed-Spectrum Frequency Assignment Problem, Colloque International sur l'Informatique et ses Applications IA 2006, 231-235, Oujda, Maroc.

    7. Alami J., El Imrani A., (2007). Using Cultural Algorithm for the Fixed-Spectrum Frequency Assignment Problem. in the Journal of Mobile Communications.

    8. Allenson R., (1992). Cenetic Algorithm with Gender for Multi-Function Optimisation, TR. EPCC-SS92-01, Edinburgh Parallel Computing Center, Edinburgh, Scotland.

    9. Alvarez-Benitez J. E., Everson R.M., Fieldsend J. E. (2005). A MOPSO algorithm based exclusively on pareto dominance concepts. In Third International

    Conference on Evolutionary Multi-Criterion Optimization, EMO2005, pp 459- 473, Guanajuato, México, LNCS3410, Springer-Verlag.

    10. Amat J.L., Yahyaoui G.,(1996). Techniques avancées pour le traitement de l'information. Cépadués Editions.

    11. Arias M. A. V, Pulido G. T. , C. A. C. Coello (2005). A proposal to use stripes to maintain diversity in a multi-objective particle swarm optimizer. In Proceedings of the 2005 IEEE Swarm Intelligence Symposium, pp 22-29, Pasadena,California, USA, June.

    12. Bäck T., Hammel U., Schweffel F-P., (1997). Evolutionary Computation : Comments on the history and current state. IEEE transactions on Evolutionary Computation, 1(1), 3-17.

    13. Bartz T.B., Limbourg P., Parsopoulos K. E., Vrahatis M. N., Mehnen J., Schmitt K., (2003). Particle swarm optimizers for pareto optimization with enhanced archiving techniques. In Congress on Evolutionary Computation (CEC'2003), volume 3, pages 1780-1787, Canberra,Australia,December.

    14. Baumgartner U., Magele Ch., Renhart W., (2004). Pareto optimality and particle swarm optimization. IEEE Transactions on Magnetics, 40(2) :1172-1175, March.

    15. Beasley D., Bull D.R., Martin R.R., (1993 ). A sequential niche technique for multimodal function optimization. Evolutionary Computation 1(2), 101-125.

    16. Beckers R., Deneubourg. J.L. Goss. S., (1992). Trails and U-turns in the selection of the shortest path by the ant Lasius Niger. Journal of Theoretical Biology, vol. 159, pp. 397-415.

    17. Benameur L., Alami J., Loukdache A., El Imrani A., (2007). Particle Swarm Based PI Controller for Permanent Magnet Synchronous Machine. Journal of Engineering and Applied Sciences 2 (9) : 1387-1393.

    18. Benameur L., Alami J., El Imrani A. (2009a). Frequency Assignment Problem Using Discrete Particle Swarm model. International Conference on Multimedia Computing and Systems ICMCS/IEEE 09. Avril 02-04 Ouarzazate.

    19. Benameur L., Alami J., El Imrani A. (2009b). A New Discrete Particle Swarm model for the Frequency Assignment Problem. In proced. of IEEE/AICCSA 2009, pp. 139-144. Rabat, Morocco, May 10-13.

    20. Benameur L., Alami J., El Imrani A., (2009c). A New Hybrid Particle Swarm Optimization Algorithm for Handling Multiobjective Problem Using Fuzzy

    Clustering Technique. In proced. of the International Conference on Computational Intelligence, Modelling and Simulation, Brno,czech republic : 48-53.

    21. Benameur L., Alami J., El Imrani A., (2009d). Using fuzzy clustering Techniques to improve the performance of a multiobjective particle swarm optimizer.International Journal of Computational Science 3(4) : 436-455. .

    22. Benameur L., Alami J., El Imrani A., (2010). A hybrid discrete particle swarm algorithm for solving the fixed-spectrum frequency assignment problem. International Journal of Computational Science and Engineering. 5(1) :68-73.

    23. Bezdek J. C., (1981). Pattern recognition with fuzzy objective function algorithms. (Plenum Press, New York).

    24. Bezdek J. C., (1992). On the relationship between neural networks, pattern recognition and intelligence. International journal of approximate reasoning, (6), 85-107.

    25. Bezdek K., (1994). On affine subspaces that illuminate a convex set, Contributions to Alg. and Geom. 35/1, 131-139.

    26. Bouroumi A., Limouri M., Essaid A., (2000). Unsupervised fuzzy learning and cluster seeking. Intelligent Data Analysis journal 4 (3-4), 241-253.

    27. Brits R., Engelbrecht A., Van den Bergh F., (2002a). Solving systems of unconstrained equations using particle swarm optimization. Proceedings of the IEEE Conf. on Systems, Man, and Cybernetics, Tunisa, Vol.3, no.pp.6.

    28. Brits R., Engelbrecht A., Van den Bergh F., (2002b). A niching particle swarm optimizer. Wang, L., Tan, K.C., Furuhashi, T., Kim, J.H., Yao, X., eds., Proceedings of the 4th Asia-Pacific Conf. on Simulated Evolution and Learning, Vol. 2, (Singapore) 692-696.

    29. Brits R., Engelbrecht A., van den Bergh F.,(2007). Locating multiple optima using particle swarm optimization, Applied Mathematics and Computation, 189, pp 1859-1883.

    30. Charnes A., Cooper W., (1961). Management Models and Industrial Applications of Linear Programming, vol 1, John Wiley, New-york.

    31. Cheng R-H., Yu C. W., Wu T-K., (2005). A Novel Approach to the Fixed Channel Assignment Problem. Journal of Information Science and Engineering 21, 39-58.

    32. Chow C.k. , Tsui H.t., (2004). Autonomous agent Response learning by a multi-species particle swarm optimization. In Congress on Evolutionary Computation (CEC'2004), volume 1, pp 778-785, Portland, Oregon,USA, June. IEEE Service Center.

    33. Chung. C. J., (1997). Knowledge Based Approaches to Self Adaptation in Cultural Algorithms. PhD thesis, Wayne State University, Detroit, Michigan.

    34. Coello C. A.C., (1995). Multiobjective design Optimization of Counterweight Balancing of a Robot Arm using genetic Algorithm, Seventh International Conference on Tools with Artificial Intelligence, p. 20-23.

    35. Coello C. A.C., (1996). An Empirical study of Evolutionary Techniques for Multiobjective Optimization in Engineering Design, Ph.D. Thesis, Department of Computer sciences, Tulane University, New Orleans.

    36. Coello C. A. C., (1999). A comprehensive survey of evolutionary based multiobjective optimization techniques. Knowledge and Information Systems. An International Journal, 1(3) :269-308, August.

    37. Coello C. A.C., Pulido G.T., (2001). Multiobjective Optimization using a Micro-genetic Algorithm, In proceedings of the Genetic and Evolutionary Computation Conference (GECCO'2001), pp. 274-282, San Francisco, California.

    38. Coello C.A.C.,.Veldhuizen D.A.V, Lamont G. B, (2002). Evolutionary Algorithms for Solving Multi-Objective Problems. Kluwer Academic Publishers, NewYork,May.

    39. Coello C. A. C., Lechuga M. S, (2002). MOPSO : A proposal for multiple objective particle swarm optimization. InCongressonEvolutionary Computation (CEC'2002), volume 2, pp. 1051-1056, Piscataway, New Jersey, May.

    40. Coello, C. A., Pulido, G. T., Lechuga, M. S, (2004). Handling Multiple Objectives with Particle Swarm Optimization, IEEE Transactions on Evolutionary Computation 8(3), pp. 256-279.

    41. Colette Y., Siarry P., (2002). Optimisation multiobjectif, Edition Eyrolles.

    42. Corne D.W, (2001). PESA II : Region-based Selection in Evolutionary Multiobjective Optimization, In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO'2001), pp. 283-290, San Francisco, California.

    43. Crompton W., Hurley S., Stephens N. M., (1994). A parallel genetic algorithm for frequency assignment problems, in Proceedings of the IMACS, IEEE Conference on Signal Processing, Robotics and Neural Networks, Lille, France, pp. 81 -84.

    44. Deb K., Goldberg D. E. (1989). An investigation of niche and species formation in genetic function optimization. In J. David Schaffer, editor, Proceedings of the Third International Conference on Genetic Algorithms, pp. 42-50, San Mateo, California, June. George Mason University, Morgan Kaufmann Publishers.

    45. Deb K.,(1999). Multi-objective genetic algorithms : Problem difficulties and construction of test problems. Evolutionary Computation Journal, 7(3), pp. 311-338.

    46. Deb, K., (2000). A Fast Elitist Non-Dominated Sorting Genetic Algorithm for Multiobjective Optimization : NSGA II, Parallel problem Solving form Nature-PPSN VI, Springer lecture Notes in computing Science, p. 849-858.

    47. Deb, K., (2001). Multiobjective Optimization Using Evolutionary Algorithms, John Wiley and Sons.

    48. Deb K., Jain S., (2002). Running Performance Metrics for Evolutionary Multi-objective Optimization, Tech. rep, KanGAL Report.

    49. Deb K., Pratap A., Agarwal S., Meyarivan T., (2002). A fast and elitist multiobjective genetic algorithm : NSGA-II. IEEE Transactions on Evolutionary Computation, 6(2), pp. 182-197, April.

    50. De Castro L. N, Von Zuben F., (1999). Artificial Immune Systems: Part I : Basic Theory and Applications. Technical Report TR-DCA 01/99, Department of Computer Engineering and Industrial Automation, School of Electrical and Computer Engineering, State University of Campinas, Brazil.

    51. De Castro L. N, Von Zuben F., (2000). Artificial Immune Systems : Part II : A Survey of Applications. Technical Report DCA-RT 02/00, Department of Computer Engineering and Industrial Automation, School of Electrical and Computer Engineering, State University of Campinas, Brazil.

    52. De Castro L. N., Timmis J., (2002). An artificial Immune Network for multimodal function optimization. The IEEE World Congress on Computational Intelligence.

    53. De Falco I., Della Cioppa A., Tarantino E., (2007). Facing classification problems with Particle Swarm Optimization. Applied Soft Computing 7, pp. 652-

    658.

    54. Deneubourg J. L., Goss S. (1989). Collective patterns and decision-making, Ethology and Evolution, (1), pp. 295-311.

    55. Deneubourg J.L., Pasteels J.M., Verhaeghe J.C. (1983). Probabilistic behaviour in ants : A strategy of errors, Journal of Theoretical Biology, 105, pp. 259-271.

    56. DiPierro F., Khu S., Savi D., (2007). An Investigation on Preference Order Ranking Scheme for Multiobjective Evolutionary Optimization, IEEE Transactions on Evolutionary Computation 11(1), pp. 17-45.

    57. Duque-Anton M., Kunz D., Ruber B., (1993). Channel assignment for cellular radio using simulated annealing. IEEE Trans.Vehicular Technol.42, pp. 14 -21.

    58. Durham W. H., (1994). Co-evolution : Genes, Culture, and Human Diversity. Stanford University Press, Stanford, California.

    59. Eberhart, R. Kennedy, J. (1995). New optimizers using particle swarm theory. In Proceedings of the 6th International Sysmposium on Micro Machine and Human Science, pp. 39-43.

    60. El Imrani A.A., (2000). Conception d'un Algorithme Génétique Coévolutif. Application à l'optimisation des Histoires Thermiques. Thèse de Doctorat d'Etat. Faculté des Sciences, Rabat.

    61. El Imrani A. A., Bouroumi A., Zine El Abidine H., Limouri M., Essaïd A., (1999a). A Fuzzy Clustering-based Niching Approach to Multimodal Function Optimization. Journal Cognitive Systems research, Volume (1) issue (2) 2000, pp. 119-133.

    62. El Imrani A. A., Bouroumi A., Limouri M., Essaïd A., (1999b). A Coevolutionary Genetic Algorithm using Fuzzy Clustering. International Journal of Intelligent Data Analysis, Vol 4(2000), pp. 183-193.

    63. Farina M., Amato P., (2004). A Fuzzy Definition of Optimality for Many-criteria Optimization Problems, IEEE Transactions on Systems, Man and Cybernetics, Part A 34 (3), pp. 315-326.

    64. Fieldsend J. E., Singh S., (2002). A multiobjective algorithm based upon particle swarm optimisation, an efficient data structure and turbulence. In Proceedings of the 2002 U.K. Workshop on Computational Intelligence, pp. 37-44,

    Birmingham, UK, September.

    65. Fogel D. B., (1995). A comparison of evolutionary programming and genetic algorithms on selected constrained optimization problems, Simulation, pp. 397-403, June 1995.

    66. Fogel, L. J., Owens, A. J., Walsh, M. J., (1966). Artificial Intelligence through Simulated Evolution.

    67. Fonseca C.M., Fleming P.J, (1993). Genetic Algorithms for Multiobjective Optimization : formulation, discussion and Generalization, In Proceeding of the Fifth International Conference on Genetic Algorithms. San Mateo, California, pp. 416-423.

    68. Forrest S., Javornik B., Smith R.E., Perelson A.S.,(1993). Using genetic algorithms to explore pattern recognition in the immune system, Evol. Comput. 1 (3) 191-211.

    69. Fourman, (1985). Compaction of symbolic Layout using Genetic Algorithms. In Genetic Algorithms and their Applications : Proceedings of the First International Conference on Genetic Algorithm, pp. 141-153.

    70. Funabiki N., Takefuji Y., (1992). A neural network parallel algorithm for channel assignment problems in cellular radio networks. IEEE Transactions on Vehicular Technology, Vol. 41, pp. 430-436.

    71. Goldberg D. E., (1989a). Genetic Algorithms in search, optimization and machine learning. Addison-wesley Publishing Inc.

    72. Goldberg D.E, (1989b). Sizing Populations for Serial and Parallel Genetic Algorithms, Proceedings of the Third International Conference on Genetic Algorithm, pp. 70-97, San-Mateo, California.

    73. Goldberg D.E, Deb D., Horn H., (1992). Massive multiomodality and genetic algorithms, Ed. R. Manner, B. Manderick, parallel problem solving from nature 2, Brussels, pp. 37-46.

    74. Goldberg D. E., Richardson J., (1987). Genetic algorithms with sharing for multimodal function optimization. Proceedings of the Second International Conference on Genetic Algorithms, pp. 41-49.

    75. Goldberg D. E., Wang L., (1997). Adaptative niching via coevolutionary sharing. Quagliarella et al.(Eds.). Genetic Algorithms in Engineering and Computer Science (John Wiley and Sons, Ltd). pp. 21-38.

    76. Goss S., Beckers R., Deneubourg J.L., Aron S., Pasteels J.M. (1990). How trail lying and trail following can solve foraging problems for ant colonies. In : Behavioural Mechanisms of Food Selection, R.N. Hughes ed., NATO-ASI Series, vol. G20, Berlin : Springer verlag.

    77. Hale W. K., (1981). New spectrum management tools. Proceedings IEEE Int. Symp. Electromag. Compatibility, pp. 47- 53, Aug.

    78. Ho S.L, Shiyou Y., Guangzheng N., Lo E. W.C., Wong H.C, (2005). A particle swarm optimization based method for multiobjective design optimizations. IEEE Transactions on Magnetics, 41(5), pp. 1756-1759, May.

    79. Hoffmeyer J.,(1994). The Swarming Body. In I. Rauch and G.F. Carr, editors, Semiotics Around the World, Proceedings of the Fifth Congress of the International Association for Semiotic Studies, pp. 937-940.

    80. Hofmeyr S.A., Forrest S., (1999). Immunity by Design : An Artificial Immune System, in : Proceedings of the Genetic and Evolutionary Computation Conference (GECCO), Morgan Kaufmann, San Francisco, CA, pp. 1289-1296.

    81. Holland, J. H. , (1962). Outline for logical theory of adaptive systems. J. Assoc. Comput. March, 3, pp. 297-314.

    82. Holland, J. H. , (1975). Adaptation in Natural and Artificial Systems. The University of Michigan Press, Ann Arbor, MI.

    83. Holland J.H., Holyoak K.J., Nisbett R.E., Thagard P.R., (1986). Induction : Processes of Inference, learning and discovery. MIT Press, Cambridge, MA, USA.

    84. Hopfield J. J., (1982). Neural networks and physical systems with emergent collective computational abilities. Proceedings of the national academy of sciences, USA, pp. 2554-2558.

    85. Horn J., Nafpliotis N., (1993). Multiobjective Optimization using the Niched Pareto Genetic Algorithm, Illigal TR. 93005, July.

    86. Hu X. , Eberhart R, (2002). Multiobjective optimization using dynamic neighborhood particle swarm optimization. In Congress on Evolutionary Computation (CEC'2002), volume 2, pp. 1677-1681, Piscataway, New Jersey, May.

    87. Hu X., Eberhart R., Shi Y, (2003). Particle swarm with extended memory for multiobjective optimization. In Proceedings of the 2003 IEEE Swarm Intelligence Symposium, pp. 193-197, Indianapolis, Indiana,USA, April.

    88. Hurley S., Smith D. H., Thiel S. U., (1997). FASoft : A system for discrete channel frequency assignment. Radio Science, vol. 32, no. 5, pp. 1921- 1939.

    89. Ignizio J.P., (1981). The Determination of a Subset of Efficient Solutions via Goal Programming, Computing and Operations Research 3, pp. 9-16.

    90. Ishibuchi H., Murata T., (1996). Multi-objective Genetic Local Search Algorithm. In Toshio Fukuda and Takesshi Furuhashi editors, Proceedings of the 1996 International conference on Evolutionary Computation, pp. 119-124, Nagoya, Japan.

    91. Janson S., Merkle D., (2005). A new multiobjective particle swarm optimization algorithm using clustering applied to automated docking. In Maria J. Blesa, Christian Blum, Andrea Roli, and Michael Sampels, editors, Hybrid Metaheuristics, Second International Workshop, HM2005, pp. 128-142, Barcelona, Spain, August. Springer. Lecture Notes in ComputerScience Vol.3636.

    92. Jedra M., (1999). Modèles connexionnistes temporels, Application à la reconnaissance des variétés de semences et à l'analyse de contexte des caractères arabes. Thèse de Doctorat d'Etat, Faculté des sciences, Rabat.

    93. Kennedy J., Eberhart R. C., (1995). Particle swarm optimization. In Proceedings of the IEEE International Conference on Neural Networks, pages 1942- 1948, Piscataway, New Jersey, 1995. IEEE Service Center.

    94. Kennedy J., (2000). Stereotyping : Improving particle swarm performance with cluster analysis. Proceedings of the IEEE Congress on Evol. Comput. (San Diego, California, U.S.A.), pp. 1507-1512.

    95. Kim J. S., Park S. H., Dowd P. W., Nasrabadi N. M., (1997). Cellular radio channel assignment using a modified Hopfield network. IEEE Transactions on Vehicular Technology, Vol. 46, pp. 957-967.

    96. Knowles J.D., Corne D.W., (1999). The Pareto Archived Evolution Strategy: A New Baseline Algorithm for Multiobjective Optimisation, Congress on Evolutionary Computation, pp. 98-105, Washington, July.

    97. Knowles J.D., Corne D.W., Oates M.J., (2000). The Pareto-Envelope based Selection Algorithm for Multiobjective Optimization, In Proceeding of the Sixth International Conference on Parallel Problem Solving from Nature (PPSN VI), pp.839-848, Berlin, September.

    98. Kohonen T., (1989). Self organization and associative memory. Springer series in information sciences, springer verlag, 3rd edition.

    99. Koza J.R., (1992). Genetic Programming. MIT Press, ISBN : 0-262-11170-5.

    100. Kunz D., (1991). Channel assignment for cellular radio using neural network. IEEE Transactions on Vehicular Technology, Vol. 40, pp. 188-193.

    101. Kurwase F., (1984). A variant of Evolution Strategies for Vector optimization, Ph. D Thesis, Vanderbilt University, Nashville, Tennessee.

    102. Laumanns M., Thiele L., Deb K., Zitzler E, (2002). Combining convergence and diversity in Evolutionary multi-objective optimization. Evolutionary Computation, 10(3), pp. 263-282.

    103. Lechuga M.S, Rowe J, (2005). Particle swarm optimization and fitness sharing to solve multi-objective optimization problems. In Congresson Evolutionary Computation (CEC'2005), pp. 1204- 1211,Edinburgh,Scotland,UK,September.IEEE Press.

    104. Lee C.C., (1990). Fuzzy logic in control systems : Fuzzy logic controller, Part I, Part II. IEEE Trans. on Syst., Man, and Cyber., Vol. 20, No.2, pp. 404- 435.

    105. Li S. Z., (1995). Markov Random Field, Modeling in computer vision. Spring Verlag, 1995.

    106. Li J. P., Balazs M. E., Parks G., Clarkson P. J., (2002). A species conserving genetic algorithm for multimodal function optimization, Evolutionary Computation, 10(3), pp. 207-234.

    107. Li X., (2003). A non-dominated sorting particle swarm optimizer for multiobjective optimization. In Erick Cantu-Paz et al., editor, Proceedings of the Genetic and Evolutionary Computation Conference (GECCO'2003), pp 37-48. Springer. Lecture Notes in Computer Science Vol.2723, July.

    108. Li X., (2004). Adaptively choosing neighborhood bests using species in swarm optimizer for multimodal function optimization. GECCO, pp. 105-116.

    109. Lin C.T., Lee C.S.G., (1991). Neural-network-based Fuzzy logic control and decision system. IEEE Trans. On Comp., Vol.40, No. 12, pp. 1320-1336.

    110. Lis J., Eiben A.E., (1996). A Multi-Sexual Genetic Algorithm for Multiobjective Optimization, In T.Fukuda and T. Furuhashi ed., Proceedings of the 1996 International Conference on Evolutionary Computation, Nagoya, Japan, pp.59-64.

    111. Loukdache A., Alami J., El Belkacemi M., El Imrani A., (2007). New control approach for permanent magnet synchronous machine. International Journal

    of Electrical and Power Engineering 1(4), pp. 455 -462.

    112. Mahfoud, S. W., (1992). Crowding and preselection revisited. Parallel Problem Solving from Nature. North-Holland, Amsterdam, (2), pp. 27-36.

    113. Mahfoud S.W, (1994). Crossover Interactions Among niches. Proceedings of the 1st IEEE Conference on Evolutionary Computation, pp. 188-193.

    114. Mahfoud S. W, (1995). Niching Methods for Genetic Algorithms. PhD Thesis, University of Illinois.

    115. Mahfouf, M., Chen, M. Y., Linkens, D. A., (2004). Adaptive Weighted Particle Swarm Optimization for Multi- objective Optimal Design of Alloy Steels, Parallel Problem Solving from Nature - PPSN VIII, pp. 762-771, Birmingham, UK, Springer-Verlag. Lecture Notes in Computer Science Vol. 3242.

    116. Maniezzo V., Montemanni R., (1999). An exact algorithm for the radio link frequency assignment problem. Report CSR 99-02, Computer Science, Univ. of Bologna.

    117. Martinez T. M., Schulten K. J., (1991). A "neural-gas" network learns topologies. Artificial neural network, Rédacteurs : T. Kohonen, K. Mäkisara, O. Simula et J. Kanges, pp. 397-402, Elsevier Science Publishers, B. V(North Holland).

    118. Mathar R., Mattfeldt J., (1993). Channel assignment in cellular radio networks. IEEE Transactions on Vehicular Technology, Vol. 42, pp. 647-656.

    119. McCulloch W. S., Pitts W., (1943). A logical calculus of the ideas immanent in nervous activity. Bulletin of Mathematical Biophysics, 5, pp. 115-133.

    120. Michalewicz Z., (1996). Genetic Algorithms + Data Structures = Evolution Programs. Springer-Verlag, New York.

    121. Miettinen K., (1999). Nonlinear Multiobjective Optimization. Kluwer Academic Publishers, Boston, Massachusetts.

    122. Miller B.L., Shaw M.J., (1996). Genetic Algorithms with Dynamic Niche Sharing for Multimodal Function Optimization. IlliGAL Report no. 95010.

    123. Mitchell M., Forrest S., (1993). Genetic Algorithms and Artificial Life. Paper 93-11-072.

    124. Montemanni R., Moon Jim N. J., Smith D. H., (2003). An improved Tabu search algorithm for the fixed spectrum frequency assignment problem. IEEE Transactions on Vehicular Technology, vol. 52, No.3, May.

    125. Moore J., Chapman R., (1999). Application of particle swarm to multiobjective optimization. Department of Computer Science and Software Engineering, Auburn University.

    126. Mostaghim S., Teich J., 2003(a). Strategies for finding good local guides in multi-objective particle swarm optimization (MOPSO). In Proceedings of the 2003 IEEE Swarm Intelligence Symposium, pp. 26-33, Indianapolis, Indiana, USA, April.

    127. Mostaghim S., Teich J., 2003(b). The role of c-- dominance in multi objective particle swarm optimization methods. In Congress on Evolutionary Computation (CEC'2003), volume 3, pp. 1764-1771, Canberra, Australia, December.

    128. Mostaghim S., Teich J., (2004). Covering pareto-optimal fronts by subswarms in multi-objective particle swarm optimization. In Congress on Evolutionary Computation (CEC'2004), volume 2, pp. 1404- 1411, Portland, Oregon, USA, June.

    129. Pareto V., (1896). Cours d'économie politique, vol. 1 et 2, F. Rouge, Lausanne.

    130. Parsopoulos K. E., Vrahatis M. N., (2002). Particle swarm optimization method in multiobjective problems. In Proceedings of the 2002 ACM Symposium on Applied Computing (SAC'2002), pp. 603-607, Madrid, Spain.

    131. Parsopoulos K. E., Tasoulis D., Vrahatis M. N., (2004). Multiobjective optimization using parallel vector evaluated particle swarm optimization. In Proceedings of the IASTED International Conference on Artificial Intelligence and Applications (AIA 2004), volume 2, pp. 823-828, Innsbruck, Austria, February.

    132. Pelikan M., Goldberg D. E., (2001). Escaping hierarchical traps with competent genetic algorithms. In Proceeding. of the Genetic and Evolutionary Computation Conference, pp. 511- 518.

    133. Petrowsky A., (1996). A clearing procedure as a niching method for Genetic Algorithms. Proceedings of IEEE International Conference of Evolutionary Computation, (Nagoya-Japan), pp. 798-803.

    134. Pulido G. T., (2005). On the Use of Self-Adaptation and Elitism for Multiobjective Particle Swarm Optimization. PhD thesis, Computer Science Section, Department of Electrical Engineering, CINVESTAV-IPN, Mexico, September.

    135. Pulido, G. T., Coello, C. A., (2004). Using Clustering Techniques to Improve the Performance of a Particle Swarm Optimizer, In Kalyanmoy Deb et al., editor, Proceedings of the Genetic and Evolutionary Computation Conference (GECCO'2004), pp. 225-237, Seattle, Washington, USA, Springer-Verlag, Lecture Notes in Computer Science Vol. 3102.

    136. Qing L., Gang W., Zaiyue Y., Qiuping W., (2008). Crowding clustering genetic algorithm for multimodal function optimization, Applied Soft Computing 8, pp. 88-95.

    137. Rahman M.A., Hoque M. A., (1998). On-line adaptive artificial neural network based vector control of permanent magnet synchronous motors. IEEE Trans. On Energy Conversion, Vol.13, No. 4, pp. 311-318, 1998.

    138. Ramos V., Fernandes C., Rosa A.C., (2005). Social Cognitive Maps, Swarm Collective Perception and Distributed Search on Dynamic Landscapes. Technical report, Instituto Superior Técnico, Lisboa, Portugal, http ://alfa.ist.utl.pt/ cvrm/staff/vram 58.html.

    139. Raquel C. R., Naval Jr. P. C., (2005). An effective use of crowding distance in multiobjective particle swarm optimization. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO2005), pp 257-264, Washington, DC, USA, June.

    140. Ray T., Liew K.M., (2002). A swarm metaphor for multiobjective design optimization. Engineering Optimization, 34(2), pp. 141-153, March.

    141. Rechenberg, I., (1965). Cybernetic Solution Path of an Experimental Problem. Royal Aircraft Establishment Library Translation.

    142. Rechenberg I., (1973). Evolutionsstrategie : Optimierung technischer Systeme nach Prinzipien der biologischen Evolution, Stuttgart.

    143. Renfrew A. C., (1994). Dynamic Modeling in Archaeology : What, When, and Where? In S. E. van der Leeuw, editor, Dynamical Modeling and the Study of Change in Archaelogy. Edinburgh University Press, Edinburgh, Scotland.

    144. Reyes M. S., Coello C. A. C., (2005). Improving PSO-based multi-objective optimization using crowding, mutation and c--dominance. In Third International Conference on Evolutionary Multi-Criterion Optimization, EMO 2005, pp. 505-519, Guanajuato, México. LNCS 3410, Springer- Verlag.

    145. Reynolds R. G., (1994). An Introduction to Cultural Algorithms. In Antony V, Sebald and Lawrence J. Fogel, editors, Proceedings of the Third Annual

    Conference on Evolutionary Programming, pp. 131- 139. World Scientific.

    146. Reynolds R. G., (1997). Using Cultural Algorithms to support Re-Engineering of Rule-Based Expert Systems in Dynamic Performance Environments : A Case Study in Fraud Detection. IEEE Transactions on Evolutionary Computation, volume 1 No.4, November.

    147. Reynolds R. G., Zannoni E., (1994). Learning to Understand Software Using Cultural Algorithms. In Antony V, Sebald and Lawrence J. Fogel, editors, Proceedings of the Third Annual Conference on Evolutionary Programming. World Scientific.

    148. Ritzel B., (1994). Using Genetic Algorithms to Solve a Multiple Objective Groundwater Pollution Containment Problem. Water Resources Research 30, pp. 1589-1603.

    149. Rosenblatt F., (1958). The perceptron : a probabilistic model for information storage and organization in the brain. Psychological review, 65, pp. 386-408.

    150. Rudolph G., (1998). On a multi-objective evolutionary algorithm and its convergence to the Pareto set. In Proceedings of the 5th IEEE Conference on Evolutionary Computation, pp. 511-516, Piscataway, New Jersey.

    151. Säreni B., Krähenbühl L., (1998). Fitness sharing and niching methods revisited. IEEE transactions on Evolutionary Computation vol. 2, No. 3, pp. 97-106.

    152. Säreni B., (1999). Méthodes d'optimisation multimodales associées à la modélisation numérique en électromagnétisme. Thèse de doctorat, l'école centrale de Lyon.

    153. Schaffer J.D., (1985). Multiple objective optimization with vector evaluated genetic algorithms, In J.J. Grefenstette ed., Proceedings of the First International Conference on Genetic Algorithms and Their Applications, Pittsburgh, PA, pp. 93-100.

    154. Schoeman, I.L., Engelbrecht, A.P., (2004). Using vector operations to identify niches for particle swarm optimization. Proceedings of the conference on cybernetics and intelligent systems.

    155. Schoeman I.L., Engelbrecht A., (2005). A parallel vector-based particle swarm optimizer. International Conf. on Artificial Neural Networks and Genetic Algorithms (ICANNGA), Portugal.

    156. Schoenauer M., Michalewicz Z., (1997). Evolutionary Computation. Control and Cybernetics, 26(3), pp. 307-338.

    157. Schott J. R., (1995). Fault tolerant design using single and multi-criteria genetic algorithms. Master's thesis, Departement of Aeronautics and Astronautics, Boston.

    158. Shi Y., Eberhart R., (1998). Parameter selection in particle swarm optimization. In Evolutionary Programming VII : Proceedings of the Seventh annual Conference on Evolutionary Programming, pp. 591-600, NewYork, USA. Springer-Verlag.

    159. Shirazi S. A. G., Amindavar H., (2005). Fixed channel assignment using new dynamic programming approach in cellular radio networks. Computers and Electrical Engineering 31, pp. 303-333.

    160. Sierra, M. R., Coello C., (2006). Multi-objective Particle Swarm Optimizers : A Survey of the State-of-the-art, Inter-national Journal of Computational Intelligence Research 2 (3), pp. 287-308.

    161. Slemon G. R., (1994). Electrical machines for variable-frequency drives. Proceeding of IEEE, Vol.82, No.8, pp. 1123-1139.

    162. Smith R., Forrest S., Perelson A. S., (1993). Searching for diverse, cooperative populations with genetic algorithms. Evolutionary Computation 1(2), pp. 127-149.

    163. Spears W.M., (1994). Simple sub-populations schemes. Proceedings of the 3rd Annual Conference on Evolutionary Programming, World Scientific, pp. 296- 307.

    164. Srivinas N., Deb K., (1993). Multiobjective Optimization using Non dominated Sorting in Genetic Algorithms, technical Report, Departement of Mechanical Engineering, Institute of Technology, India.

    165. Stacey A., Jancic M., Grundy I., (2003). Particle swarm optimization with mutation. In Proceedings of the Congress on Evolutionary Computation, pp. 1425-1430,Camberra, Australia.

    166. Surry P., (1995). A Multiobjective Approach to Constrained Optimisation of Gas Supply Networks : The COMOGA Method, Evolutionary Computing AISB Workshop Selected Papers, Lecture Notes in Computing Sciences, pp. 166-180.

    167. Tanaki H., (1995). Multicriteria optimization by Genetic Algorithms : a case of scheduling in hot rolling process, In Proceeding of the Third APORS, pp. 374-381.

    168. Ursem R.K., (1999). Multinational evolutionary algorithms. Proceedings of Congress of Evolutionary Computation (CEC-99), vol. 3, Washington, DC, USA, pp. 1633-1640.

    169. Van Veldhuizen D.A., (1999). Multiobjective, evolutionary algorithms : classification, analyses and new innovation, air force institute of Technology, United States.

    170. Valenzuela M., Uresti-Charre E., (1997). A Non- Cenerational Genetic Algorithm for Multiobjective Optimization, Proceedings of the Seventh International Conference on Genetic Algorithms, pp. 658-665.

    171. Wang, Y., Yang, Y., (2008). Handling Multiobjective Problem with a Novel Interactive Multi-swarm PSO, Proceedings of the 4th International Conference on Intelligent Computing : Advanced Intelligent Computing Theories and Applications 5227, pp. 575-582.

    172. Watson J.P., (1999). A performance assessment of modern niching methods for parameter optimization problems. Proceedings of the Genetic and Evolutionary Computation Conference (GECCO) (Morgan- Kaufmann, San Francisco).

    173. Xie L. X, BENI G., (1991). A Validity Measure for Fuzzy Clustering. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol 13 No 8.

    174. Xiao-hua Z, Hong-yun M., Li-cheng J., (2005). Intelligent particle swarm optimization in multiobjective optimization. In Congress on Evolutionary Computation (CEC'2005), pp. 714-719, Edinburgh, Scotland,UK, September.

    175. Zadeh L.A., (1965). Fuzzy Sets. Information and control, 8, pp. 338-353.

    176. Zadeh L.A., (1994). Soft Computing, LIFE lecture, Japan.

    177. Zannoni E., Reynolds R. G., (1997). Extracting Design Knowledge from Genetic Programs Using Cultural Algorithms. Full version in Journal Evolutionary Computation.

    178. Zhang J., Huang De-Shuang, Lok T., Lyu M. R., (2006). A novel adaptive sequential niche technique for multimodal function optimization. Neurocomputing 69, pp. 2396-2401.

    179. Zhang L.B., Zhou C.G., Liu X.H., Ma Z.Q., Liang Y.C., (2003). Solving multi objective optimization problems using particle swarm optimization. In Congress on Evolutionary Computation (CEC'2003), volume 3, pp. 2400-2405,

    Canberra, Australia, December.

    180. Zhao B., Cao Y., (2005). Multiple objective particle swarm optimization technique for economic load dispatch. Journal of Zhejiang University SCIENCE, 6A (5), pp. 420-427.

    181. Zhu. S., Reynolds. R.G., (1998). The Design of Fully Fuzzy Cultural Algoritms with Evolutionary Programming for Function Optimization. International Conference GP May.

    182. Zitzler E.,. Deb k., Thiele L., (2000).Comparison of Multiobjective Evolutionary Algorithms : Empirical Results. Evolutionary Computation, 8(2), pp. 173-195.

    183. Zitzler E., Thiele L., (1998). An Evolutionary Algorithm for Multiobjective optimization : The Strength Pareto Approach, TIK-Report 43.

    Discipline : Sciences de l'ingénieur

    Spécialité : Informatique et Télécommunications

    UFR : Informatique et Télécommunications

    Responsable de l'UFR : Driss Aboutajdine Période d'accréditation : 2005- 2008

    Titre de la thèse : Contribution à l'optimisation complexe par des techniques de Swarm Intelligence

    Prénom, Nom : Lamia Benameur

    Résumé

    Les travaux de recherche présentés dans ce mémoire consistent en l'étude des techniques de calcul «Intelligent», et tout particulièrement les algorithmes basés sur l'intelligence collective des agents.

    L'algorithme d'optimisation par essaims particulaires PSO de base est ensuite mis en oeuvre pour l'optimisation globale de problèmes réels. Les problèmes étudiés, dans ce mémoire, sont: le problème d'affectation de fréquences dans les réseaux cellulaires et la commande en vitesse d'une machine synchrone à aimant permanent. L'implémentation de cette technique nécessitait une phase d'adaptation et un réglage fin de paramètres.

    Dans un deuxième temps, le modèle de base n'étant pas adapté à l'optimisation de problème nécessitant la localisation de plusieurs optima, un nouveau modèle MPSO (Multipopulation Particle Swarms Optimization) est proposé. Ce modèle permet de créer et de maintenir des sous-populations d'essaims, afin d'effectuer des recherches locales dans différentes régions de l'espace de recherche dans le but de localiser la meilleure position globale qui représente un optimum. L'intégration d'une procédure de classification floue permet, dans ce contexte, d'échantillonner la population en différentes classes constituant les différents sous-essaims.

    Dans le cadre de l'optimisation multiobjectif, où il s'agit d'optimiser simultanément plusieurs objectifs contradictoires, une nouvelle approche, basée sur l'algorithme PSO, la dominance de Pareto et la classification floue FCMOPSO (Fuzzy Clustering Multi-objective Particle Swarm Optimizer), est également proposée. Le but principal de cette approche est de surmonter la limitation associée à l'optimisation multiobjectif par essaims particulaires standard. Cette limitation est liée à l'utilisation des archives qui fournit des complexités temporelles et spatiales additionnelles.

    Mots-clefs

    Techniques de calcul «Intelligent», Optimisation multimodale, Optimisation multiobjectif, Algorithme d'optimisation par essaims particulaires, Classification floue.






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy