Atelier scientifique de l&apos;équipe TIS du LISSI<br />Analyse des performances de l&apos;algorithme d&apos;optimisation ...
Plan de l’exposé<br />Introduction<br />Membres de l’équipe<br />L’optimisation statique<br />Les métaheuristiques<br />L’...
Plan de l’exposé<br />Introduction<br />Membres de l’équipe<br />L’optimisation statique<br />Les métaheuristiques<br />L’...
1.1.  Membres de l’équipe<br />Les AS de TIS<br />4<br />Patrick SIARRY – Professeur des universités<br />Hamouche OULHADJ...
1.2.  L’optimisation statique (1 / 2)<br />Les AS de TIS<br />5<br />Problème d’optimisation statique<br />Formaliser le p...
une fonction objectif f</li></ul>Dans le cas d’une minimisation, on cherche la position s* telle que :<br />s* = arg min( ...
1.2.  L’optimisation statique (2 / 2)<br />Les AS de TIS<br />6<br />Le problème de tournées de véhicules<br />Le problème...
Les AS de TIS<br />7<br />1.3.  Les métaheuristiques (1 / 4)<br />Classification des méthodes d&apos;optimisation statique...
1.3.  Les métaheuristiques(2 / 4)<br />Les AS de TIS<br />8<br />Exemple : Algorithmes évolutionnaires [Holland, 1973]<br ...
1.3.  Les métaheuristiques(3 / 4)<br />Les AS de TIS<br />9<br />Exemple : Colonies de fourmis [Dorigo et al., 1996]<br />...
1.3.  Les métaheuristiques (4 / 4)<br />Les AS de TIS<br />10<br />Exemple : Les essaims particulaires [Kennedy et Eberhar...
sa position
sa vitesse</li></ul>ω, c1, c2, coefficients de confiance et r1, r2Î ]0, 1]<br />Nouvelle<br />position<br />Position<br />...
1.4.  L’optimisation dynamique (1 / 4)<br />Les AS de TIS<br />11<br />Problème d’optimisation dynamique<br />Dans le cas ...
une fonction objectif f
le temps t</li></ul>Dans le cas d’une minimisation, on cherche la position s* telle que :<br />s* = arg min( f(s,t) s Î S ...
1.4.  L’optimisation dynamique (2 / 4)<br />Les AS de TIS<br />12<br />retrait<br />panne<br />Le problème de tournées de ...
1.4.  L’optimisation dynamique (3 / 4)<br />Les AS de TIS<br />13<br />Techniques d’optimisation dynamique<br />Adaptation...
1.4.  L’optimisation dynamique (4 / 4)<br />Les AS de TIS<br />14<br />Benchmarks (tests standards) :<br /><ul><li>Le « Mo...
Un ensemble de fonctions de test proposées par  W. TFAILIau LISSI durant sa thèse en 2007(n'est pas très utilisé)
La compétition de CEC’2009 [Trondheim, Norvège, May 2009](en émergence)</li></li></ul><li>Plan de l’exposé<br />Introducti...
2.1.  Choisir les bons ingrédients<br />Les AS de TIS<br />16<br />
2.2.  Mise au point d’une nouvelle métaheuristique<br />Les AS de TIS<br />17<br /><ul><li>Agents de recherche locale coor...
PSO : Impossible de rattacher la méthode à cette classe
Fourmis : Pas de phéromones, impossible aussi
Evolutionnaires : Impossible aussi
Programmation à Mémoire Adaptative [E. Taillard, 1997] : Tentative……échouée
Multi-Agent :Multi-Agent DynamicOptimizationMADO</li></ul>Hill Climbing à pas adaptatif<br />Hill Climbing à pas adaptatif...
Plan de l’exposé<br />Introduction<br />La thèse<br />Description de MADO<br />Structure générale de MADO<br />Structure d...
3.1.  Structure générale de MADO<br />Les AS de TIS<br />19<br />Initialisation<br />Module de mémoire<br />Coordinateur<b...
3.2.  Structure d’un agent de MADO<br />Le voisinage d’un agent est constitué d’un nombre N de solutions situées :<br /><u...
à égale distance les unes des autres.</li></ul>Le pas d’un agent :<br /><ul><li>correspond ainsi à la distance entre sa so...
est adapté à chaque déplacement de l’agent.</li></ul>Espace de recherche<br />Rayon =<br />pas de l’agent<br />Solutions a...
3.3.  La population initiale d’agents<br />A l’initialisation, le coordinateur ordonne la création de na agents, et les di...
Les AS de TIS<br />22<br />3.4.  Procédure Agent<br />début<br />Synchronisation<br />Procédure d’obtention d’une position...
3.4.  Procédure Agent détaillée<br />Début<br />Synchronisation<br />Demande d’une nouvelle position et d’un nouveau pas a...
Prochain SlideShare
Chargement dans…5
×

Julien Lepagnot 13 11 2009

793 vues

Publié le

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
793
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
13
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • Pour ce type de problème, relancer une optimisation « statique » chaque fois qu’un changement du problème survient n’est pas judicieux (perte de temps à reconverger vers une solution pouvant être « proche » de la précédente).En optimisation dynamique, le but n’est pas seulement de trouver les optima, mais de les suivre aussi fidèlement que possible dans le temps.
  • L’optimisation dynamique suscite un intérêt croissant (comme en témoigne l’explosion du nombre d’articles dans ce domaine).De plus en plus de problèmes réels nécessite l’emploi de méthode d’optimisation dynamique.La plupart des métaheuristiques classiques ont été proposées dans l’optique d’une optimisation statique.Nécessité d’adapter ces méthodes, ou d’en proposer de nouvelles.
  • Julien Lepagnot 13 11 2009

    1. 1. Atelier scientifique de l&apos;équipe TIS du LISSI<br />Analyse des performances de l&apos;algorithme d&apos;optimisation dynamique MADO<br />Julien Lepagnot, doctorant en 2ème année<br />Sous la direction de: <br />A. Nakib, H. Oulhadj et P. Siarry<br />Les AS de TIS<br />1<br />
    2. 2. Plan de l’exposé<br />Introduction<br />Membres de l’équipe<br />L’optimisation statique<br />Les métaheuristiques<br />L’optimisation dynamique<br />La thèse<br />Choisir les bons ingrédients<br />Mise au point d’une nouvelle métaheuristique<br />Description de MADO<br />Analyse des performances<br />Conclusions et perspectives<br />Les AS de TIS<br />2<br />
    3. 3. Plan de l’exposé<br />Introduction<br />Membres de l’équipe<br />L’optimisation statique<br />Les métaheuristiques<br />L’optimisation dynamique<br />La thèse<br />Choisir les bons ingrédients<br />Mise au point d’une nouvelle métaheuristique<br />Description de MADO<br />Analyse des performances<br />Conclusions et perspectives<br />Les AS de TIS<br />3<br />
    4. 4. 1.1. Membres de l’équipe<br />Les AS de TIS<br />4<br />Patrick SIARRY – Professeur des universités<br />Hamouche OULHADJ – Maître de conférences<br />Amir NAKIB – ATER et consultant R&D<br />Julien LEPAGNOT – Doctorant en 2ème année<br />Domaines de recherche : Optimisation, métaheuristiques, applications de l’optimisation dans le domaine biomédical, modélisation…<br />Recalage d’angiographies rétiniennes<br />Segmentation d’images biomédicales<br />Avant recalage<br />Après recalage<br />Translation<br />Image IRM originale<br />Image segmentée<br />
    5. 5. 1.2. L’optimisation statique (1 / 2)<br />Les AS de TIS<br />5<br />Problème d’optimisation statique<br />Formaliser le problème en terme de fonction objectif à maximiser ou minimiser. <br />Soit :<br /><ul><li>un espace de recherche S
    6. 6. une fonction objectif f</li></ul>Dans le cas d’une minimisation, on cherche la position s* telle que :<br />s* = arg min( f(s) s Î S )<br />Dans le cas d’une maximisation, on se ramène à un problème de minimisation :<br />Maximiser f Minimiser – f<br />
    7. 7. 1.2. L’optimisation statique (2 / 2)<br />Les AS de TIS<br />6<br />Le problème de tournées de véhicules<br />Le problème d’affectation de tâches<br />machine 1<br />machine 2<br />machine 3<br />Dépôt<br />charge<br />charge<br />charge<br />Compression du signal<br />Recalage d’images<br />modélisation via<br />une métaheuristique<br />Avant recalage<br />Après recalage<br />Translation<br />
    8. 8. Les AS de TIS<br />7<br />1.3. Les métaheuristiques (1 / 4)<br />Classification des méthodes d&apos;optimisation statique<br />
    9. 9. 1.3. Les métaheuristiques(2 / 4)<br />Les AS de TIS<br />8<br />Exemple : Algorithmes évolutionnaires [Holland, 1973]<br />COMPETITION entre agents<br />Reposent sur la compétition au sens de Darwin<br />Population<br />courante<br />Population de<br />descendants<br />Croisement<br />Evaluation<br />Sélection<br />Mutation<br />Population de<br />descendants mutés<br />Population<br />évaluée<br />
    10. 10. 1.3. Les métaheuristiques(3 / 4)<br />Les AS de TIS<br />9<br />Exemple : Colonies de fourmis [Dorigo et al., 1996]<br />INTELLIGENCE EN ESSAIM : COOPERATION INDIRECTE entre agents (via l’environnement)<br />
    11. 11. 1.3. Les métaheuristiques (4 / 4)<br />Les AS de TIS<br />10<br />Exemple : Les essaims particulaires [Kennedy et Eberhart, 1995]<br />INTELLIGENCE EN ESSAIM : COOPERATION DIRECTE entre agents<br />Vers sa meilleure<br />performance<br />L’OEP simule le comportement social d’un essaim de « particules »<br /><ul><li>A chaque itération t, chaqueparticule i se définit par :
    12. 12. sa position
    13. 13. sa vitesse</li></ul>ω, c1, c2, coefficients de confiance et r1, r2Î ]0, 1]<br />Nouvelle<br />position<br />Position<br />actuelle<br />Vers la meilleure<br />performance de<br />l’essaim<br />Vers le pointaccessible avec lavitesse courante<br />
    14. 14. 1.4. L’optimisation dynamique (1 / 4)<br />Les AS de TIS<br />11<br />Problème d’optimisation dynamique<br />Dans le cas dynamique, la fonction objectif est susceptible de changer au cours du temps. On a :<br /><ul><li>un espace de recherche S
    15. 15. une fonction objectif f
    16. 16. le temps t</li></ul>Dans le cas d’une minimisation, on cherche la position s* telle que :<br />s* = arg min( f(s,t) s Î S )<br />
    17. 17. 1.4. L’optimisation dynamique (2 / 4)<br />Les AS de TIS<br />12<br />retrait<br />panne<br />Le problème de tournées de véhicules<br />Le problème d’affectation de tâches<br />ajout<br />ajout<br />retrait<br />machine 1<br />machine 2<br />machine 3<br />Dépôt<br />charge<br />charge<br />Compression du signal<br />Estimation du mouvement dans une séquence<br />Nouveau modèle<br />à chaque battement<br />peu de différences entre<br />les décalages consécutifs<br />(repartir de l’ancienne solution)<br />
    18. 18. 1.4. L’optimisation dynamique (3 / 4)<br />Les AS de TIS<br />13<br />Techniques d’optimisation dynamique<br />Adaptation des métaheuristiques d’optimisation statique<br />
    19. 19. 1.4. L’optimisation dynamique (4 / 4)<br />Les AS de TIS<br />14<br />Benchmarks (tests standards) :<br /><ul><li>Le « MovingPeaks Benchmark » [J. Branke, 1999](beaucoup d’auteurs l’utilisent)
    20. 20. Un ensemble de fonctions de test proposées par W. TFAILIau LISSI durant sa thèse en 2007(n'est pas très utilisé)
    21. 21. La compétition de CEC’2009 [Trondheim, Norvège, May 2009](en émergence)</li></li></ul><li>Plan de l’exposé<br />Introduction<br />L’équipe<br />L’optimisation<br />Les métaheuristiques<br />L’optimisation dynamique<br />La thèse<br />Choisir les bons ingrédients<br />Mise au point d’une nouvelle métaheuristique<br />Description de MADO<br />Analyse des performances<br />Conclusions et perspectives<br />Les AS de TIS<br />15<br />
    22. 22. 2.1. Choisir les bons ingrédients<br />Les AS de TIS<br />16<br />
    23. 23. 2.2. Mise au point d’une nouvelle métaheuristique<br />Les AS de TIS<br />17<br /><ul><li>Agents de recherche locale coordonnés, archivage des optima trouvés :
    24. 24. PSO : Impossible de rattacher la méthode à cette classe
    25. 25. Fourmis : Pas de phéromones, impossible aussi
    26. 26. Evolutionnaires : Impossible aussi
    27. 27. Programmation à Mémoire Adaptative [E. Taillard, 1997] : Tentative……échouée
    28. 28. Multi-Agent :Multi-Agent DynamicOptimizationMADO</li></ul>Hill Climbing à pas adaptatif<br />Hill Climbing à pas adaptatif<br />Hill Climbing à pas adaptatif<br />Hill Climbing à pas adaptatif<br />Pseudo-parallélisme des recherches locales<br />
    29. 29. Plan de l’exposé<br />Introduction<br />La thèse<br />Description de MADO<br />Structure générale de MADO<br />Structure d’un agent de MADO<br />La population initiale d’agents<br />Procédure Agent<br />Détection de changement<br />Analyse des performances<br />Sur le MovingPeaks Benchmark<br />Sur le jeu de test de CEC’2009<br />Conclusions et perspectives<br />Les AS de TIS<br />18<br />
    30. 30. 3.1. Structure générale de MADO<br />Les AS de TIS<br />19<br />Initialisation<br />Module de mémoire<br />Coordinateur<br />Archive<br /> …<br />Module de gestion des agents<br />Agent 1<br />Agent 2<br />Agent i<br />Gestionnaire de l&apos;archive<br />Mémoire locale<br />Mémoire locale<br />Mémoire locale<br />Critère d’arrêt satisfait ?<br />Non<br />Oui<br />Fin<br />
    31. 31. 3.2. Structure d’un agent de MADO<br />Le voisinage d’un agent est constitué d’un nombre N de solutions situées :<br /><ul><li>à une distance de l’agent égale à son pas.
    32. 32. à égale distance les unes des autres.</li></ul>Le pas d’un agent :<br /><ul><li>correspond ainsi à la distance entre sa solution courante et ses voisines.
    33. 33. est adapté à chaque déplacement de l’agent.</li></ul>Espace de recherche<br />Rayon =<br />pas de l’agent<br />Solutions appartenant<br />au voisinage de l’agent.<br />La solution courante, sur laquelle se trouve l’agent.<br />Les AS de TIS<br />20<br />
    34. 34. 3.3. La population initiale d’agents<br />A l’initialisation, le coordinateur ordonne la création de na agents, et les dispose de façon « régulière » dans l’espace de recherche.<br /><ul><li>Espacer au maximum les na agents entre eux, dans l’hyperrectangleT.</li></ul>Sur cette figure, na = 5, et l’espace est à 2 dimensions.<br />Espace de recherche<br />normalisé<br />1<br /> max<br />re<br />HyperrectangleT où<br />sont placés les<br />agents<br /> max<br />re<br /> max<br />re<br /> max<br />re<br /> 1 <br />=<br />Agent<br />2 na<br /> max<br />re<br />0<br />1<br />Les AS de TIS<br />21<br />
    35. 35. Les AS de TIS<br />22<br />3.4. Procédure Agent<br />début<br />Synchronisation<br />Procédure d’obtention d’une position de départ (si possible)<br />Procédure de recherche locale<br />Nouvel<br />optimum<br />Non<br />Oui<br />Coordinateur<br />
    36. 36. 3.4. Procédure Agent détaillée<br />Début<br />Synchronisation<br />Demande d’une nouvelle position et d’un nouveau pas au coordinateur<br />Oui<br />Non<br />Trop proche d’autres agents?<br />Peut trouver une meilleure solution voisine?<br />Attente que tous les autres agents entrent dans un état Synchronisation<br />Oui<br />Non<br />Synchronisation<br />Se déplacer sur la meilleure solution voisine<br />Adapter le pas par le produit scalaire cumulé<br />Obtention d’une nouvelle position et d’un nouveau pas<br />Réduire le pas<br />Critère d’arrêt d’une recherche locale satisfait?<br />Oui<br />Non<br />Envoi de l’optimum local trouvé au coordinateur<br />Les AS de TIS<br />23<br />
    37. 37. 3.5. Détection de changement<br />Le coordinateur détecte un changement dans la fonction objectif par ré-évaluation d’une solution. Si la valeur de cette dernière a changé, les mesures suivantes sont prises :<br /><ul><li>toutes les solutions (des agents et de l’archive) sont ré-évaluées.
    38. 38. pour chaque optimum de l’archive, un agent est créé et positionné sur cet optimum.</li></ul>Ces nouveaux agents sont des agents de suivi des optima. Leur but est de trouver la nouvelle position d’un optimum après un changement du paysage. Ces agents ne font donc qu’une seule recherche locale, avant d’être détruits.<br /><ul><li>l’archive est ensuite vidée.</li></ul>Les AS de TIS<br />24<br />
    39. 39. Plan de l’exposé<br />Introduction<br />La thèse<br />Description de MADO<br />Structure générale de MADO<br />Structure d’un agent de MADO<br />La population initiale d’agents<br />Procédure Agent<br />Détection de changement<br />Analyse des performances<br />Sur le MovingPeaks Benchmark<br />Sur le jeu de test de CEC’2009<br />Conclusions et perspectives<br />Les AS de TIS<br />25<br />
    40. 40. 4.1. Performances sur le MovingPeaks Benchmark (1 / 4)<br />(a) Avant un changement<br />(b) Après un changement<br />Le « MovingPeaks Benchmark » (MPB) consiste en un ensemble de pics dont la hauteur, la largeur et la position peuvent varier au cours du temps (après un certain nombre d’évaluations de la fonction).<br />Ce problème est paramétrable, et a été adopté par une majorité d’auteurs.<br />Les AS de TIS<br />26<br />f(x, y)<br />f(x, y)<br />y<br />y<br />x<br />x<br />
    41. 41. 4.1. Performances sur le MovingPeaks Benchmark (2 / 4)<br />Convergence de MADO pour chaque time span*.<br />* Time span : Plage d’itérations durant laquelle la fonction objectif ne change pas.Un changement de la fonction objectif se produit ici toutes les 5000 itérations.<br />Les AS de TIS<br />27<br />Amplitude<br />itérations<br />changement<br />
    42. 42. 4.1. Performances sur le MovingPeaksBenchmark(3 / 4)<br />La précision maximale, choisie par l’utilisateur, est atteinte après 2000 évaluations de la fonction objectif.<br />Convergence moyenne de MADO sur 100 time spans*.<br />* Time span : Plage d’itérations durant laquelle la fonction objectif ne change pas.Un changement de la fonction objectif se produit ici toutes les 5000 itérations.<br />Les AS de TIS<br />28<br />
    43. 43. 4.1. Performances sur le MovingPeaks Benchmark(4 / 4)<br />* Offline error : Moyenne des écarts entre l&apos;optimum global et la meilleure solution trouvée à chaque itération.<br />Une erreur de 0 signifie un suivi parfait de l&apos;optimum.<br />Les AS de TIS<br />29<br />
    44. 44. 4.2. Performances sur le jeu de test de CEC’2009 (1 / 4)<br /><ul><li>Le jeu de test de CEC’2009 est constitué de 49 fonctions dynamiques.
    45. 45. L’ensemble de ces fonctions est supposé être représentatif de la plupart des problèmes d’optimisation dynamique réels.
    46. 46. Divers types de changements, plus ou moins chaotiques et brutaux, ont lieu après un certain nombre d’évaluations de la fonction (comme sur MPB).
    47. 47. Ce problème est paramétrable, et a été utilisé lors de la compétition de CEC’2009.</li></ul>Les AS de TIS<br />30<br />
    48. 48. Plus précisément, chaque fonction dynamique correspond à une fonction statique à laquelle on applique (à chaque time span*) une opération de changement (qui modifie plus ou moins brutalement son paysage).<br />Il existe 6 fonctions statiques :<br /><ul><li>F1: Rotation peak function
    49. 49. F2: Composition of Sphere's function
    50. 50. F3: Composition of Rastrigin's function
    51. 51. F4: Composition of Griewank's function
    52. 52. F5: Composition of Ackley's function
    53. 53. F6: Hybrid Composition function</li></ul>Il existe 7 opérations de changement :<br /><ul><li>T1: small step
    54. 54. T2: large step
    55. 55. T3: random
    56. 56. T4: chaotic
    57. 57. T5: recurrent
    58. 58. T6: recurrent change with noise
    59. 59. T7: random change with changed dimension</li></ul>* Time span : Plage d’itérations durant laquelle la fonction objectif ne change pas.<br />Les AS de TIS<br />31<br />4.2. Performances sur le jeu de test de CEC’2009(2 / 4)<br />
    60. 60. Convergence moyenne de MADO sur chaque classe de fonction.<br />Les AS de TIS<br />32<br />4.2. Performances sur le jeu de test de CEC’2009(3 / 4)<br />
    61. 61. 4.2. Performances sur le jeu de test de CEC’2009(4 / 4)<br />MADO<br />*Ce benchmark donne un score sur 100 à la fin de son exécution.<br />Les AS de TIS<br />33<br />
    62. 62. Plan de l’exposé<br />Introduction<br />La thèse<br />Description de MADO<br />Structure générale de MADO<br />Structure d’un agent de MADO<br />La population initiale d’agents<br />Procédure Agent<br />Détection de changement<br />Analyse des performances<br />Sur le MovingPeaks Benchmark<br />Sur le jeu de test de CEC’2009<br />Conclusions et perspectives<br />Les AS de TIS<br />34<br />
    63. 63. Conclusions et perspectives <br /><ul><li>On vient de voir le fonctionnement de MADO, ainsi que ses performances sur les 2 principaux jeux de test dynamiques.
    64. 64. On constate que les performances de MADO sur des fonctions hautement multimodales, telles que Rastrigin, sont médiocres.
    65. 65. Hormis les difficultés rencontrées sur les fonctions telles que Rastrigin, les performances de MADO sont très encourageantes. On constate en effet que MADO est bien classé dans les comparatifs avec les algorithmes concurrents.
    66. 66. Amélioration des performances de MADO sur des problèmes type Rastrigin.
    67. 67. Réduction du nombre de paramètres à la charge de l’utilisateur.</li></ul>Les AS de TIS<br />35<br />
    68. 68. Merci de votre attention<br />Les AS de TIS<br />36<br />

    ×