la parallélisation des algorithmes dévolution basés sur des populations pour la résolution de...
TRANSCRIPT
La parallélisation des algorithmes La parallélisation des algorithmes d’évolution basés sur des populations d’évolution basés sur des populations
pour la résolution de problèmes pour la résolution de problèmes d’optimisation combinatoired’optimisation combinatoire
Patrice CalégariPatrice CalégariLaboratoire d’Informatique ThéoriqueLaboratoire d’Informatique Théorique
Département d'InformatiqueDépartement d'InformatiqueEcole Polytechnique Fédérale de LausanneEcole Polytechnique Fédérale de Lausanne
CH-1015 Lausanne, SuisseCH-1015 Lausanne, Suisse
Plan de la présentationPlan 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élismeLe parallélisme
Le parallélismeLe parallélisme
L’optimisation combinatoireL’optimisation combinatoire
Espace de recherche
Solutions candidates
Solutions
Meilleure(s)solution(s)
11erer exemple : la coloration de graphes exemple : la coloration de graphes
22èmeème exemple : placement d’antennes exemple : placement d’antennes
0 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
0 12
3 4
0 12
3 4
Approcheévolutionaire
Algorithmegénétique
Approcheitérative
Recuit simulé,tabou
ApprocheconstructiveAlgorithme
glouton
Trois principes de rechercheTrois principes de recherche
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
Performances théoriques souvent connues
Facile à implémenter
Exécution rapide
Facilement attiré par des optima locaux en pratique
Difficile à paralléliser
Algorithmes d’évolutionAlgorithmes d’évolution
Population
Individu codé
valeurde
qualité+
0 2
3
0 2
3
Codage : la coloration de graphesCodage : la coloration de graphes
= 0= 1= 2
0
1
1
0
2
2
0
2
1
0
2
0
1
1
Codage : placement d’antennesCodage : placement d’antennes
1
1
0
0
1
1
0
1
0
0
1
0 2
3
0 2
3
0 12
3 4
Exemples d’algorithmes d’évolutionExemples d’algorithmes d’évolution
Séléction
Croisement
Mutation Accouplement
Algorithme génétiqueAlgorithme génétique
Exemples d’algorithmes d’évolutionExemples d’algorithmes d’évolution
Séléction
Stratégie d'évolutionStratégie d'évolution
Mutation
Exemples d’algorithmes d’évolutionExemples d’algorithmes d’évolution
Evolution
vecteur P
0.4560.2391.0000.0120.837
Mise à jour de P
PBILPBIL
Chaînebooléenne
Exemples d’algorithmes d’évolutionExemples d’algorithmes d’évolution
Système de fourmisSystème de fourmis
Evolution
trace
0.4560.2391.0000.0120.837
Mise à jour de
Exemples d’algorithmes d’évolutionExemples d’algorithmes d’évolution
Séléction
Croisement
Mutation Accouplement
Algorithme génétiqueAlgorithme génétique
Séléction
Stratégie d'évolutionStratégie d'évolution
Mutation
Système de fourmisSystème de fourmis
Evolution
trace
0.4560.2391.0000.0120.837
Mise à jour de
Evolution
vecteur P
0.4560.2391.0000.0120.837
Mise à jour de P
PBILPBIL
Chaînebooléenne
Huit caractéristiques principalesHuit 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 îlesPlusieurs populations : les îles
migration
migration
mig
rati
on
migration
Exemple : 4 îles sur un anneauExemple : 4 îles sur un anneau
La table des algorithmes d’évolutionLa table des algorithmes d’évolutionTEATEA: : Table of Evolutionary AlgorithmsTable of Evolutionary Algorithms
S =
cst
Str
uctu
red
S
Evo
luti
on
Noi
se
Impr
ovin
g al
go.
Infe
asib
le e
h eInfo
rmat
ion
sour
ces
S(e
) S
et o
f el
emen
ts e
• 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 Exemple d’une TEATEA
S =
cst
Str
uctu
red
S
Evo
luti
on
Noi
se
Impr
ovin
g al
go.
Infe
asib
le e
h eInfo
rmat
ion
sour
ces
S(e
) S
et o
f el
emen
ts e
Island(Individual)
Archipelago(Island)
Yes compl 2(pc) nvr No No Yes gr
Yes ring 2 / No No No gr
Un algorithme génétique à îlesUn algorithme génétique à îles
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élisationLes 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 Exemple de règle (colonne « Structured SS ») : ») :« Si la topologie est complète, alors il faut éviter de partitionner l’élément décrit danscette ligne de la TEA. »
Différentes parallélisationsDifférentes parallélisationsAu niveau du codageAu niveau du codage Au niveau de l'individuAu niveau de l'individu
Au niveau de la populationAu niveau de la population
(niveau L-1) (niveau L0)
(niveau L1)
Exemple d’application des règlesExemple d’application des règlespour un système de fourmis à îlespour un système de fourmis à îles
migrationmigration
migration
migration
NNîles îles NNprocesseursprocesseurs NNîlesîles < < NNprocesseursprocesseurs
EE
migration
E
MM
trace trace
La librairie La librairie APPEALAPPEAL
• 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.
AAdvanced dvanced PParallel arallel PPopulation-based opulation-based EEvolutionary volutionary AAlgorithm lgorithm LLibraryibrary
La répartition des classes La répartition des classes d’d’APPEALAPPEAL
Population
Individu
GeneticParameterGeneticEvolution
Evolution
Genotype
AlgorithmeAlgorithme
Graph
ColoringParameter
ProblèmeProblème
BoolGTIntegerGT
CodageCodageColoringTranscoder
Transcoder
• 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.
Conditions expérimentalesConditions expérimentales
Système de fourmis à îles : 40 îlesSystème de fourmis à îles : 40 îlesThéorique
Expérimentale (placement d’antennes)Expérimentale (coloration de graphe)
Acc
élér
atio
nA
ccél
érat
ion
0
10
20
30
40
50
60
70
80
0 10 20 30 40 50 60 70 80Nombre de processeursNombre de processeurs
Système de fourmis à îles : 4 îlesSystème de fourmis à îles : 4 îlesThéorique
Expérimentale (placement d’antennes)Expérimentale (coloration de graphe)
Acc
élér
atio
nA
ccél
érat
ion
0
10
20
30
40
50
60
70
80
0 10 20 30 40 50 60 70 80Nombre de processeursNombre de processeurs
BilanBilan• 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 :Remarques sur la qualité des solutions :– Robustesse.– Les AE sont mal appropriés pour traiter des
instances de problèmes simples.
PerspectivesPerspectives
• 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 majeuresContributions 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 ?Questions ?
Merci à tous !Merci à tous !