440 likes | 564 Vues
Ant Systems for dynamic problems. Ants caught in a traffic jam. Casper Joost Eyckelhof. Inhoud. Probleemomschrijving Travelling Salesman Problem (TSP) Classic Ant System Ant Systems for Dynamic TSP Experimenten Conclusies en Aanbevelingen. Probleemomschrijving.
E N D
Ant Systems for dynamic problems Ants caught in a traffic jam Casper Joost Eyckelhof
Inhoud • Probleemomschrijving • Travelling Salesman Problem (TSP) • Classic Ant System • Ant Systems for Dynamic TSP • Experimenten • Conclusies en Aanbevelingen Ant Systems for dynamic problems
Probleemomschrijving • Toon aan dat Ant Systems geschikt zijn voor dynamische problemen(“..., we believe it is on dynamic problems that swarm-based algorithms might exhibit particularly good performance. This latter conjecture remains to be confirmed.”) • Probeer verbeteringen in Ant System aan te brengen voor gebruik bij dynamische problemen Ant Systems for dynamic problems
Inhoud • Probleemomschrijving • Travelling Salesman Problem (TSP) • Classic Ant System • Ant Systems for Dynamic TSP • Experimenten • Conclusies en Aanbevelingen Ant Systems for dynamic problems
Travelling Salesman ProblemHandelsreizigersprobleem • Wat is het Travelling Salesman Problem? • Waarom Travelling Salesman Problem? • Wat is Dynamic TSP? Ant Systems for dynamic problems
Wat is het Travelling Salesman Problem? “Zoek de kortste rondgang langs alle steden waarbij elke stad precies eenmaal wordt aangedaan.” Ant Systems for dynamic problems
Voorbeeld: 4 steden Ant Systems for dynamic problems
Voorbeeld: 15112 steden 15112 steden in Duitsland 22.6 jaar rekentijd (op 500MHz) Ant Systems for dynamic problems
Waarom Travelling Salesman Problem? • Makkelijk voor te stellen • Moeilijk op te lossen • (n-1)! / 2 mogelijke oplossingen4 steden: 3 oplossingen10 steden: 181440 oplossingen100 steden: 4.6663 * 10155 oplosssingen • Sluit goed aan bij Ant Systems Ant Systems for dynamic problems
Wat is Dynamic TSP? • De omgeving verandert, er ontstaan files tussen steden. • Reistijd/kosten minimaliseren Waarom DTSP? • Lijkt meer op “echte” problemen • Nog complexer om op te lossen Ant Systems for dynamic problems
Inhoud • Probleemomschrijving • Travelling Salesman Problem (TSP) • Classic Ant System • Ant Systems for Dynamic TSP • Experimenten • Conclusies en Aanbevelingen Ant Systems for dynamic problems
Classic Ant System • Optimalisatie techniek, gebaseerd op gedrag van echte mieren • Geursporen (pheromonen - ) • Heuristiek (zichtbaarheid - ) • Individuen zijn dom, de kolonie slim • Communicatie via de omgeving • Erg simpel, toch heel krachtig Ant Systems for dynamic problems
Ant System: Algoritme (1) • Initialisatie • Herhaal: • Laat elke mier een rondje lopen door steeds met een kans naar volgende stad te gaan. • Pas de geursporen aan (verdamping, mieren en elite mieren) • Geef beste score /* initialisation */ For every edge (i,j) do ij (0) = 0 End For For k = 1 to m do Place ant k on a randomly chosen city End For Let T+ be the shortest tour found from beginning and L+ its length /* Main loop */ For t = 1 to tmaxdo For k = 1 to m do Build tour Tk (t) by applying n-1 times the following step: Choose the next city j with probability where i is the current city. End For For k = 1 to m do Compute the length Lk (t) of the tour Tk (t) produced by ant k End For If an improved tour is found then Update T+ and L+ End If For every edge (i,j) do Update pheromone trails by applying the rule: ij (t) (1 - ) ij (t) + ij (t) + e eij (t) where and End For For every edge (i,j) do ij (t+1) = ij (t) End For End For Print the shortest tour T+ and its length L+ Stop /* Values for parameters */ =1, =6 , = 0.5 , m=n , Q = 100, 0=10-6 , e = 5 Ant Systems for dynamic problems
Ant System: Algoritme (2)keuze volgende stad Ant Systems for dynamic problems
Ant System: Algoritme (3)aanpassen geursporen ij (t+1) = (1 - ) ij (t) + ij (t) + e eij (t) Ant Systems for dynamic problems
Inhoud • Probleemomschrijving • Travelling Salesman Problem (TSP) • Classic Ant System • Ant Systems for Dynamic TSP • Experimenten • Conclusies en Aanbevelingen Ant Systems for dynamic problems
Ant Systems for Dynamic TSP Verschil met normaal TSP: slechte wegen kunnen goed worden en vice versa. Probleem: Ant System kapt slechte wegen snel af door het verdampen van geursporen. Als een weg niet of weinig wordt gebruikt, zal er na korte tijd (bijna) geen geurspoor meer liggen. Ant Systems for dynamic problems
Lengte: 49 Voorbeeld Nieuwe ronde (45) 45.1 Stad = 1 kans array = [0,50,0,50]. Kansvalue =62 Stad = 4 kans array = [0,0,100,0]. Kansvalue =79 Stad = 3 kans array = [0,100,0,0]. Kansvalue =45 45.2 Stad = 2 kans array = [97,0,2,0]. Kansvalue =63 Stad = 1 kans array = [0,0,0,100]. Kansvalue =46 Stad = 4 kans array = [0,0,100,0]. Kansvalue =37 45.3 Stad = 3 kans array = [0,2,0,97]. Kansvalue =23 Stad = 4 kans array = [100,0,0,0]. Kansvalue =71 Stad = 1 kans array = [0,100,0,0]. Kansvalue =59 45.4 Stad = 4 kans array = [50,0,50,0]. Kansvalue =6 Stad = 1 kans array = [0,100,0,0]. Kansvalue =83 Stad = 2 kans array = [0,0,100,0]. Kansvalue =36 Kortste tour in ronde 45 is van mier 1: 49.0. Route: 1, 4, 3, 2 Lengte: 40 Lengte: 48.28 Ant Systems for dynamic problems
Mogelijke oplossing • De kansen voor bepaalde wegen worden 0 omdat de hoeveelheid geurstof () 0 wordt. • Oplossing: geef een minumum waarde Ant Systems for dynamic problems
Nog een probleem Kans is nu niet meer 0, maar kan nog erg klein zijn, waardoor het lang kan duren voordat de nieuwe weg alsnog gebruikt wordt. Oorzaak: grote verschillen tussen hoeveelheid geurstof op verschillende wegen. (Soms factor 10 miljoen of meer.) Ant Systems for dynamic problems
Oplossing: “Shaking” • Bedoeld om hoeveelheid geurstoffen te normaliseren • Gedeeltelijk behoud van informatie • Via de formule ij = 0 (1 + log (ij / 0) ) Ant Systems for dynamic problems
Shaking (2) Voorbeelden: Eerst 1000x zoveel, nu 7x zoveel Eerst 10000000x zoveel, nu 17x zoveel Ant Systems for dynamic problems
Local Shaking • Er is een grote kans dat Shaking toch nog teveel informatie weggooit, want veranderingen zijn zeer lokaal. • Local shaking schudt alleen de gebieden in de buurt van de file. • Parameter (p) geeft grootte van dat gebied aan. • Twee versies getest: 10% en 25% Ant Systems for dynamic problems
Inhoud • Probleemomschrijving • Travelling Salesman Problem (TSP) • Classic Ant System • Ant Systems for Dynamic TSP • Experimenten • Conclusies en Aanbevelingen Ant Systems for dynamic problems
Experimenten • 25 steden, weinig files • 100 steden, veel files • korte files (25 units) • langere files (50 units) Ant Systems for dynamic problems
Benchmarks Bestaan nog niet voor dit probleem, maar logische kenmerken om naar kijken zijn: • Snel reageren op veranderingen • Lage pieken en snelle dalingen • Gemiddelde lengte van de route • 5 verschillende varianten testen: nop, reset, globalshake, shake10, shake25 Ant Systems for dynamic problems
25 steden (probleem) • 2 dynamische periodes Ant Systems for dynamic problems
25 steden (gedrag) Ant Systems for dynamic problems
25 steden (resultaten) (1) Ant Systems for dynamic problems
25 steden (resultaten) (2) • Ranglijst:Shake, Shake 25%, Shake 10%, Reset, Nop • Geen enorme verschillen, maar Shake toch duidelijk beter dan Nop Ant Systems for dynamic problems
25 steden (resultaten) (3) Beste, slechtste en zonder files: Ant Systems for dynamic problems
100 steden (probleem) (1) • Erg dynamisch vergeleken met 25 steden • 2 varianten: • 50 ‘units’ file (y=10) • 25 ‘units’ file (y=5) Ant Systems for dynamic problems
100 steden (probleem) (2) Ant Systems for dynamic problems
100 steden, 50 file (resultaat)(1) • Ranglijst: Shake 10, Shake 25, Nop, Shake, Reset • Informatie weggooien blijkt kostbaar! Ant Systems for dynamic problems
100 steden, 50 file (resultaat)(2) Ant Systems for dynamic problems
100 steden, 25 file (resultaat)(1) • Ranglijst:Shake25, Shake10, Nop, Shake, Reset • Bijna zelfde resultaten Ant Systems for dynamic problems
100 steden, 25 file (resultaat)(2) Ant Systems for dynamic problems
Verschillen (tussen de 100 steden problemen) • ‘25 file’ beter resultaat dan ‘50 file’ (3.36 beter) • ‘25 file’ komt dichter bij omslagpunt • ‘25 file’ verliest minder per tijdseenheid • ‘25 file’ gemiddeld slechter dan een triviaal ander algoritme. Ant Systems for dynamic problems
Inhoud • Probleemomschrijving • Travelling Salesman Problem (TSP) • Classic Ant System • Ant Systems for Dynamic TSP • Experimenten • Conclusies en Aanbevelingen Ant Systems for dynamic problems
Conclusies ... • Ant Systems presteren heel behoorlijk op dynamische problemen. • Toevoegen van minimum geur-niveau en shaking verbetert de prestaties van Ant Systems dynamische problemen. • Hoe dynamischer het probleem, hoe interessanter shaking is. • Niet alle soorten dynamische problemen zijn even geschikt om op te lossen met AS-DTSP. Ant Systems for dynamic problems
... en Aanbevelingen • Erg veel parameters in het spel: beter onderzoeken. • Proberen problemen te classificeren en op basis daarvan een algoritme te gebruiken. • Prestaties van AS-DTSP op statische problemen onderzoeken. Ant Systems for dynamic problems
Vragen? Ant Systems for dynamic problems