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

Relevanta dokument
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

Optimeringslära Kaj Holmberg

Linjärprogrammering (Kap 3,4 och 5)

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

Optimeringslära Kaj Holmberg

Optimeringslära Kaj Holmberg

1 LP-problem på standardform och Simplexmetoden

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

Optimeringslära Kaj Holmberg

TNK049 Optimeringslära

Laboration 1 - Simplexmetoden och Modellformulering

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

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

Optimeringslära Kaj Holmberg

Laboration 1 - Simplexmetoden och modellformulering

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

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

Optimeringslära Kaj Holmberg

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

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:

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

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

TAOP14: Optimeringslära SAMMANFATTNING OSKAR QVIST:

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

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

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

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:

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

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.

Optimeringslära Kaj Holmberg

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

Ett linjärprogrammeringsproblem på allmän form ser ut som

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

Tentamensinstruktioner

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

Tentamensinstruktioner. När Du löser uppgifterna

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

Tentamensinstruktioner

Lösningar till SF1861/SF1851 Optimeringslära, 24/5 2013

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

Tentamensinstruktioner. När Du löser uppgifterna

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.

Lösningar till tentan i SF1861 Optimeringslära, 1 juni 2017

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

Dynamisk programmering. Dynamisk programmering. Dynamisk programmering. Dynamisk programmering

Lösningar till tentan i SF1861 Optimeringslära, 3 Juni, 2016

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

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

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

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

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

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

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

Tentamensinstruktioner. När Du löser uppgifterna

Optimering. TAOP88 Optimering för ingenjörer. När inte intuitionen räcker till... Långsiktiga mål med kursen. Vad är optimering?

Optimering. Optimering

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

1 Minkostnadsflödesproblem i nätverk

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

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

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

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP61 Projekt 2. Kaj Holmberg (LiU) TAOP61 Optimering 28 oktober / 14

Tentamensinstruktioner

Optimering. TAOP86 Kombinatorisk optimering med miljötillämpningar. När inte intuitionen räcker till... Långsiktiga mål med kursen. Vad är optimering?

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Extrempunkt. Polyeder

MIO310 OPTIMERING OCH SIMULERING, 4 p

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

Tentamensinstruktioner

TNK049 Optimeringslära

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

Föreläsning 6: Nätverksoptimering

Tentamensinstruktioner

Tentamensinstruktioner

Lösningsförslag Tentamen i Optimering och Simulering MIO /5 2006

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Tentamensinstruktioner. Vid skrivningens slut

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

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

Sats: Varje anslutningsmatris ar fullstandigt unimodular. Bevis: Lat m beteckna antalet rader i anslutningsmatrisen.

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

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

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

Tentamensinstruktioner

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TNK049 Optimeringslära

Tentamen TMA946/MAN280 tillämpad optimeringslära

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Transkript:

LP-problem Vårt första exempel Ett LP-problem: max z = c T x då Ax b, x 0. Den tillåtna mängden är en polyeder och konvex. Målfunktionen är linjär och konvex. Så problemet är konvext. Var ligger optimum? f (x) = c 0 Gå så långt man får åt något håll. Hörn. Sats (Linjärprogrammeringens fundamentalsats) Om ett LP-problem har begränsad optimallösning, så antas den i (minst) en extrempunkt. Variabeldefinition: x 1 = antal enheter Optimus som görs varje timme. x 2 = antal enheter Rullmus som görs varje timme. Matematisk modell: då 2x 1 + 3x 2 30 (knappar) x 1 6 (optik) 6x 1 + 4x 2 50 (monteringstid) x 1 0 x 2 0 Kaj Holmberg (LiU) TAOP88 Optimering 16 mars 2017 1 / 21 Baslösningar representerar extrempunkter Kaj Holmberg (LiU) TAOP88 Optimering 16 mars 2017 2 / 21 Baslösningar representerar extrempunkter då 2x 1 + 3x 2 30 x 1 6 6x 1 + 4x 2 50 x 1 0 x 2 0 x2 E F A Inför slackvariabler. G D B C x1 Kaj Holmberg (LiU) TAOP88 Optimering 16 mars 2017 3 / 21 Kaj Holmberg (LiU) TAOP88 Optimering 16 mars 2017 4 / 21

Baslösningar representerar extrempunkter x F 2 E A Hörn- Aktiva Variabler som Variabler som punkt bivillkor sätts till noll löses ut A 1,3 x 3 = 0, x 5 = 0 x 1 = 3, x 2 = 8, x 4 = 3 B 2,3 x 4 = 0, x 5 = 0 x 1 = 6, x 2 = 7/2, x 3 = 15/2 C 2,5 x 2 = 0, x 4 = 0 x 1 = 6, x 3 = 18, x 5 = 14 D 4,5 x 1 = 0, x 2 = 0 x 3 = 30, x 4 = 6, x 5 = 50 E 1,4 x 1 = 0, x 3 = 0 x 2 = 10, x 4 = 6, x 5 = 10 F 3,4 x 1 = 0, x 5 = 0 x 2 = 25/2, x 3 = 15/2, x 4 = 6 G 1,2 x 3 = 0, x 4 = 0 x 1 = 6, x 2 = 6, x 5 = 10 Punkt F och G ej tillåtna, ty negativa variabelvärden. D G B C x 1 Baslösningar representerar extrempunkter x F 2 E A Hörn- Ickebas- Basvariabler Målfunktion punkt variabler (=0) A x 3, x 5 x 1, x 2, x 4 z = 36 1/5x 3 3/5x 5 B x 4, x 5 x 1, x 2, x 3 z = 69/2 + 1/2x 4 3/4x 5 C x 2, x 4 x 1, x 3, x 5 z = 24 + 3x 2 4x 4 D x 1, x 2 x 3, x 4, x 5 z = 4x 1 + 3x 2 E x 1, x 3 x 2, x 4, x 5 z = 30 + 2x 1 x 3 Punkt A optimal, ty negativa reducerade kostnader. D G B C x 1 Kaj Holmberg (LiU) TAOP88 Optimering 16 mars 2017 5 / 21 Baslösningar, hur byta Byt en basvariabel i taget. Öka ickebasvariabel med positiv reducerad kostnad. (Ökar z.) Gör ökningen så stor som möjligt, dvs. så att en basvariabel blir noll och ingen negativ. Kaj Holmberg (LiU) TAOP88 Optimering 16 mars 2017 6 / 21 Exempel Basvariabler: x 3, x 4, x 5. Dvs. x 1 = 0, x 2 = 0 och x 3 = 30, x 4 = 6, x 5 = 50. Öka x 1 (verkar bäst). Sätt x 1 = t, x 2 = 0, vilket ger 2t + x 3 = 30 t + x 4 = 6 6t + x 5 = 50 x 3 = 30 2t 0 t 30/2 = 15 x 4 = 6 t 0 t 6 x 5 = 50 6t 0 t 50/6 8.333 Ger t = 6, dvs. x 1 = 6 och x 3 = 30 12 = 18, x 4 = 6 6 = 0, x 5 = 50 36 = 14. Kaj Holmberg (LiU) TAOP88 Optimering 16 mars 2017 7 / 21 Kaj Holmberg (LiU) TAOP88 Optimering 16 mars 2017 8 / 21

Baslösning, teoretiskt Definition En baslösning fås genom att välja ut m basvariabler, sätta icke-basvariablerna till noll, och lösa ut basvariablerna mha ekvationssystemet Ax = b. Baslösningen är tillåten om alla basvariabler får icke-negativa värden. x = (x B, x N ), A = (B N). Bx B + Nx N = b ger x B = B 1 b B 1 Nx N. Eliminera x B från målfunktionen: z = c T B x B + c T N x N = ẑ + ĉ T N x N där ẑ = c T B B 1 b och ĉ N = c N (c T B B 1 N) T. ĉ N kallas reducerade kostnader. Baslösningen som fås för x N = 0 och x B = B 1 b är tillåten om B 1 b 0 och optimal om ĉ N 0. Sats Varje extrempunkt i en polyeder kan definieras av (minst) en tillåten baslösning. Börja med att skriva problemet på likhetsform (inför slackvariabler). 0. Skaffa en tillåten startbas. 1. Välj inkommande variabel så att förbättring fås: Mest positiv reducerad kostnad, max ĉ j. (för max-problem) j Om ĉ j 0 för all j: Stopp, optimum funnet. 2. Välj utgående variabel så att tillåtenhet behålls: Minst kvot ( mellan ) i högerled och positiv koefficient i inkommande kolumn, min. i:â ij >0 Om â ij 0 för alla i: Stopp, lösningen är obegränsad. 3. Byt bas (pivotera): Eliminera inkommande variabel från alla andra rader. Gå till 1. â ij Kaj Holmberg (LiU) TAOP88 Optimering 16 mars 2017 9 / 21 Löst exempel Kaj Holmberg (LiU) TAOP88 Optimering 16 mars 2017 10 / 21 då 2x 1 + 3x 2 30 x 1 6 6x 1 + 4x 2 50 x 1, x 2 0 Inför slackvariabler, x 3, x 4, x 5. Starttablå: z 1-4 -3 0 0 0 0 x 3 0 2 3 1 0 0 30 x 4 0 1 0 0 1 0 6 x 5 0 6 4 0 0 1 50 Inkommande variabel: x 1. Utgående variabel: x 4. Kaj Holmberg (LiU) TAOP88 Optimering 16 mars 2017 11 / 21 Kaj Holmberg (LiU) TAOP88 Optimering 16 mars 2017 12 / 21

z 1 0-3 0 4 0 24 x 3 0 0 3 1-2 0 18 x 1 0 1 0 0 1 0 6 x 5 0 0 4 0-6 1 14 Inkommande variabel: x 2. Utgående variabel: x 5. z 1 0 0 0-1/2 3/4 69/2 x 3 0 0 0 1 5/2-3/4 15/2 x 1 0 1 0 0 1 0 6 x 2 0 0 1 0-3/2 1/4 7/2 Inkommande variabel: x 4. Utgående variabel: x 3. z 1 0 0 1/5 0 3/5 36 x 4 0 0 0 2/5 1-3/10 3 x 1 0 1 0-2/5 0 3/10 3 x 2 0 0 1 3/5 0-1/5 8 Ingen inkommande variabel. Optimaltablå. Optimallösning: x 1 = 3, x 2 = 8, z = 36. Slack: Villkor 1 aktivt (x 3 = 0). Villkor 2 ej aktivt (x 4 = 3). Villkor 3 aktivt (x 5 = 0). Kaj Holmberg (LiU) TAOP88 Optimering 16 mars 2017 13 / 21 Kaj Holmberg (LiU) TAOP88 Optimering 16 mars 2017 14 / 21, matrisform Skriv problemet på likhetsform (inför slackvariabler), Ax = b. x2 x1 0. Skaffa en tillåten startbas: x = (x B, x N ), A = (B N), c = (c B, c N ). 1. Beräkna B 1. 2. Beräkna högerled: = B 1 b. Variablernas värden: x B =, x N = 0. 3. Beräkna målfunktionsvärdet: z = c T B x B. 4. Beräkna skuggpriser: y = (c T B B 1 ) T. 5. Beräkna reducerade kostnader: ĉ N = c N N T y (dvs ĉ j = c j a T j y). 6. Om ĉ N 0: Stopp, optimum. 7. Välj inkommande variabel x k så att förbättring fås: ĉ k = max j ĉ j. 8. Beräkna inkommande kolumn för aktuell bas: â k = B 1 a k. 9. Om â k 0: Stopp, problemet har obegränsad lösning. ( ) l i 10. Välj utgående variabel så att tillåtenhet behålls: = min. â lk i:â ik >0 â ik 11. Byt bas: Uppdatera B, N, c B och c N. Gå till 1. Kaj Holmberg (LiU) TAOP88 Optimering 16 mars 2017 15 / 21 Kaj Holmberg (LiU) TAOP88 Optimering 16 mars 2017 16 / 21

Simplextablån, teoretiskt max z = c T x då Ax + Ix S = b x, x S 0 Bas z x x S z 1 c T 0 0 x S 0 A I b (Starttablå) Bas z x x S z 1 c T B B 1 A c T c T B B 1 c T B B 1 b x B 0 B 1 A B 1 B 1 b B 1 kan läsas ut ut optimaltablån. Och c T B B 1. (Optimaltablå) Degeneration och konvergens Definition En baslösning där en eller flera basvariabler har värdet noll kallas degenererad baslösning. Om inga baslösningar är degenererade: Varje extrempunkt motsvaras av exakt en baslösning. Varje iteration i simplexmetoden ger ett positivt värde på inkommande variabel, och en strikt förbättring i målfunktionsvärde. Man kan därför aldrig komma tillbaka till en redan besökt extrempunkt. Det finns ändligt många extrempunkter, så detta kan bara upprepas ett ändligt antal gånger. Kaj Holmberg (LiU) TAOP88 Optimering 16 mars 2017 17 / 21 Degeneration och konvergens Sats Om det tillåtna området till ett LP-problem är icketomt, och inga baslösningar är degenererade, så kommer simplexmetoden att avslutas inom ett ändligt antal iterationer. I en degenererad baslösning: i = 0. Kan ge minsta kvot noll. Högerleden ändras då ej. Inkommande variabel ökas ej. En annan baslösning ger samma punkt. Kaj Holmberg (LiU) TAOP88 Optimering 16 mars 2017 18 / 21 Västa fall för simplexmetoden Berömt exempel: Klee-Minty (1972) max z = 10x 1 + 3x 2 då x 1 1 20x 1 + x 2 100 x 1, x 2 0 x2 100 Om flera basvariabler är noll: Många iterationer i samma punkt. Ingen förbättring. Samma bas kan återkomma. Om samma bas återkommer: Cykling! Cykling kan förhindras genom speciella val av inkommande och utgående variabler. 1 x1 Besöker alla extrempunkter. Kaj Holmberg (LiU) TAOP88 Optimering 16 mars 2017 19 / 21 Kaj Holmberg (LiU) TAOP88 Optimering 16 mars 2017 20 / 21

Västa fall för simplexmetoden Öka antalet variabler, n. n max z = 10 n j x j j=1 i 1 då 2 10 i j + x i 100 i 1 i = 1,..., n j=1 x j 0 j = 1,..., n kräver 2 n 1 iterationer. Varje iteration kräver O(m 2 ) (uppdatering av B 1 ). Empiriskt: I medel m 3 iterationer för verkliga problem. Kaj Holmberg (LiU) TAOP88 Optimering 16 mars 2017 21 / 21