Vous êtes sur la page 1sur 37

Computationnal Intelligence Master 2 GSI / 2020

2020-- 2021
Introduction

 Initialement proposé par Marco Dorigo et al. dans les années 1990,
pour la recherche de chemins optimaux dans un graphe, le premier
algorithme s’inspire du comportement des fourmis recherchant un
chemin entre leur colonie et une source de nourriture.

 Les algorithmes de colonies de fourmis sont


des algorithmes inspirés du comportement des fourmis et qui
constituent une famille de métaheuristiques d’optimisation.
Introduction

 En observant une colonie de fourmis à la recherche de nourriture


dans les environs du nid, on s’aperçoit qu’elle résoud des
problèmes tels que celui de la recherche du plus court chemin.

 Les fourmis résolvent des problèmes complexes par des


mécanismes assez simples

à modéliser.
Métaheuristique (rappel)

➢ Algorithme d’optimisation
➢ Algorithme itératif qui progresse vers un optimum global.
➢ Tente d’apprendre les caractéristiques d’un problème afin de
trouver une approximation de la meilleure solution.
Pourquoi les fourmis?

➢ Comportement collectif : Chaque fourmi a pour priorité le bien


être de la communauté.
➢ Comportement indépendant:
Chaque individu de la colonie n’est pas supervisé d’une manière ou
d’une autre. Ce concept est appelé Hétérarchie (s’opposant à la
Hiérarchie, contraire d’une structure ascendante).
➢ Chaque fourmi est aidée par la communauté dans son évolution
et en retour il aide au bon fonctionnement de celle-ci.
➢ Chaque fourmi aide au bon fonctionnement
➢ Pistes de phéromones

• La colonie est donc auto-contrôlée par le biais de mécanismes


relativement simples à étudier.
Origine

L’idée originale provient de l’observation de l’exploitation des


ressources alimentaires chez les fourmis. En effet, celles-ci, bien
qu’ayant individuellement des capacités cognitives limitées, sont
capables collectivement de trouver le chemin le plus court entre
une source de nourriture et leur nid.

Cette idée s'est depuis diversifiée pour résoudre une classe plus
large de problèmes et plusieurs algorithmes ont vu le jour,
s’inspirant de divers aspects du comportement des fourmis.
Origine

Il est ainsi assez simple de simuler leur comportement par des


algorithmes.

L’heuristique d’algorithme de fourmis consiste à trois phrases


principales :
La construction de chemins initiales
La mise à jours de phéromones
Amélioration de la qualité de solution
Principe des colonies de fourmis

 Les algorithmes de colonies de fourmis sont des algorithmes


inspirés du comportement des fourmis et qui constituent une
famille de méta heuristiques d’optimisation.
 Un modèle expliquant ce comportement est le suivant :

• une fourmi parcourt plus ou moins au hasard l’environnement


autour de la colonie.
• si celle-ci découvre une source de nourriture, elle rentre plus ou
moins directement au nid, en laissant sur son chemin une piste de
phéromones.
• ces phéromones étant attractives, les fourmis passant à proximité
vont avoir tendance à suivre, de façon plus ou moins directe, cette
piste.
Principe des colonies de fourmis

• en revenant au nid, ces mêmes fourmis vont renforcer la piste.

• si deux pistes sont possibles pour atteindre la même source de


nourriture, celle étant la plus courte sera, dans le même temps,
parcourue par plus de fourmis que la longue piste.

• la piste courte sera donc de plus en plus renforcée, et donc de plus


en plus attractive.

• à terme, l’ensemble des fourmis a donc déterminé et « choisi » la


piste la plus courte.
Principe des colonies de fourmis

 Les fourmis utilisent l’environnement comme support de


communication :

elles échangent indirectement de l’information en déposant des


phéromones, le tout décrivant l’état de leur « travail ».

 L’information échangée a une portée locale, seule une fourmi


située à l’endroit où les phéromones ont été déposées y a accès. Ce
système porte le nom de « stigmergie », et se retrouve chez
plusieurs animaux sociaux (il a notamment été étudié dans le cas de
la construction de piliers dans les nids de termites).
Fourmis réelles vs Fourmis virtuelles

Les fourmis artificielles ont une double nature. D’une part, elles modélisent
les comportements abstraits de fourmis réelles, et d’autre part, elles peuvent
être enrichies par des capacités que ne possèdent pas les fourmis réelles,
afin de les rendre plus efficaces que ces dernières.
Fourmis réelles vs Fourmis virtuelles

Points communs

Chacune trouve une solution: Chaque groupe d’individus doit pouvoir


trouver une solution même si elle est mauvaise.

➢ Marquage de la piste avec des phéromones: son rôle principal est


de changer la manière dont l’environnement est perçu par les
fourmis, en fonction de l’historique laissé par ces phéromones.

➢ Évaporation des phéromones: Ce mécanisme permet d’oublier


lentement ce qui s’est passé avant. C’est ainsi qu’elle peut diriger sa
recherche vers de nouvelles directions, sans être trop contrainte par
ses anciennes décisions.
Fourmis réelles vs Fourmis virtuelles

Points communs

 Recherche du plus court chemin: Les vraies fourmis ne sautent pas


des cases, tout comme les fourmis artificielles, elles se contentent de se
déplacer entre sites adjacents du terrain.

➢ Prise de décision aléatoires: décider sur quel site adjacent se


déplacer: Cette prise de décision se fait au hasard et dépend de
l’information locale déposée sur le site courant.
Fourmis réelles vs Fourmis virtuelles

Différences

➢ Monde non-continu: Les fourmis artificielles vivent dans un


monde non-continu. Leurs déplacements consistent en des transitions
d’état.

➢ Mémoire (parcours, performances, ...) (état interne) de la fourmi


Les fourmis réelles ont une mémoire très limitée. Tandis que nos
fourmis artificielles mémorisent l’historique de leurs actions. Elles
peuvent aussi retenir des données supplémentaires sur leurs
performances.
Fourmis réelles vs Fourmis virtuelles
Différences
➢ Quantité de phéromones: Les fourmis réelles déposent une
information physique sur la piste qu’elles parcourent, là où les fourmis
artificielles modifient des informations dans les variables d’états
associées au problème. Ainsi, l’évaporation des phéromones est une
simple décrémentation de la valeur des variables d’états à chaque
itération.
➢ Mise à jour à la fin du parcours: Les fourmis artificielles peuvent
mettre à jour les pistes de phéromones de façon non immédiate :
souvent elles attendent d’avoir terminé la construction de leur solution.
Ce choix dépend du problème considéré bien évidemment.
Fourmis réelles vs Fourmis virtuelles
Différences
➢ Capacités supplémentaires :

Les fourmis artificielles peuvent être pourvues de capacités artificielles


afin d’améliorer les performances du système. Ces possibilités sont liées
au problème et peuvent être :

1. l’anticipation : la fourmi étudie les états suivants pour faire son


choix et non seulement l’état local.

2. le retour en arrière : une fourmi peut revenir à un état déjà parcouru


car la décision qu’elle avait prise à cet état a été mauvaise.
Le principe: Exemple
Le principe: description de l’exemple

1) la première fourmi trouve la source de nourriture (F), via un chemin


quelconque (a), puis revient au nid (N) en laissant derrière elle une
piste de phéromone (b).

2) les fourmis empruntent indifféremment les quatre chemins


possibles, mais le renforcement de la piste rend plus attractif le
chemin le plus court.

3) les fourmis empruntent le chemin le plus court, les portions longues


des autres chemins perdent leur piste de phéromones.
Principale variante

• L’algorithme de colonies de fourmis a été à l’origine surtout


utilisé pour produire des solutions quasi-optimales
au problème du voyageur de commerce, puis, plus
généralement, aux problèmes d’optimisation combinatoire.

• Plusieurs d’autres domaines : depuis l’optimisation continue


jusqu’à la classification ou encore le traitement d’image.
Ant Colony Optimization- ACO
• Une méthode de type ACO suit le schéma algorithmique suivant,
paramétré par:

 un critère d'arrêt de l’algorithme


un temps de calcul ou un nombre d'itérations alloué dépassé, un seuil
d'amélioration des solutions qui n’est plus satisfaisant, ou une
combinaison de critères
 des heuristiques (éventuellement)
un critère de choix des pistes à explorer ou à éliminer
 une construction des solutions et des pistes de phéromones
dépendant du problème à résoudre et de sa structures
Domaines d’application
• Applications au problème symétrique et asymétrique de voyageur de
commerce.
• Applications au problème d’ordonnancement séquentiel.
• Applications aux problèmes d’affectation quadratique.
• Applications aux problèmes de tournées des véhicules.
• Applications aux problèmes d'établissement d’horaires.
• Applications aux problèmes de coloration de graphe.
• Applications aux problèmes de partitionnement.
• Applications aux réseaux de télécommunications.
• Implémentations parallèles.
Deux classes de problèmes
Des problèmes simples
Plus court chemin
Problème de transport
Flot maximal, flot de coût minimal

Aux problèmes difficiles


Voyageur de commerce
Tournées de véhicules
Transport à la demande
Avantages et inconvénients
Avantages:
Méta-heuristique avec caractère général utilisée pour résoudre
différentes problèmes d’analyse combinatoire
Très grande adaptabilité.
 Parfait pour les problèmes basés sur des graphes.

Inconvénients:
o Un état bloquant peut arriver.
o Coût relativement élevé de la génération des solutions (Temps
d'exécution parfois long).
o Elle commence à être adaptée à des problèmes continus
o Ne s'applique pas à tous type de problèmes.
Le système de fourmis
• Le système a de deux manières de
description :

 Description générale

 Description formelle
Description générale
• Le premier algorithme de colonies de fourmis proposé est appelé
l’Ant System - AS (système fourmi).

• Il vise notamment à résoudre le problème du voyageur de


commerce, où le but est de trouver le plus court chemin
permettant de relier un ensemble de villes.

• Le voyageur de commerce est un problème NP-complet. La


métaphore de la colonisation de fourmis s’y applique
particulièrement bien.
Description générale
• À chaque étape, la fourmi choisit de passer d’une ville à une autre
en fonction de quelques règles :

1. elle ne peut visiter qu’une fois chaque ville


2. plus une ville est loin, moins elle a de chance d’être choisie (c’est
la « visibilité »)
3. plus l'intensité de la piste de phéromone disposée sur l’arête
entre deux villes est grande, plus le trajet aura de chance d’être
choisi
4. une fois son trajet terminé, la fourmi dépose, sur l’ensemble des
arêtes parcourues, plus de phéromones si le trajet est court
5. les pistes de phéromones s’évaporent à chaque itération.
Description générale

L’algorithme « Ant System » optimisant le problème du voyageur de


commerce :
1) une fourmi choisit un trajet, et trace une piste de phéromone.
2) l’ensemble des fourmis parcourt un certain nombre de trajets,
chaque fourmi déposant une quantité de phéromone
proportionnelle à la qualité du parcours.
3) chaque arête du meilleur chemin est plus renforcée que les autres.
4) l’évaporation fait disparaître les mauvaises solutions.
Description formelle
• La règle de déplacement est appelée « règle aléatoire de transition
proportionnelle », et est écrite mathématiquement sous la forme
suivante :

Où Jik est la liste des déplacements possibles pour une fourmi k


lorsqu’elle se trouve sur une ville i,

ηij la visibilité, qui est égale à l’inverse de la distance de deux villes i et j (1/dij)

τij (t) l’intensité de la piste à une itération donnée t.

Les deux principaux paramètres contrôlant l’algorithme sont α et β, qui contrôlent


l’importance relative de l’intensité et de la visibilité d’une arête.
Description formelle
• Une fois la tournée des villes effectuée, une fourmi k dépose
une quantité de phéromone sur chaque arête de son
parcours :

Où Tk (t) est la tournée faite par la fourmi k à l’itération t.

Lk (t) la longueur du trajet

Q un paramètre de réglage.
Description formelle
À la fin de chaque itération de l’algorithme, les phéromones
déposées aux itérations précédentes par les fourmis
s’évaporent de :

À la fin de l'itération, on a la somme des


phéromones qui ne se sont pas évaporées et de
celles qui viennent d'être déposées.

Où m est le nombre de fourmis utilisées pour l’itération t.


ρ un paramètre de réglage.
Exercice d’application
Résoudre le problème du voyageur de
commerce, sachant que:
• On considère un problème de
voyageur de commerce à 4 villes. 3
4
• Chaque fourmi k parcourt le graphe
et construit un trajet de longueur n 2 15
5
=/N/.
1
• Avec: 8
4
p(taux d'évaporation) = 0.5
1 4
t (phéromone initial) = 1
Graphe des distances
Q=1
α=β=1
Route 1 : rouge
Route 2: noir
Exercice d’application 3
4

2 15
Afin de résoudre le problème du 5
voyageur de commerce: 1
8
1. Vous devez trouver les valeurs 4
indiquées dans le graphe de 1 4
phéromone suivant. Graphe des distances

2. appliquez l’algorithme suivant 3


2

4
1
Graphe des phéromones
Algorithme de colonies de fourmis pour le problème du
voyageur de commerce (TSP):

Tant que le critère d'arrêt n'est pas atteint faire


Pour k=1 à m faire
Choisir une ville au hasard
Pour chaque ville non visitée i faire
Choisir une ville j, dans la liste des villes restantes selon (F1)
Fin Pour
Déposer une piste sur le trajet (t) conformément à (F2)
Fin Pour
Mettre à jour les pistes selon (F3)
Fin Tant que
Algorithme de colonies de fourmis pour le problème du
voyageur de commerce (TSP):

Le but initial de l’algorithme ci-dessus était de résoudre le problème


du voyageur de commerce. Si l'on considère un problème de
voyageur de commerce à N villes, chaque fourmi k parcourt le graphe
et construit un trajet de longueur n =/N/.

Pour chaque fourmi, le trajet d'une ville i à une ville j dépend de :


1. la liste des villes déjà visitées, qui définit les mouvements possibles
à chaque pas, quand la fourmi k est sur la ville i, Jik .
2. l'inverse de la distance entre les villes , appelée visibilité.
Cette information est utilisée pour diriger les fourmis vers des villes
proches et ainsi, éviter de trop longs déplacements .
3. la quantité de phéromone déposée sur l'arête reliant deux villes
appelée intensité de la piste. Cette quantité définit l'attractivité d'une
piste et est modifiée après le passage d'une fourmi. C'est la pseudo-
mémoire du système.
=

4. la règle de déplacement est la suivante :

F1
α et β sont deux paramètres qui contrôlent l’importance relative entre
phéromones et visibilité. Après un tour complet, chaque fourmi dépose une
quantité de phéromone (t) sur l'ensemble de son parcours. Cette
quantité dépend de la qualité de la solution trouvée et est définie par :

F2

Où Tk(t) est le trajet effectué par la fourmi k à l’itération t, Lk(t) est la


longueur de Tk(t) et Q est un paramètre fixé.
Enfin, il est nécessaire d’introduire un processus d’évaporation des
phéromones. En effet, pour éviter de se faire piéger dans des solutions sous-
optimales, il est nécessaire qu’une fourmi oublie les mauvaises solutions.
5. La règle de mise à jour est donc:

F3

et m est le nombre de fourmis.

Vous aimerez peut-être aussi