Backlog De openstaande stories
Studenten Clermond de Hullu Wiebren Wolthuis Simon Wels Maik Gosenshuis MDL-‐referentie D09
Versiebeheer Versie 0.1 0.2 0.3 0.4
Datum 06-‐10-‐09 28-‐10-‐09 28-‐10-‐09 05-‐11-‐09
Wijzigingen Eerste opzet voor het document. Aanpassingen n.a.v. het onderzoek. Stories mierenkolonie toegevoegd. Document bijgewerkt n.a.v. voortgang en onderzoek sprint 2
Door wie Team Clermond Team Maik
2
Inhoudsopgave Inleiding ............................................................................................................................. 4 Genetisch algoritme ........................................................................................................... 5 Handmatig focuspunt genetisch algoritme aangeven (10) ............................................................5 Greedy Subtour Crossover (15) ....................................................................................................5 Verbeterde mutatie (2-‐opt) (10)...................................................................................................5 Control panel genetisch algoritme (5) ..........................................................................................6 Mierenkolonieoptimalisatie ............................................................................................... 7 Algoritme mierenkolonie implementeren (9) ...............................................................................7 Instellen parameters van het mierenkolonie algoritme in de GUI (2)............................................7 Bewegingen mierenkolonie tonen in de GUI (5) ...........................................................................7 Kort onderzoek naar instelbare parameters (4)............................................................................8 Algemeen........................................................................................................................... 9 Pause/Resume (8)........................................................................................................................9 Zoomen (3) ..................................................................................................................................9
3
Inleiding In dit document staan de story’s uit te backlog waaruit gekozen kan worden tijdens de eerstvolgende sprint meeting. De story’s zijn gegroepeerd per algoritme.
4
Genetisch algoritme Handmatig focuspunt genetisch algoritme aangeven (10) Afhankelijk van de story Live GUI en Basis genetisch algoritme Beschrijving Tijdens het zoeken van een oplossing is het mogelijk om de oplossing te bekijken. Dan is de kans groot dat de gebruiker precies kan zien waar de oplossing nog niet optimaal is. Als de gebruiker dan dit gebied selecteert zal het algoritme dit gebied meer prioriteit geven zodat dit snel bijgewerkt wordt. Door de selectie van het aantal punten te beperken tot een klein aantal, kan bovendien de eerder geïmplementeerde brute force oplossing ingezet worden om het deelprobleem op te lossen. Demo klant De gebruiker kan tijdens het zoeken van een oplossing een gebied selecteren en zien dat dit gebied dan meer prioriteit heeft dan de rest van de punten op de plattegrond.
Greedy Subtour Crossover (15) Beschrijving Het huidige genetisch algoritme zorgt voor een oplossing, maar dit duurt lang en stagneert op een bepaald punt. We willen de crossover gaan verbeteren door de methode die in een artikel uit de jaren 90 wordt voorgesteld: http://www.gcd.org/sengoku/docs/arob98.pdf. Het algoritme dat hierin beschreven is, is vele malen sneller dan de onze, door slimmere mutatie en crossover. Demo klant We zullen demonstreren dat het draaien van het geoptimaliseerde algoritme in dezelfde tijd als de vorige versie een aanzienlijk betere oplossing levert.
Verbeterde mutatie (2-opt) (10) Beschrijving De mutatiestap in ons genetische algoritme gebeurt op dit moment door volledig willekeurig twee punten te verwisselen. Uiteraard is hier nog veel te winnen, door het wisselen van deze punten slimmer te doen. Demo klant We zullen demonstreren dat het draaien van het geoptimaliseerde algoritme in dezelfde tijd als de vorige versie een aanzienlijk betere oplossing levert.
5
Control panel genetisch algoritme (5) Beschrijving Een genetisch algoritme heeft een aantal instellingen die de performance van het algoritme beïnvloeden. Met deze story is het mogelijk de volgende instellingen aan te passen terwijl het algoritme aan het zoeken is naar een oplossing. *Niet alle instellingen worden direct geïmplementeerd. Dit gebeurt in samenhang met het algoritme. Zodra een optie in het algoritme beschikbaar is zal deze optie ook instelbaar gemaakt worden. Instellingen: Mutatie In procenten instelbaar hoe groot de kans is dat het algoritme een oplossing zal muteren. Instellingen: Populatiegrootte Hiermee is het mogelijk om de grootte van de populatie instelbaar te maken. Instellingen: Groepsgrootte Tijdens de selectiestap van het algoritme wordt een willekeurige groep van deze ingestelde grootte gemaakt, waarvan de twee beste oplossingen samen weer twee kinderen opleveren via crossover en mutatie. Instellingen: Maximaal aantal stappen Hiermee is het mogelijk in te stellen hoeveel stappen het algoritme maximaal mag doorlopen. Als dit aantal stappen bereikt is zal het algoritme stoppen. Demo klant De klant kan de instellingen aanpassen en visueel zien dat het algoritme zich anders gaat gedragen aan de hand van de gekozen instellingen.
6
Mierenkolonieoptimalisatie Algoritme mierenkolonie implementeren (9) Beschrijving Binnen deze story zullen we het mierenkolonie algoritme implementeren. Dit algoritme zal binnen redelijke tijd een benaderingsoplossing geven voor het Manhattan probleem. Demo klant Het algoritme zal tijdens het draaien in de GUI steeds de huidige beste oplossing laten zien. Zodra er een betere oplossing gevonden wordt, wordt de GUI bijgewerkt.
Instellen parameters van het mierenkolonie algoritme in de GUI (2) Beschrijving In een venster binnen de GUI zullen verschillende parameters in te stellen zijn. Hieronder vallen in ieder geval • • • •
Heuristiek Het aantal mieren De sterkte van de feromonen Hoe vaak de mieren door graaf lopen (het aantal iteraties)
Demo klant De oplossing zal tekstueel in de GUI weergegeven worden. Hierin zal het resultaat moeten verschillen ten opzichte van een vorige uitvoer met andere parameters.
Bewegingen mierenkolonie tonen in de GUI (5) Beschrijving Er wordt live in de GUI getoond welke paden de mieren kiezen om zo een indruk te krijgen van wat het algoritme nu precies doet. Demo klant Er wordt een demo gegeven die de nieuwe functionaliteit aantoont.
7
Kort onderzoek naar instelbare parameters (4) Beschrijving Omdat de verschillende instellingen van de parameters waarvan het algoritme gebruikt maakt het eindresultaat beïnvloeden is het handig om te weten welke instellingen het meest gunstig zijn voor ons probleem. Demo klant Mits de story Bewegingen mierenkolonie tonen in de GUI en de story Instellen parameters algoritme in de GUI voltooid zijn kan er een demo gegevens worden van de invloed die de verschillende parameters hebben in de GUI. Is dit niet het geval dan voldoet het document als demo.
8
Algemeen Pause/Resume (8) Beschrijving Het kan zijn dat een gebruiker tijdens het zoeken van een oplossing tijdelijk de applicatie wil pauzeren om bijvoorbeeld de computer opnieuw op te starten. Met deze story is het dan mogelijk om de huidige staat van het algoritme op te slaan zodat later hiermee verder gegaan kan worden. Demo klant Tijdens het zoeken van een oplossing zal de applicatie gepauzeerd worden. Vervolgens zal de applicatie afgesloten worden. En daarna zal de applicatie verder kunnen gaan waar hij gebleven van.
Zoomen (3) Beschrijving Om een duidelijker beeld te krijgen van bepaalde knelpunten in de gevonden route, moet het mogelijk worden om met behulp van een plus-‐ en min-‐knop in en uit te zoomen. Dit is onder andere nuttig bij het aangeven van het focuspunt van het algoritme, en om duidelijkheid te krijgen van het verloop van de route bij dicht bij elkaar gelegen adressen. In-‐ en uitzoomen zal steeds met een factor van 1.5 gebeuren. Er zullen tevens zinnige boven-‐ en ondergrenzen gedefinieerd worden, zodat niet oneindig doorgezoomd kan worden. Demo klant Tijdens de demo zal enkele stappen in-‐ en uitgezoomd worden. Daarnaast zullen de boven-‐ en ondergrenzen getoond worden; deze kunnen indien gewenst ter plekke bijgesteld worden.
9