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

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.

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

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:

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.

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

1 Minkostnadsflödesproblem i nätverk

Föreläsning 6: Nätverksoptimering

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

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.

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

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

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

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

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.

Tentamensinstruktioner. När Du löser uppgifterna

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

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

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

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

Optimeringslära Kaj Holmberg

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

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

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

Tentamensinstruktioner

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

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

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

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.

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

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

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

Tentamensinstruktioner

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

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Tentamensinstruktioner. När Du löser uppgifterna

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

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

TNK049 Optimeringslära

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

Tentamensinstruktioner. När Du löser uppgifterna

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

Tentamensinstruktioner. När Du löser uppgifterna

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

Föreläsning 6: Transportproblem (TP)

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

Tentamensinstruktioner

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

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

Tentamensinstruktioner. När Du löser uppgifterna

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

Tentamensinstruktioner

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

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

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

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

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

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

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

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

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

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

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

Tentamensinstruktioner

Tentamensinstruktioner. När Du löser uppgifterna

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

Laboration 1 - Simplexmetoden och Modellformulering

TNK049 Optimeringslära

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) TAOP86/TAOP33 Optimering september 08 / Specialfall av kostnadsflö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. (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) TAOP86/TAOP33 Optimering september 08 / Specialfall av kostnadsflö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 kostnadsflö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, 5 0, 3 3 f i = s x ij = f i = t 0 f ö 0, 0, 5 0, 4 0, 5 4 5 0, 0, 6 6 för alla i N,M Kaj Holmberg (LiU) TAOP86/TAOP33 Optimering september 08 3 / Kaj Holmberg (LiU) TAOP86/TAOP33 Optimering september 08 4 /

Specialfall av kostnadsflödesproblemet Transportproblemet: Minkostnadsflödesproblem i tudelad graf. m x ij = s i m x ij = d j 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 kostnadsflödesproblem blir lösningen heltal.) Kaj Holmberg (LiU) TAOP86/TAOP33 Optimering september 08 5 / Utvidgning av kostnadsflödesproblemet Flervaruflöde: Flödet består av olika sorters varor med separat tillgång/efterfrågan men med gemensamma kapaciteter. Även för olika start- och slutnodsbundna signaler, som i telekomnät. Variabeldefinition: xij k = flöde av sort k i båge (i, j). cij k xij k (i,j) B k C x k ji xij k u ij k C l k ij x k ij u k ij x k ij = b k i för alla i N, k C för alla (i, j) B Bivillkorsmatrisen är ej fullständigt unimodulär. för alla (i, j) B, k C Kaj Holmberg (LiU) TAOP86/TAOP33 Optimering september 08 7 / Specialfall av kostnadsflö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: om person i gör uppgift j. i =,... n j =,... n Lösningsmetod: Ungerska metoden. Baseras på LP-dualen. (Eftersom detta är ett kostnadsflödesproblem blir lösningen heltal.) Kaj Holmberg (LiU) TAOP86/TAOP33 Optimering september 08 6 / Lösningsmetod för kostnadsflödesproblemet (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. En cykel motsvarar linjärt beroende. Alltså ingen cykel i basen. Slutsats: En bas motsvarar ett uppspännande träd. Kaj Holmberg (LiU) TAOP86/TAOP33 Optimering september 08 8 /

Simplexmetoden för kostnadsflö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. Kaj Holmberg (LiU) TAOP86/TAOP33 Optimering september 08 9 / Simplexmetoden för kostnadsflödesproblemet Simplexmetoden för kostnadsflö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) TAOP86/TAOP33 Optimering september 08 0 / Simplexmetoden för kostnadsflöde: Exempel 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. 3. Kontrollera optimalitet. Om optimum: Stopp. 4. Välj mest lovande variabel som inkommande. 5. Finn cykeln som bildas. 6. Ändra flödet i cykeln maximalt i önskad riktning. 7. Välj den variabel som begränsar ändringen som utgående variabel. 8. Gå till. Indata: 3 6,,0 3,, Startlösning Bågdata: c,u,x,, 3,,,, 5 5,,,, Totalkostnad: 8 4,,0 Kaj Holmberg (LiU) TAOP86/TAOP33 Optimering september 08 / Kaj Holmberg (LiU) TAOP86/TAOP33 Optimering september 08 /

Simplexmetoden för kostnadsflödesproblemet Busacker-Gowens metod Alternativ metod för kostnadsflödesproblem med en källa och en sänka: 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. Modifiering av maxflödesmetoden: Sök billigaste flödesökande väg i varje iteration. Pseudopolynomisk. Billigaste-maxflödesmetoden Busacker-Gowens metod kan finna billigaste maxflöde om man inte slutar förrän flödet är maximalt. Kaj Holmberg (LiU) TAOP86/TAOP33 Optimering september 08 3 / Tillordningsproblemet Varje person i skall göra en uppgift och varje uppgift j ska göras en gång. Variabeldefinition: om person i gör uppgift j. z = i =,... n j =,... n Metod: Formulera och lös LP-dualen. Arbeta med dualvariabler och reducerade kostnader. Kaj Holmberg (LiU) TAOP86/TAOP33 Optimering september 08 5 / Kaj Holmberg (LiU) TAOP86/TAOP33 Optimering september 08 4 / Tillordningsproblemet: Lös LP-dualen z = LP-dual: max v = α i + Komplementaritetsvillkor: i =,... n j =,... n β j α i + β j c ij för alla (i, 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) TAOP86/TAOP33 Optimering september 08 6 /

Ungerska metoden för tillordningsproblemet 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 ska β 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) TAOP86/TAOP33 Optimering september 08 7 / Ungerska metoden för tillordningsproblemet Kaj Holmberg (LiU) TAOP86/TAOP33 Optimering september 08 8 / Ungerska metoden för tillordningsproblemet Matris av reducerade kostnader, Ĉ. Stryk alla tillåtna positioner med sta möjliga antal streck. Sats Högsta antalet ettor som kan placeras ut är lika med sta antalet streck som behövs. Öka α i för ostrukna rader, och ska β j för strukna kolumner. Effekt: Ostrukna element skas, enkelt strukna element oförändrade, dubbelt strukna element ökas. ĉ ij skas inte för någon tillåten position. Inget ĉ ij blir negativt. Minst en ny tillåten position bildas. Kaj Holmberg (LiU) TAOP86/TAOP33 Optimering september 08 9 / 0. Starta med de ursprungliga kostnaderna (α = 0, β = 0).. Dra bort det sta elementet i varje rad från alla elementen i raden (öka α).. Dra bort sta elementet i varje kolumn från alla elementen i kolumnen (öka β). 3. Stryk alla nollor med sta möjliga antal streck. Om antalet streck är lika med n, finn tillåten lösning, och sluta. 4. Dra bort sta ostrukna element från alla ostrukna element och addera till alla dubbelt strukna element. (Öka α i för ostrukna rader, och ska β j för strukna kolumner.) Gå till 3. Kaj Holmberg (LiU) TAOP86/TAOP33 Optimering september 08 0 /

Ungerska metoden: Exempel β ĉ ij = c ij α i β j 0 0 0 0 0 0 0 0 0 5 0 Till slut återstår bara en nolla. α 3 6 5 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 3, person 3 gör uppgift 4, person 4 gör uppgift. Total kostnad: 7 Duallösning: α = (3, 6,, 5) β = (0,,, ) Kolla gärna starka dualsatsen: v = α i + Summan av dualvarialerna ska vara lika med totala kostnaden. β j Kaj Holmberg (LiU) TAOP86/TAOP33 Optimering september 08 / Kaj Holmberg (LiU) TAOP86/TAOP33 Optimering september 08 /