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

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

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

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.

Laborationsinformation

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

Optimeringslära Kaj Holmberg

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.

Optimeringslära Kaj Holmberg

Optimeringslära Kaj Holmberg

Optimeringslära Kaj Holmberg

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

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

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.

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

TNK049 Optimeringslära

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

Tentamensinstruktioner. När Du löser uppgifterna

Optimeringslära Kaj Holmberg

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

Tentamensinstruktioner. När Du löser uppgifterna

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

Introduktion till att använda sig av GLPK

TNK049 Optimeringslära

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

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

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

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

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Extrempunkt. Polyeder

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

Linjärprogrammering (Kap 3,4 och 5)

Laboration 1 - Simplexmetoden och modellformulering

Optimering. Optimering

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

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

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Laboration 1 - Simplexmetoden och Modellformulering

Tentamensinstruktioner. När Du löser uppgifterna

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

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

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

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

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

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

Optimeringslära Kaj Holmberg

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

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

1 LP-problem på standardform och Simplexmetoden

TAOP14: Optimeringslära SAMMANFATTNING OSKAR QVIST:

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

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

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

Tentamensinstruktioner

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.

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

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

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

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

Solutions to exam in SF1811 Optimization, June 3, 2014

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

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

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

Dynamisk programmering. Dynamisk programmering. Dynamisk programmering. Dynamisk programmering

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

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Tentamensinstruktioner

1 Duala problem vid linjär optimering

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

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

Tentamensinstruktioner

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

MIO310 OPTIMERING OCH SIMULERING, 4 p

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

Tentamensinstruktioner. När Du löser uppgifterna

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

Uppgift 1 ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

Laborationsuppgift 1 Tillämpad optimeringslära för MMT (5B1722)

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

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

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

MIO310 OPTIMERING OCH SIMULERING, 4 p

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Optimeringslära för T (SF1861)

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

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

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

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

Transkript:

Vårt första exempel Variabeldefinition: x 1 = antal enheter Optimus som görs varje timme. x 2 = antal enheter Rullmus som görs varje timme. Matematisk modell: max z = 4x 1 + 3x 2 då 2x 1 + 3x 2 30 (1) (knappar) x 1 6 (2) (optik) 6x 1 + 4x 2 50 (3) (monteringstid) x 1 0 (4) x 2 0 (5) Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 1 / 36 LP-dualitet: Generellt LP-dualitet: Exempel Primal: Maximera vinsten, utan att använda för mycket råvaror. max z = 4x 1 + 3x 2 då 2x 1 + 3x 2 30 (1) (y 1 ) x 1 6 (2) (y 2 ) 6x 1 + 4x 2 50 (3) (y 3 ) x 1, x 2 0 Dualvariabel: y i pris på råvara i. Minimera kostnaden för råvarorna. Balansera kostnad mot intäkt. min v = 30y 1 + 6y 2 + 50y 3 då 2y 1 + y 2 + 6y 3 4 (1) (x 1 ) 3y 1 + 4y 3 3 (2) (x 2 ) y 1, y 2, y 3 0 Priset är noll om råvaran inte används fullt ut. Produkten görs ej om kostnaden blir högre än intäkten. Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 2 / 36 LP-dualitet: Relationer Primal: Exakt vilka relationer har primal och dual? max z = då Dual: c j x j a ij x j b i x j 0 i = 1,..., m j = 1,..., n max z = c T x då Ax b x 0 Svaga dualsatsen Om x är tillåten i primalen och y är tillåten i dualen så c T x b T y. (bevis) (rita) Följdsats Om x är tillåten i primalen, ȳ är tillåten i dualen och c T x = b T ȳ så är x optimal i primalen och ȳ optimal i dualen. min v = då m b i y i m a ij y i c j y i 0 j = 1,..., n i = 1,..., m min v = b T y då A T y c y 0 (se figur) Följdsats Om primalen (dualen) är obegränsad, så saknar dualen (primalen) tillåten lösning. Båda kan dock sakna lösning. Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 3 / 36 Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 4 / 36

LP-dualitet: Komplementaritet En dualvariabel, y i, anger hur mycket primala bivillkor i tar emot. Ett bivillkor som inte är aktivt tar inte emot alls. Komplementaritet (i ord): Om primala bivillkor i inte är aktivt, måste y i = 0. Om duala bivillkor j inte är aktivt, måste x j = 0. Komplementaritetsvillkoren Primallösningen x och duallösningen y uppfyller komplementaritetsvillkoren om y i a ij x j b i = 0 i = 1,..., m ( m ) x j a ij y i c j = 0 j = 1,..., n LP-dualitet: Komplementaritet Komplementaritetsvillkoren kan skrivas som Sats y T (Ax b) = 0 x T (A T y c) = 0 Om x och y uppfyller komplementaritetsvillkoren, så är c T x = b T y. (peka på bevis) Följdsats Om x är tillåten i primalen, y är tillåten i dualen och x och y uppfyller komplementaritetsvillkoren, så är x optimal i primalen och y optimal i dualen. Åt andra hållet: Starka dualsatsen Om x och y är optimallösningar så gäller c T x = b T y. Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 5 / 36 LP-dualitet: Slutsatser Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 6 / 36 LP-dualitet: Formulering Fullständiga dualsatsen Om primalen har en tillåten, begränsad optimallösning, x, så har även dualen en tillåten, begränsad optimallösning, y, och c T x = b T y. Om primalen är obegränsad, så saknar dualen tillåten lösning. Om primalen saknar tillåten lösning, så saknar dualen lösning eller har obegränsad lösning. (Symmetriskt i primal - dual.) Optimalitetsvillkor (KKT) Primal tillåtenhet + Dual tillåtenhet + Komplementaritet = Optimalitet Standard: Primal: Dual: max z = c T x min v = b T y då Ax b då A T y c x 0 y 0 Variationer: Primal Dual max min Ax b y 0 Ax b y 0 Ax = b y fri x 0 A T y c x 0 A T y c x fri A T y = c Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 7 / 36 Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 8 / 36

LP-dualitet: Formulering, symmetriskt Standard: Primal/dual: Dual/primal: max z = c T x min v = b T y då Ax b då A T y c x 0 y 0 Variationer: * * max min Ax b y 0 Ax b y 0 Ax = b y fri x 0 A T y c x 0 A T y c x fri A T y = c LP-dualitet: Formulering: Exempel Primal: max z = 2x 1 + 3x 2 5x 3 då 2x 1 + 3x 2 + 2x 3 10 (1) (y 1 ) 7x 1 + x 2 x 3 16 (2) (y 2 ) 3x 1 + 4x 2 + 4x 3 = 43 (3) (y 3 ) x 1 0, x 2 fri, x 3 0 min v = 10y 1 + 16y 2 + 43y 3 då 2y 1 + 7y 2 + 3y 3 2 (1) (x 1 ) 3y 1 + y 2 + 4y 3 = 3 (2) (x 2 ) 2y 1 y 2 + 4y 3 5 (3) (x 3 ) y 1 0, y 2 0, y 3 fri y 1 (2x 1 + 3x 2 + 2x 3 10) = 0 y 2 (7x 1 + x 2 x 3 16) = 0 x 1 (2y 1 + 7y 2 + 3y 3 2) = 0 x 3 (2y 1 y 2 + 4y 3 + 5) = 0 Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 9 / 36 Dualitet och baslösningar Primal: Dual: Kompl.: max z = c T x min v = b T y då Ax = b då A T y c x T (A T y c) = 0 x 0 y fri Baslösning: Primal: Dual: Kompl max z = cb T x B + cn T x N min v = b T y då Bx B + Nx N = b då B T y c B xb T (BT y c B ) = 0 x B, x N 0 N T y c N xn T (NT y c N ) = 0 y fri x B > 0 B T y = c B y = B 1T c B = (c T B B 1 ) T. Dual tillåtenhet: Sätt in y i N T y c N. Uppfyllt om ĉ N 0 där ĉ N = c N (c T B B 1 N) T. Primal och dual lösning: x B = B 1 b, x N = 0, y = B 1T c B. Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 10 / 36 Dualitet och baslösningar, forts Slutsats Dual tillåtenhet primal optimalitet. Vi har bevisat starka dualsatsen. Starka dualsatsen, version 2 Om primalen har en tillåten, begränsad optimallösning, x = B 1 b, så har även dualen en tillåten, begränsad optimallösning, som ges av y = B 1T c B. Både primalen och dualen har det optimala målfunktionsvärdet z = c T B B 1 b. Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 11 / 36 Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 12 / 36

LP-dualitet: Exempel max z = 4x 1 + 3x 2 då 2x 1 + 3x 2 30 (1) (y 1 ) x 1 6 (2) (y 2 ) 6x 1 + 4x 2 50 (3) (y 3 ) x 1, x 2 0 min v = 30y 1 + 6y 2 + 50y 3 då 2y 1 + y 2 + 6y 3 4 (1) (x 1 ) 3y 1 + 4y 3 3 (2) (x 2 ) y 1, y 2, y 3 0 y 1 (2x 1 + 3x 2 30) = 0 y 2 ( x 1 6) = 0 y 3 (6x 1 + 4x 2 50) = 0 x 1 (2y 1 + y 2 + 6y 3 4) = 0 x 2 (3y 1 + 4y 3 3) = 0 Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 13 / 36 LP-dualitet och simplextablån Duallösningen återfinnes under slackvariablerna i optimaltablån. Bas z x 1 x 2 x 3 x 4 x 5 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 Dual optimallösning: y 1 = 1/5, y 2 = 0, y 3 = 3/5. Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 15 / 36 LP-dualitet: Exempel Primal optimallösning: x 1 = 3, x 2 = 8, z = 36. Villkor 1 aktivt. Villkor 2 ej aktivt y 2 = 0. Villkor 3 aktivt. x 1 > 0 2y 1 + y 2 + 6y 3 = 4. x 2 > 0 3y 1 + 4y 3 = 3. Dual optimallösning: y 1 = 1/5, y 2 = 0, y 3 = 3/5. Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 14 / 36 LP-dualitet: Kappsäcksproblem: Exempel max z = 2x 1 + 3x 2 + 5x 3 + 7x 4 då 2x 1 + 2x 2 + 2x 3 + 4x 4 10 (y) x 1, x 2, x 3, x 4 0 min v = 10y då 2y 2 (1) (x 1 ) 2y 3 (2) (x 2 ) 2y 5 (3) (x 3 ) 4y 7 (4) (x 4 ) y 0 Skriv som: min v = 10y då y 1, y 3/2, y 5/2, y 7/4, y 0 Optimallösning: y = 5/2, v = 25. Endast duala bivillkor 3 aktivt. x 1 = 0, x 2 = 0, x 4 = 0. y > 0 2x 3 = 10 x 3 = 5. Problemet löst. Det blev en metod! max j (c j /a j ) ger bästa x j. Ta med den. Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 16 / 36

LP-dualitet: Exempel LP-dualitet: Exempel max z = 2x 1 + 3x 2 + 54 3 då x 1 + x 2 + 2x 3 5 (y 1 ) 2x 1 x 2 + x 3 3 (y 2 ) x 1, x 2, x 3 0 min v = 5y 1 + 3y 2 då y 1 + 2y 2 2 (1) (x 1 ) y 1 y 2 3 (2) (x 2 ) 2y 1 + y 2 4 (3) (x 3 ) y 1, y 2 0 LP-dualen 2-dimensionell. Lös grafiskt. (1) (3) (2) Dual optimalpunkt: y 1 = 3, y 2 = 0. Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 17 / 36 LP-dualitet: Exempel max z = 2x 1 + 3x 2 + 54 3 då x 1 + x 2 + 2x 3 5 (y 1 ) 2x 1 x 2 + x 3 3 (y 2 ) x 1, x 2, x 3 0 min v = 5y 1 + 3y 2 då y 1 + 2y 2 2 (1) (x 1 ) y 1 y 2 3 (2) (x 2 ) 2y 1 + y 2 4 (3) (x 3 ) y 1, y 2 0 LP-dualen 2-dimensionell. Lös grafiskt. Optimallösning: y 1 = 3, y 2 = 0, v = 15. Duala bivillkor 1 och 3 inte aktiva. x 1 = 0, x 3 = 0. y 1 > 0 x 2 = 5. Problemet löst. (Kolla gärna primala bivillkor 2.) Lösning: x 1 = 0, x 2 = 2, x 3 = 0, z = 15. (Kolla gärna z.) Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 19 / 36 Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 18 / 36 Skuggpriser Hur mycket förändras det optimala målfunktionsvärdet av en liten ändring av ett högerled? Detta mått kallas skuggpris (eller marginalpris). Starka dualsatsen: z = c T x = b T y eller z = j Derivatan av z med avseende på b i är y i. Slutsats Skuggpriserna ges av den optimala duallösningen. I exemplet: Dual målfunktion: v = b 1 y 1 + b 2 y 2. c j x j = i Stoppa in dual optimallösning: y 1 = 3, y 2 = 0 ger v = 3b 1. En enhets ökning av b 1 ger 3 enheters ökning av v, dvs. z. En enhets ökning av b 2 ger ingen ändring av v, dvs. z. Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 20 / 36 b i y i

Skuggpriser Känslighetsanalys I en viss baslösning har vi x B = B 1 b och y = B 1T c B. Skuggpriserna är oförändrade så länge som B 1 och c B är oförändrade, dvs. så länge som samma baslösning är optimal. Om ändringen i b ger B 1 b 0, ändras optimal baslösning/skuggpriser. B 1 b 0 ger gränser på b för oförändrad optimallösning. Har optimallösning. Indata ändras. Vad händer? Är optimallösningen helt oförändrad? Är optimala baslösningen oförändrad? För hur stora ändringar ändras inte (bas)lösningen? Om optimal baslösning inte ändras blir alla förändringar lätta att räkna ut, för då ändras inte B 1. Stoppa in nya b och/eller c i x B = B 1 b, y = B 1T c B och z = c T B x B. Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 21 / 36 Känslighetsanalys Vi beaktar ändringar av: Högerled, b. (Påverkar tillåtenhet.) Målfunktionskoefficient, c. (Påverkar optimalitet.) För ickebasvariabel, c N. För basvariabel, c B. Addition av nytt bivillkor, a T i x b i. (Påverkar tillåtenhet.) Addition av ny variabel, x k, med kolumn a k och målfunktionskoefficient c k. (Dvs. addition av ett dualt bivillkor, a T k y c k.) (Påverkar optimalitet, dvs. dual tillåtenhet.) Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 23 / 36 Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 22 / 36 Känslighetsanalys mer exakt Har optimallösning: Primal, x, och dual, y. Primal/dual tillåtenhet: x B = B 1 b 0, x N = 0, NT y c N. Ändring av högerled, b: Kolla primal tillåtenhet: x B = B 1 b 0. Ändring av målfunktionskoefficient, c: Kolla dual tillåtenhet (dvs. primal optimalitet). * Ändring i c N : Kolla c N N T y. (Ändringen i ĉ blir lika stor som ändringen i c.) * Ändring i c B : Beräkna y = B 1T c B och kolla N T y c N. (Hela ĉ kan ändras.) Addition av nytt bivillkor, a T i x b i : Kolla primal tillåtenhet: a T i x b i. Addition av ny variabel, x k, med kolumn a k och målfunktionskoefficient c k : Kolla dual tillåtenhet: a T k y c k. Alternativ: Kolla primal optimalitet: ĉ k = c k a T k y 0. Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 24 / 36

Vårt musexempel max z = 4x 1 + 3x 2 då 2x 1 + 3x 2 30 (1) (y 1 ) (knappar) x 1 6 (2) (y 2 ) (optik) 6x 1 + 4x 2 50 (3) (y 3 ) (monteringstid) x 1, x 2 0 min v = 30y 1 + 6y 2 + 50y 3 då 2y 1 + y 2 + 6y 3 4 (1) (x 1 ) (Optimus) 3y 1 + 4y 3 3 (2) (x 2 ) (Rullmus) y 1, y 2, y 3 0 Optimaltablå: Bas z x 1 x 2 x 3 x 4 x 5 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 Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 25 / 36 Känslighetsananlys i simplextablån Kan läsa av B 1 under slackvariablerna i optimaltablån. Bas z x 1 x 2 x 3 x 4 x 5 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 B 1 b = 2/5 1 3/10 2/5 0 3/10 3/5 0 1/5 vilket ger 22.5 b 1 37.5. b 1 6 50 = 2b 1 /5 9 2b 1 /5 + 15 3b 1 /5 10 Så vi tjänar 1/5 kr per ytterligare knapp, för b 1 upp till 37.5. 0 Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 27 / 36 Känslighetsanalys i simplextablån Optimaltablå för vårt exempel: Bas z x 1 x 2 x 3 x 4 x 5 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 Optimallösning: x 1 = 3, x 2 = 8, z = 36. Skuggpriser: y 1 = 1/5, y 2 = 0, y 3 = 3/5. Vad skulle vi tjäna på en ökning av tillgången av knappar? Det är en ökning av b 1, så vi tjänar y 1 = 1/5 per enhets ökning. För hur stor ökning gäller detta? Kolla B 1 b 0. Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 26 / 36 Exempel: Ny variabel Ska MPigg AB göra en ny sorts mus, SuperGamer, som består av en knapp och två optiska enheter, kräver 5 min för montering och ger intäkten 3 kr/enhet? Ny variabel, x 6 : kolumn: a 6 = 1 2 5 målfunktionskoefficient: c 6 = 3. Dual optimallösning (skuggpriser) : y 1 = 1/5, y 2 = 0, y 3 = 3/5. Reducerad kostnad (dual tillåtenhet): ĉ 6 = c 6 a6 T y = 3 (1/5 + 3) = 1/5 0. Slutsats: Låt x 6 förbli noll. Gör inga SuperGamer. MPigg vill justera priset så att SuperGamer blir lönsam. Bestäm c 6 så att ĉ 6 > 0: ĉ 6 = c 6 a T 6 y = c 6 (1/5 + 3) = c 6 3.2 > 0 om c 6 > 3.2. För att få lite marginal sätter man priset så att intäkten blir 3:50 kr. Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 28 / 36

Exempel: Ny variabel Ny optimallösning? ĉ 6 = c 6 a6 T y = 7/2 (1/5 + 3) = 3/10. Inför nya kolumnen i optimaltablån: â 6 = B 1 a 6. 2/5 1 3/10 1 9/10 â 6 = 2/5 0 3/10 2 = 11/10 3/5 0 1/5 5 2/5 Inför i optimaltablån: Bas z x 1 x 2 x 3 x 4 x 5 x 6 z 1 0 0 1/5 0 3/5-3/10 36 x 4 0 0 0 2/5 1-3/10 9/10 3 x 1 0 1 0-2/5 0 3/10 11/10 3 x 2 0 0 1 3/5 0-1/5-2/5 8 Känslighetsananlys från koder Indatafil: (GMPL) var x1 >= 0; var x2 >= 0; maximize obj: 4*x1 + 3*x2; subject to con1: 2*x1 + 3*x2 <= 30; subject to con2: x1 <= 6; subject to con3: 6*x1 + 4*x2 <= 50; end; Lösning av problemet: Skriv glpsol -m lp-ko1.mod -o lp-ko1.sol Fortsätt med simplexmetoden. x 6 inkommande. Utgående? Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 29 / 36 Känslighetsananlys från koder På skärmen (rensat): Reading model section from lp-ko1.mod... 11 lines were read Model has been successfully generated GLPK Simplex Optimizer, v4.44 4 rows, 2 columns, 7 non-zeros Preprocessing... 2 rows, 2 columns, 4 non-zeros Scaling... A: min aij = 2.000e+00 max aij = 6.000e+00 ratio = 3.000e+00 Problem data seem to be well scaled Constructing initial basis... Size of triangular part = 2 * 0: obj = 0.000000000e+00 infeas = 0.000e+00 (0) * 3: obj = 3.600000000e+01 infeas = 0.000e+00 (0) OPTIMAL SOLUTION FOUND Time used: 0.0 secs Memory used: 0.1 Mb (108000 bytes) Writing basic solution to lp-ko1.sol... Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 31 / 36 Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 30 / 36 Känslighetsananlys från koder I utdatafilen lp-ko1.sol (rensat): Problem: lp Rows: 4 Columns: 2 Non-zeros: 7 Status: OPTIMAL Objective: obj = 36 (MAXimum) No. Row name St Activity Lower bound Upper bound Marginal --- ------------ -- ----------- ----------- ------------ ----------- 1 obj B 36 2 con1 NU 30 30 0.2 3 con2 B 3 6 4 con3 NU 50 50 0.6 No. Column name St Activity Lower bound Upper bound Marginal --- ------------ -- ----------- ----------- ------------- ---------- 1 x1 B 3 0 2 x2 B 8 0 Karush-Kuhn-Tucker optimality conditions: Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 32 / 36

Känslighetsananlys från koder Lösning av problemet med känslighetsanalys: Skriv glpsol -m lp-ko1.mod --bounds lp-ko1.bnd I utdatafilen lp-ko1.bnd (rensat): Känslighetsananlys från koder Sida 2 i utdatafilen lp-ko1.bnd (rensat): GLPK 4.44 - SENSITIVITY ANALYSIS REPORT GLPK 4.44 - SENSITIVITY ANALYSIS REPORT Problem: lpluma Page 1 Problem: lpluma Objective: obj = 36 (MAXimum) Objective: obj = 36 (MAXimum) No. Column name St Activity Obj coef Activity Obj coef Obj value No. Row name St Activity Slack Lower bound Activity Obj coef Obj value at Limiting Marginal range range break po Marginal Upper bound range range ------break ------------ point variable -- ------------- ------------- ---------- ------------- ---------- ------ ------------ -- ------------- ------------- ------------- ------------- ------------- ------------- 1 x1 ------------ BS 3.00000 4.00000 -Inf 2.00000 30.00 1 obj BS 36.00000-36.00000 -Inf 30.00000-1.00000. con3. 6.00000 4.50000 37.50. +Inf 36.00000 +Inf +Inf 2 x2 BS 8.00000 3.00000 3.50000 2.66667 33.33 2 con1 NU 30.00000. -Inf 22.50000 -.20000 34.50000 con2. 10.00000 6.00000 60.00.20000 30.00000 37.50000 +Inf 37.50000 x1 End of report 3 con2 BS 3.00000 3.00000 -Inf. -2.00000 30.00000 con3. 6.00000 8.33333.50000 37.50000 con1 4 con3 NU 50.00000. -Inf 40.00000 -.60000 30.00000 x1.60000 50.00000 60.00000 +Inf 42.00000 con2 Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 33 / 36 LP-dualen till ett strukturerat problem Tillordningsproblemet: Varje person i skall tilldelas en uppgift j. min c ij x ij då x ij = 1 i = 1,... n (α i ) x ij = 1 j = 1,... n (β j ) x ij 0 för alla i, j Vileopt Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 34 / 36 Att tänka på inför lab 1: Skuggpris? Reducerad kostnad? Vad händer om man gör fel i simpexmetoden? LP-dualen: max α i + β j då α i + β j c ij för alla (i, j) (x ij ) x ij (α i + β j c ij ) = 0 för alla (i, j) Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 35 / 36 Kaj Holmberg (LiU) TAOP86 Optimering 26 augusti 2016 36 / 36