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

Relevanta dokument
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. Specialfall av minkostnadsflödesproblemet. Slutsats.

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

Optimeringslära Kaj Holmberg

Optimeringslära Kaj Holmberg

Optimeringslära Kaj Holmberg

Optimeringslära Kaj Holmberg

Optimeringslära Kaj Holmberg

Optimeringslära Kaj Holmberg

Föreläsning 10/11! Gruppuppgifter: Gruppuppgift 1: Alla har redovisat. Gruppuppgift 2: Alla har redovisat Gruppuppgift 3: På gång.

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

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

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

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

1 Minkostnadsflödesproblem i nätverk

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

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:

1(8) x ijt = antal mobiltelefoner av typ i=1,,m, Som produceras på produktionslina 1,, n, Under vecka t=1,,t.

Tentamensinstruktioner. När Du löser uppgifterna

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:

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

Föreläsning 6: Nätverksoptimering

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

Vinsten (exklusive kostnaden för inköp av kemikalier) vid försäljning av 1 liter fönsterputs är 2 kr för F1 och 3 kr för F3.

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

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

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

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

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

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

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.

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

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

Optimeringslära Kaj Holmberg

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

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Olinjär optimering med bivillkor: KKT min f (x) då g i (x) 0 för alla i

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

Tentamensinstruktioner. När Du löser uppgifterna

Tentamensinstruktioner

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

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

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

Optimalitetsvillkor. Optimum? Matematisk notation. Optimum? Definition. Definition

Tentamensinstruktioner. När Du löser uppgifterna

Tentamensinstruktioner

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

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

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

Lösningar till SF1861 Optimeringslära, 28 maj 2012

Vinsten (exklusive kostnaden för inköp av kemikalier) vid försäljning av 1 liter fönsterputs är 2 kr för F1 och 3 kr för F3.

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

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

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TENTAMEN. Tentamensinstruktioner. Datum: 30 augusti 2018 Tid: 8-12

Lösningar till SF1852 Optimeringslära för E, 16/1 08

TAOP07/TEN1 OPTIMERINGSLÄRA GRUNDKURS för Y. Antal uppgifter: 7 Uppgifterna är inte ordnade efter svårighetsgrad.

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TNK049 Optimeringslära

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Tentamensinstruktioner. När Du löser uppgifterna

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

Föreläsning 6: Transportproblem (TP)

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Tentamensinstruktioner. När Du löser uppgifterna

Lösningsförslag till tentamen i SF1861 Optimeringslära för T. Torsdag 28 maj 2010 kl

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

Föreläsning 2: Simplexmetoden. 1. Repetition av geometriska simplexmetoden. 2. Linjärprogrammeringsproblem på standardform.

Lösningar till 5B1762 Optimeringslära för T, 24/5-07

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Tentamensinstruktioner

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Dynamisk programmering. Dynamisk programmering. Dynamisk programmering. Dynamisk programmering

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

Tentamensinstruktioner. När Du löser uppgifterna

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM. Tentamensinstruktioner. När Du löser uppgifterna

Tekniska Högskolan i Linköping Optimering av realistiska sammansatta system. Optimeringslära Kaj Holmberg.

Tentamensinstruktioner

Laborationsinformation

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

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

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

5B1817 Tillämpad ickelinjär optimering. Kvadratisk programmering med olikhetsbivillkor Active-set metoder

Tentamensinstruktioner

Linjärprogramming. EG2205 Föreläsning 7, vårterminen 2015 Mikael Amelin

1 LP-problem på standardform och Simplexmetoden

Transkript:

Flöde i nätverk Graf: G = (N, B) Variabeldefinition: x ij = flöde i båge (i, j). Bågdata för båge (i, j): c ij : flödeskostnad per enhet. u ij : övre gräns för flödet. l ij : undre gräns för flödet. Bivillkor: l ij x ij u ij Noddata för nod i: b i : källstyrka/sänkstyrka. (måste vara givet) Nodjämviktsvillkor: x ji x ij = b i för alla i N (in - ut) Krav på indata: i b i = 0. Kaj Holmberg (LiU) TAOP Optimering september 0 / Specialfall av minkostnadsflödesproblemet Flöde i nätverk Sats Varje anslutningsmatris är fullständigt unimodulär. Slutsats Flödesproblem kan betraktas som LP-problem. Flödet blir automatiskt heltal. Obs: Inga andra bivillkor får finnas. Minkostnadsflödesproblemet Skicka efterfrågade mängder så billigt som möjligt. min (i,j) B x ji l ij x ij u ij x ij = b i för alla (i, j) B för alla i N Kaj Holmberg (LiU) TAOP Optimering september 0 / Specialfall av minkostnadsflödesproblemet Maxflödesproblemet: Inför återbåge (t, s). Sätt c ts = och c ij = 0 för alla (i, j) B \ (ts). Sök cirkulerande flöde (inga källor eller sänkor). Billigaste väg-problemet: Minkostnadsflödesproblem med en källa och en sänka, båda av styrka ett. i = s b i = i = t 0 f ö l ij = 0 och u ij stor (men i praktiken ) för alla bågar. Riktade brevbärarproblemet: Cirkulerande minkostnadsflödesproblem med undre gräns ett för alla bågar. max f x ji 0 x ij u ij för alla (i, j) B f fri 0, 0, f i = s x ij = f i = t 0 f ö 0, 0, 0, 0, 0, 0, för alla i N,M Kaj Holmberg (LiU) TAOP Optimering september 0 / Kaj Holmberg (LiU) TAOP Optimering september 0 /

Specialfall av minkostnadsflödesproblemet Transportproblemet: Minkostnadsflödesproblem i tudelad graf. min m i= j= x ij = s i j= m x ij = d j i= i =,... m j =,... n Kan ses som ett matrisproblem, där i står för rader och j för kolumner. Bivillkoren specificerar radsummor och kolumnsummor. (Eftersom detta är ett minkostnadsflödesproblem blir lösningen heltal.) Kaj Holmberg (LiU) TAOP Optimering september 0 / Nätverksformuleringstips Specialfall av minkostnadsflödesproblemet Tillordningsproblemet: Transportproblem med all tillgång och efterfrågan lika med ett. Varje person i skall göra en uppgift och varje uppgift j ska göras en gång. Variabeldefinition: x ij = om person i gör uppgift j. min i= j= x ij = j= x ij = i= i =,... n j =,... n Lösningsmetod: Ungerska metoden. Baseras på LP-dualen. (Eftersom detta är ett minkostnadsflödesproblem blir lösningen heltal.) Kaj Holmberg (LiU) TAOP Optimering september 0 / Nätverksformuleringstips Mer tillgång än efterfrågan: Tillgång:, efterfrågan:. Alternativ : Inför dummy-sänka, för varor som egentligen inte skickas. Kaj Holmberg (LiU) TAOP Optimering september 0 / Mer tillgång än efterfrågan: Tillgång:, efterfrågan:. Alternativ : Inför superkälla, med tillgång lika med total efterfrågan. Begränsa flödet i bågar från superkällan till tidigare källor, som nu blir mellannoder. Kaj Holmberg (LiU) TAOP Optimering september 0 /

Nätverksformuleringstips Köp allt i nod och släng allt i nod, men vet inte hur mycket. Alternativ : Inför återbåge, nod och mellannoder. Cirkulerande flöde. Alternativ : Inför slackbåge, nod sänka och nod sänka av styrka 000. 000 000 Nätverksformuleringstips Konvex styckvis linjär kostnad: De först 0 enheterna kostar 0 kr/st, sedan kr/st. Inför en parallell båge för det dyrare flödet. En extranod behövs om parallella bågar inte accepteras. 0 0,0 Observera: Den billigaste bågen kommer automatiskt att användas fullt ut, innan den dyrare börjar användas. Detta fungerar inte för konkava kostnader. Kaj Holmberg (LiU) TAOP Optimering september 0 9 / Lösningsmetod för minkostnadsflödesproblemet min (i,j) B x ji l ij x ij u ij Simplexmetoden Baslösning: x ij = b i för alla (i, j) B för alla i N Icke-basvariabler: x ij = l ij eller x ij = u ij. (Övre och undre gränser behandlas implicit.) Hur många basvariabler? Ett av nodjämviktsvillkoren är redundant. En n n-matris vore linjärt beroende. Kan bara ha bas av dimension n. Alltså n basvariabler. Kaj Holmberg (LiU) TAOP Optimering september 0 0 / Simplexmetoden för minkostnadsflödesproblemet En iteration: Basvariablerna ger ett uppspännande träd. Inkommande variabel bildar en unik cykel. Man vill skicka runt så mycket som möjligt i cykeln. Utgående variabel begränsar flödesändringen i cykeln. Den hamnar på övre eller undre gräns. Utgående variabel bryter upp cykeln. En cykel motsvarar linjärt beroende. Alltså ingen cykel i basen. Slutsats: En bas motsvarar ett uppspännande träd. Kaj Holmberg (LiU) TAOP Optimering september 0 / Kaj Holmberg (LiU) TAOP Optimering september 0 /

Simplexmetoden för minkostnadsflödesproblemet Hur välja inkommande variabel? y: dualvariabler till nodjämviktsvillkoren. y i kallas nodpris för nod i. Reducerade kostnader: ĉ ij = c ij + y i y j. (Nod i till j: Jämför skillnaden i nodpris, y j y i, med direktvägen, c ij.) Minimering ĉ ij < 0 Båge (i, j) billig. Skicka så mycket som möjligt. Öka x ij. x ij = u ij är optimalt. ĉ ij > 0 Båge (i, j) dyr. Skicka så lite som möjligt. Minska x ij. x ij = l ij är optimalt. Optimalitetsvillkor ĉ ij < 0 x ij = u ij, (billig ickebas) ĉ ij > 0 x ij = l ij (dyr ickebas) samt l ij < x ij < u ij ĉ ij = 0 (bas). (Används för att räkna ut y.) Kaj Holmberg (LiU) TAOP Optimering september 0 / Simplexmetoden för minkostnadsflöde: Exempel Simplexmetoden för minkostnadsflödesproblemet 0. Finn tillåten startbas (träd).. Sätt y = 0. Beräkna resterande y via basträdet. (c ij = y j y i för alla basbågar.). Beräkna reducerade kostnader ĉ ij = c ij + y i y j för alla icke-basbågar.. Kontrollera optimalitet. Om optimum: Stopp.. Välj mest lovande variabel som inkommande.. Finn cykeln som bildas.. Ändra flödet i cykeln maximalt i önskad riktning.. Välj den variabel som begränsar ändringen som utgående variabel.. Gå till. Kaj Holmberg (LiU) TAOP Optimering september 0 / Simplexmetoden för minkostnadsflödesproblemet Indata:,,0,, Startlösning Bågdata: c,u,x,,,,,,,,,,0 Känslighetsanalys Ändring av kostnad för icke-basbåge eller införande av ny båge: Beräkna ny reducerad kostnad, ĉ ij = c ij + y i y j och kontrollera optimalitet.,, Kaj Holmberg (LiU) TAOP Optimering september 0 / Kaj Holmberg (LiU) TAOP Optimering september 0 /

Tillordningsproblemet Varje person i skall göra en uppgift och varje uppgift j ska göras en gång. Variabeldefinition: x ij = om person i gör uppgift j. min z = i= j= x ij = j= x ij = i= i =,... n j =,... n Metod: Formulera och lös LP-dualen. Arbeta med dualvariabler och reducerade kostnader. Kaj Holmberg (LiU) TAOP Optimering september 0 / Ungerska metoden för tillordningsproblemet Tillordningsproblemet: Lös LP-dualen min z = LP-dual: max v = α i + i= Komplementaritetsvillkor: i= j= x ij = j= x ij = i= i =,... n j =,... n β j α i + β j c ij för alla (i, j). j= x ij (α i + β j c ij ) = 0 för alla (i, j). Metod: Lös dualen: Öka α och β, utan att överskrida duala bivillkoren. Försök sedan finna en tillåten primallösning som uppfyller komplementaritetsvillkoren. Ändra α och β om det inte går. Kaj Holmberg (LiU) TAOP Optimering september 0 / Ungerska metoden för tillordningsproblemet Arbeta med reducerade kostnader: ĉ ij = c ij α i β j för alla (i, j). Duala bivillkoren (primal optimalitet): ĉ ij 0 för alla (i, j) Komplementaritetsvillkoren: ĉ ij x ij = 0 för alla (i, j) Optimalitetsvillkor: ĉ ij > 0 x ij = 0, x ij > 0 ĉ ij = 0 Tillåtna positioner: där ĉ ij = 0. Mål: Placera exakt en etta i varje rad och i varje kolumn på de tillåtna positionerna. Lös dualen. Sätt α i = 0 för alla i och β j = 0 för alla j (vilket ger ĉ ij = c ij ). Öka enstaka α i och β j så mycket som möjligt (utan att ĉ ij blir negativt). Kan en etta placeras i varje rad och kolumn på de tillåtna positionerna? Om ja, stopp. Om inte, ändra dualvariablerna i par: Öka α i och minska β j så att inget ĉ ij blir negativt. Gör detta så att nya tillåtna positioner, ĉ ij = 0, bildas, samtidigt som ĉ ij 0. Upprepa tills tillåten lösning fås. Kaj Holmberg (LiU) TAOP Optimering september 0 9 / Kaj Holmberg (LiU) TAOP Optimering september 0 0 /

Ungerska metoden för tillordningsproblemet Matris av reducerade kostnader, Ĉ. Stryk alla tillåtna positioner med minsta möjliga antal streck. Sats Högsta antalet ettor som kan placeras ut är lika med minsta antalet streck som behövs. Öka α i för ostrukna rader, och minska β j för strukna kolumner. Effekt: Ostrukna element minskas, enkelt strukna element oförändrade, dubbelt strukna element ökas. ĉ ij minskas inte för någon tillåten position. Inget ĉ ij blir negativt. Minst en ny tillåten position bildas. Kaj Holmberg (LiU) TAOP Optimering september 0 / Ungerska metoden: Exempel β ĉ ij = c ij α i β j 0 0 0 0 0 0 0 0 0 0 Till slut återstår bara en nolla. α Ungerska metoden för tillordningsproblemet 0. Starta med de ursprungliga kostnaderna (α = 0, β = 0).. Dra bort det minsta elementet i varje rad från alla elementen i raden (öka α).. Dra bort minsta elementet i varje kolumn från alla elementen i kolumnen (öka β).. Stryk alla nollor med minsta möjliga antal streck. Om antalet streck är lika med n, finn tillåten lösning, och sluta.. Dra bort minsta ostrukna element från alla ostrukna element och addera till alla dubbelt strukna element. (Öka α i för ostrukna rader, och minska β j för strukna kolumner.) Gå till. Kaj Holmberg (LiU) TAOP Optimering september 0 / Ungerska metoden: Exempel Optimallösning: x = 0 0 0 0 0 0 0 0 0 0 0 0 Person gör uppgift, person gör uppgift, person gör uppgift, person gör uppgift. Total kostnad: Duallösning: α = (,,, ) β = (0,,, ) Kolla gärna starka dualsatsen: v = α i + Summan av dualvarialerna ska vara lika med totala kostnaden. i= j= β j Kaj Holmberg (LiU) TAOP Optimering september 0 / Kaj Holmberg (LiU) TAOP Optimering september 0 /