SlideShare une entreprise Scribd logo
1  sur  44
Algorithme
de colonies
de fourmis
Fait par : mounir mohamed , ibrahim essakine , khalid anbri , Mouad ait ougrram
PLAN
D’ACTION
1
2
3
4
Introduction
Principe
Application de ACO :
Algorithme Colony Ant
Optimization (ACO)
Introduction
Introduction :
algorithmes de colonies de fourmis : est une méthode inventée en 1996 par
Marco Dorigo de L'Université Libre de Bruxelles.
L'idée initiale provient de l'observation des fourmis. Celles-ci ont la capacité de
trouver le chemin le plus court entre leur nid et une source de nourriture . en
contournant les obstacles qui jonchent leur chemin.
On peut faire l'expérience suivante : Vous avez remarqué que les fourmis se
déplacent "en ligne", suivant le chemin des fourmis précédentes. Si vous placez
un obstacle sur cette ligne (une pierre par exemple), de manière à ce que le
contournement de l'obstacle par un côté soit nettement plus court que par
l'autre. Au bout d'un certain temps vous verrez que toutes les fourmis
contourneront l'obstacle par le côté le plus court.
Explication:
les fourmis déposent en marchant des marqueurs
chimiques appelés phéromones. Les autres fourmis
suivent le chemin tracé par ces phéromones. Plus un
chemin est marqué, plus elles ont tendance à le suivre.
Lorsque l'on pose l'obstacle, le chemin de phéromones
est coupé, et les fourmis choisissent au hasard l'un ou
l'autre côté pour contourner l'obstacle..
1
2
3
4
Les fourmis : Agent qui cherchent la
nourriture qui suive un chemin et qui
arrive au nid.
Les fourmis utilisent le phéromones
pour se communiquer .
Le phéromone : traces chimiques laissé
par les fourmis quand ils se déplacent ,
qui est détectés par les prochaines
fourmis, et qui détermine avec une
grande probabilité leur chemin .
Plus les fourmis suivent le chemin plus
le chemin devient attractif.
Principe
Principe :
• Pour mieux comprendre la façon dont
fonctionnent les colonies de fourmis,
reprenons l'exemple traditionnellement donné
pour illustrer leur capacité à trouver des
chemins optimaux. La figure 1 illustre une
situation où il y a un nid, où les fourmis vivent,
et une source de nourriture, que les fourmis
doivent trouver et dont elles doivent ramener
les provisions vers le nid.
Un cas figuratif :
1
2
3
4
NID SOURCE
Il existe deux chemins possibles pour atteindre la source : un long, un court.
Les fourmis explorent aléatoirement les deux. Lorsqu'elles trouvent la
source, elles se chargent de nourriture, et retournent au nid par où elles
sont venues en libérant des phéromones tout au long de leur chemin. Le
chemin le plus court étant aussi le plus rapide, sa concentration en
phéromones augmentera plus vite et les fourmis, qui suivent les traces
chimiques, seront très vite, par un phénomène de renforcement,
encouragées à suivre le chemin le plus court.
L'idée consiste à imiter le comportement des fourmis réelles qui
collaborent, par exemple pour la recherche de sources de nourriture en
mélangeant comportement d'exploration aléatoire et suivi des traces
chimiques laissées par leur consoeurs.
appliquée aux problème du voyageur de commerce :
Le problème du voyageur de commerce
est un problème d’optimisation qui ,
étant donné
Une liste de ville
Une distance entre toutes
les paires de villes
On considère la liste des villes A,B,C et D et les distances données :
Détermine un plus court chemin qui visite chaque ville une et une seule fois et qui termine la ville de
départ.
Chemin ABDCA : 4+2+5+3 = 14 Km
Chemin ACBDA : 3+1+2+1 = 7 Km
Le plus chemin est le plus court
C’est un exemple se 4 villes , et souvent c’est un
exemple pour comprendre la difficulté pour
trouver le plus court chemin é travers plusieurs
trajets .
Notamment il s‘agit d’un problème d’optimisation pour
lequel on ne connait pas l’algorithme permettant de
trouver une solution exacte dans plusieurs cas .
En général le nombre de possibilité est :
𝒏−𝟏 !
𝟐
Et donc pour 22 villes : on a
𝟐𝟏 !
𝟐
possibiltés.
Problématique :
Si un ordinateur peut faire un million d’opérations par second , le
temps nécessaire pour calculer les possibilités est :
𝟐𝟏 !
𝟐∗𝟏𝟎𝟔 seconds et bien
𝟐𝟏 !
𝟐∗𝟔𝟎∗𝟔𝟎∗𝟐𝟒∗𝟑𝟔𝟓
= 6,3 * 𝟏𝟎𝟏𝟑 années
-On peut pas attendre pendant cette durée pour trouver le plus court
chemin ?
Et donc on doit chercher une solution .
C’est l’algorithme de colonie de fourmis qui va résoudre ces
problèmes .
Voyageur de commerce :
Algorithme Colony Ant
Optimization (ACO)
Definitions
Données fournies :
un ensemble fini X de noeuds représentant des villes
un ensemble fini U = {(i, j)|i, j ∈ X} d’arcs reliant les
noeuds de X
un ensemble de constantes dij représentant la
longueur de chaque arc (i,j) ∈ U , c’est-à-dire la
distance séparant la ville i de la ville j (avec i,j ∈ X).
On imagine alors un voyageur de commerce qui doit
réaliser sa tournée en visitant une et une seule fois
l’ensemble X des villes. Il souhaite déterminer la suite
de villes qui minimisera la distance qu’il a à parcourir
Formalisation :
•circuit hamiltonien est un circuit qui passe
exactement une fois par tous les sommets du
graphe.
•la longueur d’un circuit µ est la somme
des longueurs des arcs qui le composent,
soit :
𝐿(𝜇) = 𝑑𝑢𝜇𝑢𝑢1
+
𝑖=1
𝑞−1
𝑑𝑢1,𝑢𝑖+1
• le TSP (Traveling Salesman Problem) est le
problème consistant à trouver un circuit
hamil- tonien de longueur minimale sur le
graphe G = (X,U).
Le voyageur de commerce est un problème
NP-complet. La méthaphore de la
colonisation de fourmis s’y applique
particulièrement bien.
Ant System sera par la suite appelé AS. Les variables que nous devons définir pour comprendre la
suite sont les suivantes [Dorigo 02]:
−𝑏𝑖(𝑡)( oui ∈ 𝑋) le nombre de fourmis dans la ville i à l'instant t
−𝑚 = ∑𝑖∈𝑋𝑏𝑖 leur nombre total, invariant dans le temps
−𝜏𝑖𝑗(𝑡) la valeur de 𝜏𝑖𝑗, à l'instant t
−𝑛 = |𝑋|, le nombre de villes
−𝜂𝑖𝑗 =
1
𝑑𝑖𝑗
, la visibilité d'une ville j quand on est placé sur la ville i, invariante dans le temps.
Précisons maintenant le comportement de l'ensemble de la colonie. A tout instant t, chaque fourmi
choisit une ville de destination selon un choix défini. Toutes les fourmis se placent a l'instant 𝑡 + 1
dans une ville de leur choix. On appelle une itération de l'algo AS, l'ensemble de deplacements de
l'ensemble de la colonie entre l'intant 𝑡 et l'instant 𝑡 + 1. Ainsi après 𝑛 itérations, l'ensemble de la
colonie aura effectué un circuit hamiltonien sur le graphe. De cette manière toutes les fourmis
commenceront et finiront leur tour en meme temps.
Choix d'implementation|
On précise que chaque fourmi a une mémoire implémentée par une liste de villes déja visitées. Cela
permet de garantir qu'aucune fourmi ne visitera deux fois une même ville au cour de sa recherche.
La mémoire de chaque fourmi est vidée lorsqu'elles ont terminé leur cycle.
Choix d’implementation:
On précise que chaque fourmi a une mémoire
implémentée par une liste de villes déja visitées. Cela
permet de garantir qu’aucune fourmi ne visitera deux
fois une même ville au cour de sa recherche.
La mémoire de chaque fourmi est vidée lorsqu’elles
ont terminé leur cycle.
Choix des transitions :
Une fourmi k placée sur la ville i à l’instant t va choisir
sa ville j de destination en fonction de la visibilité ηij de
cette ville et de la quantité de phéromones τij(t)
déposée sur l’arc reliant ces deux villes. Ce choix sera
réalisé de manière aléatoire, avec une probabilité de
choisir la ville j donnée par :
𝑝𝑖𝑗
𝑘
(𝑡) =
𝜏𝑖𝑗(𝑡)
𝛼
⋅ 𝜂𝑖𝑗
𝛽
∑
𝑙∈𝑁𝑖
𝑘
(𝑘)
𝜏𝑖𝑙(𝑡) 𝛼 ⋅ 𝜂𝑖𝑙
𝛽
si 𝑗 ∈ 𝑁𝑖
𝑘
0 sinon
où l’on défini l’ensemble Nk comme étant
l’ensemble des villes que la fourmi k, placée sur
la ville i, n’a pas encore visité à l’instant t dans
le cycle courant. α et β sont deux paramètres
qui contrôlent l’importance relative entre
phéromones et visibilité. Ainsi si α est égal à 0,
le choix se fera uniquement en fonction de la
visibilité (si β est différent de zero)
Mise à jour des phéromones :
A la fin de chaque cycle (chaque fourmi a
parcouru les n sommets qui composent le
graphe), les variables des phéromones sont
mises à jour selon la formule :
τij(t + n) = ρ · τij(t) + ∆τij(t) (2)
(1)
où ρ [0, 1[ est un coefficient qui définira la vitesse d’évaporation des
phéromones sur les arcs entre l’instant t et l’instant t + n , et où ∆τij(t)
représente la quantité de phéromone déposée par les fourmis dans ce
même intervalle de temps sur l’arc (i, j).
Le choix de ρ est important, en effet si ρ se rapproche trop de 1, on
observe un effet de stagnation des phéromones sur les arcs, ce qui
implique des inconvenients tel que le fait de voir les mauvaises solutions
persister.
De même, choisir 𝑝 ≈ 0 implique une évaporation trop rapide des
phéromones, donc amène la fourmi à un choix dépendant uniquement de
la visibilité des nœuds
Quantités de phéromones déposées
Nous allons maintenant préciser les différentes étapes de l'algorithme au cours du
temps.
Initialisation de l'algorithme. Les élements s'agencent de la manière suivante au début de
l'algorithme :
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 (F-1)
Fin Pour
Déposer une piste sur le trajet ( t ) conformément à (F-2)
Fin Pour
Évaporer les pistes selon (F-3)
Fin Tant que
Fonctionnement de l'algorithme
Application de ACO :
Application de l'algorithme à colonies de fourmis :
L'algorithme à colonies de fourmis est l'une des méthodes heuristiques pour
trouver la bonne solution dans un problème d'optimisation discret. Le but de cette
étude est d'appliquer le fonctionnement de l'algorithme d'optimisation des
colonies de fourmis dans le problème du voyage. Les informations nécessaires
sont des informations relatives à un emplacement entre les villes et à la
planification d'itinéraires pour les emplacements de destination.
Le calcul de la distance se fait en additionnant la distance initiale jusqu'à la fin du
trajet et en calculant le coût du carburant. l'algorithme à colonies de fourmis a été
appliqué pour trouver des solutions optimales au problème du voyageur de
Commerce (Travelling Salesman ), problème de routage , système de transport
urbain.
Resumé
• Soit bi (t) , (i= 1 , .. , n) l'ensemble des fourmis dans la ville i au
temps t et soit m = Σ bi (t) le nombre total des fourmis. Chaque
fourmi est un agent avec les caractéristiques suivantes :
1. La fourmi choisit la prochaine ville de destination avec une
probabilité qui est en fonction de la distance de la ville et de la
quantité de phéromones présente sur l’arête de connexion.
2. Les villes déjà visitées par la fourmi sont retirées de la liste des
villes qui restent à visiter. On utilisera pour cela une liste taboue.
3. Lorsqu'une fourmi a terminé un tour, une quantité de phéromones
est déposée sur chaque arête (i,j) visitée.
Soit τij (t) la quantité de phéromones sur l'arête (i, j) au temps t . chaque
fourmi au temps t choisit la prochaine ville où elle s'y positionnera au temps
t+ 1.
Une itération comprendra donc l' ensemble des m mouvements. Les fourmis
compléteront leurs tours après n itérations (un cycle) et la mise à jour des
phéromones se fera à cet instant commesuit:
où ρest un coefficient tel que
(1-ρ) représente l’évaporation
de la phéromone entre le temps
t et t+n.
Resumé
Où Δ τij ,k: est la quantité de phéromone par
unité de longueur déposée sur l'arête (i,j) par
la k ème fourmis entre le temps t et t+n.
Resumé
Resumé
La quantité 1/dij est appelée visibilité et noté ηij .
Les paramètres α et β jouent un rôle très important pour avoir une
solution optimale. α et β sont donc des paramètres qui contrôlent
l'importance relative de la phéromone versus, et de la visibilité.
Avec α=O, seule la visibilité est prise en compte .au contraire, avec
β=0, seules les pistes de phéromone jouent.
• Soit bi (t) , (i= 1 , .. , n) l'ensemble des fourmis dans la ville i au
temps t et soit m = Σ bi (t) le nombre total des fourmis. Chaque
fourmi est un agent avec les caractéristiques suivantes :
1. La fourmi choisit la prochaine ville de destination avec une
probabilité qui est en fonction de la distance de la ville et de la
quantité de phéromones présente sur l’arête de connexion.
2. Les villes déjà visitées par la fourmi sont retirées de la liste des
villes qui restent à visiter. On utilisera pour cela une liste taboue.
3. Lorsqu'une fourmi a terminé un tour, une quantité de phéromones
est déposée sur chaque arête (i,j) visitée.
Soit τij (t) la quantité de phéromones sur l'arête (i, j) au temps t . chaque
fourmi au temps t choisit la prochaine ville où elle s'y positionnera au temps
t+ 1.
Une itération comprendra donc l' ensemble des m mouvements. Les fourmis
compléteront leurs tours après n itérations (un cycle) et la mise à jour des
phéromones se fera à cet instant commesuit:
où ρest un coefficient tel que
(1-ρ) représente l’évaporation
de la phéromone entre le temps
t et t+n.
Resumé
Où Δ τij ,k: est la quantité de phéromone par
unité de longueur déposée sur l'arête (i,j) par
la k ème fourmis entre le temps t et t+n.
Resumé
Resumé
La quantité 1/dij est appelée visibilité et noté ηij .
Les paramètres α et β jouent un rôle très important pour avoir une
solution optimale. α et β sont donc des paramètres qui contrôlent
l'importance relative de la phéromone versus, et de la visibilité.
Avec α=O, seule la visibilité est prise en compte .au contraire, avec
β=0, seules les pistes de phéromone jouent.
Exemple
Supposons qu’au temps que le chemin court est ajouté
(t = 30 s),la vitesse d’une fourmi est v=7,5 cm/s ,
distance de le chemin court est 30cm , 4 fourmis ont déjà
utilisé le long chemin et retourner au nid ,on a φl(30) = 8,
φc(30) = 0). Quelle est la probabilité que le prochain
fourmi va choisira-t-il le chemin court pour arriver au
point A?
Exemple
Exemple
α =2
solution
artificielle fourmis
Des fourmis Les fourmis individuelles disposent d'une mémoire limitée
■ Enregistrez leur voyage jusqu'à la destination .
■ Une fois la destination atteinte, effectuez un balayage pour éliminer les boucles .
■ Revenez sur les étapes du voyage de retour, ignorez la trace de phéromone.
■ N'appliquez des phéromones que sur le voyage de retour.
Simulation:
CONCLUSION :
𝑨𝑪𝑶 est une méthode stochastique qui requiert de plus en plus l'attention de la communauté
scientifique. Cette métaheuristique a prouvé sa performance pour plusieurs problèmes
d'optimisation combinatoire NP-difficiles.
L'utilisation des traces de phéromone permet d'exploiter l'expérience de recherche acquise par les
fourmis et ainsi renforcer l'apprentissage pour la construction de solutions dans les itérations
futures de l'algorithme, En même temps, l'information heuristique peut guider les fourmis vers les
zones prometteuses de l'espace de recherche,
Un autre avantage de ACO est que son domaine d'application est vaste. En principe, ACO peut être
appliquée à n'importe quel problème d'optimisation discret pour lequel un mécanisme de
construction de solution peut être conçu.

Contenu connexe

Tendances

L’optimisation par essaims de particules
L’optimisation par essaims de particulesL’optimisation par essaims de particules
L’optimisation par essaims de particuleschagra bassem
 
Introduction logique floue
Introduction logique floueIntroduction logique floue
Introduction logique floueTECOS
 
Chapitre 2 le recuit simulé
Chapitre 2 le recuit simuléChapitre 2 le recuit simulé
Chapitre 2 le recuit simuléAchraf Manaa
 
Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétudeSana Aroussi
 
Quelques points sur les métaheuristiques
Quelques points sur les métaheuristiquesQuelques points sur les métaheuristiques
Quelques points sur les métaheuristiquesBENSMAINE Abderrahmane
 
optimisation cours.pdf
optimisation cours.pdfoptimisation cours.pdf
optimisation cours.pdfMouloudi1
 
Optimisation et planification optimale multi-objectifs
Optimisation et  planification optimale multi-objectifsOptimisation et  planification optimale multi-objectifs
Optimisation et planification optimale multi-objectifsOlivier Orfila
 
Chapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court cheminChapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court cheminSana Aroussi
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesHosni Mansour
 
Intelligence artificielle et soin.pptx
Intelligence artificielle et soin.pptxIntelligence artificielle et soin.pptx
Intelligence artificielle et soin.pptxArnaud Depil-Duval
 
Présentation PPT CARSELFCARE
 Présentation PPT  CARSELFCARE Présentation PPT  CARSELFCARE
Présentation PPT CARSELFCAREBILEL TLILI
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite completChahrawoods Dmz
 
La gestion de projets - Jean-Michel Rolland
La gestion de projets - Jean-Michel RollandLa gestion de projets - Jean-Michel Rolland
La gestion de projets - Jean-Michel RollandGuillaume Pérocheau
 
Data mining - Introduction générale
Data mining - Introduction généraleData mining - Introduction générale
Data mining - Introduction généraleMohamed Heny SELMI
 
Introduction to Machine learning
Introduction to Machine learningIntroduction to Machine learning
Introduction to Machine learningQuentin Ambard
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivitéSana Aroussi
 
La recherche opérationnelle et l'optimisation combinatoire
La recherche opérationnelle et l'optimisation combinatoireLa recherche opérationnelle et l'optimisation combinatoire
La recherche opérationnelle et l'optimisation combinatoiresarah Benmerzouk
 

Tendances (20)

L’optimisation par essaims de particules
L’optimisation par essaims de particulesL’optimisation par essaims de particules
L’optimisation par essaims de particules
 
Introduction logique floue
Introduction logique floueIntroduction logique floue
Introduction logique floue
 
Chapitre 2 le recuit simulé
Chapitre 2 le recuit simuléChapitre 2 le recuit simulé
Chapitre 2 le recuit simulé
 
Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétude
 
Quelques points sur les métaheuristiques
Quelques points sur les métaheuristiquesQuelques points sur les métaheuristiques
Quelques points sur les métaheuristiques
 
STR-2.pdf
STR-2.pdfSTR-2.pdf
STR-2.pdf
 
optimisation cours.pdf
optimisation cours.pdfoptimisation cours.pdf
optimisation cours.pdf
 
Optimisation et planification optimale multi-objectifs
Optimisation et  planification optimale multi-objectifsOptimisation et  planification optimale multi-objectifs
Optimisation et planification optimale multi-objectifs
 
Chapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court cheminChapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court chemin
 
L'algorithme du Recuit simule
L'algorithme du Recuit simuleL'algorithme du Recuit simule
L'algorithme du Recuit simule
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'Etudes
 
Intelligence artificielle et soin.pptx
Intelligence artificielle et soin.pptxIntelligence artificielle et soin.pptx
Intelligence artificielle et soin.pptx
 
Présentation PPT CARSELFCARE
 Présentation PPT  CARSELFCARE Présentation PPT  CARSELFCARE
Présentation PPT CARSELFCARE
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
 
Les systèmes de recommandations
Les systèmes de recommandationsLes systèmes de recommandations
Les systèmes de recommandations
 
La gestion de projets - Jean-Michel Rolland
La gestion de projets - Jean-Michel RollandLa gestion de projets - Jean-Michel Rolland
La gestion de projets - Jean-Michel Rolland
 
Data mining - Introduction générale
Data mining - Introduction généraleData mining - Introduction générale
Data mining - Introduction générale
 
Introduction to Machine learning
Introduction to Machine learningIntroduction to Machine learning
Introduction to Machine learning
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 
La recherche opérationnelle et l'optimisation combinatoire
La recherche opérationnelle et l'optimisation combinatoireLa recherche opérationnelle et l'optimisation combinatoire
La recherche opérationnelle et l'optimisation combinatoire
 

Plus de IBRAHIM ESSAKINE

Conception de Surpresseur d’eau.pptx
Conception de Surpresseur d’eau.pptxConception de Surpresseur d’eau.pptx
Conception de Surpresseur d’eau.pptxIBRAHIM ESSAKINE
 
neural network : Supervised learning
neural network : Supervised learningneural network : Supervised learning
neural network : Supervised learningIBRAHIM ESSAKINE
 
Software de Gestion des Projets.pptx
Software de Gestion des Projets.pptxSoftware de Gestion des Projets.pptx
Software de Gestion des Projets.pptxIBRAHIM ESSAKINE
 

Plus de IBRAHIM ESSAKINE (6)

Conception de Surpresseur d’eau.pptx
Conception de Surpresseur d’eau.pptxConception de Surpresseur d’eau.pptx
Conception de Surpresseur d’eau.pptx
 
IceScrum.pptx
IceScrum.pptxIceScrum.pptx
IceScrum.pptx
 
neural network : Supervised learning
neural network : Supervised learningneural network : Supervised learning
neural network : Supervised learning
 
MARKETING DIGITAL.pptx
MARKETING DIGITAL.pptxMARKETING DIGITAL.pptx
MARKETING DIGITAL.pptx
 
Software de Gestion des Projets.pptx
Software de Gestion des Projets.pptxSoftware de Gestion des Projets.pptx
Software de Gestion des Projets.pptx
 
la pollution d'eau.pptx
la pollution d'eau.pptxla pollution d'eau.pptx
la pollution d'eau.pptx
 

Dernier

Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Ville de Châteauguay
 
mémoire genie civil presenté lors de la soutenance de mémoire
mémoire genie civil presenté lors de la soutenance de mémoiremémoire genie civil presenté lors de la soutenance de mémoire
mémoire genie civil presenté lors de la soutenance de mémoireEzechiasSteel
 
le probleme de la planification JSP exposee (2) (2).pptx
le probleme de la planification JSP exposee (2) (2).pptxle probleme de la planification JSP exposee (2) (2).pptx
le probleme de la planification JSP exposee (2) (2).pptximaneeaouattahee
 
Algo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigésAlgo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigésSana REFAI
 
pdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdf
pdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdfpdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdf
pdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdfMedAbdelhayeSidiAhme
 

Dernier (6)

Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
 
JTC 2024 Bâtiment et Photovoltaïque.pdf
JTC 2024  Bâtiment et Photovoltaïque.pdfJTC 2024  Bâtiment et Photovoltaïque.pdf
JTC 2024 Bâtiment et Photovoltaïque.pdf
 
mémoire genie civil presenté lors de la soutenance de mémoire
mémoire genie civil presenté lors de la soutenance de mémoiremémoire genie civil presenté lors de la soutenance de mémoire
mémoire genie civil presenté lors de la soutenance de mémoire
 
le probleme de la planification JSP exposee (2) (2).pptx
le probleme de la planification JSP exposee (2) (2).pptxle probleme de la planification JSP exposee (2) (2).pptx
le probleme de la planification JSP exposee (2) (2).pptx
 
Algo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigésAlgo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigés
 
pdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdf
pdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdfpdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdf
pdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdf
 

Algorithme de colonies de fourmis pres.pptx

  • 1. Algorithme de colonies de fourmis Fait par : mounir mohamed , ibrahim essakine , khalid anbri , Mouad ait ougrram
  • 2. PLAN D’ACTION 1 2 3 4 Introduction Principe Application de ACO : Algorithme Colony Ant Optimization (ACO)
  • 4. Introduction : algorithmes de colonies de fourmis : est une méthode inventée en 1996 par Marco Dorigo de L'Université Libre de Bruxelles. L'idée initiale provient de l'observation des fourmis. Celles-ci ont la capacité de trouver le chemin le plus court entre leur nid et une source de nourriture . en contournant les obstacles qui jonchent leur chemin. On peut faire l'expérience suivante : Vous avez remarqué que les fourmis se déplacent "en ligne", suivant le chemin des fourmis précédentes. Si vous placez un obstacle sur cette ligne (une pierre par exemple), de manière à ce que le contournement de l'obstacle par un côté soit nettement plus court que par l'autre. Au bout d'un certain temps vous verrez que toutes les fourmis contourneront l'obstacle par le côté le plus court.
  • 5. Explication: les fourmis déposent en marchant des marqueurs chimiques appelés phéromones. Les autres fourmis suivent le chemin tracé par ces phéromones. Plus un chemin est marqué, plus elles ont tendance à le suivre. Lorsque l'on pose l'obstacle, le chemin de phéromones est coupé, et les fourmis choisissent au hasard l'un ou l'autre côté pour contourner l'obstacle.. 1 2 3 4 Les fourmis : Agent qui cherchent la nourriture qui suive un chemin et qui arrive au nid. Les fourmis utilisent le phéromones pour se communiquer . Le phéromone : traces chimiques laissé par les fourmis quand ils se déplacent , qui est détectés par les prochaines fourmis, et qui détermine avec une grande probabilité leur chemin . Plus les fourmis suivent le chemin plus le chemin devient attractif.
  • 7. Principe : • Pour mieux comprendre la façon dont fonctionnent les colonies de fourmis, reprenons l'exemple traditionnellement donné pour illustrer leur capacité à trouver des chemins optimaux. La figure 1 illustre une situation où il y a un nid, où les fourmis vivent, et une source de nourriture, que les fourmis doivent trouver et dont elles doivent ramener les provisions vers le nid. Un cas figuratif : 1 2 3 4 NID SOURCE
  • 8. Il existe deux chemins possibles pour atteindre la source : un long, un court. Les fourmis explorent aléatoirement les deux. Lorsqu'elles trouvent la source, elles se chargent de nourriture, et retournent au nid par où elles sont venues en libérant des phéromones tout au long de leur chemin. Le chemin le plus court étant aussi le plus rapide, sa concentration en phéromones augmentera plus vite et les fourmis, qui suivent les traces chimiques, seront très vite, par un phénomène de renforcement, encouragées à suivre le chemin le plus court. L'idée consiste à imiter le comportement des fourmis réelles qui collaborent, par exemple pour la recherche de sources de nourriture en mélangeant comportement d'exploration aléatoire et suivi des traces chimiques laissées par leur consoeurs. appliquée aux problème du voyageur de commerce : Le problème du voyageur de commerce est un problème d’optimisation qui , étant donné Une liste de ville Une distance entre toutes les paires de villes
  • 9. On considère la liste des villes A,B,C et D et les distances données : Détermine un plus court chemin qui visite chaque ville une et une seule fois et qui termine la ville de départ. Chemin ABDCA : 4+2+5+3 = 14 Km Chemin ACBDA : 3+1+2+1 = 7 Km Le plus chemin est le plus court C’est un exemple se 4 villes , et souvent c’est un exemple pour comprendre la difficulté pour trouver le plus court chemin é travers plusieurs trajets .
  • 10. Notamment il s‘agit d’un problème d’optimisation pour lequel on ne connait pas l’algorithme permettant de trouver une solution exacte dans plusieurs cas . En général le nombre de possibilité est : 𝒏−𝟏 ! 𝟐 Et donc pour 22 villes : on a 𝟐𝟏 ! 𝟐 possibiltés. Problématique : Si un ordinateur peut faire un million d’opérations par second , le temps nécessaire pour calculer les possibilités est : 𝟐𝟏 ! 𝟐∗𝟏𝟎𝟔 seconds et bien 𝟐𝟏 ! 𝟐∗𝟔𝟎∗𝟔𝟎∗𝟐𝟒∗𝟑𝟔𝟓 = 6,3 * 𝟏𝟎𝟏𝟑 années -On peut pas attendre pendant cette durée pour trouver le plus court chemin ? Et donc on doit chercher une solution . C’est l’algorithme de colonie de fourmis qui va résoudre ces problèmes .
  • 11. Voyageur de commerce : Algorithme Colony Ant Optimization (ACO)
  • 12. Definitions Données fournies : un ensemble fini X de noeuds représentant des villes un ensemble fini U = {(i, j)|i, j ∈ X} d’arcs reliant les noeuds de X un ensemble de constantes dij représentant la longueur de chaque arc (i,j) ∈ U , c’est-à-dire la distance séparant la ville i de la ville j (avec i,j ∈ X). On imagine alors un voyageur de commerce qui doit réaliser sa tournée en visitant une et une seule fois l’ensemble X des villes. Il souhaite déterminer la suite de villes qui minimisera la distance qu’il a à parcourir Formalisation : •circuit hamiltonien est un circuit qui passe exactement une fois par tous les sommets du graphe. •la longueur d’un circuit µ est la somme des longueurs des arcs qui le composent, soit : 𝐿(𝜇) = 𝑑𝑢𝜇𝑢𝑢1 + 𝑖=1 𝑞−1 𝑑𝑢1,𝑢𝑖+1 • le TSP (Traveling Salesman Problem) est le problème consistant à trouver un circuit hamil- tonien de longueur minimale sur le graphe G = (X,U). Le voyageur de commerce est un problème NP-complet. La méthaphore de la colonisation de fourmis s’y applique particulièrement bien.
  • 13. Ant System sera par la suite appelé AS. Les variables que nous devons définir pour comprendre la suite sont les suivantes [Dorigo 02]: −𝑏𝑖(𝑡)( oui ∈ 𝑋) le nombre de fourmis dans la ville i à l'instant t −𝑚 = ∑𝑖∈𝑋𝑏𝑖 leur nombre total, invariant dans le temps −𝜏𝑖𝑗(𝑡) la valeur de 𝜏𝑖𝑗, à l'instant t −𝑛 = |𝑋|, le nombre de villes −𝜂𝑖𝑗 = 1 𝑑𝑖𝑗 , la visibilité d'une ville j quand on est placé sur la ville i, invariante dans le temps. Précisons maintenant le comportement de l'ensemble de la colonie. A tout instant t, chaque fourmi choisit une ville de destination selon un choix défini. Toutes les fourmis se placent a l'instant 𝑡 + 1 dans une ville de leur choix. On appelle une itération de l'algo AS, l'ensemble de deplacements de l'ensemble de la colonie entre l'intant 𝑡 et l'instant 𝑡 + 1. Ainsi après 𝑛 itérations, l'ensemble de la colonie aura effectué un circuit hamiltonien sur le graphe. De cette manière toutes les fourmis commenceront et finiront leur tour en meme temps. Choix d'implementation| On précise que chaque fourmi a une mémoire implémentée par une liste de villes déja visitées. Cela permet de garantir qu'aucune fourmi ne visitera deux fois une même ville au cour de sa recherche. La mémoire de chaque fourmi est vidée lorsqu'elles ont terminé leur cycle.
  • 14. Choix d’implementation: On précise que chaque fourmi a une mémoire implémentée par une liste de villes déja visitées. Cela permet de garantir qu’aucune fourmi ne visitera deux fois une même ville au cour de sa recherche. La mémoire de chaque fourmi est vidée lorsqu’elles ont terminé leur cycle. Choix des transitions : Une fourmi k placée sur la ville i à l’instant t va choisir sa ville j de destination en fonction de la visibilité ηij de cette ville et de la quantité de phéromones τij(t) déposée sur l’arc reliant ces deux villes. Ce choix sera réalisé de manière aléatoire, avec une probabilité de choisir la ville j donnée par : 𝑝𝑖𝑗 𝑘 (𝑡) = 𝜏𝑖𝑗(𝑡) 𝛼 ⋅ 𝜂𝑖𝑗 𝛽 ∑ 𝑙∈𝑁𝑖 𝑘 (𝑘) 𝜏𝑖𝑙(𝑡) 𝛼 ⋅ 𝜂𝑖𝑙 𝛽 si 𝑗 ∈ 𝑁𝑖 𝑘 0 sinon où l’on défini l’ensemble Nk comme étant l’ensemble des villes que la fourmi k, placée sur la ville i, n’a pas encore visité à l’instant t dans le cycle courant. α et β sont deux paramètres qui contrôlent l’importance relative entre phéromones et visibilité. Ainsi si α est égal à 0, le choix se fera uniquement en fonction de la visibilité (si β est différent de zero) Mise à jour des phéromones : A la fin de chaque cycle (chaque fourmi a parcouru les n sommets qui composent le graphe), les variables des phéromones sont mises à jour selon la formule : τij(t + n) = ρ · τij(t) + ∆τij(t) (2) (1)
  • 15. où ρ [0, 1[ est un coefficient qui définira la vitesse d’évaporation des phéromones sur les arcs entre l’instant t et l’instant t + n , et où ∆τij(t) représente la quantité de phéromone déposée par les fourmis dans ce même intervalle de temps sur l’arc (i, j). Le choix de ρ est important, en effet si ρ se rapproche trop de 1, on observe un effet de stagnation des phéromones sur les arcs, ce qui implique des inconvenients tel que le fait de voir les mauvaises solutions persister. De même, choisir 𝑝 ≈ 0 implique une évaporation trop rapide des phéromones, donc amène la fourmi à un choix dépendant uniquement de la visibilité des nœuds Quantités de phéromones déposées
  • 16. Nous allons maintenant préciser les différentes étapes de l'algorithme au cours du temps. Initialisation de l'algorithme. Les élements s'agencent de la manière suivante au début de l'algorithme : 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 (F-1) Fin Pour Déposer une piste sur le trajet ( t ) conformément à (F-2) Fin Pour Évaporer les pistes selon (F-3) Fin Tant que Fonctionnement de l'algorithme
  • 18. Application de l'algorithme à colonies de fourmis : L'algorithme à colonies de fourmis est l'une des méthodes heuristiques pour trouver la bonne solution dans un problème d'optimisation discret. Le but de cette étude est d'appliquer le fonctionnement de l'algorithme d'optimisation des colonies de fourmis dans le problème du voyage. Les informations nécessaires sont des informations relatives à un emplacement entre les villes et à la planification d'itinéraires pour les emplacements de destination. Le calcul de la distance se fait en additionnant la distance initiale jusqu'à la fin du trajet et en calculant le coût du carburant. l'algorithme à colonies de fourmis a été appliqué pour trouver des solutions optimales au problème du voyageur de Commerce (Travelling Salesman ), problème de routage , système de transport urbain.
  • 20. • Soit bi (t) , (i= 1 , .. , n) l'ensemble des fourmis dans la ville i au temps t et soit m = Σ bi (t) le nombre total des fourmis. Chaque fourmi est un agent avec les caractéristiques suivantes : 1. La fourmi choisit la prochaine ville de destination avec une probabilité qui est en fonction de la distance de la ville et de la quantité de phéromones présente sur l’arête de connexion. 2. Les villes déjà visitées par la fourmi sont retirées de la liste des villes qui restent à visiter. On utilisera pour cela une liste taboue. 3. Lorsqu'une fourmi a terminé un tour, une quantité de phéromones est déposée sur chaque arête (i,j) visitée.
  • 21. Soit τij (t) la quantité de phéromones sur l'arête (i, j) au temps t . chaque fourmi au temps t choisit la prochaine ville où elle s'y positionnera au temps t+ 1. Une itération comprendra donc l' ensemble des m mouvements. Les fourmis compléteront leurs tours après n itérations (un cycle) et la mise à jour des phéromones se fera à cet instant commesuit: où ρest un coefficient tel que (1-ρ) représente l’évaporation de la phéromone entre le temps t et t+n. Resumé
  • 22. Où Δ τij ,k: est la quantité de phéromone par unité de longueur déposée sur l'arête (i,j) par la k ème fourmis entre le temps t et t+n. Resumé
  • 23. Resumé La quantité 1/dij est appelée visibilité et noté ηij . Les paramètres α et β jouent un rôle très important pour avoir une solution optimale. α et β sont donc des paramètres qui contrôlent l'importance relative de la phéromone versus, et de la visibilité. Avec α=O, seule la visibilité est prise en compte .au contraire, avec β=0, seules les pistes de phéromone jouent.
  • 24. • Soit bi (t) , (i= 1 , .. , n) l'ensemble des fourmis dans la ville i au temps t et soit m = Σ bi (t) le nombre total des fourmis. Chaque fourmi est un agent avec les caractéristiques suivantes : 1. La fourmi choisit la prochaine ville de destination avec une probabilité qui est en fonction de la distance de la ville et de la quantité de phéromones présente sur l’arête de connexion. 2. Les villes déjà visitées par la fourmi sont retirées de la liste des villes qui restent à visiter. On utilisera pour cela une liste taboue. 3. Lorsqu'une fourmi a terminé un tour, une quantité de phéromones est déposée sur chaque arête (i,j) visitée.
  • 25. Soit τij (t) la quantité de phéromones sur l'arête (i, j) au temps t . chaque fourmi au temps t choisit la prochaine ville où elle s'y positionnera au temps t+ 1. Une itération comprendra donc l' ensemble des m mouvements. Les fourmis compléteront leurs tours après n itérations (un cycle) et la mise à jour des phéromones se fera à cet instant commesuit: où ρest un coefficient tel que (1-ρ) représente l’évaporation de la phéromone entre le temps t et t+n. Resumé
  • 26. Où Δ τij ,k: est la quantité de phéromone par unité de longueur déposée sur l'arête (i,j) par la k ème fourmis entre le temps t et t+n. Resumé
  • 27. Resumé La quantité 1/dij est appelée visibilité et noté ηij . Les paramètres α et β jouent un rôle très important pour avoir une solution optimale. α et β sont donc des paramètres qui contrôlent l'importance relative de la phéromone versus, et de la visibilité. Avec α=O, seule la visibilité est prise en compte .au contraire, avec β=0, seules les pistes de phéromone jouent.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40. Supposons qu’au temps que le chemin court est ajouté (t = 30 s),la vitesse d’une fourmi est v=7,5 cm/s , distance de le chemin court est 30cm , 4 fourmis ont déjà utilisé le long chemin et retourner au nid ,on a φl(30) = 8, φc(30) = 0). Quelle est la probabilité que le prochain fourmi va choisira-t-il le chemin court pour arriver au point A? Exemple
  • 42. solution artificielle fourmis Des fourmis Les fourmis individuelles disposent d'une mémoire limitée ■ Enregistrez leur voyage jusqu'à la destination . ■ Une fois la destination atteinte, effectuez un balayage pour éliminer les boucles . ■ Revenez sur les étapes du voyage de retour, ignorez la trace de phéromone. ■ N'appliquez des phéromones que sur le voyage de retour.
  • 44. CONCLUSION : 𝑨𝑪𝑶 est une méthode stochastique qui requiert de plus en plus l'attention de la communauté scientifique. Cette métaheuristique a prouvé sa performance pour plusieurs problèmes d'optimisation combinatoire NP-difficiles. L'utilisation des traces de phéromone permet d'exploiter l'expérience de recherche acquise par les fourmis et ainsi renforcer l'apprentissage pour la construction de solutions dans les itérations futures de l'algorithme, En même temps, l'information heuristique peut guider les fourmis vers les zones prometteuses de l'espace de recherche, Un autre avantage de ACO est que son domaine d'application est vaste. En principe, ACO peut être appliquée à n'importe quel problème d'optimisation discret pour lequel un mécanisme de construction de solution peut être conçu.