Optimisation Combinatoire et Colonies de Fourmis Nicolas Monmarche April 21, 1999
Sommaire Inspiration biologiques Ant Colony Optimization Applications TSP QAP Flow Shop Problemes dynamiques 1
Historique des problemes discrets Probleme Annee Travelling Salesman [5,15,19,31,33] 1991 Quadratic Assignement [23,26,34] 1994 Job Shop Scheduling [7] 1994 Vehicle Routing [3,4] 1996 Network Routing [10,11,27,28] 1997 Bus Driver Scheduling [18] 1997 Sequential Ordering [22] 1997 Graph Coloring [9] 1997 Frequency Assignement [25] 1998 Flow Shop Scheduling [32] 1998 2
Inspiration Biologique (1/4) Le fourragement! Recherche de nourriture autour du nid.! Utilisation de pheromones pour marquer le chemin empreinte.! Utilisation des traces de pheromones pour retrouver le chemin. 3
Inspiration Biologique (2/4) Consequences! L'information est partagee.! Decouverte du plus court chemin entre la source de nourriture et le nid.! Resolution collective d'un probleme d'optimisation. 4
Inspiration Biologique (3/4) Illustration U U N A B S A B N......... S V V Figure 1: t = 0 U A... B N....... S.......... V Figure 2: t = 2 U A...... B N....... S........... V Figure 3: t = 4 Figure 4: t = 5 5
Inspiration Biologique (4/4) Remarques Evaporation des pheromones! adaptation a un environnement dynamique. La decouverte du plus court chemin est un comportement emergent. La communication se fait de maniere indirecte : stigmergie. 6
Ant Colony Optimization (1/3) Meta-heuristique ACO : fourmis articielles = agents simples points commun avec les fourmis reelles : { Communication indirecte par leur environnement. { Perception limitee de cet environnement. { Decisions aleatoires (recherche stochastique). { Deplacement dans un espace a la recherche du plus court chemin. 7
Ant Colony Optimization (2/3) Resolution de problemes combinatoires : Les fourmis articielles possedent certaines capacites supplementaires, elles disposent d'une memoire pour la construction d'une solution, elles se deplacent dans un espace discret. 8
Ant Colony Optimization (3/3) Algorithme Tantque (la condition d'arr^et n'est pas atteinte) Tantque (L'etat nal n'est pas atteint) Pour (chaque fourmi) Choisir l'etat suivant en fonction de la memoire et de l'environnement local Mettre a jour les pheromones sur l'arc choisi. FinPour FinTantQue Pour (chaque fourmi) Evaluer la solution obtenue FinPour Mise a jour globlale des pheromones FinTantque Acher la meilleure solution trouvee 9
Application : TSP (1/8) Le probleme : n villes T = ( 1 ::: n ) min 8 < : X n;1 d( i i+1 ) + d( n 1 ) i=1 9 = (1) ACO! AS, MMAS, AS rank, Ant-Q, ACS 10
Application : TSP (2/8) AS, MMAS, AS rank, Ant-Q, ACS A chaque arc (i j), on associe une quantite de pheromones ij En i, la fourmi k choisit la ville j avec la probabilite suivante : N k i p k ij (t) = a ij(t) P l2n k i a il (t) (2) est l'ensemble des villes qui n'ont pas encore ete visitees par la fourmis k. est obtenu par a ij (t) = a ij (t) [ ij(t)] [ ij ] Pl2N i [ il (t)] [ il ] 8j 2 N i (3) il = 1=d il represente la visibilite de la fourmi. 11
Application : TSP (3/8) AS, MMAS, AS rank, Ant-Q, ACS Chaque fourmi depose une quantite k ij sur les arcs qu'elle a empreintes : ( k 1=L ij = k si (i j) 2 T k 0 sinon (4) T k est le tour eectue par la fourmi k et L k en est la longueur. La quantite de pheromone est alors mise a jour : ij (1 ; ) ij + mx k=1 k ij (5) 12
Application : TSP (4/8) AS, MMAS, AS rank, Ant-Q, ACS Mise a jour globale des pheromones. Les pheromones sont bornees :[ min max ]. Elles sont initialisees a max. 13
Application : TSP (5/8) AS, MMAS, AS rank, Ant-Q, ACS Les fourmis sont rangees par ordre decroissant des L k. La mise a jour des pheromones tient compte du rang : ij (1 ; ) ij + ;1 X L + + =1 ij (6) ( (;) ij = si (i j) 2 T L 0 sinon (7) 14
Application : TSP (6/8) AS, MMAS, AS rank, Ant-Q, ACS AS Q ; Learning )! Ant ; Q (8) Mise a jour locale des pheromones : ij (1 ; ') ij + ' max l2n k j jl (9) 15
Application : TSP (7/8) AS, MMAS, AS rank, Ant-Q, ACS Renforcement global des pheromones : ij (1 ; ) ij + 1 L + (10) Parametre q 0 xant le rapport Exploration/Exploitation Renforcement local des pheromones : ij (1 ; ') ij + ' 0 (11) 16
Application : TSP (8/8) AS, MMAS, AS rank, Ant-Q, ACS Choix de la ville suivante dans une liste candidate. Utilisation d'heuristiques de recherche locale (2-opt, 3-opt). Performances (TSP, ATSP) AS < AS rank, Ant-Q < ACS, MMAS 17
Application : QAP (1/.) Le probleme : Soit deux matrices n n, A = [a ij ] et B = [b ij ] min 2S(n) nx nx i=1 j=1 b ij a i j (12) ACO! AS-QAP, ANTS-QAP, MM-QAP, FANT-QAP, HAS-QAP 18
Application : Flow Shop (1/3) Le probleme : n travaux, m machines min 2S(n) ( max 1in C im ) (13) ACO! MMAS-FSH ij represente l'attrait du travail i pour la j-ieme position de la sequence. la sequence est construite iterativement. 19
Application : Flow Shop (2/3) MMAS-FSH Exploration : choisir le travail i pour la j- ieme position suivant la probabilite : p ij = 8 < : ij Pk2L j kj si i 2 L j 0 sinon (14) L j est la liste des travaux non aectes lors du choix de la j-ieme position. Exploitation : choisir le travail i tel que : ij = max k2l j kj (15) 20
Application : Flow Shop (3/3) MMAS-FSH Les pheromones ne sont mises a jour qu'en fonction de la meilleur fourmi : ij (1 ; ) ij + ij (16) ij vaut 1=C best si le travail i est aecte a la j-ieme position pour la meilleure fourmi et 0 sinon. En plus : recherche locale (echanges, insertion,...) 21
Problemes dynamiques Routage dans les reseau commutes/non commutes. Les fourmis accompagnent les paquets jusqu'a leur destination Elles reviennent en mettant a jour les tables de routage en fonction de la rapidite de leur voyage aller. 22
Conclusion 23