• Aucun résultat trouvé

L’ intensité de la piste , c’est à dire la quantité de phéromones présente à chaque instant sur les pistes que la fourmi peut potentiellement emprunter à cet instant

Définition 3 : Méthode heuristique

3. L’ intensité de la piste , c’est à dire la quantité de phéromones présente à chaque instant sur les pistes que la fourmi peut potentiellement emprunter à cet instant

C’est en quelque sorte une mémoire globale des trajets qui ont d’ores et déjà été effectués par les fourmis, et qui évolue presque de manière continue au cours de l’algorithme [121].

La règle de déplacement des fourmis de ville en ville dépend donc de tous ces para-mètres. On l’appelle la "règle aléatoire de transition proportionnelle" et elle est définie par pki j(t)=          (τi j(t))α˙(ηi j)β P l∈Jki(τil(t))α˙(ηβi j) si j ∈ Jik 0 si j < Jk i (2.19)

avec α et β deux paramètres contrôlant l’importance relative de l’intensité de la piste τi j

et de la visibilité ηi j. Si α = 0, seule la visibilité de la piste est prise en compte dans le choix de déplacement des fourmis. Au contraire, si β = 0 seules les phéromones ont une influence sur le choix de déplacement des fourmis. Pour éviter qu’un trajet ne soit sélectionné trop tôt lors de l’exécution de l’algorithme, il est important de sélectionner correctement ces deux paramètres. On joue ainsi sur le choix entre un comportement qui favorise la diversification et un comportement qui favorise l’intensification des pistes déjà sélectionnées. Comme on le verra dans la partie 2.2.3, ces paramètres correspondent à l’équivalent des paramètres c1et c2de l’algorithme d’optimisation par essaim particulaire PSO, qui jaugent le comportement de l’algorithme entre ses capacités d’exploration de

nouvelles contrées du domaine, et ses capacités d’exploitation des zones prometteuses déjà trouvées.

A chaque itération, chaque fourmi k a effectué un tour complet des villes de l’ensemble N, et a déposé sur chacun des chemins empruntés lors de son parcours une quantité de phéromones ∆τk

i j(t) qui dépend, comme vu précédemment, de la longueur du trajet effectué (c’est à dire de la qualité de la solution proposée par la fourmi, puisque l’on cherche le chemin le plus court possible, plus court est le chemin, plus la solution est adaptée), et qui est donnée par la formule suivante

∆τk i j(t)=        Q Lk(t) si (i, j) ∈ Tk(t) 0 si (i, j) < Tk(t) (2.20) avec Tk(t) le trajet déjà effectué par la fourmi k à l’itération t, Lk(t) la longueur du tour effectué par la fourmi, et Q un paramètre fixé.

Comme expliqué précédemment, pour éviter que le processus ne s’emballe, et pour que l’algorithme de sélection du plus court chemin soit efficace, il est nécessaire que les pistes de phéromones s’évaporent à chaque itération. La règle de mise à jour des pistes est donc la suivante

τi j(t+ 1) = (1 − ρ)τi j(t)+ ∆τi j(t) (2.21) avec∆τi j(t) = Pm

k=1∆τk

i j(t) et m est le nombre de fourmis.

La quantité initiale de phéromones sur les arêtes est déterminée grâce à une distribution uniforme d’une petite quantité τ0≥ 0.

L’algorithme simplifié de résolution du problème du voyageur de commerce est défini dans l’algorithme 2.

Algorithm 2 L’algorithme "Ant System" for t= 1,...,tmaxdo

for chaque fourmi k= 1,...,m do

Choisir une ville au hasard for chaque ville non visitée i do

Choisir une ville j, dans la liste Jk

i des villes restantes, selon la formule (2.19)

end for

Déposer une piste∆τk

i j(t) sur le trajet Tk(t) conformément à l’équation (2.20).

end for

Evaporer les pistes selon la formule (2.21). end for

2.2.2.1.6/ Quelques applications et améliorations Comme il l’a été dit dans la par-tie 2.2.1.2, bien que les méthodes metaheuristiques soient très efficaces, elles peuvent n’être efficaces que sur certains types de problèmes d’optimisation. C’est la raison pour laquelle de nombreux algorithmes hybrides sont proposés afin de combiner les avan-tages d’algorithmes différents, tout en essayant d’éviter leurs inconvénients respectifs. Par exemple, Holden et al. [145, 170, 181] ont proposé un algorithme hybride tirant pro-fit à la fois des capacités de l’algorithme d’optimisation par essaim particulaire (PSO) et de celles de l’algorithme par colonies de fourmis (ACO) pour effectuer des classements de données et du data mining. De la même manière, Iqbal et al. [158] ont proposé un

algorithme hybride PSO/ACO. En effet, dans l’algorithme PSO classique, les particules n’exploitent pas la mémoire collective de l’essaim, mais seulement leur mémoire per-sonnelle, et éventuellement celle de leur voisinage. Ceci implique que l’algorithme peut explorer à nouveau des zones qui ont d’ores et déjà été exploitées auparavant. Dans cet algorithme, des principes tirés de l’algorithme ACO sont utilisés afin d’utiliser au mieux la mémoire collective de l’essaim, en prenant en compte les zones déjà explorées lors du déplacement de l’essaim.

En outre, la méthode développée par Romdhane et al. [233] propose de partitionner un graphe (cf. partie 2.3.2), par exemple une population ou un essaim (cf. partie 2.2.3) en plusieurs sous graphes. Ainsi, chacun des sous-graphes peut explorer une partie du domaine, avant que les meilleures particules de chaque sous-graphe ne soient récupé-rées pour créer un nouvel essaim très efficace, puisqu’hétérogène et réparti aux quatre coins du domaine. Dans cette méthode, l’algorithme ACO définit les sous graphes de la même manière qu’il résout le problème du voyageur de commerce (voir algorithme 2), c’est à dire en se déplaçant de particule en particule, pour déterminer quels sont les sous-ensembles qui émergent du modèle global. Notons ici que Rhomdane et al. [233] insistent sur la nécessité de bien considérer un graphe orienté en tant que tel. En effet, la création de groupes ou de communautés peut être faussée si l’on ne considère pas correctement l’orientation du graphe.

2.2.2.2/ LES ALGORITHMES ÉVOLUTIONNAIRES

Selon la théorie Darwinienne, les mécanismes qui régissent l’évolution des êtres vivants sur Terre consistent essentiellement en unesélection naturellebasée sur la compétition, qui engendre l’extinction des espèces les moins adaptées à leur environnement (notons d’ailleurs, en référence à la partie précédente que, d’après des recherches récentes, les fourmis sont présentes sur Terre depuis plus de 140 millions d’années, et qu’elles font ainsi partie des être vivants les plus compétitifs et qui se sont le mieux adaptés aux cours de ces millions d’années). Cependant, les recherches récentes en génétique ont montré que les seuls mécanismes de sélection ne peuvent expliquer complètement l’évolution des espèces sur Terre.

Les Algorithmes Evolutionnaires (appelés Evolutionary Algorithms et notés EAs dans la littérature anglophone) sont donc des techniques inspirées par les découvertes concer-nant l’évolution biologique des espèces apparues à la fin des années 50 [3]. Parmi plu-sieurs approches différentes, les algorithmes génétiques (appelés Genetic Algorithms et notés GAs dans la littérature anglophone) en constituent l’exemple le plus probant, à la suite notamment de la parution en 1989 de l’ouvrage de D.E. Goldberg [35].

Remarque : De nombreux chercheurs utilisent encore le terme d’algorithmes génétiques

pour définir les algorithmes évolutionnaires, bien que ces derniers n’aient en réalité que peu de points communs avec la méthode des algorithmes génétiques développée ini-tialement par Holland [12] et Goldberg [35]. Ici, nous ferons bien la distinction entre les algorithmes génétiques qui ne représentent qu’un un sous-ensemble des algorithmes évolutionnaires.

Ces algorithmes ont tout d’abord suscité un intérêt relativement limité, du fait de leur complexité qui engendrait un important coût de calcul. Avec le développement des cal-culateurs, ils ont connu un essor considérable, notamment grâce à l’apparition des ar-chitectures massivement parallèles qui ont permis la parallélisation de nombreux calculs

évolutionnaires, et donc l’obtention de résultats en un temps polynomial [121].

2.2.2.2.1/ Généralités

Dans la théorie de la génétique, on considère plusieurs mécanismes à l’origine de la sélection naturelle développée par Darwin [225] :

• Le phénotype d’un organisme est codé en grande partie dans son génotype. De-puis peu, on commence à considérer aussi que l’environnement peut avoir des effets sur le phénotype.

• Chaque population d’individus est constituée d’individus différents.

• Ce sont justement ces différences entre les individus qui leur confèrent une cer-taine capacité d’adaptation à leur environnement.

• Chaque organisme transmet une partie de ses caractéristiques à sa descendance, via la génétique.

• Les individus les plus adaptés se reproduisent plus facilement (notamment parce qu’ils sont plus adaptés à l’environnement, et que donc ils réunissent toutes les conditions nécessaires à la reproduction), et ont plus de chances de transmettre leurs caractéristiques à la population.

Basés sur ces observations, les algorithmes génétiques considèrent donc une population de potentielles solutions (les individus) au problème d’optimisation posé. Les individus sont donc caractérisés par leurs génotypes respectifs, qui leur confèrent, via leur

phé-notype, une certaine adaptation au domaine considéré (la valeur de la fonction objectif

appelée aussifitness). Afin de promouvoir l’adaptation au domaine, les individus les plus adaptés ont plus de chances (au sens probabiliste du terme) de se reproduire au cours desgénérations(les itérations de l’algorithme), afin de transmettre leur génotype au sein de la population.

La manipulation des individus est réalisée grâce à deux types d’opérateurs qui permettent de mettre en œuvre les considérations précédentes : les opérateurs desélection, et les opérateurs devariation.

Les opérateurs de sélection

A chaque génération, les individus peuvent se reproduire, survivre ou disparaître, du fait des deux opérateurs de sélection suivant [121] :

• La sélection pour la reproduction, appelée aussi sélection, qui détermine le nombre de descendants de chaque individu à chaque génération. Les individus les plus adaptés ont donc plus de chance d’êtresélectionnésque les autres. • La sélection pour le remplacement, appelée aussi remplacement, qui détermine

quels individus devront disparaître de la population parce qu’ils ne sont pas suf-fisamment adaptés à l’environnement. On remarque que, grâce à ce processus, la taille de la population est contrôlée. Elle peut soit restée constante, soit évoluer selon une politique précédemment définie.

Pour déterminer les meilleurs individus de la population, ils sont en quelque sorte classés en fonction de leur performance, c’est à dire de la valeur de la fonction objectif (leur phénotype) induite par leur génotype. Ceci implique que la valeur de la fonction objectif de chaque enfant doit être calculée à chaque itération, ce qui peut être assez lourd en terme de temps de calcul.

Les opérateurs de variation

Afin que l’algorithme puisse faire évoluer les populations dans le but de trouver de meilleures solutions au cours des générations, il est nécessaire d’appliquer des opé-rateurs de variation, dont le but est de transformer les populations. Ils sont généralement classés en deux catégories :

• La mutation, qui modifie le génotype d’un individu pour en obtenir un autre (on

pourrait apparenter cela à un processus d’évolution des espèces qui serait extrê-mement rapide).

• Le croisement (appelée aussi "crossover" dans la littérature anglophone), qui engendre des enfants à partir du croisement du génotype de deux parents.

Ces opérateurs sont inspirés de la reproduction sexuée, et ils peuvent être étendus de manière numérique. On peut par exemple imaginer que de nombreux parents (dont le nombre est supérieur à deux) génèrent, de par le croisement de leurs génotypes respectifs, un enfant.

Le problème de ces algorithmes réside dans la représentation de la population. En ef-fet, elle est intimement liée au type de problème d’optimisation à résoudre. Ainsi, si l’on veut résoudre un problème d’optimisation continu dans un domaine de Rn, chaque in-dividu sera représenté par un vecteur de Rn. Au contraire, si l’on souhaite résoudre un problème d’optimisation combinatoire ou séquentielle, comme le problème du voyageur de commerce, on pourra considérer que les individus sont des vecteurs d’entiers, dont chaque composante est le numéro d’une ville. Ainsi, chaque vecteur représente une tour-née, c’est à dire une potentielle solution au problème d’optimisation. Il est donc important, avant d’utiliser un algorithme évolutionnaire, de bien spécifier le type de problème d’opti-misation à résoudre, et donc la représentation des individus dans l’espace des solutions, afin que les opérateurs soient adaptés.

2.2.2.2.2/ Algorithme Les algorithmes évolutionnaires sont tous basés sur l’algo-rithme 3 suivant, au demeurant assez simple, bien qu’il puisse se compliquer suivant le domaine sur lequel il est appliqué.

Algorithm 3 L’algorithme évolutionnaire

Documents relatifs