ant systems for dynamic problems
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 PresentationTRANSCRIPT
Ant Systems for dynamic problems
Ant Systems for dynamic problems
Ants caught in a traffic jam
Casper Joost Eyckelhof
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
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 Duitsland22.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 oplossingen
4 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 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
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
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
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
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
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
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.)
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 zoveelEerst 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)
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
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)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!
Ant Systems for dynamic problems
100 steden, 50 file (resultaat)(2)
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
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?