• Aucun résultat trouvé

Ce chapitre aborde une heuristique trouvant son ins- ins-piration dans le comportement des fourmis réelles qui

3.3 Naissance des fourmis articielles

Nous savons que les fourmis possèdent des comportements très variés suivant les espèces et les environnements dans lesquels elles vivent. Les comportements développés par les four-mis pour résoudre leurs problèmes quotidiens (se nourrir, se déplacer, se reproduire. . . ) sont, par leur approche collective et géographiquement dispersée, des sources d'inspiration pertinentes pour résoudre des problèmes informatiques, que nous souhaitons expérimenter sur des problèmes liés au handicap. Les fourmis sont des insectes sociaux qui utilisent dié-rents signaux pour communiquer, la transmission chimique étant particulièrement utilisée. Aussi l'étude du comportement des fourmis a permis de montrer que le marquage par les phéromones des chemins entre le nid et une source de nourriture les incite à emprunter le plus court. En modélisant cette capacité des fourmis réelles, des méthodes de résolution de problèmes d'optimisation combinatoire ou de routage dans les réseaux peuvent être mises en place. La modélisation d'autres comportements des fourmis comme le tri du couvain peut également permettre de résoudre des problèmes de classication.

3.3.1 Les fourmis et le problème du voyageur de commerce

Les premiers travaux sur les fourmis articielles ont consisté à appliquer la capacité des fourmis à trouver le plus court chemin, à la classique problématique combinatoire du voya-geur de commerce [50][44] (nous utiliserons par la suite l'abréviation PVC, correspondant en anglais à TSP pour Traveling Salesman Problem).

Le PVC consiste, étant donné un ensemble denvilles séparées par des distances données, à trouver le plus court chemin qui relie toutes les villes, en n'y passant qu'une seule fois, et que ce chemin revienne au point de départ. Précisons que pour de grandes instances du PVC, les méthodes exactes ne permettent pas de trouver l'optimum en un temps raisonnable. Il a eectivement été démontré en 1979 que ce problème est NP-dicile [63]. Tester l'ensemble des solutions, même les plus absurdes, prendrait de ce fait trop de temps lorsque le nombre de ville est important, puisque l'espace de recherche correspond à l'ensemble des combinaisons possibles des n villes, soit n! combinaisons. La seule solution consiste alors à utiliser des méthodes de résolution approchées lorsqu'une solution approchée est acceptable. De nombreuses heuristiques ont été développées pour résoudre ce problème comme celles des plus proches voisins, des réseaux de neurones, des algorithmes génétiques ou encore des colonies de fourmis. Tel quel, ce problème peut s'appliquer à des situations de transport et de logistique (trouver le chemin le plus court pour les bus de ramassage scolaire, pour une tournée de poids lourd transportant de la marchandise. . . ), mais il correspond plus généralement à la recherche du plus court chemin dans un graphe. De ce fait de nombreux problèmes de recherche opérationnelle se ramènent à celui du voyageur de commerce.

3.3.2 De Ant System à Ant Colony System

L'approche consistant à résoudre le PVC par des colonies de fourmis articielles a été développée dans de nombreuses variantes comme par exemple avec l'algorithme Ant System

(AS) [51]. Dans cet algorithme (voir algorithme 1),m fourmis se déplacent entre lesn villes en déposant sur les chemins entre ces villes des phéromones τi,j avec (i, j) ∈ {1..n}. Ce problème est modélisé en représentant chaque ville comme le sommet d'un graphe et les chemins reliant les villes comme les arêtes du graphe.

Algorithme 1 Ant System (AS) pour le PVC

1: Initialiser les valeurs des phéromones τij

2: Répéter

3: Pour tout fourmis f Faire

4: Construire un chemin Sf

5: Evaluer la longueur de ce chemin Lf

6: Fin pour

7: Mettre à jour la meilleure solution trouvéeS

8: Mettre à jour la matrice de phéromones τij = (1−ρ)τij +Pm f=1∆τijf

9: Jusqu'à la validation du test d'arrêt

10: Retourner la meilleure solution S trouvée depuis le début

A l'instar des fourmis réelles, lorsqu'une fourmi articielle se déplace d'une villei à une ville j, elle dépose des phéromones sur le chemin reliant ces deux villes. Précisons que des diérences apparaissent entre les fourmis réelles et les fourmis articielles de cet algorithme : ces dernières ne sont pas totalement aveugles, et ont de ce fait connaissance de la distance qui les sépare des autres villes ; elles possèdent une mémoire pour se souvenir des villes déjà visitées et ne pas y retourner.

Le choix de la direction que prend la fourmi est basé sur une probabilité qui dépend d'une part de la distance entre la ville où elle se trouve et les diérentes villes qui lui reste à parcourir, et d'autre part de la quantité de phéromones déjà présente sur ces chemins. La probabilité qu'une fourmi choisisse de se diriger vers une certaine ville sera d'autant plus forte que la distance séparant ces villes sera petite et que la quantité de phéromones sera importante. Notons que grâce à la mémoire de la fourmi, la probabilité qu'elle choisisse de se diriger vers une ville qu'elle a déjà visitée est nulle. L'équation 3.1 donne cette probabilité. Précisons que cette probabilité est biaisée par les paramètres α et β qui déterminent l'im-portance de l'inuence respectivement de la quantité de phéromones τij et de la visibilité

sij laquelle correspond pour le PVC à l'opposé de la distance entre les villes.

Pij =

( τijαsijβ P

(i,l)∈Ωτilαsilβ si (i, j)∈Ω

0 sinon (3.1)

avecΩ la liste des villes qu'il reste à parcourir.

La mise à jour des phéromones s'eectue lorsque toutes les fourmis articielles ont par-couru toutes les villes (contrairement aux fourmis réelles qui font la mise à jour au fur et à mesure de leurs déplacements). Cette mise à jour dépend du coecient d'évaporation ρ, qui

permet de représenter l'évaporation naturelle des phéromones, et du coecient de renforce-ment∆τij donné par la formule 3.2. Ainsi toutes les fourmis participent bien au renforcement des phéromones, mais avec plus ou moins d'insistance selon la qualité de la solution qu'elles ont générée là encore il s'agit d'une possibilité oerte aux fourmis articielles par rapport à leurs homologues réelles.

∆τijf =

1

Lf si (i, j)∈Sf

0 sinon (3.2)

Des variantes ont ensuite permis d'améliorer l'algorithme AS, comme le Max-Min Ant System [126] pour borner la quantité de phéromones sur le chemin, ou encore le ASrank [16] dans lequel le renforcement des phéromones tient compte du coût de la solution générée par la fourmi mais aussi de son rang par rapport aux coûts des solutions des autres fourmis. Par ailleurs, l'algorithme Ant Colony System [49] (ACS) présente une autre variante de résolution du PVC par des fourmis articielles. Dans cet algorithme, seule la meilleure fourmi de chaque itération renforce les chemins qu'elle a utilisés pour construire sa solution. La mise à jour des phéromones ne s'eectue plus qu'à partir du meilleur chemin trouvé. De plus, une heuristique locale peut être ajoutée pour améliorer les solutions des fourmis.

3.3.3 Heuristique ACO

Désormais, l'heuristique ACO (Ant Colony Optimization) regroupe toutes les variantes issues de cette rencontre fourmis-phéromones-optimisation et aborde de nombreux pro-blèmes combinatoires plus ou moins proches du PVC [52]. Cette heuristique peut de manière générale être présentée comme sur l'algorithme 2.

Algorithme 2 Ant Colony Optimization (ACO)

1: Initialiser les valeurs des phéromones τij

2: Répéter

3: Construction des solutions par les fourmis

4: Mise à jour des phéromones

5: Exécution d'une action centralisée

6: Jusqu'à la validation du test d'arrêt

7: Retourner la meilleure solution trouvée depuis le début

Tout d'abord, la fourmi se déplace sur les n÷uds du graphe représentatif du problème pour construire sa solution. Elle est pour cela inuencée par des décisions locales probabi-listes qui tiennent compte à la fois de la connectivité du graphe et de l'intensité des traces de phéromones déposées par ses congénères dans les précédentes itérations. Ensuite elle doit annoter les arcs du graphe pour aider les autres fourmis à trouver le meilleur résultat en y déposant des phéromones. Enn, il peut être utile d'exécuter certaines actions centralisées qui ne peuvent être eectuées par les fourmis elles-mêmes de manière individuelle, comme la collecte de la meilleure solution ou encore son coût.

3.4 Résolution de problèmes d'optimisation combinatoire