Title: RenPar17
1RenPar17
3-6 Octobre 2006 Perpignan
Expérimentation dun Nouveau Solveur Parallèle
pour les Problèmes dOptimisation Combinatoire
NP-difficiles Abdelaziz Djerrah Van
Dat Cung Bertrand Le Cun Catherine
RoucairolLab. GILCO
Lab.
PRiSM-CNRS INPG Grenoble, France
Univ.de
Versailles,France cung_at_gilco.inpg.fr
prénom.nom_at_prism.uvsq.fr
Â
2Plan de la Présentation
- Problèmes dOptimisation Combinatoire (POCs)
- Exemples dapplications
- Méthodes de résolution
- Outils de résolutions (solveurs et bibliothèques)
- La bibliothèque Bob
- Architecture, fonctionnalité et interface de
programmation - Parallélisme dans Bob
- Exemples dapplications en OC avec Bob
- Conclusion et Perspectives
3Applications concernées
- Problèmes dOptimisation Combinatoire (POCs)
- F fonction Ă©conomique/objectif
- X domaine de solutions
- But trouver x tq F(x)Min / Max F(x)/ x e X
- Exemples de de POCs
- Sac Ă dos (Knapsack problem)
- Voyageur de commerce (PVC/TSP)
- Affectation quadratique (QAP)
- Ordonnancement Flow-Shop
- Points commun des POCs
- Très importants, modélisent plusieurs
applications réelles - Faciles à définir
- Très difficiles à résoudre NP-complets
4Sac Ă Dos (KP)
- un sac à capacité limité W
- n objets (Wi poids, Pi valeur ) de lobjet i
- But  quel objets prendre pour maximiser la
valeur - du sac sans dĂ©passer WÂ
- Domaines dapplication
- Cryptographie
- aide à la spéculation boursière pour maximiser
les - retours d'un capital Ă placer sur des actions
- chargement de bateau ou davion tous les
bagages à - destination doivent être amenés, sans être en
surcharge - découpe de matériaux pour minimiser les chutes
lors de - la découpe de sections de longueurs diverses
dans des barres en fer. - Plusieurs variantes 01KP, LKP (continue),
UKP(exemplaires de i), BKP (borné), d-KP
(multidimensionnel), MOKP(multi-objectifs), QKP
(quadratique), MCKP (choix multiples), MKP
(multiple)
5Voyageur de Commerce (PVC/TSP)
- n villes
- Dik distance entre les villes i et k
- But  trouver un cycle haméltonien pour visiter
- toutes les villes une et une seule fois et
revenir - à la ville de départ .
- Domaines dapplication
- Transport (ramassage scolaire, ordures,
personnel) - Logistique (livraison, enlèvement de
marchandises) - Industrie (bras dun robot pour percer les trous
dun - circuit Ă©lectronique).
6Affectation Quadratique (QAP)
- n usines et n sites
- Fik (flux entre usines) et Djl distance entre
sites - But  affecter les usines aux sites pour
- minimiser les coĂ»ts dinteractionÂ
- Domaines dapplication
- VLSI, cockpits davion,
- services hospitaliers, parcs forestiers
- clavier ergonomique, turbines hydrauliques
- Imagerie, sport, calcul parallèle, ordonnancement
- etc
7Méthodes de résolution
Borne supérieure
Borne inférieure
Bsup
Binf
F
Méthodes approchéesBsupf(x0)
MĂ©thodes exactes
- Enumération implicite
- (Branch-and-X, PDyn, A, DC, )
- Solveurs
- PL(CPLEX, XPRESS-MP, ),PNL
- PPC Programmation par contraintes
- Heuristiques spécifiques
- Metaheuristiques
--Optimales, Rapides
Optimales, --Complexes
8Méthodes de résolution
Méthodes Approchées
MĂ©thodes Exactes
Heuristiques
A, DC
MĂ©taheuristiques
Programmation dynamique
Branch-and-X
- Approchées faciles à implémenter, rapides,
- -- sans garantie de la solution
trouvée. - Exactes garantissent loptimalité de la
(les) solution(s), - -- complexes, temps de résolution exponentiel.
9Besoin dune bibliothèque. Pourquoi?
- Optimisation
- Réduire les coûts de développement de nouvelles
applications - Concentrer les efforts sur les parties
application - DĂ©veloppement dapplications portables
- Parallélisme
- plus vite, plus grand
- réduction temps de calcul
- augmentation de la taille des applications
- meilleur, plus robuste
- amélioration de la qualité de la solution
- facilité de fixation des paramètres
10PVC
Applegate, Bixby, ChvatalCook 1998-2001, Rutgers
University
- Branch-and-Cut (parcours parallèle pool de
coupes géré en //, maître-esclaves) - usa13509 48 machines (AlphaServer 4100,
UltraSparc, PII et Pros.) - - d15112 110 machines
- (Alpha 21264 500-667, 21164 400,
Athlon 800, PIII 450-1G) - Runtime support POSIX threads NFS sockets
(Concorde) - http//www.math.princeton.edu/tsp/index.html
11QAP
Anstreicher, Brixius, GouxLinderoth, 2000, Univ.
Iowa et Argone National Lab
Branch-and-Bound (parcours arborescent parallèle,
maître-esclaves, tolérant aux fautes),
Relaxation Convexe Quadratique. 2510 machines
(MPP inclus) Runtime support MW Condor PVM
(projet Globus) http//www-unix.mcs.anl.gov/metane
os/
12Librairies pour Branch-and-X //
- Commercial softwares
- CPLEX (iLog)
- XPRESS-MP (Dash Associates)
- FORTMP (NAG Ltd.)
- ABACUS ? (Univ. of Köln)
- Branch-and-Bound
- BOB (Univ. of Versailles)
- MetaNEOS / FATCOP
- (Argonne NL Univ. of Wisconsin)
- PUBB (Univ. of Tokyo)
- PPBB-Lib (Univ. of Paderborn)
- ZRAM (Eth ZĂĽrich)
- Mallba(Spain)
- Branch-and-X
- BOB (Bobo -) )
- COIN (IBM)
- PARINO (Georgia Tech.)
- PICO (Sandia Lab. Rutgers Univ.)
- Symphony (Rice Univ.)
- Quelques limitations
- non maintenues
- spécifiques à 1 classe de problème (IP, MIP
- 1 méthode de résolution
- machine dépendante code non portable
- machines // avec nombre limité de CPUs
13Plan de la Présentation
- Problèmes dOptimisation Combinatoire (POCs)
- Exemples dapplications
- Méthodes de résolution
- Outils de résolutions (solveurs et bibliothèques)
- La bibliothèque Bob
- Architecture, fonctionnalité et interface de
programmation - Parallélisme dans Bob
- Exemples dapplications en OC avec Bob
- Conclusion et Perspectives
14Bibliothèque daide au développement BOB/BOB
www.prism.uvsq.fr/ blec/Research/BOBO
- BoB créé en 1994 pour capitaliser le savoir-
faire en BX// - BOB Langage Orienté objet C, types
paramétrés (template), réentrance - Caractéristiques
- Choix des algorithmes de résolution
(implantées) - Divide-and-Conquer, Branch-and-Bound,
Programmation dynamique, A - Une API unique pour les applications
- Un seul programme pour une exécution séquentielle
ou // - Architecture
- Classes de base
- Structures de données
- Nuds
- Stratégies de parcours
- Algorithmes de résolution
- Applications
APPLICATION XX
Algo
BobXXInfoAlgo
BobXXNode
BobSDCAlgo
BobBBAlgo
BobCDCAlgo
BobSchedAlgo
BobSchedNode
BobAlgo
BobNode
BobInfoAlgo
BobGDS
15Fonctionnalités
- MĂ©thodes communes aux algorithmes virtuelles
- Initialisation du root (GetROOT()) et solution
initiale (GetSol()) - Initialisation de linfo lecture des données et
options (Init()) - Opérateur de génération de sous-problèmes
(GenChildoperator()) - Généricité de la procédure
Gestionnaire du pool
Opérateur de génération
16Parallélisme ATHAPASCAN / KAAPI Apache
(ID-IMAG), 96
- Open Source, Orienté objet (C)
- Objectif faciliter la mise au point de
programmes parallèles portables - mémoire virtuellement partagée VSM (Virtual
Shared Memory) - Grain de donnée objet partagé Sharedlt
user_type gt x - Grain de calcul tâche (appel de procédure)
Fork ltfoogt()(args ) - Ordonnancement, communications, synchronisations
gérées par Kaapi - Ordonnancement dynamique Work Stealing (receiver
initiative)
17Documentation Bob
- Lien http//wwwex.prism.uvsq.fr/users/blec/Resear
ch/BOBO/ - Exemples de bases
- Affectation quadratique (QAP)
- Voyageur de Commerce (PVC/TSP)
- Reines
- Sac Ă Dos (Knapsack)
18Plan de la Présentation
- Problèmes dOptimisation Combinatoire (POCs)
- Exemples dapplications
- Méthodes de résolution
- Outils de résolutions (solveurs et bibliothèques)
- La bibliothèque Bob
- Architecture, fonctionnalité et interface de
programmation - Parallélisme dans Bob
- Exemple dapplication en OC avec Bob
- Conclusion et Perspectives
19Application QAP avec Bob
- Projets DOC-G e-Toile
- 5000 lignes de code
- 2 code Bob
- Version séquentielle AZQAP
- Algorithme Branch-and-Bound BobBBAlgo
- BobQAPInfoAlgo Size, matrices F et D, sym, UB
- BobQAPNode Size, costtab, sol, ..
- Version parallèle AZQAP
- Version séquentielle 2 opérateurs demballage
et déballage
20MĂ©thodes exactes BX
- Progrès spectaculaire depuis début des années 90
- Augmentation de la puissance des processeurs
- Amélioration des bornes inférieures
- Continue (simplexe, PL), relaxation
lagrangienne,(Bound) - Génération de colonnes (Price)
- Approche polyédrale (Cut), Lift and project
- autres relaxations Programmation quadratique,
Programmation semi définie positive SDP - programmation par contraintes PPC (Infer)
- ? tendance Ă la sophistication, calcul plus
long,mais candidat potentiel Ă la
parallélisation - Détection de symétries et de dominances
- Parallélisme massif dans les parcours
arborescents - Arbre critique de taille Ă©norme
- Nugent 24 48 455 496 sommets dans 3488,3490
- Nugent 30 12.10 9 sommets pour 677 valeurs
21Algorithme Branch-and-Bound
Procédure BB ? minimisation, récupérer borne
supbsup f(x0) ?créer une nouvelle file de
priorité h contenant x0 h makeheap(x0) Tant
que h nest pas vide ? choisir le meilleur
sommet Ă explorer X deletemin(h) ?
Pour chaque sommet fils y de x (opérateur
de génération) ? mise à jour et
Ă©lagage Si y est une solution de
réalisable, meilleure que la borne
sup actuelle, Bsup f(y)
Deletegreater(bsup,h)
? insertion nouveau sommet
Si y nest pas une solution
et v(y)ltbsup, Insert(y,h)
Finpour Fin tant que
- ?Principe SĂ©paration et Evaluation
- ? Eléments de base
- Bornes inférieure
- Valeur de la meilleure solution connue
- Opérateur de génération
- Fonction dévaluation v
- Stratégie de parcours
- ? Conditions délagage
- v(sommet)? f(x0)
- ? Condition darrĂŞt
- Toutes les branches explorées
Solution Optimale
22Différentes stratégies de parcours arborescent en
//
- Granularité dune tâche affectée à un processeur
Nombre de sommets explorés entre deux
communications - ContrĂ´le de la recherche
- Gestion des nuds
- Stratégie centralisée (un pool central)/Distribuée
(plusieurs pools) - Ordonnancement
- Information complète (priorités,bsup)/
incomplète - Rôle des processeurs
- Contrôle centralisé Maître/esclaves
- Distribué, collégial
- Plusieurs niveaux
- Equilibrage de charge stratégies équivalentes
23Tendance actuelle
- Utilisation de processeurs ou machines
élémentaires commerciales puissantes PCs,
serveur - Machines faites à façon par agglomération
(cluster) de processeurs via des réseaux locaux
rapides Ă faible latence (Quadrix,
Myrinet,Infiniband, GigabitEthernet) - Nud PCs, serveurs (quadriprocesseurs, 8 Ă 128
proc.), mémoire partagée - Nombre de nuds variable 1 Teraflop/Gigaflop 10
12 /10 9 opérations flottantes par seconde - 50 Teraflops crête 10 000 x 5 Gigaflops/proc
- 125 (16 x
5 Gigaflops/proc)
242 Mesures de Performances
- Accélération ou Speedup
- rapidité
- T1temps avec 1 processeur
- Tptemps avec p processeurs
- SpT1/Tp
- T1 temps pour algo séquentiel le plus rapide
(absolu) ou algo parallèle avec 1 processeur
(relatif) -
- Efficacité
- Taux dactivité des p processeurs
- Ep Sp/p
Speedup linéaire Spp, Ep1 Speedup
superlinéaire (nondeterministic search cache
uses) Spgtp, Epgt1 Speedup défavorable Spltltp,
Epltlt1
25Parcours séquentiel et //
Consistance avec le parcours SĂ©quentielrespecter
le plus possible lordre du parcours
séquentiel B. Mans and C. Roucairol,
Performances of Parallel Branch and Bound
Algorithms with Best-First Search DAM Discrete
Applied Mathematics, 66(1), pp. 57-76, 1996.
26Deuxième succès Affectation quadratique(QAP)
- Problème daffectation quadratique à 30 villes et
30 sites Nugent30 - résolu exactement par Anstreicher, Brixius,
GouxLinderoth, 2000, - Univ. Iowa et Argone National Lab.
Applications VLSI, cockpits davion, services
hospitaliers, clavier ergonomique ...
14,5,28,24,1,3,16,15,10,9,21,2,4,29,25,22,13,26,17
,30,6,20,19,8,18,7,27,12,11,23 6124 Annoncé
dans la presse Chicago Tribune, Chicago Sun
Times,HPCWire,WCNA Access magazine Infoscience,
Le Monde, Transfert,..
27Parcours // point de vue algorithmique et
modèle de programmation
6
28Début du millénaire deux succès médiatisés
- Voyageur de commerce
- VdC symétrique à 13509 et 15112 A. Rohe villes
résolues exactement - par Applegate, Bixby, ChvatalCook 1998-2001
29Retour sur deux succès Challenges TSP et QAP
9 539 sommets RĂ©seau de 48 stations SĂ©q DEC
Alpha server 400Mhz 10 ans
Traveling Salesman Size gt Usa 13 509
11 892 208 412 sommets Grille sur un réseau 2510
machines PC,Sun et SGI O2000 2 lab nat. (Arg.
lab.,NCSA) 5 universités américaines (Wisconsin,Ge
orgia tech., New mexico, Colombia, North
western) IFN réseau italien MW Arg.Lab,Condor
Univ.Wisconsin,PVM 7 jours SĂ©q HPC3000 7 ans
Quadratic Assignment Size gt Nug30
30Plan
- Les applications concernées
- Problèmes difficiles
- Les machines
- Tendances actuelles
- Parallélisation des Méthodes exactes
- BX
- Parallélisation des Méthodes approchées
- Metaheuristiques
- Grilles de calcul?
31(No Transcript)
32Parcours séquentiel
Binf2
FMin f(x)/xeX
Sommet critique V(S)lt f Sommet éliminé V(S)gt
Bsup Sommet indécidable V(S) f Sommet terminal
V(S) f solution réalisable S
4
5
7
V(S) Ă©valuation dun sommet S
9
10
Enveloppe de larborescence critique
13
15
18
V(S)lt f
F20
25
V(S) f
28
Bsup 30
33Parcours //
34Caractéristiques des méthodes de résolution dOC
- Des applications irrégulières
- Irrégularité CAPA 1995, STRATAGEM
1996Parallélisme et applications irrégulières,
G.Authié, J.M.Garcia, A.Ferreira, J.M.Geib,
J.L.Roch et G.Villard, J.Roman, C.Roucairol,
B.Virot, Hermès, 1995. - Graphe de dépendance imprévisibleaucune partie
du graphe de dépendance peut être défini à la
compilation ou avant lexécution (recherche
arborescente BB, exploration dun espace de
solutions) - Partitionnement, regroupement Affectation
Ordonnancement dynamique à lexécution - (Equilibrage partage de tâches)
- Granularité
- MĂ©thode arborescente moyenne Ă forte
- Méthode approchée faible
35Convaincre la communauté RO?
- Combattre lexplosion combinatoire
- Mise à disposition récente de librairies
permettant un développement plus facile - Problèmes rencontrés Partitionnement, Allocation
et Ordonnancement dynamique, Problèmes
difficiles de RO - Un cluster de 8 PCs 1 Serveur pour 15K 1
teraflops 10 12 opérations flottantes par
seconde? 2,5 M d
- 1 machine n, T2n
- 1024 x plus vite n n10
- Trop difficile
- mieux vaut consacrer du temps Ă la recherche de
meilleures bornes, - Demande des connaissances poussées plus en
Programmation parallèle quen RO - Machines parallèles trop chères, difficiles
daccès
36Conception dune méthode de résolution parallèle
? partition en tâches ?communication graphe de
dépendance entre tâches ? Regroupement ?
Allocation Affectation ordonnancement
37Discrete Optimization Challenges on GRIDDĂ©fis
en Optimisation Combinatoire sur Grille de
machines
Un projet de 3 ans
www.prism.uvsq.fr/DOC-G/
PARADISEO OPAC
BOB/BOB OPALE
Athapascan P3 O2
38Borne inférieure RLT niveau-1
Adams Sherali 1986 Resende, Ramakrishnan
Drezner 1995
Soient yijklxijxkl et CijklFikDjl , le PL
relaxé au niveau 1
Contraintes daffectation linéaire
paires complémentaires
n2(n-1)2/2 variables yijkl, n2 variables xij,
2n2(n-1)2n contraintes n30, 379 350 variables
et 52 260 contraintes.
39Procédure duale de Peter Hahn Fondé sur Méthode
Hongroise O(n3) décomposition Lagrangienne itérée
Borne inférieure Super leader
Cijkl
cij
Dijklpq
40IMACS05
Lowe Bound
linear cost quadratic cost nul costs
Example N4
41IMACS05
Lowe Bound
linear cost quadratic cost nul costs
Example N4
42IMACS05
Lowe Bound
linear cost quadratic cost nul costs
Example N4
43IMACS05
Lowe Bound
linear cost quadratic cost nul costs
Example N4
44IMACS05
Lowe Bound
linear cost quadratic cost nul costs
Example N4
45Résultats expérimentaux
Pareo2005
- BOB/Athapascan
- BB parallèle
- branchement Polytomique
- Tests pour Ă©liminer les affectations
symétriques
usine i
sites
46Sequential results (Level_1 RLT)
Pareo2005
On Pentium Xeon (2.4 Ghz, 2Go RAM, gcc-3.3)
47RĂ©sultats sur des exemples de taille petite Ă
moyenneCung, Guignard-Spielberg, Hahn, Mautor
RoucairolThèse en cours Abdelaziz Djerrah
- BOB Charm/Converse (charm.cs.uiuc.edu)
- Branchement simple (pas de look-ahead)
détection des symétries - RLT niveau-1 pour borne inf
48Parallel Results on a small Cluster
5 nodes Xeon bi-proc, 2.4Ghz, 2 Gbytes RAM
49RĂ©sultats sur taille moyenneA.Djerrah,
VDCung,TMautor,CRoucairol 2003
- Instance Nugent 18
- Machines
- 7 bi-Xeons 2.4GHz, 512 Ko, 2Go (cocteau,
prism) - SpeedUp12.79
- Efficacité92
50RĂ©sultats Niveau1_RLT (1)
Scaling100
Diff 5
51RĂ©sultats sur des tailles plus grandes
- Grappe de PCs, I-Cluster 2
- 100 PCs 733Mhz 256 Mbytes, Linux, Univ.Grenoble,
cluster.imag.fr - Nombre de sommets
- Temps en secondes
10mn
52RĂ©sultats sur des tailles plus grandes
- I-Cluster 2
- Temps en secondes
- ngt30 taille mĂ©moire limitĂ©ede chaque PC Ă
256Mo
53? Parallélisation de metaheuristiques
54Pourquoi paralléliser les metaheuristiques?
- plus vite, plus grand
- meilleur, plus robuste
- amélioration de la qualité de la solution
- facilite fixation des paramètres
55Recherche locale
- Graphe des voisinages
- sommets solutions
- arcs connectant les solutions du voisinage
- Recherche locale Itération basique
- Ă partir d'un sommet ou solution initiale,
répéter jusquà un certain critère d arrêt - évaluer les solutions dans le voisinage de la
solution courante, - évaluer leur coût,
- effectuer un mouvement vers un des voisins (règle
de pivotage) qui devient la solution courante.
- Marche chemin reliant les solutions visitées
durant la recherche dans le graphe des
voisinages - Metaheuristique marche dans le graphe des
voisinages pour Ă©chapper aux minima locaux
56Deux types de parallélisation
- parallèlisation interne - une seule marche
- recherche du meilleur voisin effectuée de manière
concurrente - soit par parallélisation du calcul du coût
(fonction complexe) - soit par décomposition du voisinage (ou du
problème) sur différents processus - parallèlisation externe - plusieurs marches
- indépendantes
- exploration en // Ă partir de plusieurs sommets ?
du graphe des voisinages - partition du problème en sous problèmes (en
fixant certaines variables), exploration des sous
problèmes en parallèle - coopératives
57Une seule marche
- recherche du meilleur voisin effectuée de manière
concurrente - par parallélisation du calcul du coût (fonction
complexe) - Temps réduit, pas de modification de la marche
séquentielle - par décomposition du voisinage (ou du problème)
sur différents processus - Plus grande portion du voisinage étudiée,
possibilité de trouver de meilleures solutions
58Une seule marche
- fréquentes synchronisations
-
- conserve propriètés de convergence RS recuit
Simulé - technique fréquente pour RS recuit Simulé ou AG
algorithmes génétiques - Grain fin à moyen
- Problème de tournées VRP
- partition des clients en sous ensembles
- en //, construction par metaheuristique de
différentes routes sur chaque sous ensemble - Synchronisation combinaison des routes pour
obtenir une solution complète du VRP améliorée
par recherche Tabou TS
59Plusieurs marches Indépendantes
- exploration en // de plusieurs marches
- partant de sommets différents dans le graphe des
voisinages - intersection en 1 sommet ou plus
- exécution successive de p marches en séquentiel
- exploration en // de sous graphes du graphe des
voisinages obtenus par décomposition du
problème
60Plusieurs marches Indépendantes
- PLUS facile à implanter, bonnes accélérations
pour certains problèmes (cf théorème), utile pour
la fixation de paramètres MOINS stratégie un
peu pauvre du point de vue de linformation
échangée, manque de coopération entre les
différentes marches, peut générer des problèmes
déquilibrage ou de travail redondant
En //
61Complexité des metaheuristiques parallèles
- Indices de performances d un algorithme
parallèle - speed-up absolu/relatif, efficacité, anomalie
- Speed up pour un algorithme de recherche locale
parallèle - pour des instances de même taille, rapport entre
temps moyen pris pour trouver une solution
dépassant l'optimum global de ? avec un
algorithme séquentiel, et le temps moyen pour
trouver une solution dépassant l'optimum global
de ? avec un algorithme parallèle utilisant p
processeurs (qualité fixée)
62Théorème de marches multiples indépendantes
- si Qp(t)est la probabilité de ne pas trouver une
solution excédant l'optimum de ? en t unités de
temps avec p marches indépendantes, et si Q1(t)
e -t/l avec l ? R alors Qp(t) Q1(pt) - possible d'obtenir un speed-up linéaire avec des
marches multiples indépendantes si trouver une
solution optimale (ou sous optimale) en un nombre
d'unités de temps fixé suit une loi de
probabilité exponentielle - Comportement vérifié
- Affectation Quadratique
- Recherche Tabou sur, Battiti et Tecchiolli, 92,
Taillard, 91, - Recuit Simulé, Dodd, 90
- GRASP Aiex et al, 2000
- arbre de Steiner, Osborne et Gillett 91
- Min independent set, planarisation graphe
63Plusieurs marches coopératives
- les marches Ă©changent et partagent linformation
obtenue tout au long de leur traversée - linformation partagée
- solutions d élite, meilleure solution trouvée,
liste tabou, taille des populations des ilĂ´ts,
nombre, etc. - Variables globales ou pool en mémoire locale
d un processeur spécialisé accessible par tous
les autres - stratégie plus générale, plus prometteuse mais
demandant plus deffort Ă limplantation
64Plusieurs Marches coopératives
- But accélérer la convergence vers de très bonnes
solutions et trouver en moins de temps quavec
des marches indépendantes de meilleures solutions - Difficultés nature de l information à partager
ou échanger sans engendrer trop de surcoût de
communication ou de stockage
65De très nombreux exemples!
- Tabou, Grasp,VNS, MĂ©thodes Ă©volutionaires,
- Exemples commentés dans
- V.D.Cung, C.Roucairol Implémentations parallèles
des metaheuristiques Résolution de problèmes de
RO par les Metaheuristiques, eds. Marc Pirlot,
Jacques Teghem, Traité IC2, série Informatique
et systèmes dinformation, 2003. - V.D. Cung, S. Martins, C.Ribeiro and C. Roucairol
- Strategies for the Parallel Implementation of
MetaheuristicsEssays and Surveys in
Metaheuristics, Guest Editors C.C. Ribeiro and
P. Hansen, Kluwer Academic Publishers , 263-308,
2001. www.optimization-online.org/DB_HTML/2001/05
/321.html - Journal of Heuristics, Vol 10, number 3, May
2004Special issue New advances on parallel
metaheuristics for complex problems
66Un exemple Recherche par dispersion pour
lAffectation Quadratique
- A scatter search based approach for the QAP
Proc.of IEEE-ICEC97, VDCung, T.Mautor
P.Michelon, A.Tavares - Ensemble de solutions de référence (dispersé)
- 2n solutions obtenues par permutation circulaire
sur une permutation (solution initiale) - Combinaison convexe sur 2 à 5 solutions délite
- Si solution non réalisable Heuristique pour
trouver la plus proche - amélioration recherche tabou
- Mouvement Ă©change entre 2 usines
- Mouvement inverse tabou
- intensification
- diversification
- Statut tabou sur solutions délite
- Faible affectations peu utilisées jusqualors
67Robustesse des parallélisations
10 exécutions // de Sko56
68Deux types de parallélisation étudiées
- Marches indépendantes
- Plusieurs marches coopératives
- Diffusion 1 dune bonne solution locale Ă tous
les autres - Insérée si meilleure que la pire de lensemble de
référence, sinon rejetée - Diffusion 2 vers une autre marche aléatoirement
choisie - Réseau de stations de travail type PC connectées
par Ethernet 10Mbits /PVM
2500 itérations
69Deux types de parallélisation étudiées
70Robustesse
5 exécutions // de tai100a
5 exécutions // de thp150a
3 processeurs, ensemble de référence 2n
71Parallélisme et metaheuristiques font-ils bon
ménage?
- NON
- une metaheuristique demande peu de temps
d'exécution - les gains sont de toute façon faibles pour des
accĂ©lĂ©rations pas très intĂ©ressantes - l'implĂ©mentation d'une metaheuristique est dĂ©jĂ
bien complexe, sa parallélisation demande un
effort supplémentaire
- OUI
- importants gains de temps même avec une stratégie
basique face Ă des metaheuristiques de plus en
plus sophistiquées et coûteuses - un moyen facile et rapide
- de régler des paramètres d'une méthode
- d'améliorer la qualité des solutions fournies
via une diversification naturelle de la
recherche (plus grande diversité génétique ou
meilleure exploration de l'espace de recherche)
72? Et les grilles?
73Et les grilles?
- Caractéristiques
- Nombre important de machines
- Hétérogènes
- Disponibilité variable
- Vaste réseau dinterconnexion
- Applications à forte granularité
- Nécessité denvironnements de programmationpermet
tant - Tolérance aux pannes
- Auto-adaptation des applications Ă
lenvironnement - Exemples
- MWCondorPVM
- MARSPM2
74Algorithme centralisé modèle Maître-Esclaves
- Modèle simple à implémenter et efficace si
- 1Possibilité de régler la granularité dune
tâche - taille des sous arbres à explorer
- 2 Peu déchanges entre maître et esclaves
- racine des sous arbres (début dune tâche)
- 3 Peu de synchronisation entre esclaves
- Borne supérieure? Globale (fin dune tâche)
- Chaque esclave explore indépendamment des autres
son sous arbre - Stratégie déquilibrage de charge
- Tolérance aux fautes
- Ajout ou retrait dun esclave gérées au niveau du
maître - Sauvegarde des données du maître
- Beaucoup dexpériences positives
- ClausenPerregaard 1994, Mans, MautorRoucairol
1995, - Bruengger, Clausen, MarzettaPerregaard 1996,
- Dennelin, Le cun,Mautor, MĂ©haut 1996, CungLe cun
2000,
75Mais, attention à la généralisation!
- Préférer un algorithme distribué
- si les conditions précédentes ne sont pas
vérifiées
- TSP usa13509, Ă©valuation de chaque sommet 33 060
s gt 9h. - Vertex-Cover avec borne par SDP CungRoupin
1999, évaluation gt1 minute pour problèmes
(100-250 sommets), très peu de sommets pour pbs
(10-50).
- Condition 1 non satisfaite (Ă©quilibrage
difficile) - Difficulté à adapter la granularité des sous
arbres explorés
- Conditions 2 3 non satisfaite (surcoût de
communication) - applications avec structures globales (CLOSED
list in A, 2D Guillotine Cutting) - programmes parallèles plus mauvais que
séquentiel!
76Projet RNTL e-Toile 2001-2003
Universités Industriels CNRS (STIC, UREC,
IBCP), ENSL/LIP, INRIA/RESO, ID-IMAG,
IRISA/Paris, University (UVSQ/PRISM), CEA, CS,
EDF, SUN Utilisateurs CEA, EDF, IBCP, PRISM
77e-Toile (Juin 2003)
e-Toile 1 grid platform 7 sites 10
grid nodes 200 heteregeneous processors OS
(partners ownership on full time or
vacations basis) 10 Gbps IPV6 network
VTHD 10 Gb/s
ENS-LYON
UREC
RESO
supervision administration
LIP
CERN (Datagrid, Datatag)
poi0 Ă poi23
78Expériences sur e-Toile
- Nug20 (20 usines et 20 sites)
- Temps
- 1648secondes, gt4h sur la grappe du CEA composée
de 20 AMD MP,1800 - 499 secondes (8.3mn) sur quatre grappes
totalisant 84 processeurs - 7bi-Xeons 2.4Ghz, 2Go (PRiSM)
- 10bi-AMD MP 1800, 1Go (CEA)
- 10bi-Xeons, 2.2Ghz, 2Go (EDF)
- 15bi-PIII, 1.4Ghz, 1Go (ENS-Lyon)
- accélération brute à T20/T84 3,1
79Conclusions
- Les implémentations parallèles ne devraient pas
rester le domaine de spécialistes et devraient
être à la portée de n'importe quel utilisateur - La mise en place de librairies daide au
développement méthodes séquentielles et
parallèles est nécessaire - Méthodes exactes BX//
- Méthodes approchées
- recherche locale EA alg. Évolutionaires,
hybridation - Paradiseo, Univ.Lille, MALLBA 2002, Espagne
- restreint EA
- DREAM 2002,ECJ O2, JDEAL 99, DBEAGLE 03
-
80- Parallel Optimization, Crainic T., Roucairol C.,
Annals of Operations Research 90, Baltzer Science
publ, 1999. - Algorithmes parallèles analyse et conception,
G.Authié, A.Ferreira, J.L.Roch et G.Villard,
J.Roman, C.Roucairol, B.Virot, Hermès, 1994.
81EURO Working group PAREO
- PAREO 2005 au Québec
- January 17-20 , 2005.
- Submission deadline
- Contact
- pareo2002_at_prism.uvsq.fr
- www.prism.uvsq.fr/blec/PAREO/
82Level_1 RLT bound results
Pareo2005
- Lower bounds
- Hahn-and-Grant 2000 iterations on SPARC 10
(75Mhz Super Spare processor)
83e-Toile experiments
- e-Toile project
- French Grid initiative
- Very high speed network
- 6 locations, clusters and supercomputers
- Goals
- Replaces or changes some parts of the Globus
System - Our experiments
- Same code Athapascan BOB
84RĂ©sultats(2)
85Resolution with Peter Hahns DUAL procedure
(Iterated Lagrangian decomposition) Slightly
worse solutions,but faster than CPLEX.
Nugent 12 1995, CPLEX 3.0, Silicon Graphics
250Mhz, 1.2GB RAM ADP (conjugate gradient based
interior point method) spent 6504 seconds. The
best CPLEX 3.0 methods have not been able to
solve instances for size ngt8 and ADP is reported
to be at least 200 times faster than CPLEX 3.0
barrier.