Title: Prsentation PowerPoint
1Expérimentation dun Solveur Parallèle pour
lOptimisation Combinatoire
A. Djerrah, V-D. Cung, B. Le Cun et C. Roucairol
Contact aziz.Djerrah_at_prism.uvsq.fr
Équipe OPALE, thème AOC, laboratoire PRiSM -
CNRS Université de Versailles - Saint
Quentin-en-Yvelines (UVSQ) 45 Av. des Etats-Unis
78035 Versailles
RenPar17 3-6 Octobre 2006 Perpignan
2Plan de la présentation
- Introduction
- Optimisation Combinatoire
- Exemples dapplications
- Méthodes de résolution exactes et approchées.
- Les bibliothèques de programmation pour OC
- La bibliothèque Bob
- Architecture, fonctionnalités et interface de
programmation - Parallélisme dans Bob
- Exemple dapplication avec Bob
- Le problème dAffectation Quadratique (QAP)
- Le problème daffectation 3-dimensions (Q3AP)
- Conclusion et Perspectives
3Introduction
- Problèmes dOptimisation Combinatoire (POCs)
- Max/Min
- Plusieurs applications industrielles sont
modélisées comme des POCs - Méthodes de résolution sont de plus en plus
efficaces et complexes - Classe de problèmes NP-complets
- Explosion combinatoire nombre de solution
exponentiel à n - Méthodes de résolution
- Approchées rapides, bonne solutions, pas
optimales - Exactes solution(s) optimale(s), complexes
(temps mémoire) -
4Exemples de POCs
- Problème du Sac à dos (Knapsack Problem)
- Sac de capacité W, n objets (wi,pi).
- Quelques domaines dapplications
- Cryptographie aide à la spéculation boursière
pour maximiser les retours d'un capital à placer
sur des actions chargement de bateau ou
d'avion 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. - méthodes de résolution
- Exactes prog. Dynamique, PSE (BB), hybrides
- Algorithme glouton, colonies de fourmis,
algorithmes génétique,
Variantes O1KP, continue (LKP), variables
entières (ieurs exemplaires, UKP), borné (nbre
dexemplaires limités, BKP), multidimensionnel
(d-KP), multi-objectif (MOKP), quadratique (QKP),
à choix multiple (MCKP), multiple (MKP).
5Exemples de POCs
- Problème du voyageur de commerce (TSP)
- Trouver un circuit hamiltonien visiter n villes
et revenir au point de départ. - Transport (ramassage scolaire, personnels),
logistique (livraison, enlèvement), industrie
(plus courte distance que devra parcourir le bras
mécanique d'une machine pour percer les trous
d'un circuit imprimé. - Complexité n! solutions possibles pour n villes
- N20, 60E15 solutions, 1928ans CPU (1 us/sol)
- Méthodes de résolutions
- Exactes cutting planes, BCP
- Approchées algos. génétiques, recuit simulé,
6Le problème de lAffectation Quadratique (QAP)
Formulation mathématique Koopmans-Beckmann,57
Applications VLSI, cockpits davion, services
hospitaliers, clavier ergonomique...
- NP-complet, y compris la recherche dune solution
e-approchéeSahni et al.,76 - Existence dune QAPLIB (taille de 6 à 256)
Nug30 Anstreicher et al.,00 Annoncé dans la
presse USA Chicago Tribune, Chicago Sun Times,
WCNA Access magazine France Infoscience, Le
Monde, Transfert,..
7Taxonomie des mé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.
8Méthode Branch-and-Bound (BB)
UB
Problème original
- Composantes principales
- f Fonction dévaluation
- (Min Borne inférieure (LB))
- G stratégie de séparation
- (dichotomique, polytomique)
- Sp stratégie de parcours (profondeur,
- largeur, meilleur, aléatoire, )
- - UB Borne supérieure
- Condition délagage
- f(x) gt UB
Mise à jour de UB
9Difficultés des BB
- Bornes inférieures
- Idéale bon rapport qualité/temps de calcul à
chaque niveau - Stratégie de séparation/branchement
- choix de la (les) variable(s) de séparation
- Détection de Symétries les sites forment une
figure régulière - (rectangle, cercle, ligne)
solutions symétriques/équivalentes - Tests de détection de symétrie ex test de T.
Mautor Thèse,93 - rapide et efficace réduit de 80 des sommets
explorés - Remarques
- Bornes supérieures de bonne qualité trouvées par
méthodes approchées - Arbre critique (peu danomalies daccélération)
- Arborescences irrégulières et imprédictibles
difficile en BB parallèle
8
10Les bornes inférieures pour le QAP
- Borne GLB Gilmore,62 Lawler,63
- Rapide mais mauvaise qualité (-20 de
OPT) - Temps(n1) Temps(n)4 Clausen-Perregaard,87
- Bornes SDP Pardalos,94,Karisch,95,Faye-Roupin
,05, - Bonne qualité mais très chères
- Nug20(2570) LB 2511 (2,3), CPU 15h36
- Bornes des valeurs propres Finke,87,Rendl-Wolko
wicz,89,Anstreicher,99 - Théoriquement bonne mais très chères.
- Bornes de la reformulation du problèmeAssad-Xu,8
5, Resende,95, - Procédure duale (DP) Hahn,69 Hahn-Grant,98
- Formulation niveau 1 RLT du QAP
Adams-Johnson,94 - Technique de linéarisation (RLT)
Adams-Sherali,86
11Plan de la présentation
- Introduction
- Le Problème dAffectation Quadratique (QAP)
- Méthodes de résolution, Branch-and-Bound et ses
difficultés - Bornes inférieures, Symétries et Stratégies de
séparation. - AZQAP séquentiel
- Technique de linéarisation RLT et différentes
formulations utilisées - Les contributions Amélioration de la borne
inférieure et séparation - AZQAP parallèle
- Stratégies et outils de parallélisation
- Les résultats sur grappes et grilles de calcul
- Conclusion et Perspectives
12Formulation niveau 1 RLT
Adams-Johnson,94 Resende-Ramakrishnan-Drezner,9
5
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.
11
13Exemple N4
Termes complémentaires
L
C
LBBorne Inférieure
Matrices L et C réduites
12
14Formulation niveau 2 RLT
Ramakrishnan-Resende-Ramachandran-Pekny,96
En posant zijklpqxijxklxpq et Dijklpq
CijklCklpqCijpq , le PL relaxé réduit niveau 2
(3 usines et sites en même temps)
Variables variables RLT 1 n2(n-1)2 (n-2)2/6
variables zijklpq Contraintes contraintes RLT 1
n2(n-1)2 (n-2) . n30 3 099 280 950 variables
et 21 245 460 contraintes.
13
15Procédure Duale (DP) pour RLT 1
- Procédure basée sur la méthode Hongroise O(n3)
- Décomposition Langrangienne itérative n2 1
programmes linéaires
1
3
Recuit simulé
2.1
2
Borne inférieure
14
16Paramètres à régler pour AZQAP
- Partie 1 Procédure Duale
- Objectif Recherche de compromis qualité/temps de
calcul - SCALING relaxation des contraintes dintégrité
et précision en calcul flottant - Stratégie dextraction des termes
complémentaires - ? Critère darrêt de la DP
- fonction (taux damélioration de LB entre 2
itérations successives) - Ordre de traitement des sous matrices
- Hybridation formulations niveau 1 et 2 RLT
Partie 2 Stratégies de séparation
17Effet du SCALING sur la borne inférieure
- Intel XEON (2.4 Ghz, 2GO)
- Critère darrêt aucune amélioration de LB entre
deux itérations successives
Une très grande valeur du SCALING augmente le
temps de calcul de la borne mais pas sa valeur.
La valeur du SCALING qui produit des bornes de
meilleur ratio qualité/temps de calcul est 1000
18Stratégies dextraction des complémentaires
-
- Première itération de la DP Extraire A lors
du traitement de la s/matrice du Leader Cij,
prendre le reste pour le Leader Ckl - Autres itérations prendre 100 pour le Leader
Cij
Lextraction équitable des termes complémentaire
est la mieux adaptée
19Critère darrêt de la procédure dans larbre BB
critère darrêt de la procédure duale dépend du
taux damélioration de LB entre 2 itérations
successives
Un bon compromis entre le temps de calcul et la
qualité de la borne inférieure est très important
en chaque niveau de larbre BB. ? 5 est
meilleur.
20Ordre de traitement des s/matrices
Règle1 Leaders nuls, puis les autres
croissants Règle2 ordre séquentiel Règle3 par
lignes selon nombre de leaders nuls Règle4
Leaders nuls selon
croissants Règle5 Leaders nuls selon
décroissant
1. Le traitement séquentiel (total ou partiel)
des Leaders est déconseillé
21Séparation Polytomique Roucairol,87
1
X111
X1k1
X2j1
Xmj1
k
1
3
Branchement ligne
Problème Quelle ligne ou colonne choisir?
20
22Stratégies de séparation (classiques)
- Choisir la séparation qui produit le moins de
fils ne produit pas
forcément un arbre BB minimal - Accélérer le processus de séparation ne réduit
pas larbre BB.
23Nos Stratégies de séparation
SLC_v2 ligne/colonne avec
SLC_v2 équivalente à SLC Look-ahead dun
niveau
- Les termes quadratiques contribuent à guider
favorablement la recherche
24Les bornes inférieure avec RLT 2
- Généralisation de la technique RLT sur le niveau
1
- Principe dutilisation du RLT 2
- Appliquer RLT 1
- Si le nud nest pas élagué alors appliquer RLT
2 - RLT 2 très chère en temps et espace mémoire
- Proposition Hybrider les 2 formulations RLT
en appliquant RLT 2 à quelques nuds
seulement. - Problème sur quel(s) critère(s) choisir les
nuds? - évaluation, niveau dans larbre, ?
23
25Quelques Progrès récents QAP
SunFire V880 750 MHz Dell 7150 Linux server 733
MHz
26Plan de la présentation
- Introduction
- Le Problème dAffectation Quadratique (QAP)
- Méthodes de résolution, Branch-and-Bound et ses
difficultés - Bornes inférieures, Symétries et Stratégies de
séparation. - AZQAP séquentiel
- Technique de linéarisation RLT et différentes
formulations utilisées - Les contributions Amélioration de la borne
inférieure et séparation - AZQAP parallèle
- Stratégies et outils de parallélisation
- Les résultats sur grappes et grilles de calcul
- Conclusion et Perspectives
27Parallélisation du BB
- Sources du parallélisation
- Nud (évaluation parallèle) rarement utilisée
- -- Dépendant de lapplication
- Applications candidates évaluation lente (TSP,
bornes SDP,..) - Ex. TSP us13509, 9539 sommets, 9h en chaque
sommetApplegate, Bixby, Chvatal Cook,98 - Arbre (parcours parallèle) très utilisée
- Générique, Contrôle facile de la granularité
- Difficultés du parcours parallèle de larbre
- Structure de larbre non connue davance due à la
génération dynamique des tâches - Dépendances entre les tâches imprédictibles
- Surcoûts de parallélisation (redondance,
communications dues aux synchronisations, gestion
de linformation, équilibrage de charge)
26
28Stratégies de parallélisation du parcours darbre
BB
- Centralisée maître/esclave (1 pool centralisé)
- qualité de linformation globe (complète),
pas déquilibrage de charge, gestion facile des
machines, checkpoint au niveau maître - -- goulot détranglement au niveau maître,
passage à léchelle - Distribuée plusieurs pools distribués
- -- qualité de linformation globale (incomplète),
redondance, équilibrage de charge, checkpoint de
chaque processeur - passage à léchelle
- Hiérarchique un compromis centralisé/Distribué
29Quelques bibliothèques pour BX
- Commercial softwares
- CPLEX (iLog)
- XPRESS-MP (Dash Associates)
- 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)
- Limitations
- non maintenue
- spécifique à une classe de Pbs (MIPs)
- une ou deux méthodes et paradigme
- change suivant la méthode
- architecture dépendante modifications majeures
pour architectures
- Branch-and-X
- BOB (Bobo -) )
- COIN (IBM)
- PARINO (Georgia Tech.)
- PICO (Sandia Lab. Rutgers Univ.)
- Symphony (Rice Univ.)
30La bibliothèque Bob
- Open Source, Orienté objet.
- Une API unique pour les applications.
- Un seul programme pour une exécution
séquentielle ou parallèle. - Comm. par mém. partagée, PVM/MPI, PM2, Charm,
Athapascan
Gestionnaire du pool
Opérateur de génération
31ATHAPASCAN / KAAPI Apache (ID-IMAG), 96
- Open Source, Orienté objet
- 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)
CPU0
CPU1
Work Stealing
31
32Les plates-formes et mesures
- Plates-formes test
- Grappe gdx (Orsay)
- Plate-forme Grid5000 grappe de grappes homogènes
- Plate-forme e-Toile grappe de grappes
hétérogènes - Résultats
- Accélération/efficacité
- Équilibrage de charge)
- Anomalies dexploration
33Performance sur Grappe gdx
Nug22
34Performance sur Grappe gdx
Nug24
35Performance sur Grid5000
Nug24
35
36Performance sur e-Toile
Nug22
37Plan de la présentation
- Introduction
- Le Problème dAffectation Quadratique (QAP)
- Méthodes de résolution, Branch-and-Bound et ses
difficultés - Bornes inférieures, Symétries et Stratégies de
séparation. - AZQAP séquentiel
- Technique de linéarisation RLT et différentes
formulations utilisées - Les contributions Amélioration de la borne
inférieure et séparation - AZQAP parallèle
- Stratégies et outils de parallélisation
- Les résultats sur grappes et grilles de calcul
- Conclusion et Perspectives
38Conclusion
- Nouvelles bornes de meilleurs ratios
qualité/temps de calcul - Nouvelles stratégies de séparation
- Mise en place dans le cas parallèle des 2
niveaux RLT - Parallélisation de la bibliothèque Bob
- AZQAP un nouveau algorithme BB // pour le QAP
- efficace accélération et utilisation des
ressources - portable sur différentes architectures sans
modification - extensible.
39Perspectives
- Projet CHOC (Challenge en Optimisation
Combinatoire) - Renforcer les bornes actuelles et étudier la
parallélisation des bornes SDP - Hybridation des deux formulations RLT dans le
BB \\ - Généraliser les travaux (optimisation et
parallèlisme) sur dautres problèmes
combinatoires intéressants - Voyageur de Commerce (TSP)
- Q3AP
40MERCI
41Anomalies Nug24 sur Grid5000
42Anomalies du BB parallèle
- Surcoût de recherche
- Travail redondant généré par le parcours
parallèle - BB distribué arbre non critique, augmentation
de mémoire. - Surcoût de communication
- Synchronisations et gestion de linformation
globale (borne sup.,) - BB centralisé/distribué
- Solution une bonne granularité
T(calcul)/T(communication) - Généré par léquilibrage de charge.
- Surcoût déquilibrage de charge
- Partage équitable du travail et réduction de
linactivité des processeurs - Solution différentes stratégies déquilibrage de
charge
43Grappes et Grilles de Calcul
- Supercalculateurs
- Plusieurs nuds de calcul (gt100)
- Processeurs optimisés, réseaux haut débit (GO/s)
- Chers mais puissants (
- Grappes (Clusters)
- Nuds (serveurs) homogènes reliés par un réseau
local - Grilles de calcul (Grid Computing)
44Caractéristiques du calcul sur grilles
- Disponibilité variable et peu fiable les
machines peuvent sajouter ou se retirer à tout
moment. - Très faiblement couplé Réseaux immenses et à
faible débit . - Fortement hétérogène beaucoup de machines et
réseaux différents (mémoire, processeurs,
systèmes dexploitation, latences et débits, etc.)
- Tolérance aux pannes, checkpointing
- Gestion de lordonnancement multi-critères des
priorités - Gestions des colonnes (Price), coupes (Cut),
multi-objectif - Mesures de performances (métriques ?)
45Projet E-Toile
7 équipes, 200 CPUs, 2.7 Mega-euros
46Projet Grid5000
9 équipes, 1900 CPUs (2006) 5000 en 2007, 17.76
Mega-euros
47TOP500
48Exemple pour N3
49Bornes SDP Rouipn Faye, 2005
50Évolution de la borne RLT1 à la racine
Évolution de la borne à la racine de larbre
51Écart entre la borne RLT1 et Optimum
52Formulation niveau 2 RLT
Leaders
C1414
Sous-matrice associée à C14
C1414
C1421
C1422
C1423
C1431
C1432
C1433
C1441
C1443
C1442
S/S-matrice associée à C1433
C143321
C143322
Matrice C
C143341
C143342
14