4EK212 Kvantitativní management 2. Lineární programování
1.7 Přídatné proměnné Přídatné proměnné jsou nezáporné Mají svoji ekonomickou interpretaci, která je odvozena od ekonomické interpretace omezení Přídatná proměnná v omezení typu ukazuje objem nevyužité kapacity Přídatná proměnná v omezení typu ukazuje velikost překročení požadavku Cena přídatné proměnné je vzhledem k její ekonomické interpretaci rovna nule Mgr. Sekničková Jana, Ph.D. 2
1.8 Základní pojmy LP Přípustné řešení úlohy LP je vektor x = x 1, x 2,, x n+m T, jehož složky splňují vlastní omezení úlohy a podmínky nezápornosti Počet přípustných řešení (PŘ): protože v ESR je počet proměnných (n+m) větší než počet rovnic (m), má úloha LP buď: 1. nekonečně mnoho přípustných řešení nebo 2. žádné přípustné řešení Mgr. Sekničková Jana, Ph.D. 3
x 2 60 45 0 90 110 120 180 (2) x 1 (1) (3) (4) Množina přípustných řešení (konvexní polyedr) -90 Mgr. Sekničková Jana, Ph.D. 4
1.8 Základní pojmy LP Průsečík každých dvou omezení odpovídá tzv. Základnímu řešení ekvivalentní soustavy rovnic (ESR) Vrcholy konvexního polyedru (množiny přípustných řešení) Jsou také základními řešeními Jsou navíc řešeními přípustnými a zobrazují tzv. Základní přípustná řešení Mgr. Sekničková Jana, Ph.D. 5
x 2 60 45 D 0 A 90 110 C B 120 180 (2) x 1 (1) (3) (4) Množina Základní přípustných přípustná Základní řešení ESR řešení řešení úlohy LP -90 Mgr. Sekničková Jana, Ph.D. 6
1.8 Základní pojmy LP Výpočet základních přípustných řešení: Bod A: (3) + (x 2 0) A = 90, 0, x = 90, 0, 30, 90, 0, 20 T Bod B: (4) + (x 2 0) B = 110, 0, x = 110, 0, 10, 70, 20, 0 T Bod C: (1) + (4) C = 110, 5, x = 110, 5, 0, 50, 15, 0 T Bod D: (1) + (3) D = 100, 10, x = 100, 10, 0, 40, 0, 10 T Lis: 1 x 1 + 2 x 2 120 [min] Balení: 1 x 1 + 4 x 2 180 [min] Poptávka: 1 x 1 1 x 2 90 [krabiček] SD karty: 1 x 1 + 0 x 2 110 [krabiček] Nezápornost: x 1, x 2 0 [krabiček] 1 x 1 + 2 x 2 + x 3 = 120 min 1 x 1 + 4 x 2 + x 4 = 180 min 1 x 1 1 x 2 x 5 = 90 [krabiček] 1 x 1 + 0 x 2 + x 6 = 110 [krabiček] x 1, x 2, x 3, x 4, x 5, x 6 0 Mgr. Sekničková Jana, Ph.D. 7
1.8 Základní pojmy LP Optimální řešení úlohy LP je takové přípustné řešení x = x 1, x 2,, x n+m T, které má nejvyšší (nejnižší) hodnotu účelové funkce. Optimální řešení (OŘ): Přípustné řešení s nejlepší hodnotou účelové funkce Nejlepší přípustné řešení Z grafického zobrazení je zřejmé, že existuje-li, musí ležet na hranici množiny přípustných řešení Mgr. Sekničková Jana, Ph.D. 8
1.8 Základní pojmy LP Počet optimálních řešení: Optimální řešení úlohy LP je přípustné řešení s nejlepší hodnotou účelové funkce. Pokud úloha LP nemá žádné přípustné řešení Nemá žádné optimální řešení Pokud má úloha LP nekonečně mnoho přípustných řešení Pak je optimální to s nejlepší hodnotou účelové funkce Mgr. Sekničková Jana, Ph.D. 9
1.8 Základní pojmy LP Musí OŘ existovat? Musí být jediné? Může jich být více? Dokážeme ho vždy najít? Mgr. Sekničková Jana, Ph.D. 10
O počtu optimálních řešení rozhoduje: Množina přípustných řešení Počet přípustných řešení (žádné, nekonečně mnoho) Tvar množiny přípustných řešení (prázdná, omezená, neomezená) Účelová funkce 1.8 Základní pojmy LP Sklon účelové funkce Extrém účelové funkce Mgr. Sekničková Jana, Ph.D. 11
a) MPŘ - prázdná Žádné OŘ Mgr. Sekničková Jana, Ph.D. 12
b) MPŘ - omezený konvexní polyedr z... max. x 2 OPTIMUM Jedno OŘ x 1 Mgr. Sekničková Jana, Ph.D. 13
b) MPŘ - omezený konvexní polyedr x 2 z... max. Nekonečně OPTIMUM mnoho OŘ OPTIMUM x 1 Mgr. Sekničková Jana, Ph.D. 14
c) MPŘ - neomezená konvexní množina x 2 z... max. Jedno OŘ OPTIMUM Mgr. Sekničková Jana, Ph.D. 15 x 1
c) MPŘ - neomezená konvexní množina x 2 z... max. Nekonečně OPTIMUM mnoho OŘ OPTIMUM Mgr. Sekničková Jana, Ph.D. 16 x 1
x 2 c) MPŘ - neomezená konvexní množina z... max. Žádné OŘ Mgr. Sekničková Jana, Ph.D. 17 x 1
1.8 Základní pojmy LP Počet optimálních řešení: Žádné optimální řešení Prázdná množina přípustných řešení nebo Neomezená hodnota účelové funkce Má jediné optimální řešení MPŘ je omezená ve směru hledaného optima a Účelová funkce se MPŘ dotkne v jediném bodě Má nekonečně mnoho optimálních řešení MPŘ je omezená ve směru hledaného optima a Účelová funkce je rovnoběžná s hranou (stěnou) MPŘ Mgr. Sekničková Jana, Ph.D. 18
1.8 Základní pojmy LP Má-li úloha LP optimální řešení: Buď je toto optimální řešení jediné MPŘ je omezená ve směru hledaného optima a Účelová funkce se MPŘ dotkne v jediném bodě OŘ je ve vrcholu konvexního polyedru je ZPŘ Nebo je optimálních řešení nekonečně mnoho MPŘ je omezená ve směru hledaného optima a Účelová funkce je rovnoběžná s hranou (stěnou) MPŘ Alespoň jedno OŘ je ve vrcholu konvexního polyedru ZPŘ Mgr. Sekničková Jana, Ph.D. 19
1.8 Základní pojmy LP Má-li úloha LP optimální řešení, pak má také základní optimální řešení Základní věta lineárního programování (ZVLP) Věta nic neříká o případu, kdy úloha LP nemá optimální řešení! Pokud existuje OŘ, pak existuje také základní OŘ. Mgr. Sekničková Jana, Ph.D. 20
1.8 Základní pojmy LP Základní optimální řešení: Základní řešení Optimální řešení Přípustné řešení Řešení s nejlepší hodnotou účelové funkce Základní optimální řešení = základní přípustné řešení s nejlepší hodnotou účelové funkce Mgr. Sekničková Jana, Ph.D. 21
1.8 Základní pojmy LP Důsledek základní věty lineárního programování: Má-li úloha LP optimální řešení, pak alespoň jedno z nich je základní přípustné řešení. Význam základní věty lineárního programování: Optimální řešení stačí hledat mezi základními přípustnými řešeními. Jakou ZPŘ je to konečný má výhodu? počet Mgr. Sekničková Jana, Ph.D. 22
1.8 Základní pojmy LP Výpočet základních přípustných řešení: A = 90, 0, x = 90, 0, 30, 90, 0, 20 T B = 110, 0, x = 110, 0, 10, 70, 20, 0 T C = 110, 5, x = 110, 5, 0, 50, 15, 0 T D = 100, 10, x = 100, 10, 0, 40, 0, 10 T Lis: 1 x 1 + 2 x 2 120 [min] Balení: 1 x 1 + 4 x 2 180 [min] Poptávka: 1 x 1 1 x 2 90 [krabiček] SD karty: 1 x 1 + 0 x 2 110 [krabiček] Nezápornost: x 1, x 2 0 [krabiček] Zisk: z = 40 x 1 + 60 x 2 max [Kč] z A = 40 x 1 + 60 x 2 = 40 90 + 60 0 = 3600 z B = 40 x 1 + 60 x 2 = 40 110 + 60 0 = 4400 z C = 40 x 1 + 60 x 2 = 40 110 + 60 5 = 4700 z D = 40 x 1 + 60 x 2 = 40 100 + 60 10 = 4600 Optimální řešení: x = 110, 5, 0, 50, 15, 0 T z = 4700 Mgr. Sekničková Jana, Ph.D. 23
1.9 Příklad matematický model Lis: 1 x 1 + 2 x 2 120 [min] Balení: 1 x 1 + 4 x 2 180 [min] Poptávka: 1 x 1 1 x 2 90 [krabiček] SD karty: 1 x 1 + 0 x 2 110 [krabiček] Nezápornost:x 1, x 2 0 [krabiček] Zisk: 40 x 1 + 60 x 2 max [Kč] Mgr. Sekničková Jana, Ph.D. 24
x 2 60 Grafické řešení úlohy LP 45 40 OPTIMUM 0 60 90 110 120 180 (2) x 1 (1) Z max -90 (3) (4) Množina 1 x 1 x -+ 1 1, přípustných 2 x 2 x 2 90 0 120 řešení 40 1 x Osy x 1 a 1 x+ 1 + 60 04 x x 2 2 180 110 max Mgr. Sekničková Jana, Ph.D. 25
1.9 Grafické řešení úlohy LP Optimální řešení zadané úlohy leží na průsečíku dvou hraničních přímek omezení (1) a (4): x 1 + 2x 2 = 120 x 1 = 110 Odtud je x 1 = 110, x 2 = 5 Bod optimálního řešení je tedy x = 110, 5 Hodnota účelové funkce je po dosazení z = 40x 1 + 60x 2 = 40 110 + 60 5 = 4700 Lis: 1 x 1 + 2 x 2 120 [min] Balení: 1 x 1 + 4 x 2 180 [min] Poptávka: 1 x 1 1 x 2 90 [krabiček] SD karty: 1 x 1 + 0 x 2 110 [krabiček] Nezápornost: x 1, x 2 0 [krabiček] Zisk: 40 x 1 + 60 x 2 max [Kč] Mgr. Sekničková Jana, Ph.D. 26
x 2 60 Řešení dle základní věty LP 45 D 0 A 90 110 C B 120 180 (2) x 1 (1) (3) (4) Množina Základní přípustných přípustná Základní řešení ESR řešení řešení úlohy LP -90 Mgr. Sekničková Jana, Ph.D. 27
1.9 Řešení dle základní věty LP Výpočet základních přípustných řešení: A = 90, 0, x = 90, 0, 30, 90, 0, 20 T B = 110, 0, x = 110, 0, 10, 70, 20, 0 T C = 110, 5, x = 110, 5, 0, 50, 15, 0 T D = 100, 10, x = 100, 10, 0, 40, 0, 10 T Lis: 1 x 1 + 2 x 2 120 [min] Balení: 1 x 1 + 4 x 2 180 [min] Poptávka: 1 x 1 1 x 2 90 [krabiček] SD karty: 1 x 1 + 0 x 2 110 [krabiček] Nezápornost: x 1, x 2 0 [krabiček] Zisk: 40 x 1 + 60 x 2 max [Kč] z A = 40 x 1 + 60 x 2 = 40 90 + 60 0 = 3600 z B = 40 x 1 + 60 x 2 = 40 110 + 60 0 = 4400 z C = 40 x 1 + 60 x 2 = 40 110 + 60 5 = 4700 z D = 40 x 1 + 60 x 2 = 40 100 + 60 10 = 4600 Optimální řešení: x = 110, 5, 0, 50, 15, 0 T z = 4700 Mgr. Sekničková Jana, Ph.D. 28
1.10 Řešení pomocí softwaru Graficky lze řešit úlohy LP, které obsahují dvě (max. tři) proměnné Dle základní věty LP lze řešit i mnohem větší úlohy Tzv. metoda hrubé síly Vyčíslení všech ZŘ ESR (kolik jich je?) Redukce na ZPŘ úlohy LP Výpočet hodnoty účelové funkce pro všechna ZPŘ Výběr optimálního řešení I ZPŘ však může být opravdu mnoho m = 4, n = 2, ZŘ 14 ZPŘ 4 m = 100, n = 10, ZŘ téměř 47 bilionů ZPŘ cca 14 bilionů Mgr. Sekničková Jana, Ph.D. 29
V praxi se však používá efektivní prohledávání množiny základních přípustných řešení pomocí simplexové metody (či metody vnitřního bodu, apod.) Historické optimalizační softwary STORM DS Win Současné nástroje LINGO, MPL Řešitel pro MS Excel a další 1.10 Řešení pomocí softwaru Mgr. Sekničková Jana, Ph.D. 30
1.10 LINGO Firma LINDO Systems, Inc. LINDO (Linear INteractive and Discrete Optimizer) www.lindo.com LINGO (verze 16.0, 17.0) Windows, Mac, Linux Mgr. Sekničková Jana, Ph.D. 31
Mgr. Sekničková Jana, Ph.D. 32
1.10 LINGO - model Lis: 1 x 1 + 2 x 2 120 [min] Balení: 1 x 1 + 4 x 2 180 [min] Poptávka: 1 x 1 1 x 2 90 [krab. ] SD karty: 1 x 1 + 0 x 2 110 [krab. ] Nezápornost: x 1, x 2 0 [krab. ] Zisk: z = 40 x 1 + 60 x 2 max [Kč] Mgr. Sekničková Jana, Ph.D. 33
1.10 LINGO - řešení Mgr. Sekničková Jana, Ph.D. 34
1.10 LINGO výstup řešení Hodnota účelové funkce Proměnné Omezení Mgr. Sekničková Jana, Ph.D. 35
1.10 LINGO - proměnné Názvy Hodnoty Redukované ceny Proměnné Proměnné Procesy Redukovaná cena Pokud se proces nerealizuje (hodnota strukturní Hodnoty Intenzity procesůco udávají? proměnné = 0), udává, o kolik se musí zlepšit cena, aby bylo výhodné proces realizovat. Pokud se proces realizuje (hodnota strukturní proměnné > 0), je redukovaná Mgr. Sekničková Jana, Ph.D. cena nulová (není třeba cenu zlepšovat). 36
Předpokládejme nyní v příkladu zavedení výroby třetího výrobku (speciální SD karty na zakázku) Lisování 5 minut Balení 5 minut Zisk 10 Kč Optimální řešení: x = 110, 5, 0, 50, 15, 0 T z = 4700 1.10 Redukovaná cena Lis: 1 x 1 + 2 x 2 120 [min] Balení: 1 x 1 + 4 x 2 180 [min] Poptávka: 1 x 1 1 x 2 90 [krab. ] SD karty: 1 x 1 + 0 x 2 110 [krab. ] Nezápornost: x 1, x 2 0 [krab. ] Zisk: z = 40 x 1 + 60 x 2 max [Kč] Mgr. Sekničková Jana, Ph.D. 37
1.10 Redukovaná cena Mgr. Sekničková Jana, Ph.D. 38
Mgr. Sekničková Jana, Ph.D. 39
1.10 Redukovaná cena O kolik je třeba zlepšit současný cenový koeficient (10 Kč), aby byl příslušný proces realizován. O kolik se zhorší hodnota účelové funkce, když budeme nuceni realizovat příslušný proces s jednotkovou intenzitou. Mgr. Sekničková Jana, Ph.D. 40
Současná cena: c 3 = 10 Redukovaná cena: u = 140 Mgr. Sekničková Jana, Ph.D. 41
Mgr. Sekničková Jana, Ph.D. 42 Současná cena: c 3 = 10 Současný zisk: z = 4700 Redukovaná cena: u = 140
Stínová cena (duální cena, duální proměnná) Pokud je omezení 3.4 LINGO splněno na - hraně, omezení tj. jako rovnost (hodnota přídatné proměnné = 0), udává, o kolik se zlepší z, pokud se kapacita uvolní o jednotku. Omezení Činitelé Pokud je omezení splněno s rezervou (hodnota přídatné proměnné > 0), je Hodnoty stínová cena přídatných nulová (malá proměnných změna kapacity Rezerva nezpůsobí změnu z). Hodnoty přídatných proměnných Názvy Stínové ceny Omezení Mgr. Sekničková Jana, Ph.D. 43
Stínová cena Pokud je omezení splněno s rezervou (hodnota přídatné proměnné > 0), je stínová cena nulová (malá změna kapacity nezpůsobí změnu z). Optimální řešení: x = 110, 5, 0, 50, 15, 0 T z = 4700 Lis: 1 x 1 + 2 x 2 120 [min] Balení: 1 x 1 + 4 x 2 180 [min] Poptávka: 1 x 1 1 x 2 90 [krab. ] SD karty: 1 x 1 + 0 x 2 110 [krab. ] Nezápornost: x 1, x 2 0 [krab. ] Zisk: z = 40 x 1 + 60 x 2 max [Kč] Mgr. Sekničková Jana, Ph.D. 44
Stínová cena Pokud je omezení splněno na hraně, tj. jako rovnost (hodnota přídatné proměnné = 0), udává, o kolik se zlepší z, pokud se kapacita uvolní o jednotku. Optimální řešení: x = 110, 5, 0, 50, 15, 0 T z = 4700 Lis: 1 x 1 + 2 x 2 120 [min] Balení: 1 x 1 + 4 x 2 180 [min] Poptávka: 1 x 1 1 x 2 90 [krab. ] Šroubky: 1 x 1 + 0 x 2 110 [min] Nezápornost: x 1, x 2 0 [krab. ] Zisk: 40 x 1 + 60 x 2 max [Kč] Mgr. Sekničková Jana, Ph.D. 45
Mgr. Sekničková Jana, Ph.D. 46 Současná kapacita: b 1 = 120 Současný zisk: z = 4700 Stínová cena: u = 30
Stínové ceny Omezení ve tvaru nerovnice typu : a i1 x 1 + a i2 x 2 + + a in x n b i Zvětšení pravé strany rozšiřuje množinu přípustných řešení Zlepšení řešení maximalizace zvýšení hodnoty účelové funkce minimalizace snížení hodnoty účelové funkce Omezení ve tvaru nerovnice typu : a i1 x 1 + a i2 x 2 + + a in x n b i Zvětšení pravé strany zmenšuje množinu přípustných řešení Zhoršení řešení maximalizace snížení hodnoty účelové funkce minimalizace zvýšení hodnoty účelové funkce Mgr. Sekničková Jana, Ph.D. 47
2. Lineární programování stabilita a celočíselnost
2.1 Redukované a stínové ceny Interpretace pro redukované i stínové ceny platí jen při malých změnách CO JE MALÁ ZMĚNA? Interpretace pro redukované i stínové ceny platí jen při změnách v rámci intervalu stability Mgr. Sekničková Jana, Ph.D. 49
2.1 LINGO - stabilita LINGO Options General Solver Dual Computations Prices & Ranges Mgr. Sekničková Jana, Ph.D. 50
2.1 LINGO - stabilita Vyřešit úlohu (CTRL + U) Z okna s modelem (ne s řešením) zobrazit Range report (CTRL + R) Mgr. Sekničková Jana, Ph.D. 51
2.1 LINGO - stabilita Současná hodnota Povolený nárůst Povolený pokles Proměnné Omezení Mgr. Sekničková Jana, Ph.D. 52
2.2 Intervaly stability cenových koeficientů Účelová funkce: z = 40 x 1 + 60 x 2 max [Kč] c 1 40 10, c 2 60 60, 40 + c 1 30, 60 + 20 c 2 0, 80 Mgr. Sekničková Jana, Ph.D. 53
80 x 2 60 50 45 40 c 1 30, Změna cenového koeficientu Při jakém c 1 je Lis: 1 x 1 + 2 x 2 120 min Zisk: 40 30 x 1 + 60 x 2 = z max [Kč] řešení stabilní? OPTIMUM 0 60 90 110 120 180 (2) x 1 (1) Z max -90 (3) (4) Množina 1 Osy x a 80 50 40 x 1 x -+ 1, 0 přípustných 24 + x 2 x60 2 90 0 120 180 x 110 2 max řešení (z = 80 50 40 60 = 4800) 3000) 2400) Mgr. Sekničková Jana, Ph.D. 54
2.3 Intervaly stability pravých stran b 1 120 10, 120 + 25 b 1 110, 145 b 2 180 50, 180 + b 2 130, b 3 90, 90 + 15 b 3, 105 b 4 110 10, 110 + 10 b 4 100, 120 Mgr. Sekničková Jana, Ph.D. 55
Změna pravé strany Při jakém b 4 je b 4 100, 120 Z max OPTIMUM řešení stabilní? OPTIMUM OPTIMUM (2) (1) 90 95 100 105 110 (3) (4) x 1 Množina přípustných řešení Mgr. Sekničková Jana, Ph.D. 56
Celočíselné řešení Z max OPTIMUM (2) OPTIMUM (1) 90 95 100 105 110 (3) (4) Mgr. Sekničková Jana, Ph.D. 57 x 1 Množina přípustných řešení
2.4 Celočíselnost v úlohách LP Množina přípustných řešení obsahuje jen celočíselné body (mřížka) Úlohu řešíme nejprve bez podmínek celočíselnosti Pokud vyjde řešení celočíselně, máme OŘ Pokud nevyjde celočíselně, použijeme některou z metod pro hledání celočíselného řešení (větve a meze, Gomoryho apod.) oříznutí množiny PŘ LINGO: funkce @gin(x1); Pozor: při použití podmínek celočíselnosti ztratíme informaci o redukovaných a stínových cenách Mgr. Sekničková Jana, Ph.D. 58
2.4 LINGO - celočíselnost Mgr. Sekničková Jana, Ph.D. 59
2.4 LINGO - celočíselnost Mgr. Sekničková Jana, Ph.D. 60
Detaily k přednášce: skripta KONEC Mgr. Sekničková Jana, Ph.D. 61