4EK311 Operační výzkum 3. Optimalizační software a stabilita řešení úloh LP
3.1 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] Šroubky: 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. 2
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) Mgr. Sekničková Jana, Ph.D. 3
3.2 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] Šroubky: 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. 4
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. 5
3.3 Ř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] Šroubky: 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. 6
3.4 Ř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. 7
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ší 3.4 Řešení pomocí softwaru Mgr. Sekničková Jana, Ph.D. 8
3.4 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. 9
Mgr. Sekničková Jana, Ph.D. 10
3.4 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. ] Šroubky: 1 x 1 + 0 x 2 110 [krab. ] Nezápornost: x 1, x 2 0 [krab. ] Zisk: 40 x 1 + 60 x 2 max [Kč] Mgr. Sekničková Jana, Ph.D. 11
3.4 LINGO - řešení Mgr. Sekničková Jana, Ph.D. 12
3.4 LINGO výstup řešení Hodnota účelové funkce Proměnné Omezení Účelová funkce Mgr. Sekničková Jana, Ph.D. 13
3.4 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). 14
Předpokládejme nyní v příkladu zavedení výroby třetího výrobku (klíč na utahování šroubů) Lisování 5 minut Balení 5 minut Zisk 10 Kč Optimální řešení: x = 110, 5, 0, 50, 15, 0 T z = 4700 3.4 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. ] Šroubky: 1 x 1 + 0 x 2 110 [krab. ] Nezápornost: x 1, x 2 0 [krab. ] Zisk: 40 x 1 + 60 x 2 max [Kč] Mgr. Sekničková Jana, Ph.D. 15
3.4 Redukovaná cena Mgr. Sekničková Jana, Ph.D. 16
Mgr. Sekničková Jana, Ph.D. 17
Redukovaná cena Pokud se proces 3.4 realizuje Redukovaná (hodnota cena strukturní proměnné > 0), je redukovaná cena nulová (není třeba cenu zlepšovat). Pokud se proces nerealizuje (hodnota strukturní proměnné = 0), udává, o kolik se musí zlepšit cena, aby bylo výhodné proces realizovat. 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. 18
Současná cena: c 3 = 10 Redukovaná cena: u = 140 Mgr. Sekničková Jana, Ph.D. 19
Mgr. Sekničková Jana, Ph.D. 20 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. 21
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. ] Šroubky: 1 x 1 + 0 x 2 110 [krab. ] Nezápornost: x 1, x 2 0 [krab. ] Zisk: 40 x 1 + 60 x 2 max [Kč] Mgr. Sekničková Jana, Ph.D. 22
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 [krab. ] Nezápornost: x 1, x 2 0 [krab. ] Zisk: 40 x 1 + 60 x 2 max [Kč] Mgr. Sekničková Jana, Ph.D. 23
Mgr. Sekničková Jana, Ph.D. 24 Současná kapacita: b 1 = 120 Současný zisk: z = 4700 Stínová cena: u = 30
Stínové Stínová ceny cena O kolik se zlepší z, pokud se kapacita uvolní o jednotku. 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. 25
3.4 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. 26
3.5 LINGO - stabilita LINGO Options General Solver Dual Computations Prices & Ranges Mgr. Sekničková Jana, Ph.D. 27
3.5 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. 28
3.5 LINGO - stabilita Současná hodnota Povolený nárůst Povolený pokles Proměnné Omezení Mgr. Sekničková Jana, Ph.D. 29
3.5 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. 30
80 x 2 60 50 45 40 c 1 30, Změna cenového koeficientu OPTIMUM 0 60 90 110 120 180 (2) x 1 (1) Z max -90 (3) (4) Mgr. Sekničková Jana, Ph.D. 31
3.5 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. 32
Změna pravé strany b 4 100, 120 Z max OPTIMUM (2) (1) 90 95 100 105 110 (3) (4) x 1 Mgr. Sekničková Jana, Ph.D. 33
Celočíselné řešení Z max OPTIMUM (2) (1) 90 95 100 105 110 (3) (4) Mgr. Sekničková Jana, Ph.D. 34 x 1 Množina přípustných řešení
3.6 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. 35
3.6 LINGO - celočíselnost Mgr. Sekničková Jana, Ph.D. 36
3.6 LINGO - celočíselnost Mgr. Sekničková Jana, Ph.D. 37
Detaily k přednášce: skripta, kapitola 4 a kapitoly 2.7 a 2.8 KONEC Mgr. Sekničková Jana, Ph.D. 38