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

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

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

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:

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:

Föreläsning 6: Nätverksoptimering

1 Minkostnadsflödesproblem i nätverk

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

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.

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

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

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

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/svar. Uppgift 1. Tekniska Högskolan i Linköping Optimering av realistiska sammansatta system. Optimeringslära Kaj Holmberg

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

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

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

Tentamensinstruktioner. När Du löser uppgifterna

Tentamensinstruktioner. När Du löser uppgifterna

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

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

Optimeringslära Kaj Holmberg

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

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Tentamensinstruktioner

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

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

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

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

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

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

Tentamensinstruktioner. När Du löser uppgifterna

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

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.

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

Tentamensinstruktioner

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

Tentamensinstruktioner. När Du löser uppgifterna

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Tentamensinstruktioner. När Du löser uppgifterna

TNK049 Optimeringslära

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

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

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

Föreläsning 6: Transportproblem (TP)

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

Tentamensinstruktioner. När Du löser uppgifterna

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

Dynamisk programmering. Dynamisk programmering. Dynamisk programmering. Dynamisk programmering

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

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

Tentamensinstruktioner

Lösningsförslag till tentamen i SF1861 Optimeringslära för T. Onsdag 25 augusti 2010 kl

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

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

Tentamensinstruktioner

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

TNK049 Optimeringslära

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

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

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

1 Duala problem vid linjär optimering

Tentamensinstruktioner

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

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) TAOP88 Optimering september 06 / 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) TAOP88 Optimering september 06 / Specialfall av kostnadsflödesproblemet 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 ö Riktade brevbärarproblemet: Cirkulerande kostnadsflödesproblem med undre gräns ett för alla bågar. l ij = 0 och u ij stor (men i praktiken ) för alla bågar. Kaj Holmberg (LiU) TAOP88 Optimering september 06 3 / Kaj Holmberg (LiU) TAOP88 Optimering september 06 4 /

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). 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 Specialfall av kostnadsflödesproblemet Transportproblemet: Minkostnadsflödesproblem i tudelad graf. m j= n n x ij = s i j= m x ij = d j x ij 0 i =,... m j =,... n för alla i, j 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.),m Kaj Holmberg (LiU) TAOP88 Optimering september 06 5 / 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. n j= n n j= n x ij 0 i =,... n j =,... n för alla i, j Lösningsmetod: Ungerska metoden. Baseras på LP-dualen. (Eftersom detta är ett kostnadsflödesproblem blir lösningen heltal.) Kaj Holmberg (LiU) TAOP88 Optimering september 06 7 / Kaj Holmberg (LiU) TAOP88 Optimering september 06 6 / 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) TAOP88 Optimering september 06 8 /

Lösningsmetod för kostnadsflödesproblemet (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 Simplexmetoden ( Vore det inte bättre att skicka så istället? Metodiskt!) Baslösning: 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. 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. En cykel motsvarar linjärt beroende. Alltså ingen cykel i basen. Slutsats: En bas motsvarar ett uppspännande träd. Kaj Holmberg (LiU) TAOP88 Optimering september 06 9 / 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) TAOP88 Optimering september 06 / Kaj Holmberg (LiU) TAOP88 Optimering september 06 0 / Simplexmetoden för kostnadsflö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. 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. Kaj Holmberg (LiU) TAOP88 Optimering september 06 /

Simplexmetoden för kostnadsflöde: Exempel Simplexmetoden för kostnadsflödesproblemet Indata: 3 6,,0 3,, Startlösning Bågdata: c,u,x,, 3,,,, 5,,,,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. 5,, 4 Kaj Holmberg (LiU) TAOP88 Optimering september 06 3 / LP-dual: max n α i + n j= n n j= n Komplementaritetsvillkor: x ij 0 i =,... n j =,... n för alla i, 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) TAOP88 Optimering september 06 5 / Kaj Holmberg (LiU) TAOP88 Optimering september 06 4 / 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. Kaj Holmberg (LiU) TAOP88 Optimering september 06 6 /

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 för alla i, j. Upprepa tills tillåten lösning fås. Kaj Holmberg (LiU) TAOP88 Optimering september 06 7 / 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) TAOP88 Optimering september 06 8 / Ungerska metoden: Exempel ĉ ij = c ij α i β j 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 β). 0 0 0 0 0 α 3 6 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. β 0 0 0 0 5 0 5 Till slut återstår bara en nolla. Kaj Holmberg (LiU) TAOP88 Optimering september 06 9 / Kaj Holmberg (LiU) TAOP88 Optimering september 06 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 3, person 3 gör uppgift 4, person 4 gör uppgift. Total kostnad: 7 Duallösning: α = (3, 6,, 5) β = (0,,, ) (Kolla starka dualsatsen.) Kaj Holmberg (LiU) TAOP88 Optimering september 06 /