• Aucun résultat trouvé

L’approche par particules [Heiss, 1995] est inspirées des algorithmes de diffu-sion. Dans cet article, les auteurs donnent la description «intuitive» suivante de l’algo-rithme : Dans un bassin dont le fond est plat, on verse différents fluides non solubles et de viscosité différente. On observe alors que les fluides les plus fins s’étalent au fond, tandis que les plus visceux restent compacts à un endroit. De plus, après avoir versé chaque fluide, une phase de stabilisation se produit qui même à un équilibre figure 8.2.

FIG. 8.2:L’ajout d’un fluide (à gauche), puis sa stabilisation (à droite).

Ici la diffusion se fait suivant plusieurs forces :

– la force d’équilibrage de charge, distribue les entités pour égaliser la charge ; – la force de communication (cohésion), garde les entités très communicantes

en-sembles ;

1En particulier Y. Hu en décrit un grand nombre surhttp://www.dl.ac.uk/TCSC/Staff/ Hu_Y_F/PROJECT/pdcp_siam.html.

8. Méthodes de distribution dynamiques 8.2. Approche particulaire

– la force de migration (friction), empêche une entité de migrer si cela coûte trop cher.

L’algorithme 8.1 utilise ensuite une combinaison linéaire de ces trois forces pour dé-terminer les entités devant migrer.

8.1 : Approche particulaire répéter

Attendre un changement de charge;

sila charge augmentealors

M ← {v∈ V|xi = 1};

loadbalanced←f alse;

tant queM 6=∅etloadbalanced=f alsefaire Obtenir les informations sur les voisins;

Pour toutes les entités, obtenir les forces dans toutes les directions.

pour tous lesv∈Mfaire

Vvensemble des voisins du sommetv.

pour tous lesu∈ Vvfaire Calculer les forcesf(v, u);

On sélectionne le candidat ayant la plus large force.

cand←maxu∈Vv{f(v, u)};

On sélectionne la direction de plus large force.

direct←maxu∈Vv{f(cand, u)};

sif(cand, direct)>0alors

On fait migrer le candidat dans la direction de plus large force.

Migrer(cand, direct);

Envoyer l’information de nouvelle charge aux voisins; sinon

Il n’y a plus de tâches migrables.

loadbalanced←true;

sinon

La charge diminue.

Envoyer l’information de charge aux voisins; jusqu’àIndéfiniment;

Voici une description des trois forces à l’œuvre :

Équilibrage Plusieurs mesures de charges sont données par les auteurs. Nous retien-drons celle-ci :

Vload(c) =card(Vc) (8.4)

aveccle processeur considéré. Les auteurs définissent ensuite les différences de charge de manière absolue, la force d’équilibrageflbentre deux processeursiet

jappliquée au sommetv: flbij(v) =clb Vload(i) + 1 Vload(j) + 1 (8.5) Les incréments de1permettent d’éviter les charge nulles.

Cohésion Les auteurs définissent aussi explicitement la méthode de mesure des com-munications entre deux entités :

Vcom(c) = X

j∈Vi

a(i, j)c(i, j) (8.6)

Aveca(i, j)le temps nécessaire pour transporter une information élémentaire de la ressource de calculiàj, etc(i, j)l’intensité de communication entre ces deux ressources de calcul. La force de minimisation des communications est donc le gain en coût de communication si on déplaçait le sommetvdu processeuriau processeurj:

fcomij(v) =ccom(Vcom(i)−Vcom(j)) (8.7) Friction La migration, opération qui peut être coûteuse, est considérée comme une force de friction. Plus le déplacement d’une entité est lourde, plus la friction sera élevée. Sid(v)est la somme de données à envoyer pour faire migrer l’entité

vla friction est :

ff rictij(v) =cf rictd(v)a(i, j) (8.8) Additionnellement, les entités possèdent un compteur de migrations qui ne doit pas dépasser un seuil constant fixémaxmig. Ainsi, la migration du sommetvest autorisée six(v) = 1, avec : x(v) = ( 1, sir≥ maxz(v) migs 0, sinon (8.9)

etz(v) le compteur de migrations de l’entitév. Le paramètrer est une valeur aléatoire.

Dans ces forces les constantesclb,ccometcf rictservent à pondérer l’effet combiné des différentes forces. La force générale est donc la combinaison linéaire des trois forces décrites :

Troisième partie

Modèle

Cette partie traite essentiellement du modèle que nous proposons, que nous avons nomméAntCO2. Cependant, ce modèle s’insère principalement dans le domaine des «Approches Collectives». Ainsi, afin de mieux cerner le modèle que nous allons pré-senter, et en référence aux concepts présentés dans la partie I page 19 et aux techniques présentées dans la partie II page 87, il est important de replacer notre approche dans son domaine ainsi que par rapport à ses bases inspiratrices. Nous placerons ici l’ac-cent sur les différences significatives entre la méthode que nous proposons et les mé-thodes qui s’en rapprochent par une caractéristique ou une autre. Ceci nous permettra de lever les ambiguïtés liées aux différents vocabulaires qui naissent forcément avec des approches au confluent de plusieurs domaines (Biologie, Parallélisme, Approches Collectives,etc.).

Ces briques de bases étant posées, nous décrirons ensuite en détail l’approche que nous avons suivie,AntCO2. Nous présenterons d’abord l’algorithme en lui-même, son fonctionnement général, puis divers cas particuliers auxquels nous avons été confron-tés, et enfin l’explication et le détail des divers mécanismes qui ont été utilisés dans l’algorithme pour les traiter. Nous étudierons en particulier l’influence des divers pa-ramètres à notre algorithme.

De nombreuses possibilités d’évolution de la méthode aussi bien dans ses buts que dans son action viennent s’ajouter à cette discussion. N’étant pas directement au cœur du sujet de cette thèse, ils sont reportés dans la partie IV page 143, cependant, une technique de recherche des meilleurs paramètres à notre algorithme s’inspirant de PSO2est présentée ici.

Nous proposons sur la figure 8.3 page suivante une petite taxinomie des méthodes ayant trait aux approches collectives. Il s’agit bien sûr d’un classement parmi d’autres. L’intention ici est de montrer les différences entre le modèle que nous proposons, et les approches qui l’ont inspiré.

Nous différencions les approches collectives dédiées à l’optimisation combinatoire ayant unefonction objectif explicite ou même implicite globale de celles qui n’en ont pas. Cette fonction est identifiée par une mesure réalisée de manière globale sur la ou les solutions apportées par la méthode (les anglo-saxons utilisent le termefitness), qui rétroagit sur la méthode. Cette rétroaction modifie les itérations futures de la méthode, et permet l’optimisation en vue d’un résultat escompté. Notre méthode n’utilise pas de mesure ou de fitness implicite ou explicite globale ayant un effet rétroactif sur son comportement.

Un tel choix serait possible, mais rendrait la distribution du modèle délicate en introduisant une ou des variables centralisées. La communication de ces informations à tous les éléments du modèle serait un goulot d’étranglement pour une application. De plus le graphe que nous utilisons est dynamique, et il n’est pas possible de conserver des données sur celui-ci très longtemps, la dynamique les rendant caduques.

Nous introduisons aussi, comme effet de l’absence de fonction objectif, une diffé-rence au niveau du mode d’exécution, en particulier sur la fin attendue de l’algorithme. Notre approche n’est pas définie pour avoir une fin particulière aboutissant à un résul-tat optimisé tout au long de son exécution en raison de la dynamique des entrées. Nous avons qualifié cette autre approchetemps réel étendu.

Ainsi nous séparons dans notre classement les approches basées sur l’évaluation

d’une fitness globale, des approches comme la notre qui n’utilisent que des choix lo-caux. Si sur le diagramme nous avons nommé «essaim de particules» les approches utilisant une fonction objectif, c’est que les très nombreuses méthodes collectives qui en découlent sont quasiment toutes dans le domaine de l’optimisation.

Chapitre 9

AntCO

2

Sommaire

9.1 Présentation et Spécificités . . . 115

9.1.1 Fourmis et phéromones colorées : collaboration et compé-tition . . . 116 9.1.2 Le graphe en tant qu’environnement et solution . . . 116 9.1.3 Distribution par détection d’organisations . . . 117 9.1.4 Modèle d’exécution . . . 118