Billigaste väg: Matematisk modell i vektor/matrisform. Billigaste väg: Matematisk modell i vektor/matrisform

Relevanta dokument
Tillämpningar av dekomposition: Flervaruflödesproblemet. Flervaruflödesproblemet: Lagrangeheuristik

TNK049 Optimeringslära

TNK049 Optimeringslära

TAOP61 Optimering av realistiska sammansatta system. Speciellt med denna kurs. Uppdateringar. Kursplan

Dynamisk programmering. Dynamisk programmering. Dynamisk programmering. Dynamisk programmering

Optimeringslära Kaj Holmberg

Optimeringslära Kaj Holmberg

Flöde i nätverk. Flöde i nätverk. Specialfall av minkostnadsflödesproblemet

Flöde i nätverk. Flöde i nätverk. Specialfall av minkostnadsflödesproblemet

Optimeringslära Kaj Holmberg

Flöde i nätverk. Flöde i nätverk. Specialfall av minkostnadsflödesproblemet. Specialfall av minkostnadsflödesproblemet. Slutsats.

Optimeringslära Kaj Holmberg

Speciell användning av heltalsvariabler. Heltalsprogrammering. Antingen-eller-villkor: Exempel. Speciell användning av heltalsvariabler

Centrala Gränsvärdessatsen:

TNK049 Optimeringslära

Optimeringslära Kaj Holmberg

min c 1 x 1 + c 2 x 2 då x 1 + x 2 = 1, x 1 {0, 1}, x 2 {0, 1} plus andra bivillkor. Vi måste göra k st av n alternativ:

min c 1 x 1 + c 2 x 2 då x 1 + x 2 = 1, x 1 {0, 1}, x 2 {0, 1} plus andra bivillkor. Vi måste göra k st av n alternativ:

Optimeringslära Kaj Holmberg

Föreläsningsanteckningar F6

Komplettering: 9 poäng på tentamen ger rätt till komplettering (betyg Fx).

Lösningar modul 3 - Lokala nätverk

Tentamen i Dataanalys och statistik för I den 5 jan 2016

Lektion 8 Specialfall, del I (SFI) Rev HL

Hjälpmedel: Penna, papper, sudd, linjal, miniräknare, formelsamling. Ej tillåtet med internetuppkoppling: 1. Skriv ditt för- och efternamn : (1/0/0)

LP-problem. Vårt första exempel. Baslösningar representerar extrempunkter. Baslösningar representerar extrempunkter

Tentamensinstruktioner. När Du löser uppgifterna

Optimeringslära Kaj Holmberg. Lösningar/svar. Iteration 2: x 2 s

Eulercykel. Kinesiska brevbärarproblemet. Kinesiska brevbärarproblemet: Metod. Kinesiska brevbärarproblemet: Modell. Definition. Definition.

FK2002,FK2004. Föreläsning 5

Optimering i samband med produktionsplanering av, och materialförsörjning vid, underhåll av flygmotorer

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

Optimeringslära Kaj Holmberg

Balansering av vindkraft och vattenkraft i norra Sverige. Elforsk rapport 09:88

När vi räknade ut regressionsekvationen sa vi att denna beskriver förhållandet mellan flera variabler. Man försöker hitta det bästa möjliga sättet

Beräkna standardavvikelser för efterfrågevariationer

Riktlinjer för avgifter och ersättningar till kommunen vid insatser enligt LSS

Träd. Sats. Grafer. Definition. En fullständig graf har en båge mellan varje par av noder. Definition

Projekt i transformetoder. Rikke Apelfröjd Signaler och System rikke.apelfrojd@signal.uu.se Rum 72126

Föreläsning 9. Specialfall inom produk1onsplanering: Cyklisk planering, kopplade lager

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS för D och C

FÖRDJUPNINGS-PM. Nr Kommunalt finansierad sysselsättning och arbetade timmar i privat sektor. Av Jenny von Greiff

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

Träd. Sats. Grafer. Definition. En fullständig graf har en båge mellan varje par av noder. Definition

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

Moment 2 - Digital elektronik. Föreläsning 2 Sekvenskretsar och byggblock

Partikeldynamik. Dynamik är läran om rörelsers orsak.

Slumpvariabler (Stokastiska variabler)

Faradays lag. ger. Låt oss nu bestämma den magnetiska energin för N st kopplade kretsar. Arbetet som kretsarnas batterier utför är

GRÄNSBETECKNINGAR _ ALLMÄN PLATS KVARTERSMARK :B,H ' =-'.=.' ~ 1-~.1-._. - J. K Ll_ ,0 Föreskriven höjd över nollplanet.

Träd. Sats. Grafer. Definition. En fullständig graf har en båge mellan varje par av noder. Definition

Föreläsning 5: Dynamisk programmering

Lösningar/svar. Uppgift 1. Tekniska Högskolan i Linköping Optimering av realistiska sammansatta system. Optimeringslära Kaj Holmberg

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

Allmänt om korttidsplanering. Systemplanering Allmänt om korttidsplanering. Allmänt om vattenkraft. Det blir ett optimeringsproblem!

DEL I. Matematiska Institutionen KTH

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

z = min 3x 1 2x 2 + y Fixera y, vilket ger subproblemet

Del A Begrepp och grundläggande förståelse.

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TNSL05 Optimering, Modellering och Planering. Föreläsning 9

N = {i}: noder (hörn) Graf: G = (N, B) Definitioner. Väg: Sekvens av angränsande bågar. Cykel: Väg som startar och slutar i samma nod.

Partikeldynamik. Fjädervåg. Balansvåg. Dynamik är läran om rörelsers orsak.

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Laborationsinformation

Tentamensinstruktioner. När Du löser uppgifterna

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

Snabbguide. Kaba elolegic programmeringsenhet 1364

TDDC47 Realtids- och processprogrammering. Jourhavande-lärare: Mehdi Amirijoo (Telefonnummer: , ).

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS för D och C. Tentamensinstruktioner. När Du löser uppgifterna

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

VALUE AT RISK. En komparativ studie av beräkningsmetoder. VALUE AT RISK A comparative study of calculation methods. Fredrik Andersson, Petter Finn

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Tentamensinstruktioner. När Du löser uppgifterna

Exempel: En boll med massa m studsar mot ett golv. Alldeles innan studsen vet man att hastigheten är riktad

Introduktionsersättning eller socialbidraghar ersättningsregim betydelse för integrationen av flyktingar? 1

Förklaring:

Förstärkare Ingångsresistans Utgångsresistans Spänningsförstärkare, v v Transadmittansförstärkare, i v Transimpedansförstärkare, v i

Tentamen (TEN2) Maskininlärning (ML) 5hp 21IS1C Systemarkitekturutbildningen. Tentamenskod: Inga hjälpmedel är tillåtna

Tentamensinstruktioner. När Du löser uppgifterna

Experimentella metoder 2014, Räkneövning 5

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

Dödlighetsundersökningar på KPA:s

En studiecirkel om Stockholms katolska stifts församlingsordning

Kaj Holmberg (LiU) Grön optimering 12 oktober / 22

Balansering av vindkraft och vattenkraft i norra Sverige. Elforsk rapport 09:88

Konsoliderad version av

Performansanalys LHS/Tvåspråkighet och andraspråksinlärning Madeleine Midenstrand

saknar reella lösningar. Om vi försöker formellt lösa ekvationen x 1 skriver vi x 1

Sammanfattning. Härledning av LM - kurvan. Efterfrågan, Z. Produktion, Y. M s. M d inkomst = Y >Y. M d inkomst = Y

2B1115 Ingenjörsmetodik för IT och ME, HT 2004 Omtentamen Måndagen den 23:e aug, 2005, kl. 9:00-14:00

TNSL05 Optimering, Modellering och Planering. Föreläsning 5

Vårt första exempel. LP-dualitet: Exempel. LP-dualitet: Generellt. LP-dualitet: Relationer

LP-dualitet: Exempel. Vårt första exempel. LP-dualitet: Relationer. LP-dualitet: Generellt

Föreläsning G70 Statistik A

Blixtkurs i komplex integration

Transkript:

Vägar: Bllgaste väg Bllgaste väg s t Indata: Rktad graf med bågkostnader c, start/slutnod s, t. Bllgaste väg-problemet: Fnn en väg från s tll t med mnmal kostnad. Kostnaden för en väg är summan av kostnaderna för de bågar som ngår vägen. Skcka en (odelbar) enhet från s tll t på bllgaste sätt. Kaj Holmberg (LU) TAOP88 Optmerng september 0 / 8 Bllgaste väg: Matematsk modell Varabeldefnton: x j = om båge (, j) ngår vägen. mn c j x j (,j) B j:(j,) B x j j:(,j) B x j = x j {0, } för alla (, j) B Nodjämvktsvllkor: (n - ut) = s = t för alla N Kaj Holmberg (LU) TAOP88 Optmerng september 0 / 8 Exempel 8 x x = () x +x x x = 0 () x x x x = 0 () x +x x = 0 () x +x +x = () 0 0 0 0 0 0 0 0 0 0 Anslutnngsmatrs: A = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Kaj Holmberg (LU) TAOP88 Optmerng september 0 / 8 Kaj Holmberg (LU) TAOP88 Optmerng september 0 / 8

Bllgaste väg: Matematsk modell vektor/matrsform Med x som bågvektor: = s b = = t A kallas anslutnngsmatrs. mn c T x Ax = b x {0, } m om båge k startar nod a k = om båge k slutar nod 0 för övrgt En kolumn A har ett element lka med -, ett lka med och resten nollor. Detta gäller även b. Summerng av Ax = b ger 0 = 0. Ax = b nnehåller ett redundant bvllkor (raderna är lnjärt beroende). Kaj Holmberg (LU) TAOP88 Optmerng september 0 / 8 Bllgaste väg Bllgaste väg: Matematsk modell vektor/matrsform Defnton En matrs A är fullständgt unmodulär om varje underdetermnant har värdet 0, eller -. Varje anslutnngsmatrs, A, är fullständgt unmodulär. Om A är en fullständgt unmodulär matrs och b är en heltalsvektor, så är alla extrempunkter tll mängden X = {x : Ax = b, x 0} heltalga. Ett LP-problem vars bvllkorsmatrs är en anslutnngsmatrs och vars högerled är heltalgt, har heltalg optmallösnng. Slutsats Bllgaste väg-problem kan betraktas som LP-problem. Kaj Holmberg (LU) TAOP88 Optmerng september 0 / 8 Lösnngsmetoder för bllgaste vägproblemet LP-formulerng: mn c j x j (,j) B j:(j,) B x j j:(,j) B x j 0 för alla (, j) B = s x j = = t för alla N y : dualvarabel, nodprs, för nod. LP-dualen: max y t y s y j y c j för alla (, j) Ett redundant bvllkor prmalen ger en frhetsgrad dualen. Sätt y s = 0. Slutsats Om LP-formulerngen av bllgaste väg-problemet har ändlgt optmum, så är alla x j lka med eller 0 optmallösnngen. LP-dualtet ger: Om y är en optmal duallösnng (med y s = 0), så är y k är lägsta kostnaden för att komma tll nod k från s. Kaj Holmberg (LU) TAOP88 Optmerng september 0 / 8 Kaj Holmberg (LU) TAOP88 Optmerng september 0 8 / 8

Nodmärknngsmetoder LP-dual: max y t y j y c j för alla (, j) (samt y s = 0) Bvllkoren: y j c j + y. Målfunktonen: max y t öka alla nodprser så mycket som möjlgt. Slutsats: Sätt y j = mn (c j + y ). Prmal tolknng: V vll fnna bllgaste sättet att komma tll nod j. Märk nod j med (y j, p j ), där p j är det som gav mn (föregångaren). Praktsk fråga: I vlken ordnng skall v undersöka noderna? Tre olka fall:. Inga cykler.. Inga negatva kostnader.. Negatva kostnader och cykler. Kaj Holmberg (LU) TAOP88 Optmerng september 0 9 / 8 Bllgaste väg: Djkstras metod Nodmärknngsmetoder Mål: y s = 0, y j = mn (c j + y ) för alla j. Acyklsk graf: Sortera noderna så att < j för alla bågar (, j) B. Märk noderna den ordnngen: y j = mn <j (c j + y ) för j =,..., n. (Bellmans ekvatoner. Används för dynamsk programmerng.) Frånvaron av cykler gör att nga nodmärknngar behöver göras om. Ickenegatva kostnader: Djkstras metod Ordnngen är ej känd. Märk (permanent) först den nod som ger lägst nodprs. Frånvaron av negatva kostnader gör att nga nodprser kan sänkas, dvs att nga permanenta nodmärknngar behöver ändras. (Försök nte ens.) Kaj Holmberg (LU) TAOP88 Optmerng september 0 0 / 8 Djkstras metod för bllgaste väg: Exempel A: permanent märkta noder. 0. Sätt y s = 0 och y j = M för alla j s, samt A = {s}.. Fnn nod (k) med lägsta temporära nodprs: y k = mn j A y j. Lägg tll k tll A, dvs. gör märknngen permanent.. Om slutnoden (eller alla noder) permanent märkt: Stopp.. Uppdatera de temporära nodprser som blr lägre va y k, dvs. om c kj + y k < y j för j A.. Gå tll. (,) (,) (,) (,) Vktgt för effektvteten: Ttta nte på permanent märkta noder, j A, steg och. Komplextet O( N ). Bllgaste vägen nystas upp bakfrån med föregångare p j (börja med j = t). Obs: Först görs nodmärknngen helt färdgt. Sedan httar man vägen. Nysta upp vägen baklänges. Bllgaste väg: - - - -. Kostnad:. Nodprserna ger optmal duallösnng. Kaj Holmberg (LU) TAOP88 Optmerng september 0 / 8 Kaj Holmberg (LU) TAOP88 Optmerng september 0 / 8

Bllgaste väg Bllgaste väg: Fords metod Negatva kostnader och cykler: Fords metod Fnns ngen ordnng så att nodmärknngar nte behöver göras om. Sklj ej på permanent och temporär märknng. Avsöknng av nod: Kolla utgående bågar. Uppdatera alla nodprser som blr lägre. Om nget nodprs kan sänkas är noden avsökt. Om en avsökt nod får lägre nodprs, blr den oavsökt. Stoppkrterum: Alla noder avsökta. (Sämre än Djkstra.) Cykel med negatv kostnad ger obegränsad lösnng. Nodprserna cykeln kommer att uppdateras ett oändlgt antal gånger. Man kan sluta efter N gånger. 0. Sätt y s = 0 och y j = M för alla andra noder.. Fnn oavsökt nod (k) med lägsta nodprs (mn j y j ).. Uppdatera de nodprser som blr lägre va y k. Om en avsökt nod får lägre nodprs, blr den oavsökt.. Markera nod k som avsökt.. Om all noder är avsökta: Stopp.. Gå tll. Bllgaste vägen nystas upp bakfrån mha p j. Alla nodprser kan ändras. I steg och beaktas alla noder: Komplextet O( N ). Kaj Holmberg (LU) TAOP88 Optmerng september 0 / 8 Fords metod för bllgaste väg: Exempel (,) (,) (,) (,) (8,) (,) Alla noder avsökta. Fnn väg baklänges. Bllgaste väg: - - - -. Kostnad:. Kaj Holmberg (LU) TAOP88 Optmerng september 0 / 8 Fords metod för bllgaste väg: Exempel (,) (,) (,) (,) (8,) (,) (,) (,) (,) (,) V kommer att fortsätta sänka nodprserna för nod,,. Negatv cykel: - - -. Oändlgt bra prmal lösnng. Ingen tllåten duallösnng. Kaj Holmberg (LU) TAOP88 Optmerng september 0 / 8 Kaj Holmberg (LU) TAOP88 Optmerng september 0 / 8

Bllgaste väg Optmala nodmärknngar: (,s) (0,) (,) (,) s t (,s) (9,) (,) Alla noder har en märknng. Kan nysta upp från vlken nod som helst. s (,s) (,s) (0,) (,) (,) t (9,) (,) V får bllgaste väg från s tll alla andra noder. Bllgaste väg: Generalserngar Kan lösas med samma metoder. Bllgaste väg Dyraste väg Mn produkt Max produkt Mn max Max mn mn c j y j = mn(c j + y ) y s = 0 j max c j y j = max(c j + y ) y s = 0 j mn c j y j = mn(c j y ) y s = j max c j y j = max(c j y ) y s = j mn max c j y j = mn(max(c j, y )) j y s = 0 max mn c j y j = max(mn(c j, y )) j y s = M I de fyra ssta fallen förutsätts c j 0 för alla (, j). Kaj Holmberg (LU) TAOP88 Optmerng september 0 / 8 Bllgaste väg: Alla tll alla Kaj Holmberg (LU) TAOP88 Optmerng september 0 8 / 8 Vägar: Maxflödesproblemet Floyd-Warshalls metod för att fnna bllgaste väg mellan alla nodpar: Sätt d j = c j för alla, j. För k =,..., N, för =,..., N, för j =,..., N sätt d j = mn(d j, d k + d kj ). Komplextet O( N ). Kan användas för att göra om ett TSPr tll ett TSP(r). Indata: Rktad graf G = (N, B) med bågkapacteter u, start/slutnod s, t. Skcka så mycket som möjlgt från s tll t. Varabeldefnton: x j = flöde båge (, j). max f j:(j,) B x j j:(,j) B 0 x j u j för alla (, j) B f fr f = s x j = f = t för alla N Kaj Holmberg (LU) TAOP88 Optmerng september 0 9 / 8 Kaj Holmberg (LU) TAOP88 Optmerng september 0 0 / 8

Lösnngsmetod för maxflödesproblemet Maxflödesproblemet Påfyllnadsmetoden (Edmonds-Karp) 0. Börja från noll.. Fnn maxmal flödesökande väg från s tll t. Avbryt om ngen väg fnns.. Skcka så mycket som möjlgt den vägen.. Ändra tllåtna rktnngar.. Gå tll. x j = 0: Framåt (öka). Tllåtna rktnngar: 0 < x j < u j : Framåt och bakåt. x j = u j : Bakåt (mnska). Varje tllåtet flöde ger en undre gräns på f. Kapacteten hos varje (s, t)-sntt ger en övre gräns på f. Kapacteten hos ett mnsntt är lka med den maxmala flödesstyrkan, f. Flödesstyrkan är maxmal (och lka med kapacteten hos ett mnsntt) om och endast om en flödesökande väg saknas. En flödesökande väg fnnes metodskt med Djkstras metod (max av mn). Kaj Holmberg (LU) TAOP88 Optmerng september 0 / 8 Maxflöde: Exempel Kaj Holmberg (LU) TAOP88 Optmerng september 0 / 8 Vägar: Dynamsk programmerng Bllgaste väg-problem acyklsk nvåndelad graf. Td! (,) (,) (M, ) (,) (,) (,) (,) (,) Maxflöde uppnått. Mnsnttet går mellan märkta och omärkta noder. Maxflöde:. 8 9 0 Nodmärknngsmetod (Bellmans ekvatoner): Ta en nvå, S k, taget: y = 0. För k =,..., N: För varje j S k : Sätt y j = mn S k (c j + y ). Ordnngen nom en nvå ovktg. Vägen kommer att passera en av noderna varje nvå. Vet ej vlken. Möjlga målfunktoner: mn, max, mn, max, mn max, max mn. Kaj Holmberg (LU) TAOP88 Optmerng september 0 / 8 Kaj Holmberg (LU) TAOP88 Optmerng september 0 / 8

Dynamsk programmerng: Lagerhållnngsproblem Dynamsk programmerng: Kappsäcksproblem Nod j man ska tll S k kallas tllstånd, s k. Noden man kommer från kallas styrnng, x k. Kan lösa allt som är ett väg-problem en acyklsk nvåndelad graf. mn j c j x j j a j x j b, 0 x j u j och heltal, för alla j Exempel: Lagerhållnngsproblem Tllstånd: s k = antal enheter lager efter perod k. Styrnng: x k = antal enheter som köps/produceras/säljs perod k. s k = Varje varabel ses som en nvå. Varje nvå nnebär ett ökat utnyttjande av den gemensamma resursen b. Tllstånd: s k = den del av högerledet b som får användas tll de k första varablerna. s k = Kopplng mellan nvåerna: s k = s k a k x k s k = 0 Kaj Holmberg (LU) TAOP88 Optmerng september 0 / 8 Dynamsk programmerng: Kappsäcksproblem Ex: max x + x + x x + x + x, x {0, }, x {0, }, x {0,, } Kaj Holmberg (LU) TAOP88 Optmerng september 0 / 8 Dynamsk programmerng: Beräknngar max x + x + x x + x + x, x {0, }, x {0, }, x {0,, } Kan göra beräknngarna en tabell p.g.a. strukturen hos nätverket. b = b = x s 0 0 0 0 0 0 0 - - f (s ) 0 0 ˆx (s ) 0 0 x s 0 0 0 0 - - - f (s ) 0 0 ˆx (s ) 0 0 0 0 0 8 b = b = b = 0 x s 0 0 0 0 - - - - - - 8 f (s ) 0 0 ˆx (s ) 0 0 0 0 Uppnystnng: s =, x =, s =, x = 0, s =, x =, z =. Kaj Holmberg (LU) TAOP88 Optmerng september 0 / 8 Kaj Holmberg (LU) TAOP88 Optmerng september 0 8 / 8