De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Practicum I&M College deel 1 Docent: Marjan van den Akker Studentassistent: Leonard Tersteeg

Verwante presentaties


Presentatie over: "Practicum I&M College deel 1 Docent: Marjan van den Akker Studentassistent: Leonard Tersteeg"— Transcript van de presentatie:

1 Practicum I&M College deel 1 Docent: Marjan van den Akker Studentassistent: Leonard Tersteeg

2 Doel: Verkrijgen van programmeer-ervaring Kennismaking I&M vraagstuk Individuele programmeer-opdracht in Java

3 Krantenbezorgers op Manhattan: Opdracht Achtergrond Heuristieken (1) Werkwijze

4 Depot Opdracht Gegeven: –Centraal depot –Locaties kranten-abonnees –Krantenbezorgers

5 Opdracht (2) Ontwikkelen van java-tool voor: Bepalen en weergeven van routes voor de krantenbezorgers zodanig dat de kosten zo laag mogelijk zijn

6 Verplichte functionaliteit: Inlezen locaties depot en abonnees en tekenen op scherm Inlezen van gegeven routes en weergeven op scherm Bepalen van routes met cheapest insertion heuristiek Bepalen van routes met simulated annealing Gebruiker kan routes tekenen, en kosten worden weergegeven.

7 Optionele functionaliteit Wegschrijven van routes naar een file Interactief veranderen van routes Uitrekenen van routes met nearest neighbour heuristiek Alternatieve implementatie van simulated annealing of andere heuristiek Mooie user interface

8 Aannamen Locaties zijn gegeven door (x,y)-coördinaat. Afstand: Manhattan afstand D((a,b),(c,d))= |a-c| + |b-d| Er zijn 5 krantenbezorgers

9 Aannamen (2) Kostenw 1 T laatste krant + w 2 T gemiddeld T laatste krant tijdstip waarop laatste krant bezorgd is T gemiddeld gemiddeld bezorgtijdstip over alle klanten Tijdafstand

10 Routes 1.In simulated annealing worden routes veranderd. 2.Routes worden stapsgewijs opgebouwd en eventueel veranderd Daarom: Kies data-structuur voor route zodanig dat er makkelijk abonnees uitgehaald en toegevoegd kunnen worden.

11 Variant op Whizzkids prijsvraag:

12

13 Achtergrond –Routes plannen; welk route-plan heeft zo laag mogelijke kosten Abonnees verdelen over bezorgers Route bepalen per bezorger –Eén bezorger heeft met n abonnees heeft n! = n(n-1)(n-2) ….2.1 mogelijke routes.

14 NN!

15 Combinatorische optimalisering Heel veel oplossingen, welke is de beste? Exact de beste oplossing vinden: (slim) aftellen; heel veel rekentijd Heuristiek: vind redelijke oplossing in kortere tijd

16 Voorbeeld: Handelsreizigersprobleem (TSP) Gegeven: n steden D(i.,j) afstand van stad i naar stad j Wat is de kortste route langs alle steden?

17 Cheapest insertion heuristiek TSP Initialisatie: ga uit van tour met één punt Uitbreiding: i 0 i 1, i 2,…,i m,i 0 tour langs gedeelte van de steden. I.Bepaal voor elke stad j buiten de route hoeveel het kost om deze zo goedkoop mogelijk toe te voegen. Laat j* de stad zijn waarvoor deze kosten minimaal zijn. II.Voeg j* zo goedkoop mogelijk toe III.Als nog niet alle steden in de tour, ga naar stap I.

18 Cheapest insertion TSP (2) Toevoegen van stad j tussen i k en i k+1 kost I(j,k)=D(i k,j) + D(j,i k+1 ) – D(i k, i k+1 ) Toevoegen stad j toe op de goedkoopste manier: Bepaal k* waarvoor I(j,k) minimaal is Dus bepaal k* waarvoor: I(j,k*) = min k  {0,1,…,m} I(j,k) en voeg j tussen i k* en i k*+1 toe.

19 Cheapest insertion Manhattan 1.Verdeel abonnees in 5 groepen 2.Pas cheapest insertion heuristiek toe op elk van de groepen.

20 Cheapest insertion per groep Als bij TSP, abonnees zijn steden Kosten komen overeen met afstand Bezorger hoeft niet terug naar depot, dus geen volledige tour Ook mogelijk om abonnee aan het eind toe te voegen

21 Verdeel abonnees in 5 groepen x y Depot (x 0,y 0 ) (y-y 0 )  (x-x 0 )

22 Verdeel abonnees in groepen (2) x>x 0 : gesorteerd op (y-y 0 )  (x-x 0 ) x=x 0, y>y 0 x

23 Nearest neighbour heuristiek TSP Initialisatie: kies beginpunt Uitbreiding: i 1, i 2,…,i k route door gedeelte van de steden. Voeg toe: j met D(i k,j) minimaal.

24 Nearest neighbour Manhattan 1.Verdeel abonnees in 5 groepen als bij cheapest insertion 2.Pas nearest neighbour heuristiek toe op elk van de groepen.

25 Werkwijze: In te leveren: 1.Werkende programma-code: alle JCreator files, met commentaar, readme file ! 2.Verslag –Samenvatting opdracht –Klasse-structuur –Evaluatie In zip archief via submit (opgave 26): Programma moet mondeling worden toegelicht

26 Beoordeling Werking van het programma Structuur Commentaar User interface Milestones Mondelinge toelichting

27 Planning Opdracht uit te voeren in 7 weken Effort: 160 uur = 7 x 23 uur Inleverdatum: Uiterlijk vrijdag 28 juni uur !!!!! Anders herkansing!!

28 Milestones: 22 mei: abonnees inlezen en tekenen 6 juni: routes inlezen, weergeven, cheapest insertion 20 juni: simulated annealing Functionaliteit af aan begin practicum Demonsteren en eventueel toelichten Milestone missen = minpunten eindcijfer

29 Hints Maak EERST een opzet (klasse-structuur), in te leveren bij eerste milestone! Versie management !! Stel werk niet uit!! Beste oplossing: fles wijn !!!!

30 Vragen Begeleid practicum: –Maandag 15-17, BBL 456,458 (week 22-26) –Woensdag 9-11, BBL 456,458 (week 20, 21) –Donderdag 15-17, BBL 456,458 (week 20-26) Student-assistent: java, computer Docent: opzet, algoritmen

31 Veel succes !!!


Download ppt "Practicum I&M College deel 1 Docent: Marjan van den Akker Studentassistent: Leonard Tersteeg"

Verwante presentaties


Ads door Google