• Aucun résultat trouvé

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 =

p

pT

seq

T

p

L’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

x2S

c(x)

, o`u

c(x)

est une fonction coˆut et

S

est l’espace des solutions r´eali-sables de

P

. 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 arbre

T = (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 est

s´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 =

f

N

ij

c(N

i

)< c(x



)

g

C

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 =

f

N

ij

c(N

i

) =c(x



);N

i est r´ealisableg – Un ensemble des nœuds `a ´elaguer

E =

f

N

ij

c(N

i

)> c(x



)

g

E

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’ensemble

E

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 de

E

. 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.