Øvingsforelesning 9 - Børge Rødsjø

Slides:



Advertisements
Liknende presentasjoner
12.Studienreise nach Finnland,
Advertisements

Litt mer om PRIMTALL.
Bibeltime onsdag 8.januar Anne Birgitta L.K.. Luk.1, Men da Elisabet var i sjette måned, ble engelen Gabriel sendt fra Gud til en by i Galilea.
The Travelling Salesperson. LOG530 Distribusjonsplanlegging 2 2 Et forsyningsskip skal starte fra VestBase for å betjene 10 forskjellig installasjoner.
Managerial Decision Modeling Cliff Ragsdale 6. edition Rasmus RasmussenBØK350 OPERASJONSANALYSE1 Chapter 5 Network Modeling.
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.
Monopolistisk konkurranse og oligopol
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.
Kundekrav og restordrer. LOG530 Distribusjonsplanlegging 2 2 Vi endrer litt på kundeønskene i eksempel 8, og bruker kapasiteter og etterspørsel fra eksempel.
Kap 05 Betinget sannsynlighet
Forelesning nr.2 INF 1411 Elektroniske systemer
Forelesning nr.7 INF 1411 Oppsummeringsspørsmål Spørsmål fra forelesningene 1 til INF
Presentasjon Fylkesbiblioteket i Akershus. Spørreundersøkelse blant bibliotekansatte i Akershus. 1.
Gjenfinningssystemer og verktøy II
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
Forelesningsnotater SIF8039/ Grafisk databehandling
Øvingsforelesning 9 Flytnettverk, maksimum flyt og
1 Øvingsforelesning Andreas Knudsen Nils Grimsmo
Øvingsforelesning 12 Redusering av problemer,
Alg. Dat Øvingsforelesning 3 Grafer, BFS, DFS og hashing Børge Rødsjø
Lokalisering av avfallsanlegg - størst minsteavstand.
Reiserute med maksimal opplevelse. LOG530 Distribusjonsplanlegging 2 2 I følgende eksempel er det en turist som ønsker å velge kjøreruten med mest severdigheter,
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
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 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.
The Postmans Problem. LOG530 Distribusjonsplanlegging 2 2 Mista har fått i oppdrag å vedlikeholde veiene i landsdelen. Dette er et eksempel på den klassiske.
P-CP modeller. LOG530 Distribusjonsplanlegging 2 2 Det skal opprettes p fasiliteter for å betjene en gitt mengde kunder. Kundenodene er også potensielle.
LOG530 Distribusjonsplanlegging
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.
Kap 06 Diskrete stokastiske variable
Kap 10 Graf.
Skriv om slik at setningene betyr omtrent det samme
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 14 - kap 8 Disjunkt mengde ADT Hans Fr. Nordhaug (Ola Bø)
INF 295 Forelesning 16 - kap 9 Minimalt spenntre og korteste vei i grafer Hans Fredrik Nordhaug (Ola Bø)
INF 295 Forelesning 17 - kap 9 Korteste vei i grafer Hans Fr. Nordhaug (Ola Bø)
INF 295 Forelesning 18 - kap 9 Aktivitetsgrafer
INF 295 Forelesning 19 - Dynamisk programmering Korteste vei alle til alle (Floyd) Hans Fr. 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.
Hovedfagspresentasjon
Kostratall for tjenester Overhalla kommune Av seniorrådgiver Helge Holthe Kristiansund
Lokalisering i to-delt graf. LOG530 Distribusjonsplanlegging 2 2 Vi skal nå beskrive en transhipmentmodell med to varesorter som skal leveres fra to fabrikker.
INF 4130 Eksamen 2008 Gjennomgang.
Magnus Haug Algoritmer og Datastrukturer
Sett inn preposisjoner eller adverb som passer
Maks oppfylte kundekrav og maks resultat. LOG530 Distribusjonsplanlegging 2 2 Vi fortsetter eksempel 10.1, men gjør trinnene i motsatt rekkefølge: max.
Lokalisering og betjening av greiner. LOG530 Distribusjonsplanlegging 2 2 Mista har fått i oppdrag å vedlikeholde veiene i landsdelen. De må derfor opprette.
Alg. Dat Øvingsforelesning 11 Dynamisk programmering, grådighet
1 Trivsel Utvalg Trives svært godt Trives godt Trives litt Trives ikke noe særlig Trives ikke i det hele tatt Snitt Trivsel Brannfjell skole (Høst 2014)
Kapittel 1, oppgave i) Sett inn preposisjoner eller adverb som passer.
Sorterings- Algoritmer Algoritmer og Datastrukturer.
Befolkning og arbejdsmarked 7. Mikroøkonomi Teori og beskrivelse © Limedesign
Prioritetskøer Binære heaper Venstrevridde heaper (Leftist) Skeive heaper (Skew) Binomialheaper Fibonacciheaper Prioritetskøer er viktige i bla. operativsystemer.
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.
INF 295 Algoritmer og datastrukturer Forelesning 23 Kompleksitet Hans Fr. Nordhaug/ Ola Bø.
5702 Geografisk analyse Nettverksanalyse. Evaluering av nettverksstruktur Nettverksdiameter Diameteren på et nettverk representerer maksimum antall.
1 Øvingsforelesning 4 Topologisk sortering Minimale spenntrær Håkon Jacobsen
Utskrift av presentasjonen:

Øvingsforelesning 9 - Børge Rødsjø Flytnettverk, maksimal flyt og maksimal bipartitt matching Børge Rødsjø rodsjo@stud.ntnu.no 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Øvingsforelesning 9 - Børge Rødsjø Dagens tema Flytnettverk Terminologi Max-flow min-cut teoremet Ford-Fulkersons metode og algoritme Edmonds Karps algoritme Maksimal bipartitt matching Teoriøving 8: Floyd Warshall 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Terminologi: Flytnettverk En graf med kapasitet på kantene Ønsker å sende flyt fra en kildenode s (source) til en sluknode t (sink) 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Øvingsforelesning 9 - Børge Rødsjø Flytnettverk Eksempler Væske som flyter gjennom et rørsystem til en destinasjon Varer igjennom et varehus, produksjonslinjer Informasjon gjennom et datanettverk Strøm gjennom strømledninger 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Øvingsforelesning 9 - Børge Rødsjø Flytnettverk Flyt og kapasitet på kanter benevnes f/c Flyt inn i en node = flyt ut (untatt for s og t) f(v, u) = - f(u, v) f(u,v) = 4 c(u,v) = 5 f(v,u) = -4 c(v,u) = 0 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Øvingsforelesning 9 - Børge Rødsjø Residual nettverk En graf som viser hvor mye man kan øke flyten med, til man når kapasiteten på kantene Kalles Gf = (V,Ef) for flytnettverket G = (V,E) cf(u,v) er residualkapasiteten for en kant (u,v) Dvs. hvor mye mer flyt kan man sende over kanten før man når kapasiteten 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Øvingsforelesning 9 - Børge Rødsjø Residual nettverk cf(u,v) = c(u,v) – f(u,v) der f(u,v) er flyten for kanten (u,v) c(u,v) = 7 cf(u,v) = 7 – 3 = 4 f(u,v) = 3 cf(v,u) = 0 – (-3) = 3 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Øvingsforelesning 9 - Børge Rødsjø Residual nettverk Lettere å finne flytforøkende stier i Gf enn i G Flytforøkende sti er en sti fra s til t der alle kanter har tilgjengelig kapasitet 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Øvingsforelesning 9 - Børge Rødsjø Residual nettverk Lettere å finne flytforøkende stier i Gf enn i G Flytforøkende sti er en sti fra s til t der alle kanter har tilgjengelig kapasitet 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Superkilde og supersluk Hva hvis flytnettverket har flere kilder og flere sluker? Superkilde og supersluk 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Øvingsforelesning 9 - Børge Rødsjø Snitt i flytnettverk Vi kan dele opp grafen i to partisjoner, ved å ta et snitt (S,T), der mengden S inneholder kilden s og T inneholder sluken t Kan ha mange snitt på en graf 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Øvingsforelesning 9 - Børge Rødsjø Snitt-terminologi Flyt over et snitt: f(S,T) Flyt fra S til T: legges til f(S,T) Flyt fra T til S: trekkes fra f(S,T) Kapasitet over et snitt: c(S,T) Legger bare til kapasiteter fra S til T Minimums snitt (min-cut) på et flytnettverk: det snittet som har lavest kapasitet av alle snitt Netto flyt over ethvert snitt er det samme, nemlig flyten | f | 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Øvingsforelesning 9 - Børge Rødsjø Snitt i flytnettverk Partisjonerer flytnettverket i to deler: S = { s, u } T = { v, w, x, t } f(S,T) = 4 + 2 + 1 - 0 = 7 c(S,T) = 3 + 5 + 5 = 13 snitt1 er ikke et min-cut 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Max-flow min-cut teoremet Viktig! Max-flow min-cut teoremet Anta flytnettverk G = (V,E) med kilde s og sluk t. Da er følgende utsagn ekvivalente: f er maksimal flyt i G Residualnettverket Gf har ingen flytforøkende sti | f | = c(S,T) for et snitt (S,T) av G Et slikt snitt er et min-cut av G 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Max-flow min-cut teoremet G er fylt opp med maksflyt 9 Gf har ingen flytforøkende stier min-cut har kapasitet 9 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Max-flow min-cut teoremet min-cut angir en flaskehals i flytnettverket Kan ikke sende mer flyt igjennom nettverket enn det vi kan sende gjennom flaskehalsen Kan ikke finne noen flytforøkende sti over flaskehalsen 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Ford-Fulkerson metoden Ford-Fulkerson-Method(G, s, t) Initialiser all flyt f til 0 så lenge det finnes en flytforøkende sti p øk flyten f langs p returner f En generell metode for å finne maksimal flyt i et flytnettverk 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Ford-Fulkerson algoritmen Ford-Fulkerson(G, s, t) sett all flyt til 0 så lenge p er en sti fra s til t i Gf cf(p) = min{ cf(u,v) : (u,v) i p } for hver (u,v) i p f[u,v] = f[u,v] + cf(p) f[v,u] = -f[u,v] p er en flytforøkende sti cf(p) er residualkapasiteten til den ”minste” kanten i p Kjøretid O(E*| f’ |) Der f’ er maksflyten funnet i algoritmen 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Ford-Fulkerson algoritmen Eksempelkjøring av algoritmen Jukser litt, initialiserer ikke flyten til 0 først 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Ford-Fulkerson algoritmen Residualnettverk Etter flytforøkning Initialsteg | f | = 7 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Ford-Fulkerson algoritmen Residualnettverk Etter flytforøkning Flytforøkning | f | = 8 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Ford-Fulkerson algoritmen Residualnettverk Etter flytforøkning Flytforøkning | f | = 9 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Ford-Fulkerson algoritmen Residualnettverk Etter flytforøkning Ingen flere flytførkende stier | f | = 9 Vi har funnet maks-flyt og er ferdige 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Ford-Fulkerson algoritmen Algoritmen avhenger av hvordan man finner den flytforøkende stien p, fra s til t Ford-Fulkerson algoritmen kjører raskt hvis maksflyt er liten, men for stor |f’| blir kjøretiden O(E*|f’|) dårlig Hvis man bruker BFS til å finne flytforøkende sti i Gf, ender vi opp med Edmonds-Karps algoritme 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Edmonds-Karps algoritme Bruker BFS for å finne korteste flytforøkende sti i Gf, og øker flyten langs denne stien BFS kan finne korteste vei fra s til t, ved å ha enhetslengde på kantene (unit-length) Ellers er Edmonds-Karp slik som Ford-Fulkersons algoritme Kjøretid O(V*E2) 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Edmonds-Karps algoritme Edmonds-Karp(G, s, t) sett all flyt til 0 bruk BFS og finn korteste sti p, som går fra fra s til t i Gf cf(p) = min{ cf(u,v) : (u,v) i p } for hver (u,v) i p f[u,v] = f[u,v] + cf(p) f[v,u] = -f[u,v] p er en flytforøkende sti cf(p) er residualkapasiteten til den ”minste” kanten i p Kjøretid O(V*E2) 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Maksimal bipartitt matching Terminologi Hvordan finne maksimal bipartitt matching 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Maksimal bipartitt matching Hva er en bipartitt graf? En graf der nodene kan deles opp i to mengder L og R, slik at: Nodene i R bare har kanter til noder i L Nodene i L bare har kanter til noder i R 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Maksimal bipartitt matching Eksempel Jenter som skal danse med gutter, noen vil danse med mange, mens noen vil danse med bare én annen. Ikke lov til å danse med samme kjønn. Hvordan få flest mulig personer ut på dansegulvet? 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Maksimal bipartitt matching Hva er bipartitt matching? Anta G=(V,E) er en bipartitt graf, og M er en undermengde av E, slik at for grafen G’ = (V,M) holder følgende egenskap: For alle noder v i V, deg(v) ≤ 1 Så hver node kan ha maks 1 nabo Ønsker å maksimere |M| Maksimal bipartitt matching er når |M| er størst mulig 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Maksimal bipartitt matching G = (V,E) V = {a,b,c,d,e,f} M = {} |M| = 0 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Maksimal bipartitt matching G = (V,E) V = {a,b,c,d,e,f} M = {(a,d), (c,b) (e,f)} |M| = 3 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Maksimal bipartitt matching Hvordan får vi til maskimal bipartitt matching? Dvs. hvordan maksimerer vi |M| ? Bygger på grafen litt slik at vi får ett flytnettverk Legger til en kilde s, sluk t, retninger på kantene fra L til R, og makskapasitet på hver kant til 1 Kilden har en kant til hver node i L, og hver node i R har en kant til sluken 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Maksimal bipartitt matching Har en bipartitt graf 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Maksimal bipartitt matching Legger til kilde s og sluk t, og rettede kanter fra s til t 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Maksimal bipartitt matching Legger på kapasitet 1 på kantene 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Maksimal bipartitt matching Etter man har gjort disse stegene, kan man kjøre en flytalgoritme på flytnettverket Da vil maksflyten |f| = |M|, og vi har løst problemet med maskimal bipartitt matching Brukes Ford-Fulkersens metode blir kjøretiden O(V*E) 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø

Teoriøving 8: Floyd-Warshall 16. oktober 2009 Øvingsforelesning 9 - Børge Rødsjø