Optimisation par colonies de fourmis Ant colony Optimization Nicolas Fayolle Guillaume Martinez Nicolas Seydoux 5IL- OC
Présentation: 1. 2. 3. 4. 5. Introduction a. Métaheuristique b. Pourquoi les fourmis? Principe général a. Comportement des fourmis b. Fourmis réelles et virtuelles c. Principe de l algorithme d. Intensification et diversification Une illustration : Voyageur de commerce a. Transformation de notre problème en TSP b. Résolution du TSP obtenu Performances & Compléxité Améliorations
I - Introduction 1. Métaheuristique: 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
I - Introduction 2. Pourquoi les fourmis? Comportement collectif Comportement indépendant: hétérarchie Chaque fourmi est aidée par la communauté Chaque fourmi aide au bon fonctionnement Pistes de phéromones
II - Principe général 1. Comportement des fourmis
II - Principe général 2. Fourmis réelles et virtuelles Points communs Chacune trouve une solution Marquage de la piste avec des phéromones Évaporation des phéromones Recherche du plus court chemin Prise de décision aléatoires Différences Monde non-continu Mémoire (parcours, performances,...) Quantité de phéromones proportionnelle à la qualité de la solution Mise à jour à la fin du parcours Retour en arrière
II - Principe général 3. Principe de l algorithme Pas de phéromone = Choix aléatoire Trouver une solution en utilisant les critères de choix: visibilité, quantité de phéromones, aléatoire Mise à jour des quantité de phéromones (dépôt et évaporation) Critère de d arrêt (nb d itérations) Initialisation Itération Arrêt
II - Principe général 4. Intensification et diversification Paramètre d intensification: Suivre la piste de phéromones Paramètre de diversification: Prendre une direction aléatoire
III - Voyageur de commerce TSP Trouver un circuit hamiltonien de longueur minimale dans un graphe G=(X,U) 4 1 1 2 3 2 3 4 1 4 2 5 4 2 3
III - Voyageur de commerce Conventions et implémentation m = nombre total de fourmis Ti,j(t) = le taux de phéromones sur l arc i, j à l instant t n = nombre de ville (soit X ) Vi,j = 1/Di,j = la visibilité d une ville j quand on est sur une ville i Lk = distance parcouru par la foumi k Chaque fourmi mémorise l ensemble des villes parcourues mise à jour des phéromones se fera à chaque fin de cycle (circuit hamiltonien)
III - Voyageur de commerce Initialisation m = 5 et Ti,j(0) = 0 p = 0.5 = coefficient d évaporation des phéromones 1 fourmi 1 ville parcours aléatoire du graphe on stocke les valeurs des distances A=13, B=18, C=14, D=12, E=12 Q = 100 = quantité de phéromones disponibles pour chaque fourmis a = 1 = coefficient d importance des phéromones b = 1 = coefficient d importance de la visibilité 1 1 2 3 2 3 4 1 4 2 5 4 4 2 3
III - Voyageur de commerce Choix de transition Pour déterminer sur quelle ville j une fourmi k présente en i va aller on utilise la formule: p= (Ti,j)^a * (Vi,j)^b (Ti,l)^a*(Vi,l)^b avec l appartenant à l ensemble des villes non parcouru p(a1 2)(1) = 23.16 * 1 / 40.06 p(a1 3)(1) = 21.58 * 0.25 / 40.06 p(a1 4)(1) = 12.7 *0.25/ 40.06 p(a1 5)(1) = 16.66 * 0.5 / 40.06 = 0.58 = 0.13 = 0.08 = 0.21 p(a2 3)(1) = 8.33 * 0.5 / 18.37 p(a2 4)(1) = 29.91 * 0.33 / 18.37 p(a2 5)(1) = 12.7 *0.33/ 18.37 = 0.23 = 0.54 = 0.23 p(a4 3)(1) = 15.47 * 0.5 / 23.755 p(a4 5)(1) = 16.02 * 1 / 23.755 = 0.33 = 0.67 A: 1 2 4 3 5 1 = 12
III - Voyageur de commerce mise à jour des phéromones fin de cycle: Ti,j(t+n) = p * Ti,j(t) + Ti,j(t) Ti,j(t) = Tki,j(t) avec Tk taux de phéromones déposés par une fourmi Tai,j(1) = 100/10 = 10 Tbi,j(1) = 100/11 = 9.09 Tci,j(1) = 100/10 = 10 Tdi,j(1) = 100/8 = 12.5 Tei,j(1) = 100/12 = 8.33 T1,2(1) = 49.92 Tki,j(t) = Q/Lk T1,2(2) = 0.5 * 23.16 + 49.92 = 61.5
III - Voyageur de commerce Fin de cycle et Résolution fin de cycle: MAJ du minimum si convergence arrêt sinon RAZ mémoire et nouveau cycle Arrêt de l algorithme: nombre de cycle stagnation de la solution l algorithme converge vite vers : 1 2 3 4 5 1
IV - Performances Version originale Performances correctes sur des petites instances du TSP Dépassée par les solveurs dédiés sur les grosses instances Évolutions Grosses améliorations des performances sur les problèmes statiques Avancées dans le domaine des algorithmes dynamiques Adaptées aux problèmes où la recherche locale est peu efficaces
V - Améliorations Équilibrer exploitation et exploration Favoriser l émergence de bonnes solutions Empêcher la convergence prématurée Modifier la gestion des phéromones on-line/off-line Coefficients multiplicateurs Sélection
V.1 - Élitisme Stratégie off-line Axée sur l exploitation Mise en avant du meilleur circuit IB ou BS
V.1.a - ASrank Mise à jour sélective des phéromones Seules les meilleures fourmis laissent leur trace L importance de la mise à jour dépend du classement de la solution de la fourmi
V.1.b MMAS : Max-Min AS Introduction d une borne sur le marquage Quantité de phéromone sur un élément comprise entre τmin et τmax Explicitation de la borne min des autres algorithmes La borne supérieure évolue avec l exploration Évolution de la règle d élitisme IB au début BS à une fréquence croissante Initialisation du marquage à la borne max Favorise l exploration initiale
V.1.c ACS: AC System Accent sur l exploitation Mise en avant de l expérience passée Fort coefficient élitiste Choix pseudo-aléatoire proportionnel Choix potentiellement uniquement basé sur heuristique et phéromones Mise à jour dynamique des phéromones Consommation des phéromones par les fourmis Diversifie les chemins pour une itération
V.2 - Recherche locale Approches complémentaires Affine les solutions trouvées par la métaheuristique Les algorithmes ACO tendent à produire des solutions grossières Celles-ci sont de très bonnes candidates pour lancer une recherche locale
V.3 - Problèmes dynamiques AntNet Version:originale Algorithme de routage Marquage aux correctes Performances phéromones sur des pourpetites chaque instances arc de sadu valeur TSP pour chaque Dépassé par les solveurs dédiés sur les grosses instances sommet Évaluation du chemin en fonction du nombre de sauts, du débit des arcs empruntés et du trafic Pas de mise à jour off-line des phéromones Valeur heuristique pour un arc réévaluée à chaque passage
Conclusion Ce qu il faut retenir - Algorithme à population, itératif et à mémoire Choix aléatoire paramétrable entre exploration et exploitation Algorithme décentralisé adapté aux problèmes dynamique Couplable avec de la recherche locale Merci de votre attention
Sources - Ant colony optimization theory: A survey [Marc Dorigo, Christian Blum] - 2005 A survey on optimization metaheuristics, [Ilhem Boussaïd, Julien Lepagnot, Patrick Siarry] 2012 The ant colony optimization metaheuristic : algorithms applications, and advances [Marc Dorigo] Optimisation par colonies de fourmis [Andrea Costanzo, Thé Van Luong, Guillaume Marill] 2006