The Postmans Problem. LOG530 Distribusjonsplanlegging 2 2 Mista har fått i oppdrag å vedlikeholde veiene i landsdelen. Dette er et eksempel på den klassiske.

Slides:



Advertisements
Liknende presentasjoner
12.Studienreise nach Finnland,
Advertisements

Litt mer om PRIMTALL.
Hva er PRIMTALL?.
The Travelling Salesperson. LOG530 Distribusjonsplanlegging 2 2 Et forsyningsskip skal starte fra VestBase for å betjene 10 forskjellig installasjoner.
Korteste vei. LOG530 Distribusjonsplanlegging 2 2 Ofte står en overfor ønsket om å finne korteste kjørerute fra et gitt utgangspunkt til et ønsket bestemmelsessted.
Komplett avstandstabell. LOG530 Distribusjonsplanlegging 2 2 Noen ganger er det behov for en komplett avstandstabell mellom alle nodene i et nettverk.
Øvingsforelesning 9 Flytnettverk, maksimum flyt og maksimum bipartitt matching Jon Marius Venstad Redigert og forelest av Gleb Sizov.
Omlasting, direkteleveranser og flere vareslag. LOG530 Distribusjonsplanlegging 2 2 Vi har nå utvidet nettverket med flere vareslag. Vi har samme distribusjonsnett.
Kundekrav og restordrer. LOG530 Distribusjonsplanlegging 2 2 Vi endrer litt på kundeønskene i eksempel 8, og bruker kapasiteter og etterspørsel fra eksempel.
Gjenfinningssystemer og verktøy II
Kapittel 14 Simulering.
Forside Korteste sti BFS Modifikasjon Dijkstra Eksempel Korrekthet Analyse Øving Spørsmål Dijkstras algoritme Åsmund Eldhuset asmunde *at* stud.ntnu.no.
Dijkstras algoritme Åsmund Eldhuset asmunde *at* stud.ntnu.no
Øvingsforelesning 9 Flytnettverk, maksimum flyt og
Eksempel AOA (Activity On Arc)
INF 295 Forelesning 15 - kap 9 Grafer Hans Fr. Nordhaug (Ola Bø)
Lokalisering av avfallsanlegg - størst minsteavstand.
Minimal Spanning Tree. LOG530 Distribusjonsplanlegging 2 2 Nettverket viser avstanden mellom 8 noder, der nodene A – G beskriver oljefelt som skal knyttes.
Sikreste vei. LOG530 Distribusjonsplanlegging 2 2 Noen ganger står en overfor ønsket om å finne sikreste kjørerute fra et gitt startpunkt til et ønsket.
Ubalansert nettverk med felles produksjonsressurser.
Lokalisering av mobilmaster. LOG530 Distribusjonsplanlegging 2 2 NetVik strever med å fullføre sin utbygging av UTMS nettet sitt. I Glemnes kommune er.
Lokalisering og max totalavstand. LOG530 Distribusjonsplanlegging 2 2 Anta at nettverket angir en region hvor McBurger skal opprette 3 konkurrerende utsalg.
Reiserute med maksimal opplevelse. LOG530 Distribusjonsplanlegging 2 2 I følgende eksempel er det en turist som ønsker å velge kjøreruten med mest severdigheter,
Distribusjon i nettverk. LOG530 Distribusjonsplanlegging 2 2 Her har vi en situasjon med 2 leverandører, lokalisert i node 1 og 2, med et tilbud på hhv.
LOG530 Distribusjonsplanlegging
Maksimal gjennomstrømming. LOG530 Distribusjonsplanlegging 2 2 StartOil må transportere store mengder utstyr og materialer til utbyggingen av et nytt.
Omlasting og direkteleveranser. LOG530 Distribusjonsplanlegging 2 2 Vi har nå utvidet nettverket med direkteleveranser. Distribusjonen går enten via lagrene.
LOG530 Distribusjonsplanlegging
Inndelingsproblemer. LOG530 Distribusjonsplanlegging 2 2 Det skal opprettes veistasjoner som skal betjene 8 distrikter. De 4 aktuelle lokaliseringene.
LOG530 Distribusjonsplanlegging
Transport fra lager til kunder. LOG530 Distribusjonsplanlegging 2 2 Lager 1 Lager 1 Lager 2 Lager 2 Lager 3 Lager 3 Kunde 1 Kunde 1 Kunde 2 Kunde 2 Kunde.
P-MP modeller. LOG530 Distribusjonsplanlegging 2 2 Det skal opprettes p fasiliteter (lager) for å betjene en gitt mengde kunder. Kundenodene er også potensielle.
Omlasting, direkteleveranser og kundekrav. LOG530 Distribusjonsplanlegging 2 2 Vi gjeninnfører muligheter for direkteleveranser, og går tilbake til data.
Lokalisering av avfallsanlegg - størst totalavstand.
Lokalisering og minimum maxavstand. LOG530 Distribusjonsplanlegging 2 2 I mange situasjoner ønsker en å finne lokaliseringer som minimerer maksimalavstanden.
Tildeling av snødeponeringssted. LOG530 Distribusjonsplanlegging 2 2 Kommunen skal kommende vinter frakte snø fra 10 soner til 5 deponeringssteder. Snøen.
UFLP modeller. LOG530 Distribusjonsplanlegging 2 2 Det skal opprettes p fasiliteter (lager) for å betjene en gitt mengde kunder. Kundenodene er også potensielle.
P-CP modeller. LOG530 Distribusjonsplanlegging 2 2 Det skal opprettes p fasiliteter for å betjene en gitt mengde kunder. Kundenodene er også potensielle.
Lokalisering av transformatorstasjon. LOG530 Distribusjonsplanlegging 2 2 Nistad Kraft skal levere kraft til 8 nye boligfelt, og mottakertransformatorene.
LOG530 Distribusjonsplanlegging
Dekningsproblemer. LOG530 Distribusjonsplanlegging 2 2 Det skal opprettes veistasjoner som skal betjene 8 distrikter. De 4 aktuelle lokaliseringene for.
Lokalisering av samlestasjon for oljebrønner. LOG530 Distribusjonsplanlegging 2 2 StartOil har boret to nye brønner på havbunnen utenfor Midt-Norge, og.
Lokaliseringsmodell med kapasitetsbegrensinger. LOG530 Distribusjonsplanlegging 2 2 Det skal opprettes p fasiliteter (lager) for å betjene en gitt mengde.
Målprogrammering. LOG530 Distribusjonsplanlegging 2 2 Vi fortsetter eksempel 10.2, men vil nå se på oppfyllelse av flere mål samtidig. Målprogrammering.
Maks resultat og maks oppfylte kundekrav. LOG530 Distribusjonsplanlegging 2 2 Vi fortsetter eksempel 9, men benytter nå nettopriser for varene. (Antar.
Klargjøring fra forrige gang
Kap 06 Diskrete stokastiske variable
Komplekse tall Naturlige tall
Øvingsforelesning 9 - Børge Rødsjø
Kap 10 Graf.
Skriv om slik at setningene betyr omtrent det samme
PowerPoint laget av Bendik S. Søvegjarto Konsept, tekst og regler av Skage Hansen.
SINTEF Teknologi og samfunn PUS-prosjektet Jan Alexander Langlo og Linda C. Hald 1 Foreløpig oppsummering – underlag for diskusjon på PUS-forum
INF 295 Forelesning 16 - kap 9 Minimalt spenntre og korteste vei i grafer Hans Fredrik Nordhaug (Ola Bø)
GRØNNALGER BRUNALGER RØDALGER
1 BM-dagen 29.okt BM1 Fysisk miljøplanlegging Studieprogram for Bygg- og miljøteknikk Meny Prosjektoppgaven Arealbruk og befolkning Transport og.
Anvendt statistisk dataanalyse i samfunnsvitenskap
Figur 1 Behov. Figur 2 Behov Figur 3 Prioritering/ressursinnsats.
Lokalisering i to-delt graf. LOG530 Distribusjonsplanlegging 2 2 Vi skal nå beskrive en transhipmentmodell med to varesorter som skal leveres fra to fabrikker.
Magnus Haug Algoritmer og Datastrukturer
Maks oppfylte kundekrav og maks resultat. LOG530 Distribusjonsplanlegging 2 2 Vi fortsetter eksempel 10.1, men gjør trinnene i motsatt rekkefølge: max.
Inflation og produktion 11. Makroøkonomi Teori og beskrivelse 4.udg. © Limedesign
Lokalisering og betjening av greiner. LOG530 Distribusjonsplanlegging 2 2 Mista har fått i oppdrag å vedlikeholde veiene i landsdelen. De må derfor opprette.
Befolkning og arbejdsmarked 7. Mikroøkonomi Teori og beskrivelse © Limedesign
Sett inn preposisjoner eller adverb som passer.
UFLP modeller. LOG530 Distribusjonsplanlegging 2 2 Det skal opprettes p fasiliteter (lager) for å betjene en gitt mengde kunder. Kundenodene er også potensielle.
Lokalisering og max minimumavstand. LOG530 Distribusjonsplanlegging 2 2 Anta at nettverket angir en region hvor McBurger skal opprettes 3 konkurrerende.
Korteste vei. LOG530 Distribusjonsplanlegging 2 2 Ofte står en overfor ønsket om å finne korteste kjørerute fra et gitt utgangspunkt til et ønsket bestemmelsessted.
LOG530 Distribusjonsplanlegging
LOG530 Distribusjonsplanlegging
Utskrift av presentasjonen:

The Postmans Problem

LOG530 Distribusjonsplanlegging 2 2 Mista har fått i oppdrag å vedlikeholde veiene i landsdelen. Dette er et eksempel på den klassiske problemstillingen ”The Postmans Problem” – alle veiene må gås minst en gang. Hvilken sekvens bør velges for å minimere total tilbakelagt avstand? The Postmans Problem Finn den beste rute for en lastbærer som skal betjene alle greinene i et nettverk en og bare en gang, når man starter i en vilkårlig node og skal vende tilbake til den samme noden.

LOG530 Distribusjonsplanlegging 3 3 The Postmans Problem Vi vil betrakte urettede grafer med symmetriske kostnader. Grafene er sammenhengende og vanligvis ikke komplette. Merk følgende om nodene i grafene:  Graden til en node angir antall greiner knyttet til noden.  Jamn node: hvis antall greiner er et partall.  Odde node: hvis antall greiner er et odde tall.  Euler-graf: En graf med bare jamne noder Vi ser at for eksempel node 1 er odde (grad = 3), mens node 6 er jamn (grad = 4). Ettersom ikke alle nodene er jamne så er dette ikke en Euler-graf.

LOG530 Distribusjonsplanlegging 4 4 The Postmans Problem 1.En Euler tur er en sekvens av noder og greiner annenhver gang som starter med en vilkårlig node, bruker alle greiner én og bare én gang og avsluttes i samme node som den startet. 2.Følgelig vil en Euler tur løse problemet, men: En sammenhengende graf inneholder minst en Euler tur hvis og bare hvis grafen er en Euler graf. 3.Legg merke til at nodene kan besøkes så mange ganger vi ønsker. Kravet til antall besøk er bare knyttet til greinene. 4.Hvis grafen ikke er en Euler graf kan ikke problemet løses. Dvs. minst en grein må da besøkes minst to ganger. 5.I en Euler graf vil det alltid finnes én Euler tur, vanligvis finnes den mange Euler turer. 6.Kostnadene ved alle Euler turene vil imidlertid være den samme, siden alle greinene er med i turen bare én gang. Problemet er altså ikke å finne kostnaden for en Euler tur i en Euler graf, men å finne en Euler tur.

LOG530 Distribusjonsplanlegging 5 5 The Postmans Problem  Tur – vender alltid tilbake til utgangspunktet.  Spor – ender ikke alltid opp i utgangspunktet. La i k betegne en vilkårlig node, og g s betegne en vilkårlig grein.  Et spor S i en graf er en sekvens av noder og greiner annen hver gang som starter med en node og avsluttes i en node.  S: i 0 – g 0 – i 1 – g 1 – i 2 – – g k-1 – i k der alle greinene er forskjellige og hvor greinene i sporet knytter sammen nodene den er plassert i mellom. For å finne en Euler Tur i en Euler graf, kan vi benytte Eulers Algoritme 1:

LOG530 Distribusjonsplanlegging 6 6 The Postmans Problem Anta en Euler graf. Trinn 1:Velg en vilkårlig node i 0 i grafen. Trinn 2:Konstruer et spor S i grafen som starter i i 0 og avsluttes i i 0. Trinn 3:Finn den første noden i f i sporet S som er knyttet til en ubrukt grein (ikke i S) i grafen. Trinn 4:Konstruer et nytt spor T som starter i i f og slutter i i f og som ikke bruker greiner fra S. Trinn 5:La S = S+T ved å skyte det nye sporet T inn i den gamle S. Trinn 6:Gå til trinn 3 med det nye sporet S. Anta en Euler graf. Trinn 1:Velg en vilkårlig node i 0 i grafen. Trinn 2:Konstruer et spor S i grafen som starter i i 0 og avsluttes i i 0. Trinn 3:Finn den første noden i f i sporet S som er knyttet til en ubrukt grein (ikke i S) i grafen. Trinn 4:Konstruer et nytt spor T som starter i i f og slutter i i f og som ikke bruker greiner fra S. Trinn 5:La S = S+T ved å skyte det nye sporet T inn i den gamle S. Trinn 6:Gå til trinn 3 med det nye sporet S. En slik prosedyre vil altså hjelpe oss til alltid å finne en løsning på postmannens problem. Ulempen er at prosedyren bare virker på Euler grafer.

Lo530 Distribusjonsplanlegging The Postmans Problem

Lo530 Distribusjonsplanlegging The Postmans Problem

Lo530 Distribusjonsplanlegging The Postmans Problem

Lo530 Distribusjonsplanlegging The Postmans Problem

Lo530 Distribusjonsplanlegging The Postmans Problem

Lo530 Distribusjonsplanlegging The Postmans Problem

Lo530 Distribusjonsplanlegging The Postmans Problem

Lo530 Distribusjonsplanlegging The Postmans Problem

LOG530 Distribusjonsplanlegging 15 The Postmans Problem Det er svært mange grafer som inneholder odde noder, og derfor ikke tilfredsstiller kravet til en Euler graf. Hvis grafen inneholder nøyaktig to odde noder kan vi imidlertid konstruere et Euler Spor. Et Euler spor i en graf starter i en node og slutter i en annen node og har med alle greinene i grafen en og bare en gang. En sammenhengende graf inneholder minst et Euler spor hvis og bare hvis grafen inneholder nøyaktig to odde noder. For å finne et Euler Spor i en graf, kan vi benytte Eulers Algoritme 2.

LOG530 Distribusjonsplanlegging 16 The Postmans Problem Anta en graf med nøyaktig to odde noder; i s og i t. Trinn 1:Velg en av de odde nodene som start, for eksempel i s. Trinn 2:Lag et spor S i grafen som starter med i s og slutter med den andre odde noden i t. Trinn 3:Finn den første noden i f i sporet S som er knyttet til en ubrukt grein (ikke i S) i grafen. Trinn 4:Konstruer et nytt spor T som starter i i f og slutter i i f og som ikke bruker greiner fra S. Trinn 5:La S = S+T ved å skyte det nye sporet T inn i den gamle S. Trinn 6:Gå til trinn 3 med det nye sporet S. Anta en graf med nøyaktig to odde noder; i s og i t. Trinn 1:Velg en av de odde nodene som start, for eksempel i s. Trinn 2:Lag et spor S i grafen som starter med i s og slutter med den andre odde noden i t. Trinn 3:Finn den første noden i f i sporet S som er knyttet til en ubrukt grein (ikke i S) i grafen. Trinn 4:Konstruer et nytt spor T som starter i i f og slutter i i f og som ikke bruker greiner fra S. Trinn 5:La S = S+T ved å skyte det nye sporet T inn i den gamle S. Trinn 6:Gå til trinn 3 med det nye sporet S. Også her vi kostnadene være den samme om det finnes et eller flere Euler spor i grafen. Men igjen er det ganske begrenset hvilke problemer vi er i stand til å løse, ettersom algoritmen krever at det finnes to og bare to odde noder i grafen.

Lo530 Distribusjonsplanlegging The Postmans Problem

Lo530 Distribusjonsplanlegging The Postmans Problem

Lo530 Distribusjonsplanlegging

Lo530 Distribusjonsplanlegging The Postmans Problem

Lo530 Distribusjonsplanlegging

Lo530 Distribusjonsplanlegging The Postmans Problem

Lo530 Distribusjonsplanlegging The Postmans Problem

Lo530 Distribusjonsplanlegging The Postmans Problem

LOG530 Distribusjonsplanlegging 25 The Postmans Problem Vi har hittil løst postmannens problem ved grafer med bare jamne noder, og med akkurat to odde noder. Da er det ikke nødvendig å gå noen veier to ganger. I alle andre grafer vil postmannen være nødt til å gå en eller flere greiner minst to ganger. Dette gir opphavet til en modifisert problemstilling, kalt The Chinese Postman Problem (CPP): Hvilke greiner må gås flere ganger, og hvordan finner man en tur – hvor alle greinene besøkes minst en gang, og man skal starte og slutte i samme node; slik at kostnadene blir minst mulig? The Chinese Postman Problem (CPP): Hvilke greiner må gås flere ganger, og hvordan finner man en tur – hvor alle greinene besøkes minst en gang, og man skal starte og slutte i samme node; slik at kostnadene blir minst mulig? Den kinesiske matematikeren Mei-Ku formulerte problemet først i Løsningsteknikken ble utviklet av Edmonds på 70-tallet, og kalles matching. Teknikken bygger på følgende generelle egenskap: Ved alle sammenhengende grafer er det alltid et jamt antall odde noder i en graf.

LOG530 Distribusjonsplanlegging 26 The Postmans Problem  Vi utvider grafen med nye greiner slik at de odde nodene parvis knyttes sammen.  Resultatet blir en Euler graf.  Matching: Hvilke eksisterende greiner bør benyttes for å pare de odde nodene?  De matchingene som samlet gir den rimeligste Euler turen er også de greinene som postmannen må gå to ganger.  Vi utvider grafen med nye greiner slik at de odde nodene parvis knyttes sammen.  Resultatet blir en Euler graf.  Matching: Hvilke eksisterende greiner bør benyttes for å pare de odde nodene?  De matchingene som samlet gir den rimeligste Euler turen er også de greinene som postmannen må gå to ganger. Anta n odde noder i en graf. Antall parvise matchinger blir da: Om vi har 6 odde noder er det altså i alt (6-1)(6-3)(6-5) = 15 ulike matchinger.

LOG530 Distribusjonsplanlegging 27 The Postmans Problem Her har vi 8 odde noder: 2, 3, 5, 8, 9, 12, 14 og 15. Anta at kostnadene loddrett = 1 og vannrett = Vi matcher da de odde nodene ved å doble enkelte greiner. De stiplede linjene (2-3), (5-9), (8-12) og (14-15) angir en mulig matching, som har en merkostnad på = 6. (Husk at vi her har i alt 105 mulige matchinger!)

LOG530 Distribusjonsplanlegging 28 The Postmans Problem Her er det 4 odde noder: A, B, C og D. Alle greiner har samme kostnad = 1. Minst kostnad: Fra A til B = 3 Fra A til C = 2 Fra A til D = 6 Fra B til C = 3 Fra B til D = 5 Fra C til D = 4 A B C D Vi kan altså velge matching 1 eller 2, som begge har den laveste kostnaden på 7. Om vi velger matching 1, så må vi legge til nye greiner mellom nodene (A-B) og (C-D). Da ender vi opp med en Euler graf, og kan lage en Euler tur. Eller vi kan velge å bare matche nodene (A-C) slik at vi får en graf med nøyaktig to odde noder. Dermed kan vi lage et Euler spor. 3 matchinger: 1.A-B og C-D: 3+4 = 7 2.A-C og B-D: 2+5 = 7 3.A-D og B-C: 6+3 = 9

LOG530 Distribusjonsplanlegging 29 Nodene 1, 2, 3, 4, 5 og 7 er odde noder. Dvs. vi må matche 3 par av noder for å få en Euler graf. Det er altså 15 mulige matchinger, og matching nr. 2 gir kortest ekstra lengde på 10. Det oppnår vi ved å matche node 1&3, node 2&4 og node 5&7. The Postmans Problem Siden summen av alle veistykkene er 91, og et veistykke på 10 må gåes 2 ganger, ender vi opp med en total lengde på 101 hvis vi skal starte og stoppe i samme node. Om vi derimot tillater å stoppe i en annen node enn der vi starter, så kan vi matche node 1&2 samt 3&5 og ende opp med et ekstra veistykke på 2+3 = 5, dvs. en totallengde på 96. Da står vi igjen med node 4 og 7 som odde noder, dvs. kandidater for start og stopp.

LOG530 Distribusjonsplanlegging 30 Her er grafen når vi matcher node 1&2 samt node 3&5. Vi kunne alternativt mathce node 1&2 samt 5&7 og få samme ekstra veilengde på 2+3=5, dvs. en totallengde på 91+5=96. Vi står altså igjen med node 4 og 7 som odde noder, de øvrige opprinnelige odde nodene er paret slik at de nå er jamne. Nå er vi klar for å finne et mulig Euler spor, og benytter Eulers algoritme 2. The Postmans Problem

LOG530 Distribusjonsplanlegging 31 Trinn 1. Velg en av de odde nodene som start, for eksempel i s. Her starter vi i node 7, den ene av de to gjenværende odde nodene. Trinn 2. Lag et spor S i grafen som starter med i s og slutter med den andre odde noden i t. Vi skal altså lage et spor som starter i node 7 og stopper i node 4, for eksempel via node 5 og til 4. Dette blir nå spor S. Trinn 3. Finn den første noden i f i sporet S som er knyttet til en ubrukt grein (ikke i S) i grafen. Den første noden i sporet er node 7, og der er det ubrukte greiner. The Postmans Problem

LOG530 Distribusjonsplanlegging 32 Trinn 4. Konstruer et nytt spor T som starter i i f og slutter i i f og som ikke bruker greiner fra S. I neste figur har vi derfor lagt til et spor fra node 7 via 4, 2, 5 og 6 tilbake til 7. The Postmans Problem Trinn 5. La S = S+T ved å skyte det nye sporet T inn i den gamle S. I figuren til høyre har vi ”jukset” litt, og latt S = T+S, dvs. puttet det nye sporet inn før det gamle istedenfor til slutt. Dermed er de to greinene som opprinnelig var nummer 1 og 2 nå flyttet bakerst, og er blitt nummer 6 og 7 i figuren over. Vårt nye spor består altså foreløpig av: 7 – 4 – 2 – 5 – 6 – 7 – 5 – 4. Trinn 6. Gå til trinn 3 med det nye sporet S. Vi har fortsatt ubrukte greiner i node 7, og kan derfor lage et nytt spor derfra.

LOG530 Distribusjonsplanlegging 33 Trinn 3. Første node med ubrukte greiner er fortsatt node 7. The Postmans Problem Trinn 4. Vi konstruerer et nytt spor som starter i node 7 og går via node 9 og 8 tilbake til node 7. Dette blir det nye sporet T. Trinn 6. Gå tilbake til trinn 3 med det nye sporet. Trinn 5. Vi skyter inn det nye sporet T inn i det gamle, denne gangen etter den femte greinen. Det nye sporet S = S + T blir da slik: 7 – 4 – 2 – 5 – 6 – 7 – 9 – 8 – 7 – 5 – 4.

LOG530 Distribusjonsplanlegging 34 Trinn 3. Første node med ubrukt grein er nå node 2. The Postmans Problem Trinn 4. Vi konstruerer et nytt spor som går fra node 2 via node 1 tilbake til node 2. Dette blir det nye sporet T. Trinn 6. Gå tilbake til trinn 3 med det nye sporet. Trinn 5. Vi skyter inn det nye sporet etter den andre greinen. Det nye sporet S blir: 7 – 4 – 2 – 1 – 2 – 5 – 6 – 7 – 9 – 8 – 7 – 5 – 4.

LOG530 Distribusjonsplanlegging 35 Trinn 3. Første node med ubrukt grein er nå node 1. The Postmans Problem Trinn 4. Vi konstruerer nå et nytt spor som går fra node 1 via 3, 5, 8, 6, 3, 5 og tilbake til 1. Dette blir det nye sporet T. Inspeksjonen av veiene starter altså i node 7 og ender i node 4, og greinene mellom node 1 og 2 samt mellom node 3 og 5 må tilbakelegges to ganger. Totalavstanden fra blir da: 91+5=96. Trinn 5. Vi skyter inn det nye sporet etter den tredje greinen. Det nye sporet S blir da slik: 7 – 4 – 2 – 1 – 3 – 5 – 8 – 6 – 3 – 5 – 1 – 2 – 5 – 6 – 7 – 9 – 8 – 7 – 5 – 4.