La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de...
-
Upload
desiree-gueguen -
Category
Documents
-
view
114 -
download
4
Transcript of La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de...
![Page 1: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/1.jpg)
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
![Page 2: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/2.jpg)
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
![Page 3: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/3.jpg)
Le parallélismeLe parallélisme
![Page 4: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/4.jpg)
Le parallélismeLe parallélisme
![Page 5: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/5.jpg)
L’optimisation combinatoireL’optimisation combinatoire
Espace de recherche
Solutions candidates
Solutions
Meilleure(s)solution(s)
![Page 6: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/6.jpg)
11erer exemple : la coloration de graphes exemple : la coloration de graphes
![Page 7: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/7.jpg)
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
![Page 8: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/8.jpg)
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
![Page 9: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/9.jpg)
Algorithmes d’évolutionAlgorithmes d’évolution
Population
Individu codé
valeurde
qualité+
0 2
3
0 2
3
![Page 10: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/10.jpg)
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
![Page 11: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/11.jpg)
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
![Page 12: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/12.jpg)
Exemples d’algorithmes d’évolutionExemples d’algorithmes d’évolution
Séléction
Croisement
Mutation Accouplement
Algorithme génétiqueAlgorithme génétique
![Page 13: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/13.jpg)
Exemples d’algorithmes d’évolutionExemples d’algorithmes d’évolution
Séléction
Stratégie d'évolutionStratégie d'évolution
Mutation
![Page 14: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/14.jpg)
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
![Page 15: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/15.jpg)
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
![Page 16: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/16.jpg)
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
![Page 17: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/17.jpg)
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)
![Page 18: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/18.jpg)
Plusieurs populations : les îlesPlusieurs populations : les îles
migration
migration
mig
rati
on
migration
Exemple : 4 îles sur un anneauExemple : 4 îles sur un anneau
![Page 19: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/19.jpg)
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
![Page 20: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/20.jpg)
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
![Page 21: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/21.jpg)
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. »
![Page 22: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/22.jpg)
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)
![Page 23: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/23.jpg)
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
![Page 24: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/24.jpg)
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
![Page 25: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/25.jpg)
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
![Page 26: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/26.jpg)
• 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
![Page 27: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/27.jpg)
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
![Page 28: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/28.jpg)
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
![Page 29: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/29.jpg)
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.
![Page 30: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/30.jpg)
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
![Page 31: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/31.jpg)
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.
![Page 32: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/32.jpg)
Questions ?Questions ?
![Page 33: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/33.jpg)
Merci à tous !Merci à tous !
![Page 34: La parallélisation des algorithmes dévolution basés sur des populations pour la résolution de problèmes doptimisation combinatoire Patrice Calégari Laboratoire.](https://reader036.fdocument.pub/reader036/viewer/2022062417/551d9da5497959293b8d7568/html5/thumbnails/34.jpg)