L 0 - NEO

publicité
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 !
Téléchargement