1 / 44

Ant Systems for dynamic problems

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.

Download Presentation

Ant Systems for dynamic problems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ant Systems for dynamic problems

  2. Ant Systems for dynamic problems Ants caught in a traffic jam Casper Joost Eyckelhof

  3. Inhoud • Probleemomschrijving • Travelling Salesman Problem (TSP) • Classic Ant System • Ant Systems for Dynamic TSP • Experimenten • Conclusies en Aanbevelingen Ant Systems for dynamic problems

  4. 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

  5. Inhoud • Probleemomschrijving • Travelling Salesman Problem (TSP) • Classic Ant System • Ant Systems for Dynamic TSP • Experimenten • Conclusies en Aanbevelingen Ant Systems for dynamic problems

  6. Travelling Salesman ProblemHandelsreizigersprobleem • Wat is het Travelling Salesman Problem? • Waarom Travelling Salesman Problem? • Wat is Dynamic TSP? Ant Systems for dynamic problems

  7. 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

  8. Voorbeeld: 4 steden Ant Systems for dynamic problems

  9. Voorbeeld: 15112 steden 15112 steden in Duitsland 22.6 jaar rekentijd (op 500MHz) Ant Systems for dynamic problems

  10. 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

  11. 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

  12. Inhoud • Probleemomschrijving • Travelling Salesman Problem (TSP) • Classic Ant System • Ant Systems for Dynamic TSP • Experimenten • Conclusies en Aanbevelingen Ant Systems for dynamic problems

  13. 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

  14. Ant Systems for dynamic problems

  15. 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

  16. Ant System: Algoritme (2)keuze volgende stad Ant Systems for dynamic problems

  17. Ant System: Algoritme (3)aanpassen geursporen ij (t+1) = (1 - ) ij (t) + ij (t) + e eij (t) Ant Systems for dynamic problems

  18. Inhoud • Probleemomschrijving • Travelling Salesman Problem (TSP) • Classic Ant System • Ant Systems for Dynamic TSP • Experimenten • Conclusies en Aanbevelingen Ant Systems for dynamic problems

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. Shaking (2) Voorbeelden: Eerst 1000x zoveel, nu 7x zoveel Eerst 10000000x zoveel, nu 17x zoveel Ant Systems for dynamic problems

  25. 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

  26. Inhoud • Probleemomschrijving • Travelling Salesman Problem (TSP) • Classic Ant System • Ant Systems for Dynamic TSP • Experimenten • Conclusies en Aanbevelingen Ant Systems for dynamic problems

  27. Experimenten • 25 steden, weinig files • 100 steden, veel files • korte files (25 units) • langere files (50 units) Ant Systems for dynamic problems

  28. 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

  29. 25 steden (probleem) • 2 dynamische periodes Ant Systems for dynamic problems

  30. 25 steden (gedrag) Ant Systems for dynamic problems

  31. 25 steden (resultaten) (1) Ant Systems for dynamic problems

  32. 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

  33. 25 steden (resultaten) (3) Beste, slechtste en zonder files: Ant Systems for dynamic problems

  34. 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

  35. 100 steden (probleem) (2) Ant Systems for dynamic problems

  36. 100 steden, 50 file (resultaat)(1) • Ranglijst: Shake 10, Shake 25, Nop, Shake, Reset • Informatie weggooien blijkt kostbaar! Ant Systems for dynamic problems

  37. 100 steden, 50 file (resultaat)(2) Ant Systems for dynamic problems

  38. 100 steden, 25 file (resultaat)(1) • Ranglijst:Shake25, Shake10, Nop, Shake, Reset • Bijna zelfde resultaten Ant Systems for dynamic problems

  39. 100 steden, 25 file (resultaat)(2) Ant Systems for dynamic problems

  40. 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

  41. Inhoud • Probleemomschrijving • Travelling Salesman Problem (TSP) • Classic Ant System • Ant Systems for Dynamic TSP • Experimenten • Conclusies en Aanbevelingen Ant Systems for dynamic problems

  42. 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

  43. ... 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

  44. Vragen? Ant Systems for dynamic problems

More Related