la parallélisation des algorithmes dévolution basés sur des populations pour la résolution de...

34
La parallélisation des La parallélisation des algorithmes d’évolution algorithmes d’évolution basés sur des populations basés sur des populations pour la résolution de pour la résolution de problèmes d’optimisation problèmes d’optimisation combinatoire combinatoire Patrice Calégari Patrice Calégari Laboratoire d’Informatique Théorique Laboratoire d’Informatique Théorique Département d'Informatique Département d'Informatique Ecole Polytechnique Fédérale de Lausanne Ecole Polytechnique Fédérale de Lausanne CH-1015 Lausanne, Suisse CH-1015 Lausanne, Suisse

Upload: desiree-gueguen

Post on 04-Apr-2015

114 views

Category:

Documents


4 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

• 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

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

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

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

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

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

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

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