• Aucun résultat trouvé

Modèles évolutifs flous pour l'optimisation dynamique

N/A
N/A
Protected

Academic year: 2021

Partager "Modèles évolutifs flous pour l'optimisation dynamique"

Copied!
107
0
0

Texte intégral

(1)

N◦d’ordre : 2633

Thèse de Doctorat

Discipline : Sciences de l’ingénieur

Spécialité : Informatique Présentée par :

Khalid Jebari Hassani

Modèles évolutifs flous pour l’optimisation dynamique

Soutenue le 18 Avril 2013 Devant la commission d’examen

Président du jury :

Aziz ETTOUHAMI Professeur de l’enseignement supérieur, Faculté des Sciences de Rabat Examinateurs :

Abdelaziz BOUROUMI Professeur de l’enseignement supérieur,

Faculté des Sciences Ben M’sik de Casablabnca Abdelhakim A. EL IMRANI Professeur de l’enseignement supérieur,

Faculté des Sciences de Rabat Mohammed ESSAIDI Professeur de l’enseignement supérieur,

directeur ENSIAS Rabat

Mohamed JEDRA Professeur de l’enseignement supérieur, Faculté des Sciences de Rabat Jamal OUENNICHE Professeur de l’enseignement supérieur,

École de commerce, université d’Edinburgh Royaume-Uni

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

(2)

Dédicace

(3)

Les travaux présentés dans cette thèse ont été effectués au Laboratoire Conception et Sys-tèmes (Microélectronique et Informatique) LCS de la Faculté des Sciences de Rabat sous la direction du Professeur A. Ettouhami et le co-encadrement de Monsieur A. Bouroumi.

Je tiens à exprimer ma profonde gratitude à Monsieur A. Bouroumi, Professeur à la faculté des sciences Ben M’sik de Casablanca, pour sa disponibilité, sa grande rigueur scientifique et pour le soutien qu’il m’a accordé depuis qu’il dirige mes travaux. Je voudrais lui exprimer ma reconnaissance pour l’aide qu’il m’a constamment octroyée tout au long de ce travail, qu’il trouve, en ces mots, le témoignage de mes sincères remerciements.

Je souhaite également exprimer ma haute considération au Professeur A. Ettouhami, directeur du laboratoire LCS de son aide, son soutien et son total dévouement à mon travail. Je le re-mercie vivement pour ses remarques pertinentes, ses nombreux conseils et pour l’intérêt qu’il a manifesté à ce travail en acceptant la charge de suivre de près mes travaux de recherche. Je saisis cette occasion pour exprimer mes vifs remerciements à Monsieur A. El Imrani, Pro-fesseur à la Faculté des Sciences de Rabat, de l’intérêt qu’il a porté à ce travail en acceptant d’en être rapporteur et de sa participation au jury de cette thèse.

Je suis très reconnaissant à Monsieur J. Ouenniche, Professeur à l’école de commerce de l’uni-versité d’Edinburgh Écosse, qui a bien voulu juger ce travail en étant un rapporteur et membre de jury de cette thèse.

J’adresse mes remerciement également au Professeur M. Essaidi, directeur de l’école ENSIAS de Rabat, de m’avoir fait l’honneur d’accepter d’être un membre de jury de ce travail. Qu’il veuille accepter mes profonds sentiments d’estimation et de respect.

(4)

Que Monsieur M. Jedra, Professeur à la Faculté des sciences de Rabat, accepte l’expression de ma profonde reconnaissance pour l’honneur qu’il me fait en acceptant de siéger dans le jury de cette thèse.

Je tiens à remercier et à exprimer ma sincère sympathie à tous les doctorants du Labora-toire Conception et Systèmes (Micro-électronique et Informatique) de la faculté des sciences de Rabat et du Laboratoire Instrumentation et Mesures de la faculté des sciences Ben M’sik de Casablanca.

(5)

Publications dans des revues spécialisées :

1. K. Jebari, A. Bouroumi, A. Ettouhami,

Parameters control in GAs for dynamic optimization,

The International Journal of Computational Intelligence Systems, Vol. 6, no. 1, pp. 47-63, Taylor and Francis Publisher, 2013.

2. K. Jebari, A. Bouroumi, A. Ettouhami,

Fuzzy Genetic Sharing for Dynamic Optimization,

International Journal for Automation and Computing, Vol. 9, no. 6, pp. 616-626, Springer Publisher, 2012.

3. K. Jebari, A. Bouroumi, A. Ettouhami,

Unsupervised Clustering with Niche Sharing for Dynamic Environments,

International Journal of Research and Reviews in Computer Science, Vol. 2, no. 4, pp. 1088-1093, Science Academy Publisher United Kingdom, 2011.

4. K. Jebari, A. Bouroumi, A. Ettouhami,

(6)

International Journal of Soft Computing, Vol. 6, no. 3, pp. 68-74, 2011. 5. A. El moujahid, K. Jebari, A. Bouroumi, A. Ettouhami,

A Fuzzy Clustering Technique for Adapting Tournament Selection,

International Journal of Soft Computing, Vol. 6, no. 3, pp. 62-67, 2011. 6. K. Jebari, A. El moujahid, A. Dik, A. Bouroumi, A. Ettouhami,

Unsupervised Fuzzy Tournament Selection,

Applied Mathematical Sciences, Vol. 5, no. 58, pp. 2863 - 2881, 2011. 7. K. Jebari, A. Bouroumi, A. Ettouhami,

Genetic Fuzzy System for Dynamic Optimization,

Applied Software Computing Journal, Elsevier Publisher, en révision.

Conférences internationales :

8. K. Jebari, A. Bouroumi, A. Ettouhami,

Genetic Fuzzy Rules for DOPs,

Proceedings of the fourteenth international conference on Genetic and evolutionary com-putation conference companion (GECCO 12), ACM Publisher, pp. 1507-1508,

Philadelphia, USA, 2012.

9. K. Jebari, A. Bouroumi, A. Ettouhami,

(7)

WCE 2012, London, UK, 2012.

Ce papier a reçu Best Student Paper Award of ICCIIS 2012 10. K. Jebari, A. Bouroumi, A. Ettouhami,

Unsupervised fuzzy clustering-based genetic algorithms for Traveling Salesman Problem,

In Proceeding of International Conference on Multimedia Computing and Systems (ICMCS’12), IEEE Conference Publications, pp. 1013-1015, Tangier, Morocco, 2012.

11. K. Jebari, A. Bouroumi, A. Ettouhami,

Hybrid Genetic Algorithm for Dynamic Optimization,

In Proceeding of The Fourth Workshop on Information Technologies and Communication (WOTIC 11), Casablanca, Morocco, 2011.

12. K. Jebari, A. Bouroumi, A. Ettouhami,

Genetic algorithms for online remedial education based on competency ap-proach,

In Proceeding of International Conference on Multimedia Computing and Systems (ICMCS’11), IEEE Conference Publications, pp. 1-6, Ouarzazate, Morocco, 2011.

13. K. Jebari, A. Bouroumi, A. Ettouhami,

A Genetic Approach for Solving Poisson Equation,

In Proceeding of International Conference on Multimedia Computing and Systems (ICMCS’11), Ouarzazate, Morocco, 2011.

(8)

14. K. Jebari, A. Bouroumi, A. Ettouhami,

An Experimental Study of Parent Selection Operators for Genetic Algorithms,

In Proceedings of The 3rd International Conference on Software, Knowledge Information Management and Applications (SKIMA 09) ,

pp. 56-61, Fes, Morocco, 2009.

Chapitre de livre :

15. K. Jebari, A. Bouroumi, A. Ettouhami,

Fertilization Operator for Dynamic Multi Modal Optimization,

IAENG Transactions on Engineering Technologies, Vol : 229, Chapitre : 36, pp. 490-503, Springer Publisher, 2013.

(9)

Table des matières

Introduction générale 1

I Optimisation dynamique et algorithmes génétiques 4

1 Introduction . . . 4

2 Optimisation dynamique . . . 4

2.1 Intérêts et complexité . . . 4

2.2 Détection de changement dans l’environnement . . . 7

3 Algorithmes Génétiques . . . 8

3.1 Représentation des solutions . . . 8

3.2 Population des solutions candidates . . . 9

3.3 Fonction d’adaptation . . . 9

3.4 Sélection . . . 9

3.5 Croisement . . . 9

3.6 Mutation . . . 10

3.7 Remplacement . . . 11

4 Les différentes approches en optimisation dynamique . . . 11

4.1 Promotion de la diversité . . . 12 4.1.1 Re-initialisation . . . 12 4.1.2 Méthodes de niches . . . 12 4.1.3 Hyper-mutation . . . 13 4.1.4 Immigrant aléatoire . . . 14 4.1.5 Système immunitaire . . . 15 4.2 Utilisation de la mémoire . . . 16

(10)

Table des matières

4.2.1 Mémoire implicite . . . 16

4.2.2 Mémoire explicite . . . 16

4.3 Multi-population . . . 17

4.4 Anticipation et prédiction des changements . . . 18

4.5 Algorithme Hybride . . . 18

5 Validation des algorithmes en optimisation dynamique . . . 19

5.1 Problèmes de test . . . 19

5.2 Mesure de performance . . . 24

6 Conclusion . . . 26

II Modèle basé sur les prototypes 28 1 Introduction . . . 28

2 Modèle proposé . . . 29

2.1 La première composante (un algorithme génétique avec partage dyna-mique de niches) . . . 30

2.1.1 La sélection par tournoi modifiée . . . 31

2.1.2 L’opérateur de fertilisation . . . 33

2.2 La deuxième composante (un algorithme de classification floue non su-pervisée) . . . 33

2.3 La troisième composante (séparation spatiale) . . . 35

3 Partage dynamique de niches . . . 36

4 Classification floue . . . 37

4.1 C-Moyennes Flous . . . 37

4.2 Apprentissage Floue Non Supervisée (AFNS) . . . 39

5 Étude expérimentale . . . 41

5.1 Diversité génétique du modèle . . . 41

5.2 Performance du modèle . . . 43

5.3 Nouvelle mesure de performance . . . 46

6 Conclusion . . . 47

III Modèle basé sur l’adaptation des opérateurs génétiques 49 1 Introduction . . . 49

2 Modèle proposé . . . 50

2.1 Multi mutation non uniforme partitionnée . . . 51

2.2 Taux de mutation adapté . . . 52

(11)

2.4 Multi-croisement partitionné . . . 54

3 Contrôle adaptatif et auto adaptatif des paramètres de l’AG . . . 55

3.1 Contrôle adaptatif des paramètres de l’AG . . . 55

3.2 Contrôle auto adaptatif des paramètres de l’AG . . . 56

4 Résultats expérimentaux . . . 56

4.1 Étude de la performance du modèle proposé . . . 56

4.2 Nouvelle mesure de diversité . . . 61

4.3 Étude de l’influence des remèdes proposés . . . 63

5 Conclusion . . . 64

IV Modèle basé sur des règles floues pour l’adaptation des taux de mutation et de croisement 66 1 Introduction . . . 66

2 Modèle proposé . . . 67

3 Logique floue . . . 70

3.1 Ensemble et opérateurs de la logique floue . . . 71

3.2 Système flou . . . 72

4 Étude expérimentale . . . 75

4.1 Mécanisme de diversité du modèle . . . 75

4.2 Comparaison des performances globales . . . 76

4.3 Diversité avec l’indice de Hill . . . 78

4.4 Tests statistiques . . . 79

5 Conclusion . . . 83

Conclusion générale 85

(12)

Introduction générale

Introduction Générale

Les termes optimum et optimisation sont devenus courants dans la partie index de nombreux journaux en ingénierie, économie, gestion, mathématiques, physique et sciences sociales. Ceci est dû au fait que de nombreux problèmes difficiles dans ces domaines peuvent être formulés en terme d’optimisation. Dans ces problèmes on cherche soit à minimiser des grandeurs comme le temps, le coût ou le risque ; soit à maximiser le profit, la qualité, l’efficacité et l’énergie. Ces problèmes d’optimisation appartiennent à la classe de complexité NP-Hard et demeurent hors de portée des méthodes déterministes. Pour pallier cette difficulté, les praticiens ont sou-vent recours à des méthodes heuristiques qui permettent de trouver en un temps raisonnable des solutions approchées mais satisfaisantes à ces problèmes. Ces heuristiques permettent d’explorer efficacement l’espace de recherche des solutions tout en réduisant sa taille effective. Parmi ces heuristiques on peut citer le recuit simulé, les algorithmes génétiques, les colonies des fourmis, les essaims particulaires, le système immunitaire, les colonies d’abeilles, etc.

Dans la vie réelle, les problèmes d’optimisation ne sont pas toujours stationnaires et peuvent changer stochastiquement au cours du temps. Les algorithmes d’optimisation doivent alors être en mesure aussi de traquer l’optimum au cours du temps, c’est à dire de suivre le mouvement de cet optimum au fil du temps. Les problèmes d’optimisation dynamique sont évidemment plus difficiles que les problèmes d’optimisation statique, pour lesquels les algorithmes génétiques ont été appliqués avec succès dans de nombreux domaines. Le théorème clé des AGs, théorème de schemata [53], assure leur convergence vers l’optimum recherché ; ce qui veut dire que les individus qui représentent des bonnes solutions candidates sont concentrés en un point spéci-fique. Dans le cas d’un changement d’environnement, il est alors indispensable que l’AG puisse s’adapter à ce changement. Ces améliorations trouvent leur bien fondé dans la nature même des AGs. En effet, les AGs s’inspirent de l’évolution darwinienne qui modélise le changement et l’adaptation au fil de temps.

(13)

Dans la littérature, plusieurs améliorations ont été investies :

– utilisation de la mémoire implicite ou explicite [117], [119] et [131] ; – utilisation de plusieurs populations [18] ;

– anticipation des changements de l’environnement [13],[14] ;

– maintien de la diversité, par plusieurs stratégies, comme les immigrants aléatoires, l’hy-permutation, nouveaux opérateurs ou des techniques de niches [131] et [138].

Notre objectif dans ce travail est de concevoir de nouveaux modèles qui permettent aux algorithmes génétiques de s’adapter aux changements dynamiques de leurs environnements, les rendant ainsi plus robustes et plus efficaces dans la pratique. Pour cela nous nous sommes in-téressés plus particulièrement au maintien de la diversité au sein de la population de solutions candidates tout au long du processus d’évolution dynamique auquel elle est assujettie.

Pour modéliser la diversité de la population, nous avons utilisé le concept de niches écologiques, dont la détection et le maintien au cours de l’évolution dynamiques ont été assurés par un al-gorithme de classification floue non supervisée.

– Notre première contribution est l’élaboration d’un modèle qui utilise un nouvel opérateur permettant de diversifier la population en y insérant de nouveaux individus qui repré-sentent les prototypes de classes (niches) produits par l’algorithme de classification [61]. – La deuxième contribution est la proposition de nouveaux opérateurs de mutation, de

croisement et d’une nouvelle technique de sélection. Ces trois opérateurs sont basés sur la classification des individus qui donne une idée sur la diversité de la population. Cette idée est bien justifiée par l’indice de Hill [62].

– Notre troisième contribution est la conception d’un modèle qui adapte les taux de muta-tion et de croisement par un ensemble de règles floues afin de maintenir un bon équilibre entre l’exploration et l’exploitation de l’espace de recherche [60].

Par ailleurs, et en vue de quantifier la mesure de la diversité des AGs dans un environnement dynamique deux nouveaux indices ont été proposés dans le cadre de ce travail : le premier est basé sur l’indice de Hill [62], le second sur le taux de maximums de pics.

Toutes ces contributions seront développées dans la suite de ce mémoire dont la structure est comme suit :

– le premier chapitre est consacré à l’état de l’art de l’optimisation dynamique et les algo-rithmes génétiques ;

(14)

Introduction générale

– le deuxième chapitre présente un modèle qui utilise les prototypes et le nombre de classes fournis par un algorithme de classification pour créer un nouvel opérateur génétique et une nouvelle méthode de sélection en vue d’assurer le maintien de la diversité dans des environnement dynamiques.

– le troisième chapitre explique l’intérêt de l’adaptation des paramètres des AGs et présente les opérateurs de mutation et de croisement proposés, ainsi que la nouvelle technique de sélection qui permet de mieux contrôler la pression de sélection ;

– le quatrième chapitre présente un modèle basé sur des règles floues permettant ainsi d’adapter le taux de mutation et de croisement ;

– enfin, dans la conclusion générale, nous récapitulons les résultats de ces différentes contri-butions et nous fournissons des suggestions et des perspectives pour la poursuite de ces travaux de recherche.

(15)

Chapitre I

Optimisation dynamique et algorithmes

génétiques

1

Introduction

L’évolution biologique est un processus d’adaptation dans un environnement intrinsèquement dynamique, où les individus sont en permanence confrontés à des changements avec le temps. Pour survivre et se développer, ces individus sont alors obligés de s’adapter continuellement aux différents changements de leur environnement. Pourtant les algorithmes génétiques qui s’inspirent de cette théorie d’évolution opèrent plutôt dans des milieux statiques.

Dans ce chapitre, nous présentons les algorithmes génétiques et discutons quelques approches, qui ont tenté d’utiliser ces algorithmes dans un environnement dynamique, ainsi que les mesures de performance de ces différents approches.

2

Optimisation dynamique

Dans le monde réel plusieurs problèmes peuvent être formulés en terme d’optimisation dyna-mique. On peut citer par exemple un facteur financier qui change de valeurs au fil de temps, une nouvelle machine qui arrive ou une ancienne qui tombe en panne, un enseignant qui présente un congé de maladie de longue durée ou un autre qui s’affecte à la faculté et exige son tableau de service, choisir un réseau parmi plusieurs dans le cas où le coût change avec le temps ou bien l’exploration des données dynamiques dans une grande entreprise [136].

2.1 Intérêts et complexité

Depuis l’introduction en 1987 par Goldberg de la résolution des problèmes d’optimisation qui dépendent du temps par algorithmes génétiques [42], l’intérêt de la communauté scientifique

(16)

I.2 Optimisation dynamique

Figure I.1–Publications par année de l’optimisation dynamique par algorithmes génétiques, 2000-2012.

à ce genre de problèmes ne cesse d’augmenter [16]. La figure (I.1) montre clairement cet intérêt au fil des années. Mais avant de détailler le concept d’optimisation dynamique il est intéressant de présenter la définition proposée par Goldberg :

Définition : Un problème d’optimisation dynamique est défini dans un espace de recherche

Ω, par une fonction d’adaptation ft : Ω −→ < avec t ∈ N et une relation de comparaison ∈ {<, >}. Le but est de déterminer un ensemble d’optimaux globaux χtΩ défini par :

χt= x ∈ Ω | ∀x0 ∈Ω ft(x)  ft(x0) (I.1) Un problème d’optimisation est défini par :

– un ensemble de variables qui appartiennent à l’espace de recherche ;

– une fonction d’adaptation qu’on cherche soit à minimiser soit à maximiser ; – un ensemble de contraintes que les variables doivent satisfaire.

Le but d’un tel problème est de trouver une solution ou plusieurs dans l’espace de recherche qui optimisent la fonction d’adaptation tout en respectant les contraintes du problème. L’opti-misation dans un environnement dynamique ajoute un niveau de complexité supérieur à celui déjà présent dans l’optimisation statique. Un problème est dit dynamique quand il y a un chan-gement de la fonction d’adaptation, des variables du problème ou des contraintes [109]. Dans cette thèse nous avons considéré uniquement le changement de la fonction d’adaptation, c’est pourquoi nous présentons la définition suivante :

Définition : Étant donné un problème ft, un algorithme G pour résoudre ft dans un domaine de recherche [ti, tf],

ft est un problème d’optimisation dynamique si une fonction d’adaptation utilisée par G pour résoudre ft change au fil du temps et l’algorithme G doit réagir à ce changement en fournissant

(17)

de nouveaux optimums.

Lorsque des changements surviennent, les solutions déjà trouvées peuvent ne plus être valides et le processus doit s’engager dans un effort de nouvelle recherche. Lors de l’utilisation des AGs pour résoudre ce genre de problèmes, le problème crucial est le maintien d’équilibre nécessaire entre l’exploration et l’exploitation [65]. Si l’algorithme converge, il peut être difficile de retrou-ver sa capacité d’adaptation et de réagir aux changements dans l’environnement.

L’environnement dynamique peut être classé de différentes façons. Par exemple, Branke [16] l’a classé à l’aide de certains paramètres du problème : la fréquence de changement, la gravité du changement, la prévisibilité du changement et la longueur du cycle.

– La fréquence du changement est une caractéristique importante, elle consiste à étudier combien de fois l’environnement change. Ces changements peuvent se produire à chaque génération ou à des intervalles plus grands. Dans la plupart des méthodes utilisant les AGs, l’algorithme ne réagit qu’après qu’un changement est détecté et la fréquence de changement peut déterminer la faculté de l’AG de se réadapter aux nouvelles conditions environnementales.

– La gravité du changement mesure l’ampleur des modifications dans l’environnement. Le changement peut se manifester par un passage à un état complètement différent ou à un autre état semblable.

– La longueur de cycle du changement peut être :

• Périodique : le changement est observé à des intervalles constants ;

• Non linéaire : le changement est observé suivant une fonction non linéaire ; • Aléatoire : le changement est observé à des points aléatoires.

– La période de changement est le nombre de générations entre deux changements d’environ-nements. Si la période de changement suit une tendance linéaire, nous pouvons prédire le moment de la prochaine modification. Dans le cas où la prédiction est possible, la popula-tion peut être préparée à la modificapopula-tion suivante avant qu’elle ne se produise. Dans le cas où le changement de période est complètement chaotique, aucune prédiction n’est possible. L’aspect de prédiction est très important dans le cas où nous sommes intéressés par la conception des AGs qui peuvent réagir avant que le changement se produise.

(18)

I.2 Optimisation dynamique

Dejong [29] a proposé une catégorisation différente qui se base sur la description directe des problèmes. Weicker [121] a proposé une classification qui consiste en une combinaison de celle de Branke et de DeJong.

2.2 Détection de changement dans l’environnement

La plupart des algorithmes d’optimisation dynamique doivent détecter les changements qui surviennent dans la fonction d’adaptation [65]. Le moyen le plus simple et le plus répandu pour y parvenir consiste à réévaluer une solution (détecteur) pour chaque génération : si la valeur de cette solution a changé, on considère alors qu’un changement a eu lieu dans l’environnement. Au lieu de considérer une seule solution, nous pouvons réévaluer les meilleures solutions[73] ou un ensemble de solutions choisies d’une façon aléatoire [48]. D’autres techniques évaluent pour chaque génération des solutions qui n’appartiennent pas à la population des solutions candi-dates [82]. Cependant ces méthodes de réévaluation des solutions présentent certaines faiblesses : – faut il choisir une seule solution candidate et la réévaluer pour chaque génération pour détecter un changement d’environnement ou bien il faut en choisir plusieurs ? si nous optons pour plusieurs quel est le nombre optimum qu’il faut utiliser ?

– est ce que ce nombre de solutions (détecteurs) dépend de la complexité du problème d’optimisation à résoudre ? puisque une analyse théorique [82] a montré que la dimension du problème est un facteur important dans la réussite de la détection des changements ; – cette technique d’évaluer ses solutions pour chaque génération va sûrement augmenter la

complexité de l’algorithme et ralentir le temps d’exécution du programme correspondant ; – est ce que cette technique serait exacte pour affirmer qu’il y a un changement d’environne-ment dans le cas où on utilise une fonction d’adaptation avec un bruit gaussien ou autre, car ce bruit peut induire une erreur et nous faire penser qu’un changement est survenu [56]. La détection des changements d’environnement peut s’effectuer également par :

– des techniques basées sur le suivi de la moyenne des meilleurs solutions trouvées et la déviation standard [49] ;

– l’étude de la distribution de la population pour chaque génération en se basant sur des tests statistiques de Kolmogorov-Smirnov ou les tests de Wilcoxon [49] ;

– des techniques basées sur le comportement génétique de l’algorithme, dans ce cas la dé-tection se fait par l’étude de la diversité génétique de la population [87].

(19)

Ces techniques sont vraiment coûteuses en temps de calcul. Nguyen [87] a montré que ce changement de diversité peut être une spécification de l’algorithme . Néanmoins, la détection de changement par réévaluation d’une ou plusieurs solutions reste souvent la méthode la plus utilisée.

3

Algorithmes Génétiques

La théorie des algorithmes génétiques (AGs) a été initialement développée par John Hol-land en 1960 et a été entièrement élaborée dans son livre "Adaptation in Natural and Artificial Systems", publié en 1975 [53]. Son objectif initial n’était pas de développer un algorithme d’opti-misation, mais plutôt de modéliser le processus d’adaptation, et montrer comment ce processus pourrait être utile au sein d’un système de calcul. Les AGs sont des méthodes de recherche stochastique qui utilisent les concepts de la génétique mendélienne et ceux de l’évolution dar-winienne.

Une population d’individus choisis dans l’espace de recherche, souvent d’une façon aléatoire, sert de solutions candidates au problème à optimiser [105]. Les individus de cette population sont évalués grâce à une fonction d’adaptation ("fitness"). Un mécanisme de sélection est en-suite utilisé pour sélectionner les individus à utiliser comme parents pour ceux de la prochaine génération. Ces individus seront ensuite croisés puis mutés pour constituer la nouvelle progé-niture. La prochaine génération est enfin constituée par un mécanisme de remplacement entre les parents et leur progéniture [93]. Ce processus est répété jusqu’à satisfaction d’une certaine condition d’arrêt. Ces différentes étapes sont détaillées dans les paragraphes suivants.

3.1 Représentation des solutions

La représentation définit la façon dont les individus de la population (solutions candidates) seront codés afin d’être évalués par la fonction d’adaptation. Dans les travaux de Hollande [53] ces solutions sont représentées par des chaînes binaires de longueur fixe. Mais il est très difficile de coder les solutions de plusieurs problèmes d’optimisation en industrie ou en ingénierie avec le codage binaire [40]. Différents types de codage peuvent être utilisés, en fonction du problème, par exemple, binaire, réel, entier ou permutations des éléments. Les opérateurs génétiques agissent sur ce codage et par conséquent, la sélection d’un bon codage est un choix critique dans la conception des AGs [8].

(20)

I.3 Algorithmes Génétiques

3.2 Population des solutions candidates

Une population est formée par un ensemble d’individus, appelés également chromosomes, typiquement d’une taille fixe. Chaque individu représente une solution possible au problème à résoudre et consiste en une séquence d’éléments plus petits, appelés gènes. Chaque gène peut prendre des valeurs différentes, ou allèles. Au début de l’évolution, une population initiale est générée de façon aléatoire, mais il existe plusieurs heuristiques pour créer cette population ini-tiale. Cette population évolue au fil des générations. A la fin du processus, il est prévu que l’AG converge vers une région de l’espace de recherche qui contient une solution satisfaisante. La taille d’une population est un élément important dans le paramétrage des AGs, qui in-fluence la complexité de l’algorithme. Typiquement, la taille de la population est constante, mais il existe plusieurs versions des AGs où cette taille est dynamique [47], [106], et [123].

3.3 Fonction d’adaptation

La fonction d’adaptation sert à mesurer la qualité des individus de la population. Cette mesure est soit à maximiser soit à minimiser. La définition de cette fonction est une tâche difficile et une étape essentielle. Si elle est mal définie elle pourra mener les algorithmes génétiques vers des solutions inacceptables.

3.4 Sélection

La sélection [7] est utilisée pour choisir les parents qui vont survivre pour produire les enfants de la prochaine génération. Les parents avec les meilleures valeurs d’adaptation ont plus de probabilité d’être choisi pour l’accouplement. Il y a différentes méthodes de sélection qui peuvent être utilisées : la roulette biaisée, la sélection par rang, la sélection par tournoi, la sélection de Boltzmann et bien d’autres [58]. La roulette biaisée sélectionne des individus en fonction de leur valeur d’adaptation relative : des individus de plus grande valeur d’adaptation ont une probabilité plus élevée d’être sélectionnés. Dans la sélection par tournoi, un certain nombre (taille du tournoi) des individus est choisi au hasard, et le meilleur individu est sélectionné. La méthode de sélection par rang est basée sur le rang des individus en fonction de leur valeurs d’adaptation. Chaque individu a une certaine probabilité d’être choisi, en fonction de son rang.

3.5 Croisement

L’opérateur de croisement [50], [8] vise à orienter la recherche vers les régions prometteuses de l’espace de recherche. Pour cela, les individus (enfants) crées par croisement héritent les

(21)

Figure I.2– Exemple de croisement en représentation binaire.

meilleures caractéristiques de leurs parents et peuvent exploiter au mieux l’espace de recherche. L’exemple le plus simple de ce type d’opérateur est appelé croisement par 1 point. Son principe consiste à choisir un point aléatoire de la structure génétique des deux parents à croiser. Ensuite, on échange les gènes entre ces deux parents. Nous pouvons également utiliser deux points, ou plusieurs points pour contrôler l’échange de gènes entre les deux parents (figure I.2). Un autre opérateur de croisement bien connu est appelé croisement uniforme, où les gènes des deux parents sont entrelacées selon un masque aléatoire. On trouve également l’opérateur appelé "simulated bianry crossover SBX" qui est une autre version de croisement 1 point dans le cas d’un codage réel. D’autres opérateurs se trouvent dans la littérature, on peut citer entre autres, "Uniform Crossover Operator (UXO)", "Cycle Crossover (CX)", "PartiallyMapped Crossover (PMX)" et "Uniform Partially-Mapped Crossover (UPMX)" : ces opérateurs de croisement sont conçus pour le problème de voyageur de commerce [59], [86].

3.6 Mutation

La mutation [102] consiste à altérer la composition génétique de quelques chromosomes pour créer une diversité génétique au sein de la population. Cet opérateur permet d’explorer de nouveaux espaces de recherches et permet à l’AG de donner chance à d’autres solutions candidates. La figureI.3donne un exemple de mutation pour un individu codé en représentation par permutation.

Cependant, les deux opérateurs génétiques, croisement et mutation sont appliqués avec une certaine probabilité. En général une faible probabilité est accordée à la mutation alors que le croisement se voit accordé une forte probabilité. En effet, un taux de mutation élevé va rendre l’AG comme une recherche aléatoire et ne va pas converger vers la solution optimale.

(22)

I.4 Les différentes approches en optimisation dynamique

Figure I.3–Exemple de mutation en représentation par permutation.

3.7 Remplacement

Le remplacement est l’opération qui consiste à passer d’une génération à une autre [7]. Il peut se faire de deux façons : la première consiste à garder uniquement les descendants, c’est l’approche générationnelle ; la deuxième consiste à fusionner les deux populations en choisissant les meilleures de leurs individus (parents et fils). Une version possible de ce fusionnement est de garder une petite fraction des meilleurs parents et de compléter la population par la meilleure progéniture, cette approche est appelée élitisme [34].

Entrées : N : taille de la population ;Px : Probabilité de croisement

Entrées : Pm : Probabilité de mutation

Sorties : Le meilleur individu - t ← 0

- Choisir N individus (Ii) d’une façon aléatoire pour former la population P(t)

tant que Condition 6= V rai faire Évaluer(P(t) P1(t) ← Selection(P (t)) P2(t) ← Croisement(P1(t)) P3(t) ← M utation(P2(t)) P (t) ← Remplacement(P1(t), P3(t)) t ← t + 1 fin

Figure I.4–Pseudo-code de l’algorithme génétique standard SGA().

4

Les différentes approches en optimisation dynamique

Diverses méthodes et techniques ont été développées pour faire face aux difficultés soulevées par les environnements dynamiques. Cette section examine les approches les plus importantes, qui permettent de perfectionner les AGs dans des environnements dynamiques. Les différents méthodes sont divisées en quatre principales approches [109] : la promotion de la diversité, l’utilisation de la mémoire, les multi-populations, et l’anticipation de changements.

(23)

4.1 Promotion de la diversité

Le principal inconvénient de l’application des AGs dans un environnement dynamique est qu’une fois l’algorithme tend à converger autour de certains optima, il commence à perdre sa capacité de poursuivre la recherche d’un nouvel optimum. Par conséquent, un point clé dans les approches d’optimisation est la nécessité d’accroître ou de maintenir la diversité de la population, de sorte que l’algorithme conserve sa capacité à explorer l’espace de recherche, même lorsque la population a partiellement convergé vers une solution optimale. Différentes méthodes ont été utilisées pour diversifier ou pour maintenir la diversité de la population. Les travaux qui ont adopté cette approche sont décrits dans les paragraphes suivants.

4.1.1 Re-initialisation

Cette approche consiste en un redémarrage de l’AG chaque fois qu’un changement est dé-tecté. Cette approche est simple à mettre en œuvre. Cependant, aucune information du passé n’est transférée à la configuration actuelle de l’AG. En plus, un compromis doit avoir lieu entre l’exploitation qui consiste en un transfert de connaissances autant que possible, et une explo-ration qui consiste en une insertion de nouveaux individus. Dans cette approche, chaque fois on assiste à une nouvelle exploration ce qui signifie qu’aucune exploitation des informations précédentes n’est faite. Par conséquent cette technique mettra un temps significatif pour re-trouver les nouveaux optima. On peut re-trouver cette technique dans les premières approches de résolution des problèmes dynamiques, dans un travail de Grefenstette et Ramsey [44] et aussi dans la résolution d’ordonnancement dynamique traité par Kidwell [66].

4.1.2 Méthodes de niches

Les méthodes basées sur le concept de niches ont été développées dans [97], [77] et [92] pour réduire l’effet de dérive génétique résultant de l’opérateur de sélection. Elles maintiennent la diversité de la population et empêchent l’AG d’être piégé dans des optima locaux [3]. Le concept de niches est basé sur le mécanisme des écosystèmes naturels. Une niche peut être considérée comme un sous-espace de l’environnement qui contient un optimum [19].

Cependant, le rayon des niches et le nombre des niches sont souvent estimés, ceci peut affecter la performance des algorithmes [25]. Étonnement, la plupart des techniques qui utilisent cette approche ne sont pas encore exploitées dans le contexte de l’optimisation dynamique (le seul travail qui a utilisé ce concept est le travail d’Ursem [110]) malgré que ce concept maintient la diversité de la population. Dans cette thèse nous avons exploité cette approche dans un environnement dynamique et avons contribué avec trois modèles.

(24)

I.4 Les différentes approches en optimisation dynamique

4.1.3 Hyper-mutation

Une autre approche pour promouvoir la diversité après un changement d’environnement est d’adapter le taux de mutation. L’hypermutation déclenchée a été proposée dans [22] et [45] pour réintroduire la diversité dans une population opérante dans des environnements dynamiques. Dans ces travaux, les auteurs ont exploré l’utilisation de mutation comme un paramètre qui contrôle la diversité afin d’améliorer les AGs. Cette méthode a été utilisée avec un AG stan-dard ayant une population de taille fixe, la roulette biaisée comme opérateur de sélection, le croisement à plusieurs points et un taux de mutation de 0.001. Dans cet algorithme le taux de mutation varie au fil du temps ; quand un changement d’environnement est détecté, le taux de mutation est multiplié par un facteur d’hypermutation. Si ce facteur est grand le taux de mutation prendra la valeur 1, dans ce cas cette approche est équivalente à l’approche de re-initialisation dans le cas où ce facteur est faible cette approche est équivalente à l’algorithme génétique standard.

Morrison et Kenneth [81] ont révisé le mécanisme d’hypermutation et ont examiné les effets de la relation entre le facteur d’hypermutation et la période du changement d’environnement sur l’efficacité des AGs. Ils ont montré que la technique d’hypermutation peut suivre le mouve-ment de l’optimum uniquemouve-ment dans le cas où l’intervalle de changemouve-ment d’environnemouve-ment est faible.

Angeline [5] a comparé l’utilisation du taux de mutation adaptatif sur le suivi de l’optimum dans un environnement dynamique. L’étude comparative a été appliquée sur différentes fonc-tions dynamiques. L’auteur a conclu que pour certaines foncfonc-tions dynamiques, l’auto-adaptation a été efficace alors qu’elle doit être évitée pour d’autres fonctions.

Vavak et les autres [116] ont proposé un opérateur de mutation, appelé variable locale de re-cherche (VLS). L’AG utilisant cet opérateur d’adaptation a été appliqué sur deux applications industrielles où l’AG était responsable du contrôle des systèmes en ligne. Le VLS a augmenté légèrement le taux de mutation dans le cas où un changement est détecté. Les auteurs ont comparé leur approche avec l’opérateur hypermutation standard. Les résultats expérimentaux ont montré que l’opérateur VLS a marqué une perfection uniquement dans le cas de petits changements dans l’environnement. En général, les méthodes de cette approche semblent être bonnes pour la résolution de problèmes ayant des petits moyens changements [116], [115].

(25)

sou-haitable pour certains types de problèmes. Ces inconvénients sont énumérés comme suit : – la plupart des méthodes de cette approche détectent les changements en observant la

diminution de l’aptitude des meilleurs individus et / ou des individus de la population entière, mais si un changement apparaît dans un endroit où aucun individu n’existe, il ne sera pas détecté [82]. Cette approche ne peut pas détecter les changements au niveau des contraintes dynamiques [89] ;

– difficulté à identifier un taux de mutation adéquat : un taux de mutation trop petit res-semble à une recherche locale alors que des valeurs trop grandes se traduisent par une recherche aléatoire [65] ;

– inefficacité pour résoudre des problèmes avec des changements aléatoires ou des change-ments importants, parce que, dans cette approche le taux de mutation est limité à une plage spécifique [55].

– inefficacité pour résoudre les problèmes avec les changements rapides : après avoir intro-duit la diversité, les méthodes de cette approche ont besoin de temps pour converger à nouveau. En conséquence, si le changement est rapide, elles ne sont pas en mesure de trouver l’optimum global [22].

4.1.4 Immigrant aléatoire

Grefenstette a introduit la stratégie des immigrants aléatoires [45] qui est le remplacement d’un pourcentage de la population (taux de remplacement) par des individus générés de façon aléatoire. Ce remplacement se fait à chaque génération et vise à maintenir un niveau constant de l’exploration de l’espace de recherche, tout en minimisant la perturbation de la recherche en cours.

En explorant cette même idée, Yang et al. [127], [133], [131] et [138] ont utilisé un schéma hybride des immigrants aléatoires. Leurs méthodes combinent les concepts d’élitisme, de dua-lisme et d’immigrant aléatoire. Le meilleur individu de la génération précédente et son com-plémentaire sont récupérés afin de créer des immigrés par mutation. L’élitisme, le dualisme et les immigrants aléatoires sont substitués dans la population actuelle pour remplacer les pires individus de la population. Ces méthodes ont été utilisées pour résoudre les problèmes d’optimi-sation dynamique dans des environnements avec des changements de gravité légère, moyenne et importante. Des travaux connexes en utilisant des techniques similaires, peuvent être trouvées dans [131], [138].

(26)

I.4 Les différentes approches en optimisation dynamique

Un autre schéma des immigrants aléatoires est proposé par Tinos [133]. Dans ce travail, les pires individus de la population sont remplacés par de nouveaux individus. Le remplacement d’un individu peut affecter d’autres individus dans une réaction en chaîne. Une sous-population est maintenue avec les individus nouvellement créés dans la réaction en chaîne courante. Un remplacement unique peut affecter un grand nombre d’individus de la population. Le système pourrait présenter un comportement d’auto-organisation qui est utile pour contrôler la diversité de la population et permet ainsi à l’algorithme d’échapper aux optima locaux lorsque l’envi-ronnement change.

Cependant, ces méthodes qui préservent la diversité tout au long de la recherche ont aussi quelques inconvénients :

– Ces techniques sont axées sur la diversité ce qui peut ralentir le processus d’optimisation [65].

– La plupart des techniques de cette approche maintiennent leur diversité en ajoutant un élément stochastique tout au long de la recherche. Dans ce cas l’algorithme est moins efficace dans le traitement de petits changements où les optima font un léger mouvement loin de leurs positions précédentes [23].

4.1.5 Système immunitaire

L’utilisation du système immunitaire (SI) dans les AGs est une autre méthode pour la promo-tion de la diversité de la populapromo-tion. Le SI est un système complexe, distribué et multi-couches. Il est basé sur les cellules B qui participent à un processus appelé la sélection clonale [75]. Ce processus est similaire à l’évolution de la population en utilisant un algorithme génétique avec l’opérateur de mutation et sans croisement. Néanmoins, au cours du clonage, des variations peuvent se produire en raison d’un processus d’hypermutation somatique, ce qui permet d’aug-menter la diversité. Le système immunitaire a été appliqué pour promouvoir la diversité dans des environnements dynamiques [128], [75].

Cependant le codage redondant (le clonage) ne garantit pas la diversité nécessaire pour s’adapter aux changements aléatoires. En plus, le code redondant pourrait devenir trop com-plexe, donc il va réduire les performances de l’algorithme. Dans la pratique, il n’est pas toujours possible de connaître le nombre d’états de changements d’environnement, sans cette informa-tion, il est impossible de concevoir une représentation appropriée pour le code redondant [100].

(27)

4.2 Utilisation de la mémoire

Dans les problèmes dynamiques, la mémoire est utilisée pour stocker les dernières solutions efficaces avec l’hypothèse que l’optimum peut être égal à sa valeur précédente. Lorsque certains aspects du problème présentent un certain genre de comportement périodique, les anciennes solutions peuvent être utilisées pour affiner la recherche et réduire le temps de calcul. L’uti-lisation de la mémoire est bénéfique sur ces types d’environnements. L’approche basée sur la mémoire peut être divisée en deux catégories

4.2.1 Mémoire implicite

L’utilisation de la représentation redondante est la caractéristique principale du mode mé-moire implicite. Cette approche utilise les chromosomes diploïdes ou multi-diploïdes qui per-mettent de mémoriser implicitement le meilleur individu de la population. Un système de domi-nation contrôle quels gènes sont exprimés dans le phénotype. La notion diploïde a été d’abord utilisée dans [41]. Goldberg et Richardson ont introduit le principe de dominance, leur méthode a été testée dans le problème du sac à dos dynamique et les résultats ont été nettement meilleurs que ceux de l’AG standard. Une méthode de domination différente a été suggérée par Wong [85]. D’autres travaux utilisant la mémoire implicite basés sur les représentations et les méca-nismes de domination diploïde peuvent être trouvés dans [129], [130] [111]. La mémoire impli-cite peut également être mise en œuvre à l’aide du mécanisme de dualisme comme suggéré dans [134]. Ce mécanisme a été inspiré de la complémentarité et de la domination présentes dans les systèmes naturels. Si le chromosome dual présente une valeur d’adaptation plus grande, il est préservé, sinon le primal est préservé dans la prochaine génération. D’autres travaux utilisant le mécanisme du dualisme sont présentés dans [117], [91] et [119].

4.2.2 Mémoire explicite

Les méthodes de l’approche à base de mémoire explicite ont besoin d’un espace supplémen-taire pour stocker explicitement des informations sur les individus ou les environnements. Dans ces méthodes, une population effectue la recherche de l’optimum, l’autre population, appelée mémoire, stocke des informations utiles qui sont réutilisées plus tard. En ce qui concerne l’in-formation qui est stockée dans la mémoire, Yang [131] a classé cette approche en deux groupes principaux :

– mémoire directe : mémorise les meilleurs individus et les réutilise quand un changement de l’environnement est détecté.

(28)

I.4 Les différentes approches en optimisation dynamique

– mémoire associative : mémorise les meilleures individus et l’information environnementale associée à ces individus. Quand un changement est détecté, ces deux informations sont utilisées pour créer de nouveaux individus qui sont introduits dans la population.

Un troisième groupe peut être ajouté à cette classification : systèmes de mémoire d’im-migrants, qui stockent les meilleurs individus de la population et les utilisent pour créer des immigrants qui sont introduits dans la population.

Cette approche est efficace pour résoudre les problèmes avec un changement environnemen-tal périodique. Yang et Yao [135] ont montré que les versions basées sur la mémoire et les immigrants aléatoires dépassent en terme de performance les algorithmes originaux dans des environnements dynamiques de nature cyclique.

Cependant cette approche peut être utile uniquement lorsque les optima réapparaissent à leur emplacement d’origine ou si l’environnement retourne à ses états antérieurs, c’est l’inconvé-nient le plus important de l’approche basée sur la mémoire. Récemment, certaines études ont tenté d’améliorer cet inconvénient en combinant des approches fondées sur la mémoire avec les régimes de la diversité [135], [137].

4.3 Multi-population

Dans l’approche multi-population, la population principale est divisée en plusieurs sous-populations [18]. Les différentes sous-populations sont placées dans différentes régions de l’es-pace de recherche ce qui permet de préserver la diversité. Certaines sous-populations peuvent se concentrer sur la recherche de l’optimum global tandis que d’autres peuvent se concentrer sur le suivi des modifications éventuelles. Ces deux types de populations peuvent alors se com-muniquer pour perfectionner la recherche.

Plusieurs versions de l’approche multi population sont abordées dans la littérature, telle que la méthode multi-population basée sur la distribution uni-variée qui est introduite dans [125] et l’approche multi-population combinée avec le concept des immigrants [21]. Cependant cette approche a quelques inconvénients :

– le nombre de populations est difficile à définir car elle dépend du nombre d’optima locaux ; – la zone de recherche et la taille de chaque population sont difficiles à définir ;

– un grand nombre de sous-populations peut ralentir la recherche. Blackwell et Branke [12] ont montré que, si le nombre de sous-populations (essaims) est plus grand que le nombre de pics, la performance de l’algorithme diminue.

(29)

4.4 Anticipation et prédiction des changements

Récemment, plusieurs études concernant l’anticipation dans des environnements dynamiques ont été proposées. L’objectif principal de cette approche est d’estimer la probabilité de certaines situations futures et de décider ce que l’algorithme devrait faire dans la situation actuelle. Branke et al. [17] ont essayé de comprendre comment les décisions prises à un stade ont in-fluencé les problèmes rencontrés dans l’avenir. Les futures modifications ont été anticipées en cherchant non seulement de bonnes solutions, mais aussi les solutions qui ont influencé l’état du problème d’une manière positive. Ces solutions flexibles étaient facilement adaptables aux changements de l’environnement. Stroud [104] a utilisé un algorithme, dans lequel un filtre de Kalman est appliqué aux valeurs d’adaptation associées aux individus de la population. Le but de ce filtre est de déterminer quand on génère un nouvel individu, quand on réévalue un individu existant, et quel individu est à réévaluer. Cet algorithme a été appliqué avec succès au problème de maintenance de la configuration d’un réseau dans lequel les nœuds sont mobiles et la transmission sur une liaison est stochastique.

Van Hemert et al. [114] ont introduit un algorithme génétique avec un méta-apprenant. Cette approche a utilisé deux populations, l’une a recherché l’optimal courant, l’autre a exploité les meilleurs individus dans le passé pour prédire la meilleure valeur à l’avenir. La prédiction a été faite sur la base des observations du passé. L’idée a été testée avec deux problèmes de tests : le problème de sac à dos et la fonction de l’Osmera.D’autres techniques de cette approche se trouvent dans [13],[14], [94], [96],[114].

Cependant, si l’algorithme de cette approche n’a pas marqué une performance dans les changements antérieures, les données recueillies par l’algorithme ne seraient pas utiles pour la prédiction ou pourraient même influencer la performance de l’algorithme. Si les changements sont stochastiques, ou les données recueillies sont trompeuses, l’approche de prédiction pourrait ne pas obtenir des résultats satisfaisants. Par exemple, Nguyen [88] illustre une situation où les données sont inappropriées pour la prédiction et pourraient même induire des erreurs dans les résultats.

4.5 Algorithme Hybride

Dans la littérature plusieurs techniques ont été combinées pour donner un algorithme hybride [135],[108]. Branke [16] a déclaré que la mémoire doit être toujours utilisée en combinaison avec un mécanisme qui préserve la diversité de la population. La combinaison de mémoire, implicite ou explicite, et de la diversité a été utilisée dans [112], [75] et [119].

(30)

I.5 Validation des algorithmes en optimisation dynamique

La technique de combinaison d’algorithmes est un domaine prometteur de recherche. Ce-pendant l’idée de combler les lacunes de certains algorithmes par les avantages d’autres, peut donner naissance à un algorithme hybride qui a une complexité importante.

5

Validation des algorithmes en optimisation dynamique

La validation des algorithmes est un point crucial dans le développement, l’évaluation et la comparaison des algorithmes. D’une part il faut choisir des problèmes de test simples à concevoir, efficaces et configurables suivant différents paramètres de l’optimisation dynamique. D’autre part il faut choisir des mesures qui permettent d’évaluer la capacité des algorithmes à trouver, à suivre les optima au fil des temps et aussi mesurer la diversité génétique de la population.

5.1 Problèmes de test

Pour tester les performances des algorithmes génétiques dans un environnement dynamique, on les applique à des problèmes de test qui existent dans la littérature. Les plus connus de ces problèmes sont les suivants :

– "Bit matching" Dynamique

le problème "Bit-matching" [103] est un problème uni-modal, son but est de trouver une solution, qui est une chaîne de bits, correspondant à une chaîne cible. La fonction d’adap-tation d’un individu i (chaîne candidate) est définie comme le nombre de bits qui possèdent des correspondants dans la chaîne cible. Cette fonction d’adaptation peut être calculée en utilisant la distance de Hamming entre l’individu i est la chaîne cible :

fi = Longueur(chaîne_cible) − Distance_Hamming(chaîne_cible, chaîne_candidatei) (I.2)

Exemple :

Considérons deux chaînes a et b de longueur 7 ; a(0 0 0 1 1 1 1) et b(1 1 0 1 0 1 1)

fb=Longueur(a)-Distance_Hamming(a,b)=7-3

La solution optimale a des bits qui correspondent à tous les bits dans la chaîne cible, par conséquent la distance de Hamming entre les deux chaîne est nulle. Dans la version dynamique, les bits de la chaîne cible changent à chaque changement d’environnement.

(31)

La difficulté du problème peut être augmentée en utilisant des chaîne de longueur variable. – Parabole mouvante

Ce problème utilise une fonction parabolique avec un codage réel. Dans la version dyna-mique [5], la fonction parabolique effectue une translation dans l’espace en fonction du temps suivant l’équation :

f(x) = n

X

i=1

(xi+ ∆i(t))2 (I.3)

La difficulté du problème dépend de la dimension (n). La sévérité du changement est déterminée par la fonction de translation (∆) qui peut être :

– linéaire : ∆i(t) =    0 si t = 0 et i ∈ { 1, 2, ...., n} ∆i(t − 1) + s si t 6= 0. (I.4) – circulaire : ∆i(0) =    0 si i est impair s si i est pair ∆i(t) =    ∆i(t − 1) + s. sin(2πt γ ) si i est impair ∆i(t − 1) + s. cos(2πt γ ) si i est pair (I.5) – aléatoire : ∆i(t) =    0 si t=0 et ∀i ∈ {1, 2, ...., n}

∆i(t − 1) + s.Ni(0, 1) si t 6= 0. (I.6) γ correspond au longueur du cycle et s ∈ {0.001, 0.01, 0.1, 0.5, 1.0}. Cette fonction a été utilisée par Angeline [5] avec γ = 25 et n = 3.

– Fonctions déceptives décomposables de Yang

Le système de Yang commence par construire une fonction à partir de m fonctions décep-tives de la manière suivante :

f(~x) = m X i=1 fi(~xIi) = Xm i=1 ci× Fi(u(~xIi)) (I.7) avec Fi(u(~xIi)) =    ai

zi(zi− u(~xIi)) Si u(~xIi) ≤ zi

bi

li−zi(u(~xIi) − zi) Sinon.

(32)

I.5 Validation des algorithmes en optimisation dynamique

ai, bi et zi représentent respectivement l’optimum local, l’optimum global et la position du changement de pente des fonctions déceptives . Le paramètre ciest un facteur d’échelle qui est utilisé pour définir le poids de chaque fonction déceptive. Il faut noter aussi que chaque fonction Fi consiste en Ii bits et elle est indexée par la chaine de bits ~x = {xI1, xI2, ...., xIm}.

En se basant sur ce système de fonctions déceptives, plusieurs environnements dynamiques peuvent être construits. On peut changer ai, zi ou ai, bi et zi simultanément [126].

– Fonction de Dejong

De Jong et Morrison [84] ont proposé une fonction de fitness statique : f(X, Y ) = max

i=1...NhHi− Ri

q

(X − Xi)2+ (Y − Yi)2i (I.9)

Notons que N spécifie le nombre des cônes dans l’espace de recherche. Chaque cône se définit par ses coordonnées (Xi, Yi), sa hauteur Hi et une inclinaison Ri

L’environnement dynamique peut être obtenu en spécifiant les paramètres (Xi, Yi), Ri et Hi et la complexité de la fonction dépend du nombre de pics. Un des plus populaires ap-proches consiste à utiliser une fonction non linéaire avec des transitions progressives afin de produire des comportements de plus en plus complexes.

– Problème des pics mouvantes

Branke [16] a proposé un problème de test simple et efficace et a fait une rupture avec les problèmes très complexes, difficiles à comprendre. L’idée est de concevoir une fonction artificielle multidimensionnelle contenant plusieurs pics, où la hauteur , la largeur ou la position de chaque pic sont légèrement modifiés chaque fois qu’un changement se produit dans l’environnement. Pour une fonction d’adaptation de dimension D le problème est défini comme suit :

F (~x, t) = maxi=1,...,p Hi(t) 1 + Wi(t)PD

j=1(xj(t) − Xij(t))

2 (I.10)

où Hi (t) et Wi (t) sont la hauteur et la largeur respectivement de pic à l’instant t. Xi,j est le jième élément de l’emplacement du pic i à l’instant t. Chaque pic peut changer sa hauteur et sa largeur par un ajout d’une variable gaussienne aléatoire σ. La position de chaque pic peut changer par une translation d’un vecteur −→v de norme fixe s. Un paramètre λ, détermine de combien le changement en emplacement d’un pic dépend de sa position précédente. Si λ = 0 chaque mouvement est totalement aléatoire, par contre, si λ = 1, le pic se déplace toujours dans la même direction. Plus formellement, un changement d’un

(33)

seul pic peut être décrit comme suit :

σ ∈ N(0, 1) (I.11)

Hi(t) = Hi(t − 1) + 7 × σ (I.12)

Wi(t) = Wi(t − 1) + 0.01 × σ (I.13) −

X(t) =−→X(t − 1) + −v (t) (I.14) le vecteur −→v (t) est une combinaison linéaire d’un vecteur aléatoire −r, du vecteur de déplacement précédent −→v(t − 1) et de la norme s, i.e.

v (t) = s.(1 − λ)−r) + λ−v(t − 1)

r + −v (t − 1) (I.15)

r est un vecteur aléatoire de norme s. Le vecteur −r est créé par l’établissement de nombres aléatoires pour chaque dimension. Le problème des pics mouvantes permet de faire varier plusieurs paramètres comme la dimension, le nombre des pics, la sévérité, le hauteur maximale et minimale des pics et bien d’autres. Branke a proposé plusieurs scé-narios qui sont des valeurs standards de ces paramètres.

– Générateur des tests dynamiques généralisés

Lors de la compétition du congrés CEC’09 [71], le générateur des tests dynamiques généra-lisés a été l’outil pour tester la performance des travaux dédiés à l’optimisation dynamique. Une autre version a été présentée dans CEC’12 [72] mais avec des simples modifications. Il est basé sur six fonctions de test souvent utilisées dans des problèmes d’optimisation. Ces six fonctions statiques sont utilisées pour générer des fonctions dynamiques par rotation, combinaison et composition :

– F1 : fonction à pics (10 et 50 pics) ; – F2 : composition de la fonction Sphère ; – F3 : composition de la fonction Rastrigin ; – F4 : composition de la fonction Griewank ; – F5 : composition de la fonction Ackley ;

– F6 : composition hybride de fonctions (Sphère, Ackley, Griewank, Rastrigin, Weiers-trass).

(34)

I.5 Validation des algorithmes en optimisation dynamique

– T1 : un déplacement faible ;

∆φ = α. kφk .r.φseverity (I.16)

– T2 : un déplacement important ;

∆φ = kφk . (α.sign (r) + r. (αmax− α)) .φseverity (I.17) – T3 : un déplacement aléatoire selon une distribution Gaussienne ;

∆φ = N (0, 1) .φseverity (I.18) – T4 : un changement chaotique ; φ(t + 1) = A. (φ (t) − φmin) .(1 − (φ (t) − φmin)) kφk (I.19) – T5 : un changement récurrent ; φ(t + 1) = φmin+ kφk .  sin P t+ ϕ  + 1 2 (I.20)

– T6 : un changement récurrent bruité ; φ(t + 1) = φmin+ kφk .  sin P t+ ϕ  + 1 2 + N(0, 1).noisyseverity (I.21) – T7 : un changement de la dimension d’espace de recherche.

D(t + 1) = D(t) + sign.∆D (I.22)

avec kφk est la gamme de changement de φ, φseverity est une constante qui indique la sévérité du changement de φ, φmin est la valeur minimum de φ. Les valeurs α ∈ d0, 1e et αmax(0, 1) sont des constantes, qui prennent les valeurs 0.04 et 0.1 dans le générateur des tests dynamiques généralisés. A est une constante qui prend les valeurs dans l’intervalle [1.0, 4.0]. Le nombre ϕ indique la sévérité du changement de la phase d’initialisation, noisyseverity(0, 1), r est un nombre aléatoire ∈ (−1, 1), sign(r) retourne 1 quand r est plus grand que 0 et retourne -1 quand r est inférieur à 0, ∆D est égal à 1.

D(f) = Max_D =⇒ sign = −1 (I.23)

(35)

avec Max_D et Min_D sont respectivement le maximum et le minimum de dimension [70]. Par combinaison de ces six fonctions de test et avec ces sept types de changements (la fonction F1 étant utilisée avec 10 et 50 pics), nous obtenons ainsi un ensemble de 49 fonctions dyna-miques.

Pour évaluer l’algorithme, Nguyen et al [70] ont utilisé la moyenne des meilleurs valeurs, des valeurs moyennes, la moyenne des pires valeurs et l’écart type.

Un score est calculé pour chaque fonction dynamique (49 fonctions) et la somme de tous les scores correspond à la performance globale de l’algorithme.

5.2 Mesure de performance

Les mesures de performance permettent d’évaluer l’efficacité et l’adaptabilité d’algorithmes. Mais comment mesurer ces aspects dans un environnement qui varie au fil du temps ? Com-ment reconnaitre qu’un algorithme est capable de suivre les optimums dynamiqueCom-ment ? Ces aspects peuvent être évalués certes par des graphes (le graphe du meilleur et de la moyenne de la fonction d’évaluation au cours des générations). Mais il est préférable d’utiliser des valeurs numériques comme critère de comparaison. Ces valeurs numériques sont :

– Performance en ligne [16] : représente la moyenne des évaluations au cours d’un cycle d’exécution. olp= 1 T N X t=1 et (I.25)

N représente le nombre d’évaluations et et est l’évaluation à l’instant t.

– Performance hors ligne [16] : représente la moyenne des meilleures solutions à chaque étape of p= 1 T N X t=1 et (I.26) et = max(e1, e2, ..., et)

Branke propose une autre formule dans le cas où l’environnement change d’une façon connue : of p0 = 1 T N X t=1 e0t (I.27) avec e0

t = max(eτ, eτ +1, ..., et) et τ est l’instant où un changement dans l’environnement s’est produit.

Cette mesure est très utilisée, mais son inconvénient est que l’instant de changement d’en-vironnement doit être connu.

(36)

I.5 Validation des algorithmes en optimisation dynamique

– Adaptabilité globale [120] : est la moyenne de la fonction d’adaptation du meilleur individu de chaque génération.

fg = 1 G G X t=1 bestt (I.28)

G est le nombre de générations, bestt est la valeur d’adaptation du meilleur individu. – Erreur moyenne : cette mesure peut être employée si l’optimum désiré est connu. On

la calcule comme la différence entre l’optimum connu à priori et l’optimum trouvé par l’algorithme.

– Meilleur de la génération [134] : est la moyenne de la meilleure valeur de la fonction d’adaptation durant G générations. Cette mesure est décrite comme suit :

¯ FBOG = 1 G G X i=1   1 R R X j=1 FBOGi,j   (I.29)

avec G est le nombre de générations, R est le nombre total d’exécutions et FBOGi,j est la

meilleure fitness de la génération i au cours de l’exécution j.

L’inconvénient de cette mesure c’est qu’elle peut être influencée par la variation de la fonc-tion d’adaptafonc-tion aux différents intervalles de changement. En effet si dans un intervalle de changement la valeur d’adaptation est très grande par rapport aux autres intervalles de changement, cette mesure FBOG sera influencée par cette grande valeur de la fonction d’adaptation et ne pourra pas refléter la performance globale de l’algorithme [109]. – Précision [120] : est fondée sur la performance hors ligne qui est une mesure proposée

par Dejong [29], et peut être utilisée si l’optimum est connue. Elle évalue la différence entre la valeur du meilleur individu courant et la valeur de l’optimum, au lieu d’évaluer seulement la valeur du meilleur individu. La précision consiste en la moyenne sur un cycle entier de la différence entre la valeur du meilleur individu courant dans la population du "juste avant le changement" de génération et la valeur optimum. La précision mesure la capacité pour récupérer le nouvel optimum avant qu’une nouvelle modification arrive. Si la précision atteint la valeur zéro cela signifie que l’algorithme a trouvé l’optimum à chaque instant t avant qu’un changement ait arrivé.

acc = 1 K

K

X

i=1

(37)

Où K est le nombre de changements pendant l’exécution, r est le nombre de générations entre deux changements consécutifs et Erri,r−1 est la différence entre la valeur d’aptitude du meilleur individu juste avant un changement i, et l’optimum connu à priori.

Certaines mesures sont axées sur le comportement des AGs dans un environnement dynamique. Un exemple d’un tel comportement est la faculté de maintenir la diversité [83]. Ces mesures sont généralement utilisées en complémentarité avec les mesures précédemment présentées.

La moyenne de la diversité de la population est calculée en accord avec la formule : ¯ Div(t) = 1 G 30 X k=1   1 ln(n − 1) n X i=1 n X j6=i di,j(k, t)   (I.31)

Di,j(k, t) est la distance euclidienne entre le iièmeet le jième individu à la génération t du le kième exécution. Mais cette mesure basée sur la distance euclidienne ignore la diversité phénotypique, puisque la distance euclidienne entre des individus peut être grande et ils ont une même valeur d’adaptation.

D’autres mesures sont aussi présentes en littérature comme le moment d’inertie, l’entropie et bien d’autres. Mais des études récentes [36], [87] ont montré que les mesures basées sur le comportement des algorithmes ne se rapportent pas directement sur la qualité des solutions.

6

Conclusion

Dans ce chapitre nous avons présenté et examiné les approches génétiques dans l’environne-ment dynamique, ainsi que les problèmes de test et les mesures de performance.

Cette étude a montré qu’aucune approche n’est parfaite et peut être convenable à certains types de problèmes [122].

Plusieurs recherches récentes ont essayé de combiner différentes approches. D’autres ont essayé de combler les limitations de certaines approches pour donner naissance à des algorithmes plus performants.

Dans les chapitres suivants nous allons présenter des modèles que nous avons conçus pour pallier certains limitations de l’approche qui se base sur la diversité. Notre premier modèle permet de diversifier la population avec un nouveau opérateur génétique qui se base sur les prototypes d’un algorithme de classification de la population et ce modèle contrôle la pression de sélection avec une nouvelle méthode de sélection. L’adaptation des opérateurs génétiques joue un rôle important dans l’optimisation statique ; dans notre deuxième modèle nous avons présenté l’adaptation des opérateurs d’exploitation et d’exploration afin de maintenir la

(38)

diver-I.6 Conclusion

sité génétique et nous avons montré que c’est une bonne voie dans le recherche de résolution des problèmes d’optimisation dynamique. Notre dernier modèle utilise des règles floues pour ajuster deux paramètres importants dans les algorithmes à savoir les taux de mutation et de croisement qui ont permis d’établir un équilibre entre exploitation et exploration.

(39)

Chapitre II

Modèle basé sur les prototypes

1

Introduction

Les algorithmes génétiques (AGs) standards sont confrontés à deux contraintes dans le cas des problèmes d’optimisation dynamique multimodale. D’une part ils doivent localiser plusieurs optima, d’autre part ils doivent suivre leur mouvement dans un environnement dynamique. L’intérêt que porte la communauté scientifique à ce genre de problèmes est bien justifié par le fait que de nombreux problèmes du monde réel sont des problèmes d’optimisation dynamique multimodale (PODM) [54].

Plusieurs méthodes sont proposées dans la littérature pour permettre aux AGs d’identifier plu-sieurs optima. Les solutions les plus utilisés consistent à

– encourager la formation des niches artificielles pour favoriser l’identification de plusieurs optima [27] [78], [80] ;

– utiliser des techniques hybrides pour pallier à certaines limitations du concept des niches [35], [2]

Mais ces travaux se sont penchés sur les problèmes d’optimisation multimodale statique. Le seul travail qui a exploité les techniques de niches dans un environnement dynamique est celui d’Ursem [110]. En ce qui concerne le suivi et la détection des optima dans un environnement dynamique, les méthodes proposées [25], [89], [55], [37], [32], [74], [130], [119], [6], [118], [124], [99] présentent certaines limitations tels que :

– le nombre des immigrants aléatoires qu’il faut insérer dans la population ; – le taux de mutation adéquat pour diversifier la population sans la réinitialiser ; – le nombre et la taille de chaque sous population.

Figure

Figure I.1 – Publications par année de l’optimisation dynamique par algorithmes génétiques, 2000-2012.
Figure I.3 – Exemple de mutation en représentation par permutation.
Figure II.1 – Structure du modèle proposé (NGO).
Figure II.7 – Comparaison de la diversité des algorithmes.
+7

Références

Documents relatifs

En utilisant et adaptant l’algorithme/programme ci-dessus, d´eterminer le nombre de moteurs per- mettant d’obtenir un b´en´efice

À partir de l’analyse comparative de différents modèles d’aide à la décision mis en œuvre dans les domaines des ouvrages d’art, des réseaux urbains et des ouvrages

[Research Report] Institut de mathématiques économiques (IME).. Sanchez formulated conditions and theoretical methods to resolve fuzzy relations. The purpose of this study

De quoi dépend le nombre de disparition par unité de temps et donc plus précisément | dN/dt |, la valeur absolue de dérivée de N par rapport au temps. Comment évolue le

– Dans les trois corpus, les lexiques les plus efficaces sont ceux qui combinent les mots utilisés par la régression logistique avec le lexique des adjectifs et des noms annotés

Ainsi, ces observations montrent un avantage de l’extraction de caract´eristiques bas´ee sur les mod`eles inverses, et donc un avantage de FuRIA : les caract´eristiques extraites

Pour cela les signaux EEG sont filtr´es dans une bande de fr´equence de 2 Hz autour de chaque fr´equence consid´er´ee, et un mod`ele inverse est utilis´e pour calculer

Dans notre problème d’optimisation de la maintenance préventive, l’objectif est d’optimiser les intervalles d’interventions entre deux actions de maintenance planifiées