Ant Systems for dynamic problems

44
Ant Systems for dynamic p roblems

description

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. - PowerPoint PPT Presentation

Transcript of Ant Systems for dynamic problems

Page 1: Ant Systems for dynamic problems

Ant Systems for dynamic problems

Page 2: Ant Systems for dynamic problems

Ant Systems for dynamic problems

Ants caught in a traffic jam

Casper Joost Eyckelhof

Page 3: Ant Systems for dynamic problems

Ant Systems for dynamic problems

Inhoud

• Probleemomschrijving

• Travelling Salesman Problem (TSP)

• Classic Ant System

• Ant Systems for Dynamic TSP

• Experimenten

• Conclusies en Aanbevelingen

Page 4: Ant Systems for dynamic problems

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

Page 5: Ant Systems for dynamic problems

Ant Systems for dynamic problems

Inhoud

• Probleemomschrijving

• Travelling Salesman Problem (TSP)

• Classic Ant System

• Ant Systems for Dynamic TSP

• Experimenten

• Conclusies en Aanbevelingen

Page 6: Ant Systems for dynamic problems

Ant Systems for dynamic problems

Travelling Salesman ProblemHandelsreizigersprobleem

• Wat is het Travelling Salesman Problem?

• Waarom Travelling Salesman Problem?

• Wat is Dynamic TSP?

Page 7: Ant Systems for dynamic problems

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

Page 8: Ant Systems for dynamic problems

Ant Systems for dynamic problems

Voorbeeld: 4 steden

Page 9: Ant Systems for dynamic problems

Ant Systems for dynamic problems

Voorbeeld: 15112 steden

15112 steden in Duitsland22.6 jaar rekentijd (op 500MHz)

Page 10: Ant Systems for dynamic problems

Ant Systems for dynamic problems

Waarom Travelling Salesman Problem?

• Makkelijk voor te stellen

• Moeilijk op te lossen• (n-1)! / 2 mogelijke oplossingen

4 steden: 3 oplossingen10 steden: 181440 oplossingen100 steden: 4.6663 * 10155 oplosssingen

• Sluit goed aan bij Ant Systems

Page 11: Ant Systems for dynamic problems

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

Page 12: Ant Systems for dynamic problems

Ant Systems for dynamic problems

Inhoud

• Probleemomschrijving

• Travelling Salesman Problem (TSP)

• Classic Ant System

• Ant Systems for Dynamic TSP

• Experimenten

• Conclusies en Aanbevelingen

Page 13: Ant Systems for dynamic problems

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

Page 14: Ant Systems for dynamic problems

Ant Systems for dynamic problems

Page 15: Ant Systems for dynamic problems

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 ForFor k = 1 to m do Place ant k on a randomly chosen cityEnd ForLet T+ be the shortest tour found from beginning and L+ its length/* Main loop */For t = 1 to tmax do 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 e

ij (t) where

and

End For For every edge (i,j) do ij (t+1) = ij (t) End ForEnd ForPrint 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

Jj if ,][)]([

][)]([)(

J

t

tt

k

il

ilil

ijijk

ijp

),()(1

tt ij

km

kij

otherwise

tT kjiiftLkQtij

k

,0

)(),(),(/)( {

,,0

;),(,/)( {

otherwiseTjiifLQ

tij

e

Page 16: Ant Systems for dynamic problems

Ant Systems for dynamic problems

Ant System: Algoritme (2)keuze volgende stad

Jj if ,][)]([

][)]([)(

J

t

tt

k

il

ilil

ijijk

ijp

Jj if ,0)( tpk

ij

Page 17: Ant Systems for dynamic problems

Ant Systems for dynamic problems

Ant System: Algoritme (3)aanpassen geursporen

ij (t+1) = (1 - ) ij (t) + ij (t) + e eij (t)

),()(1

tt ij

km

kij

otherwise

tT kjiiftLkQtij

k

,0

)(),(),(/)( {

,,0

;),(,/)( {

otherwiseTjiifLQ

tij

e

Page 18: Ant Systems for dynamic problems

Ant Systems for dynamic problems

Inhoud

• Probleemomschrijving

• Travelling Salesman Problem (TSP)

• Classic Ant System

• Ant Systems for Dynamic TSP

• Experimenten

• Conclusies en Aanbevelingen

Page 19: Ant Systems for dynamic problems

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.

Page 20: Ant Systems for dynamic problems

Ant Systems for dynamic problems

Voorbeeld

Lengte: 48.28

Nieuwe ronde (45)45.1Stad = 1 kans array = [0,50,0,50]. Kansvalue =62Stad = 4 kans array = [0,0,100,0]. Kansvalue =79Stad = 3 kans array = [0,100,0,0]. Kansvalue =4545.2Stad = 2 kans array = [97,0,2,0]. Kansvalue =63Stad = 1 kans array = [0,0,0,100]. Kansvalue =46Stad = 4 kans array = [0,0,100,0]. Kansvalue =3745.3Stad = 3 kans array = [0,2,0,97]. Kansvalue =23Stad = 4 kans array = [100,0,0,0]. Kansvalue =71Stad = 1 kans array = [0,100,0,0]. Kansvalue =5945.4Stad = 4 kans array = [50,0,50,0]. Kansvalue =6Stad = 1 kans array = [0,100,0,0]. Kansvalue =83Stad = 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: 49

Page 21: Ant Systems for dynamic problems

Ant Systems for dynamic problems

Mogelijke oplossing

• De kansen voor bepaalde wegen worden 0 omdat de hoeveelheid geurstof () 0 wordt.

Jj if ,][)]([

][)]([)(

J

t

tt

k

il

ilil

ijijk

ijp

• Oplossing: geef een minumum waarde

Page 22: Ant Systems for dynamic problems

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 geurstofop verschillende wegen.

(Soms factor 10 miljoen of meer.)

Page 23: Ant Systems for dynamic problems

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

Page 24: Ant Systems for dynamic problems

Ant Systems for dynamic problems

Shaking (2)

Voorbeelden:Eerst 1000x zoveel, nu 7x zoveelEerst 10000000x zoveel, nu 17x zoveel

Page 25: Ant Systems for dynamic problems

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%

Page 26: Ant Systems for dynamic problems

Ant Systems for dynamic problems

Inhoud

• Probleemomschrijving

• Travelling Salesman Problem (TSP)

• Classic Ant System

• Ant Systems for Dynamic TSP

• Experimenten

• Conclusies en Aanbevelingen

Page 27: Ant Systems for dynamic problems

Ant Systems for dynamic problems

Experimenten

• 25 steden, weinig files

• 100 steden, veel files• korte files (25 units)• langere files (50 units)

Page 28: Ant Systems for dynamic problems

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

Page 29: Ant Systems for dynamic problems

Ant Systems for dynamic problems

25 steden (probleem)

• 2 dynamische periodes

Page 30: Ant Systems for dynamic problems

Ant Systems for dynamic problems

25 steden (gedrag)

Page 31: Ant Systems for dynamic problems

Ant Systems for dynamic problems

25 steden (resultaten) (1)

1 (100-) 2 (100+) 3 (200-) 4 (200+) 5 (end)

Nop 452.7 485.2 465.4 498.7 440.1Reset 449.6 483.6 461.2 480 441.6Shake 452.4 472 461.8 481.8 441.9Shake 10% 450.4 477.7 463 489 443.4Shake 25% 443.9 479.5 465 485 440.6

Page 32: Ant Systems for dynamic problems

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

Page 33: Ant Systems for dynamic problems

Ant Systems for dynamic problems

25 steden (resultaten) (3)Beste, slechtste en zonder files:

Page 34: Ant Systems for dynamic problems

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)

Page 35: Ant Systems for dynamic problems

Ant Systems for dynamic problems

100 steden (probleem) (2)

Page 36: Ant Systems for dynamic problems

Ant Systems for dynamic problems

100 steden, 50 file (resultaat)(1)N Range Minimum Maximum Mean Std.

DeviationNOP 49990 94.68 778.54 873.23 813.8964 14.8659RESET 49990 95.93 778.54 874.47 815.4591 14.2296SHAKE 49990 98.74 779.28 878.03 815.6402 14.1116SHAKE10 49990 104.75 773.11 877.87 811.7543 14.4548SHAKE25 49990 100.34 776.05 876.40 812.6830 14.7713

• Ranglijst: Shake 10, Shake 25, Nop, Shake, Reset

• Informatie weggooien blijkt kostbaar!

Page 37: Ant Systems for dynamic problems

Ant Systems for dynamic problems

100 steden, 50 file (resultaat)(2)

Page 38: Ant Systems for dynamic problems

Ant Systems for dynamic problems

100 steden, 25 file (resultaat)(1)N Range Minimum Maximum Mean Std.

DeviationNOP 39591 80.57 773.78 854.35 809.5302 11.7317RESET 39591 79.48 779.57 859.06 811.9289 11.3013SHAKE 39591 76.90 774.89 851.79 811.2941 11.3859SHAKE10 39591 69.88 778.98 848.86 808.4210 11.5541SHAKE25 39591 78.48 775.37 853.84 808.3932 11.1364

•Ranglijst:

Shake25, Shake10, Nop, Shake, Reset•Bijna zelfde resultaten

Page 39: Ant Systems for dynamic problems

Ant Systems for dynamic problems

100 steden, 25 file (resultaat)(2)

Page 40: Ant Systems for dynamic problems

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.

Page 41: Ant Systems for dynamic problems

Ant Systems for dynamic problems

Inhoud

• Probleemomschrijving

• Travelling Salesman Problem (TSP)

• Classic Ant System

• Ant Systems for Dynamic TSP

• Experimenten

• Conclusies en Aanbevelingen

Page 42: Ant Systems for dynamic problems

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.

Page 43: Ant Systems for dynamic problems

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.

Page 44: Ant Systems for dynamic problems

Ant Systems for dynamic problems

Vragen?