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) er 1 exemple : la coloration de graphes ème 2 0 exemple : placement d’antennes 2 1 3 4 0 2 1 3 4 2 0 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 Approche itérative Recuit simulé, tabou Approche évolutionaire Algorithme génétique Facilement attiré par des optima locaux en pratique Difficile à paralléliser 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 Algorithmes d’évolution Individu codé valeur de qualité + Population 2 0 3 Codage : la coloration de graphes 0 2 =0 =1 =2 2 1 1 0 0 2 0 2 1 0 1 1 Codage : placement d’antennes 1 0 2 1 2 0 0 1 1 3 4 3 0 1 0 1 0 0 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 Mutation m m+l Séléction Exemples d’algorithmes d’évolution PBIL Mise à jour de P Chaîne booléenne Evolution 0.456 0.239 1.000 0.012 0.837 vecteur P Exemples d’algorithmes d’évolution Système de fourmis Mise à jour de t Evolution 0.456 0.239 1.000 0.012 0.837 trace t Exemples d’algorithmes d’évolution Algorithme génétique Stratégie d'évolution Séléction Mutation Mutation Accouplement Croisement Système de fourmis Mise à jour de t Mise à jour de P Evolution m+l Séléction PBIL Chaîne booléenne m 0.456 0.239 1.000 0.012 0.837 vecteur P Evolution 0.456 0.239 1.000 0.012 0.837 trace t 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 • • • • Evolution Noise Improving algo. he Infeasible e Information sources Structured S S = cst S(e) Set of elements e TEA: Table of Evolutionary Algorithms 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 Exemple d’une TEA Island(Individual) Yes compl Archipelago(Island) Yes ring 2 2(pc) Evolution Noise Improving algo. he Infeasible e Information sources Structured S S = cst S(e) Set of elements e Un algorithme génétique à îles nvr No No Yes gr / 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 M migration M migration migration migration migration trace trace E E E 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 Algorithme Individu Genotype Evolution GeneticEvolution GeneticParameter Population IntegerGT BoolGT ColoringParameter Transcoder Graph ColoringTranscoder Codage Problème 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 80 Théorique Expérimentale (placement d’antennes) Expérimentale (coloration de graphe) 70 Accélération 60 50 40 30 20 10 0 0 10 20 30 40 50 Nombre de processeurs 60 70 80 Système de fourmis à îles : 4 îles 80 Théorique Expérimentale (placement d’antennes) Expérimentale (coloration de graphe) 70 Accélération 60 50 40 30 20 10 0 0 10 20 30 40 50 Nombre de processeurs 60 70 80 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 !