4.4 Mesure des performances
4.4.2 Efficacit´e
L’efficacit´e d’un algorithme parall`ele est d´efinie comme le rapport de l’acc´e-l´eration sur le nombre de processeurs.
E
p= Sp =
ppT
seqT
pL’efficacit´e repr´esente le rendement de l’algorithme parall`ele et elle est sou-vent exprim´ee par un pourcentage qui repr´esente l’utilisation moyenne des proces-seurs par rapport `a une utilisation permanente durant toute la dur´ee de l’ex´ecution
T
p.Pour approfondir toutes ces notions, le lecteur est encourag´e de consulter [CT93, AGF+
65
Chapitre 5
Parall´elisation du “Branch and
Bound”
Dans ce chapitre nous pr´esenterons un aper¸cu non exhaustif des ´etudes de parall´elisation de l’algorithme du “Branch and Bound” d´edi´e `a la r´esolution de probl`eme d’optimisation combinatoire. Nous rapporte-rons quelques exemples d’exp´erimentations et de plateformes de pro-grammation de “Branch and Bound” parall`ele.
5.1 L’algorithme du “Branch and Bound”
La m´ethode du “Branch and Bound” est l’un des plus puissants algorithmes pour r´esoudre des probl`emes NP-difficile. Pour la plupart des ces probl`emes seulement des petites instances peuvent ˆetre r´esolues en un temps raisonnable sur des ordinateurs s´equentiels. La parall´elisation de cette m´ethode pour dimi-nuer les temps de calcul a retenu l’attention de nombreux chercheurs dans les dix derni`eres ann´ees, en particulier pour la r´esolution de probl`emes d’optimisation combinatoire. L’objectif de cette section est de donner un aper¸cu g´en´eral sur l’´etat de ces recherches et les r´esultats obtenus.
Rappellons que la m´ethode du “Branch and Bound” consiste en une ´enum´e-ration implicite de l’ensemble des solutions d’un probl`eme d’optimisation
P
:min
x2Sc(x)
, o`uc(x)
est une fonction coˆut etS
est l’espace des solutions r´eali-sables deP
. Le principe de l’algorithme est de diviser l’ensemble des solutions en sous-ensembles. Cette op´eration s’appelle branchement. Elle consiste `a construire un arbreT = (N;E)
o`u N repr´esente l’ensemble des nœuds de l’arbre qui repr´e-sentent les sous-ensembles obtenus par branchement. Ensuite un nœud ests´elec-tionn´e de la file des nœuds actifs puis ´evalu´e. La valeur du nœud repr´esente une borne inf´erieure de la valeur de la solution optimale. Un nœud peut ˆetre ´elagu´e si son ´evaluation est sup´erieure `a la meilleure solution connue, sinon le nœud est ajout´e `a la file des nœuds actifs. La strat´egie de s´election du nœud d´efinit la ma-ni`ere de parcourir l’arbre du “Branch and Bound”. Pour une bonne compr´ehension des ph´enom`enes li´es aux performances de l’algorithme du “Branch and Bound” Nous allons caract´eriser l’ensemble des nœuds de l’arbre complet d’´enum´eration implicite. Nous reprenons les d´efinitions de Mans et Roucairol dans [MR96] des diff´erents sous-ensembles de nœuds inclus dans
N
:C
E O I
FIG. 5.1 – Structure de l’arbre complet d’´enum´eration du “Branch and Bound”
– Un ensemble critique
C =
fN
ijc(N
i)< c(x
)
gC
est l’ensemble de nœuds d’´evaluation inf´erieure `a la valeur de la solution optimale.– Un ensemble des nœuds d’ind´ecision
5.2 Approche de parall´elisation 67
I
est l’ensemble des nœuds d’´evaluation ´egale `a la valeur de la solution optimale mais qui ne sont pas r´ealisables.– Un ensemble des nœuds optimaux
O =
fN
ijc(N
i) =c(x
);N
i est r´ealisableg – Un ensemble des nœuds `a ´elaguerE =
fN
ijc(N
i)> c(x
)
gE
est l’ensemble des nœuds d’´evaluation sup´erieure `a la valeur de la solu-tion optimale.L’arbre critique compos´e des nœuds de
C
, correspond `a l’arbre de taille mi-nimale que l’on doit d´evelopper pour prouver qu’une solution est optimale. L’ex-ploration des nœuds de l’ensembleE
ne peut pas conduire `a une solution opti-male et provoque une perte en espace m´emoire et en temps de calcul. La strat´egie “meilleur d’abord” interdit l’exploration des noeuds deE
. Toutefois notons que la taille de l’espace m´emoire requis pour stocker les noeuds actifs croˆıt exponen-tiellement avec cette strat´egie.L’algorithme du “Branch and Bound” est une application irr´eguli`ere puisqu’on ne peut pas pr´edire son comportement ind´ependamment de l’instance du probl`eme que l’on souhaite r´esoudre. La dur´ee de calcul des tˆaches est inconnue `a priori et il en est de mˆeme du nombre de tˆaches `a traiter, ainsi que de leur d´ependance.
5.2 Approche de parall´elisation
On peut classer les algorithmes parall`eles de “Branch and Bound” selon le grain de parall´elisme utilis´e. Il existe trois strat´egies.
– La premi`ere consiste `a introduire le parall´elisme pendant l’´evaluation du nœud de l’arbre du “Branch and Bound”. Ce parall´elisme n’influe pas sur la structure de l’algorithme du “Branch and Bound”. Il d´epend fortement de la m´ethode d’´evaluation d’un sous-probl`eme.
– La deuxi`eme strat´egie de parall´elisation consiste `a construire l’arbre du “Branch and Bound” en parall`ele. Plusieurs nœuds de l’arbre du “Branch and Bound” sont ´evalu´es simultan´ement sur les processeurs de la machine parall`ele.
– Le dernier type de parall´elisme consiste `a construire plusieurs arbres du “Branch and Bound” en parall`ele avec des strat´egies diff´erentes. Sur chaque processeur, on choisit une strat´egie diff´erente de branchement, de s´election ou d’´elimination... Les informations recueillies sur un processeur pendant la construction d’un arbre peuvent ˆetre utilis´ees sur d’autres processeurs. Les trois strat´egies de parall´elisation peuvent ˆetre combin´ees soit d’une fa¸con s´equentielle, soit d’une fa¸con hi´erarchique. Pekny et Miller [PM92] ont parall´elis´e l’´evaluation du noeud racine, pour passer ensuite `a une construction en parall`ele du reste de l’arbre du “Branch and Bound”. Mais dans la majorit´e une seule stra-t´egie de parall´elisation est exploit´ee.