La parallélisation des algorithmes d’évolution basés sur des populations pour la résolution de problèmes d’optimisation combinatoire Patrice Calégari Laboratoire d’Informatique Théorique Département d'Informatique Ecole Polytechnique Fédérale de Lausanne CH-1015 Lausanne, Suisse
Plan de la présentation Le parallélisme Les problèmes d’optimisation combinatoire Les algorithmes d’évolution (AE) Une nouvelle taxonomie pour les AE Les règles de parallélisation La librairie APPEAL Résultats expérimentaux (accélérations) Conclusion et perspectives
Le parallélisme
Le parallélisme
L’optimisation combinatoire Espace de recherche Solutions Solutions candidates Meilleure(s) solution(s)
1er exemple : la coloration de graphes
2ème exemple : placement d’antennes 1 2 3 4 1 2 3 4 2 3 P. Calegari, F. Guidec, P. Kuonen., D. Kobler “Parallel Island-based Genetic Algorithm for Radio Network Design”, JPDC, 47(1):86-90, 1997
Trois principes de recherche Approche constructive Algorithme glouton Performances théoriques souvent connues Facile à implémenter Exécution rapide Facilement attiré par des optima locaux en pratique Difficile à paralléliser Approche itérative Recuit simulé, tabou Bonne exploration de l’espace Peu de preuves théoriques sur les performances Nécessite une puissance de calcul et un espace mémoire important Approche évolutionaire Algorithme génétique
Algorithmes d’évolution Individu codé valeur de qualité + Population 2 3
Codage : la coloration de graphes = 0 = 1 = 2 1 2
Codage : placement d’antennes 1 2 3 4 2 3 1 1
Exemples d’algorithmes d’évolution Algorithme génétique Séléction Mutation Accouplement Croisement
Exemples d’algorithmes d’évolution Stratégie d'évolution m Mutation m+l Séléction
Exemples d’algorithmes d’évolution PBIL Chaîne booléenne vecteur P 0.456 0.239 1.000 0.012 0.837 Mise à jour de P Evolution
Exemples d’algorithmes d’évolution Système de fourmis trace t 0.456 0.239 1.000 0.012 0.837 Mise à jour de t Evolution
Exemples d’algorithmes d’évolution Algorithme génétique Stratégie d'évolution m Séléction Mutation m+l Mutation Accouplement Croisement Séléction PBIL Chaîne booléenne Système de fourmis vecteur P 0.456 0.239 1.000 0.012 0.837 Mise à jour de P trace t 0.456 0.239 1.000 0.012 0.837 Mise à jour de t Evolution Evolution
Huit caractéristiques principales (1) La taille de la population (2) La topologie de la population (3) Les sources d’information (nombre de parents, histoire de la population, taux d’échange) (4) Les individus non admissibles (à réparer, à pénaliser, à détruire, n’apparaissent jamais) (5) L’histoire d’un individu (6) L’amélioration des individus ( AE hybride) (7) Le bruit (mutation, etc.) (8) L’évolution (génération, continue, asynchrone)
Plusieurs populations : les îles Exemple : 4 îles sur un anneau migration migration migration migration
La table des algorithmes d’évolution TEA: Table of Evolutionary Algorithms Information sources Improving algo. S(e) Set of elements e Structured S Infeasible e S = cst Evolution Noise he Classification fine des AE Proposition de nouveaux AE Base pour étudier le rôle des caractéristiques des AE Base pour la parallélisation des AE
Un algorithme génétique à îles Exemple d’une TEA Un algorithme génétique à îles Information sources Improving algo. S(e) Set of elements e Structured S Infeasible e S = cst Evolution Noise he Island(Individual) Yes compl 2(pc) nvr No No Yes gr Archipelago(Island) Yes ring 2 / No No No gr P. Calegari, G. Coray, A. Hertz, D. Kobler, P. Kuonen. “A Taxonomy of Evolutionary Algorithms in Combinatorial Optimization”, Journal of Heuristics, 5(2):145-158, 1999
Les règles de parallélisation Aident à choisir une parallélisation efficace : minimisation raisonnable des communications et de la gestion du parallélisme. Basées sur la description de la TEA d’un AE. Simples (accessibles, faciles à utiliser). Exemple de règle (colonne « Structured S ») : « Si la topologie est complète, alors il faut éviter de partitionner l’élément décrit dans cette ligne de la TEA. »
Différentes parallélisations Au niveau du codage Au niveau de l'individu (niveau L-1) (niveau L0) Au niveau de la population (niveau L1)
Exemple d’application des règles pour un système de fourmis à îles Nîles Nprocesseurs Nîles < Nprocesseurs E migration M trace migration
Advanced Parallel Population-based Evolutionary Algorithm Library La librairie APPEAL Advanced Parallel Population-based Evolutionary Algorithm Library Buts Intégrer les fonctions liées au parallélisme, être réutilisable et modulaire pour permettre le test de différents AE avec différents problèmes et différents codages, faciliter l’implémentation des AE (hybrides). Choix librairie orientée objet, langage C++, librairies LEDA et PVM.
La répartition des classes d’APPEAL Population Individu GeneticParameter GeneticEvolution Evolution Genotype Algorithme BoolGT IntegerGT Codage Graph ColoringParameter Problème ColoringTranscoder Transcoder
Conditions expérimentales Réseau peu chargé de 80 ordinateurs (stations de travail Sun Sparc-4). Algorithme paramétré par le nombre de processeurs exclusivement. Sur p processeurs, l’espace mémoire total est multiplié par p.
Système de fourmis à îles : 40 îles 10 20 30 40 50 60 70 80 Théorique Expérimentale (placement d’antennes) Expérimentale (coloration de graphe) Accélération 10 20 30 40 50 60 70 80 Nombre de processeurs
Système de fourmis à îles : 4 îles 10 20 30 40 50 60 70 80 Théorique Expérimentale (placement d’antennes) Expérimentale (coloration de graphe) Accélération 10 20 30 40 50 60 70 80 Nombre de processeurs
Bilan L’efficacité est bonne pour des AE classiques : les règles sont satisfaisantes. La connaissance préalable des caractéristiques du problème est cependant parfois nécessaire. Remarques sur la qualité des solutions : Robustesse. Les AE sont mal appropriés pour traiter des instances de problèmes simples.
Perspectives Evolution de la taxonomie (et de la TEA) nouvelle vision des AE Affinement des règles de parallélisation par des règles quantitatives Etudes complémentaires : AE asynchrones agents autonomes. Extensions de la librairie APPEAL
Contributions majeures Proposition d'une nouvelle taxonomie pour les AE, associée à un outil de classification (TEA). Nouvelle approche des AE parallèles: dissociation de la parallélisation et des considérations algorithmiques. Conception de la librairie APPEAL (prévue pour être étendue, modèle objet « propre »). Mesures d’accélération sur un grand réseau: 80 stations. Etude de ces accélérations pour un nombre quelconque de processeurs. Application d’une partie de ce travail au projet européen STORMS.
Questions ?
Merci à tous !