algorithme de colonie de fourmis 2 fstf
TRANSCRIPT
Btissam DKHISSI 1
Algorithme de colonie de fourmis
Université Sidi Mohamed Ben AbdellahFaculté des Sciences et Techniques de Fès
INTRODUCTION
Btissam DKHISSI 2
L’OPTIMISATION
Btissam DKHISSI 3
L’optimisation
Définition
L’optimisation est une branche des mathématique cherchant à analyser et à résoudre analytiquement et/ou numériquement les problèmes qui consistent à déterminer le meilleur élément d'un ensemble, au sens d'un critère quantitatif donné.
Btissam DKHISSI 4
La maitrise et l’admiration de la science de l’optimisation Peuvent conduire à un carrière
baser sur les techniques de l’optimisation donnant par exemple :
1- Ingénieur en logistique et transport . 2- Ingénieur développeur de Web . 3- responsable de la gestion des ressources . Il y a plusieurs Métiers ou l’optimisation est la base fondamental sur laquelle consiste la maitrise de ces différents Métiers .
Voici quelques domaines dans lesquels la prise de décisionfait couramment appel à la résolution de problèmesd'optimisation : 1- CONCEPTION DE NOUVEAUX SYSTEMES:
dimensionnement, localisation
2- ORGANISATION D' ACTIVITES : Gestion de ressources
Gammes et procéduresRentabilisation des investissements
3- COMMANDE DE SYSTEMES :
Stabilisation, Suivi de trajectoires 4- SURVEILLANCE, SUPERVISION :
Détection de dysfonctionnements, diagnostics, réparation, maintenance,
remplacement préventif.
L'optimisation est essentiellement un outil d'aide à la décision au sein de l'entreprise dans différents niveaux de production, de stockage, de livraison, …
Le terme solution optimal n’est pas un jugement de valeur absolu. C'est plutôt une information sur l'approche méthodologique utilisée.
Les Domaines D’application
L’optimisation Dans notre vie professionnelle
Btissam DKHISSI 5
Comment optimiser l’espace dans ca propre maison et profiter de plus d’espace quelque soit les
dimensions traitées ?
L’optimisation du mode d’emploi pour bien préparer les examens
et optimiser le temps de révision vu le classements des matières du difficiles au faciles ou bien le
contraire !
Au niveau personnel
Btissam DKHISSI 6
Mise en forme Mathématique
Définir les variables de décision• Ensemble des variables qui régissent la situation à modéliser• Variables réelles, entières, binaires
Préciser la fonction objectif (fonction économique/Contrainte faible/contrainte souple)• Fonction mathématique composée des variables de décision quireprésente le modèle physique modélisé
Préciser les contraintes du problème (Contrainte forte/ Contrainte rigide) • ensemble des paramètres qui limitent le modèle réalisable• équations ou inéquations composées des variables de décision
Préciser les paramètres du modèleconstantes associées aux contraintes et à la fonction objectif
Btissam DKHISSI 7
Terminologie
Solution réalisableSolution où toutes les contraintes du modèle sont satisfaites Domaine de recherche (Zone de solution)Ensemble de toutes les solutions réalisables Solution optimale
• Solution réalisable où la fonction objectif atteint la meilleure valeur, maximum ou minimum
• Plusieurs solutions optimales possibles
Btissam DKHISSI 8
Quelques variantes classiques du problème de tournées de véhicules:
1- contraintes de capacité: Les véhicules ont une capacité d'emport limitée (quantité, taille, poids, etc.).
2- contraintes liées aux ressources et aux clients: disponibilité, localisation, compétences requises, etc.3- tournées de véhicules avec fenêtre de temps: Pour chaque client on impose une fenêtre de temps dans laquelle la livraison doit être effectuée.tournées de véhicules avec collecte et livraison: Un certain nombre de marchandises doivent être déplacées de sites de collecte vers des sites de livraisons.
Le problème du voyageur de commerce consiste, étant donné un ensemble de villes séparées par des distances données, à trouver le plus court chemin qui relie toutes les villes. Il s'agit d'un problème d'optimisation pour lequel on ne
connait pas d'algorithme permettant de trouver une solution exacte en un temps polynomial. De plus, la version décisionnelle de l'énoncé (pour
une distance D, existe-t-il un chemin plus court que D passant par toutes les villes ?) est connu comme
étant un problème NP-complet
Le problème de tournées de véhicules est une classe de problèmes de recherche opérationnelle et
d'optimisation combinatoire. Il s'agit de déterminer les tournées d'une flotte de véhicules afin de livrer
une liste de clients, ou de réaliser des tournées d'interventions
Ce problème est une extension classique du problème du voyageur de commerce, et fait partie
de la classe des problèmes NP-complet.
Sac a dos
PROBLEME DE VOYAGEUR DE COMMERCE
TOURNEES DES VEHICULES
EXEMPLES DES PROBLEME D’OPTIMISATION
1
23
Le problème du sac a dos est un problème d’optimisation combinatoire Il modélise une
situation analogue au remplissage d'un sac à dos, ne pouvant supporter plus d'un certain poids, avec tout ou partie d'un ensemble donné d'objets ayant chacun un poids et une valeur Les objets mis dans
le sac à dos doivent maximiser la valeur totale, sans dépasser le poids maximum.
Btissam DKHISSI 9
Algorithmes exactes
Méthodes approchées
Programmation linéaire
Séparation et évaluation
Programmation dynamique
Colonie de fourmis
Recherche locale
Algorithmes gloutons
Recherche Tabou
Recuit simulé
Algorithme génétique
Méthodes d’optimisation
Relaxation
Btissam DKHISSI 10
Les métaheuristiques progressent de façon itérative, en alternant des phases d’intensification, de diversification et d’apprentissage, ou en mélant ces notions de façon plus étroites. L’état de départ est souvent choisi aléatoirement, l’algorithme se déroulant ensuite jusqu’à ce qu’un critère d’arrêt soit atteint.
Métaheuristique
Btissam DKHISSI 11
Métaheuristiques
L'intensification se fonde sur l'idée d'apprentissage de propriétés favorables: les propriétés communes souvent rencontrées dans les meilleures solutions visitées sont mémorisées au cours de la recherche, puis favorisées pendant la période d'intensification. Une autre manière d'appliquer l'intensification consiste à mémoriser une liste de solutions de bonne qualité et à retourner vers une de ces solutions. Il s’agit alors d’intensifier l’effort de recherche vers les zones les plus « prometteuses » de l’espace des solutions.
La diversification cherche à diriger la recherche vers des zones inexplorées. Sa mise en œuvre consiste souvent à modifier temporairement la fonction de coût pour favoriser des mouvements n'ayant pas été effectués ou à pénaliser les mouvements ayant été souvent répétés. Il s’agit alors de diversifier l’effort de recherche de façon à être capable de découvrir de nouvelles zones contenant (potentiellement) de meilleures solutions.
Btissam DKHISSI 12
Algorithme de colonie de
fourmis
Btissam DKHISSI 13
Naissance des algorithmes de colonies de fourmis
Les algorithmes de colonies de fourmis sont nés à la suite d’une constatation faite par des biologistes (Pierre-Paul Grassé, entre les années 40 et 50) :
les insectes sociaux en général, et les fourmis en particulier, sont capables de résoudre collectivement des problèmes complexes,
comme trouver le chemin le plus court entre une source de nourriture et leur nid, bien que celles-ci ont individuellement des
capacités cognitives limitées.
Btissam DKHISSI 14
La stigmergie
La stigmergie est une forme indirecte et non symbolique de communication, passant par le biais de modification de l’environnement.
On peut utiliser le terme « interaction sociale indirecte » pour décrire le même phénomène.
Btissam DKHISSI 15
Expérience
Btissam DKHISSI 16
Algorithme de colonie de fourmis
i
Initialisation
déplacement
Mise à jour
Introduction
Btissam DKHISSI 17
Algorithme de colonie de fourmis (AS)
Initialisation
déplacement
Mise à jour
Introduction
i
0
0
0
0
Btissam DKHISSI 18
Algorithme de colonie de fourmis (AS)
j)t(ij
Initialisation
déplacement
Mise à jour
Introduction
sinon
J jsi P
i
ij
0
))t(())t((
))t(())t((
)t(i
ij
Jlilil
ij
Btissam DKHISSI 19
Algorithme de colonie de fourmis (AS)
j)1t(ij
Initialisation
déplacement
Mise à jour
Introduction
)t()t()1t( ijijij
Btissam DKHISSI 20
Adaptation de l’Algorithme de colonie de fourmis
Considérons le graphe G=(X,U,V)• X est l’ensemble de n sommets • U est l’ensemble des arcs• V est l’ensemble des poids associés aux composants de X ou aux ceux de U ou tous les deux
Le plus court chemin entre le paire de sommets (Source, Destination) en respectant les contraintes fortes du problème?
Btissam DKHISSI 21
Les comportements d’un algorithme de Colonie de fourmis sont :
1. Construction de la solution probabiliste biaisé par les traces de phéromone
2. Mise à jour de la quantité de phéromone
3. Évaluation de la qualité des solutions générées
Adaptation de l’Algorithme de colonie de fourmis
Btissam DKHISSI 22
Différences par rapport aux fourmis réelles :
• mémorisation des sommets traversés• les phéromones sont déposées après la construction de la solution• le renforcement est proportionnel à la qualité de la solution construite
Adaptation de l’Algorithme de colonie de fourmis
Btissam DKHISSI 23
Initialiser les phéromones pour chaque arc à la valeur τ0
Placer aléatoirement les m fourmis sur les sommets du graphefor t = 1 à tmax do
for k = 1 à m do Construire le chemin Sk (t) en tenant compte des phéromones (τ ij ) et de la désirabilité
(ηij ) de chaque arc
Calculer le coût de la solution Sk (t) end for if une meilleure solution a été trouvée then Mettre à jour la meilleure solution trouvé : S+
end if for all arc (i, j) do Mettre à jour la quantité de phéromone τij
end forend for
Algorithme de colonie de fourmis
Btissam DKHISSI 24
La colonie comporte un nombre fixe de fourmis artificielles et a pour but de
rechercher collectivement de bonnes solutions pour le problème à résoudre.
Le rôle d'une fourmi est de construire une solution, en partant d'une position
initiale liée à la nature du problème considéré (Méthode constructive).
L'objectif est d'obtenir une solution de coût minimum et qui respecte les
contraintes définies.
Ant Colony Optimization (ACO) L'optimisation à colonie de fourmis (OCF)
Btissam DKHISSI 25
Les fourmis construisent leur solution de façon incrémentale. • Etant à une étape courante sur un nœud i, chaque fourmi détermine une
liste de nœuds candidats (réalisables).
• La fourmis choisit parmi les éléments de la liste des candidats un nœud pour s’y déplacer et ça sera la direction marquée par la plus grande quantité de phéromone (la plus forte probabilité d'être choisie)
Remarque : La probabilité de choisir un nœud hors l’ensemble des candidats est 0.
Ant Colony Optimization (ACO) L'optimisation par colonie de fourmis (OCF)
Btissam DKHISSI 26
Le choix du nœud suivant par la fourmis est guidé par les informations laissées par les autres fourmis suivant une probabilité de transition:
Ant Colony Optimization (ACO) L'optimisation par colonie de fourmis (OCF)
sinon
J jsi P iij
0))t(())t((
))t(())t(()t(
iJlilil
ijij
Btissam DKHISSI 27
• : La trace de phéromone représente l’expérience de la colonie concernant l’intérêt de visiter le nœud j juste après le nœud i à une itération t, et elle est utilisée pour guider les fourmis dans leur phase de construction de chemins.
• : L’information heuristique est calculée par la fourmi en se déplaçant de l’état i à j à l’itération t. Cette information représente l’intérêt qu’a la fourmi pour prendre la décision du déplacement de l’état i à l’état j. Plus cette valeur est grande, plus il semble intéressant de faire le choix courant. En général, cette valeur est directement proportionnelle à la qualité de la solution partielle obtenue en prenant la décision de déplacement de l’état i à j.
Ant Colony Optimization (ACO) L'optimisation par colonie de fourmis (OCF)
)t(ij
)t(ij
Btissam DKHISSI 28
• et sont deux paramètres qui déterminent l’influence relative de l’information phéromone et de l’information heuristique.
Ant Colony Optimization (ACO) L'optimisation par colonie de fourmis (OCF)
Btissam DKHISSI 29
Ant Colony Optimization (ACO) L'optimisation par colonie de fourmis (OCF)
La mise à jour :
Une fois que toutes les fourmis ont construit leurs solutions (c’est à dire à
la fin de chaque itération) la colonie de fourmis effectue des mises à jour
de la quantité de la phéromone. La mise à jour de la phéromone
commence par une phase d'évaporation, qui réduit toutes les valeurs des
arcs. Ensuite pour chaque solution, les valeurs de la phéromone
associées aux éléments la constituant sont renforcées par un facteur à
définir.
Btissam DKHISSI 30
Ant Colony Optimization (ACO) L'optimisation par colonie de fourmis (OCF)
La mise à jour :
La mise à jour de la phéromone peut être globale où chaque arc appartenant à
une des solutions construites est modifié par l’ajout d’une quantité de
phéromone. À la fin de cette phase la phéromone du système entier s'évapore et
le processus de la construction et de la mise à jour est réitéré suivant la formule
suivante :
• : le coefficient d’évaporation choisi dans l’intervalle] 0,1[.
• : la quantité de phéromone déposée sur l’arc reliant les nœuds i et j.
)t()t()1t( ijijij
)t(ij
Btissam DKHISSI 31
Ant Colony Optimization (ACO) L'optimisation par colonie de fourmis (OCF)
La mise à jour : La mise à jour de phéromone peut être aussi locale où seule la meilleure solution construite depuis le commencement de la procédure de construction des solutions, est employée pour mettre à jour globalement la phéromone. Ainsi, chaque fois qu’une fourmi se déplace de l’état courant au prochain, la phéromone associée au bord est modifiée de la façon suivante:
Où : • le coefficient d’évaporation choisi dans l’intervalle]0,1[.
• la valeur initiale de la phéromone.
0ijij )1()t()1t(
0
Btissam DKHISSI 32
Variantes de l’algorithme de colonie de fourmis
Btissam DKHISSI 33
Le système de fourmi (Ant System AS)
• Développé par Dorigo et al. en 1991• Vise surtout à résoudre le problème de voyageur de commerce, où l'objectif est de
trouver le plus court chemin servant à relier un ensemble de villes.
Principe :
Un ensemble de fourmis, chacune parcourant un trajet parmi ceux envisageables. À chaque étape, la fourmi choisit de passer d'une ville à une autre selon quelques règles :
• elle ne peut visiter qu'une fois chaque ville • plus une ville est loin, moins elle a de chance d'être choisie (c'est la «visibilité /
l’information heuristique») • 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• une mise à jour globale de phéromone est appliquée afin d’augmenter l’attraction de la
solution prometteuse
Btissam DKHISSI 34
Max-Min Ant System (MMAS)
• Une variante efficace du AS• Développée par Stützle et Hoos
Principe :Seules les meilleures fourmis tracent des pistes et le dépôt de phéromone est limité par une limite supérieure (empêchant une piste d'être trop renforcée) et une limite inférieure (laissant la possibilité d'être explorée à n'importe quelle solution)
Btissam DKHISSI 35
Ant Colony System (ACS)
• La variante la plus connue du (AS)• Introduit par Dorigo et Gambardella en 1997
Principe :Une nouvelle règle de déplacement (appelée «règle pseudo-aléatoire proportionnelle»), s'ajoute au processus de mise à jour locale des éléments des pistes de phéromone.La nouvelle règle de déplacement Dépend d’un paramètre q0 (0≤q0≤1), qui définit une balance diversification/intensification.
Btissam DKHISSI 36
Ant Colony System (ACS)
Régle de transition : la fourmi placée à i choisit la ville j telle que:
Où : q est une variable aléatoire uniformément distribuée sur [0,1] q0 est un paramétre (0≤q0 ≤1)
ηij : la visibilité (l’information heuristique)
Jk(i) = { sommets candidats}
J : variable aléatoire séléctionnée par la parobabilité ci-dessous
sinon
qq si 0
J
.)t(maxargj ilil)i(Jl k
kiJP
Btissam DKHISSI 37
J est choisie suivant la probabilité de déplacement :
)i(Jl
kilil
kiJk
k
iJ
))t(())t((
))t(())t(()t(iJP
Ant Colony System (ACS)
Btissam DKHISSI 38
Ayant l'objectif d'augmenter la diversification de la recherche, le mécanisme de mise à jour locale de la phéromone de l’ACS est plus efficace relativement à celui de l’AS puisqu’il évite la convergence lente en concentrant directement la recherche dans un voisinage de la meilleure solution trouvée jusqu’à l’itération courante de l’algorithme.
Ant Colony System (ACS)
Btissam DKHISSI 39
• Optimisation
• à chaque pas la fourmi dépose des phéromones :
• la mise à jour des phéromones n’est faite qu’à partir du meilleur chemin généré (C+) :
• des listes de villes candidates sont utilisées pour accélérer le processus de construction d’un chemin ;
• une heuristique locale est utilisée pour améliorer les solutionsgénérées par les fourmis (2-opt ou 3-opt) ;
Btissam DKHISSI 40
Application : Problème de voyageur de commerce (TSP)