Kvantitativní metody v rozhodování Každý manažer je ve své denodenní praxi vystaven řadě rozhodovacích situací a problémů, které může analyzovat ze dvou hledisek: • buď na základě znalostí a zkušeností (kvalitativní analýza) • nebo pomocí údajů v numerické podobě a jejich exaktního matematického zpracování (kvantitativní analýza), viz schéma. KVALITATIVNÍ ANALÝZA založená na úsudku a zkušenostech manažera Manažerský problém KVANTITATIVNÍ _> ANALÝZA založená na matematických technikách Kvantitativní metody v rozhodování Ve specifických situacích je samozřejmě možné provádět jen jednu ze zmíněných analýz. Spolehneme-li se však pouze na kvalitativní analýzu bez číselných propočtů, závisí výsledek do značné míry na dobrém úsudku manažera. Naopak přílišná důvěra v numerické výsledky může být zavádějící: každé číselné řešení je přesné jen do té míry, jak přesně byl zkonstruován model. Navíc kvantitativní analýza problému může být zdlouhavá a neefektivní v situaci, kdy je třeba přijmout rozhodnutí rychle. Kdy by tedy měl manažer přizvat na pomoc kvantitativní metody? Kvantitativní metody v rozhodování Ve specifických situacích je samozřejmě možné provádět jen jednu ze zmíněných analýz. Spolehneme-li se však pouze na kvalitativní analýzu bez číselných propočtů, závisí výsledek do značné míry na dobrém úsudku manažera. Naopak přílišná důvěra v numerické výsledky může být zavádějící: každé číselné řešení je přesné jen do té míry, jak přesně byl zkonstruován model. Navíc kvantitativní analýza problému může být zdlouhavá a neefektivní v situaci, kdy je třeba přijmout rozhodnutí rychle. Kdy by tedy měl manažer přizvat na pomoc kvantitativní metody? Zejména, je-li problém: • složitý, kdy specialisté mohou manažerovi pomoci prostřednictvím simulace reality vhodným modelem a velmi důležitý, například jde-li o velké peníze a manažer chce mít pro rozhodování solidní podklady a nový, chybí zkušenosti s řešením obdobných problémů • opakovaný, takže použití ověřených kvantitativních procedur šetří čas i prostředky Ekonomicko - matematický model Modelem rozumíme určité zobrazení reálného systému. Nikdy nejde o dokonalý obraz skutečnosti, to ani není žádoucí! Správně zkonstruovaný model musí vystihovat pouze ty vlastnosti, které jsou z hlediska řešení problému důležité. Zahrneme-li do modelu všechny detaily, bude složitý, špatně řešitelný a nepřehledný. Na druhou stranu při přílišné snaze o zjednodušení můžou být opomenuty některé významné skutečnosti a vazby. Při modelování je klíčové právě dobré nastavení vztahu mezi reálným světem a modelem. Ekonomicko - matematický model Modelem rozumíme určité zobrazení reálného systému. Nikdy nejde o dokonalý obraz skutečnosti, to ani není žádoucí! Správně zkonstruovaný model musí vystihovat pouze ty vlastnosti, které jsou z hlediska řešení problému důležité. Zahrneme-li do modelu všechny detaily, bude složitý, špatně řešitelný a nepřehledný. Na druhou stranu při přílišné snaze o zjednodušení můžou být opomenuty některé významné skutečnosti a vazby. Při modelování je klíčové právě dobré nastavení vztahu mezi reálným světem a modelem. Manažer by měl umět problém dobře • formulovat tak, aby bylo možné k jeho řešení využít kvantitativních metod, a následně výsledky • interpretovat a implementovat do praxe. S vlastním řešením matematického modelu mohou pomoci experti či specializovaný software. I při možnosti využití výpočetní techniky je však dobré mít přehled o dostupných metodách, abychom v konkrétní situaci uměli vybrat vhodný algoritmus a nastavit jeho parametry. Co to je "optimalizace"? Při optimalizaci řešíme problém výběru "nejlepšího řešení" mezi všemi "možnými řešeními". V každé konkrétní úloze je třeba pojmy uvedené v uvozovkách specifikovat. Všechna možná řešení budeme dále popisovat pomocí množiny M , kterou nazveme množina přípustných řešení, a míru kvality řešení budeme vyjadřovat prostřednictvím funkce f: M ->• R , která se označuje jako cílová nebo kriteriální nebo též účelová funkce. Zadání optimalizační úlohy pak zní: Najděte prvek x* e M takový, že platí: f(x*) > f(x), Vx e M, Co to je "optimalizace"? Při optimalizaci řešíme problém výběru "nejlepšího řešení" mezi všemi "možnými řešeními". V každé konkrétní úloze je třeba pojmy uvedené v uvozovkách specifikovat. Všechna možná řešení budeme dále popisovat pomocí množiny M , kterou nazveme množina přípustných řešení, a míru kvality řešení budeme vyjadřovat prostřednictvím funkce f: M ->• R , která se označuje jako cílová nebo kriteriální nebo též účelová funkce. Zadání optimalizační úlohy pak zní: Najděte prvek x* e M takový, že platí: f(x*) > f(x), Vx e M, Pozn.: Maximalizační úlohu "f ->• max"\ze snadno převést na minimalizační úlohu "—f ->• min". Co to je "optimalizace"? Při optimalizaci řešíme problém výběru "nejlepšího řešení" mezi všemi "možnými řešeními". V každé konkrétní úloze je třeba pojmy uvedené v uvozovkách specifikovat. Všechna možná řešení budeme dále popisovat pomocí množiny M , kterou nazveme množina přípustných řešení, a míru kvality řešení budeme vyjadřovat prostřednictvím funkce f: M ->• R , která se označuje jako cílová nebo kriteriální nebo též účelová funkce. Zadání optimalizační úlohy pak zní: Najděte prvek x* e M takový, že platí: f(x*) > f(x), Vx e M, Pozn.: Maximalizační úlohu "f ->• max"\ze snadno převést na minimalizační úlohu "—f ->• min". Příklady optimalizačních úloh v ekonomii: Co to je "optimalizace"? Při optimalizaci řešíme problém výběru "nejlepšího řešení" mezi všemi "možnými řešeními". V každé konkrétní úloze je třeba pojmy uvedené v uvozovkách specifikovat. Všechna možná řešení budeme dále popisovat pomocí množiny M , kterou nazveme množina přípustných řešení, a míru kvality řešení budeme vyjadřovat prostřednictvím funkce f: M ->• R , která se označuje jako cílová nebo kriteriální nebo též účelová funkce. Zadání optimalizační úlohy pak zní: Najděte prvek x* e M takový, že platí: f(x*) > f(x), Vx e M, Pozn.: Maximalizační úlohu "f ->• max"\ze snadno převést na minimalizační úlohu "—f ->• min". Příklady optimalizačních úloh v ekonomii: • Optimalizace výrobního programu • Optimalizace portfolia • Optimální rozdělení práce a řazení pracovních operací • Minimalizace distribučních nákladů, plánování rozvozních tras a umístění distribučních center • Minimalizace doby realizace při řízení projektů • Optimální řízení zásob Co je to "optimalizace"? Z hlediska přípustné množiny rozlišujeme dva typy optimalizačních úloh: • Je-li přípustným řešením každý bod x n-rozměrného Euklidova prostoru R", tj. M — M", hovoříme o nepodmíněné optimalizaci, resp. o volných extrémech. Postup analytického řešení takových úloh je znám ze základního kurzu matematiky • V opačném případě, tedy je-li McK" hovoříme o vázaných extrémech. Jejich existenci pro spojitou funkce na omezené uzavřené množině zaručuje Weierstrassova věta. Možnosti analytického řešení složitějších úloh (např. když je v úloze mnoho proměnných, komplikovaná hranice přípustné množiny nebo dostaneme nelineární rovnice pro určení stacionárního bodu) jsou však omezené. Proto byly vyvinuty speciální metody pro řešení určitých typů optimalizačních úloh. Matematické programování Pojem matematické programování označuje souhrn metod sloužících k optimalizaci předem definovaného kritéria vyjádřeného jako funkce n proměnných při současném splnění omezujících podmínek zadaných zpravidla ve formě rovností a nerovností. Úlohy matematického programování můžeme rozdělit na úlohy • lineárního programování (dále jen LP), kdy účelová funkce i omezující podmínky jsou lineárními funkcemi proměnných • nelineárního programování (NLP), když výše uvedená podmínka není splněna. Speciálním případem NLP je kvadratické programování, kdy účelová funkce je polynom druhého stupně, ale omezující podmínky jsou lineární. Matematické programování Pojem matematické programování označuje souhrn metod sloužících k optimalizaci předem definovaného kritéria vyjádřeného jako funkce n proměnných při současném splnění omezujících podmínek zadaných zpravidla ve formě rovností a nerovností. Úlohy matematického programování můžeme rozdělit na úlohy • lineárního programování (dále jen LP), kdy účelová funkce i omezující podmínky jsou lineárními funkcemi proměnných • nelineárního programování (NLP), když výše uvedená podmínka není splněna. Speciálním případem NLP je kvadratické programování, kdy účelová funkce je polynom druhého stupně, ale omezující podmínky jsou lineární. Dále se zaměříme hlavně na modely LP, ty jsou jednoznačně nejrozšířenější. Proč? Hodně reálných problémů lze dobře formulovat jako úlohu LP, pro jejich rychlé řešení jsou dostupné programové prostředky, atp. V praxi se sice běžně vyskytují nelineární vztahy (např. neproporcionalita: když cena není konstantní, tak příjem není přímo úměrný prodanému množství, neaditivita: objem roztoku není roven součtu objemů výchozích látek, apod.), avšak kvůli nepoměrně větší složitosti postupů NLP bývá často výhodnější použít aproximaci lineárním modelem. Lineární programování Při formulaci úlohy matematického programování je třeba vycházet z dobře popsaného ekonomického modelu. Lineární programování Při formulaci úlohy matematického programování je třeba vycházet z dobře popsaného ekonomického modelu. Je tedy třeba znát: • cíl, jehož chceme dosáhnout (tedy zvolit kritérium: zisk nebo náklady nebo objem výroby, atd. a určit, zda se jej budeme snažit minimalizovat nebo maximalizovat) • řiditelné vstupy, tj. jaké proměnné můžeme ovlivňovat za účelem dosažení cíle (počet vyrobených kusů různých typů produktu, velikost převáženého nákladu, atd.) « neřiditelné vstupy neboli omezení, která nás limitují (ceny nakupovaných surovin, dispoziční množství zdrojů, kapacita zařízení, atd.) Neřiditelné vstupy (externí limity) Řiditelné vstupy (rozhodovací proměnné) Matematický ř Řešení (hodnoty proměnných) Úloha LP - Optimalizace výrobního programu Veškerý další výklad problematiky lineárního programování bude ilustrován na následující optimalizační úloze převzaté z knihy Josefa Jablonského "Operační výzkum, Kvantitativní modely pro ekonomické rozhodování": Balírny a pražírny kávy DE, a.s. plánují výrobu dvou směsí Mocca a Standard. Od dodavatelů mají k dispozici tři druhy kávových bobů Ki, K2 a K3 v kapacitě 40, 60 a 25 tun. Technologický postup určující skladbu směsí shrňme v tabulce. Komponenta Mocca Standard Kapacita [t] *1 0,5 0,25 40 K2 0,5 0,5 60 K3 0,25 25 Vzhledem k výrobním nákladům a prodejní ceně směsí byl vykalkulován zisk, který činí 20000 Kč resp. 14000 Kč na jednu tunu směsi Mocca resp. Standard. Management firmy chce naplánovat produkci tak, aby její zisk byl maximální. Formulace úlohy optimalizace výrobního programu Označíme - li x-i množství tun směsi Mocca a x2 množství tun směsi Standard, můžeme problém formulovat matematicky jako úlohu maximalizovat účelovou funkci: z = 20000X! + 14000x2 za podmínek 0,5xi + 0,25x2 < 40 0,5xi + 0,5x2 < 60 0,25X2 <25 X!, x2 > 0 Formulace úlohy optimalizace výrobního programu Označíme - li x-\ množství tun směsi Mocca a x2 množství tun směsi Standard, můžeme problém formulovat matematicky jako úlohu maximalizovat účelovou funkci: z = 20000X! + 14000x2 za podmínek 0,5xi + 0,25x2 <40 0,5xi + 0,5x2 < 60 0,25X2 <25 Xi, x2 > 0 Je možný též maticový zápis úlohy: z — cT x ->• max za podmínek A x < b, x > 0, kde x — (xi, x2)T je vektor strukturních proměnných, c — (20, 14) je vektor cenových koeficientů v účelové funkci, b — (40,60,25)T je vektor kapacitních / 0,5 0,25 \ omezeníaA= 0,5 0,5 je matice strukturních koeficientů. \ 0 0,25 J Matematická formulace obecné úlohy LP Obecnou úlohu LP pro n proměnných a m omezení můžeme zapsat takto: minimalizuj (maximalizuj) funkci za podmínek E"=i agy ? bh /' = 1,... m xy > 0, y = 1,... n, kde na místě symbolů ? můžou být libovolná relační znaménka <, =, >. Omezení se uvádějí v takové podobě, aby pravé strany b-, byly nezáporné. Matematická formulace obecné úlohy LP Obecnou úlohu LP pro n proměnných a m omezení můžeme zapsat takto: minimalizuj (maximalizuj) funkci za podmínek E"=i agy ? bh /' = 1,... m xj > 0, j = 1,... n, kde na místě symbolů ? můžou být libovolná relační znaménka <, =, >. Omezení se uvádějí v takové podobě, aby pravé strany b-, byly nezáporné. Je dobré si uvědomit, že jednu úlohu lze formulovat různými způsoby. Snadno lze převést úlohu minimalizační na úlohu maximalizace funkce -z — I]"=1(-c,)xy. Omezení ve formě rovnosti lze přepsat jako dvě nerovnice typu < a > s týmiž koeficienty i pravou stranou jako původní rovnice. Převod omezení ve formě nerovnosti na rovnici se zase řešení zavedením dodatečných proměnných, jaksi dále ukážeme. Grafické řešení úlohy LP Úlohy obsahující pouze dvě proměnné lze řešit graficky. Ukažme si postup pro naši úlohu o kávě. A 0,5x.,+0,25x2<40 Kvůli nezápornosti proměnných se omezíme pouze na první kvadrant. Znázorníme zde polorovinu tvořenou body splňujícími první omezující podmínku. Grafické řešení úlohy LP Úlohy obsahující pouze dvě proměnné lze řešit graficky. Ukažme si postup pro naši úlohu o kávě. A 0,5x1+0,5x2<60 Znázorníme také polorovinu tvořenou body splňujícími druhou omezující podmínku. Grafické řešení úlohy LP Úlohy obsahující pouze dvě proměnné lze řešit graficky. Ukažme si postup pro naši úlohu o kávě. A 0,25x2<25 Znázorníme ještě polorovinu tvořenou body splňujícími třetí omezující podmínku. Grafické řešení úlohy LP Úlohy obsahující pouze dvě proměnné lze řešit graficky. Ukažme si postup pro naši úlohu o kávě. A Množina přípustných řešení M je tvořena body, které vyhovují všem omezením. Grafické řešení úlohy LP Úlohy obsahující pouze dvě proměnné lze řešit graficky. Ukažme si postup pro naši úlohu o kávě. A x2 M Izokvanta účelové funkce z = 20000X! + 14000x2 = 0 Grafické řešení úlohy LP Úlohy obsahující pouze dvě proměnné lze řešit graficky. Ukažme si postup pro naši úlohu o kávě. A Izokvanta účelové funkce z = 20000X! + 14000x2 = 350000 Grafické řešení úlohy LP Úlohy obsahující pouze dvě proměnné lze řešit graficky. Ukažme si postup pro naši úlohu o kávě. A Izokvanta účelové funkce z = 20000X! + 14000x2 = 700000 Grafické řešení úlohy LP Úlohy obsahující pouze dvě proměnné lze řešit graficky. Ukažme si postup pro naši úlohu o kávě. A Izokvanta účelové funkce z = 20000X! + 14000x2 = 1050000 Grafické řešení úlohy LP Úlohy obsahující pouze dvě proměnné lze řešit graficky. Ukažme si postup pro naši úlohu o kávě. A z= 1920000 Izokvanta účelové funkce z = 20000X! + 14000x2 = 1920000 Grafické řešení úlohy LP Úlohy obsahující pouze dvě proměnné lze řešit graficky. Ukažme si postup pro naši úlohu o kávě. Nejvyšší izokvanta se dotýká množiny M v bodě x* Grafické řešení úlohy LP Úlohy obsahující pouze dvě proměnné lze řešit graficky. Ukažme si postup pro naši úlohu o kávě. 40 80 Bod x* — [40,80] je optimálním řešením. ■OQ.O Základní věta lineárního programování Přípustná množina M je vymezena obligátními podmínkami (nezápornost) a omezujícími podmínkami A • x < b. Ty lze vyjádřit pomocí rovností: 0,5xi + 0,25x2 + x3 =40 0,5xi + 0,5x2 + x4 =60 0,25x2 + x5 =25 Základní věta lineárního programování Přípustná množina M je vymezena obligátními podmínkami (nezápornost) omezujícími podmínkami A • x < b. Ty lze vyjádřit pomocí rovností: 0,5*1 + 0,25x2 + x3 =40 0,5xi + 0,5x2 + x4 =60 0,25x2 + x5 =25 Proměnné x3, x4, x5 označujeme jako přídatné a lze je ekonomicky interpretovat jako nevyužitou kapacitu jednotlivých surovin. Základní věta lineárního programování Přípustná množina M je vymezena obligátními podmínkami (nezápornost) a omezujícími podmínkami A • x < b. Ty lze vyjádřit pomocí rovností: 0,5*1 + 0,25x2 + x3 =40 0,5xi + 0,5x2 + x4 =60 0,25x2 + x5 =25 Proměnné x3, x4, x5 označujeme jako přídatné a lze je ekonomicky interpretovat jako nevyužitou kapacitu jednotlivých surovin. Soustava obsahuje m rovnic pro m + n proměnných, může mít obecně nekonečně mnoho řešení. Takové řešení soustavy, pro které je n proměnných rovno nule, nazýváme základní (Ve 2D odpovídají základní řešení průsečíkům hraničních přímek jednotlivých nerovností.) Nenulové proměnné pak označujeme jako základní, nulové jako nezákladní. Základní věta lineárního programování Přípustná množina M je vymezena obligátními podmínkami (nezápornost) a omezujícími podmínkami A • x < b. Ty lze vyjádřit pomocí rovností: 0,5*1 + 0,25x2 + x3 =40 0,5xi + 0,5x2 + x4 =60 0,25x2 + x5 =25 Proměnné x3, x4, x5 označujeme jako přídatné a lze je ekonomicky interpretovat jako nevyužitou kapacitu jednotlivých surovin. Soustava obsahuje m rovnic pro m+ n proměnných, může mít obecně nekonečně mnoho řešení. Takové řešení soustavy, pro které je n proměnných rovno nule, nazýváme základní (Ve 2D odpovídají základní řešení průsečíkům hraničních přímek jednotlivých nerovností.) Nenulové proměnné pak označujeme jako základní, nulové jako nezákladní. Pozor! Ne každé základní řešení je přípustné. Přípustná základní řešení odpovídají krajním bodům M. V našm příkladě je m — 3, n — 2; celkem dostaneme ? základních řešení, z toho ? přípustných. Základní věta lineárního programování Přípustná množina M je vymezena obligátními podmínkami (nezápornost) a omezujícími podmínkami A • x < b. Ty lze vyjádřit pomocí rovností: 0,5*1 + 0,25x2 + x3 =40 0,5xi + 0,5x2 + x4 =60 0,25x2 + x5 =25 Proměnné x3, x4, x5 označujeme jako přídatné a lze je ekonomicky interpretovat jako nevyužitou kapacitu jednotlivých surovin. Soustava obsahuje m rovnic pro m+ n proměnných, může mít obecně nekonečně mnoho řešení. Takové řešení soustavy, pro které je n proměnných rovno nule, nazýváme základní (Ve 2D odpovídají základní řešení průsečíkům hraničních přímek jednotlivých nerovností.) Nenulové proměnné pak označujeme jako základní, nulové jako nezákladní. Pozor! Ne každé základní řešení je přípustné. Přípustná základní řešení odpovídají krajním bodům M. V našm příkladě je m — 3, n — 2; celkem dostaneme ? základních řešení, z toho ? přípustných. Hlavní věta lineárního programování: Jestliže má úloha optimální řešení, pak má také optimální základní řešení. OQ.O Simplexová tabulka Uvedenou soustavu rovnic můžeme zapsat maticově jako (A, I) • (xi, x2, x3, x4, x5)T — b, kde I je jednotková matice řádu m = 3. Každou takovou soustavu m rovnic pro m + n neznámých, kde matice levé strany obsahuje všechny sloupce jednotkové matice řádu m, nazveme soustavou v kanonickém tvaru. Simplexová tabulka Uvedenou soustavu rovnic můžeme zapsat maticově jako (A, I) • (xi, x2, x3, x4, x5)T — b, kde I je jednotková matice řádu m = 3. Každou takovou soustavu m rovnic pro m + n neznámých, kde matice levé strany obsahuje všechny sloupce jednotkové matice řádu m, nazveme soustavou v kanonickém tvaru. Snadno vidíme jedno z řešení takové soustavy: x-\ = 0, x2 — 0, x3 = b-\ — 40, x4 = b2 — 60, x5 — Ď3 — 25, jde dokonce o řešení základní. Znázorněme vše do přehledné tabulky: zákl. prom. Xi x2 x3 x4 x5 bj x4 x5 1 1 1 í 2 2 o 1 1 0 0 0 1 0 0 0 1 40 60 25 zi -20 -14 0 0 0 0 Simplexová tabulka Uvedenou soustavu rovnic můžeme zapsat maticově jako (A, I) • (xi, x2, x3, x4, x5)T — b, kde I je jednotková matice řádu m = 3. Každou takovou soustavu m rovnic pro m + n neznámých, kde matice levé strany obsahuje všechny sloupce jednotkové matice řádu m, nazveme soustavou v kanonickém tvaru. Snadno vidíme jedno z řešení takové soustavy: x-\ = 0, x2 — 0, x3 = b-\ — 40, x4 = b2 — 60, x5 — Ď3 — 25, jde dokonce o řešení základní. Znázorněme vše do přehledné tabulky: zákl. prom. X1 x2 x3 x4 x5 bi x4 1 1 1 í 2 2 o 1 1 0 0 0 1 0 0 0 1 40 60 25 zi -20 -14 0 0 0 0 Poslední řádek odpovídá účelové funkci v tzv anulovaném tvaru, původní vyjádření z = 20x-\ + 14x2 [v tis. Kč] jsme převedli na tvar z - 20xi - 14x2 - 0x3 - 0x4 - OX5, pro výchozí základní řešení dostaneme hodnotu účelové funkce z — 0, viz pravý dolní roh tabulky. Uvedené schéma nazveme výchozí simplexovou tabulkou úlohy. Simplexová metoda Simplexová metoda je iterační postup k nalezení optimálního řešení úlohy LP. Úvodním krokem je nalezení výchozího základního řešení. U úloh obsahujících pouze nerovnice typu "<"je tento krok díky přídatným proměnným jednoduchý, u jiných typů úloh jej získáme řešením počáteční úlohy minimalizace pomocných proměnných vyjadřujících porušení omezujících podmínek, hovoříme pak o dvoufázové simplexové metodě. Dále metoda v jednotlivých krocích vypočte nové základní řešení s lepší hodnotou účelové funkce. Po konečném počtu kroků se nalezne řešení s nejlepší hodnotou účelové funkce (podle základní věty LP jde pak o optimální řešení celé úlohy) nebo se zjistí, že takové řešení neexistuje. Simplexová metoda Simplexová metoda je iterační postup k nalezení optimálního řešení úlohy LP. Úvodním krokem je nalezení výchozího základního řešení. U úloh obsahujících pouze nerovnice typu "<"je tento krok díky přídatným proměnným jednoduchý, u jiných typů úloh jej získáme řešením počáteční úlohy minimalizace pomocných proměnných vyjadřujících porušení omezujících podmínek, hovoříme pak o dvoufázové simplexové metodě. Dále metoda v jednotlivých krocích vypočte nové základní řešení s lepší hodnotou účelové funkce. Po konečném počtu kroků se nalezne řešení s nejlepší hodnotou účelové funkce (podle základní věty LP jde pak o optimální řešení celé úlohy) nebo se zjistí, že takové řešení neexistuje. Na obrázku ukažme schematické znázornění postupu ve 3D. Množina přípustných řešení Simplexová metoda Simplexová metoda je iterační postup k nalezení optimálního řešení úlohy LP. Úvodním krokem je nalezení výchozího základního řešení. U úloh obsahujících pouze nerovnice typu "<"je tento krok díky přídatným proměnným jednoduchý, u jiných typů úloh jej získáme řešením počáteční úlohy minimalizace pomocných proměnných vyjadřujících porušení omezujících podmínek, hovoříme pak o dvoufázové simplexové metodě. Dále metoda v jednotlivých krocích vypočte nové základní řešení s lepší hodnotou účelové funkce. Po konečném počtu kroků se nalezne řešení s nejlepší hodnotou účelové funkce (podle základní věty LP jde pak o optimální řešení celé úlohy) nebo se zjistí, že takové řešení neexistuje. Na obrázku ukažme schematické znázornění postupu ve 3D. výchozí bod Výchozí základní řešení Simplexová metoda Simplexová metoda je iterační postup k nalezení optimálního řešení úlohy LP. Úvodním krokem je nalezení výchozího základního řešení. U úloh obsahujících pouze nerovnice typu "<"je tento krok díky přídatným proměnným jednoduchý, u jiných typů úloh jej získáme řešením počáteční úlohy minimalizace pomocných proměnných vyjadřujících porušení omezujících podmínek, hovoříme pak o dvoufázové simplexové metodě. Dále metoda v jednotlivých krocích vypočte nové základní řešení s lepší hodnotou účelové funkce. Po konečném počtu kroků se nalezne řešení s nejlepší hodnotou účelové funkce (podle základní věty LP jde pak o optimální řešení celé úlohy) nebo se zjistí, že takové řešení neexistuje. Na obrázku ukažme schematické znázornění postupu ve 3D. výchozí bod Přesuneme se do sousedního bodu s lepší hodnotou účelové funkce Simplexová metoda Simplexová metoda je iterační postup k nalezení optimálního řešení úlohy LP. Úvodním krokem je nalezení výchozího základního řešení. U úloh obsahujících pouze nerovnice typu "<"je tento krok díky přídatným proměnným jednoduchý, u jiných typů úloh jej získáme řešením počáteční úlohy minimalizace pomocných proměnných vyjadřujících porušení omezujících podmínek, hovoříme pak o dvoufázové simplexové metodě. Dále metoda v jednotlivých krocích vypočte nové základní řešení s lepší hodnotou účelové funkce. Po konečném počtu kroků se nalezne řešení s nejlepší hodnotou účelové funkce (podle základní věty LP jde pak o optimální řešení celé úlohy) nebo se zjistí, že takové řešení neexistuje. Na obrázku ukažme schematické znázornění postupu ve 3D. výchozí bod Přesuneme se do sousedního bodu s ještě lepší hodnotou účelové funkce Simplexová metoda Simplexová metoda je iterační postup k nalezení optimálního řešení úlohy LP. Úvodním krokem je nalezení výchozího základního řešení. U úloh obsahujících pouze nerovnice typu "<"je tento krok díky přídatným proměnným jednoduchý, u jiných typů úloh jej získáme řešením počáteční úlohy minimalizace pomocných proměnných vyjadřujících porušení omezujících podmínek, hovoříme pak o dvoufázové simplexové metodě. Dále metoda v jednotlivých krocích vypočte nové základní řešení s lepší hodnotou účelové funkce. Po konečném počtu kroků se nalezne řešení s nejlepší hodnotou účelové funkce (podle základní věty LP jde pak o optimální řešení celé úlohy) nebo se zjistí, že takové řešení neexistuje. Na obrázku ukažme schematické znázornění postupu ve 3D. výchozí bod Zase se přesuneme do sousedního bodu s lepší hodnotou účelové funkce Simplexová metoda Simplexová metoda je iterační postup k nalezení optimálního řešení úlohy LP. Úvodním krokem je nalezení výchozího základního řešení. U úloh obsahujících pouze nerovnice typu "<"je tento krok díky přídatným proměnným jednoduchý, u jiných typů úloh jej získáme řešením počáteční úlohy minimalizace pomocných proměnných vyjadřujících porušení omezujících podmínek, hovoříme pak o dvoufázové simplexové metodě. Dále metoda v jednotlivých krocích vypočte nové základní řešení s lepší hodnotou účelové funkce. Po konečném počtu kroků se nalezne řešení s nejlepší hodnotou účelové funkce (podle základní věty LP jde pak o optimální řešení celé úlohy) nebo se zjistí, že takové řešení neexistuje. Na obrázku ukažme schematické znázornění postupu ve 3D. optimum výchozí bod Nelze se přesunout do žádného lepšího bodu, byl nalezen bod optima Iterační krok simplexová metody Čísla Zj v spodním řádku simplexová tabulky nazýváme redukované ceny. Ukazují, jak se změní účelová funkce při přechodu k novému základnímu řešení. Stane-li se nezákladní proměnná proměnnou základní, tj. změní-li hodnotu z 0 na ř > 0, bude přírůstek účelové funkce Az — —t ■ zk. Iterační krok simplexové metody Čísla Zj v spodním řádku simplexové tabulky nazýváme redukované ceny. Ukazují, jak se změní účelová funkce při přechodu k novému základnímu řešení. Stane-li se nezákladní proměnná xk proměnnou základní, tj. změní-li hodnotu z 0 na ř > 0, bude přírůstek účelové funkce Az — —t ■ zk. Při maximalizaci chceme, aby toto Az bylo kladné, tj. aby zk < 0. Pokud jsou všechny redukované ceny nezáporné , již nejde zvýšit hodnotu účelové funkce, řešení je optimální. Iterační krok simplexové metody Čísla Zj v spodním řádku simplexové tabulky nazýváme redukované ceny. Ukazují, jak se změní účelová funkce při přechodu k novému základnímu řešení. Stane-li se nezákladní proměnná xk proměnnou základní, tj. změní-li hodnotu z 0 na ř > 0, bude přírůstek účelové funkce Az — —t ■ zk. Při maximalizaci chceme, aby toto Az bylo kladné, tj. aby zk < 0. Pokud jsou všechny redukované ceny nezáporné , již nejde zvýšit hodnotu účelové funkce, řešení je optimální. Jinak vybereme xk, pro které je zk nejmenší (říkáme mu vstupující proměnná), a nahradíme s ním některou základní (vystupující) proměnnou. Iterační krok simplexové metody Čísla Zj v spodním řádku simplexové tabulky nazýváme redukované ceny. Ukazují, jak se změní účelová funkce při přechodu k novému základnímu řešení. Stane-li se nezákladní proměnná xk proměnnou základní, tj. změní-li hodnotu z 0 na ř > 0, bude přírůstek účelové funkce Az — —t ■ zk. Při maximalizaci chceme, aby toto Az bylo kladné, tj. aby zk < 0. Pokud jsou všechny redukované ceny nezáporné , již nejde zvýšit hodnotu účelové funkce, řešení je optimální. Jinak vybereme xk, pro které je zk nejmenší (říkáme mu vstupující proměnná), a nahradíme s ním některou základní (vystupující) proměnnou. Tedy pro naši simplexovou tabulku zákl. prom. X! X2 x3 x4 x5 Ä x4 1 1 f í 2 2 o 1 1 0 0 0 1 0 0 0 1 40 60 25 zi -14 0 0 0 0 bude vstupující proměnnou x-\, protože -20 je nejmenší hodnota na posledním řádku. Iterační krok simplexové metody Volba vystupující proměnné vychází z nutnosti zachovat přípustnost řešení, tedy nezápornost všech základních proměnných. Zapišme tuto podmínku pro nové hodnoty původních základních proměnných X3, X4, X5, jestliže nově X1 — t. Z platnosti rovnic: x3 = 40-|r>0 x4 = 60 - \t > 0 x5 = 25 - 0 > 0 Zřejmě největší možné takové t\e t — 80, pro ně dostaneme x3 = 0. To se nyní stane vystupující proměnnou. Tabulku přepočteme elementárními úpravami tak, abychom vlevo nahoře dostali jedničku a pod ní samé nuly. Iterační krok simplexové metody Volba vystupující proměnné vychází z nutnosti zachovat přípustnost řešení, tedy nezápornost všech základních proměnných. Zapišme tuto podmínku pro nové hodnoty původních základních proměnných X3, X4, X5, jestliže nově xi — t. Z platnosti rovnic: x3 = 40-|ř>0 x4 = 60 - \t > 0 x5 = 25 - 0 > 0 Zřejmě největší možné takové t\e t — 80, pro ně dostaneme x3 = 0. To se nyní stane vystupující proměnnou. Tabulku přepočteme elementárními úpravami tak, abychom vlevo nahoře dostali jedničku a pod ní samé nuly. zákl. prom. X1 x2 *3 x4 X5 Pi x3 1 1 2 1 4 1 0 0 40 x4 T ! 4 0 1 0 60 x5 0 0 0 1 25 zi 20 -14 0 0 0 0 První řádek vynásobíme dvojkou Iterační krok simplexové metody Volba vystupující proměnné vychází z nutnosti zachovat přípustnost řešení, tedy nezápornost všech základních proměnných. Zapišme tuto podmínku pro nové hodnoty původních základních proměnných X3, X4, X5, jestliže nově X1 — t. Z platnosti rovnic: x3 = 40-|r>0 x4 = 60 - \t > 0 x5 = 25 - 0 > 0 Zřejmě největší možné takové t\e t — 80, pro ně dostaneme x3 = 0. To se nyní stane vystupující proměnnou. Tabulku přepočteme elementárními úpravami tak, abychom vlevo nahoře dostali jedničku a pod ní samé nuly. zákl. prom. X x2 x3 x4 x5 Pí X x4 x5 ! ! 0 ! 2 0 0 0 1 0 0 0 1 80 60 25 zi -20 -14 0 0 0 0 Odečteme jeho polovinu od druhého Iterační krok simplexové metody Volba vystupující proměnné vychází z nutnosti zachovat přípustnost řešení, tedy nezápornost všech základních proměnných. Zapišme tuto podmínku pro nové hodnoty původních základních proměnných X3, X4, X5, jestliže nově xi — t. Z platnosti rovnic: x3 = 40-|r>0 x4 = 60 - \t > 0 x5 = 25 - 0 > 0 Zřejmě největší možné takové t\e t — 80, pro ně dostaneme x3 = 0. To se nyní stane vystupující proměnnou. Tabulku přepočteme elementárními úpravami tak, abychom vlevo nahoře dostali jedničku a pod ní samé nuly. zákl. prom. X1 x2 *3 x4 X5 Pi X1 1 1 ! 4 2 0 0 80 x4 0 -1 1 0 20 *5 0 4 0 0 1 25 zi 20 -14 0 0 0 0 Nakonec přičteme jeho dvacetinásobek k poslednímu. Iterační krok simplexové metody Volba vystupující proměnné vychází z nutnosti zachovat přípustnost řešení, tedy nezápornost všech základních proměnných. Zapišme tuto podmínku pro nové hodnoty původních základních proměnných X3, X4, X5, jestliže nově xi — t. Z platnosti rovnic: x3 = 40-|r>0 x4 = 60 - \t > 0 x5 = 25 - 0 > 0 Zřejmě největší možné takové t\e t — 80, pro ně dostaneme x3 = 0. To se nyní stane vystupující proměnnou. Tabulku přepočteme elementárními úpravami tak, abychom vlevo nahoře dostali jedničku a pod ní samé nuly. zákl. prom. X1 x2 *3 x4 X5 Pi X1 1 1 ! 4 2 0 0 80 x4 0 -1 1 0 20 *5 0 4 0 0 1 25 zi 0 -4 40 0 0 1600 Dostali jsme novou tabulku. Další iterační krok Redukovaná cena z2 — -4 naznačuje, že lze ještě zvýšit účelovou funkci, estliže zvolíme x2 jako vstupující. zákl. prom. x^ x2 x3 x4 x5 Ä x^ 1 1 ? 4 2 0 0 80 x4 0 -1 1 0 20 0 1 4 0 0 1 25 zi 0 -4 40 0 0 1600 Další iterační krok Redukovaná cena z2 — -4 naznačuje, že lze ještě zvýšit účelovou funkci, estliže zvolíme x2 jako vstupující._ zákl. prom. x^ x2 *3 x4 x5 Ä x^ 1 1 ? 4 2 0 0 80 x4 0 -1 1 0 20 0 1 4 0 0 1 25 zi 0 -4 40 0 0 1600 Nejvyšší hodnotou ř, pro kterou můžeme položit x2 — t, je m/'n{2.80, 4.20, 4.25} — 80. Vyjdou nám pak nové hodnoty základních proměnných x-i = 80 - = 40, x4 = 20 - \ t = 0, x5 = 25 - \ t = 5. Tedy x4 se stane nezákladní, je vystupující proměnnou. Další iterační krok Redukovaná cena z2 — -4 naznačuje, že lze ještě zvýšit účelovou funkci, estliže zvolíme x2 jako vstupující. zákl. prom. X1 x2 *3 x4 x5 Ä x^ 1 1 ? 4 2 0 0 80 x4 0 -1 1 0 20 0 1 4 0 0 1 25 zi 0 -4 40 0 0 1600 Nejvyšší hodnotou ř, pro kterou můžeme položit x2 — t, je m/'n{2.80, 4.20, 4.25} — 80. Vyjdou nám pak nové hodnoty základních proměnných x-i = 80 - = 40, x4 = 20 - \ t = 0, x5 = 25 - ±r = 5. Tedy x4 se stane nezákladní, je vystupující proměnnou. zákl. prom. X1 x2 *3 x4 x5 Ä x^ 1 1 ? 4 2 0 0 80 x4 0 -1 1 0 20 x5 0 1 4 0 0 1 25 zi 0 -4 40 0 0 1600 Vynásobíme druhý řádek 4. Další iterační krok Redukovaná cena z2 — -4 naznačuje, že lze ještě zvýšit účelovou funkci, estliže zvolíme x2 jako vstupující. zákl. prom. x^ x2 *3 x4 x5 Ä x^ 1 1 ? 4 2 0 0 80 x4 0 -1 1 0 20 0 1 4 0 0 1 25 zi 0 -4 40 0 0 1600 Nejvyšší hodnotou ř, pro kterou můžeme položit x2 — t, je m/'n{2.80, 4.20, 4.25} — 80. Vyjdou nám pak nové hodnoty základních proměnných x-i = 80 - = 40, x4 = 20 - \ t = 0, x5 = 25 - ±r = 5. Tedy x4 se stane nezákladní, je vystupující proměnnou. zákl. prom. x^ x2 *3 x4 *5 Ä x^ 1 1 2 2 0 0 80 x2 0 1 -4 4 0 80 x5 0 1 4 0 0 1 25 zj 0 -4 40 0 0 1600 Odečteme jeho polovinu od prvního. OQ.O Další iterační krok Redukovaná cena z2 — -4 naznačuje, že lze ještě zvýšit účelovou funkci, estliže zvolíme x2 jako vstupující. zákl. prom. X1 x2 *3 x4 x5 Ä x^ 1 1 ? 4 2 0 0 80 x4 0 -1 1 0 20 0 1 4 0 0 1 25 zi 0 -4 40 0 0 1600 Nejvyšší hodnotou ř, pro kterou můžeme položit x2 — t, je m/'n{2.80, 4.20, 4.25} — 80. Vyjdou nám pak nové hodnoty základních proměnných x-i = 80 - = 40, x4 = 20 - \ t = 0, x5 = 25 - ±r = 5. Tedy x4 se stane nezákladní, je vystupující proměnnou. zákl. prom. X1 x2 *3 x4 x5 Ä x^ 1 0 4 0 0 40 x2 0 1 -4 4 0 80 *5 0 1 4 0 0 1 25 zi 0 -4 40 0 0 1600 Odečteme jeho čtvrtinu od třetího. Další iterační krok Redukovaná cena z2 — -4 naznačuje, že lze ještě zvýšit účelovou funkci, estliže zvolíme x2 jako vstupující. zákl. prom. x^ x2 *3 x4 x5 Ä x^ 1 1 ? 4 2 0 0 80 x4 0 -1 1 0 20 0 1 4 0 0 1 25 zi 0 -4 40 0 0 1600 Nejvyšší hodnotou ř, pro kterou můžeme položit x2 — t, je m/'n{2.80, 4.20, 4.25} — 80. Vyjdou nám pak nové hodnoty základních proměnných x-i = 80 - = 40, x4 = 20 - \ t = 0, x5 = 25 - ±r = 5. Tedy x4 se stane nezákladní, je vystupující proměnnou. zákl. prom. X1 x2 x3 x4 x5 Ä x^ 1 0 4 0 0 40 x2 0 1 -4 4 0 80 *5 0 0 1 -1 1 5 zi 0 -4 40 0 0 1600 Nakonec přičteme jeho čtyřnásobek k poslednímu. Další iterační krok Redukovaná cena z2 — -4 naznačuje, že lze ještě zvýšit účelovou funkci, estliže zvolíme x2 jako vstupující. zákl. prom. x^ x2 *3 x4 x5 Ä x^ 1 1 ? 4 2 0 0 80 x4 0 -1 1 0 20 0 1 4 0 0 1 25 zi 0 -4 40 0 0 1600 Nejvyšší hodnotou ř, pro kterou můžeme položit x2 — t, je m/'n{2.80, 4.20, 4.25} — 80. Vyjdou nám pak nové hodnoty základních proměnných x-i = 80 - = 40, x4 = 20 - \ t = 0, x5 = 25 - ±r = 5. Tedy x4 se stane nezákladní, je vystupující proměnnou. zákl. prom. x^ x2 x3 x4 x5 Ä- x^ 1 0 4 0 0 40 x2 0 1 -4 4 0 80 x5 0 0 1 -1 1 5 zj 0 0 24 16 0 1920 Dostali jsme novou tabulku. Ukončení výpočtu Ve výsledné tabulce jsou již všechny redukované ceny nezáporné: zákl. prom. x^ x2 x3 x4 x5 Pí x^ 1 0 4 0 0 40 x2 0 1 -4 4 0 80 x5 0 0 1 -1 1 5 zj 0 0 24 16 0 1920 Nelze tedy již zvýšit hodnotu účelové funkce, maximální zisk je 1920 tisíc. Nezákladní proměnné jsou x3, x4, ty budou tedy nulové. Hodnoty základních proměnných vyčteme z tabulky: Xi = 40, x2 — 80, X5 — 5. To nám říká, že optimálně máme vyrobit 40 tun směsi Mocca a 80 tun směsi Standard, přičemž zcela spotřebujeme první dvě suroviny a zbyde nám pět tun třetí suroviny. Ukončení výpočtu Ve výsledné tabulce jsou již všechny redukované ceny nezáporné: zákl. prom. x^ x2 x3 x4 x5 Pí x^ 1 0 4 0 0 40 x2 0 1 -4 4 0 80 x5 0 0 1 -1 1 5 zj 0 0 24 16 0 1920 Nelze tedy již zvýšit hodnotu účelové funkce, maximální zisk je 1920 tisíc. Nezákladní proměnné jsou x3, x4, ty budou tedy nulové. Hodnoty základních proměnných vyčteme z tabulky: Xi = 40, x2 — 80, X5 — 5. To nám říká, že optimálně máme vyrobit 40 tun směsi Mocca a 80 tun směsi Standard, přičemž zcela spotřebujeme první dvě suroviny a zbyde nám pět tun třetí suroviny. Pozn.: Pokud by dole zbyla záporná redukovaná cena, ale ve sloupci nad ní by už žádné číslo nebylo > 0, tak je úloha neomezená. Pro minimalizační úlohu by se obrátila role znamének v dolním řádku - vybírali bychom vstupující proměnnou podle nejvyšší redukované ceny a výpočet bychom ukončili až by všechny redukované ceny byly < 0. Dvoufázová simplexová metoda Vyskytují-li se v úloze i jiná omezení než nerovnosti typu "<", je nutné nejprve najít výchozí přípustné základní řešení. K tomu slouží první fáze simplexové metody. Ukažme si ji na ilustračním příkladě, z = xi - X2 ^ min za podmínek xi > 2 x2 > 2 5x! + 10x2 < 50 Dvoufázová simplexová metoda Vyskytují-li se v úloze i jiná omezení než nerovnosti typu "<", je nutné nejprve najít výchozí přípustné základní řešení. K tomu slouží první fáze simplexové metody. Ukažme si ji na ilustračním příkladě, z = xi - X2 ^ min za podmínek X > 2 x2 > 2 5x + 10x2 < 50 Omezující podmínky lze opět zavedením nezáporných přídatných proměnných převést na rovnosti: X -x3 = 2 X2 — X4 — 2 5xí + 10x2 +x5 — 50 Dvoufázová simplexová metoda Vyskytují-li se v úloze i jiná omezení než nerovnosti typu "<", je nutné nejprve najít výchozí přípustné základní řešení. K tomu slouží první fáze simplexové metody. Ukažme si ji na ilustračním příkladě, z = xi - X2 ^ min za podmínek X > 2 x2 > 2 5x + 10x2 < 50 Omezující podmínky lze opět zavedením nezáporných přídatných proměnných převést na rovnosti: X -x3 = 2 X2 — X4 — 2 5x-\ + 10x2 +x5 — 50 Bohužel nejde o soustavu v kanonickém tvaru, protože koeficienty u x3 a x4 nejsou — 1. Proto přičteme k levým stranám příslušných omezení ještě nezáporné pomocné proměnné yi, /2 a tyto proměnné již budou spolu s x5 základními. Pro výchozí bod platí y0, pak výchozí úloha nemá žádné přípustné řešení). Vyjádřeme z' pomocí nezákladních proměnných a výsledné redukované ceny zapišme do simplexové tabulky: Z' = (2 - + X3) + (2 - X2 + X4) = 4 - Xi - x2 + x3 + x4 Dvoufázová simplexová metoda K získání přípustného řešení původní úlohy je třeba zajistit, aby y-\ — y2 — 0. To lze pomocí minimalizace pomocné účelové funkce z' — y^+ y2. (jestliže má tato funkce minimum >0, pak výchozí úloha nemá žádné přípustné řešení). Vyjádřeme z' pomocí nezákladních proměnných a výsledné redukované ceny zapišme do simplexové tabulky: z' = (2 - X! -+ -*3)" H2- -*2- fx4) = 4- -*1 -*2 + *3- zákl. prom. X1 x2 x3 x4 x5 Y\ 72 Ä 7i 1 0 -1 0 0 1 0 2 72 0 1 0 -1 0 0 1 2 5 10 0 0 1 0 0 50 z'i 1 1 -1 -1 0 0 0 4 Jako vstupující proměnnou můžeme zvolit x-\ nebo x2, zvolme např. tu druhou. OQ.O Dvoufázová simplexová metoda K získání přípustného řešení původní úlohy je třeba zajistit, aby y-\ — y2 — 0. To lze pomocí minimalizace pomocné účelové funkce z' — y^+ y2. (jestliže má tato funkce minimum >0, pak výchozí úloha nemá žádné přípustné řešení). Vyjádřeme z' pomocí nezákladních proměnných a výsledné redukované ceny zapišme do simplexové tabulky: z' = (2 - X! -+ -*3)" H2- -*2- fx4) = 4- -*1 -*2 + *3- zákl. prom. X1 x2 x3 x4 x5 7i 72 Ä 7i 1 0 -1 0 0 1 0 2 72 0 1 0 -1 0 0 1 2 5 10 0 0 1 0 0 50 z'i 1 1 -1 -1 0 0 0 4 Od třetího řádku odečteme desetinásobek druhého. Dvoufázová simplexová metoda K získání přípustného řešení původní úlohy je třeba zajistit, aby y-\ — y2 — 0. To lze pomocí minimalizace pomocné účelové funkce z' — y^+ y2. (jestliže má tato funkce minimum >0, pak výchozí úloha nemá žádné přípustné řešení). Vyjádřeme z' pomocí nezákladních proměnných a výsledné redukované ceny zapišme do simplexové tabulky: z' = (2 - X! -+ -*3)" f (2 -*2- = 4- -x2^ -*3 + zákl. prom. x1 x2 x3 x4 x5 yi 72 Ä 7i 1 0 -1 0 0 1 0 2 72 0 1 0 -1 0 0 1 2 5 0 0 10 1 0 -10 30 z'i 1 1 -1 -1 0 0 0 4 Od čtvrtého řádku odečteme druhý. Dvoufázová simplexová metoda K získání přípustného řešení původní úlohy je třeba zajistit, aby y-\ — y2 — 0. To lze pomocí minimalizace pomocné účelové funkce z' — y^+ y2. (jestliže má tato funkce minimum >0, pak výchozí úloha nemá žádné přípustné řešení). Vyjádřeme z' pomocí nezákladních proměnných a výsledné redukované ceny zapišme do simplexové tabulky: z' = (2 - X! -+ -*3)" f (2 -x2 f Xa) = 4- -x^ - -x2^ zákl. prom. x1 x2 x3 x4 x5 yi 72 Ä 7i 1 0 -1 0 0 1 0 2 x2 0 1 0 -1 0 0 1 2 x5 5 0 0 10 1 0 -10 30 z'i 1 0 -1 0 0 0 -1 2 Získali jsme novou tabulku, vstupující proměnnou bude x-\. Od třetího řádku odečteme pětkrát první. Dvoufázová simplexová metoda K získání přípustného řešení původní úlohy je třeba zajistit, aby y-\ — y2 — 0. To lze pomocí minimalizace pomocné účelové funkce z' — y^+ y2. (jestliže má tato funkce minimum >0, pak výchozí úloha nemá žádné přípustné řešení). Vyjádřeme z' pomocí nezákladních proměnných a výsledné redukované ceny zapišme do simplexové tabulky: z' = (2 - X! -+ x3)- f (2 -x2 f Xa) = 4- -x^ - -*2 + -*3 + zákl. prom. x^ x2 x3 x4 x5 yi 72 Ä 7i 1 0 -1 0 0 1 0 2 x2 0 1 0 -1 0 0 1 2 x5 0 0 5 10 1 -5 -10 20 z'i 1 0 -1 0 0 0 -1 2 Od posledního řádku odečteme první. Dvoufázová simplexová metoda K získání přípustného řešení původní úlohy je třeba zajistit, aby y-\ = y2 = 0. To lze pomocí minimalizace pomocné účelové funkce z' — y-\ + y2. (jestliže má tato funkce minimum >0, pak výchozí úloha nemá žádné přípustné řešení). Vyjádřeme z' pomocí nezákladních proměnných a výsledné redukované ceny zapišme do simplexové tabulky: z' = (2 - X! -+ -*3)" f (2 -x2 f x4) = 4- -*1 - -x24 -X3 + zákl. prom. x1 x2 x3 x4 x5 Y\ 72 Ä x1 1 0 -1 0 0 1 0 2 x2 0 1 0 -1 0 0 1 2 x5 0 0 5 10 1 -5 -10 20 z'i 0 0 0 0 0 -1 -1 0 Nalezli jsme minimum pomocné fce z' = 0, můžeme tedy zahájit 2. fázi: vynecháme yi, y2 a z bodu [2,2,0,0,20] minimalizujeme funkci z = xi - x2 = (2 - x3) - (2 - x4) — -x3 + x4, jejíž redukované ceny přidáme do tabulky. Pozn.: kdyby vyšlo z' t ^ 0, nemá výchozí úloha žádné přípustné řešení. Dvoufázová simplexová metoda Druhou fázi již dořešíme běžným způsobem: zákl. prom. -Xl *2 *3 x4 *5 Pi 1 0 -1 0 0 2 x2 0 1 0 -1 0 2 0 0 5 10 1 20 zi 0 0 -1 1 0 0 Jako vstupující volíme x4. Dvoufázová simplexová metoda Druhou fázi již dořešíme běžným způsobem: zákl. prom. -Xl *2 *3 x4 *5 Pi 1 0 -1 0 0 2 x2 0 1 0 -1 0 2 0 0 5 10 1 20 zi 0 0 -1 1 0 0 Třetí řádek vydělíme 10. Dvoufázová simplexová metoda Druhou fázi již dořešíme běžným způsobem: zákl. prom. -Xl *2 *3 x4 *5 Pi 1 0 -1 0 0 2 x2 0 1 0 -1 0 2 0 0 1 2 1 1 10 2 zi 0 0 -1 1 0 0 Přičteme třetí k druhému. Dvoufázová simplexová metoda Druhou fázi již dořešíme běžným způsobem: zákl. prom. -Xl *2 *3 x4 *5 Pi 1 0 -1 0 0 2 x2 0 1 1 1 2 0 1 1° 4 0 0 1 1 10 2 zj 0 0 -1 1 0 0 Odečteme třetí od posledního. Dvoufázová simplexová metoda Druhou fázi již dořešíme běžným způsobem: zákl. prom. X! X2 x3 x4 x5 Ä" x2 x4 1 0 0 1 0 0 -10 0 1- 0 -L ? 1 1ľ 2 1 10 2 4 2 zi 0 0 2 U 10 -2 Dostali jsme optimální tabulku, je tedy x-\ = 2, x2 = 4, zopř = -2. Dvoufázová simplexová metoda Celý postup v grafickém znázornění: Množina přípustných řešení M. Při zahájení první fáze jsou obě proměnné x-i, x2 nezákladní, vycházíme tedy z počátku. Dvoufázová simplexová metoda Celý postup v grafickém znázornění: Po prvním kroku se proměnná x2 stala základní s hodnotou x2 Dvoufázová simplexová metoda Celý postup v grafickém znázornění: V dalším kroku se i proměnná x-i stala základní s hodnotou x-i — 2, dosáhli jsme přípustné množiny a startujeme druhou fázi. Dvoufázová simplexová metoda Celý postup v grafickém znázornění: 1 .--■ i ■ i............X1 1 l2 3 4 5 6 7 8 Po jednom kroku dosáhneme optima v bodě [x-i, x2] Dvoufázová simplexová metoda Celý postup v grafickém znázornění: Dualita úloh LP Na původní úlohu lze nahlížet i jiným způsobem. Předpokládejme, že bychom suroviny nezpracovávali, ale rovnou prodali. Otázka zní, kdy se nám tento přímý prodej zdrojů vyplatí. To bude samozřejmě záviset na zisku z prodeje jednotlivých zdrojů - vyjádříme jej pomocí tzv. duálních proměnných, které označíme w, (v naší úloze máme tři druhy kávových bobů, tedy / = 1,2,3). Můžeme pak formulovat tzv. duální úlohu k výchozímu problému: Jaký je minimální zisk z prodeje zdrojů, při kterém se nám nevyplatí vyrábět ani jeden výrobek? Dualita úloh LP Na původní úlohu lze nahlížet i jiným způsobem. Předpokládejme, že bychom suroviny nezpracovávali, ale rovnou prodali. Otázka zní, kdy se nám tento přímý prodej zdrojů vyplatí. To bude samozřejmě záviset na zisku z prodeje jednotlivých zdrojů - vyjádříme jej pomocí tzv. duálních proměnných, které označíme w, (v naší úloze máme tři druhy kávových bobů, tedy / = 1,2,3). Můžeme pak formulovat tzv. duální úlohu k výchozímu problému: Jaký je minimální zisk z prodeje zdrojů, při kterém se nám nevyplatí vyrábět ani jeden výrobek? Tedy minimalizujeme zisk z prodeje zdrojů g(w) — 40wi + 60w2 + 25w3 za omezení, že se nevyplatí vyrábět ani směs Mocca ani Standard, tedy, že platí nerovnosti 0,5wi + 0,5w2 > 20, 0,5wi +0,25w2 + 0,5w3 > 14. Dualita úloh LP Na původní úlohu lze nahlížet i jiným způsobem. Předpokládejme, že bychom suroviny nezpracovávali, ale rovnou prodali. Otázka zní, kdy se nám tento přímý prodej zdrojů vyplatí. To bude samozřejmě záviset na zisku z prodeje jednotlivých zdrojů - vyjádříme jej pomocí tzv. duálních proměnných, které označíme w, (v naší úloze máme tři druhy kávových bobů, tedy / = 1,2,3). Můžeme pak formulovat tzv. duální úlohu k výchozímu problému: Jaký je minimální zisk z prodeje zdrojů, při kterém se nám nevyplatí vyrábět ani jeden výrobek? Tedy minimalizujeme zisk z prodeje zdrojů g(w) — 40wi + 60w2 + 25w3 za omezení, že se nevyplatí vyrábět ani směs Mocca ani Standard, tedy, že platí nerovnosti 0,5wi + 0,5w2 > 20, 0,5wi + 0,25w2 + 0,5w3 > 14. Při použití označení zavedeného výše, kde c — (20, 14) je vektor zisků z prodeje směsí, b — (40,60,25)T je vektor kapacit surovin a A strukturní matice, můžeme porovnat maticový zápis původní, tzv. primární úlohy a úlohy duální: primární úloha duální úloha maximalizovat z = cT x minimalizovat g(w) = bT-w za podm. A x < b, x > 0, za podm. AT • w > c, w > 0 Dualita úloh LP Obecně lze pro formulaci duální úlohy k úloze LP použít následující pravidla: Maximalizační úloha -<->• Minimalizační úloha primární -<->• duální duální -<->• primární omezení typu < -<->• nezáporná proměnná omezení typu > -<->• nekladná proměnná omezení typu rovnice -<->• proměnná neomezená nezáporná proměnná -<->• omezení typu < nekladná proměnná -<->• omezení typu > proměnná neomezená -<->• omezení typu rovnice Dualita úloh LP Vztah mezi vzájemně duálními úlohami lze vyjádřit větou o dualitě: Existuje-li optimální řešení jedné z duálně sdružených úloh, potom existuje i optimální řešení druhé úlohy a navíc optimální hodnoty účelových funkcí se sobě rovnají! Dualita úloh LP Vztah mezi vzájemně duálními úlohami lze vyjádřit větou o dualitě: Existuje-li optimální řešení jedné z duálně sdružených úloh, potom existuje i optimální řešení druhé úlohy a navíc optimální hodnoty účelových funkcí se sobě rovnají! Z této věty logicky plyne, že pokud jedna ze sdružených úloh optimální řešení nemá, tak jej nemůže mít ani úloha druhá, lze ukázat, že pokud jedna úloha nemá žádné přípustné řešení, tak druhá úloha je neomezená a naopak. Dalším důsledkem je tzv slabá věta o dualitě: Hodnota účelové funkce maximalizační úlohy je vždy menší nebo rovna hodnotě účelové funkce minimalizační úlohy. Dualita úloh LP Vztah mezi vzájemně duálními úlohami lze vyjádřit větou o dualitě: Existuje-li optimální řešení jedné z duálně sdružených úloh, potom existuje i optimální řešení druhé úlohy a navíc optimální hodnoty účelových funkcí se sobě rovnají! Z této věty logicky plyne, že pokud jedna ze sdružených úloh optimální řešení nemá, tak jej nemůže mít ani úloha druhá, lze ukázat, že pokud jedna úloha nemá žádné přípustné řešení, tak druhá úloha je neomezená a naopak. Dalším důsledkem je tzv slabá věta o dualitě: Hodnota účelové funkce maximalizační úlohy je vždy menší nebo rovna hodnotě účelové funkce minimalizační úlohy. Dále platí tzv. věta o rovnováze: Je-li k-tá proměnná v řešení primární úlohy nenulová (tedy kladná), pak je k-tá podmínka v řešení duální úlohy splněna jako rovnost. Říkáme, že je k-tá podmínka aktivní. Postoptimalizační analýza Analýza citlivosti primární úlohy zkoumá, do jaké míry ovlivní případné změny vstupních údajů původní optimální řešení. Zejména nás zajímají efekt při změně zisku z jednotlivého výrobku, případně při změně v jednotlivém kapacitním omezení. To lze zjistit bez nutnosti přepočítávat celou úlohu znovu. Určujeme tzv. intervaly stability, a to pro: • koeficienty účelové funkce ck, kdy zjišťujeme, v jakém rozmezí hodnot můžeme měnit jednotlivé ck (při zachování hodnot ostatních koeficientů) tak, aby nedošlo ke změně optimálního řešení, • kapacitní omezení £>,, kdy zjišťujeme v jakém rozmezí se může jednotlivé b, pohybovat, aby nedošlo ke změně množiny základních proměnných, tedy byla zachována množina aktivních omezení. Pro manažerské rozhodování je důležité zjistit, jaký je vliv změny kapacitního omezení na hodnotu účelové funkce. To nám prozradí optimální hodnoty duálních proměnných w-,. Tyto hodnoty se nazývají stínové ceny a vyjadřují hodnotu, o kterou se změní hodnota účelové funkce, jestliže zvýšíme kapacitu /' - tého zdroje Ď, o jednotku (za předpokladu že se touto změnou nedostaneme mimo interval stability). Postoptimalizační analýza - intervaly stability pro ceny Vlastní určení intervalů stability není složité a bývá nedílnou součástí softwarových výstupů. Dále si ukážeme grafickou interpretaci a odvození intervalů stability pro koeficienty účelové funkce v našem jednoduchém příkladě optimalizace výroby kávy. Na obrázku je vidět, jak lze optimální izokvantu účelové funkce naklánět, aby stále bylo optimálním řešením x*. Postoptimalizační analýza - intervaly stability pro ceny Mezní hodnoty naklonění určíme tak, že přímka bude procházet body x* = [40,80],A = [20,100] resp. x* = [40,80], B = [80,0]. Pro její směrnici q tedy musí platit nerovnosti Směrnici původní izokvanty z — c\x^ + c2x2 vyjádříme jako q—-^-, přičemž původní hodnoty koeficientů jsou Ci — 20, c2 = 14. Interval stability pro Ci tedy zjistíme po dosazení q = ^ do nerovností: -2 < ^ < -1, tj. Ci e (14,28). Analogicky pro c2 získáme interval stability dosazením q = ^ do nerovností: -2 < =p < -1 a dostaneme c2 e (10,20). 80-0 40-80 < q< 80-100 40-20 = -1 Postoptimalizační analýza - intervaly stability pro kapacity Ještě si ukažme ve stejné úloze grafické odvození intervalů stability pro pravé strany omezení. Na obrázku je vidět, jak můžeme posunout hranici prvního omezení, aby stále optimální řešení leželo v průsečíku hraničních přímek prvního a druhého omezení. \ a \ x2 x \\ \ \ \ \ \\ \ 100 \x \ \ M A \ \ v \ \c 20 80\ 120\ \ \ Postoptimalizační analýza - intervaly stability pro kapacity Původní rovnice hraniční přímky prvního omezení byla 0,5x-\ + 0,25x2 — 40. Její pravou stranu b-\ můžeme změnit maximálně tak, že by přímka procházela bodem A, resp. bodem C. Dosazením souřadnic bodu A = [20,100] do levé strany omezení dostaneme 0,5 • 20 + 0,25 • 100 = 35, což je dolní hranice pro b\. Dosazením souřadnic bodu C — [120,0] do levé strany omezení dostaneme 0,5 • 120 + 0,25 • 0 — 60, což je horní hranice pro £>i. Postoptimalizační analýza - intervaly stability pro kapacity Původní rovnice hraniční přímky prvního omezení byla 0,5x-\ + 0,25x2 — 40. Její pravou stranu fy můžeme změnit maximálně tak, že by přímka procházela bodem A, resp. bodem C. Dosazením souřadnic bodu A = [20,100] do levé strany omezení dostaneme 0,5 • 20 + 0,25 • 100 = 35, což je dolní hranice pro fy. Dosazením souřadnic bodu C — [120,0] do levé strany omezení dostaneme 0,5 • 120 + 0,25 • 0 — 60, což je horní hranice pro fy. Dostáváme tedy interval stability fy: e (35,60). Podobně obdržíme intervaly stability pro ostatní omezení. Tyto intervaly jsou důležité při rozhodování o nákupu dalších zdrojů: pokud je stínová cena daného omezení větší než nákupní cena příslušné suroviny, vyplatí se v rozmezí intervalu stability navyšovat kapacitu. A jak určíme stínovou cenu pro fy ? Změnou na fy + A dostaneme nový bod optima jako průsečík přímek o rovnicích 0,5*1 + 0,25x2 = 40 + A, 0, ^ + 0,5x2 = 60, tedy bod o souřadnicích [40 + 4A, 80 - 4A]. V tomto bodě je pak hodnota účelové funkce z = 20(40 + 4A) + 14(80 - 4A) = 1920 + 24A. Stínová cena je w, = 24. Stínové ceny najdeme v optimální tabulce pod sloupci přídatných proměnných! Speciální úlohy lineárního programování Mezi typickými úlohami LP lze najít úlohy s nějakými speciálními vlastnostmi. Tyto vlastnosti se mohou týkat struktury modelu, zejména strukturní matice, typu proměnných, dále způsobů řešení, apod. Významnou skupinu takových speciálních úloh tvoří distribuční úlohy. Z těchto úloh představíme dopravní problém, přiřazovací problém a okružní dopravní problém. Další problémy (kontejnerový či vícestupňový dopravní problém, úloha o pokrytí, stanovení řezných plánů apod.) viz literatura. Úlohy, ve kterých některé proměnné mohou nabývat pouze hodnot z množiny celých čísel souhrne nazýváme úlohami celočíselného programování. Proměnné v těchto úlohách zpravidla vyjadřují počty nedělitelných kusů, případně nabývají pouze hodnot 0 a 1, kterými se kóduje absence či přítomnost určitého spojení mezi zadanými objekty. Specifikům celočíselných úloh a základním přístupům k jejich řešení se budeme později také věnovat. V neposlední řadě stručně zmíníme alternativní přístup k řešení úloh LP, kdy je možné současně optimalizovat více kritérií, a to cílové programování. OQ.O Dopravní problém - formulace V dopravní úloze se typicky řeší rozvržení rozvozu z dodavatelských míst k odběratelům tak, aby byly minimalizovány náklady související s rozvozem. Je definováno m dodavatelských míst - zdrojů V-\, V2, ..., Vms omezenými kapacitami a-\, a2, ..., ama dále máme n cílových míst - odběratelů Si, S2, ..., Sn se stanovenými požadavky b-\, Ď2, ..., bn. Každá dvojice zdroj-cíl je nějak ohodnocena, typicky například náklady na přepravu jednotky zboží. Tyto náklady označíme c,y, / — 1,..., m, j — 1,..., n. Cílem je naplánovat objemy přepravy mezi jednotlivými zdroji a cíli ( označíme je Xy, i — 1,..., m, j — 1,..., n) tak, aby byly uspokojeny požadavky odběratelů a nebyly překročeny kapacity zdrojů. Dopravní problém - formulace V dopravní úloze se typicky řeší rozvržení rozvozu z dodavatelských míst k odběratelům tak, aby byly minimalizovány náklady související s rozvozem. Je definováno m dodavatelských míst - zdrojů V-\, V2, ..., Vms omezenými kapacitami a-\, a2, ..., ama dále máme n cílových míst - odběratelů Si, S2, ..., Sn se stanovenými požadavky b-\, £>2, ..., bn. Každá dvojice zdroj-cíl je nějak ohodnocena, typicky například náklady na přepravu jednotky zboží. Tyto náklady označíme c,y, / — 1,..., m, j = 1,..., n. Cílem je naplánovat objemy přepravy mezi jednotlivými zdroji a cíli ( označíme je Xy, i — 1,..., m, j — 1,..., n) tak, aby byly uspokojeny požadavky odběratelů a nebyly překročeny kapacity zdrojů.Úloha tedy obsahuje m ■ n proměnných Xjj, pro něž minimalizujeme účelovou funkci z = E/li Eýli CijXij za podmínek EjLi Xjj0, i = 1,..., m, j = 1,..., n Účelová funkce i omezení jsou lineární, jde tedy o úlohu LP. Dopravní problém - metody řešení I když jde o úlohu LP, kterou lze řešit simplexovou metodou, vzhledem k velkému počtu proměnných a speciální struktuře matice omezení jsou většinou praktičtější jiné metody (jde o tzv. řídkou matici - obsahuje hodně nul, navíc zbylé jedničky mají blokovou strukturu). Dopravní problém - metody řešení I když jde o úlohu LP, kterou lze řešit simplexovou metodou, vzhledem k velkému počtu proměnných a speciální struktuře matice omezení jsou většinou praktičtější jiné metody (jde o tzv řídkou matici - obsahuje hodně nul, navíc zbylé jedničky mají blokovou strukturu). Příklad: Pro reálnou úlohu s 20 zdroji a 300 zákazníky máme ? proměnných a ? omezení, to znamená 1920000 polí v simplexové tabulce, což zabere cca II MB operační paměti Dopravní problém - metody řešení I když jde o úlohu LP, kterou lze řešit simplexovou metodou, vzhledem k velkému počtu proměnných a speciální struktuře matice omezení jsou většinou praktičtější jiné metody (jde o tzv řídkou matici - obsahuje hodně nul, navíc zbylé jedničky mají blokovou strukturu). Příklad: Pro reálnou úlohu s 20 zdroji a 300 zákazníky máme ? proměnných a ? omezení, to znamená 1920000 polí v simplexové tabulce, což zabere cca II MB operační paměti Ze simplexové metody vychází modifikovaná distribuční metoda (MÓDI). Pro rychlé získání přibližného řešení bez záruky optimality lze využít heuristické metody, z nichž si ukážeme tři: metodu severozápadního rohu, metodu maticového minima (zvanou též indexní) a Vogelovu aproximační metodu (VAM). Dopravní problém - vyrovnání úlohy Zřejmě není možné uspokojit všechny spotřebitele, jestliže celková poptávka SýLi ty převyšuje celkovou kapacitu J]/Li a/> úloha pak nemá přípustné řešení. Úlohu, ve které platí rovnost J]"=i bj — J]/Li a/ označujeme jako vyrovnaný dopravní problém. Problém pak má přípustné řešení i pokud u omezení pro kapacity zdrojů nahradíme nerovnosti rovnostmi, spotřebují se tedy všechny jednotky. Nadále budeme pracovat jen s takovými vyrovnanými úlohami. Dopravní problém - vyrovnání úlohy Zřejmě není možné uspokojit všechny spotřebitele, jestliže celková poptávka SýLi ty převyšuje celkovou kapacitu J]/Li a/> úloha pak nemá přípustné řešení. Úlohu, ve které platí rovnost J]"=i ty — J]/Li a/ označujeme jako vyrovnaný dopravní problém. Problém pak má přípustné řešení i pokud u omezení pro kapacity zdrojů nahradíme nerovnosti rovnostmi, spotřebují se tedy všechny jednotky. Nadále budeme pracovat jen s takovými vyrovnanými úlohami. Nevyrovnaná úloha s převisem poptávky se převede na vyrovnanou pomocí zavedení fiktivního zdroje s kapacitou J]yLi ty - J]/Li a'- V případě převisu nabídky se naopak zavede fiktivní zákazník s požadavkem J]/Li a\ - 2ýli ty-Pozor! Přepravní náklady do fiktivních míst jsou vždy nulové. Dopravní problém - metoda SZ rohu Metoda severozápadního rohu je zřejmě nejjednodušší metodou získání přípustného řešení dopravní úlohy, začíná se v levém horním rohu tabulky a požadavky zákazníků se uspokojují zleva doprava. Pokud je již zdroj vyčerpán, přejde se na další zdroj, tj. o řádek níž. Končí se v pravém dolním rohu. Metoda nebere v úvahu přepravní náklady. Dopravní problém - metoda SZ rohu Metoda severozápadního rohu je zřejmě nejjednodušší metodou získání přípustného řešení dopravní úlohy, začíná se v levém horním rohu tabulky a požadavky zákazníků se uspokojují zleva doprava. Pokud je již zdroj vyčerpán, přejde se na další zdroj, tj. o řádek níž. Končí se v pravém dolním rohu. Metoda nebere v úvahu přepravní náklady. Ukažme si metodu pro úlohu z "M. Plevný, M. Žižka: Modelování a optimalizace v manažerském rozhodování": Najděte přípustné řešení DÚ s požadavky odběratelů Si, S2, S3 a S4 postupně 3, 6, 4 a 5 jednotek zboží a zdroji V-i, V2 a V3 s kapacitou po řadě 5, 7 a 6 jednotek. požadavky Xij 3 6 4 5 -CO 5 7 N 6 Si dostane z prvního zdroje 3 jednotky, ve zdroji pak zůstanou 2. Dopravní problém - metoda SZ rohu Metoda severozápadního rohu je zřejmě nejjednodušší metodou získání přípustného řešení dopravní úlohy, začíná se v levém horním rohu tabulky a požadavky zákazníků se uspokojují zleva doprava. Pokud je již zdroj vyčerpán, přejde se na další zdroj, tj. o řádek níž. Končí se v pravém dolním rohu. Metoda nebere v úvahu přepravní náklady. Ukažme si metodu pro úlohu z "M. Plevný, M. Žižka: Modelování a optimalizace v manažerském rozhodování": Najděte přípustné řešení DÚ s požadavky odběratelů Si, S2, S3 a S4 postupně 3, 6, 4 a 5 jednotek zboží a zdroji V-i, V2 a V3 s kapacitou po řadě 5, 7 a 6 jednotek. požadavky Xij 0 6 4 5 -CO 2 3 7 N 6 Dvě zbylé jednotky z V-\ dostane S2, přesuneme se na další zdroj. Dopravní problém - metoda SZ rohu Metoda severozápadního rohu je zřejmě nejjednodušší metodou získání přípustného řešení dopravní úlohy, začíná se v levém horním rohu tabulky a požadavky zákazníků se uspokojují zleva doprava. Pokud je již zdroj vyčerpán, přejde se na další zdroj, tj. o řádek níž. Končí se v pravém dolním rohu. Metoda nebere v úvahu přepravní náklady. Ukažme si metodu pro úlohu z "M. Plevný, M. Žižka: Modelování a optimalizace v manažerském rozhodování": Najděte přípustné řešení DÚ s požadavky odběratelů Si, S2, S3 a S4 postupně 3, 6, 4 a 5 jednotek zboží a zdroji V-i, V2 a V3 s kapacitou po řadě 5, 7 a 6 jednotek. požadavky Xij 0 4 4 5 -CO 0 3 2 7 N 6 Čtyři zbylé jednotky pro S2 dodá V2, zbydou mu tři jednotky. OQ.O Dopravní problém - metoda SZ rohu Metoda severozápadního rohu je zřejmě nejjednodušší metodou získání přípustného řešení dopravní úlohy, začíná se v levém horním rohu tabulky a požadavky zákazníků se uspokojují zleva doprava. Pokud je již zdroj vyčerpán, přejde se na další zdroj, tj. o řádek níž. Končí se v pravém dolním rohu. Metoda nebere v úvahu přepravní náklady. Ukažme si metodu pro úlohu z "M. Plevný, M. Žižka: Modelování a optimalizace v manažerském rozhodování": Najděte přípustné řešení DÚ s požadavky odběratelů Si, S2, S3 a S4 postupně 3, 6, 4 a 5 jednotek zboží a zdroji V-i, V2 a V3 s kapacitou po řadě 5, 7 a 6 jednotek. požadavky Xij 0 0 4 5 -CO 0 3 2 .Q 3 4 N 6 Tři zbylé jednotky V2 se dodají spotřebiteli S3. Dopravní problém - metoda SZ rohu Metoda severozápadního rohu je zřejmě nejjednodušší metodou získání přípustného řešení dopravní úlohy, začíná se v levém horním rohu tabulky a požadavky zákazníků se uspokojují zleva doprava. Pokud je již zdroj vyčerpán, přejde se na další zdroj, tj. o řádek níž. Končí se v pravém dolním rohu. Metoda nebere v úvahu přepravní náklady. Ukažme si metodu pro úlohu z "M. Plevný, M. Žižka: Modelování a optimalizace v manažerském rozhodování": Najděte přípustné řešení DÚ s požadavky odběratelů Si, S2, S3 a S4 postupně 3, 6, 4 a 5 jednotek zboží a zdroji V-i, V2 a V3 s kapacitou po řadě 5, 7 a 6 jednotek. požadavky Xij 0 0 1 5 -CO 0 3 2 .Q 0 4 3 N 6 Jednu chybějící jednotku dodá spotřebiteli S3 zdroj V3. Dopravní problém - metoda SZ rohu Metoda severozápadního rohu je zřejmě nejjednodušší metodou získání přípustného řešení dopravní úlohy, začíná se v levém horním rohu tabulky a požadavky zákazníků se uspokojují zleva doprava. Pokud je již zdroj vyčerpán, přejde se na další zdroj, tj. o řádek níž. Končí se v pravém dolním rohu. Metoda nebere v úvahu přepravní náklady. Ukažme si metodu pro úlohu z "M. Plevný, M. Žižka: Modelování a optimalizace v manažerském rozhodování": Najděte přípustné řešení DÚ s požadavky odběratelů Si, S2, S3 a S4 postupně 3, 6, 4 a 5 jednotek zboží a zdroji V-i, V2 a V3 s kapacitou po řadě 5, 7 a 6 jednotek. požadavky Xij 0 0 0 5 -CO 0 3 2 .Q 0 4 3 N 5 1 Posledních pět jednotek ve V3 zbyde pro spotřebitele S4. Dopravní problém - metoda SZ rohu Metoda severozápadního rohu je zřejmě nejjednodušší metodou získání přípustného řešení dopravní úlohy, začíná se v levém horním rohu tabulky a požadavky zákazníků se uspokojují zleva doprava. Pokud je již zdroj vyčerpán, přejde se na další zdroj, tj. o řádek níž. Končí se v pravém dolním rohu. Metoda nebere v úvahu přepravní náklady. Ukažme si metodu pro úlohu z "M. Plevný, M. Žižka: Modelování a optimalizace v manažerském rozhodování": Najděte přípustné řešení DÚ s požadavky odběratelů Si, S2, S3 a S4 postupně 3, 6, 4 a 5 jednotek zboží a zdroji V-i, V2 a V3 s kapacitou po řadě 5, 7 a 6 jednotek. požadavky Xij 0 0 0 -CO 0 3 2 .Q 0 4 3 N 0 1 5 Dostali jsme přípustné řešení. Dopravní problém - indexová metoda Indexová metoda dává většinou řešení s nižšími přepravními náklady než předchozí metoda. Jde o tzv. hladový algoritmus, vybíráme postupně vždy trasy s nejnižším cenovým ohodnocením, (vynecháme případné fiktivní trasy) Dopravní problém - indexová metoda Indexová metoda dává většinou řešení s nižšími přepravními náklady než předchozí metoda. Jde o tzv. hladový algoritmus, vybíráme postupně vždy trasy s nejnižším cenovým ohodnocením, (vynecháme případné fiktivní trasy) Ukažme si postup metody pro již dříve řešený dopravní problém, přidáme tabulku s přepravními náklady c,y, / — 1,... 3, j — 1,... 4. přepravní náklady požadavky Xij 3 6 4 5 -CO 5 7 N 6 Si s2 s3 s4 2 1 3 4 v2 6 2 6 1 v3 7 3 3 3 Nejnižší náklady jsou C12 — c24 — 1. Vyberme například první z nich, může dodat S2 nejvýše 5 jednotek. Tím se zcela vyčerpá a tudíž již dále neuvažujeme první řádek ani v matici nákladů. OQ.O Dopravní problém - indexová metoda Indexová metoda dává většinou řešení s nižšími přepravními náklady než předchozí metoda. Jde o tzv. hladový algoritmus, vybíráme postupně vždy trasy s nejnižším cenovým ohodnocením, (vynecháme případné fiktivní trasy) Ukažme si postup metody pro již dříve řešený dopravní problém, přidáme tabulku s přepravními náklady c,y, / — 1,... 3, j — 1,... 4. požadavky Xij 3 1 4 5 -CO 0 5 7 N 6 přepravní náklady Si s2 s3 s4 v2 6 2 6 1 v3 7 3 3 3 Nejnižší náklady jsou c2a — 1 ■ S4 může odebrat od V2 nejvýše 5 jednotek, je plně spokojen a čtvrtý sloupec tudíž už dál nebereme v úvahu. Dopravní problém - indexová metoda Indexová metoda dává většinou řešení s nižšími přepravními náklady než předchozí metoda. Jde o tzv. hladový algoritmus, vybíráme postupně vždy trasy s nejnižším cenovým ohodnocením, (vynecháme případné fiktivní trasy) Ukažme si postup metody pro již dříve řešený dopravní problém, přidáme tabulku s přepravními náklady c,y, / — 1,... 3, j — 1,... 4. přepravní náklady požadavky Xij 3 1 4 0 -CO 0 5 .Q 2 5 N 6 Si s2 s3 s4 v2 6 2 6 v3 7 3 3 Nejnižší náklady jsou C22 — 2. S2 může odebrat od V2 nejvýše 1 jednotku, druhý sloupec je tím vyčerpán. Dopravní problém - indexová metoda Indexová metoda dává většinou řešení s nižšími přepravními náklady než předchozí metoda. Jde o tzv. hladový algoritmus, vybíráme postupně vždy trasy s nejnižším cenovým ohodnocením, (vynecháme případné fiktivní trasy) Ukažme si postup metody pro již dříve řešený dopravní problém, přidáme tabulku s přepravními náklady c,y, / — 1,... 3, j — 1,... 4. přepravní náklady požadavky Xij 3 0 4 0 -CO 0 5 .Q 1 1 5 N 6 Si s2 s3 s4 v2 6 6 v3 7 3 Nejnižší náklady jsou C33 = 3. S3 může odebrat od V3 nejvýše 4 jednotky, třetí sloupec je tím vyčerpán. Dopravní problém - indexová metoda Indexová metoda dává většinou řešení s nižšími přepravními náklady než předchozí metoda. Jde o tzv. hladový algoritmus, vybíráme postupně vždy trasy s nejnižším cenovým ohodnocením, (vynecháme případné fiktivní trasy) Ukažme si postup metody pro již dříve řešený dopravní problém, přidáme tabulku s přepravními náklady c,y, / — 1,... 3, j — 1,... 4. přepravní náklady požadavky Xij 3 0 0 0 -CO 0 5 .Q 1 1 5 N 2 4 Si s2 s3 s4 v2 6 v3 7 Nejnižší náklady jsou C33 = 3. s3 může odebrat od V3 nejvýše 4 jednotky, třetí sloupec je tím vyčerpán. Dopravní problém - indexová metoda Indexová metoda dává většinou řešení s nižšími přepravními náklady než předchozí metoda. Jde o tzv. hladový algoritmus, vybíráme postupně vždy trasy s nejnižším cenovým ohodnocením, (vynecháme případné fiktivní trasy) Ukažme si postup metody pro již dříve řešený dopravní problém, přidáme tabulku s přepravními náklady c,y, / — 1,... 3, j — 1,... 4. přepravní náklady požadavky Xij 3 0 0 0 -CO 0 5 .Q 1 1 5 N 2 4 Si s2 s3 s4 v2 6 v3 7 Nejnižší náklady jsou C21 — 6. V2 může dodat Si nejvýše 1 jednotku, třetí řádek je tím vyčerpán. Dopravní problém - indexová metoda Indexová metoda dává většinou řešení s nižšími přepravními náklady než předchozí metoda. Jde o tzv. hladový algoritmus, vybíráme postupně vždy trasy s nejnižším cenovým ohodnocením, (vynecháme případné fiktivní trasy) Ukažme si postup metody pro již dříve řešený dopravní problém, přidáme tabulku s přepravními náklady c,y, / — 1,... 3, j — 1,... 4. požadavky Xij 2 0 0 0 -CO 0 5 .Q 0 1 1 5 N 2 4 přepravní náklady Si s2 s3 s4 v2 v3 7 V posledním kroku dodá V3 spotřebiteli Si zbylé dvě jednotky. Dopravní problém - indexová metoda Indexová metoda dává většinou řešení s nižšími přepravními náklady než předchozí metoda. Jde o tzv. hladový algoritmus, vybíráme postupně vždy trasy s nejnižším cenovým ohodnocením, (vynecháme případné fiktivní trasy) Ukažme si postup metody pro již dříve řešený dopravní problém, přidáme tabulku s přepravními náklady c,y, / — 1,... 3, j — 1,... 4. přepravní náklady požadavky Xij 0 0 0 0 -CO 0 5 .Q 0 1 1 5 N 0 2 4 Si s2 s3 s4 2 1 3 4 v2 6 2 6 1 v3 7 3 3 3 Výsledné přepravní náklady jsou x12-c12+x21-c21+x22-c22+x24-c24+x31-c31+x33-c33 = 5+6+2+5+14+12 = 44. Pro předchozí metodu bychom dostali náklady ve výši 6 + 2 + 6 + 2 + 5+14+12 = 47. < □ ► <(J> Dopravní problém - VAM Vogelova aproximační metoda je třetí heuristickou metodou a její výhoda oproti metodě indexační spočívá v tom, že bere v každém kroku v úvahu "alternativní náklady"při volbě nejlevnější trasy. Pracuje s diferencemi, tedy rozdíly druhé nejlepší oproti nejlepší variantě v každém řádku a sloupci. Volí se pak vždy nejlevnější jízda v řádku či sloupci s největší diferencí. Dopravní problém - VAM Vogelova aproximační metoda je třetí heuristickou metodou a její výhoda oproti metodě indexační spočívá v tom, že bere v každém kroku v úvahu "alternativní náklady"při volbě nejlevnější trasy. Pracuje s diferencemi, tedy rozdíly druhé nejlepší oproti nejlepší variantě v každém řádku a sloupci. Volí se pak vždy nejlevnější jízda v řádku či sloupci s největší diferencí. Použijme metodu pro náš známý příklad. K matici nákladů doplníme řádkové a sloupcové diference c/,., /' = 1,... 3 a dj, j — 1,... 4. požadavky Xij 3 6 4 5 -CO 5 7 N 6 Si s2 s3 s4 di. 2 1 3 4 1 V2 6 2 6 1 1 v3 7 3 3 3 0 d.j 4 1 0 2 Njevětší diference je v prvním sloupečku, vybereme tedy jeho nejmenší náklad, což je en — 2. Dopravní problém - VAM Vogelova aproximační metoda je třetí heuristickou metodou a její výhoda oproti metodě indexační spočívá v tom, že bere v každém kroku v úvahu "alternativní náklady"při volbě nejlevnější trasy. Pracuje s diferencemi, tedy rozdíly druhé nejlepší oproti nejlepší variantě v každém řádku a sloupci. Volí se pak vždy nejlevnější jízda v řádku či sloupci s největší diferencí. Použijme metodu pro náš známý příklad. K matici nákladů doplníme řádkové a sloupcové diference c/,., i — 1,... 3 a dj, j — 1,... 4. požadavky Xij 0 6 4 5 -CO 2 3 7 N 6 Si s2 s3 s4 di. 1 3 4 2 V2 2 6 1 1 v3 3 3 3 0 d.j 1 0 2 Největší diference je v prvním řádku, vybereme tedy jeho nejmenší náklad, což je C12 — 1 ■ Dopravní problém - VAM Vogelova aproximační metoda je třetí heuristickou metodou a její výhoda oproti metodě indexační spočívá v tom, že bere v každém kroku v úvahu "alternativní náklady"při volbě nejlevnější trasy. Pracuje s diferencemi, tedy rozdíly druhé nejlepší oproti nejlepší variantě v každém řádku a sloupci. Volí se pak vždy nejlevnější jízda v řádku či sloupci s největší diferencí. Použijme metodu pro náš známý příklad. K matici nákladů doplníme řádkové a sloupcové diference c/,., i — 1,... 3 a dj, j — 1,... 4. požadavky Xij 0 4 4 5 -CO 0 3 2 7 N 6 Si s2 s3 s4 di. V2 2 6 1 1 v3 3 3 3 0 d.j 1 3 2 Největší diference je v třetím sloupci, vybereme tedy jeho nejmenší náklad, což je c33 = 3. < □ ► <(J> Dopravní problém - VAM Vogelova aproximační metoda je třetí heuristickou metodou a její výhoda oproti metodě indexační spočívá v tom, že bere v každém kroku v úvahu "alternativní náklady"při volbě nejlevnější trasy. Pracuje s diferencemi, tedy rozdíly druhé nejlepší oproti nejlepší variantě v každém řádku a sloupci. Volí se pak vždy nejlevnější jízda v řádku či sloupci s největší diferencí. Použijme metodu pro náš známý příklad. K matici nákladů doplníme řádkové a sloupcové diference c/,., /' = 1,... 3 a dj, j — 1,... 4. požadavky Xij 0 4 0 5 -CO 0 3 2 o 7 N 2 4 Si s2 S$ S4 di. V2 2 1 1 v3 3 3 0 d.j 1 2 Největší diference je ve čtvrtém sloupci, vybereme tedy jeho nejmenší náklad, což je C24 — 1. Dopravní problém - VAM Vogelova aproximační metoda je třetí heuristickou metodou a její výhoda oproti metodě indexační spočívá v tom, že bere v každém kroku v úvahu "alternativní náklady"při volbě nejlevnější trasy. Pracuje s diferencemi, tedy rozdíly druhé nejlepší oproti nejlepší variantě v každém řádku a sloupci. Volí se pak vždy nejlevnější jízda v řádku či sloupci s největší diferencí. Použijme metodu pro náš známý příklad. K matici nákladů doplníme řádkové a sloupcové diference c/,., i — 1,... 3 a dj, j — 1,... 4. požadavky Xij 0 4 0 0 -CO 0 3 2 .Q 2 5 N 2 4 Si S2 S3 S4 di. V2 2 v3 3 d.j 1 Největší diference je ve druhém sloupci, vybereme tedy jeho nejmenší náklad, což je C22 — 2. Dopravní problém - VAM Vogelova aproximační metoda je třetí heuristickou metodou a její výhoda oproti metodě indexační spočívá v tom, že bere v každém kroku v úvahu "alternativní náklady"při volbě nejlevnější trasy. Pracuje s diferencemi, tedy rozdíly druhé nejlepší oproti nejlepší variantě v každém řádku a sloupci. Volí se pak vždy nejlevnější jízda v řádku či sloupci s největší diferencí. Použijme metodu pro náš známý příklad. K matici nákladů doplníme řádkové a sloupcové diference c/,., i — 1,... 3 a dj, j — 1,... 4. požadavky Xij 0 2 0 0 -CO 0 3 2 .Q 0 2 5 N 2 4 S-\ S2 S3 S4 di. V2 v3 d.j Zbývá přepravit dvě jednotky z V3 zákazníkovi S2. oq.o Dopravní problém - VAM Vogelova aproximační metoda je třetí heuristickou metodou a její výhoda oproti metodě indexační spočívá v tom, že bere v každém kroku v úvahu "alternativní náklady"při volbě nejlevnější trasy. Pracuje s diferencemi, tedy rozdíly druhé nejlepší oproti nejlepší variantě v každém řádku a sloupci. Volí se pak vždy nejlevnější jízda v řádku či sloupci s největší diferencí. Použijme metodu pro náš známý příklad. K matici nákladů doplníme řádkové a sloupcové diference c/,., i — 1,... 3 a dj, j — 1,... 4. požadavky Xij 0 0 0 0 -CO 0 3 2 .Q 0 2 5 N 0 2 4 Si s2 s3 s4 di. 2 1 3 4 1 V2 6 2 6 1 1 v3 7 3 3 3 0 d.j 4 1 0 2 Výsledné přepravní náklady jsou *11 • C11 + x12 • C12 + x22 ■ c22 + X24 ■ c24 + x32 ■ C32 + X33 • C33 = 35, což je výrazně méně než u předchozích metod. Dopravní problém - MODI Modifikovaná distribuční metoda řešení vyrovnaných úloh spočívá ve využití duality. Duální úlohu k problému z = E™-| EyLi cijxij ^ m'n za podmínek E"=1 Xíj = a/, /' = 1,..., m, E™ 1 xv = ty, j = 1,..., n, > 0, /' = 1,..., m, j = 1,..., n formulujeme pomocí duálních proměnných t/,-, i/y, /' = 1,..., m, y = 1,..., n : E™ i a,-u,- + Eyli t»y-v>- -> max za omezení u, + Vj < c-,j, i — 1,..., m, j — 1,..., n Dopravní problém - MODI Modifikovaná distribuční metoda řešení vyrovnaných úloh spočívá ve využití duality. Duální úlohu k problému z = E™-| EyLi cijxij ^ m'n za podmínek E"=1 Xíj = a/, /' = 1,..., m, E™ 1 xv = ty, j = 1,..., n, > 0, /' = 1,..., m, j = 1,..., n formulujeme pomocí duálních proměnných t/,-, i/y, /' = 1,..., m, y = 1,..., n : E™ i a,-u,- + Eyli t»y-v>- ->■ max za omezení u, + Vj < c-,j, i — 1,..., m, j — 1,..., n Z teorie duality plyne, že pro všechny základní proměnné primární úlohy {Xjj > 0) je příslušné omezení splněno jako rovnost, (t/,- + Vj — c,y). Pokud se nejedná o řešení degenerované, je v bázi právě m + n - 1 proměnných, a tedy dostaneme soustavu m + n - 1 rovnic pro m+ n duálních proměnných. Zvolíme-li libovolně hodnotu jedné duální proměnné, lze ostatní dopočítat. Ověřením duální přípustnosti zjistíme, zda je nalezené řešení optimální, tj. zda u; + vj - Qj < 0, /' = 1,..., m, j = 1,..., n < □ ► <(J> Dopravní problém - MODI Určení hodnot duálních proměnných a ověření optimality lze provést přímo v tabulce, vraťme se k příkladu vyřešenému metodou VAM: požadavky ca Si s2 S3 s4 Xij 3 6 4 5 2 1 3 4 co H—' 5 3 2 V2 6 2 6 1 acita 5 7 3 2 2 5 CD 6 2 4 Si s2 Sb s4 í// 2 1 3 4 1 V2 6 2 6 1 2 v3 7 3 3 3 3 1 0 0 -4 Volíme Uj, vj tak, aby jejich součty byly rovny číslům v červených polích. Jednu proměnnou volíme libovolně, tedy pro jednoduchost např. v2 — 0. Ostatní postupně dopočítáme. Tabulka je optimální, součty duálních proměnných nepřesahují čísla uvnitř tabulky. oq.o Dopravní problém - MODI Kritérium optimality však není splněno pro přípustné řešení nalezené indexovou metodou: požadavky Cij Si s2 S3 s4 Ui 3 6 4 5 V^ 2 1 3 4 co H—' 5 5 V2 6 2 6 1 O CO 7 1 1 5 v3 7 3 3 3 o_ CO 6 2 4 Dopravní problém - MODI Kritérium optimality však není splněno pro přípustné řešení nalezené indexovou metodou: požadavky 3 6 4 5 opacita 5 7 6 1 2 5 1 4 5 Cij Si s2 S3 s4 Ui V^ 2 1 3 4 -1 V2 6 2 6 1 0 v3 7 3 3 3 1 6 2 2 1 Volíme ui, Vj tak, aby jejich součty byly rovny číslům v červených polích. Požadovných hodnot dosáhneme např. volbou u2 — 0. Ostatní opět dopočítáme. Dopravní problém - MODI Kritérium optimality však není splněno pro přípustné řešení nalezené indexovou metodou: požadavky Xij 3 6 4 5 >acita 5 7 1 5 1 5 CD 6 2 4 Cij Si s2 S3 s4 í// Ví 2 1 3 4 -1 V2 6 2 6 1 0 v3 7 3 3 3 1 6 2 2 1 Je vidět, že v levém horním rohu je porušena podmínka optimality: l/1 + ví = 5 > Cn =2. Dopravní problém - MODI Kritérium optimality však není splněno pro přípustné řešení nalezené indexovou metodou: požadavky Xij 3 6 4 5 opacita 5 7 6 + 1 -2 5 -1 + 4 5 Cij Si s2 S3 s4 Ui Ví 2 1 3 4 -1 V2 6 2 6 1 0 v3 7 3 3 3 1 6 2 2 1 Je vidět, že v levém horním rohu je porušena podmínka optimality: l/1 + ví = 5 > Cn =2. K základnímu řešení s lepší hodnotou primární účelové funkce přejdeme volbou X11 jako vstupující proměnné, pomocí které nahradíme některou z proměnných Xi2,x22,x2i ležících natzv. Dantzigově uzavřeném obvodu vycházejícím z Xn. Vybíráme tak, aby se neporušily podmínky primární přípustnosti. Je vidět, že lze o 1 zmenšit a tudíž vyhodit z báze x2i. Současně musíme zvětšit x22 a zmenšit xi2 (viz znaménka + a - v levé tabulce). Dostaneme nové základní řešení. Dopravní problém - MODI Kritérium optimality však není splněno pro přípustné řešení nalezené indexovou metodou: požadavky Xij 3 6 4 5 CD H—' 5 1 4 O CO 7 0 2 5 Q_ CO 6 2 4 Cij Si s2 S3 s4 Ui V^ 2 1 3 4 -1 V2 6 2 6 1 0 v3 7 3 3 3 4 3 2 -1 1 Znovu doplníme u-,, Vj a zkontrolujeme podmínku optimality. Ta je porušena pro c32 a c34. Dopravní problém - MODI Kritérium optimality však není splněno pro přípustné řešení nalezené indexovou metodou: požadavky Xij 3 6 4 5 CD H—' 5 1 + 4 - O CO 7 0 2 5 Q_ CO 6 2 - + 4 Cij Si s2 S3 s4 í// V^ 2 1 3 4 -1 V2 6 2 6 1 0 v3 7 3 3 3 4 3 2 -1 1 Znovu doplníme u-,, Vj a zkontrolujeme podmínku optimality. Ta je porušena pro c32 a c34. Protože větší rozdíl je mezi (t/2 + v3) - C23 — 6 - 3 — 3 než mezi (1/2 + ^4) - C24 = 5 - 3 — 2 , získáme volbou x32 jako vstupující větší zlepšení účelové funkce. Musíme k ní doplnit Dantzigův obvod, budou jej tvořit x31, x-\ -\ a x12. Z báze vystoupí x31, jehož 2 jednotky se přesunou do x32. (na obvodu tudíž též o 2 zvětšíme x^ a zmenšíme x12. Dostaneme novou tabulku. 0q.0 Dopravní problém - MODI Kritérium optimality však není splněno pro přípustné řešení nalezené indexovou metodou: požadavky 3 6 4 5 opacita 5 7 6 3 0 2 2 2 4 5 Cij Si s2 S3 s4 Ui V^ 2 1 3 4 1 V2 6 2 6 1 2 v3 7 3 3 3 3 1 0 0 -1 Nalezené řešení je již optimální jak jsme ověřili dříve, při výpočtu metodou VAM. Hodnota účelové funkce z = 35 již dále nejde zlepšit. Při postupu metodou MÓDI se někdy setkáme s degenerací, kdy v bázi je méně než m + n - 1 proměnných. Pak se některé nulové xtí uměle nahradí malou hodnotou e > 0. Dopravní problém - použití Příklady možných aplikací dopravního problému ilustruje následující přehled. druh činnosti zdroje cílová místa rozvoz pohonných hmot rafinérie, sklady čerpací stanice svoz poštovních zásilek přepravní uzly třídící centra sběr fotozakázek fotosběrny spádová centra distribuce léčiv sklady distribučních firem lékárny, nemocnice zpracování cukrové řepy produkční střediska cukrovary Výjimečně se u dopravních úloh setkáme i s maximalizací účelové funkce. Kdy? Přiřazovací problém Přiřazovací úlohu můžeme charakterizovat jako problém vytvoření párů z objektů ze dvou různých skupin, tak aby toto spárování přineslo co největší efekt. Typicky jde o přidělení jednotlivých projektů pracovníkům či pracovních činností strojům tak abychom minimalizovali náklady nebo maximalizovali zisk. Jde o úlohu příbuznou s dopravním problémem. Ukažme příklad takové úlohy z knihy "M. Kavan: Výrobní a provozní management": Optimalizujte přidělení prací 1, 2, 3 strojům A, B, C, D, přičemž výrobní náklady jsou dány tabulkou: stroje Cij A B C D ráce 1 15 19 17 12 2 12 10 15 9 Q. 3 18 14 11 14 Musíme tedy vybrat jedno číslo v každém řádku, tak aby jejich součet byl minimální a přitom žádná dvě čísla neležela ve stejném sloupci. Přiřazovací problém - matematická formulace Přidělení Mého úkolu y-tému pracovnímu místu můžeme reprezentovat zápisem xq■■ — 1, ostatním proměnným přiřadíme hodnotu 0. Pokud by bylo úkolů více než pracovních míst (m > n), je úloha neřešitelná. V případě opačné nerovnosti dorovnáme úlohu zavedením fiktivních prací s nulovými náklady, tak aby m = n. Nadále předpokládejme, že je úloha vyrovnaná. Matematický model přiřazovacího problému zahrnuje podmínky, že řádkové a sloupcové součty v tabulce jsou rovny jedné, s tím že proměnné nabývají pouze hodnot 0 nebo 1. Úlohu můžeme zapsat tatkto: Minimalizujme účelovou funkci Z — S/=1 Sy=1 CijXij za podmínek EjLi Xij = 1, /' = 1,..., n, Eti xř = 1, y = 1,..., n, x,, e {0, 1}, /'= 1, y = 1,...,n Přiřazovací problém - řešení Přiřazovací problém je možné řešit tzv. maďarskou metodou. Jejím principem je převedení původní úlohy na úlohu redukovanou tak, aby v každé řadě (řadou označujeme souhrne řádky a sloupce) byla aspoň jedna nula a přitom ostatní sazby zůstaly kladné. Optimální tabulka je taková, která obsahuje n "nezávislých nul"(nezávislé jsou tehdy, když žádné dvě neleží ve stejné řadě -jako v sudoku). To poznáme podle toho, že nelze "přeškrtnoufvšechny nuly pomocí méně než n vodorovných a svislých čar. Metodu ukážeme na řešení úvodní úlohy. Přiřazovací problém - řešení Přiřazovací problém je možné řešit tzv. maďarskou metodou. Jejím principem je převedení původní úlohy na úlohu redukovanou tak, aby v každé řadě (řadou označujeme souhrne řádky a sloupce) byla aspoň jedna nula a přitom ostatní sazby zůstaly kladné. Optimální tabulka je taková, která obsahuje n "nezávislých nul"(nezávislé jsou tehdy, když žádné dvě neleží ve stejné řadě -jako v sudoku). To poznáme podle toho, že nelze "přeškrtnoufvšechny nuly pomocí méně než n vodorovných a svislých čar. Metodu ukážeme na řešení úvodní úlohy. Původní zadání je třeba vyrovnat, protože počet strojů je větší než počet prací. stroje ca A B C D ráce 1 15 19 17 12 2 12 10 15 9 Q. 3 18 14 11 14 Přidáme tedy jednu fiktivní činnost s nulovými náklady. Přiřazovací problém - řešení Přiřazovací problém je možné řešit tzv. maďarskou metodou. Jejím principem je převedení původní úlohy na úlohu redukovanou tak, aby v každé řadě (řadou označujeme souhrne řádky a sloupce) byla aspoň jedna nula a přitom ostatní sazby zůstaly kladné. Optimální tabulka je taková, která obsahuje n "nezávislých nul"(nezávislé jsou tehdy, když žádné dvě neleží ve stejné řadě -jako v sudoku). To poznáme podle toho, že nelze "přeškrtnoufvšechny nuly pomocí méně než n vodorovných a svislých čar. Metodu ukážeme na řešení úvodní úlohy. Původní zadání je třeba vyrovnat, protože počet strojů je větší než počet prací. stroje ca A B C D ráce 1 15 19 17 12 2 12 10 15 9 Q. 3 18 14 11 14 4 0 0 0 0 Zredukujeme řádky odečtením řádkového minima, v každém pak bude aspoň jedna nula. Přiřazovací problém - řešení Přiřazovací problém je možné řešit tzv. maďarskou metodou. Jejím principem je převedení původní úlohy na úlohu redukovanou tak, aby v každé řadě (řadou označujeme souhrne řádky a sloupce) byla aspoň jedna nula a přitom ostatní sazby zůstaly kladné. Optimální tabulka je taková, která obsahuje n "nezávislých nul"(nezávislé jsou tehdy, když žádné dvě neleží ve stejné řadě -jako v sudoku). To poznáme podle toho, že nelze "přeškrtnoufvšechny nuly pomocí méně než n vodorovných a svislých čar. Metodu ukážeme na řešení úvodní úlohy. Původní zadání je třeba vyrovnat, protože počet strojů je větší než počet prací. stroje ca A B C D ráce 1 3 7 5 0 2 3 1 6 0 Q. 3 7 3 0 3 4 0 0 0 0 Nyní bychom totéž provedli i pro sloupce, aby v každém byla jedna nula. To už ale nemusíme dělat díky přidané činnosti. Přiřazovací problém - řešení Přiřazovací problém je možné řešit tzv. maďarskou metodou. Jejím principem je převedení původní úlohy na úlohu redukovanou tak, aby v každé řadě (řadou označujeme souhrne řádky a sloupce) byla aspoň jedna nula a přitom ostatní sazby zůstaly kladné. Optimální tabulka je taková, která obsahuje n "nezávislých nul"(nezávislé jsou tehdy, když žádné dvě neleží ve stejné řadě -jako v sudoku). To poznáme podle toho, že nelze "přeškrtnoufvšechny nuly pomocí méně než n vodorovných a svislých čar. Metodu ukážeme na řešení úvodní úlohy. Původní zadání je třeba vyrovnat, protože počet strojů je větší než počet prací. stroje ca A B C D ráce 1 3 7 5 0 2 3 1 6 0 Q. 3 7 3 0 3 4 0 0 0 0 K pokrytí všech nul stačí tři čáry, takže tabulka není optimální. Krok metody spočívá v přičtení nejmenšího nepokrytého prvku k hodnotám v průsečících čar a současně jeho odečtení od všech nepokrytých prv^ů, , Přiřazovací problém - řešení Přiřazovací problém je možné řešit tzv. maďarskou metodou. Jejím principem je převedení původní úlohy na úlohu redukovanou tak, aby v každé řadě (řadou označujeme souhrne řádky a sloupce) byla aspoň jedna nula a přitom ostatní sazby zůstaly kladné. Optimální tabulka je taková, která obsahuje n "nezávislých nul"(nezávislé jsou tehdy, když žádné dvě neleží ve stejné řadě -jako v sudoku). To poznáme podle toho, že nelze "přeškrtnoufvšechny nuly pomocí méně než n vodorovných a svislých čar. Metodu ukážeme na řešení úvodní úlohy. Původní zadání je třeba vyrovnat, protože počet strojů je větší než počet prací. stroje ca A B C D ráce 1 2 6 5 0 2 2 0 6 0 Q. 3 6 2 0 3 4 0 0 1 1 Po provedení kroku metody jsme dostali novou nepokrytou nulu a zbavili se dvojitě pokrytých nul. Musíme setrojit nové pokrytí. Přiřazovací problém - řešení Přiřazovací problém je možné řešit tzv. maďarskou metodou. Jejím principem je převedení původní úlohy na úlohu redukovanou tak, aby v každé řadě (řadou označujeme souhrne řádky a sloupce) byla aspoň jedna nula a přitom ostatní sazby zůstaly kladné. Optimální tabulka je taková, která obsahuje n "nezávislých nul"(nezávislé jsou tehdy, když žádné dvě neleží ve stejné řadě -jako v sudoku). To poznáme podle toho, že nelze "přeškrtnoufvšechny nuly pomocí méně než n vodorovných a svislých čar. Metodu ukážeme na řešení úvodní úlohy. Původní zadání je třeba vyrovnat, protože počet strojů je větší než počet prací. stroje ca A B C D ráce 1 2 6 5 0 2 2 0 6 0 Q. 3 6 2 0 3 4 0 0 1 1 Ověřme, zda je nová tabulka optimální. K pokrytí všech nul jsou potřeba minimálně čtyři čáry. Výpočet končí, jinak bychom zopakovali krok. oq.o Přiřazovací problém - řešení Přiřazovací problém je možné řešit tzv. maďarskou metodou. Jejím principem je převedení původní úlohy na úlohu redukovanou tak, aby v každé řadě (řadou označujeme souhrne řádky a sloupce) byla aspoň jedna nula a přitom ostatní sazby zůstaly kladné. Optimální tabulka je taková, která obsahuje n "nezávislých nul"(nezávislé jsou tehdy, když žádné dvě neleží ve stejné řadě -jako v sudoku). To poznáme podle toho, že nelze "přeškrtnoufvšechny nuly pomocí méně než n vodorovných a svislých čar. Metodu ukážeme na řešení úvodní úlohy. Původní zadání je třeba vyrovnat, protože počet strojů je větší než počet prací. stroje ca A B C D ráce 1 2 6 5 0 2 2 0 6 0 Q. 3 6 2 0 3 4 0 0 1 1 Mezi těmi, které nejsou pokryty dvojitě vybereme nezávislé nuly. Ty nám říkají, které práce kterým strojům přiřadit. Tedy 1-D, 2-B, 3-C. Stroji A se přiřadí fiktivní práce, tedy se nevyužije. Přiřazovací problém - řešení Přiřazovací problém je možné řešit tzv. maďarskou metodou. Jejím principem je převedení původní úlohy na úlohu redukovanou tak, aby v každé řadě (řadou označujeme souhrne řádky a sloupce) byla aspoň jedna nula a přitom ostatní sazby zůstaly kladné. Optimální tabulka je taková, která obsahuje n "nezávislých nul"(nezávislé jsou tehdy, když žádné dvě neleží ve stejné řadě -jako v sudoku). To poznáme podle toho, že nelze "přeškrtnoufvšechny nuly pomocí méně než n vodorovných a svislých čar. Metodu ukážeme na řešení úvodní úlohy. Původní zadání je třeba vyrovnat, protože počet strojů je větší než počet prací. stroje ca A B C D ráce 1 15 19 17 12 2 12 10 15 9 Q. 3 18 14 11 14 Optimální řešení znovu vyznačme v původní tabulce. Celkové náklady jsou 12 + 10 + 11 =33. Úloha nemusí mít jediné řešení - pokud je možné volit čáry pokrytí či vybírat nezávislé nuly více způsoby, všechna výsledná řešení budou mít stejnou hodnotu účelové funkce. , * Okružní dopravní problém Problém se často též nazývá jako Úloha obchodního cestujícího a připomíná přiřazovací úlohu. Cílem je vyjít z nějakého výchozího stanoviště (označme jej Ai), navštívit postupně každé jednou místa A2,...,Ana nakonec se vrátit zpět tak, aby délka trasy byla co nejmenší. Úloha má velké množství reálných aplikací - pravidelný rozvoz či svoz různých produktů (pekárny, mlékárny, popeláři, atd.). Okružní dopravní problém Problém se často též nazývá jako Úloha obchodního cestujícího a připomíná přiřazovací úlohu. Cílem je vyjít z nějakého výchozího stanoviště (označme jej Ai), navštívit postupně každé jednou místa A2,...,Ana nakonec se vrátit zpět tak, aby délka trasy byla co nejmenší. Úloha má velké množství reálných aplikací - pravidelný rozvoz či svoz různých produktů (pekárny, mlékárny, popeláři, atd.). V matematickém modelu se také zavádějí bivalentní proměnné x/j nabývající hodnoty 1 nebo 0 podle toho, zda cesta A, A bude na okružní trase zařazena či ne. Protože se každé místo projede právě jednou, tj. právě jednou bude koncovým a právě jednou výchozím bodem, máme stejně jako u přiřazovacího problému omezení ve formě jednotkových řádkových i sloupcových součtů. Okružní úloha je však o mnoho složitější, protože navíc obsahuje další omezení, které má zabránit tomu, aby se řešení rozpadlo do více samostatných cyklů (příklad viz tabulky). Okružní dopravní problém Problém se často též nazývá jako Úloha obchodního cestujícího a připomíná přiřazovací úlohu. Cílem je vyjít z nějakého výchozího stanoviště (označme jej Ai), navštívit postupně každé jednou místa A2,...,Ana nakonec se vrátit zpět tak, aby délka trasy byla co nejmenší. Úloha má velké množství reálných aplikací - pravidelný rozvoz či svoz různých produktů (pekárny, mlékárny, popeláři, atd.). V matematickém modelu se také zavádějí bivalentní proměnné x/j nabývající hodnoty 1 nebo 0 podle toho, zda cesta A, A bude na okružní trase zařazena či ne. Protože se každé místo projede právě jednou, tj. právě jednou bude koncovým a právě jednou výchozím bodem, máme stejně jako u přiřazovacího problému omezení ve formě jednotkových řádkových i sloupcových součtů. Okružní úloha je však o mnoho složitější, protože navíc obsahuje další omezení, které má zabránit tomu, aby se řešení rozpadlo do více samostatných cyklů (příklad viz tabulky). Pro velká n je prakticky nemožné použití standartních optimalizačních algoritmů ( s běžně dostupnou výpočetní technikou nenajdeme v reálném čase optimální řešení už pro 30 uzlů). Okružní dopravní problém - přípustnost řešení Ilustrujme si rozdíl mezi přiřazovací a okružní úlohou na následujícím příkladě. Cílem je najít nějakou okružní trasu (pro jednoduchost neuvádíme tabulku nákladů a tedy nepožadujeme optimalitu) mezi městy A-\,..., A5, může se nám tedy zdát, že je to stejné jako výběr dvojic měst, mezi kterými povede trasa. Znázorněme nějaký takový výběr v tabulce: Ai A2 A3 AA A5 Ai 0 0 1 0 0 A2 0 0 0 1 0 A3 0 1 0 0 0 A4 0 0 0 0 1 A5 1 0 0 0 0 Jedná se o přípustné řešení okružní úlohy, reprezentuje trasu Ai - A3 - A2 - A4 - A5 - Ai. Okružní dopravní problém - přípustnost řešení Ilustrujme si rozdíl mezi přiřazovací a okružní úlohou na následujícím příkladě. Cílem je najít nějakou okružní trasu (pro jednoduchost neuvádíme tabulku nákladů a tedy nepožadujeme optimalitu) mezi městy A-\,..., A5, může se nám tedy zdát, že je to stejné jako výběr dvojic měst, mezi kterými povede trasa. Znázorněme nějaký takový výběr v tabulce: A, A2 A3 AA A5 0 1 0 0 0 A2 0 0 1 0 0 A3 1 0 0 0 0 A4 0 0 0 0 1 A5 0 0 0 1 0 Jedná se o nepřípustné řešení okružní úlohy, reprezentuje dva samostatné cykly A^ - A2 - A3 - A^ a A4 - A5 - A4. Okružní dopravní problém - přibližné řešení K nalezení približného řešení lze využít heuristické metody. Na úloze z knihy "J. Pelikán, V. Chýna: Kvantitativní management", ukážeme hladový algoritmus, tzv metodu nejbližšího souseda. Pekárna v Kralupech vypravuje každé ráno dodávku, která zásobuje prodejny potravin v okolních městech a poté se vrací zpět. Doporučte, v jakém pořadí má města projet, aby ujel co nejméně km. Tabulka vzdáleností je následující: Okružní dopravní problém - přibližné řešení K nalezení približného řešení lze využít heuristické metody. Na úloze z knihy "J. Pelikán, V. Chýna: Kvantitativní management", ukážeme hladový algoritmus, tzv metodu nejbližšího souseda. Pekárna v Kralupech vypravuje každé ráno dodávku, která zásobuje prodejny potravin v okolních městech a poté se vrací zpět. Doporučte, v jakém pořadí má města projet, aby ujel co nejméně km. Tabulka vzdáleností je následující: Kralupy Veltrusy Slaný Velvary Zlonice Vraný Bříza Kralupy 0 4 16 8 18 25 17 Veltrusy 4 0 20 12 22 28 13 Slaný 16 20 0 12 7 14 17 Velvary 8 12 12 0 10 17 10 Zlonice 18 22 7 10 0 7 10 Vraný 25 28 14 17 7 0 15 Bříza 17 13 17 10 10 15 0 Okružní dopravní problém - přibližné řešení K nalezení približného řešení lze využít heuristické metody. Na úloze z knihy "J. Pelikán, V. Chýna: Kvantitativní management", ukážeme hladový algoritmus, tzv metodu nejbližšího souseda. Pekárna v Kralupech vypravuje každé ráno dodávku, která zásobuje prodejny potravin v okolních městech a poté se vrací zpět. Doporučte, v jakém pořadí má města projet, aby ujel co nejméně km. Tabulka vzdáleností je následující: Kralupy Veltrusy Slaný Velvary Zlonice Vraný Bříza Kralupy 0 4 16 8 18 25 17 Veltrusy 4 0 20 12 22 28 13 Slaný 16 20 0 12 7 14 17 Velvary 8 12 12 0 10 17 10 Zlonice 18 22 7 10 0 7 10 Vraný 25 28 14 17 7 0 15 Bříza 17 13 17 10 10 15 0 Dle metody ze stávajícího města jedeme vždy do nejbližšího tak, aby se cesta nezacyklila. Dostaneme okruh Kralupy - Veltrusy - Velvary - Zlonice - Slaný -Vraný - Bříza - Kralupy o celkové délce 4+12+10+ 7+ 14+15 +17 = 79 km. Okružní dopravní problém - přibližné řešení K nalezení približného řešení lze využít heuristické metody. Na úloze z knihy "J. Pelikán, V. Chýna: Kvantitativní management", ukážeme hladový algoritmus, tzv metodu nejbližšího souseda. Pekárna v Kralupech vypravuje každé ráno dodávku, která zásobuje prodejny potravin v okolních městech a poté se vrací zpět. Doporučte, v jakém pořadí má města projet, aby ujel co nejméně km. Tabulka vzdáleností je následující: Kralupy Veltrusy Slaný Velvary Zlonice Vraný Bříza Kralupy 0 4 16 8 18 25 17 Veltrusy 4 0 20 12 22 28 13 Slaný 16 20 0 12 7 14 17 Velvary 8 12 12 0 10 17 10 Zlonice 18 22 7 10 0 7 10 Vraný 25 28 14 17 7 0 15 Bříza 17 13 17 10 10 15 0 Metodu je dobré zkusit nastartovat i odjinud. Start z Veltrus dává okruh Veltrusy - Kralupy - Velvary - Zlonice - Slaný - Vraný - Bříza - Veltrusy o celkové délce 4+8+10+ 7+ 14+15+13 = 71 km. Okružní dopravní problém - přibližné řešení K nalezení približného řešení lze využít heuristické metody. Na úloze z knihy "J. Pelikán, V. Chýna: Kvantitativní management", ukážeme hladový algoritmus, tzv metodu nejbližšího souseda. Pekárna v Kralupech vypravuje každé ráno dodávku, která zásobuje prodejny potravin v okolních městech a poté se vrací zpět. Doporučte, v jakém pořadí má města projet, aby ujel co nejméně km. Tabulka vzdáleností je následující: Kralupy Veltrusy Slaný Velvary Zlonice Vraný Bříza Kralupy 0 4 16 8 18 25 17 Veltrusy 4 0 20 12 22 28 13 Slaný 16 20 0 12 7 14 17 Velvary 8 12 12 0 10 17 10 Zlonice 18 22 7 10 0 7 10 Vraný 25 28 14 17 7 0 15 Bříza 17 13 17 10 10 15 0 Start z Vraného dá okruh Vraný -Zlonice - Slaný - Velvary - Kralupy - Veltrusy - Bříza -Vraný o celkové délce 7+7+12+8+4+13 +15 = 66 km, což je dokonce nejkratší možná trasa. Okružní dopravní problém - přibližné řešení Další heuristikou je metoda výhodnostních čísel. Je založena na srovnání délky trasy mezi městy 1 - / - y - 1 a součtu délek cest 1 - / - 1, 1 - y - 1. Výhodnostní číslo S,y pak definujeme jako rozdíl těchto délek, neboli výhodnost propojení /' a y: S,y — cy, + cy - c,y . Spočtěme matici výhodnostních čísel pro úlohu o pekařství: Okružní dopravní problém - přibližné řešení Další heuristikou je metoda výhodnostních čísel. Je založena na srovnání délky trasy mezi městy 1 - / - y - 1 a součtu délek cest 1 - / - 1, 1 - y - 1. Výhodnostní číslo S,y pak definujeme jako rozdíl těchto délek, neboli výhodnost propojení /' a y: S,y — cy, + cy - c,y . Spočtěme matici výhodnostních čísel pro úlohu o pekařství: Veltrusy Slaný Velvary Zlonice Vraný Bříza Veltrusy X 0 4 4 4 8 Slaný 0 X 12 27 27 16 Velvary 4 12 X 16 16 15 Zlonice 4 27 16 X 36 25 Vraný 4 27 16 36 X 27 Bříza 8 16 15 25 27 X Trasu tvoříme postupně od největších výhodnostních čísel, přičemž se bráníme předčasnému uzavření okruhu. Největší výhodnost má spojení ze Zlonice na Vraný. Okružní dopravní problém - přibližné řešení Další heuristikou je metoda výhodnostních čísel. Je založena na srovnání délky trasy mezi městy 1 - / - y - 1 a součtu délek cest 1 - / - 1, 1 - y - 1. Výhodnostní číslo S,y pak definujeme jako rozdíl těchto délek, neboli výhodnost propojení /' a y: S,y — cy, + cy - c,y . Spočtěme matici výhodnostních čísel pro úlohu o pekařství: Veltrusy Slaný Velvary Zlonice Vraný Bříza Veltrusy X 0 4 4 4 8 Slaný 0 X 12 27 27 16 Velvary 4 12 X 16 16 15 Zlonice 4 27 16 X 36 25 Vraný 4 27 16 36 X 27 Bříza 8 16 15 25 27 X Spolu se zařazením spojení Zlonice - Vraný musíme z dalších úvah vynechat příslušný sloupec a řádek i symetrický prvek. Okružní dopravní problém - přibližné řešení Další heuristikou je metoda výhodnostních čísel. Je založena na srovnání délky trasy mezi městy 1 - / - y - 1 a součtu délek cest 1 - / - 1, 1 - y - 1. Výhodnostní číslo S,y pak definujeme jako rozdíl těchto délek, neboli výhodnost propojení /' a y: S,y — cy, + cy - c,y . Spočtěme matici výhodnostních čísel pro úlohu o pekařství: Veltrusy Slaný Velvary Zlonice Vraný Bříza Veltrusy X 0 4 4 8 Slaný 0 X 12 27 16 Velvary 4 12 X 16 15 Zlonice Vraný 4 27 16 27 Bříza 8 16 15 25 X Další největší číslo je 27, zařadíme například spojení Slaný - Zlonice. Z matice vynecháme všechna dále nepoužitelná spojení. Okružní dopravní problém - přibližné řešení Další heuristikou je metoda výhodnostních čísel. Je založena na srovnání délky trasy mezi městy 1 - / - y - 1 a součtu délek cest 1 - / - 1, 1 - y - 1. Výhodnostní číslo S,y pak definujeme jako rozdíl těchto délek, neboli výhodnost propojení /' a y: S,y — cy, + cy - c,y . Spočtěme matici výhodnostních čísel pro úlohu o pekařství: Veltrusy Slaný Velvary Zlonice Vraný Bříza Veltrusy X 0 4 8 Slaný Velvary 4 12 X 15 Zlonice Vraný 4 16 27 Bříza 8 16 15 X Další největší číslo je 27, zařadíme tedy spojení Vraný vynecháme všechna dále nepoužitelná spojení. Bříza. Z matice Okružní dopravní problém - přibližné řešení Další heuristikou je metoda výhodnostních čísel. Je založena na srovnání délky trasy mezi městy 1 - / - y - 1 a součtu délek cest 1 - / - 1, 1 - y - 1. Výhodnostní číslo S,y pak definujeme jako rozdíl těchto délek, neboli výhodnost propojení /' a y: S,y — cy, + cy - c,y . Spočtěme matici výhodnostních čísel pro úlohu o pekařství: Veltrusy Slaný Velvary Zlonice Vraný Bříza Veltrusy X 0 4 Slaný Velvary 4 12 X Zlonice Vraný Bříza 8 15 Další největší číslo je 15, zařadíme tedy spojení Bříza - Velvary. Z matice vynecháme všechna dále nepoužitelná spojení. Okružní dopravní problém - přibližné řešení Další heuristikou je metoda výhodnostních čísel. Je založena na srovnání délky trasy mezi městy 1 - / - y - 1 a součtu délek cest 1 - / - 1, 1 - y - 1. Výhodnostní číslo S,y pak definujeme jako rozdíl těchto délek, neboli výhodnost propojení /' a y: S,y — cy, + cy - c,y . Spočtěme matici výhodnostních čísel pro úlohu o pekařství: Veltrusy Slaný Velvary Zlonice Vraný Bříza Veltrusy X 0 Slaný Velvary 4 Zlonice Vraný Bříza Nakonec zařadíme spojení Velvary-Veltrusy. Dostali jsme trasu Slaný -Zlonice - Vraný - Bříza - Velvary - Veltrusy. Startovní a koncové zůstávají Kralupy, dohromady tedy máme 16+7+7+15+10+12+4 = 71 km. Úloha celočíselného programování Mezi speciální úlohy lineárního programování patří i úlohy celočíselného programování (integer programming, IP). Jedná se o štandartní úlohy LP doplněné o podmínky celočíselnosti u některých ( smíšené úlohy IP ), případně všech proměnných (ryze celočíselné úlohy ). Tyto podmínky zpravidla plynou přímo z ekonomického modelu, kdy proměnné vyjadřují počty kusů nedělitelných produktů, počty opakování nějaké aktivity, apod. U řady úloh se pracuje dokonce jen s proměnnými, které vyjadřují určité rozhodnutí nebo alternativu, nabývají hodnot {0, 1} a pak hovoříme o bivalentních úlohách . Úloha celočíselného programování Mezi speciální úlohy lineárního programování patří i úlohy celočíselného programování (integer programming, IP). Jedná se o štandartní úlohy LP doplněné o podmínky celočíselnosti u některých ( smíšené úlohy IP ), případně všech proměnných (ryze celočíselné úlohy ). Tyto podmínky zpravidla plynou přímo z ekonomického modelu, kdy proměnné vyjadřují počty kusů nedělitelných produktů, počty opakování nějaké aktivity, apod. U řady úloh se pracuje dokonce jen s proměnnými, které vyjadřují určité rozhodnutí nebo alternativu, nabývají hodnot {0, 1} a pak hovoříme o bivalentních úlohách . Typickými představiteli takových úloh jsou například přiřazovací či okružní dopravní problém nebo též tzv "úloha o batohu": Máme n různě cenných věcí s různou hmotností a batoh o omezené kapacitě. Úkolem je vybrat věci, které vložíme do batohu tak, aby nebyl přetížen a cena jeho obsahu byla co nejvyšší. (Řešení úlohy bez podmínky celočíselnosti by bylo triviální: Seřadili bychom věci dle klesajícího poměru cena/hmotnost a plnili batoh v tomto pořadí. U první věci, která by se nevešla celá, bychom vzali jen její poměrnou část do výše kapacity batohu.) Celočíselné programování- příklad Příklad: Oděvní firma Styl, s.r.o. se zabývá se výrobou pánské módy. Za týden pracovnice ušijí x-\ modelů "Marceľ'a x2 modelů "Filip", Přitom na výrobu jednoho modelu "Marceľ'je potřeba 10 hodin a náklady na materiál jsou 400 Kč. Pro model "Filip"je to 20 hodin, materiál 300 Kč. Firma dostala nabídku na účast na zahraničním prodejním veletrhu, který se koná za týden. Očekávaný zisk z prodeje je 20 Euro, resp. 30 Euro pro jednotlivé modely. Navrhněte optimální plán výroby, jestliže firma má k dispozici jednu pracovnici na plný a jednu na poloviční úvazek (celkem 60 h) a zásobu materiálu za 1300Kč. oq.o Celočíselné programování- příklad Příklad: Oděvní firma Styl, s.r.o. se zabývá se výrobou pánské módy. Za týden pracovnice ušijí x-\ modelů "Marceľ'a x2 modelů "Filip", Přitom na výrobu jednoho modelu "Marceľ'je potřeba 10 hodin a náklady na materiál jsou 400 Kč. Pro model "Filip"je to 20 hodin, materiál 300 Kč. Firma dostala nabídku na účast na zahraničním prodejním veletrhu, který se koná za týden. Očekávaný zisk z prodeje je 20 Euro, resp. 30 Euro pro jednotlivé modely. Navrhněte optimální plán výroby, jestliže firma má k dispozici jednu pracovnici na plný a jednu na poloviční úvazek (celkem 60 h) a zásobu materiálu za 1300Kč. Matematický zápis úlohy z uvedeného příkladu je následující: Maximalizovat účelovou funkci z = 20xí + 30x2 za podmínek 400x + 300x2 < 1300 10xi + 20x2 < 60 x1; x2 e {0,1,2,3,...} Celočíselné programování- grafické znázornění Úloha obsahuje pouze dvě proměnné, je tedy možné ji řešit graficky. Celočíselné programování- grafické znázornění Úloha obsahuje pouze dvě proměnné, je tedy možné ji řešit graficky. Znázorněme přípustnou množinu. Jsou to body o celočíselných souřadnicích ležící uvnitř čtyřúhelníka. Celočíselné programování- grafické znázornění Úloha obsahuje pouze dvě proměnné, je tedy možné ji řešit graficky. Přidáme nulovou izokvantu účelové funkce, vyjadřujeme v desítkách Eur. Celočíselné programování- grafické znázornění Úloha obsahuje pouze dvě proměnné, je tedy možné ji řešit graficky. Nejvyšší izokvanta účelové funkce prochází bodem [0,3], což je hledané optimální řešení x*. Získáme 3 • 30 — 90 Euro. Celočíselné programování- grafické znázornění Úloha obsahuje pouze dvě proměnné, je tedy možné ji řešit graficky. Optimální řešení úlohy bez omezení celočíselnosti je xce/ = [1,6; 2,2], hodnota účelové funkce v tomto bodě je zce/ — 98 Euro. Celočíselné programování- grafické znázornění Úloha obsahuje pouze dvě proměnné, je tedy možné ji řešit graficky. Zaokrouhlením xce/ = [1,6; 2,2] dostaneme bod [2,2], který není přípustný. Při zakrouhlení dolů na [1,2] dostaneme neoptimální řešení, dává pouze 20 + 2 • 30 = 80 Euro oproti 90 Euro v bodě x*. Celočíselné programování- metody V předchozím příkladě jsme viděli, že intuitivní přístup k řešení celočíselné úlohy zanedbat podmínky celočíselnosti, vyřešit získanou úlohu LP, tzv zrelaxovanou úlohu a výsledné řešení zaokrouhlit, není vždy vhodný. Proto se používají jiné postupy vyvinuté speciálně pro celočíselné úlohy. Bývají však výpočetně náročnější, na běžných počítačích může výpočet zkolabovat i při počtu proměnných a omezení v řádu desítek. Celočíselné programování- metody V předchozím příkladě jsme viděli, že intuitivní přístup k řešení celočíselné úlohy zanedbat podmínky celočíselnosti, vyřešit získanou úlohu LP, tzv zrelaxovanou úlohu a výsledné řešení zaokrouhlit, není vždy vhodný. Proto se používají jiné postupy vyvinuté speciálně pro celočíselné úlohy. Bývají však výpočetně náročnější, na běžných počítačích může výpočet zkolabovat i při počtu proměnných a omezení v řádu desítek. Metody řezných nadrovin (např. Gomoryho algoritmus) spočívají v hledání optima zrelaxované úlohy a následném přidání dalšího omezení, které toto optimum "odřízne", ale přitom mu budou vyhovovat všechna přípustná řešení původní úlohy. Tyto metody jsou starší a méně používané. Celočíselné programování- metody V předchozím příkladě jsme viděli, že intuitivní přístup k řešení celočíselné úlohy zanedbat podmínky celočíselnosti, vyřešit získanou úlohu LP, tzv zrelaxovanou úlohu a výsledné řešení zaokrouhlit, není vždy vhodný. Proto se používají jiné postupy vyvinuté speciálně pro celočíselné úlohy. Bývají však výpočetně náročnější, na běžných počítačích může výpočet zkolabovat i při počtu proměnných a omezení v řádu desítek. Metody řezných nadrovin (např. Gomoryho algoritmus) spočívají v hledání optima zrelaxované úlohy a následném přidání dalšího omezení, které toto optimum "odřízne", ale přitom mu budou vyhovovat všechna přípustná řešení původní úlohy. Tyto metody jsou starší a méně používané. Kombinatorické metody jsou založeny na efektivním prohledávání přípustné množiny, která pro ryze celočíselnou úlohu obsahuje konečně, avšak zpravidla velmi mnoho prvků. V programových systémech se nejčastěji využívá metody větví a mezí (též Branch and Bound, tj. B & B), kterou si blíže popíšeme. oq.o Celočíselné programování- metody V předchozím příkladě jsme viděli, že intuitivní přístup k řešení celočíselné úlohy zanedbat podmínky celočíselnosti, vyřešit získanou úlohu LP, tzv zrelaxovanou úlohu a výsledné řešení zaokrouhlit, není vždy vhodný. Proto se používají jiné postupy vyvinuté speciálně pro celočíselné úlohy. Bývají však výpočetně náročnější, na běžných počítačích může výpočet zkolabovat i při počtu proměnných a omezení v řádu desítek. Metody řezných nadrovin (např. Gomoryho algoritmus) spočívají v hledání optima zrelaxované úlohy a následném přidání dalšího omezení, které toto optimum "odřízne", ale přitom mu budou vyhovovat všechna přípustná řešení původní úlohy. Tyto metody jsou starší a méně používané. Kombinatorické metody jsou založeny na efektivním prohledávání přípustné množiny, která pro ryze celočíselnou úlohu obsahuje konečně, avšak zpravidla velmi mnoho prvků. V programových systémech se nejčastěji využívá metody větví a mezí (též Branch and Bound, tj. B & B), kterou si blíže popíšeme. Speciální metody se používají pro úlohy se speciální strukturou, jde např. o různé heuristiky pro okružní dopravní problém nebo Maďarskou metodu. oq.o Celočíselné programování- metoda B & B Množina přípustných řešení se postupně dělí na menší části (branching), kde sledujeme horní, (při minimalizaci dolní) hranici hodnot účelové funkce (bounding). To nám umožní vytipovat podmnožinu, kde nejpravděpodobněji nastane optimum a také podmnožiny, kde optimum určitě nebude. Celočíselné programování- metoda B & B Množina přípustných řešení se postupně dělí na menší části (branching), kde sledujeme horní, (při minimalizaci dolní) hranici hodnot účelové funkce (bounding). To nám umožní vytipovat podmnožinu, kde nejpravděpodobněji nastane optimum a také podmnožiny, kde optimum určitě nebude. Větvení je možné provést pomocí řešení klasické úlohy LP získané relaxací celočíselné úlohy - přípustnou množinu označme M0. Je-li její bod optima x° celočíselný, našli jsme již optimální řešení původní úlohy. Jinak vybereme nějaké /', pro něž je Má složka řešení xf necelá, a přidáme dodatečné omezení x, < a, resp. x, > b, kde a, b jsou celá čísla obklopující x,. Tím rozdělíme množinu M0 na podmnožiny M-\ a M2. Celočíselné programování- metoda B & B Množina přípustných řešení se postupně dělí na menší části (branching), kde sledujeme horní, (při minimalizaci dolní) hranici hodnot účelové funkce (bounding). To nám umožní vytipovat podmnožinu, kde nejpravděpodobněji nastane optimum a také podmnožiny, kde optimum určitě nebude. Větvení je možné provést pomocí řešení klasické úlohy LP získané relaxací celočíselné úlohy - přípustnou množinu označme M0. Je-li její bod optima x° celočíselný, našli jsme již optimální řešení původní úlohy. Jinak vybereme nějaké /', pro něž je Má složka řešení xf necelá, a přidáme dodatečné omezení x, < a, resp. x, > b, kde a, b jsou celá čísla obklopující x,. Tím rozdělíme množinu M0 na podmnožiny M-\ a M2. Na každé z nich zase najdeme optimum účelové funkce x1 a x2 a určíme jejich hodnoty účelové funkce z1 a z2. Celé části těchto hodnot nám dávají horní mez pro účelovou funkci na množinách M-\ a M2. Celý proces pokračuje tak dlouho, dokud se všechny větve neuzavřou tak, že: • Ve větvi je nalezeno celočíselné řešení nebo • ve větvi neexistuje přípustné řešení nebo • ve větvi je nalezeno necelé řešení, jehož hodnota je menší než hodnota celočíselného řešení z jiné větve Celočíselné programování- použití metody B & B Ukažme metodu B & B pro úlohu rozvržení výroby textilu Celočíselné programování- použití metody B & B Ukažme metodu B & B pro úlohu rozvržení výroby textilu Již máme řešení relaxace úvodní úlohy x° = xce/ = [1,6; 2,2] Jeho první složka je necelá, přidáme tedy omezení x-\ > 2, resp. x-\ < 1, čímž vytvoříme množiny M-\ a M2. Celočíselné programování- použití metody B & B Ukažme metodu B & B pro úlohu rozvržení výroby textilu Na množině M-\ dostaneme optimum x1 = [2; |] a na M2 řešení x2 = [1; §]. Jejich hodnoty jsou z1 = 90 a z2 = 95, což dává horní meze pro M| a M2. Celočíselné programování- použití metody B & B Celočíselné programování- použití metody B & B Ukažme metodu B & B pro úlohu rozvržení výroby textilu Řešení x3 a x4 jsou již obě celočíselná, hodnoty účelové funkce v nich jsou z3 — 80 a z4 — 90. Výpočet končí, na žádné větvi (ani M-\) už nemůžeme dostat více než 90 Euro v bodě optima x4 = [0,3]. Celočíselné programování- použití metody B & B Ukažme metodu B & B pro úlohu rozvržení výroby textilu M xD=(8/5,11/5) zD = 98 M, x'=(2,5/3) z1 = 90 M2 x2=(1,5/2) z2 = 95 M3 x3=(1,2) z3 = 80 x*=(0,3) z* = 90 Postup řešení můžeme znázornit schematicky. Cílové programování Představuje jiný přístup k řešení úlohy LP. Místo stanovení omezujících podmínek a kritéria optimality se zde stanoví pevné a volné cíle s přiřazenými cílovými hodnotami. U pevných cílů musí být tato hodnota splněna (analogie omezujících podmínek). U volných cílů můžeme dosáhnout vyšší i nižší hodnoty než je cíl (avšak ne moc odlišné). Protože cílových hodnot bývá několik a zpravidla není možné dosažení všech, volí se obvykle jeden ze dvou přístupů: • pomocí preferencí - nejprve je optimalizován cíl s nejvyšší preferencí, atd. nebo • pomocí vah - koeficientů vyjadřujících důležitost daného cíle, optimalizuje se pak vážený součet odchylek od všech cílů Modely cílového programování jsou obecnější než standardní modely LP, protože v praxi zpravidla nemáme jediné kritérium optimality, ale sledujeme více hodnot. Cílové programování - příklad Příklad z J. Jablonský, Operační výzkum: Vedení penzijního fondu se rozhoduje o nákupu dvou druhů cenných papírů (akcie a obligace). Má k dispozici prostředky, které není nutné úplně vyčerpat, nelze je však překročit. Do akcií lze investovat maximálně 50 % celkového objemu prostředků a do obligací maximálně 75 % prostředků. Očekávaný výnos z akcií je 15 % a z obligací 10 % p.a., míra rizika investice je ohodnocena koeficientem 5 u akcií a 2 u obligací. Navrhněte takovou skladbu portfolia [x-\ ,x2], aby se dosáhlo průměrného výnosu 12% p.a. a aby byla vážená míra rizika rovna 3 . oq.o Cílové programování - příklad Příklad z J. Jablonský, Operační výzkum: Vedení penzijního fondu se rozhoduje o nákupu dvou druhů cenných papírů (akcie a obligace). Má k dispozici prostředky, které není nutné úplně vyčerpat, nelze je však překročit. Do akcií lze investovat maximálně 50 % celkového objemu prostředků a do obligací maximálně 75 % prostředků. Očekávaný výnos z akcií je 15 % a z obligací 10 % p.a., míra rizika investice je ohodnocena koeficientem 5 u akcií a 2 u obligací. Navrhněte takovou skladbu portfolia [x-\ ,x2], aby se dosáhlo průměrného výnosu 12% p.a. a aby byla vážená míra rizika rovna 3 . Při standardním přístupu LP bychom museli zvolit jako účelovou funkci jen jedno z nich, např. výnos a k omezujícím podmínkám pro objem investic přidat další omezení, totiž že míra rizika nesmí překročit hodnotu 3. Lze spočítat, že optimálního řešení při tomto přístupu dosáhneme, dáme-li g prostředků do akcií a | do obligací. Při průměrném riziku 3 tak získáme 11,67 % p.a. Cílové programování - příklad Příklad z J. Jablonský, Operační výzkum: Vedení penzijního fondu se rozhoduje o nákupu dvou druhů cenných papírů (akcie a obligace). Má k dispozici prostředky, které není nutné úplně vyčerpat, nelze je však překročit. Do akcií lze investovat maximálně 50 % celkového objemu prostředků a do obligací maximálně 75 % prostředků. Očekávaný výnos z akcií je 15 % a z obligací 10 % p.a., míra rizika investice je ohodnocena koeficientem 5 u akcií a 2 u obligací. Navrhněte takovou skladbu portfolia [x-\ ,x2], aby se dosáhlo průměrného výnosu 12% p.a. a aby byla vážená míra rizika rovna 3 . Při standardním přístupu LP bychom museli zvolit jako účelovou funkci jen jedno z nich, např. výnos a k omezujícím podmínkám pro objem investic přidat další omezení, totiž že míra rizika nesmí překročit hodnotu 3. Lze spočítat, že optimálního řešení při tomto přístupu dosáhneme, dáme-li g prostředků do akcií a | do obligací. Při průměrném riziku 3 tak získáme 11,67 % p.a. Nebo naopak budeme minimalizovat účelovou funkci vyjádřenou váženým rizikem a jako dodatečnou podmínku stanovíme omezení, aby průměrný výnos byl nejméně 12 % p.a. Pak je optimální investovat 40 % prostředků do akcií a 60 % do obligací. Při výsledném výnosu 12 % p.a. pak bude míra rizika 3,2. Cílové programování - formulace modelu U volných cílů se používají odchylkové proměnné pro vyjádření kladných a záporných odchylek (značíme je c/+, resp. c/p od cílových hodnot. Je-li cíle splněn, platí c/+ — d^ — 0, dojde-li k přesáhnutí cíle, pak je c/+ > 0, dj~ — 0 není-li cíl dosažen, je c/+ = 0, d^ > 0. Pevné cíle musí být respektovány, žádné odchylky se nepřipouští. Cílové programování - formulace modelu U volných cílů se používají odchylkové proměnné pro vyjádření kladných a záporných odchylek (značíme je c/+, resp. c/p od cílových hodnot. Je-li cíle splněn, platí c/+ — d^ — 0, dojde-li k přesáhnutí cíle, pak je c/+ > 0, dj~ — 0 a není-li cíl dosažen, je c/+ = 0, dj~ > 0. Pevné cíle musí být respektovány, žádné odchylky se nepřipouští. V modelu cílového programování je vždy účelová funkce vyjádřena jako minimalizace odchylkových proměnných, přičemž do ní lze zahrnout buď pouze kladné, pouze záporné nebo oba typy odchylek ( pak se cílovým hodnotám blížíme shora, zdola nebo "oboustranně"). Zápis úlohy o optimalizaci portfolia by tedy byl: d2, cřf ->• min, za podmínek: Xi + X2 < 1 Xi < 0,5; x2 < 0,75 15*1 +10x2 + d+ — rif" = 12 5*1 + 2x2 + d£ - d2 = 3 x1,x2,d+,df ,d£,d2~ > 0 Cílové programování - odlišení cílů vahami Při současné minimalizaci více odchylek můžeme odlišit jejich důležitost vahami. Abychom se vyhnuli problémům s různými jednotkami, je lepší pracovat s relativními odchylkami kde g, značí /'- tou cílovou hodnotu. Pokud je pro nás výnos pětkrát důležitější než riziko, stanovíme váhy 5 a 1 a účelová funkce bude mít podobu z = 5%- + %■■ Dále lze úlohu řešit běžnou simplexovou metodou. Cílové programování - odlišení cílů vahami Při současné minimalizaci více odchylek můžeme odlišit jejich důležitost vahami. Abychom se vyhnuli problémům s různými jednotkami, je lepší pracovat s relativními odchylkami kde g, značí /'- tou cílovou hodnotu. Pokud je pro nás výnos pětkrát důležitější než riziko, stanovíme váhy 5 a 1 a účelová funkce bude mít podobu z = 5%- + %■■ Dále lze úlohu řešit běžnou simplexovou metodou. Řešením je dát \ prostředků do akcií a § do obligací, přitom je zcela splněna cílová hodnota rizika a výnos je 11,67%. Cílové programování - odlišení cílů preferencemi Při odlišení cílů preferencemi minimalizujeme nejprve odchylku od důležitějšího cíle a pokud má množina optimálních řešení více prvků, minimalizujeme na této množině druhou nejzávažnější odchylku, atd. Má-li v naší úloze vyšší prioritu výnos, minimalizujeme nejprve cřf. Cílové programování - odlišení cílů preferencemi Při odlišení cílů preferencemi minimalizujeme nejprve odchylku od důležitějšího cíle a pokud má množina optimálních řešení více prvků, minimalizujeme na této množině druhou nejzávažnější odchylku, atd. Má-li v naší úloze vyšší prioritu výnos, minimalizujeme nejprve cřf. Znázorněme situaci graficky v rovině x-\, x2. i Nejprve si zobrazíme přípustnou množinu M, na níž jsou splněny všechny pevné cíle. Cílové programování - odlišení cílů preferencemi Při odlišení cílů preferencemi minimalizujeme nejprve odchylku od důležitějšího cíle a pokud má množina optimálních řešení více prvků, minimalizujeme na této množině druhou nejzávažnější odchylku, atd. Má-li v naší úloze vyšší prioritu výnos, minimalizujeme nejprve cřf. Znázorněme situaci graficky v rovině x-\, x2. Přímka o rovnici 15x-| + 10x2 — 12 vyjadřuje dosažení nejmenší možné hodnoty cřf — 0. Její průnik s M představuje všechna optimální řešení v prvním kroku. Cílové programování - odlišení cílů preferencemi Při odlišení cílů preferencemi minimalizujeme nejprve odchylku od důležitějšího cíle a pokud má množina optimálních řešení více prvků, minimalizujeme na této množině druhou nejzávažnější odchylku, atd. Má-li v naší úloze vyšší prioritu výnos, minimalizujeme nejprve cřf. Znázorněme situaci graficky v rovině Xi, x2. V druhém kroku minimalizujeme odchylku d£■ Ideální by bylo, kdyby byla nulová, tj. kdyby platila rovnost 5x-\ + 2x2 = 3. Cílové programování - odlišení cílů preferencemi Při odlišení cílů preferencemi minimalizujeme nejprve odchylku od důležitějšího cíle a pokud má množina optimálních řešení více prvků, minimalizujeme na této množině druhou nejzávažnější odchylku, atd. Má-li v naší úloze vyšší prioritu výnos, minimalizujeme nejprve cřf. Znázorněme situaci graficky v rovině Xi, x2. Protože se přímky protínají mimo přípustnou množinu, nelze dosáhnout rovnosti d£ — 0. Musíme riziko zvýšit, tj. posunout modrou přímku tak, aby dotkla optimální úsečky pro cřf. Našli jsme bod optima x* = [0,4; 0,6]. 0,7 5 ^15x^10x2=12 0,5 Optimalizace v grafech - základní pojmy Řadu reálných systémů (např. distibuční síť) lze modelovat rovinnými grafy. Graf je tvořen uzly, které budeme značit u-\,..., un a hranami, přičemž hranu mezi uzly u, a Uj označíme h/j. V rovině můžeme znázornit graf pomocí bodů (koleček) a spojnic mezi nimi. Hrany, které umožňují pohyb v obou směrech nazýváme neorientované. Je-li povolen pouze jeden směr pohybu, znázorníme to na grafu šipkou a takové "jednosměrné"hrany nazýváme orientované. Neorientovaným grafem nazveme graf obsahující pouze neorientované hrany, jinak jej nazveme orientovaným. Na obrázku je znázorněn neorientovaný a orientovaný graf. Optimalizace v grafech - základní pojmy Cestou z uzlu Uj do uzlu Uj nazveme posloupnost na sebe navazujících hran, z nichž první začíná v u, a poslední končí v Uj. Pokud cesta respektuje orientaci hran, nazývá se orientovaná (v opačném případě neorientovaná). Na obrázku je znázorněna jedna z orientovaných cest z uzlu 1 do uzlu 6. Naopak z uzlu 6 do uzlu 1 vedou pouze neorientované cesty. Optimalizace v grafech - základní pojmy Cestou z uzlu Uj do uzlu Uj nazveme posloupnost na sebe navazujících hran, z nichž první začíná v u, a poslední končí v Uj. Pokud cesta respektuje orientaci hran, nazývá se orientovaná (v opačném případě neorientovaná). Na obrázku je znázorněna jedna z orientovaných cest z uzlu 1 do uzlu 6. Naopak z uzlu 6 do uzlu 1 vedou pouze neorientované cesty. Cestu, pro kterou u, — Uj, nazveme cyklus, v případě neorientovaného grafu kružnice. Zobrazený graf obsahuje například kružnici 1 - 3 - 4 - 1. Graf, ve kterém mezi libovolnými dvěma uzly existuje aspoň jedna neorientovaná cesta, se nazývá souvislý. Každý souvislý neorientovaný graf, který neobsahuje kružnici, se nazývá strom. oq.o Optimalizace v grafech - základní pojmy Při řešení optimalizačních úloh zpravidla pracujeme s hranově ohodnocenými grafy. Hranám jsou přiřazeny hodnoty podle ekonomického významu (např. vzdálenosti mezi distribučními centry či náklady na přepravu mezi centry, apod.) Souvislý orientovaný a nezáporně ohodnocený graf se dvěma speciálními uzly (vstupem a výstupem) nazveme síť. Přidáme-li ohodnocení hran do našeho grafu, získáme síť se vstupním uzlem 1 a výstupním uzlem 6. oq.o Optimalizace v grafech - základní pojmy Při řešení optimalizačních úloh zpravidla pracujeme s hranově ohodnocenými grafy. Hranám jsou přiřazeny hodnoty podle ekonomického významu (např. vzdálenosti mezi distribučními centry či náklady na přepravu mezi centry, apod.) Souvislý orientovaný a nezáporně ohodnocený graf se dvěma speciálními uzly (vstupem a výstupem) nazveme síť. Přidáme-li ohodnocení hran do našeho grafu, získáme síť se vstupním uzlem 1 a výstupním uzlem 6. Délkou cesty nazveme součet ohodnocení jejích hran. Například mezi délka orientované cesty 1-2-5-6 je 3+7+6=16. Pozor! Graf je definován pomocí množiny uzlů a množiny hran, nikoliv zakreslením. Délky spojnic nemusí a často ani nemohou odpovídat ohodnocení hran. Optimalizace v grafech - úlohy Na grafech se řeší řada úloh: • Štandartní optimalizační úlohou je hledání nejkratší cesty mezi dvěma uzly. Úloha se řeší v orientovaných i neorientovaných grafech, existuje více algoritmů, některé k určení celé matice vzdáleností. Jeden z nejznámějších algoritmů je Dijkstrův algoritmus. • Hledání minimální kostry grafu - úkolem je vybrat takovou podmnožinu hran, aby mezi každými dvěma uzly existovala cesta a aby celkové ohodnocení bylo minimální (kostra nesmí obsahovat cyklus). • Určení maximálního toku v síti (propustnosti sítě): Představuje - li ohodnocení v síti přepravní kapacitu hran, pak úkolem je určení maximálního počtu jednotek, které je možné přepravit ze vstupního do výstupního uzlu. • Další úlohy, jako problém barvení grafu, problém čínského pošťáka, problém obchodního cestujícího, medián grafu, centr grafu, atd. Optimalizace v grafech - minimální kostra Pro nalezení kostry grafu s minimálním celkovým ohodnocením hran lze použít hladový (Kruskalův) algoritmus: do kostry postupně zařazujeme hrany s nejnižší hodnotou tak dlouho, dokud nejsou propojeny všechny uzly. Přitom nesmíme dopustit vznik cyklu: takové hrany, které by uzavřely okruh, do kostry nezahrneme. Nalezněme minimální kostru v grafu z knihy T. Šubrt: Ekonomicko-matematické metody: Optimalizace v grafech - minimální kostra Pro nalezení kostry grafu s minimálním celkovým ohodnocením hran lze použít hladový (Kruskalův) algoritmus: do kostry postupně zařazujeme hrany s nejnižší hodnotou tak dlouho, dokud nejsou propojeny všechny uzly. Přitom nesmíme dopustit vznik cyklu: takové hrany, které by uzavřely okruh, do kostry nezahrneme. Nalezněme minimální kostru v grafu z knihy T. Šubrt: Ekonomicko-matematické metody: Nejprve přidáme hranu s hodnotou 1. Optimalizace v grafech - minimální kostra Pro nalezení kostry grafu s minimálním celkovým ohodnocením hran lze použít hladový (Kruskalův) algoritmus: do kostry postupně zařazujeme hrany s nejnižší hodnotou tak dlouho, dokud nejsou propojeny všechny uzly. Přitom nesmíme dopustit vznik cyklu: takové hrany, které by uzavřely okruh, do kostry nezahrneme. Nalezněme minimální kostru v grafu z knihy T. Šubrt: Ekonomicko-matematické metody: Dále vybereme všechny hrany s hodnotou 2. Optimalizace v grafech - minimální kostra Pro nalezení kostry grafu s minimálním celkovým ohodnocením hran lze použít hladový (Kruskalův) algoritmus: do kostry postupně zařazujeme hrany s nejnižší hodnotou tak dlouho, dokud nejsou propojeny všechny uzly. Přitom nesmíme dopustit vznik cyklu: takové hrany, které by uzavřely okruh, do kostry nezahrneme. Nalezněme minimální kostru v grafu z knihy T. Šubrt: Ekonomicko-matematické metody: Přidáme hrany s hodnotou 3 kromě v3-v4, která by uzavřela okruh. oq.o Optimalizace v grafech - minimální kostra Pro nalezení kostry grafu s minimálním celkovým ohodnocením hran lze použít hladový (Kruskalův) algoritmus: do kostry postupně zařazujeme hrany s nejnižší hodnotou tak dlouho, dokud nejsou propojeny všechny uzly. Přitom nesmíme dopustit vznik cyklu: takové hrany, které by uzavřely okruh, do kostry nezahrneme. Nalezněme minimální kostru v grafu z knihy T. Šubrt: Ekonomicko-matematické metody: Hrana s hodnotou 6 nemůže být do kostry zahrnuta, přidáme tedy hranu s hodnotou 7. Optimalizace v grafech - minimální kostra Pro nalezení kostry grafu s minimálním celkovým ohodnocením hran lze použít hladový (Kruskalův) algoritmus: do kostry postupně zařazujeme hrany s nejnižší hodnotou tak dlouho, dokud nejsou propojeny všechny uzly. Přitom nesmíme dopustit vznik cyklu: takové hrany, které by uzavřely okruh, do kostry nezahrneme. Nalezněme minimální kostru v grafu z knihy T. Šubrt: Ekonomicko-matematické metody: Dostali jsem již souvislý podgraf, tedy kostru, celková hodnota jejích hran je 20. Optimalizace v grafech - nejkratší cesta Ilustrujme Dijkstrův algoritmus pro hledání nejkratší cesty z uzlu v1 do ostatních uzlů v grafu z předchozího příkladu: Optimalizace v grafech - nejkratší cesta Ilustrujme Dijkstrův algoritmus pro hledání nejkratší cesty z uzlu v1 do ostatních uzlů v grafu z předchozího příkladu: Algoritmus rozděluje uzly podle toho, zda už do nich nejkratší cestu známe nebo ne. Začínáme s cestou délky 0 z v1 do v1. Nejkratší cestu prodloužíme vždy o jednu hranu. Projdeme všechny uzly se známou délkou cesty z v1, sečteme tyto délky postupně s hodnotami hran z uzlů vycházejících a vybereme ze všech součtů nejmenší, tak získáme délku cesty do nějakého nového uzlu a postup dále opakujeme. oq.o Optimalizace v grafech - nejkratší cesta Postup algoritmu se lépe sleduje v tabulce sousedů (v závorkách jsou uvedeny hodnoty hran):_ sousedi v\ v2 v3 vA v5 v6 v7 v8 v2(7) v1 (7) v1 (9) v1 (8) v2 (8) v2 (2) v5 (10) v5(7) v3 (9) v3 (10) v2 (10) v2 (3) v3 (6) v3 (10) v6 (3) v6(2) v4(8) v4(3) v4(3) v3 (3) v4(3) v4 (2) v8(1) v7(1) v5 (8) v5 (6) v5 (3) v6 (10) v5 (10) v6 (2) v6 (10) v6 (2) v7 (9) v7 (3) v8(7) v8 (2) vzd.z v1 0 V prvním kroku známe jen vzdálenost do v1, projdeme jeho sousedy a vybereme hranu s nejmenší hodnotou, což je v1-v2 s délkou 7. Vrchol v2 tedy zařadíme do skupiny se známou vzdáleností z v1. Optimalizace v grafech - nejkratší cesta Postup algoritmu se lépe sleduje v tabulce sousedů (v závorkách jsou uvedeny hodnoty hran):_ sousedi v\ v2 v3 vA v5 v6 v7 v8 ^Ff *m vH8i v2-{8} v2-(2) v5 (10) v5(7) v3 (9) v3 (10) v2 (10) v2-{3} v3 (6) v3 (10) v6 (3) v6(2) v4(8) v4(3) v4(3) v3 (3) v4(3) v4 (2) v8(1) v7(1) v5 (8) v5 (6) v5 (3) v6 (10) v5 (10) v6 (2) v6 (10) v6 (2) v7 (9) v7 (3) v8(7) v8 (2) vzd.z v1 0 7 V druhém kroku procházíme kromě sousedů v1 také sousedy v2, délky cest přes v2 jsou 7+10, 7+3, 7+8, 7+2, takže nejkratší novou cestou bude v1 -v4 délky 8. Přidáme v4 mezi uzly, do nichž nejkratší cestu známe. Optimalizace v grafech - nejkratší cesta Postup algoritmu se lépe sleduje v tabulce sousedů (v závorkách jsou uvedeny hodnoty hran):_ sousedi v\ v2 v3 vA v5 v6 v7 v8 ^Ff vHTt *m vH8i v2-t8} v2-t2) v5 (10) v5(7) v3 (9) v3 (10) v2 (10) v2-t3i v3 (6) v3 (10) v6 (3) v6(2) v4-t8i v4-t3i v3 (3) v4-t3} v4-t2) v8(1) v7(1) v5 (8) v5 (6) v5 (3) v6 (10) v5 (10) v6 (2) v6 (10) v6 (2) v7 (9) v7 (3) v8(7) v8 (2) vzd.z v1 0 7 8 V dalším kroku procházíme dosud nezařazené sousedy uzlů v1, v2 a v4. Nejmenší celková délka cest přes tyto uzly do jejich sousedů je v1 -v3 s hodnotou 9. To bude tedy vzdálenost do uzlu v3. Optimalizace v grafech - nejkratší cesta Postup algoritmu se lépe sleduje v tabulce sousedů (v závorkách jsou uvedeny hodnoty hran):_ sousedi v\ v2 v3 vA v5 v6 v7 v8 ^Ff *m vH8i v2-{8} v2-(2i v5 (10) v5(7) v3 (10) v2 (10) v2-(3i v3-(6} v3 (10) v6 (3) v6(2) v4-t8i v4-t3i v3-(3i v4-{3} v4-(2i v8(1) v7(1) v5 (8) v5 (6) v5 (3) v6 (10) v5 (10) v6 (2) v6 (10) v6 (2) v7 (9) v7 (3) v8(7) v8 (2) vzd.z v1 0 7 9 8 Stejnou vzdálenost (také 9) má cesta přes v2 do v6. Optimalizace v grafech - nejkratší cesta Postup algoritmu se lépe sleduje v tabulce sousedů (v závorkách jsou uvedeny hodnoty hran):_ sousedi v\ v2 v3 vA ľ5 v6 v7 ľ8 ^Ff *m vH8i v2-{8} v2-(S} v5 (10) v5(7) v3 (10) v2 (10) v2-{3} v3-(6} v3 (10) v6-(3> v6-(z^ v4-{8} v4-{3} v4-{3} v3-{3} v4-{3} v8(1) v7(1) v5 (8) v5 (6) v5 (3) v6 (10) v5 (10) v6 (10) v7 (9) v7 (3) v8(7) v8 (2) vzd.z v1 0 7 9 8 9 Z dosud nezařazených uzlů má nejmenší celkovou vzdálenost přes jednu hranu z již vytvořených cest uzel v5, který napojíme z v4, jeho vzdálenost z v1 je 11. Optimalizace v grafech - nejkratší cesta Postup algoritmu se lépe sleduje v tabulce sousedů (v závorkách jsou uvedeny hodnoty hran):_ sousedi v\ v2 v3 ľ4 v5 v6 v7 ľ8 ^Ff *m vH8i v2-{8} v2-(e} v5 (10) v3 (10) v2 (10) v2-(3i v3-(6} v3 (10) v6-(3i v4-t8i v4-t3i v3-(3i v4-{3} v4-(e} v8(1) v7(1) vS-t©)- vS-(3i v6 (10) v5 (10) v6 (10) v7 (9) v7 (3) v8(7) v8 (2) vzd.z v1 0 7 9 8 11 9 Stejné vzdálenosti 11 dosáhneme napojením uzlu v8 přes v6. oq.o Optimalizace v grafech - nejkratší cesta Postup algoritmu se lépe sleduje v tabulce sousedů (v závorkách jsou uvedeny hodnoty hran):_ sousedi v\ v2 v3 ľ4 v5 v6 ľ7 ľ8 ^Ff *m vH8i v2-{8} v2-(e) v5 (10) v3 (10) v2 (10) v2-(3i v3-(6} v3 (10) v6-(3i v6-(z^ v4-t8i v4-t3i v3-(3i v4-{3} v4-(e) v8-(4i v7(1) vS-t©)- vS-(3i v6 (10) v5 (10) v6 (10) v6-t^ v7 (9) v7 (3) v8-(7i v8-t3) vzd.z v1 0 7 9 8 11 9 11 Nakonec připojíme uzel v7, nejkratší možnost je přes v6, celková vzdálenost do něj je 12. oq.o Optimalizace v grafech - medián grafu Medián grafu minimalizuje součet vzdáleností od ostatních uzlů. Spočítejme ho pro úlohu o umístění skladu pro města uvažovaná ve výše řešené okružní úloze. Kralupy Veltrusy Slaný Velvary Zlonice Vraný Bříza SUMA Kralupy 0 4 16 8 18 25 17 279 Veltrusy 4 0 20 12 22 28 13 308 Slaný 16 20 0 12 7 14 17 184 Velvary 8 12 12 0 10 17 10 191 Zlonice 18 22 7 10 0 7 10 156 Vraný 25 28 14 17 7 0 15 231 Bříza 17 13 17 10 10 15 0 200 Optimalizace v grafech - medián grafu Medián grafu minimalizuje součet vzdáleností od ostatních uzlů. Spočítejme ho pro úlohu o umístění skladu pro města uvažovaná ve výše řešené okružní úloze. Kralupy Veltrusy Slaný Velvary Zlonice Vraný Bříza SUMA Kralupy 0 4 16 8 18 25 17 279 Veltrusy 4 0 20 12 22 28 13 308 Slaný 16 20 0 12 7 14 17 184 Velvary 8 12 12 0 10 17 10 191 Zlonice 18 22 7 10 0 7 10 156 Vraný 25 28 14 17 7 0 15 231 Bříza 17 13 17 10 10 15 0 200 Aby se do skladu nejezdilo celkem co nejméně kilometrů, je nejlepší jej umístit ve Zlonici. Pozn.: Při umístění dvou skladů hovoříme o dvoumediánu, atd. Optimalizace v grafech - centr grafu Centr grafu minimalizuje maximum vzdáleností od ostatních uzlů. Spočítejme ho pro úlohu o umístění hasičské stanice pro města uvažovaná ve výše řešené okružní úloze. Kralupy Veltrusy Slaný Velvary Zlonice Vraný Bříza MAX Kralupy 0 4 16 8 18 25 17 25 Veltrusy 4 0 20 12 22 28 13 28 Slaný 16 20 0 12 7 14 17 20 Velvary 8 12 12 0 10 17 10 17 Zlonice 18 22 7 10 0 7 10 22 Vraný 25 28 14 17 7 0 15 28 Bříza 17 13 17 10 10 15 0 17 Optimalizace v grafech - centr grafu Centr grafu minimalizuje maximum vzdáleností od ostatních uzlů. Spočítejme ho pro úlohu o umístění hasičské stanice pro města uvažovaná ve výše řešené okružní úloze. Kralupy Veltrusy Slaný Velvary Zlonice Vraný Bříza MAX Kralupy 0 4 16 8 18 25 17 25 Veltrusy 4 0 20 12 22 28 13 28 Slaný 16 20 0 12 7 14 17 20 Velvary 8 12 12 0 10 17 10 17 Zlonice 18 22 7 10 0 7 10 22 Vraný 25 28 14 17 7 0 15 28 Bříza 17 13 17 10 10 15 0 17 Aby města byla pro hasiče co nejrychleji dostupná, nejlepší je umístit stanici ve Velvarech nebo Bříze. Pozn.: Při umístění dvou stanic hovoříme o dvoucentru, atd. Řízení projektů Řízení projektů je jednou z typických aplikací teorie grafů. Projekt můžeme obecně chápat jako soubor činností. Tyto činnosti lze charakterizovat předpokládanou dobou trvání, náklady na realizaci, požaddavky na zajištění, výčtem činností, které realizaci musí předcházet, atd. Nejčastěji hledáme odpověď na tyto otázky: • Jaká je nejkratší možná doba realizace projektu? • Které činnosti jsou z hlediska dodržení termínu klíčové, tzv. kritické činnosti? • Jaké jsou rezervy u nekritických činností • Jaký je časový rozvrh pro realizaci jednotlivých činností? Kromě časové analýzy projektů nás zajímají též náklady na projekt v závislosti na čase, hovoříme pak o nákladové analýze. Dále můžeme sledovat úroveň a rozložení zdrojů potřebných pro jednotlivé činnosti, tedy provádět zdrojovou analýzu projektu. Řízení projektů - konstrukce síťového grafu Projekt znázorňujeme pomocí ohodnoceného síťového grafu, kde hrany reprezentují činnosti, ohodnocení většinou dobu jejich trvání a uzly představují momenty zahájení či ukončení jednotlivých činností. Při analýze nejprve musíme vymezit jednotlivé činnosti, odhadnout délky jejich realizace a definovat návaznosti pomocí výčtu bezprostředně předcházejících činností. Řízení projektů - konstrukce síťového grafu Projekt znázorňujeme pomocí ohodnoceného síťového grafu, kde hrany reprezentují činnosti, ohodnocení většinou dobu jejich trvání a uzly představují momenty zahájení či ukončení jednotlivých činností. Při analýze nejprve musíme vymezit jednotlivé činnosti, odhadnout délky jejich realizace a definovat návaznosti pomocí výčtu bezprostředně předcházejících činností. Ukažme si síťový graf pro projekt vytvoření nového obchodního střediska firmy Q-mark, a.s. (J.Jablonský: Operační výzkum). Před vlastním sestavením grafu definujeme elementární činnosti a jejich vlastnosti, viz, tabulka: činnost popis činnosti trvání [týdny] předchází A výběr a nákup projektu 6 - B zpracování projektu 4 A C obsazení pozice manažera 3 A D výběr personálu 3 B,C E rekonstrukce a vybavení objektu 8 B F školení personálu 2 D G výběr sortimentu zboží 2 B,C H uzavření smluv s dodavateli 5 G 1 nákup zboží 3 E,F,H J reklama 2 --ca---*m-- H Řízení projektů - konstrukce síťového grafu Při sestavování grafu můžeme narazit na problém u definice uzlů. Například činnosti D musí předcházet B,C, ale činnosti E předchází pouze B. Jak tedy správně znázornit návaznost? Příklady nesprávného znázornění, viz obr.: 0>^!)Ô®< C D Podobný problém je u činností l,J, které mají společného předchůdce H, ale činnosti I navíc předchází i E,F. Řízení projektů - konstrukce síťového grafu Problém s návazností lze řešit zavedením fiktivních činností, jimž odpovídající fiktivní hrany doplní chybějící spoje. Znázorňují se přerušovanou čarou. Doba fiktivních činností je vždy nulová. Do našeho příkladu tedy doplníme dvě fiktivní činnosti: X zprostředkující návaznost mezi B a D a činnost Y pro návaznost mezi Hal. Řízení projektů - konstrukce síťového grafu Problém s návazností lze řešit zavedením fiktivních činností, jimž odpovídající fiktivní hrany doplní chybějící spoje. Znázorňují se přerušovanou čarou. Doba fiktivních činností je vždy nulová. Do našeho příkladu tedy doplníme dvě fiktivní činnosti: X zprostředkující návaznost mezi B a D a činnost Y pro návaznost mezi Hal. Jedno z možných znázornění sítě projektu je na obrázku: Při sestavování grafu je dobré držet se pravidla, aby index počátečního uzlu každé hrany byl nižší než index jejího koncového uzlu. Potom graf nebude obsahovat žádné orientované cykly. Critical Path Method (CPM) Metoda se používá od 50. let minulého století. Jejím principem je určit pro každou činnost tyto 4 charakteristiky: • Nejdříve možný začátek provádění činnosti začínající v uzlu u,, značíme jej: r° a Nejdříve možný konec provádění činnosti reprezentované hranou htí získáme přičtením doby trvání činnosti: ř° + • Nejpozději přípustný konec provádění činnosti končící v uzlu uj, značíme jej: tj • Nejpozději přípustný začátek provádění činnosti reprezentované hranou hjj získáme odečtením doby trvání činnosti: t- - V síťovém grafu vyznačíme do jednotlivých uzlů i nejdříve možné začátky a nejpozději přípustné konce činností, které v něm začínají, resp. končí: Critical Path Method (CPM) Vlastní algoritmus metody probíhá ve čtyřech fázích: O Výpočet nejprve možných začátků: Pro činnosti začínající v uzlu uý se spočte jako maximum nejdříve možných konců činností, které do něj vstupují. tf — maxj(t? + y-,j) Pro výstupní uzel tak dostaneme nejkratší možnou dobu realizace projektu. 0 Výpočet nejpozději přípustných konců: Pro činnosti končící v uzlu ut se spočte jako minimum z nejpozději přípustných začátků činností z uzlu vystupujících, tj — mirij(tj -y-,j) & Výpočet celkových časových rezerv: Činnost reprezentovaná hranou ň,y má stanoveno, kdy může nejdříve začít (tf) a kdy musí nejpozději skončit (řy1). Doba, během které se musí realizovat, je tedy tj - tf a protože její realizace trvá y^, dostaneme její pro časovou rezervu vztah: O Sestavení harmonogramu činností Critical Path Method (CPM) -1. fáze V první fázi metody CPM postupně zleva doprava počítáme nejdříve možné začátky činností. ■O «. O- Critical Path Method (CPM) -1. fáze V první fázi metody CPM postupně zleva doprava počítáme nejdříve možné začátky činností. Nejprve si zobrazíme graf projektu s dobami trvání činností. Critical Path Method (CPM) -1. fáze V první fázi metody CPM postupně zleva doprava počítáme nejdříve možné začátky činností. Nejdříve možný začátek činností B,C je t° — 0 + 6 — 6. Critical Path Method (CPM) -1. fáze V první fázi metody CPM postupně zleva doprava počítáme nejdříve možné začátky činností. Nejdříve možný začátek činnosti E je í° — 6 + 4 = 10. Critical Path Method (CPM) -1. fáze V první fázi metody CPM postupně zleva doprava počítáme nejdříve možné začátky činností. Nejdříve možný začátek činností D,G je t° — max(10 + 0,6 + 3) — 10. Critical Path Method (CPM) -1. fáze V první fázi metody CPM postupně zleva doprava počítáme nejdříve možné začátky činností. Nejdříve možný začátek činností F, resp. H je t° — 10 + 3 — 13, resp. ř6° = 10 + 2 = 12. Critical Path Method (CPM) -1. fáze V první fázi metody CPM postupně zleva doprava počítáme nejdříve možné začátky činností. Nejdříve možný začátek činnosti J je t° — 12 + 5 — 17. Critical Path Method (CPM) -1. fáze V první fázi metody CPM postupně zleva doprava počítáme nejdříve možné začátky činností. Nejdříve možný začátek činnosti I je t% = max(10 + 8,13 + 2,17 + 2) = 18. Critical Path Method (CPM) -1. fáze V první fázi metody CPM postupně zleva doprava počítáme nejdříve možné začátky činností. Nejdříve možná doba ukončení projektu je v čase í° = max(18 + 3,17 + 2) = 21 týdnů. Critical Path Method (CPM) - 2. fáze Ve druhé fázi postupujeme zprava doleva a doplňujeme nejpozději přípustné konce. Předpokládejme, že chceme stihnout projekt v nejkratším možném čase. Critical Path Method (CPM) - 2. fáze Ve druhé fázi postupujeme zprava doleva a doplňujeme nejpozději přípustné konce. Předpokládejme, že chceme stihnout projekt v nejkratším možném čase. Stanovili jsme minimální dobu trvání projektu na 21 týdnů. To bude i nejpozději přípustný konec činností l,J: řg = 21. Critical Path Method (CPM) - 2. fáze Ve druhé fázi postupujeme zprava doleva a doplňujeme nejpozději přípustné konce. Předpokládejme, že chceme stihnout projekt v nejkratším možném čase. Nejpozději přípustný konec činností F,E je tg — 21 - 3 = 18. Critical Path Method (CPM) - 2. fáze Ve druhé fázi postupujeme zprava doleva a doplňujeme nejpozději přípustn konce. Předpokládejme, že chceme stihnout projekt v nejkratším možném čase. Nejpozději přípustný konec činnosti H je tj — m/n(21 - 2,18 - 0) = 18. Critical Path Method (CPM) - 2. fáze Ve druhé fázi postupujeme zprava doleva a doplňujeme nejpozději přípustné konce. Předpokládejme, že chceme stihnout projekt v nejkratším možném čase. Nejpozději přípustný konec činností D, resp. G je řg = 18 - 2 = 16, resp. % =18-5 = 13. Critical Path Method (CPM) - 2. fáze Ve druhé fázi postupujeme zprava doleva a doplňujeme nejpozději přípustné konce. Předpokládejme, že chceme stihnout projekt v nejkratším možném čase. Nejpozději přípustný konec činnosti C je t\ — m/'n(13 - 2,16 - 3) = 11. Critical Path Method (CPM) - 2. fáze Ve druhé fázi postupujeme zprava doleva a doplňujeme nejpozději přípustné konce. Předpokládejme, že chceme stihnout projekt v nejkratším možném čase. Nejpozději přípustný konec činnosti B je = m/'n(18-8,11 - 0) — 10. Critical Path Method (CPM) - 2. fáze Ve druhé fázi postupujeme zprava doleva a doplňujeme nejpozději přípustné konce. Předpokládejme, že chceme stihnout projekt v nejkratším možném čase. Nejpozději přípustný konec činnosti A je Q — m/'n(1 0 - 4,11 - 3) — 6. Protože jsme vycházeli z nejrychlejší možné realizace projektu, samozřejmě vyšlo ^=6-6 = 0. Critical Path Method (CPM) - 3. fáze Dopočítáme rezervy jednotlivých činností podle vztahu f?,y — t- - tf —y-ý. Například činnost J musí proběhnout mezi 17. a 21. týdnem a trvá 2 týdny, její rezerva je tedy R79 — 21 -17-2 = 2 týdny, apod. Rezervy jednotlivých činností jsou uvedeny v závorkách. Červeně je znázorněna kritická cesta sestávající z činností A,B,E,I, které nemají žádnou časovou rezervu. Critical Path Method (CPM) - 4. fáze Poslední, ale velmi důležitou fází je rozvržení realizace činností v čase. Je nutné určit, které činnosti mohou probíhat paralelně a které na sebe musí navazovat. To nám umožní dále rozvrhovat zdroje potřebné pro jednotlivé činnosti. Ukažme si rozvrh činností v diagramu, kde rámečky tvoří nejdříve možný začátek a nejpozději přípustný konec činností, stínování naznačuje dobu jejich trvání. V horní části tabulky jsou kritické činnosti s nulovými rezervami - tyto musí na sebe bezprostředně navazovat, aby nedošlo ke zpoždění projektu. Činnost Ä B E I C D F G H J 0 1 Cas 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Metoda PERT Metoda PERT (Program Evaluation and Review Technique) je pravděpodobnostním rozšířením metody CPM. V praxi často není reálné stanovit realizační doby činností, proto jsou hodnoty y-,j nahrazeny náhodnými veličinami, které se realizují na nějakém intervalu (a,y,Ď,y). Kromě tohoto mezního optimistického, resp. pesimistického odhadu se pracuje s nejpravděpodobnější dobou trvání činnosti m(y, ta se označuje jako modálni odhad. Metoda PERT Metoda PERT (Program Evaluation and Review Technique) je pravděpodobnostním rozšířením metody CPM. V praxi často není reálné stanovit realizační doby činností, proto jsou hodnoty y-,j nahrazeny náhodnými veličinami, které se realizují na nějakém intervalu (a,y,Ď,y). Kromě tohoto mezního optimistického, resp. pesimistického odhadu se pracuje s nejpravděpodobnější dobou trvání činnosti m(y, ta se označuje jako modálni odhad. Skutečné rozložení pravděpodobnosti náhodné veličiny není obecně známo, ale často se aproximuje /3-rozdělením. Lze ukázat, že pro její střední hodnotu a rozptyl platí: N — 6 _ bij-aij oq.o Metoda PERT Metoda PERT (Program Evaluation and Review Technique) je pravděpodobnostním rozšířením metody CPM. V praxi často není reálné stanovit realizační doby činností, proto jsou hodnoty y-,j nahrazeny náhodnými veličinami, které se realizují na nějakém intervalu (a,y,Ď,y). Kromě tohoto mezního optimistického, resp. pesimistického odhadu se pracuje s nejpravděpodobnější dobou trvání činnosti m(y, ta se označuje jako modálni odhad. Skutečné rozložení pravděpodobnosti náhodné veličiny není obecně známo, ale často se aproximuje /3-rozdělením. Lze ukázat, že pro její střední hodnotu a rozptyl platí: N — 6 _ bij-aij ail — Vlastní výpočet metodou PERT se neliší od metody CPM, jen se místo hodnot yij pracuje se středními hodnotami wj. Za určitých předpokladů se dá dle centrální limitní věty aproximovat rozložení celkové délky projektu normální náhodnou veličinou a získat tak odpověď na otázky : Jaká je pravděpodobnost, že projekt bude ukončen v čase T, resp. v jakém čase bude projekt ukončen se stanovenou pravděpodobností p, apod. oq.o Vícekriteriální rozhodování V reálných rozhodovacích situacích je často důležité vzít do úvahy více optimalizačních kritérií. Tato však zřídka bývají ve vzájemném souladu, takže není možné najít řešení, které bude nejlepší podle všech kritérií. Úlohy vícekriteriálního rozhodování se dělí podle způsobu stanovení rozhodovacích variant. • Jsou-li stanoveny výčtem, mluvíme o vícekriteriálním hodnocení variant (VHV). • Jiný přístup je vymezení variant soustavou omezujících podmínek, mluvíme pak o úlohách vícekriteriálního programování. Vícekriteriální hodnocení variant V úlohách VHV je dána množina variant X — {X-\,..., Xn}, které jsou hodnoceny podle kritérií Yy ... ,Yk. Každá varianta je pak popsána vektorem kriteriálních hodnot, tyto lze pak jako řádky pro jednotlivé varianty shrnout do kriteriální matice. Y^ Y2 . • Yk 712 ■ ■ Y^k x2 721 722 ■ ■ Y2k Xn 7/71 7/72 ■ ■ Ynk Součástí modelu úlohy musí být u kvantitativních kritérií i určení jejich typu (maximalizační či minimalizační). Protože některé metody vyžadují, aby všechna kritéria byla stejného typu, někdy je nutné provést transformaci (např. u hodnocení hospodářské vyspělosti je HDP na hlavu kritériem maximalizačním a míra nezaměstnanosti minmalizačním). Další oblasti aplikace VHV jsou velmi široké: různá výběrová řízení, hodnocení podniků, výrobků či služeb, výběr lokality pro investiční akci, atd. Vícekriteriální hodnocení variant - příklad Dále uvedené postupy budeme ilustrovat na příkladu výběru tabletu (z knihy Tomáš Šubrt a kol.: Ekonomicko - matematické metody): Uživatel definoval pět relevantních hledisek, podle kterých bude jednotlivé nabídky hodnotit: cena [Kč], velikost operační paměti RAM [MB], výdrž baterie [hod.], hmotnost [g] a souhrnně kombinace OS, procesoru a velikosti displeje. V úvahu připadá pět konkrétních tabletu T1 - T5, uveďme přehled jejich charakteristik: cena RAM výdrž baterie hmotnost OS, procesor, display T1 12000 1000 9,5 680 Android 3.0,Tegra 1 GHz, 10,1" T2 12000 1000 10 600 Apple 1054,1 GHz Dual, 9,7" T3 5000 512 7 380 Android 2.2, 1 GHz, 7" T4 20000 4000 3 1160 Windows 7,iCore5 1 GHz, 12,1" T5 5000 256 4 400 Android 2.1, 800 MHz, 7" První čtyři kritéria jsou kvantitativní (cena a hmotnost minimalizační, ostatní maximalizační), u pátého kritéria máme alespoň ordinální informaci v podobě pořadí tabletu dle odborníka: 1,3,4,2,5. Vícekriteriální hodnocení variant Mezi základní cíle při analýze VHV patří: • výběr jedné, tzv. kompromisní varianty (např. při výběrovém řízení) • uspořádání variant (např. spotřebitelské žebříčky) • klasifikace variant (např. při přijímačkách: přijatí/nepřijatí nebo hodnocení bonity klientů bankou, atd.) Vzájemný vztah mezi variantami může při VHV být následující: • Varianta X, dominuje variantu Xy, jestliže (y,-i,..., y*) > (yyi,..., yy/<), ale vektory se nerovnají. • Varianta Xy dominuje variantu X • Varianty X, Xy jsou vzájemně nedominované. Řekneme, že varianta X je nedominovaná, jestliže neexistuje žádná jiná varianta, která ji dominuje. Zřejmě kompromisní varianta musí být vždy nedominovaná. Dále definujeme pojmy bazálni a ideální varianta, což je označení pro zpravidla reálně neexistující variantu nabývající nejhorších (resp. nejlepších) hodnot podle všech kritérií. VHV - vztahy mezi variantami, příklad V úloze o výběru tabletu stanovte nedominované varianty a vyberte bazálni a ideální varinatu. cena RAM výdrž baterie hmotnost OS, procesor, display Tablet 1 12000 1000 9,5 680 1 Tablet 2 12000 1000 10 600 3 Tablet 3 5000 512 7 380 4 Tablet 4 20000 4000 3 1160 2 Tablet 5 5000 256 4 400 5 V tabulce jsou vyznačeny nejlepší hodnoty dosažené u jednotlivých kritérií. VHV - vztahy mezi variantami, příklad V úloze o výběru tabletu stanovte nedominované varianty a vyberte bazálni a ideální varinatu. cena RAM výdrž baterie hmotnost OS, procesor, display Tablet 1 12000 1000 9,5 680 1 Tablet 2 12000 1000 10 600 3 Tablet 3 5000 512 7 380 4 Tablet 4 20000 4000 3 1160 2 Tablet 5 5000 256 4 400 5 V tabulce jsou vyznačeny nejlepší hodnoty dosažené u jednotlivých kritérií. Ideální varianta by tedy hypoteticky byla (5000 Kč, 4000 MB, 10 hod., 380g a 1. pořadí dle experta). Obdobně bazálni varianta (20000 Kč, 256 MB, 3 hod., 1160g a 5. pořadí dle experta). Nedominované jsou téměř všechny varianty, dominovaný je pouze Tablet 5 (ve všem horší než Tablet 3) VHV - vyjádření preference kritérií U většiny metod VHV je nutné, aby rozhodovatel vyjádřil své preference ve vztahu k jednotlivým kritériím. Tyto preference mohou být stanoveny pomocí • aspiračních úrovní kritérií, tedy stanovením minimálních hodnot, kterých má být dosaženo u jednotlivých maximalizačních kritérií (resp. maximálních hodnot pro minimalizační kritéria). Preference kritérií je tak vyjádřena nepřímo, důležitějším kritériím nastavíme přísnější limity. • pořadí kritérií (ordinální informace o kritériích) • vah kritérií: v = (v-\,..., vk), vi — 1, v, > 0, i — 1,..., k. (kardinální informace o kritériích) • míry substituce mezi kriteriálními hodnotami, na níž jsou založeny kompenzační metody VHV VHV - metody odhadu vah kritérií Získání vah od rozhodovatele přímo v numerické podobě bývá problematické, proto je vhodné usnadnit mu situaci pomocí nějakého jednoduchého nástroje, a Metoda pořadí vyžaduje pouze seřazení kritérií od nejméně důležitého po nejdůležitější. Přiřazené pořadí p, tedy bude nabývat hodnot 1,...,/( a odhad vah lze získat jejich normalizací: v, = —. a Bodovací metoda spočívá v tom, že rozhodovatel přiřadí každému kritériu body p, z nějaké předem zvolené škály. Přepočet bodů na váhy je stejný jako výše. a Fullerův trojúhelník je založen na párovém porovnávání kritérií. Jednotlivým kritériím se přiřadí tolik bodů p,, kolikrát je zvolen jako důležitější nebo stejně důležitý mezi všemi dvojicemi různých kritérií. (takových dvojic je k(k - 1 )/2 a lze je uspořádat do trojúhelníkového schématu, odtud název metody) a Poněkud propracovanější přístup představuje Saatyho metoda, při níž se projdou všechny dvojice kritérií a každé se přiřadí číslo s,y « -|, které odhaduje poměr mezi důležitostí jednotlivých kritérií. Matice S — (Sjj)ij=y...tk se nazývá Saatyho matice. VHV - Saatyho metoda odhadu vah kritérií Saatyho metoda umožňuje formulovat preference verbálně a pak vyjádřit numericky pomocí stupnice: • kritéria Y, a Vý jsou stejně důležitá, pak s,y — sy; — 1, • kritérium Y, je slabě důležitější než Vy, pak s,y = 3, sy,- = 1 /3, • kritérium V, je silně důležitější než Vy, pak s,y — 5, Sy; = 1 /5, • kritérium V, je velmi silně důležitější než Vy, pak s,y = 7, Sy/ = 1 /7, • kritérium Y, je absolutně důležitější než Vý, pak s,y = 9, sy,- = 1 /9. Jestliže uvedená stupnice nepostačuje, lze použít i mezistupně 2,4,6,8. Pokud je Saatyho matice tzv. konzistentní, stačí váhy spočítat jako řešení soustavy rovnic ^ — s,y, /,y = 1,..., k, E v,- = 1. Pro nekonzistentní matici soustava nemá řešení a váhy se pak odhadují například normalizací geometrických průměrů řádků matice S: p, = y IlLi sí- 0q.0 VHV - metody odhadu vah kritérií, příklad Pro úlohu o tabletu ukažme různé způsoby stanovení vah kritérií. Nejjednodušší metodou pořadí by uživatel při preferenci „1 .cena, 2.RAM, 3.názor experta, 4.výdrž baterie, 5.hmotnost" dospěl k váhám v-(i 1 I 1 ii v v15' 15' 15' 15' 15/- VHV - metody odhadu vah kritérií, příklad Pro úlohu o tabletu ukažme různé způsoby stanovení vah kritérií. Nejjednodušší metodou pořadí by uživatel při preferenci „1 .cena, 2.RAM, 3.názor experta, 4.výdrž baterie, 5.hmotnost" dospěl k váhám v-(i 1 I 1 ii v v15' 15' 15' 15' 15/- Jiným způsobem je označení preference kritéria z daného řádku oproti kritériím v jednotlivých sloupcích vyznačením hodnoty 1 ve Fullerově trojúhelníku: cena RAM baterie hmotnost expert skóre váhy cena 1 1 1 1 RAM 1 1 1 baterie 1 0 hmotnost 0 expert Pro výpočet skóre doplníme spodek tabulky symetricky opačnými hodnotami VHV - metody odhadu vah kritérií, příklad Pro úlohu o tabletu ukažme různé způsoby stanovení vah kritérií. Nejjednodušší metodou pořadí by uživatel při preferenci „1 .cena, 2.RAM, 3.názor experta, 4.výdrž baterie, 5.hmotnost" dospěl k váhám v-(i 1 I 1 ii v v15' 15' 15' 15' 15/- Jiným způsobem je označení preference kritéria z daného řádku oproti kritériím v jednotlivých sloupcích vyznačením hodnoty 1 ve Fullerově trojúhelníku: cena RAM baterie hmotnost expert skóre váhy cena 1 1 1 1 RAM 0 1 1 1 baterie 0 0 1 0 hmotnost 0 0 0 0 expert 0 0 1 1 Nyní vypočteme skóre jako součet počtu preferencí v daných řádcích. VHV - metody odhadu vah kritérií, příklad Pro úlohu o tabletu ukažme různé způsoby stanovení vah kritérií. Nejjednodušší metodou pořadí by uživatel při preferenci „1 .cena, 2.RAM, 3.názor experta, 4.výdrž baterie, 5.hmotnost" dospěl k váhám v-(i 1 I 1 ii v v15' 15' 15' 15' 15/- Jiným způsobem je označení preference kritéria z daného řádku oproti kritériím v jednotlivých sloupcích vyznačením hodnoty 1 ve Fullerově trojúhelníku: cena RAM baterie hmotnost expert skóre váhy cena 1 1 1 1 4 RAM 0 1 1 1 3 baterie 0 0 1 0 1 hmotnost 0 0 0 0 0 expert 0 0 1 1 2 Nyní vypočteme váhy vydělením bodových zisků jejich celkovým součtem, tj. 10. VHV - metody odhadu vah kritérií, příklad Pro úlohu o tabletu ukažme různé způsoby stanovení vah kritérií. Nejjednodušší metodou pořadí by uživatel při preferenci „1 .cena, 2.RAM, 3.názor experta, 4.výdrž baterie, 5.hmotnost" dospěl k váhám v-(i 1 I 1 ii v v15' 15' 15' 15' 15/- Jiným způsobem je označení preference kritéria z daného řádku oproti kritériím v jednotlivých sloupcích vyznačením hodnoty 1 ve Fullerově trojúhelníku: cena RAM baterie hmotnost expert skóre váhy cena 1 1 1 1 4 0,4 RAM 0 1 1 1 3 0,3 baterie 0 0 1 0 1 0,1 hmotnost 0 0 0 0 0 0 expert 0 0 1 1 2 0,2 Bohužel váha nejméně důležitého kritéria vyjde při konzistenci v preferencích nulová. Postup je možné modifikovat přidáním jedniček na diagonále (jako by každé kritérium bylo ve srovnání se sebou samým důležitější). VHV - metody odhadu vah kritérií, příklad Pro úlohu o tabletu ukažme různé způsoby stanovení vah kritérií. Nejjednodušší metodou pořadí by uživatel při preferenci „1 .cena, 2.RAM, 3.názor experta, 4.výdrž baterie, 5.hmotnost" dospěl k váhám v-(i 1 I 1 ii v V15' 15' 15' 15' 15/- Jiným způsobem je označení preference kritéria z daného řádku oproti kritériím v jednotlivých sloupcích vyznačením hodnoty 1 ve Fullerově trojúhelníku: cena RAM baterie hmotnost expert skóre váhy cena 1 1 1 1 1 5 b 15 RAM 0 1 1 1 1 4 í baterie 0 0 1 1 0 2 2 15 hmotnost 0 0 0 1 0 1 1 15 expert 0 0 1 1 1 3 3 15 Dostaneme stejné váhy jako u metody pořadí. VHV - metody odhadu vah kritérií, příklad Ukažme ještě pro stejné zadání jedno z možných uživatelova vyplnění Saatyho matice. cena RAM baterie hmotnost expert b, V; cena 1 4 2 9 2 RAM 1/4 1 1/2 3 1/2 baterie 1/2 2 1 7 1 hmotnost 1/9 1/3 1/7 1 1/7 expert 1/2 2 1 7 1 Matice je dostatečně konzistentní, (lze vypočítat index konzistence 0,005) Doplníme geometrické průměry řádků b, a z nich odvozené váhy v-,. VHV - metody odhadu vah kritérií, příklad Ukažme ještě pro stejné zadání jedno z možných uživatelova vyplnění Saatyho matice. cena RAM baterie hmotnost expert b, V; cena 1 4 2 9 2 2,7 0,41 RAM 1/4 1 1/2 3 1/2 0,72 0,11 baterie 1/2 2 1 7 1 1,48 0,22 hmotnost 1/9 1/3 1/7 1 1/7 0,24 0,04 expert 1/2 2 1 7 1 1,48 0,22 U Saatyho metody vycházejí váhy většinou více diferencované než u ostatních metod. VHV - klasifikace metod Existuje celá řada přístupů k řešení úloh VHV, my zmíníme pouze ty jednodušší z nich. Metody lze klasifikovat podle typu informace o preferencích mezi jednotlivými kritérii a variantami, viz následující stručný přehled. Informace o preferencích mezi variantami aspirační úrovně ordinální informace kardinální informace funkce užitku vzdálenost variant od bazálni resp. ideální preferenční relace mezní míra substituce Metody PRIAM Lexikografická ORESTE Permutační WSA TOPSIS PROMÉTHEE ELECTRE AHP Kompenzační VHV - metody nevyžadující váhy kritérií Pokud nejsou známy preference mezi kritérii nebo jsou kritéria rovnocenně důležitá, můžeme pro výběr kompromisní varianty použít pouhá pořadí hodnot u jednotlivých kritérií (v případě shodných hodnot se přiřadí průměrné pořadí). Vybere se ta varianta, která bude mít nejnižší součet poředí přes všechna kritéria. V příkladu s tablety pracujeme s pořadími rovnou v posledním sloupci (expertní názor). V ostatních sloupcích nahradíme jednotlivé hodnoty pořadím v rámci sloupce a doplníme jejich řádkové součty: cena RAM výdrž baterie hmotnost OS, procesor display součet Tablet 1 3 2,5 2 4 1 12,5 Tablet 2 3 2,5 1 3 3 12,5 Tablet 3 1 4 3 1 4 13 Tablet 4 5 1 5 5 2 18 Tablet 5 1 5 4 2 5 17 Podle uvedeného postupu by se jako nejvýhodnější jevily tablety 1 a 2. VHV - metody nevyžadující váhy kritérií Další metodou nevyžadující apriori váhy kritérií je metoda PRIAM , která pracuje s aspiračními úrovněmi kritérií. Varianty jsou pro konkrétní nastavení aspiračních úrovní rozděleny na akceptovatelné a neakceptovatelné. Může nastat situace, kdy nevyhovuje žádná varianta, pak je nutné úrovně některých kritérií uvolnit. Naopak, vyhovuje-li mnoho variant, je možné jejich počet zredukovat zpřísněním některých úrovní. Metoda PRIAM je interaktivním přístupem postupného přizpůsobování aspiračních mezí k dosažení určitého počtu akceptovatelných variant (v krajním případě jediné varianty, kterou pak zvolíme jako kompromisní). VHV - metody nevyžadující váhy kritérií Další metodou nevyžadující apriori váhy kritérií je metoda PRIAM , která pracuje s aspiračními úrovněmi kritérií. Varianty jsou pro konkrétní nastavení aspiračních úrovní rozděleny na akceptovatelné a neakceptovatelné. Může nastat situace, kdy nevyhovuje žádná varianta, pak je nutné úrovně některých kritérií uvolnit. Naopak, vyhovuje-li mnoho variant, je možné jejich počet zredukovat zpřísněním některých úrovní. Metoda PRIAM je interaktivním přístupem postupného přizpůsobování aspiračních mezí k dosažení určitého počtu akceptovatelných variant (v krajním případě jediné varianty, kterou pak zvolíme jako kompromisní). cena RAM výdrž baterie hmotnost OS, procesor, display vyhovuje Tablet 1 12000 1000 9,5 680 1 ANO Tablet 2 12000 1000 10 600 3 ANO Tablet 3 5000 512 7 380 4 ANO Tablet 4 20000 4000 3 1160 2 ANO Tablet 5 5000 256 4 400 5 ANO Pro úlohu s tablety můžeme nastavit výchozí aspirační úrovně na hodnoty bazálni varianty z° = (20000,256,3,1160,5), pak vyhovují všechny tablety. VHV - metody nevyžadující váhy kritérií Další metodou nevyžadující apriori váhy kritérií je metoda PRIAM , která pracuje s aspiračními úrovněmi kritérií. Varianty jsou pro konkrétní nastavení aspiračních úrovní rozděleny na akceptovatelné a neakceptovatelné. Může nastat situace, kdy nevyhovuje žádná varianta, pak je nutné úrovně některých kritérií uvolnit. Naopak, vyhovuje-li mnoho variant, je možné jejich počet zredukovat zpřísněním některých úrovní. Metoda PRIAM je interaktivním přístupem postupného přizpůsobování aspiračních mezí k dosažení určitého počtu akceptovatelných variant (v krajním případě jediné varianty, kterou pak zvolíme jako kompromisní). cena RAM výdrž baterie hmotnost OS, procesor, display vyhovuje Tablet 1 12000 1000 9,5 680 1 ANO Tablet 2 12000 1000 10 600 3 ANO Tablet 3 5000 512 7 380 4 ANO Tablet 4 20000 4000 3 1160 2 NE Tablet 5 5000 256 4 400 5 ANO Zpřísněním požadavku na cenu max. 12000Kč dostaneme z1 = (12000,256,3,1160,5), takže tablet 4 již nevyhovuje. VHV - metody nevyžadující váhy kritérií Další metodou nevyžadující apriori váhy kritérií je metoda PRIAM , která pracuje s aspiračními úrovněmi kritérií. Varianty jsou pro konkrétní nastavení aspiračních úrovní rozděleny na akceptovatelné a neakceptovatelné. Může nastat situace, kdy nevyhovuje žádná varianta, pak je nutné úrovně některých kritérií uvolnit. Naopak, vyhovuje-li mnoho variant, je možné jejich počet zredukovat zpřísněním některých úrovní. Metoda PRIAM je interaktivním přístupem postupného přizpůsobování aspiračních mezí k dosažení určitého počtu akceptovatelných variant (v krajním případě jediné varianty, kterou pak zvolíme jako kompromisní). cena RAM výdrž baterie hmotnost OS, procesor, display vyhovuje Tablet 1 12000 1000 9,5 680 1 ANO Tablet 2 12000 1000 10 600 3 ANO Tablet 3 5000 512 7 380 4 NE Tablet 4 20000 4000 3 1160 2 NE Tablet 5 5000 256 4 400 5 NE Zpřísněním požadavku na baterii a expertní názor, z2 = (12000,256,7,1160,3), vyřadíme dále tablety 3 a 5. VHV - metody nevyžadující váhy kritérií Další metodou nevyžadující apriori váhy kritérií je metoda PRIAM , která pracuje s aspiračními úrovněmi kritérií. Varianty jsou pro konkrétní nastavení aspiračních úrovní rozděleny na akceptovatelné a neakceptovatelné. Může nastat situace, kdy nevyhovuje žádná varianta, pak je nutné úrovně některých kritérií uvolnit. Naopak, vyhovuje-li mnoho variant, je možné jejich počet zredukovat zpřísněním některých úrovní. Metoda PRIAM je interaktivním přístupem postupného přizpůsobování aspiračních mezí k dosažení určitého počtu akceptovatelných variant (v krajním případě jediné varianty, kterou pak zvolíme jako kompromisní). cena RAM výdrž baterie hmotnost OS, procesor, display vyhovuje Tablet 1 12000 1000 9,5 680 1 NE Tablet 2 12000 1000 10 600 3 ANO Tablet 3 5000 512 7 380 4 NE Tablet 4 20000 4000 3 1160 2 NE Tablet 5 5000 256 4 400 5 NE Budeme-li požadovat ještě nižší hmotnost, z3 = (12000,256,7,600,3), zůstane přijatelný pouze tablet 2. VHV - metody vyžadující pořadí kritérií Nejpoužívanější a současně zřejmě nejjednodušší metodou z třídy postupů vyžadujících pouze ordinální informaci o kritériích je metoda lexikografická . Řídíme se dle nejdůležitějšího kritéria a je-li nejlépe hodnocená varianta dle tohoto kritéria jediná, je zvolena jako kompromisní. V případě, že by nejlepší hodnoty dosáhlo více variant, vybere se ta z nich, která má lepší hodnocení dle druhého nejdůležitějšího kritéria, atd. VHV - metody vyžadující pořadí kritérií Nejpoužívanější a současně zřejmě nejjednodušší metodou z třídy postupů vyžadujících pouze ordinální informaci o kritériích je metoda lexikografická . Řídíme se dle nejdůležitějšího kritéria a je-li nejlépe hodnocená varianta dle tohoto kritéria jediná, je zvolena jako kompromisní. V případě, že by nejlepší hodnoty dosáhlo více variant, vybere se ta z nich, která má lepší hodnocení dle druhého nejdůležitějšího kritéria, atd. Použitím lexikografické metody na výběr tabletu, je-li prioritním kritériem cena a druhým kritériem výdrž baterie, se rozhodneme pro tablet 3, protože je spolu s tabletem 5 nejlevnější a jeho baterie vydží 7 hodin oproti 4 hodinám tabletu 5: cena RAM výdrž baterie hmotnost OS, procesor, display vyhovuje Tablet 1 12000 1000 9,5 680 1 NE Tablet 2 12000 1000 10 600 3 NE Tablet 3 5000 512 7 380 4 ANO Tablet 4 20000 4000 3 1160 2 NE Tablet 5 5000 256 4 400 5 NE VHV - metody vyžadující kardinální informaci o kritériích Existují tři základní kategorie přístupů k hodnocení variant využívající vah kritérií, a to: • maximalizace užitku • minimalizace vzdálenosti od ideální varianty • preferenční relace Z každé skupiny metod uvedeme aspoň jednoho zástupce. První z možností je vyčíslení užitku jednotlivých variant na škále od 0 do 1. Pro vyjádření celkového užitku varianty je třeba nejprve vyjádřit dílčí funkce užitku uý dle jednotlivých kritérií j — 1,..., k. Kardinální hodnoty y-,j jsou tedy nahrazeny pomocí hodnot t/,y — Uj(y-,j), j — 1,..., k. Dílčí funkce užitku jsou nastaveny tak, aby ideální varianta měla dílčí užitek dle všech kritérií roven 1 a bazálni varianta nulový. Rozlišujeme tři typy funkcí užitku: Q lineární (růst užitku je proporcionální růstu hodnot kritéria) O progresivní (tempo růstu užitku se při zlepšování hodnot zvyšuje) O degresivní (tempo růstu užitku se při zlepšování hodnot snižuje) VHV - metody založené na funkci užitku Metoda váženého součtu (WSA) je založena na konstrukci lineární funkce užitku se stupnicí od 0 do 1. Jestliže pro Vý označíme Dy nejnižší a Hj nejvyšší kriteriální hodnotu, pak lze při maximalizaci nahradit prvky y-ý standardizovanými hodnotami Potom bude mít tedy nejhorší varianta Dj užitek 0 a nejlepší Hj užitek 1. Pro minimalizační kritéria použijeme vztah Tentokrát bude nejhorší varianta Hj a nejlepší Dy a bude jim opět odpovídat užitek 0, resp. 1. Celkový užitek varianty X, pak spočteme jako vážený součet dílčích užitků u(Xj) — J]jLi Vjy-j a varianty pak seřadíme podle klesajících hodnot užitku. oq.o VHV - metoda WSA, příklad Použijme metodu WSA na problém výběru tabletu, přičemž převezmeme váhy stanovené dle Saatyho metody: cena RAM výdrž baterie hmotnost OS, procesor, display užitek Tablet 1 12000 1000 9,5 680 1 Tablet 2 12000 1000 10 600 3 Tablet 3 5000 512 7 380 4 Tablet 4 20000 4000 3 1160 2 Tablet 5 5000 256 4 400 5 váhy 0,41 0,12 0,22 0,03 0,22 Dj 5000 256 3 380 1 Hj 20000 4000 10 1160 5 typ min max max min min Přepočteme na standardizované hodnoty y[. VHV - metoda WSA, příklad Použijme metodu WSA na problém výběru tabletu, přičemž převezmeme váhy stanovené dle Saatyho metody: cena RAM výdrž baterie hmotnost OS, procesor, display užitek Tablet 1 0,53 0,2 0,93 0,62 1 Tablet 2 0,53 0,2 1 0,72 0,5 Tablet 3 1 0,07 0,57 1 0,25 Tablet 4 0 1 0 0 0,75 Tablet 5 1 0 0,14 0,97 0 váhy 0,41 0,12 0,22 0,03 0,22 Dj 5000 256 3 380 1 Hj 20000 4000 10 1160 5 typ min max max min min Pro každou variantu spočteme hodnotu agregované funkce užitku. oq.o VHV - metoda WSA, příklad Použijme metodu WSA na problém výběru tabletu, přičemž převezmeme váhy stanovené dle Saatyho metody: cena RAM výdrž baterie hmotnost OS, procesor, display užitek Tablet 1 0,53 0,2 0,93 0,62 1 0,69 Tablet 2 0,53 0,2 1 0,72 0,5 0,59 Tablet 3 1 0,07 0,57 1 0,25 0,63 Tablet 4 0 1 0 0 0,75 0,29 Tablet 5 1 0 0,14 0,97 0 0,47 váhy 0,41 0,12 0,22 0,03 0,22 Dj 5000 256 3 380 1 Hj 20000 4000 10 1160 5 typ min max max min min Největší užitek nám přinese tablet 1 (v závěsu s tabletem 3). VHV - metody založené na optimalizaci vzdálenosti od bazální a ideální varianty Metoda TOPSIS spočívá ve výběru varianty, která je co nejblíže tzv. ideální variantě a současně je co nejdál od tzv. bazální varianty. Popišme její postup pro případ, kdy že jsou všechna kritéria maximalizační. Postupuje se v následujících krocích: O Normalizace: hodnoty y-ý se transformují na nj podle vztahu Vypočte se vážená kriteriální matice W — (wy) jako w/j = vj^. Z prvků W se vybere ideální varianta H — (H-\,..., Hk) a bazální varianta D = (D-i,..., Dk), kde Hj = maXj(Wjj), Dy = m/n((^). (Pozor! Hodnoty Hj a Dj se neshodují s těmi dříve zavedenými - jsou spočteny po normalizaci a zvážení sloupců!) Vypočtou se vzdálenosti variant od ideální a bazální varianty Wa Dj)2 0 Nakonec se vypočte relativní vzdálenost od bazální varianty c, = varianty se podle ní sestupně uspořádají. Cr++CT VHV - metoda TOPSIS, příklad Použijme metodu TOPSIS pro výběr tabletu, jako váhy opět vezmeme Saatyho odhady. cena RAM výdrž baterie hmotnost expert display Ci T1 0,442 0,234 0,584 0,432 0,135 T2 0,442 0,234 0,615 0,382 0,405 T3 0,184 0,120 0,431 0,242 0,539 T4 0,736 0,934 0,185 0,738 0,270 T5 0,184 0,06 0,246 0,254 0,674 vj 0,41 0,12 0,22 0,03 0,22 typ min max max min min Dj Hj Přepočteme na normalizované hodnoty r,j. VHV - metoda TOPSIS, příklad Použijme metodu TOPSIS pro výběr tabletu, jako váhy opět vezmeme Saatyho odhady. cena RAM výdrž baterie hmotnost expert Ci T1 0,181 0,028 0,129 0,013 0,03 T2 0,181 0,028 0,135 0,011 0,089 T3 0,075 0,014 0,095 0,007 0,119 T4 0,302 0,112 0,041 0,022 0,059 T5 0,075 0,007 0,054 0,008 0,148 vj 0,41 0,12 0,22 0,03 0,22 typ min max max min min Dj 0,302 0,007 0,041 0,022 0,148 Hj 0,075 0,112 0,135 0,007 0,030 Spočteme matici W,j a určíme ideální a bazálni variantu: H, D. VHV - metoda TOPSIS, příklad Použijme metodu TOPSIS pro výběr tabletu, jako váhy opět vezmeme Saatyho odhady. cena RAM výdrž baterie hmotnost expert dt °T Ci T1 0,181 0,028 0,129 0,013 0,03 0,135 0,192 0,587 T2 0,181 0,028 0,135 0,011 0,089 0,148 0,166 0,53 T3 0,075 0,014 0,095 0,007 0,119 0,138 0,235 0,63 T4 0,302 0,112 0,041 0,022 0,059 0,248 0,138 0,357 T5 0,075 0,007 0,054 0,008 0,148 0,178 0,227 0,56 vj 0,41 0,12 0,22 0,03 0,22 typ min max max min min Dj 0,302 0,007 0,041 0,022 0,148 Hj 0,075 0,112 0,135 0,007 0,030 Vypočteme vzdálenosti od ideální a bazálni varianty c/+ a c/, a relativní index vzdálenosti od bazálni varianty c,. Nejlépe se jeví tablet 3. VHV - metody třídy ELECTRE Významnou skupinu metod tvoří metody založené na vyhodnocování podle preferenční relace. Z dílčích preferencí podle jednotlivých kritérií se vhodnými agregačními procedurami odvodí celková preference. Ta však bohužel nemusí být tranzitivní, takže je nutný další postup, který stanoví celkové pořadí variant neboje alespoň rozdělí do několika indiferenčních tříd. U metody ELECTRE I jde o rozdělení na tzv. efektivní a neefektivní varianty. VHV - metody třídy ELECTRE Významnou skupinu metod tvoří metody založené na vyhodnocování podle preferenční relace. Z dílčích preferencí podle jednotlivých kritérií se vhodnými agregačními procedurami odvodí celková preference. Ta však bohužel nemusí být tranzitivní, takže je nutný další postup, který stanoví celkové pořadí variant neboje alespoň rozdělí do několika indiferenčních tříd. U metody ELECTRE I jde o rozdělení na tzv. efektivní a neefektivní varianty. Předpokládejme, že všechna kritéria jsou maximalizační. Pro každou dvojici variant X-„ Xj určíme množiny Qj = {/)€ {1,...,/<};yih >yih} indexů kritérií, podle nichž je varianta X alespoň tak dobrá jako Xj a Díj = {ňe{1,...,f(};yiň < yih} indexů kritérií, podle nichž je varianta X, horší než Xy VHV - metody třídy ELECTRE Pro stanovené váhy kritérií v-\,..., vk pak vypočteme pro každou dvojici variant stupeň preference vztahem Platí dj g (0,1). VHV - metody třídy ELECTRE Pro stanovené váhy kritérií v-\,... ,vk pak vypočteme pro každou dvojici variant stupeň preference vztahem ca = £/,eQ Vh Platí čij e (0,1). V dalším kroku se pro každou dvojici variant vypočte stupeň dispreference vztahem . _ maxheDjj\yih-yjh\ 'i ~ maxh=-\,...,k\yih-yih\' v případě Dy — 0 se definuje ď,j — 0. Opět platí ď,j e (0,1). VHV - metody třídy ELECTRE Pro stanovené váhy kritérií v-\,... ,vk pak vypočteme pro každou dvojici variant stupeň preference vztahem ca = £/,eQ Vh Platí čij e (0,1). V dalším kroku se pro každou dvojici variant vypočte stupeň dispreference vztahem . _ maxheDjj\yih-yjh\ 'i ~ maxh=-\,...,k\yih-yih\' v případě Dy — 0 se definuje ď,j — 0. Opět platí ď,j e (0,1). Pomocí vhodně stanovených konstant prahu preference c* a prahu preference ď se rozhodne o celkové preferenci mezi X-, a Xf. X preferujeme před Xj, platí-li c,y > c* A dy < d*. VHV - metody třídy ELECTRE Pro stanovené váhy kritérií v-\,... ,vk pak vypočteme pro každou dvojici variant stupeň preference vztahem ca = £/,eQ Vh Platí čij e (0,1). V dalším kroku se pro každou dvojici variant vypočte stupeň dispreference vztahem . _ maxheDjj\yih-yjh\ 'i ~ maxh=-\,...,k\yih-yih\' v případě Dy — 0 se definuje ď,j — 0. Opět platí ď,j e (0,1). Pomocí vhodně stanovených konstant prahu preference c* a prahu preference ď se rozhodne o celkové preferenci mezi X-, a Xf. X preferujeme před Xj, platí-li c,y > c* A dy < d*. Za efektivní považujeme ty varianty, které jsou preferovány před alespoň jednou variantou, ale současně není žádná varianta preferována před nimi. Výsledek závisí na volbě prahů, postupnými změnami jejich hodnot můžeme dostat pouze jedinou efektivní variantu a tu pak brát jako "nejlepší". oq.o VHV - metoda ELECTRE I - příklad Pro naši úlohu o tabletech určeme množiny C,y Ca T1 T2 T3 T4 T5 T1 {1,2,5} {2,3,5} {1,3,4,5} {2,3,5} T2 {1,2,3,4} {2,3,5} {1,3,4} {2,3,5} T3 {1,4} {1,4} {1,4} {1,2,3,4,5} T4 {2} {2,5} {2,3,5} {2,5} T5 {1,4} {1,4} {1} {1,3,4} VHV - metoda ELECTRE I - příklad Pro naši úlohu o tabletech určeme množiny C,y Ca T1 T2 T3 T4 T5 T1 {1,2,5} {2,3,5} {1,3,4,5} {2,3,5} T2 {1,2,3,4} {2,3,5} {1,3,4} {2,3,5} T3 {1,4} {1,4} {1,4} {1,2,3,4,5} T4 {2} {2,5} {2,3,5} {2,5} T5 {1,4} {1,4} {1} {1,3,4} Pro Saatyho váhy (0,41; 0,12; 0,22; 0,03; 0,22) dopočteme tabulku stupňů preference: T1 T2 T3 T4 T5 T1 0,75 0,56 0,88 0,56 T2 0,78 0,56 0,66 0,56 T3 0,44 0,44 0,44 1 T4 0,12 0,34 0,56 0,34 T5 0,44 0,44 0,41 0,66 VHV - metoda ELECTRE I - příklad Určíme také množiny D,y Dii T1 T2 T3 T4 T5 T1 {3,4} {1,4} {2} {1,4} T2 {5} {1,4} {2,5} {1,4} T3 {2,3,5} {2,3,5} {2,3,5} {} T4 {1,3,4,5} {1,3,4} {1,4} {1,3,4} T5 {2,3,5} {2,3,5} {2,3,4,5} {2,5} VHV - metoda ELECTRE I - příklad Určíme také množiny D,y Dii T1 T2 T3 T4 T5 T1 {3,4} {1,4} {2} {1,4} T2 {5} {1,4} {2,5} {1,4} T3 {2,3,5} {2,3,5} {2,3,5} {} T4 {1,3,4,5} {1,3,4} {1,4} {1,3,4} T5 {2,3,5} {2,3,5} {2,3,4,5} {2,5} Dopočteme tabulku stupňů dispreference, vyjdeme z standardizovaných hodnot y'f T1 T2 T3 T4 T5 T1 0,1 0,47 0,8 0,47 T2 0,5 0,47 0,8 0,47 T3 0,75 0,28 0,93 0 T4 0,93 1 1 1 T5 1 0,86 0,43 1 VHV - metoda ELECTRE I - příklad Stanovíme práh preference c* — 0,5 a vyznačíme c,y > c*. Cij T1 T2 T3 T4 T5 T1 0,75 0,56 0,88 0,56 T2 0,78 0,56 0,66 0,56 T3 0,44 0,44 0,44 1 T4 0,12 0,34 0,56 0,34 T5 0,44 0,44 0,41 0,66 VHV - metoda ELECTRE I - příklad Stanovíme práh preference c* — 0,5 a vyznačíme c,y > c*. Cij T1 T2 T3 T4 T5 T1 0,75 0,56 0,88 0,56 T2 0,78 0,56 0,66 0,56 T3 0,44 0,44 0,44 1 T4 0,12 0,34 0,56 0,34 T5 0,44 0,44 0,41 0,66 Stanovíme práh preference ď — 0,5 a vyznačíme ď,j < ď. T1 T2 T3 T4 T5 T1 0,1 0,47 0,8 0,47 T2 0,5 0,47 0,8 0,47 T3 0,75 0,28 0,93 0 T4 0,93 1 1 1 T5 1 0,86 0,43 1 VHV - metoda ELECTRE I - příklad Relaci preference můžeme znázornit v matici nebo v grafu: Jedinou efektivní variantou (uzel, ze kterého vycházejí šipky, ale žádné nevstupují) je tablet 1. VHV - metody třídy PROMÉTHEE Patří mezi nejčastěji používané postupy VHV. Základem je párové porovnávání variant postupně podle všech kritérií. Pro varianty X,, Xj definujeme intenzitu preference podle kritéria Yh: Ph(Xi,Xi) jako funkci nabývající hodnoty z intervalu (0,1), takovou, že P/,(X, Xj) — 0 není-li X, preferováno před Xj a P/,(X, Xj) — 1 v případě absolutní preference. VHV - metody třídy PROMÉTHEE Patří mezi nejčastěji používané postupy VHV. Základem je párové porovnávání variant postupně podle všech kritérií. Pro varianty X,, Xj definujeme intenzitu preference podle kritéria Yh: jako funkci nabývající hodnoty z intervalu (0,1), takovou, že Pň(X, Xj) — 0 není-li X, preferováno před Xj a Ph{Xh Xj) — 1 v případě absolutní preference. Intenzita preference závisí na diferenci dh — {ym - »), transformace Q převádějící diferenci dh na intenzitu preference Ph(Xj, Xj) se nazývá zobecněné kritérium a může mít různý průběh, například viz obrázek: Ph(X,Xj) VHV - metody třídy PROMÉTHEE Jsou-li stanoveny váhy kritérií, můžeme spočítat globální preferenční indexy podle vztahu P(X,-,X,) = ELi vhPh(X,,Xi). Pro získání výsledné relace vypočteme pro každou variantu pozitivní (výstupní) a negativní (vstupní) tok jako ^W) = £y!i P(X,Xy)/(n-1), ^-W) = £y!i P(Xy,X)/(n-1), VHV - metody třídy PROMÉTHEE Jsou-li stanoveny váhy kritérií, můžeme spočítat globální preferenční indexy podle vztahu P(X,-,Xy) = ELi vhPh(X,,Xi). Pro získání výsledné relace vypočteme pro každou variantu pozitivní (výstupní) a negativní (vstupní) tok jako ^W) = £y!i P(xhXj)/(n-:), F-(X,) = T]^ P(Xj,Xi)/(n-1), Jednotlivé metody se v postupu dále liší, PROMÉTHEE II například uspořádává varianty podle tzv. čistého toku F(Xí) = F+(Xí)-F-(Xí). VHV - metoda PROMÉTHEE, příklad Pro úlohu s tablety vyjdeme při výpočtu diferencí dh ze standardizovaných hodnot y'ľ: y'ij cena RAM výdrž hmotnost OS, procesor, baterie display Tablet 1 0,53 0,2 0,93 0,62 1 Tablet 2 0,53 0,2 1 0,72 0,5 Tablet 3 1 0,07 0,57 1 0,25 Tablet 4 0 1 0 0 0,75 Tablet 5 1 0 0,14 0,97 0 VHV - metoda PROMÉTHEE, příklad Pro úlohu s tablety vyjdeme při výpočtu diferencí dn ze standardizovaných hodnot y'ľ: y'ij cena RAM výdrž hmotnost OS, procesor, baterie display Tablet 1 0,53 0,2 0,93 0,62 1 Tablet 2 0,53 0,2 1 0,72 0,5 Tablet 3 1 0,07 0,57 1 0,25 Tablet 4 0 1 0 0 0,75 Tablet 5 1 0 0,14 0,97 0 Nejprve spočteme všechny diference a pak s využitím zobecněného kritéria Qi s prahem ď — 0,5 přepočítáme na intenzity preference Pn{Xh Xf). Výpočet ukážeme jen pro d-\. VHV - metoda PROMÉTHEE, příklad 4{X,,Xj) T1 T2 T3 T4 T5 T1 0 0 -0,47 0,53 -0,47 T2 0 0 -0,47 0,53 -0,47 T3 0,47 0,47 0 1 0 T4 -0,53 -0,53 -1 0 1 T5 0,47 0,47 0 -1 0 VHV - metoda PROMÉTHEE, příklad 4{X,,Xj) T1 T2 T3 T4 T5 T1 0 0 -0,47 0,53 -0,47 T2 0 0 -0,47 0,53 -0,47 T3 0,47 0,47 0 1 0 T4 -0,53 -0,53 -1 0 1 T5 0,47 0,47 0 -1 0 Intenzity preference jsou: T1 T2 T3 T4 T5 T1 0 0 0 1 0 T2 0 0 0 1 0 T3 0 0 0 1 0 T4 0 0 0 0 1 T5 0 0 0 0 0 VHV - metoda PROMÉTHEE, příklad Proces opakujeme pro všechna další kritéria a nakonec pomocí vah (0,41; 0,12; 0,22; 0,03; 0,22) agregujeme preferenční intenzity a získáme globální preferenční indexy: P(XhXj) T1 T2 T3 T4 T5 F+{X,) T1 0 0 0,22 0,66 0,22 T2 0 0 0 0,44 0,22 T3 0 0 0 0,66 0,22 T4 0,12 0,12 0,12 0 0,75 T5 0 0 0 0 0 F-(Xi) Zprůměrováním řádků a sloupců získáme pozitivní a negativní toky. VHV - metoda PROMÉTHEE, příklad Proces opakujeme pro všechna další kritéria a nakonec pomocí vah (0,41; 0,12; 0,22; 0,03; 0,22) agregujeme preferenční intenzity a získáme globální preferenční indexy: P(XhXj) T1 T2 T3 T4 T5 F+{X,) T1 0 0 0,22 0,66 0,22 0,275 T2 0 0 0 0,44 0,22 0,165 T3 0 0 0 0,66 0,22 0,22 T4 0,12 0,12 0,12 0 0,75 0,2775 T5 0 0 0 0 0 0 F-(Xi) 0,03 0,03 0,085 0,44 0,3525 Rozdílem pozitivních a negativních toků získáme celkový tok: F( 71) = 0,245, F( 72) = 0,135, F( 73) = 0,135, F(74) = -0,1625, F(75) = -0,3525 Nejlépe vychází tablet 1. oq.o VHV- metoda AHP Metoda AHP (Analytic Hierarchy Process) modeluje rozhodovací problém pomocí hierarchické struktury, která má pro nejjednodušší úlohy tři úrovně (viz obr.) Cíl hodnocení 100 % Kritérium Yi Ví Kritérium Y2 V2 Varianta Xi Wu, j=1,..,k Kritérium Y* Vk Varianta X* Varianta Xn W2J,j=1,..,k W„j, j=1,..,k VHV- metoda AHP Intenzitu vztahu mezi jednotlivými prvky hierarchie můžeme vyjádřit pomocí dělení počáteční jednotky (100 %) podle preferencí rozhodovatele na další úrovně. Nejprve jsou na druhé úrovni přiřazeny kritériím váhy vj, j — 1,..., k. Tyto váhy se dále rozdělují jednotlivým variantám podle toho, jak dobře či špatně jsou tyto varianty dle daného kritéria ohodnoceny, čímž pro dané kritérium dostaneme preferenční indexy w-,j, i — 1,..., n. Z konstrukce modelu vyplývá, že platí vztahy vj: = 1 > IC/L1 wij = vh J' = 1 > ■ ■ ■ ^ Celkový užitek, podle nějž lze varianty uspořádat, se vypočte jako u(Xj) — J]jc=1 w^. VHV- metoda AHP Intenzitu vztahu mezi jednotlivými prvky hierarchie můžeme vyjádřit pomocí dělení počáteční jednotky (100 %) podle preferencí rozhodovatele na další úrovně. Nejprve jsou na druhé úrovni přiřazeny kritériím váhy vj, j — 1,..., k. Tyto váhy se dále rozdělují jednotlivým variantám podle toho, jak dobře či špatně jsou tyto varianty dle daného kritéria ohodnoceny, čímž pro dané kritérium dostaneme preferenční indexy w-,j, i — 1,..., n. Z konstrukce modelu vyplývá, že platí vztahy J]ýli Vj< = 1, J]/Li wij — vh J' — 1 > ■ ■ ■ ^ Celkový užitek, podle nějž lze varianty uspořádat, se vypočte jako u(Xj) — Y!j=i wíj- Vlastní numerická realizace je založena na párovém porovnávání prvků podobně jako u Saatyho metody: Pro nejvyšší uzel se sestaví porovnávací matice (k x k) a z ní se odvodí váhy kritérií. Následně se pro každé kritérium určí preference variant párovým porovnáváním v matici (n x n). Nevýhodou metody je tedy očividně velký objem porovnávání, což je na druhou stranu vyváženo její univerzální použitelností a možností použití verbální stupnice pro vyjádření preferencí. Vícekriteriální programování Ve vícekriteriálním programování jde o optimalizaci více účelových funkcí na přípustné množině definované sadou omezení. Narozdíl od úloh VHV je množina variant v úlohách nekonečná a kritéria jsou definována v podobě funkcí. Jsou-li všechny účelové funkce i omezující podmínky lineární, mluvíme o vícekriteriálním lineárním programování (VLP). Problém VLP tedy můžeme formulovat jako úlohu "optimalizovat" ZA = c1 • x, z2 = c2 • x,... zk = ck • x, za podmínek x g X = {x e Mn|Ax < b, x > 0}, kde c' je cenový vektor /-té účelové funkce. Vícekriteriální programování Ve vícekriteriálním programování jde o optimalizaci více účelových funkcí na přípustné množině definované sadou omezení. Narozdíl od úloh VHV je množina variant v úlohách nekonečná a kritéria jsou definována v podobě funkcí. Jsou-li všechny účelové funkce i omezující podmínky lineární, mluvíme o vícekriteriálním lineárním programování (VLP). Problém VLP tedy můžeme formulovat jako úlohu "optimalizovat" ZA = c1 • x, z2 = c2 • x,... zk = ck • x, za podmínek x g X = {x e Mn|Ax < b, x > 0}, kde c' je cenový vektor /-té účelové funkce. Pomocí ekvivalence minimalizační úlohy pro z,- s maximalizační úlohou pro -z-, můžeme převést úlohu do takové podoby, aby všechna kritéria měla maximalizační charakter. Úlohu je pak možné zapsat pomocí maticového zápisu, označíme-li z = (z-i, z2,..., zk) vektor účelových funkcí a C matici vytvořenou z cenových vektorů c1, c2,... ck: z = C x -> MAX, x e X. Model VLP - základní pojmy Podobně jako u VHV je typicky cílem nalézt v množině všech přípustných řešení pomocí vhodného postupu nějaké prakticky přijatelné, tzv. kompromisní řešení. Je dobré si uvědomit, že při hledání kompromisního řešení se opět stačí omezit na nedominovaná řešení. Řešení x e X je nedominované, pokud neexistuje žádné přípustné řešení, jehož vektor kriteriálních hodnot by byl ve všech složkách větší nebo roven vektoru C x (s vyloučením případu rovnosti vektorů). Model VLP - základní pojmy Podobně jako u VHV je typicky cílem nalézt v množině všech přípustných řešení pomocí vhodného postupu nějaké prakticky přijatelné, tzv kompromisní řešení. Je dobré si uvědomit, že při hledání kompromisního řešení se opět stačí omezit na nedominovaná řešení. Řešení x e X je nedominované, pokud neexistuje žádné přípustné řešení, jehož vektor kriteriálních hodnot by byl ve všech složkách větší nebo roven vektoru C x (s vyloučením případu rovnosti vektorů). Většina principů pro hledání kompromisního řešení je založena na řešení dílčích úloh lineárního programování z,- — c1 • x ->• max, x e X standardní simplexovou metodou. Vektor xh, ve kterém všechny účelové funkce nabývají svých optimálních hodnot nazýváme ideální řešení. Analogicky bychom mohli zavést bazální řešení xD. Optimální a bazální řešení zpravidla neleží v přípustné množině. Model VLP - grafické znázornění Vícekriteriální lineární model je možné zobrazovat v rozhodovacím nebo kriteriálním prostoru. Nejprve schematicky znázorněme úlohu se dvěma proměnnými v rozhodovacím prostoru, kde souřadné osy budou reprezentovat hodnoty proměnných. Vyznačíme přípustnou množinu X. Model VLP - grafické znázornění Vícekriteriální lineární model je možné zobrazovat v rozhodovacím nebo kriteriálním prostoru. Nejprve schematicky znázorněme úlohu se dvěma proměnnými v rozhodovacím prostoru, kde souřadné osy budou reprezentovat hodnoty proměnných. Dílčí úloha LP pro účelovou funkci z-i = c1 • x má optimum v bodě x1. Model VLP - grafické znázornění Vícekriteriální lineární model je možné zobrazovat v rozhodovacím nebo kriteriálním prostoru. Nejprve schematicky znázorněme úlohu se dvěma proměnnými v rozhodovacím prostoru, kde souřadné osy budou reprezentovat hodnoty proměnných. Dílčí úloha LP pro účelovou funkci z2 — c2 • x má optimum v bodě x2. Model VLP - grafické znázornění Vícekriteriální lineární model je možné zobrazovat v rozhodovacím nebo kriteriálním prostoru. Nejprve schematicky znázorněme úlohu se dvěma proměnnými v rozhodovacím prostoru, kde souřadné osy budou reprezentovat hodnoty proměnných. Průsečík přímek znázorňujících účelové funkce vedené v dílčích optimech představuje ideální řešení xH. Model VLP - grafické znázornění Vícekriteriální lineární model je možné zobrazovat v rozhodovacím nebo kriteriálním prostoru. Nejprve schematicky znázorněme úlohu se dvěma proměnnými v rozhodovacím prostoru, kde souřadné osy budou reprezentovat hodnoty proměnných. Normálové vektory k těmto přímkám (tedy vektory cenových koeficientů c') vyjadřují směr růstu účelových funkcí. Jejich nezáporné lineární kombinace definují tzv. kriteriální kužel. i ■oo.o Model VLP - grafické znázornění Vícekriteriální lineární model je možné zobrazovat v rozhodovacím nebo kriteriálním prostoru. Nejprve schematicky znázorněme úlohu se dvěma proměnnými v rozhodovacím prostoru, kde souřadné osy budou reprezentovat hodnoty proměnných. Na hranici množiny přípustných řešení vymezené kriteriálním kuželem leží všechna nedominovaná řešení. Model VLP - grafické znázornění Při zobrazování v kriteriálním prostoru vynášíme na jednotlivé osy přímo hodnoty účelových funkcí. i \ z1 2 2 C X Cx2 |cxH I 2 1 C X I I I |CX1 I 1 2 C X 1 1 c x Z2 Modře jsou vyznačeny nedominované hodnoty Vícekriteriální programování - klasifikace metod Při řešení úloh VLP můžeme požadovat výsledky v podobě úplného popisu množiny nedominovaných řešení nebo nalezení nějaké její reprezentativní podmnožiny nebo výběru několika kompromisních variant. Chce-li uživatel vybrat jedinou kompromisní variantu, bude jeho rozhodnutí značně záviset na preferencích jednotlivých kritérií. Ty mohou být zadávány v různých fázích výpočtu: • před započetím výpočtu, • interaktivně v průběhu výpočtu, • po skončení výpočtu, a to opět prostřednictvím aspiračních úrovní kritérií, pořadím kritérií, váhami kritérií nebo mírou kompenzace kriteriálních hodnot. Vícekriteriální programování - klasifikace metod Při řešení úloh VLP můžeme požadovat výsledky v podobě úplného popisu množiny nedominovaných řešení nebo nalezení nějaké její reprezentativní podmnožiny nebo výběru několika kompromisních variant. Chce-li uživatel vybrat jedinou kompromisní variantu, bude jeho rozhodnutí značně záviset na preferencích jednotlivých kritérií. Ty mohou být zadávány v různých fázích výpočtu: • před započetím výpočtu, • interaktivně v průběhu výpočtu, • po skončení výpočtu, a to opět prostřednictvím aspiračních úrovní kritérií, pořadím kritérií, váhami kritérií nebo mírou kompenzace kriteriálních hodnot. Podle toho, kdy je informace o kritériích do modelu zapracována, dělíme výpočetní metody na: • metody s preferenční informací a priori • metody s preferenční informací a posteriori • metody s postupným zpřesňováním preferenční informace • metody kombinované oq.o Vícekriteriální programování - klasifikace metod Metody s informací apriori dělíme do několika skupin: • metoda lexikografická • metoda minimální komponenty • řešení jednokriteriální úlohy s agregovanými kritérii • záměna kritérií za omezení • "minimalizace odchylek"od ideálních hodnot (při vhodně zvolené metrice) Vícekriteriální programování - klasifikace metod Metody s informací apriori dělíme do několika skupin: • metoda lexikografická • metoda minimální komponenty • řešení jednokriteriální úlohy s agregovanými kritérii • záměna kritérií za omezení • "minimalizace odchylek"od ideálních hodnot (při vhodně zvolené metrice) Metody s informací aposteriori spočívají v popisu množiny nedominovaných řešení, ve které následně uživatel vybírá kompromisní řešení. Patří sem: • metoda parametrická (agregujeme kritéria s parametricky zadaným vektorem vah) • metoda omezení (hledá nedominovaná řešení, kde hodnoty kritérií dosahují parametricky zadaných cílových hodnot) • vícekriteriální simplexový algoritmus (postupně určuje nedominovaná bazická řešení) Vícekriteriální programování - klasifikace metod Metody s informací apriori dělíme do několika skupin: • metoda lexikografická • metoda minimální komponenty • řešení jednokriteriální úlohy s agregovanými kritérii • záměna kritérií za omezení • "minimalizace odchylek"od ideálních hodnot (při vhodně zvolené metrice) Metody s informací aposteriori spočívají v popisu množiny nedominovaných řešení, ve které následně uživatel vybírá kompromisní řešení. Patří sem: • metoda parametrická (agregujeme kritéria s parametricky zadaným vektorem vah) • metoda omezení (hledá nedominovaná řešení, kde hodnoty kritérií dosahují parametricky zadaných cílových hodnot) • vícekriteriální simplexový algoritmus (postupně určuje nedominovaná bazická řešení) Metody interaktivní probíhají iterativně a jsou založeny na komunikaci mezi uživatelem a rozhodovatelem. Vícekriteriální programování - příklad Příklad z knihy Tomáš Šubrt, Ekonomicko-matematické metody: Vedení půjčovny lyžařského a snowboardového vybavení zvažuje optimalizaci sortimentu zboží. Do kalkulací zahrnuje obvyklou cenu za půjčení vybavení i riziko, že utrpí ztrátu, protože vybavení nebude půjčeno. Denní zisk [v Kč] při půjčení jednotlivých kompletů i riziko ztráty při nepůjčení [v bodech] jsou uvedeny v tabulce. lyžařský lyžařský lyžařský snowboardový komplet komplet komplet komplet sjezdový sjezdový běžecký dospělý dětský zisk 300 200 170 250 riziko 10 15 25 5 Společnost chce investovat nejvýše 1 mil. Kč do nákupu kompletů, přičemž snowboardové komplety chce nakoupit alespoň za 200 tis. Kč. Pořizovací cena každého z kompletů je 10 tis. Kč. Navrhněte, jak má společnost investovat, aby maximalizovala zisk a minimalizovala ztrátu. oq.o VLP - příklad, matematický model Označme x-\,..., x4 proměnné vyjadřující počty nakoupených kompletů. Kriteriální funkce tedy jsou zA = 300X! + 200x2 + 170x3 + 250x4 ->• max z2 — 10xi + 15x2 + 25x3 + 5x4 ->• min Při pořizovací ceně kompletů 10 000 Kč budou mít omezení následující podobu: celkem lze koupit maximálně 100 ks kompletů, z toho nejméně 20 ks musí být snowboardové komplety: Xi + x2 + x3 + x4 < 100 x4 > 20 Dále musíme přidat obligátní podmínky : x1,x2,x3,x4 > 0 Správně bychom měli přidat ještě podmínky celočíselnosti, ale nebudeme pro zjednodušení zatím uvažovat. Řešením zjednodušených úloh modelu, kdy uvažujeme vždy pouze jednu kriteriální funkci dostaneme dílčí optimální řešení. VLP - dílčí optimální řešení, příklad Snadno lze zjistit, že minimálního rizika půjčovna dosáhne, jestliže nakoupí pouze požadované snowboardové komplety, tj. 20 ks po 10 000 Kč a ostatní komplety nebude kupovat vůbec. VLP - dílčí optimální řešení, příklad Snadno lze zjistit, že minimálního rizika půjčovna dosáhne, jestliže nakoupí pouze požadované snowboardové komplety, tj. 20 ks po 10 000 Kč a ostatní komplety nebude kupovat vůbec. Podobně maximálního zisku půjčovna dosáhne, jestliže po zakoupení požadovaného množství snowboardových kompletů (tj. 20 ks) utratí všechny zbývající peníze za nejziskovější sjezdové komplety pro dospělé. Prostředky postačí pro zakoupení 80 ks těchto kompletů. VLP - dílčí optimální řešení, příklad Snadno lze zjistit, že minimálního rizika půjčovna dosáhne, jestliže nakoupí pouze požadované snowboardové komplety, tj. 20 ks po 10 000 Kč a ostatní komplety nebude kupovat vůbec. Podobně maximálního zisku půjčovna dosáhne, jestliže po zakoupení požadovaného množství snowboardových kompletů (tj. 20 ks) utratí všechny zbývající peníze za nejziskovější sjezdové komplety pro dospělé. Prostředky postačí pro zakoupení 80 ks těchto kompletů. Dílčí optimální řešení můžeme znázornit v kriteriální tabulce: Kriteria výnos ní funkce riziko 80 dospělých sjezdových + 20 snowboardových 29000 880 20 snowboardových 5000 100 Z hlavní diagonály tabulky vidíme, že ideální řešení je ohodnoceno kriteriálními hodnotami zisku a rizika 29000 a 100, ale reálně neexistuje. VLP - lexikografická metoda Popišme si některé z metod s apriorní preferenční informací. Při použití lexikografické metody rozhodovatel určí pořadí významnosti kriteriálních funkcí (předpokládejme, že již jsou funkce označeny tak, že z-i je nejvýznamnější a z/< nejméně významné, jejich optimální hodnoty označme z°pt,..., zopt). Hledání kompromisního řešení spočívá v postupném řešení sekvence optimalizačních úloh max. zi — c1 x, x e X. Pokud má úloha více optimálních řešení, řešíme další úlohu: max. z2 — c2 • x, x e X, c1 x > z°pt. Opět je-li řešení více, postupujeme dále, až nalezneme kompromisní řešení jako bod optima úlohy max. z^ckx,xeX, c1x > z°pt,ck-1x > zop\. VLP - lexikografická metoda Popišme si některé z metod s apriorní preferenční informací. Při použití lexikografické metody rozhodovatel určí pořadí významnosti kriteriálních funkcí (předpokládejme, že již jsou funkce označeny tak, že z-i je nejvýznamnější a zk nejméně významné, jejich optimální hodnoty označme z°pt,..., z°kpt). Hledání kompromisního řešení spočívá v postupném řešení sekvence optimalizačních úloh max. zi — c1 x, x e X. Pokud má úloha více optimálních řešení, řešíme další úlohu: max. z2 — c2 • x, x e X, c1 x > z°pt. Opět je-li řešení více, postupujeme dále, až nalezneme kompromisní řešení jako bod optima úlohy max. z^ckx,xeX, c1x > z°p\ck-1x > zop\. Zmírnit předpoklad, že jednotlivé úlohy mají více než jedno řešení, je možné připuštěním odchylky ôj, o kterou se můžou v jednotlivých krocích lišit hodnoty preferovaných účelových funkcí od svých optim. Například v druhém kroku bychom řešili úlohu max. z2 = c2 • x, x e X, c1 x > z°pt - ô^, atd. Popsaná metoda v podstatě kopíruje reálné uvažování manažerů. VLP - lexikografická metoda, příklad Již víme, že při preferenci rizika je nejvýhodnější nakoupit pouze 20 snowboardových kompletů a při preferenci zisku 20 snowboardových a 80 dospělých sjezdových kompletů. Jaké by měla úloha řešení, jestliže budeme preferovat riziko, ale připustíme jeho odchylku z ideální hodnoty 100 na 120? Maximalizujeme tedy zisk zi = 300^ + 200x2 + 170x3 + 250x4 za omezení z2 — 10x-| + 15x2 + 25x3 + 5x4 < 120 , (tj. že riziko nepřesáhne hodnotu 120) a dalších omezení modelu Xi + X2 + X3 + X4 < 1 00 X4 > 20 , Xi,..., x4 > 0. VLP - lexikografická metoda, příklad Již víme, že při preferenci rizika je nejvýhodnější nakoupit pouze 20 snowboardových kompletů a při preferenci zisku 20 snowboardových a 80 dospělých sjezdových kompletů. Jaké by měla úloha řešení, jestliže budeme preferovat riziko, ale připustíme jeho odchylku z ideální hodnoty 100 na 120? Maximalizujeme tedy zisk zA = 300^ + 200x2 + 170x3 + 250x4 za omezení z2 — 10x-| + 15x2 + 25x3 + 5x4 < 120 , (tj. že riziko nepřesáhne hodnotu 120) a dalších omezení modelu Xi + X2 + X3 + X4 < 1 00 X4 > 20 , Xi,..., x4 > 0. Snadno vypočteme optimální řešení x-\ =2,x2 = 0, x3 = 0, x4 = 20, tedy k požadovaným dvaceti snowboardovým přikoupíme ještě 2 dospělé sjezdové komplety. Zíkáme tak 5600 Kč a riziko bude rovno limitním 120 bodům. oq.o VLP - metoda minimální komponenty Jiným přístupem je stanovení kompromisního řešení podle minimální komponenty, kdy maximalizujeme nejmenší, tedy nejhorší komponentu vektoru hodnot účelových funkcí. Dostaneme tedy úlohu LP maximalizovat z — S za podmínek c1 • x > S, c2 • x > S,... ck • x > S, x e X . VLP - metoda minimální komponenty Jiným přístupem je stanovení kompromisního řešení podle minimální komponenty, kdy maximalizujeme nejmenší, tedy nejhorší komponentu vektoru hodnot účelových funkcí. Dostaneme tedy úlohu LP maximalizovat z — S za podmínek c1 • x > 6, c2 • x > 6,... ck • x > S, x e X . Pokud mají kritéria rozdílnou povahu, je třeba je nejprve převést všechna na maximalizační a upravit na bezrozměrné, aby byla zajištěna jejich srovnatelnost. VLP - metoda agregace kriteriálních funkcí Pomocí vhodně zvoleného operátoru je možné sloučit všechny kriteriální funkce do jediné. Obecně se při agregaci používají různé operátory, zde se jeví nejvhodnější lineární kombinace jednotlivých funkcí za použití normovaného vektoru vah v = (v-i,..., Vk). Místo původní optimalizační úlohy z — C x ->• MAX, x e X. řešíme jednorozměrnou úlohu zv — v C x ->• max, x e X. VLP - metoda agregace kriteriálních funkcí Pomocí vhodně zvoleného operátoru je možné sloučit všechny kriteriální funkce do jediné. Obecně se při agregaci používají různé operátory, zde se jeví nejvhodnější lineární kombinace jednotlivých funkcí za použití normovaného vektoru vah v = (ví,..., Vk). Místo původní optimalizační úlohy z — C x ->• MAX, x e X. řešíme jednorozměrnou úlohu zv — v C x ->• max, x e X. Pozor! Při nastavení vektoru vah je třeba vzít v úvahu, že hodnoty funkcí se pohybují na různých škálách. Vyznačme agregované kritérium graficky (zelená přímka). Nemá praktickou interpretaci, je pouze kritériem pomocným. VLP - metoda agragace, příklad Při agregaci funkce zisku z-i a funkce rizika z2 je třeba vzít v úvahu odlišnou povahu kritérií, například můžeme vynásobit z2 koeficientem (-1). Jestliže nastavíme vektor vah V _ f_5_ 95\ v — v 100 ' 100/ ' pak agregovaná účelová funkce bude mít tvar zv = 5,5xi - 4,25x2 - 15,25x3 + 7,75x4. VLP - metoda agragace, příklad Při agregaci funkce zisku z-i a funkce rizika z2 je třeba vzít v úvahu odlišnou povahu kritérií, například můžeme vynásobit z2 koeficientem (-1). Jestliže nastavíme vektor vah pak agregovaná účelová funkce bude mít tvar zv = 5,5x - 4,25x2 - 15,25x3 + 7,75x4. Snadno nahlédneme, že optimální řešení tedy bude Xi — 0, x2 — 0, x3 — 0, x4 — 100, všechny peníze utratíme za snowboardové komplety. Optimální hodnota účelové funkce zv = 775, což nemá žádnou vypovídací schopnost, ale můžeme pro nalezené řešení dopočítat hodnotu zisku 25000 Kč a hodnotu rizika 500 bodů. VLP - převod kriteriálních funkcí na omezení Při postupném převodu kritérií na omezení postupujeme podobně jako u lexikografické metody. Předpokládáme opět, že jsou funkce označeny od nejvýznamnějšího po nejméně významné). Hledání kompromisního řešení spočívá v postupném řešení sekvence optimalizačních úloh max. zi — c1 x, x e X. Optimální hodnotu označíme z* a řešíme další úlohu, kde připustíme určitou odchylku od z*: max. z2 — c2 • x, x e X, c1x > z* - ô-\. Opět zjistíme z*2 a postupujeme dále, až nalezneme kompromisní řešení jako bod optima úlohy max. zk — ck • x, x e X, c1x > z* - 5-i,..., ck 1x > z*k_A - 5k. oq.o VLP - převod kriteriálních funkcí na omezení Při postupném převodu kritérií na omezení postupujeme podobně jako u lexikografické metody. Předpokládáme opět, že jsou funkce označeny od nejvýznamnějšího po nejméně významné). Hledání kompromisního řešení spočívá v postupném řešení sekvence optimalizačních úloh max. zi — c1 x, x e X. Optimální hodnotu označíme z* a řešíme další úlohu, kde připustíme určitou odchylku od z*: max. z2 — c2 • x, x e X, c1x > z* - ô-\. Opět zjistíme z*2 a postupujeme dále, až nalezneme kompromisní řešení jako bod optima úlohy max. zk — ck • x, x e X, c1x > z* - 5-i,..., ck 1x > z*k_A - 5k. Kritéria lze také převést na omezení najednou tak, že maximalizujeme pouze nejdůležitější kritérium z\ a přidáme do modelu současně všechna omezení z, > auj, i — 2,... k ( aspirační úrovně všech kritérií au,, i — 2,... k nastavíme někam mezi bazálni a ideální hodnotu pro dané kritérium (z™",z-"ax).) Nevýhodou tohoto přístupu je, že může být obtížné nastavení aspiračních úrovní, aby nebyla přípustná množina prázdná nebo aby nebyl vliv kritérií eliminován úplně. Úvod Modely datových obalů (DEA) slouží k hodnocení technické efektivity produkčních jednotek na základě velikosti vstupů a výstupů (bez nutnosti cenového vyjádření). Úvod Modely datových obalů (DEA) slouží k hodnocení technické efektivity produkčních jednotek na základě velikosti vstupů a výstupů (bez nutnosti cenového vyjádření). Historie: 1957: Farrell: model měření efektivity jednotek s jedním vstupem a výstupem 1978: Charnes, Cooper, Rhodes: CCR model: vícenásobné vstupy a výstupy, konstantní výnosy z rozsahu 1984: Banker, Charnes, Cooper: BCC model: proměnný výnos z rozsahu Úvod Modely datových obalů (DEA) slouží k hodnocení technické efektivity produkčních jednotek na základě velikosti vstupů a výstupů (bez nutnosti cenového vyjádření). Historie: 1957: Farrell: model měření efektivity jednotek s jedním vstupem a výstupem 1978: Charnes, Cooper, Rhodes: CCR model: vícenásobné vstupy a výstupy, konstantní výnosy z rozsahu 1984: Banker, Charnes, Cooper: BCC model: proměnný výnos z rozsahu Uvažujme homogenní produkční jednotky, spotřebovávající stejný typ zdrojů (materiál, podlahová plocha, pracovníci, atd.), budeme je označovat vstupy, k produkci ekvivalentních efektů (tržby, zisk, počet obsloužených klientů, atp.), dále jen výstupy. Pokud v činnosti jednotek dominuje pouze jeden vstup a jeden výstup, lze snadno vyjádřit efektivitu pomocí poměrového ukazatele efektivita = výstup/vstup Úvod Modely datových obalů (DEA) slouží k hodnocení technické efektivity produkčních jednotek na základě velikosti vstupů a výstupů (bez nutnosti cenového vyjádření). Historie: 1957: Farrell: model měření efektivity jednotek s jedním vstupem a výstupem 1978: Charnes, Cooper, Rhodes: CCR model: vícenásobné vstupy a výstupy, konstantní výnosy z rozsahu 1984: Banker, Charnes, Cooper: BCC model: proměnný výnos z rozsahu Uvažujme homogenní produkční jednotky, spotřebovávající stejný typ zdrojů (materiál, podlahová plocha, pracovníci, atd.), budeme je označovat vstupy, k produkci ekvivalentních efektů (tržby, zisk, počet obsloužených klientů, atp.), dále jen výstupy. Pokud v činnosti jednotek dominuje pouze jeden vstup a jeden výstup, lze snadno vyjádřit efektivitu pomocí poměrového ukazatele efektivita = výstup/vstup Pro vícenásobné vstupy a výstupy je možné jejich agregováním ukazatel modifikovat: efektivita = vážené výstupy/vážené vstupy Model s jedním vstupem a výstupem Uvažujme 8 poboček obchodní firmy, které charakterizujeme jedním vstupem (počet zaměstnanců) a jedním výstupem (počet uzavřených smluv s klienty). Efektivitu lze vyjádřit pomocí ukazatele "počet smluv na zaměstnance", údaje jsou zaznamenány v tabulce: Pobočka A B C D E F G H zaměstnanců 2 3 3 4 5 5 6 8 smluv 1 3 2 3 4 2 3 5 efektivita 0,5 1 0,667 0,75 0,8 0,4 0,5 0,625 Model s jedním vstupem a výstupem Data reprezentujeme graficky, viz: Model s jedním vstupem a výstupem Data reprezentujeme graficky, viz: počet smluv H O E O O o bd g C F O A počet zaměstnanců Model s jedním vstupem a výstupem Data reprezentujeme graficky, viz: počet zaměstnanců Ukazatel efektivity dané pobočky udává sklon přímky spojující příslušný bod s počátkem, pro pobočku B nabývá nejvyšší hodnoty - tuto přímku budeme dále nazývat efektivní hranicí. Model s jedním vstupem a výstupem Data reprezentujeme graficky, viz: počet zaměstnanců Ukazatel efektivity dané pobočky udává sklon přímky spojující příslušný bod s počátkem, pro pobočku B nabývá nejvyšší hodnoty - tuto přímku budeme dále nazývat efektivní hranicí. Nejlepší pobočkou je tedy pobočka B, efektivitu ostatních můžeme pak vyjádřit také v relativní míře. Například efektivita A / efektivita B =0,5 což znamená, že A dosahuje pouze 50% efektivity B. Tato relativní míra nabývá i pro ostatní pobočky hodnot z intervalu [0,1] a je nezávislá na jednotkách, ve kterých jsme vstup, resp. výstup měřili. Model s jedním vstupem a výstupem Jakým způsobem může jednotka A dosáhnout stoprocentní hodnoty, tj. efektivní hranice? Může snížit vstupy při zachování výstupů (model orientovaný na vstupy, v grafickém znázornění reprezentuje bod A|) nebo zvýšit výstup při zachování vstupů (model orientovaný na výstupy, v grafickém znázornění reprezentuje bod A2) nebo změnit obojí. Jednotky A-\, A2 nazýváme virtuální, neodpovídají žádné reálné pobočce. Úsečka A-\A2 reprezentuje všechny dostupné body na efektivní hranici, pro jejichž dosažení A nemusí zvyšovat počet zaměstnanců nebo snižovat počet uzavřených smluv. počet zaměstnanců Model s jedním vstupem a výstupem Označíme-li souřadnice bodů /4[x,y], A-\[x-i,yi], A2[x2,y2], vzhledem ktomu, že A-\, A2 leží na efektivní hranici, lze ve vyjádření relativní efektivity A použít ve jmenovateli místo jednotky B libovolnou z těchto virtuálních jednotek. Dostaneme pak -ylj, =*/*i neboť y = yi nebo f/f2 =Y2/y neboť x = x2. Model s jedním vstupem a výstupem Označíme-li souřadnice bodů /4[x,y], A-\[x1;y-i], A2[x2,y2], vzhledem ktomu, že A-\, A2 leží na efektivní hranici, lze ve vyjádření relativní efektivity A použít ve jmenovateli místo jednotky B libovolnou z těchto virtuálních jednotek. Dostaneme pak -ylj, =*/*i neboť y = y nebo f/f2 =Y2/y neboť x = x2. V modelu orientovaném na výstupy můžeme relativní efektivitu interpretovat jako potřebné navýšení výstupu, ^ = f = 2, tedy efektivní hranice by A dosáhla zdvojnásobením počtu uzavřených smluv. Pro model orientovaný na vstupy převrácená hodnota relativní efektivity reprezentuje potřebnou redukci vstupů, ^ = \ — 0,5, tedy efektivní hranice by A dosáhla s polovinou zaměstnanců. oq.o Model s jedním vstupem a výstupem V předchozích úvahách jsme pracovali s předpokladem konstantních výnosů z rozsahu, kdy efektivní hranice byla tvořena polopřímkou, tj. pro každou pobočku s kombinací vstupu a výstupu [x, y] se předpokládá za dosažitelnou i kombinace [ax, ay] pro lib. a > 0. Ukazatel relativní efektivity pak vychází shodně, ať použijeme model orientovaný na vstupy či na výstupy. Model s jedním vstupem a výstupem V předchozích úvahách jsme pracovali s předpokladem konstantních výnosů z rozsahu, kdy efektivní hranice byla tvořena polopřímkou, tj. pro každou pobočku s kombinací vstupu a výstupu [x, y] se předpokládá za dosažitelnou kombinace [ax, ay] pro lib. a > 0. Ukazatel relativní efektivity pak vychází shodně, ať použijeme model orientovaný na vstupy či na výstupy. Za předpokladu variabilních výnosů z rozsahu je třeba efektivní hranici modifikovat. počet smluv počet zaměstnanců Nyní tvoří hranice obal dat, tak že efektivní se jeví též jednotky E a H. Model s jedním vstupem a výstupem Ukazatel relativní efektivity se může měnit podle použitého modelu. Například pro jednotku F při orientaci na vstupy dostaneme hodnotu efektivita F I efektivita F = 2/5 = 0,4, kdežto při orientaci na výstupy hodnotu efektivita F/efektivita E = 1/2= 0,5 . počet smluv 5 ^^^^ h e / B 0 d O g /=1 'C -( i f / ° / A 5 počet zaměstnanců Dva vstupy a jeden výstup Uvažujme příklad 9 supermarketů , kde jako vstupy bereme počet zaměstnanců (v desítkách) a podlahovou plochu (v 1000 m2), výstupem rozumíme roční tržby. Za předpokladu konstantních výnosů z rozsahu můžeme dále pracovat s hodnotami vstupů přepočtenými na jednotku výstupu. Normované hodnoty jsou uvedeny v tabulce. Obchod ABCDEFGH I zaměstnanců plocha 4784256 5,5 6 3 3 1 2 4 2 4 2,5 2,5 tržby 11111111 1 Dva vstupy a jeden výstup V grafickém znázornění se efektivnější jeví ty obchody, které se nalézají blíž k počátku, efektivní hranice obaluje data následujícím způsobem: plocha/t lby zaměstnanců/tržby oq.o Dva vstupy a jeden výstup V grafickém znázornění se efektivnější jeví ty obchody, které se nalézají blíž k počátku, efektivní hranice obaluje data následujícím způsobem: zaměstnanců/tržby Obchod A je neefektivní, míru jeho efektivity můžeme měřit radiálně jako j^l — 0,8571 . Protože virtuální jednotka P je kombinací jednotek D,E, nazýváme je referenčními jednotkami pro A. Dva vstupy a jeden výstup V grafickém znázornění se efektivnější jeví ty obchody, které se nalézají blíž k počátku, efektivní hranice obaluje data následujícím způsobem: plocha/t lby zaměstnanců/tržby Obchod A je neefektivní, míru jeho efektivity můžeme měřit radiálně jako j^l — 0,8571 . Protože virtuální jednotka P je kombinací jednotek D,E, nazýváme je referenčními jednotkami pro A. Efektivní hranice lze dosáhnout též jinak než proporčním snížením obou vstupů o 15%, snížení pouze jednoho vstupu při zachování úrovně druhého demonstrují body A-\, D. Jeden vstup a dva výstupy Nyní naopak uvažujme prípad, kdy u 7 obchodních kanceláří sledujeme 1 vstup (počet obchodníků) a dva výstupy (počet obsloužených zákazníků a tržby. Hodnoty výstupů u jednotlivých poboček přepočtené na 1 obchodníka jsou uvedeny v tabulce. Kancelář A B C D E F G obchodníků 1111111 zákazníků tržby 1 2 3 4 4 5 6 5 7 4 3 6 5 2 Jeden vstup a dva výstupy Můžeme znázornit jednotkové výstupy jednotlivých kanceláří, efektivní hranice bude obalovat data z opačné strany, protože body ležící blíž k počátku reprezentují méně efektivní jednotky, (jde o jednotky A,C,D) klientů na obchodníka 5 A tržby na obchdflníka Jeden vstup a dva výstupy Můžeme znázornit jednotkové výstupy jednotlivých kanceláří, efektivní hranice bude obalovat data z opačné strany, protože body ležící blíž k počátku reprezentují méně efektivní jednotky, (jde o jednotky A,C,D) klientů na obchodníka tržby na obcháflníka Míru neefektivity lze opět měřit radiálně, například pro jednotku D jako j^Pj — 0,75 . Pro bod A by analogická míra vyjadřovala pouze tzv. technickou neefektivitu, z bodu Q lze ještě zvýšit tržby bez ztráty klientů až na úroveň bodu B. CCR model Pro n jednotek U-\,..., Un u nichž sledujeme m vstupů a r výstupů zavedeme označení xiq pro /'-tý vstup q-té jednotky a yjq pro y-tý vstup q-\é jednotky. Pro Uq značíme xq = (x1q, ..., xmq)'', yq = (y1c?,..., yrq)'. Hodnoty lze uspořádat do matic CCR model Pro n jednotek í/,,..., Un u nichž sledujeme m vstupů a r výstupů zavedeme označení xiq pro /'-tý vstup q-té jednotky a yjq pro y-tý vstup q-\é jednotky. Pro Uq značíme xq = (x1q, ..., xmq)'', yq = (y1c?,..., yrq)'. Hodnoty lze uspořádat do matic Pomocí vektorů nezáporných vah v — libovolnou jednotku Uq definovat (v-\,..., vm), u — t/i,..., ur můžeme pro virtuální vstup = v-\x-\q + ... + vmxmq — vxq a virtuální výstup = u<[y<[q + ... + uryrq — uyq. Míru efektivnosti dané jednotky pak vyjádříme jako podíl jejího virtuálního výstupu a vstupu. CCR model Pro n jednotek í/,,..., Un u nichž sledujeme m vstupů a r výstupů zavedeme označení xiq pro /'-tý vstup q-té jednotky a yjq pro y-tý vstup q-\é jednotky. Pro Uq značíme xq = (x1q, ..., xmq)'', yq = (y1c?,..., yrq)'. Hodnoty lze uspořádat do matic x ix,cíiq ^ \v*i'■:::!,■ Pomocí vektorů nezáporných vah v — (v-\,..., vm), u — u-\,..., ur můžeme pro libovolnou jednotku Uq definovat virtuální vstup = v-\ x1q + ... + vmxmq = vxq a virtuální výstup = u<[y<[q + ... + uryrq — uyq. Míru efektivnosti dané jednotky pak vyjádříme jako podíl jejího virtuálního výstupu a vstupu. CCR model optimalizuje váhy vstupů a výstupů tak, aby míra efektivnosti dané jednotky Uq, z = "^u'^"'^"rírq — byla maximální za podmínky, že 1 J w ^1 Xlq+--- + VmXmq VXq J r J > efektivnosti ostatních jednotek jsou nejvýše jednotkové. Existuje-li kladné řešení s optimální hodnotou účelové funkce z* = 1, pak se jednotka Uq označuje jako CCR efektivní. CCR model orientovaný na vstupy Celý model pro jednotku Uq lze formulovat jako úlohu lineárního lomeného programování maxu v _ Utytq+--- + Uryrq za omezení Ul Ylk+--- + Uryrk < -| /f — -| f V\X,k + ... + VmXmk — ' ' ' ' Ui>0, Vj > 0, / — 1,... m, j . r. CCR model orientovaný na vstupy Celý model pro jednotku Uq lze formulovat jako úlohu lineárního lomeného programování _ u,yu,+...+uryrq za omezení u^k+...+ury,k < i £f _ i n v1x1k+...+vmxmk - ' ' ■ ■ ■ "' Uj > 0, vy > 0, /' = 1,... m, j — 1,... r. Úlohu lze snadno linearizovat pomocí Charnes-Cooperovy transformace: z = i/iyio- + ... + t/ryrQ ->• maxu,„ za omezení I/1X1q+...+ vmxmQ = 1 t/iyifc + ... + t/,/,.,, < vixifc + ... + vmxmk, k = 1,... n, Uí>0, Vj > 0, /' = 1,... m, j — 1,... r. CCR model orientovaný na vstupy Celý model pro jednotku Uq lze formulovat jako úlohu lineárního lomeného programování _ u,yu,+...+uryrq za omezení u^k+...+ury,k < i £f _ i n v1x1k+...+vmxmk - ' ' ■ ■ ■ "' Uj > 0, vy > 0, /' = 1,... m, j — 1,... r. Úlohu lze snadno linearizovat pomocí Charnes-Cooperovy transformace: z = i/iyig + ■ ■ ■ + Uz-y-q ->• maxu,„ za omezení I/1X1q+...+ vmxmQ = 1 t/iyifc + ... + i/j-y* < vixifc + ... + vmxmk, k = 1,... n, Uí>0, Vj>0, i — 1,... m, j — 1,... r. Tento model nazýváme CCR modelem orientovaným na vstupy. Množina takových indexů k e {1,... n} efektivních jednotek, pro které jsou omezující podmínky v úloze pro Uq aktivní, definuje tzv referenční množinu pro Uq. CCR model - příklad Uvažujme úlohu s dvěma vstupy a jedním výstupem, hodnoty pro 6 jednotek jsou uvedeny v tabulce: Jednotka A B C D E F x2 4 7 8 4 2 10 3 3 1 2 4 1 y 11111 1 CCR model - příklad Uvažujme úlohu s dvěma vstupy a jedním výstupem, hodnoty pro 6 jednotek jsou uvedeny v tabulce: Jednotka A B C D E F x2 4 7 8 4 2 10 3 3 1 2 4 1 y 11111 1 Linearizovaná úloha pro jednotku A bude mít podobu: z — u ->• max za omezení 4vi +3i/2 = 1, u < Avi + 3v2 (A) u < 8vi + v2 (C) u < 2vi +Av2 (E) u, ví, v2>0 u < 7vi +3v2 (B) u < AvA +2v2 (D) u < lOvi + v2 (F) CCR model - príklad Uvažujme úlohu s dvěma vstupy a jedním výstupem, hodnoty pro 6 jednotek jsou uvedeny v tabulce: Jednotka A B C D E F x2 4 7 8 4 2 10 3 3 1 2 4 1 y 11111 1 Linearizovaná úloha pro jednotku A bude mít podobu: z — u ->• max za omezení 4^1 + 3v2 — 1, u, i/i, v2 > 0 u < 4vi + 3v2 (A) u<7v^ + 3v2 (B) u < 8vi + i/2 (C) u < 4i/, + 2i/2 (D) u < 2vi +Av2 (E) u < 10\/i + v2 (F) Úlohu lze vyřešit standartními postupy lineárního programování, pro A dostaneme řešení z* = u* — 6/7, v* — i/| — 1 /7 . Jednotka A není efektivní, protože z* = 6/7 < 1, omezující nerovnice pro jednotky D, E jsou aktivní, tedy D,E jsou kandidáty na referenční jednotky pro A. CCR model - príklad Úlohy pro ostatní jednotky budou podobné, lišit se budou pouze v omezující rovnosti, pro jednotku B to bude podmínka 7v-\ + 3v2 — 1, atd. V tabulce jsou shrnuty výsledky úloh pro všechny jednotky: jednotka x2 y y* v| z* — u* referenční množina A 4 3 i 1/7 1/7 6/7 D, E B 7 3 i 1/19 4/19 12/19 C, D C 8 1 i 1/12 1/3 1 C D 4 2 i 1/6 1/6 1 D E 2 4 i 3/14 1/7 1 E F 10 1 i 0 1 1 C < □ ► <(J> ■o q. o CCR model - príklad Úlohy pro ostatní jednotky budou podobné, lišit se budou pouze v omezující rovnosti, pro jednotku B to bude podmínka 7v-\ + 3v2 — 1, atd. V tabulce jsou shrnuty výsledky úloh pro všechny jednotky: jednotka x2 y y* v| z* — u* referenční množina A 4 3 i 1/7 1/7 6/7 D, E B 7 3 i 1/19 4/19 12/19 C, D C 8 1 i 1/12 1/3 1 C D 4 2 i 1/6 1/6 1 D E 2 4 i 3/14 1/7 1 E F 10 1 i 0 1 1 C Vidíme, že jednotky C,D,E jsou efektivní. Optimální hodnota účelové funkce pro F je sice také rovna 1, ale referenční jednotkou pro F je C, protože má při stejném vstupu v2 nižší vstup v-\. V definici CCR efektivity je tedy třeba zdůraznit: jednotka je CCR efektivní, je-li její z* = 1 a existuje aspoň jedno řešení, pro něž u* > 0, v* > 0. Požadavek existence kladných vah lze zapracovat přímo do modelu, kdy v podmínkách nezápornosti proměnných změníme pravou stranu na nějaké e > 0. CCR model - duální úloha Zapišme CCR model pro jednotku Uq maticově: z = uyq -)■ maxUtV za omezení VXq = 1 UY < VX, u, v > 0. CCR model - duální úloha Zapišme CCR model pro jednotku Uq maticově: z = uyq -»■ maxu^v za omezení VXq = 1 UY < VX, u, v > 0. K úloze formulujme její duální problém, duální proměnné označíme 6 a A = (Ai,...A„)': z — 6 -> m/nejA za omezení 6>xq > XA. YA > yq, A > 0 Použití duálního modelu je výhodné z výpočetního i interpretačního hlediska. Duální CCR model - interpretace Model vlastně hledá virtuální jednotku se vstupy a výstupy XA, YA, která je lepší nebo alespoň srovnatelná s radiální projekcí hodnocené jednotky Uq efektivní hranici: 0xq > XA, YA > yq Duální CCR model - interpretace Model vlastně hledá virtuální jednotku se vstupy a výstupy XA, YA, která je lepší nebo alespoň srovnatelná s radiální projekcí hodnocené jednotky Uq na efektivní hranici: (9xq > XA, YA > yq Hodnocená jednotka Uq leží přímo na efektivní hranici, je-li totožná s nalezenou virtuální jednotkou. Nutně tedy musí být optimální hodnota účelové funkce modelu 9* (tzv. Farellova efektivita) vyjadřující potřebnou radiální redukci vstupů k dosažení efektivní hranice jednotková, 9* — 1. Při splnění této podmínky je jednotka Uq též nazvána technicky efektivní. Duální CCR model - interpretace Model vlastně hledá virtuální jednotku se vstupy a výstupy XA, YA, která je lepší nebo alespoň srovnatelná s radiální projekcí hodnocené jednotky Uq na efektivní hranici: (9xq > XA, YA > yq Hodnocená jednotka Uq leží přímo na efektivní hranici, je-li totožná s nalezenou virtuální jednotkou. Nutně tedy musí být optimální hodnota účelové funkce modelu 9* (tzv. Farellova efektivita) vyjadřující potřebnou radiální redukci vstupů k dosažení efektivní hranice jednotková, 9* — 1. Při splnění této podmínky je jednotka Uq též nazvána technicky efektivní. K dosažení CCR-efektivity však současně musí být nulové všechny přídavné proměnné převádějící omezující nerovnosti na rovnosti: s = (9xq XA = 0, s+ = YA yq = 0 . Duální CCR model - interpretace Model vlastně hledá virtuální jednotku se vstupy a výstupy XA, YA, která je lepší nebo alespoň srovnatelná s radiální projekcí hodnocené jednotky Uq na efektivní hranici: (9xq > XA, YA > yq Hodnocená jednotka Uq leží přímo na efektivní hranici, je-li totožná s nalezenou virtuální jednotkou. Nutně tedy musí být optimální hodnota účelové funkce modelu 9* (tzv. Farellova efektivita) vyjadřující potřebnou radiální redukci vstupů k dosažení efektivní hranice jednotková, 9* — 1. Při splnění této podmínky je jednotka Uq též nazvána technicky efektivní. K dosažení CCR-efektivity však současně musí být nulové všechny přídavné proměnné převádějící omezující nerovnosti na rovnosti: s = 6>xq XA = 0, s+ = YA yq = 0 . Při splnění všech těchto podmínek vyhovuje hodnocená jednotka tzv. Pareto-Koopmansově definici efektivity, tj. není možné zlepšit žádný z jejích vstupů a výstupů, aniž by současně nedošlo ke zhoršení jiného. oq.o Duální CCR model - alternativní formulace Uvažujme primární CCR model s požadavkem nenulovosti vah u, v > e > 0 a označme e = (1,..., 1 )T. Duální úlohu lze též formulovat ve tvaru z = 9 -e ■ (e • s+ + e • s-) -)• m/neAs+) s- za omezení S" = 6>xq - XA, s+ = YA-yq, A, s+, s > 0 Duální CCR model - alternativní formulace Uvažujme primární CCR model s požadavkem nenulovosti vah u, v > e > označme e = (1,..., 1 )T. Duální úlohu lze též formulovat ve tvaru z = 6 - e ■ (e • s+ + e • s") ->• minexs+t s-za omezení s- = 6>xq - XA, s+ = YA yq, A, s+, S" > 0 Optimálni hodnoty modelu dávají jednotce Uq návod pro zlepšení vstupů a výstupů na xq, yq pomocí tzv. CCR - projekce: xq = rxq-s-*,yq' = yq + s+*, nebo též xq = XA*,yq' = YA*. Pritom ty indexy j e {1,..., n}, pro něž jsou hodnoty A* kladné, určují referenční jednotky pro Uq. CCR model orientovaný na výstupy Pro jednotku Uq můžeme také formulovat CCR model orientovaný na výstupy, zapišme jej rovnou v upravené duální podobě: z = 0 + e ■ (e • s+ + e • s-) -> m/neAiS+j s-za omezení S~ = Xq - XA, s+ = YA-0yq, A, s+, s~ > 0 ■o o CCR model orientovaný na výstupy Pro jednotku Uq můžeme také formulovat CCR model orientovaný na výstupy, zapišme jej rovnou v upravené duální podobě: z = 0 + e-(e-s+ + e- s~) ->• min@tX,s+, s-za omezení S ~ = Xq XA, s+ = YA-0yq, A, s+, s~ > 0 Pokud je 0* > 1, jednotka Uq není efektivní a hodnota 0* vyjadřuje potřebnou míru proporcionálního navýšení vstupů. Opět lze analogicky definovat CCR projekci na efektivní hranici jako xq = XA*,yq' = YA*. CCR model orientovaný na výstupy Pro jednotku Uq můžeme také formulovat CCR model orientovaný na výstupy, zapišme jej rovnou v upravené duální podobě: z = 0 + e-(e-s+ + e- s~) ->• min@tX,s+, s-za omezení S ~ = Xq XA, s+ = YA-0yq, A, s+, s~ > 0 Pokud je 0* > 1, jednotka Uq není efektivní a hodnota 0* vyjadřuje potřebnou míru proporcionálního navýšení vstupů. Opět lze analogicky definovat CCR projekci na efektivní hranici jako xq = XA*,yq' = YA*. V CCR modelech platí, že míry efektivnosti jednotky Uq při orientaci na vstupy či výstupy (tj. optimální hodnoty účelových funkcí modelů) jsou vzájemně převrácenými hodnotami 9* ■ 0* = 1 BCC model orientovaný na vstupy Jako modifikaci modelu CCR, který předpokládá konstantní výnosy z rozsahu a definuje tak kónický obal dat, navrhli Banker, Charnes a Cooper model využívající variabilní výnosy z rozsahu, tzv BCC model. Při tomto přístupu jsou data obalována konvexním obalem, jako virtuální jednotky se neuvažují libovolné nezáporné kombinace XA, YA, ale pouze kombinace splňující podmínku eA = 1 . Díky této dodatečné podmínce vychází zpravidla jako efektivní větší počet hodnocených jednotek. BCC model orientovaný na vstupy Jako modifikaci modelu CCR, který předpokládá konstantní výnosy z rozsahu a definuje tak kónický obal dat, navrhli Banker, Charnes a Cooper model využívající variabilní výnosy z rozsahu, tzv BCC model. Při tomto přístupu jsou data obalována konvexním obalem, jako virtuální jednotky se neuvažují libovolné nezáporné kombinace XA, YA, ale pouze kombinace splňující podmínku eA = 1 . Díky této dodatečné podmínce vychází zpravidla jako efektivní větší počet hodnocených jednotek. Uveďme formulaci duálního BCC modelu orientovaného na vstupy: z = 6»-e-(e-s+ + e- s~) ->• minex,s+, s-za omezení s- = 6>xq - XA, s+ = YA yq, eA = 1 A, s+, s > 0 BCC model orientovaný na vstupy Jako modifikaci modelu CCR, který předpokládá konstantní výnosy z rozsahu a definuje tak kónický obal dat, navrhli Banker, Charnes a Cooper model využívající variabilní výnosy z rozsahu, tzv BCC model. Při tomto přístupu jsou data obalována konvexním obalem, jako virtuální jednotky se neuvažují libovolné nezáporné kombinace XA, YA, ale pouze kombinace splňující podmínku eA = 1 . Díky této dodatečné podmínce vychází zpravidla jako efektivní větší počet hodnocených jednotek. Uveďme formulaci duálního BCC modelu orientovaného na vstupy: z = 6>-e-(e-s+ + e- s~) ->• minex,s+, s-za omezení s- = 6>xq - XA, s+ = YA yq, eA = 1 A, s+, s > 0 Jako BCC efektivní jsou identifikovány ty jednotky, pro něž je 9* = 1,s+* = 0,s * = 0. Další DEA modely Kromě základních DEA modelů byla navržena řada jejich modifikací, mimo jiné: • aditivní, též SBM (Slack-Based Measure) model: nenutí uživatele rozlišovat mezi orientací na vstupy nebo výstupy, měří efektivnost přímo pomocí přídavných proměnných s , s+ • DEA modely s nekontrolovatelnými výstupy a vstupy • DEA modely s nežádoucími výstupy a vstupy • Modely superefektivnosti • diskrétní modely, např. FDH (Free Disposable Hull) model • pro hodnocení změn efektivnosti v čase navržený Malmquistův index Metody jsou podrobněji popsány v použité literatuře: • J. Jablonský, M. Dlouhý: Modely hodnocení produkčních jednotek, Professional Publishing, Praha 2004 • W. W. Cooper, L. M. Seiford, K. Tone: Data Envelopement Analysis, Springer, New York 2007 Použití DEA k hodnocení efektivnosti dopravních podniků Údaje z výroční zprávy Sdružení dopravních podniků za rok 2012 (http://www.sdp-cr.cz/o-nas/vyrocni-zpravy/) byly použity k hodnocení efektivnosti podniků z 19 měst. V první tabulce jsou uvedeny údaje v následujícím pořadí: • počet přepravených osob (tis. osob) • tržby (tis. Kč) • vozové kilometry (tis.) • počet zaměstnanců • z toho řidičů Druhá tabulka popisuje vozový park. město přeprav. tržby vozokm zaměst. řidičů 1. Brno 352 052 994 040 38 118 2 727 1 375 2. České Budějovice 38 091 129 059 5 673 384 187 3. Děčín 8 938 42 731 3 678 207 132 4. Hradec Králové 35 162 120 854 6 242 401 226 5. Chomutov-Jirkov 5 223 50 367 1 838 253 163 6. Jihlava 13 530 50 232 2 821 170 94 7. Karlovy Vary 13 436 65 174 2 624 260 148 8. Liberec 32 656 192 236 8 648 377 169 9. Mariánské Lázně 3 844 11 439 495 30 19 10. Most-Litvínov 27 418 110 059 4 908 471 216 11. Olomouc 52 737 143 318 5 902 432 255 12. Opava 10 750 50 476 3 046 180 115 13. Ostrava 96 389 519 873 33 773 2 008 1 026 14. Pardubice 27 178 119 280 5 721 406 189 15. Plzeň 99 154 300 097 15 102 1 030 570 16. Praha 1 383 124 4 508 422 167 760 10 595 4 207 17. Teplice 15 039 94 159 5 726 265 176 18. Ustí nad Labem 47 091 203 278 7 347 501 253 19. Zlín-Otrokovice 32 335 119 506 4 812 340 184 město autobusy tramvaje trolejbusy metro celkem 1. Brno 298 309 151 0 758 2. České Budějovice 83 0 58 0 141 3. Děčín 55 0 0 0 55 4. Hradec Králové 95 0 36 0 131 5. Chomutov-Jirkov 29 0 19 0 48 6. Jihlava 32 0 32 0 64 7. Karlovy Vary 67 0 0 0 67 8. Liberec 139 68 0 0 207 9. Mariánské Lázně 4 0 9 0 30 10. Most-Litvínov 80 57 0 0 137 11. Olomouc 77 60 0 0 137 12. Opava 34 0 34 0 68 13. Ostrava 297 273 62 0 632 14. Pardubice 73 0 55 0 128 15. Plzeň 113 122 88 0 323 16. Praha 1214 920 0 738 2872 17. Teplice 65 0 38 0 103 18. Ustí n. Labem 73 0 68 0 141 19. Zlín-Otrokovice 37 0 57 0 94 Použití DEA k hodnocení efektivnosti dopravních podniků Jako vstupy pro analýzu byly použity celkové počty zaměstnanců a celkový vozový park, jako výstupy počty přepravených osob, tržby a ujeté vozové kilometry. Byl zvolen model CCR orientovaný na vstupy, výpočty byly realizovány prostřednictvím doplňku Solver pro MS Excel a aplikace pro DEA (http://nb.vse.cz/ jabloň/) Použití DEA k hodnocení efektivnosti dopravních podniků Jako vstupy pro analýzu byly použity celkové počty zaměstnanců a celkový vozový park, jako výstupy počty přepravených osob, tržby a ujeté vozové kilometry. Byl zvolen model CCR orientovaný na vstupy, výpočty byly realizovány prostřednictvím doplňku Solver pro MS Excel a aplikace pro DEA (http://nb.vse.cz/ jabloň/) Výsledky jsou uvedeny v následující tabulce, červeně jsou vyznačeny podniky, které vyšly jako efektivní. město efektivita čísla refer. jednot. 1. Brno 0,9889 16 2. České Budějovice 0,833 8 9 16 3. Děčín 1 3 4. Hradec Králové 0,8546 8 16 17 5. Chomutov-Jirkov 0,6684 16 6. Jihlava 0,8493 8 16 17 7. Karlovy Vary 0,6592 3 16 8. Liberec 1 8 9. Mariánské Lázně 1 9 10. Most-Litvínov 0,6092 3 16 17 11. Olomouc 0,9351 16 12. Opava 0,8209 8 16 17 13. Ostrava 0,8838 3 16 17 14. Pardubice 0,7743 3 16 17 15. Plzeň 0,8426 8 16 17 16. Praha 1 16 17. Teplice 1 17 18. Ustí n. Labem 0,9465 8 16 19. Zlín-Otrokovice 0,8695 3 16 17 Matematická analýza funkcí více proměnných Předpokládejme dále, že funkce f je spojitě diferencovatelná až do řádu 2. Gradient funkce Matematická analýza funkcí více proměnných Předpokládejme dále, že funkce ř je spojitě diferencovatelná až do řádu 2. Gradient funkce Buď X c M", f ■. X ->• R funkce n proměnných. Gradientem funkce f v bodě t — (t-\,...,tn)eX nazýváme vektor w(t) = (f;(t),...,f;(t))T. Matematická analýza funkcí více proměnných Předpokládejme dále, že funkce ř je spojitě diferencovatelná až do řádu 2. Gradient funkce Buď X c Rn, f ■. X ->• R funkce n proměnných. Gradientem funkce f v bodě t — (t-\,...,tn)eX nazýváme vektor w(t) = (f;(t),...,f;(t))T. Hessova matice Hessovou maticí funkce f v bodě t = (fi,...,ř„)eX nazýváme symetrickou matici řádu n: «(t) = (^(t))rJ=i Matematická analýza funkcí více proměnných Předpokládejme dále, že funkce ř je spojitě diferencovatelná až do řádu 2. Gradient funkce Buď X c M", f ■. X ->• R funkce n proměnných. Gradientem funkce f v bodě t — (t-\,...,tn)eX nazýváme vektor vř(t) = (ř;(t),...,ř;(t))T. Hessova matice Hessovou maticí funkce f v bodě t = (fi,...,ř„)eX nazýváme symetrickou matici řádu n: «(t) = (^(t))rJ=i Příklad : Určete gradient a Hessovu matici funkce f(x,y) = x ■ y2 v bodě (5,3). Matematická analýza funkcí více proměnných Předpokládejme dále, že funkce ř je spojitě diferencovatelná až do řádu 2. Gradient funkce Buď X c M", f ■. X ->• R funkce n proměnných. Gradientem funkce f v bodě t — (t-\,...,tn)eX nazýváme vektor vř(t) = (ř;(t),...,ř;(t))T. Hessova matice Hessovou maticí funkce f v bodě t = (fi,...,ř„)eX nazýváme symetrickou matici řádu n: «(t) = (^(t))rJ=i Příklad : Určete gradient a Hessovu matici funkce f(x,y) = x ■ y2 v bodě C5.3). Řešení: Parciální derivace prvního řádu jsou: f'x{x, y) — y , fý(x, y) — 2x ■ y, tedy Vř(5,3) = (9,30)T. Matematická analýza funkcí více proměnných Předpokládejme dále, že funkce ř je spojitě diferencovatelná až do řádu 2. Gradient funkce Buď X c Rn, f ■. X ->• R funkce n proměnných. Gradientem funkce f v bodě t — (t-\,...,tn)eX nazýváme vektor vř(t) = (ř'i(t),...,ř;„(t))T. Hessova matice Hessovou maticí funkce f v bodě t = (fi,...,ř„)eX nazýváme symetrickou matici řádu n: «(t) = (^(t))rJ=i Příklad : Určete gradient a Hessovu matici funkce f(x,y) = x ■ y2 v bodě C5.3). Řešení: Parciální derivace prvního řádu jsou: f'x{x, y) — y , fý(x, y) — 2x ■ y, tedy Vř(5,3) = (9,30)T. Parciální derivace druhého řádu jsou: 0 6 \ f>>x(x, y) = 0, f>>y(x, y) = 2y, f£(x, y) = 2x, tedy «(5,3) = . g 1Q Směrové derivace Uvažujme X c Rn, funkci f: X ->• M, bod t e X a jednotkový vektor s e M". Vytvoříme funkci jedné proměnné ip(x) — f(t + x.s). Hodnotu v?'(0) nazveme derivací ř ve směru s a značíme řg(t). (pozn.: obdobně definujeme řg'(t) jako y"(0).) Směrové derivace Uvažujme X c M", funkci f: X ->• M, bod t e X a jednotkový vektor s e M". Vytvoříme funkci jedné proměnné ip(x) — f(t + x.s). Hodnotu v?'(0) nazveme derivací ř ve směru s a značíme rg(t). (pozn.: obdobně definujeme /jľ(t) jako v?"(0).) Dá se ukázat, že platí ^(t) = s-vř(t), ř;(t) = s-H(t)-sT. Směrové derivace Uvažujme X c M", funkci f: X ->• M, bod t e X a jednotkový vektor s e M". Vytvoříme funkci jedné proměnné ip(x) — f(t + x.s). Hodnotu v?'(0) nazveme derivací ř ve směru s a značíme rg(t). (pozn.: obdobně definujeme /jľ(t) jako v?"(0).) Dá se ukázat, že platí &t) = s-w(t), ř;(t) = s-H(t)-sT. Příklad : Určete první a druhou derivaci funkce f(x, y) — x ■ y2 ve směru Směrové derivace Uvažujme X c M", funkci f: X ->• M, bod t e X a jednotkový vektor s e M". Vytvoříme funkci jedné proměnné ip(x) — f(t + x.s). Hodnotu v?'(0) nazveme derivací ř ve směru s a značíme rg(t). (pozn.: obdobně definujeme /jľ(t) jako v?"(0).) Dá se ukázat, že platí &t) = s-w(t), ř;(t) = s-H(t)-sT. Příklad : Určete první a druhou derivaci funkce f(x, y) — x ■ y2 ve směru s = (72' V2)■ /2 toH» fív i/A — y2+2xy Řešení: Víme, že Vr(x,y) = (y2, 2xy)T, tedy f's{x,y) = Směrové derivace Uvažujme X c M", funkci f: X ->• M, bod t e X a jednotkový vektor s e M". Vytvoříme funkci jedné proměnné ip(x) — f(t + x.s). Hodnotu v?'(0) nazveme derivací ř ve směru s a značíme rg(t). (pozn.: obdobně definujeme /jľ(t) jako v?"(0).) Dá se ukázat, že platí &t) = s-w(t), ř;(t) = s-H(t)-sT. Příklad : Určete první a druhou derivaci funkce f(x, y) — x ■ y2 ve směru _ y2+2xy Řešení: Víme, že Vr(x,y) = (y2, 2xy)T, tedy f's{x,y) = Hessova matice je: H(x,y) — ^ ^ ^ ^.tedy řs'(x,y) = 5 • (0 + 2y + 2y + 2x) = 2y + x. Grafické znázornění funkce dvou proměnných V třírozměrném prostoru si můžeme graf funkce dvou proměnných představit jako zemský povrch. Pro znázornění povrchu ve 2D se používají většinou vrstevnice funkce. oq.o Grafické znázornění funkce dvou proměnných Grafické znázornění funkce dvou proměnných Vrstevnicí funkce f{x,y) "o nadmořské výšce c"rozumíme množinu všech bodů (x, y) e M2 takových, že platí f(x,y) = c. Například pro výše uvedenou funkci f{x,y) určíme nultou vrstevnici jako množinu všech řešení rovnice o dvou neznámých e/+y2 — 0. Zřejmě musí být x = 0, ale y je libovolné, tedy dostaneme množinu {(0,y), y e M}. Grafické znázornění gradientů funkce dvou proměnných Gradient Vr(x,y) většinou znázorňujeme jako vektor vycházející z bodu (x, y) do bodu (x + fx(x,y), y + fý(x,y)). Na obrázku vidíme gradienty funkce f{x>y) — ~37~2" v bodech pravidelné sítě. Gradienty a vrstevnice Znázorníme-li gradienty funkce do stejného obrázku s vrstevnicemi, můžeme si všimnout, že se jeví jako normálové vektory vrstevnic. Dá se ukázat, že libovolná funkce f v zadaném bodě x nejprudčeji roste ve směru gradientu V7(x) a nejstrměji klesá ve směru -V7(x). 1.5- -1.5- oq.o Konvexní množina Množinu McK" nazveme konvexní, jestliže pro každé dva její body A, B jsou všechny body úsečky AB také prvky množiny M. Tuto vlastnost můžeme analyticky vyjádřit symbolickým zápisem: A, B e M => VA e (0,1) : \A + (1 - X)B e M Konvexní množina Množinu M c M" nazveme konvexní, jestliže pro každé dva její body A, B jsou všechny body úsečky AB také prvky množiny M. Tuto vlastnost můžeme analyticky vyjádřit symbolickým zápisem: A, B e M =^ VA e (0,1) : XA + (1 - X)B e M Na obrázku je znázorněn příklad konvexní a nekonvexní množiny. Poznámka: Průnik dvou konvexních množin je opět konvexní množinou (toto tvrzení lze tedy zřejmě rozšířit pro průnik více konvexních množin). Konvexní funkce Funkci f definovanou na konvexní množině McM" nazveme konvexní M, jestliže pro každé dva body A, B e M platí: VA e (0,1) : f(XA + (1 - X)B) < Xf(A) + (1 - A)ř(B). Konvexní funkce Funkci f definovanou na konvexní množině McK" nazveme konvexní na M, jestliže pro každé dva body A, B e M platí: VA e (0,1) : f(\A + (1 - X)B) < Xf(A) + (1 - X)f(B). Pokud je pro všechna A ^ B a A e (0,1) tato nerovnost ostrá, je funkce f na množině M ostře konvexní. Geometrický význam: "Spojnice každých dvou bodů grafu leží nad grafem." Konvexní funkce Funkci f definovanou na konvexní množině McK" nazveme konvexní na M, jestliže pro každé dva body A, B e M platí: VA e (0,1) : f(\A + (1 - X)B) < Xf(A) + (1 - X)f(B). Pokud je pro všechna A ^ B a A e (0,1) tato nerovnost ostrá, je funkce f na množině M ostře konvexní. Geometrický význam: "Spojnice každých dvou bodů grafu leží nad grafem."Na obrázku je znázorněn příklad funkce f(x, y) — x2 + y2, která je konvexní v M2. oq.o Konvexní funkce Příklady konvexních funkcí v Rn: • Pro libovolný vektor c e Rn je lineární funkce r(x) = cT-x konvexní na Rn (není ale ostře konvexní). • Euklidovská metrika ||x|| = yS/Li xf Je konvexní na R". Príklady konvexních funkcí v Rn: a Pro libovolný vektor c e M" je lineární funkce r(x) = cT-x konvexní na Rn (není ale ostře konvexní). Pro konvexní funkce platí řada tvrzení: • Jsou-li ř(x) a g(x) konvexní funkce, pak jejich součet ř(x) + g(x) je též konvexní (totéž platí i pro součin ř(x) • g(x) v případě nezápornosti funkcí). • Pro konvexní funkci f(x) na Rn a libovolnou konstantu c platí: Množina X={xeB": f(x) < c} je konvexní. • Protože průnik konvexních množin je konvexní množinou, zřejmě je i přípustná množina lineárních úloh X — {x e Rn : A • x < b} pro libovolnou matici A a vektor pravých stran b konvexní množinou. Říkáme, že X je konvexní polyedr. • Euklidovská metrika ||x| Hessova matice konvexní funkce Funkci f nazveme konvexní v bodě t, jestliže existuje okolí tohoto bodu, na kterém je konvexní. U funkce jedné proměnné lze konvexitu rozpoznat podle znaménka druhé derivace. Hessova matice konvexní funkce Funkci f nazveme konvexní v bodě t, jestliže existuje okolí tohoto bodu, na kterém je konvexní. U funkce jedné proměnné lze konvexitu rozpoznat podle znaménka druhé derivace. Zobecněním této úvahy pro funkci více proměnných dostaneme tvrzení: Dvakrát diferencovatelná funkce ř je konvexní v bodě t právě když pro každý směr s platí: rg'(t) > 0 (při platnosti ostré nerovnosti dostaneme ostrou konvexitu). Hessova matice konvexní funkce Funkci f nazveme konvexní v bodě t, jestliže existuje okolí tohoto bodu, na kterém je konvexní. U funkce jedné proměnné lze konvexitu rozpoznat podle znaménka druhé derivace. Zobecněním této úvahy pro funkci více proměnných dostaneme tvrzení: Dvakrát diferencovatelná funkce ř je konvexní v bodě t právě když pro každý směr s platí: rg'(t) > 0 (při platnosti ostré nerovnosti dostaneme ostrou konvexitu). Tedy Hessova matice H(t) má následující vlastnost: VseK": = s • H(t) • sT > 0 V lineární algebře se takové matice nazývají pozitivně semidefinitní (pokud je nerovnost pro každé nenulové s ostrá, pak je matice pozitivně definitní). Hessova matice konvexní funkce Funkci f nazveme konvexní v bodě t, jestliže existuje okolí tohoto bodu, na kterém je konvexní. U funkce jedné proměnné lze konvexitu rozpoznat podle znaménka druhé derivace. Zobecněním této úvahy pro funkci více proměnných dostaneme tvrzení: Dvakrát diferencovatelná funkce ř je konvexní v bodě t právě když pro každý směr s platí: rg'(t) > 0 (při platnosti ostré nerovnosti dostaneme ostrou konvexitu). Tedy Hessova matice H(t) má následující vlastnost: VseK": = s • H(t) • sT > 0 V lineární algebře se takové matice nazývají pozitivně semidefinitní (pokud je nerovnost pro každé nenulové s ostrá, pak je matice pozitivně definitní). Příklad : Je funkce f(x, y,z) — x2 + z ■ y2 konvexní v bodě [1,1,1]? Hessova matice konvexní funkce Funkci f nazveme konvexní v bodě t, jestliže existuje okolí tohoto bodu, na kterém je konvexní. U funkce jedné proměnné lze konvexitu rozpoznat podle znaménka druhé derivace. Zobecněním této úvahy pro funkci více proměnných dostaneme tvrzení: Dvakrát diferencovatelná funkce ř je konvexní v bodě t právě když pro každý směr s platí: rg'(t) > 0 (při platnosti ostré nerovnosti dostaneme ostrou konvexitu). Tedy Hessova matice H(t) má následující vlastnost: VseK": = s • H(t) • sT > 0 V lineární algebře se takové matice nazývají pozitivně semidefinitní (pokud je nerovnost pro každé nenulové s ostrá, pak je matice pozitivně definitní). Příklad : Je funkce f(x, y,z) — x2 + z ■ y2 konvexní v bodě [1,1,1]? Řešení: Spočítáme Hessovu matici: Hessova matice konvexní funkce Funkci f nazveme konvexní v bodě t, jestliže existuje okolí tohoto bodu, na kterém je konvexní. U funkce jedné proměnné lze konvexitu rozpoznat podle znaménka druhé derivace. Zobecněním této úvahy pro funkci více proměnných dostaneme tvrzení: Dvakrát diferencovatelná funkce ř je konvexní v bodě t právě když pro každý směr s platí: rg'(t) > 0 (při platnosti ostré nerovnosti dostaneme ostrou konvexitu). Tedy Hessova matice H(t) má následující vlastnost: VseK": = s • H(t) • sT > 0 V lineární algebře se takové matice nazývají pozitivně semidefinitní (pokud je nerovnost pro každé nenulové s ostrá, pak je matice pozitivně definitní). Příklad : Je funkce f(x, y,z) — x2 + z ■ y2 konvexní v bodě [1,1,1]? / 2 0 0 \ Řešení: Spočítáme Hessovu matici: A7(1,1,1) =[ 0 2 2 .například \ 0 2 0 J pro vektor s = (-1, -1,2) platí s • A7(1,1,1) • sT = -4 < 0. Funkce není v bodě [1,1,1] konvexní. Lokální extrémy Řekneme, že funkce f: Rn ->• R má v bodě a e Df ■. O lokální maximum, když existuje jeho 5-okolí Ug(a) c Df takové, že Vx e Us{a) platí ř(x) < ř(a) O lokální minimum, když existuje jeho 5-okolí Ug(a) c Dř takové, že Vx e t7Ä(a) platí f (x) > f {a) Lokální extrémy Řekneme, že funkce f: Rn ->• R má v bodě a e Df ■. O lokální maximum, když existuje jeho 5-okolí Ug(a) c Df takové, že Vx e Us{a) platí ř(x) < ř(a) O lokální minimum, když existuje jeho 5-okolí Ug(a) c Dř takové, že Vx e t7Ä(a) platí f (x) > f {a) Poznámka: jsou-li nerovnosti splněny na ryzím okolí Us(ä) \ {a} ostře, pak extrémy nazýváme ostré. Poznámka: Funkce f může mít lokální extrémy pouze ve stacionárních bodech (tedy bodech s nulovým gradientem), nebo v bodech, v nichž neexistuje aspoň jedna parciální derivace prvního řádu. Lokální extrémy Řekneme, že funkce f: Rn ->• R má v bodě a e Df ■. O lokální maximum, když existuje jeho 5-okolí U$(a) c Df takové, že Vx e Us{á) platí ř(x) < f (a) O lokální minimum, když existuje jeho 5-okolí Ug(a) c Df takové, že Vx e Us{a) platí ř(x) > ř(a) Poznámka: jsou-li nerovnosti splněny na ryzím okolí Us(á) \ {a} ostře, pak extrémy nazýváme ostré. Poznámka: Funkce f může mít lokální extrémy pouze ve stacionárních bodech (tedy bodech s nulovým gradientem), nebo v bodech, v nichž neexistuje aspoň jedna parciální derivace prvního řádu. Příklad: Funkce f{x,y) — \Jx2 + y2 má minimum v bodě [0,0], kde neexistují parciální derivace. Lokální extrémy Řekneme, že funkce f: Rn ->• R má v bodě a e Df ■. O lokální maximum, když existuje jeho 5-okolí U$(a) c Df takové, že Vx e Us{a) platí ř(x) < f (a) O lokální minimum, když existuje jeho 5-okolí Ug(a) c Df takové, že Vx e Us{a) platí ř(x) > ř(a) Poznámka: jsou-li nerovnosti splněny na ryzím okolí Us(á) \ {a} ostře, pak extrémy nazýváme ostré. Poznámka: Funkce f může mít lokální extrémy pouze ve stacionárních bodech (tedy bodech s nulovým gradientem), nebo v bodech, v nichž neexistuje aspoň jedna parciální derivace prvního řádu. Příklad: Funkce f{x,y) — x2 + y2 má minimum ve stacionárním bodě [0,0]. Lokální extrémy Řekneme, že funkce f: Rn ->• R má v bodě a e Df ■. O lokální maximum, když existuje jeho 5-okolí U$(a) c Df takové, že Vx e Us{a) platí ř(x) < f (a) O lokální minimum, když existuje jeho 5-okolí Ug(a) c Df takové, že Vx e Us{a) platí ř(x) > ř(a) Poznámka: jsou-li nerovnosti splněny na ryzím okolí Us(á) \ {a} ostře, pak extrémy nazýváme ostré. Poznámka: Funkce f může mít lokální extrémy pouze ve stacionárních bodech (tedy bodech s nulovým gradientem), nebo v bodech, v nichž neexistuje aspoň jedna parciální derivace prvního řádu. Příklad: Funkce f{x,y) — x2 - y2 má stacionární bod [0,0], kde není extrém, jedná se o sedlový bod. Lokální extrémy Při rozhodování o tom, zda ve stacionárním bodě nastává lokální extrém, se řídíme pomocí Hessovy matice. Zřejmě je-li ve svém stacionárním bodě funkce f ostře konvexní, tj. má-li zde pozitivně definitní Hessovu matici, pak zde nabývá svého lokálního minima. Pozitivně definitní matici lze rozpoznat podle toho, že má všechny hlavní minory, tj. determinanty vycházející z levého horního rohu, kladné. oq.o Lokální extrémy Při rozhodování o tom, zda ve stacionárním bodě nastává lokální extrém, se řídíme pomocí Hessovy matice. Zřejmě je-li ve svém stacionárním bodě funkce f ostře konvexní, tj. má-li zde pozitivně definitní Hessovu matici, pak zde nabývá svého lokálního minima. Pozitivně definitní matici lze rozpoznat podle toho, že má všechny hlavní minory, tj. determinanty vycházející z levého horního rohu, kladné. Podmínky pro existenci extrému shrnuje Sylvestrovo kritérium Buď f: Rn ->• R a a e Df její stacionární bod. Označme Dk(a), k = 1,..., n determinant submatice vytvořené z prvních k řádků a sloupců Hessovy matice H(a). Pak O Jestliže (a) > 0, D2(a) > 0,..., D„(a) > 0, má f v a lok. minimum. O Jestliže (a) < 0, D2(a) > 0,..., (-1 )"Dn(a) > 0, má f v a lok. maximum. O Jestliže jsou všechny minory Dk(a), k = 1,..., n nenulové a přitom neplatí žádná z předchozích možností, pak v bodě a není extrém. Lokální extrémy Při rozhodování o tom, zda ve stacionárním bodě nastává lokální extrém, se řídíme pomocí Hessovy matice. Zřejmě je-li ve svém stacionárním bodě funkce f ostře konvexní, tj. má-li zde pozitivně definitní Hessovu matici, pak zde nabývá svého lokálního minima. Pozitivně definitní matici lze rozpoznat podle toho, že má všechny hlavní minory, tj. determinanty vycházející z levého horního rohu, kladné. Podmínky pro existenci extrému shrnuje Sylvestrovo kritérium Buď f: Rn ->• R a a e Df její stacionární bod. Označme Dk(a), k = 1,..., n determinant submatice vytvořené z prvních k řádků a sloupců Hessovy matice H(a). Pak O Jestliže (a) > 0, D2(a) > 0,..., Dn(a) > 0, má f v a lok. minimum. O Jestliže Di (a) < 0, D2(a) > 0,..., (-1 )"Dn(a) > 0, má f v a lok. maximum. O Jestliže jsou všechny minory Dk(a), k = 1,..., n nenulové a přitom neplatí žádná z předchozích možností, pak v bodě a není extrém. Příklad: Hessova matice funkce f(x, y) — x2 + y2 ve stacionárním bodě [0,0] Lokální extrémy Při rozhodování o tom, zda ve stacionárním bodě nastává lokální extrém, se řídíme pomocí Hessovy matice. Zřejmě je-li ve svém stacionárním bodě funkce f ostře konvexní, tj. má-li zde pozitivně definitní Hessovu matici, pak zde nabývá svého lokálního minima. Pozitivně definitní matici lze rozpoznat podle toho, že má všechny hlavní minory, tj. determinanty vycházející z levého horního rohu, kladné. Podmínky pro existenci extrému shrnuje Sylvestrovo kritérium Buď f: Rn ->• R a a e Df její stacionární bod. Označme Dk(a), k = 1,..., n determinant submatice vytvořené z prvních k řádků a sloupců Hessovy matice H(a). Pak O Jestliže (a) > 0, D2(a) > 0,..., Dn(a) > 0, má f v a lok. minimum. O Jestliže Di (a) < 0, D2(a) > 0,..., (-1 )"Dn(a) > 0, má f v a lok. maximum. O Jestliže jsou všechny minory Dk(a), k = 1,..., n nenulové a přitom neplatí žádná z předchozích možností, pak v bodě a není extrém. Příklad: Hessova matice funkce f(x, y) — x2 - y2 ve stacionárním bodě [0,0] je: H{0,0) = ^ ^ ° ) ■ JeJ' hlavní min°ry jsou (0,0) = 2, D2(0,0) = -4, tedy je indefinitní a v bodě [0,0] není extrém. Lokální extrémy - příklad Analytické řešení úlohy hledání volných extrémů funkce fvR" tedy spočívá v nalezení stacionárních bodů (resp. bodů, kde neexistuje gradient) a vyšetření definitnosti Hessovy matice v těchto bodech. Při hledání stacionárních bodů řešíme soustavu n rovnic o n neznámých. Lokální extrémy - příklad Analytické řešení úlohy hledání volných extrémů funkce fvR" tedy spočívá v nalezení stacionárních bodů (resp. bodů, kde neexistuje gradient) a vyšetření definitnosti Hessovy matice v těchto bodech. Při hledání stacionárních bodů řešíme soustavu n rovnic o n neznámých. Příklad : Nalezněte extrémy funkce f(x, y) — x2y + y2x - xy. oq.o Lokální extrémy - příklad Analytické řešení úlohy hledání volných extrémů funkce fvR" tedy spočívá v nalezení stacionárních bodů (resp. bodů, kde neexistuje gradient) a vyšetření definitnosti Hessovy matice v těchto bodech. Při hledání stacionárních bodů řešíme soustavu n rovnic o n neznámých. Příklad : Nalezněte extrémy funkce f(x, y) — x2y + y2x - xy. Řešení: První derivace jsou f'x — 2xy + y2 - y, fý — x2 + 2xy - x. Položíme-li obě parciální derivace současně nule, má soustava následující řešení: x — y — 0; x — 0, y — 1; x — 1, y = 0; x = 1 /3, y — 1 /3, což dává čtyři stacionární body dané funkce. Lokální extrémy - příklad Analytické řešení úlohy hledání volných extrémů funkce fvR" tedy spočívá v nalezení stacionárních bodů (resp. bodů, kde neexistuje gradient) a vyšetření definitnosti Hessovy matice v těchto bodech. Při hledání stacionárních bodů řešíme soustavu n rovnic o n neznámých. Příklad : Nalezněte extrémy funkce f(x, y) — x2y + y2x - xy. Řešení: První derivace jsou f'x — 2xy + y2 - y, fý — x2 + 2xy - x. Položíme-li obě parciální derivace současně nule, má soustava následující řešení: x — y — 0; x — 0, y — 1; x — 1, y = 0; x = 1 /3, y — 1 /3, což dává čtyři stacionární body dané funkce. Hodnoty Hessovy matice ve stacionárních bodech jsou postupně 1-1(0,0) = ^ ^ ^ ^,A7(0,1)=^ ^ 0^)' W(1,0) = ^ ° ] ^, «(1 /3,1/3)=^ J/3 ) ■ Pouze P°slední matice je pozitivně definitní, funkce má jen jedno lokální minimum, a to v bodě [1/3,1/3]. Globální extrémy Řekneme, že funkce f dosahuje na množině X v bodě a e X svého O globálního maxima jestliže Vx e X platí ř(x) < f (a) O globálního minima jestliže Vx e X platí ř(x) > f (a) Poznámka: Místo pojmu globální též používáme pojem absolutní. Opět definujeme ostré extrémy, jestliže nerovnosti jsou ostré pro Vx ^ a. oq.o Globální extrémy Řekneme, že funkce f dosahuje na množině X v bodě a e X svého O globálního maxima jestliže Vx e X platí ř(x) < f (a) O globálního minima jestliže Vx e X platí ř(x) > f (a) Poznámka: Místo pojmu globální též používáme pojem absolutní. Opět definujeme ostré extrémy, jestliže nerovnosti jsou ostré pro Vx ^ a. Weierstrassova věta: Je-li XcR" ohraničená, uzavřená množina a f: Rn ->• R spojitá funkce na X, pak má f na X globální extrémy, a to buď v bodech lokálních extrémů nebo na hranici množiny X. Globální extrémy Řekneme, že funkce f dosahuje na množině X v bodě a e X svého O globálního maxima jestliže Vx e X platí ř(x) < f (a) O globálního minima jestliže Vx e X platí ř(x) > f (a) Poznámka: Místo pojmu globální též používáme pojem absolutní. Opět definujeme ostré extrémy, jestliže nerovnosti jsou ostré pro Vx ^ a. Weierstrassova věta: Je-li XcR" ohraničená, uzavřená množina a f: Rn ->• R spojitá funkce na X, pak má f na X globální extrémy, a to buď v bodech lokálních extrémů nebo na hranici množiny X. Poznámka: Není-li množina X uzavřená nebo ohraničená, pak globální extrémy nemusí existovat. Pokud extrémy existují, jsou jejich hodnoty určeny jednoznačně. Funkce však může nabývat těchto hodnot obecně ve více bodech. Hranici množiny lze většinou popsat pomocí rovnic. Vyšetřování hranice je úlohou s omezením. oq.o Globální extrémy - příklad Určete globální extrémy funkce f(xy) = (x - 1 )2 + (y - l)2 na obdélníku, který je určen body A = [0; 0]; B = [2; 0]; C = [2; 1]; D = [0; 1]. Globální extrémy - příklad Určete globální extrémy funkce f(xy) = (x - 1 )2 + (y - l)2 na obdélníku, který je určen body A = [0; 0]; B = [2; 0]; C = [2; 1]; D = [0; 1]. Řešení: Nalezneme lokální extrémy funkce ř. Spočteme parciální derivace f'x — 2x - 2 a f ý — 2y - 1 a nalezneme stacionární bod s — [1, \\. Matice druhých derivací je rovna H(s) — ^ ^ ^ ^ ■ Hlavní minory této matice jsou kladné a proto v bodě s nastává lokální minimum funkce f. Globální extrémy - příklad Určete globální extrémy funkce f(xy) = (x - 1 )2 + (y - l)2 na obdélníku, který je určen body A = [0; 0]; B = [2; 0]; C = [2; 1]; D = [0; 1]. Řešení: Nalezneme lokální extrémy funkce ř. Spočteme parciální derivace f'x — 2x - 2 a f ý — 2y - 1 a nalezneme stacionární bod s — [1, \\. Matice kladné a proto v bodě s nastává lokální minimum funkce f. Hranice zadané množiny je tvořena čtyřmi úsečkami AB, BC, CD a DA. Je tedy třeba řešit čtyři optimalizační úlohy s funkcí f a postupně s podmínkami y, : y = 0, V2 : X = 2, V3 : y = 1 a V4 : X = 0. Pozor! Při této formulaci je zapotřebí zvlášť vyšetřit body A, B, C, D, protože nehledáme extrémy na celých hraničních přímkách, ale pouze na příslušných úsečkách. Globální extrémy - příklad Úlohy optimalizace f za podmínky V-„ kde /' = 1,2,3,4 převedeme ekvivalentní úlohy nalezení lokálních extrémů funkcí F, kde F,(x) = r(x,0) = (x-1)2 + J, F2(y) = ř(2,y) = (y-|)2 + 1, F3(x) = r(x,1) = (x-1)2 + 1, F4(y) = ř(0,y) = (y-|)2 + 1. Globální extrémy - příklad Úlohy optimalizace f za podmínky Vh kde i — 1,2,3,4 převedeme na ekvivalentní úlohy nalezení lokálních extrémů funkcí F-„ kde F1(x) = ř(x,0) = (x-1)2 + 1, F2(y) = ř(2,y) = (y-1)2 + 1, F3(x) = ř(x,1) = (x-1)2 + 1, /r4(y) = ř(0,y) = (y-|)2 + l. Snadno se zjistí, že jednotlivé úlohy mají minimum v bodech postupně: a= [1,0], Ď= [2, \], c = [1,1] a d = [0, ±]. Hodnoty funkce řve všech podezřelých bodech shrneme v tabulce: X s A B C D a b c d f(x) 0 b 4 b 4 b 4 b 4 1 4 1 1 4 1 Je zřejmé, že nejmenší hodnoty dosahuje funkce v bodě s = [1, |] a největší v bodech A, B, C, D. ■o q. o Úloha nelineárního programování (NLP) Úlohu hledání extrémů funkce n proměnných f(x) na množině M vymezené podmínkami 01 (x) < {resp. =,resp. >)0 g2{x) < {resp. =, resp. >)0 gm{x) < {resp. =, resp. >)0, kde alespoň jedna z funkcí f, g-\,..., gn je nelineární, nazveme úlohou nelineárního programování (NLP). Úloha nelineárního programování (NLP) Úlohu hledání extrémů funkce n proměnných f(x) na množině M vymezené podmínkami 01 (x) < {resp. =,resp. >)0 g2{x) < {resp. =, resp. >)0 gm{*) < {resp. =, resp. >)0, kde alespoň jedna z funkcí f, g-\,..., gn je nelineární, nazveme úlohou nelineárního programování (NLP). Je-li m — 0, tj. nejsou přítomna žádná omezení, hledáme tedy extrémy funkce f na celém Rn a hovoříme o volných extrémech. V případě, kdy jsou na proměnné uvalena omezení, tj. m > 0 nebo když je definiční obor funkce f limitován na nějakou podmnožinu X c M", hovoříme o vázaných extrémech. Úloha nelineárního programování (NLP) Úlohu hledání extrémů funkce n proměnných f(x) na množině M vymezené podmínkami 01 (x) < {resp. =,resp. >)0 g2{x) < {resp. =, resp. >)0 gm{x) < {resp. =, resp. >)0, kde alespoň jedna z funkcí f, g-\,..., gn je nelineární, nazveme úlohou nelineárního programování (NLP). Je-li m — 0, tj. nejsou přítomna žádná omezení, hledáme tedy extrémy funkce f na celém Rn a hovoříme o volných extrémech. V případě, kdy jsou na proměnné uvalena omezení, tj. m > 0 nebo když je definiční obor funkce f limitován na nějakou podmnožinu X c M", hovoříme o vázaných extrémech. Poznámka: U úloh NLP nemusí existovat žádné řešení nebo naopak může existovat více extrémů, z nichž některé jsou pouze lokální. Optimum nemusí ležet pouze na hranici přípustné množiny! Úloha nelineárního programování (NLP) - příklad Uvažujme úlohu optimalizace funkce f(x, y) — x3 - 3x + y3 - 3y na množině M vymezené nerovnostmi x > 0, y > 0,2x + 2y < 5. Problém si můžeme znázornit graficky. Modře je vyznačena přípustná množina, vrstevnice jsou odstupňovány od nejnižší červené po nejvyšší žlutou. Zřejmě má funkce f na množině M minimum v bodě [1,1] a maximum v bodech [0;2,5] a [2,5;0]. Optimalizační úloha s omezením ve formě rovností Uvažujme úlohu na vázaný extrém f(x) ->• min , na množině M vymezené soustavou m rovnic g,(x) = 0, /' — 1,... m. Jsou - li funkce f i g,, i — 1,..., m spojité diferencované a jsou - li gradienty omezení Vg, lineárně nezávislé vektory (tj. žádné omezení není nadbytečné), pak pro bod optima x* existují jednoznačné hodnoty A-i, ..., Am, takové, že: Vř(x*) + E^Li A/-Vg/(x*) = 0. Čísla A-i, ..., Am se nazývají Lagrangeovy multiplikátory a umožňují převedení optimalizační úlohy na řešení systému rovnic. Optimalizační úloha s omezením ve formě rovností Uvažujme úlohu na vázaný extrém f(x) ->• min , na množině M vymezené soustavou m rovnic g,(x) = 0, /' — 1,... m. Jsou - li funkce f i g,, i — 1,..., m spojité diferencované a jsou - li gradienty omezení Vg, lineárně nezávislé vektory (tj. žádné omezení není nadbytečné), pak pro bod optima x* existují jednoznačné hodnoty A-i, ..., Am, takové, že: Vř(x*) + E^Li A/-Vg/(x*) = 0. Čísla Ai, ..., Am se nazývají Lagrangeovy multiplikátory a umožňují převedení optimalizační úlohy na řešení systému rovnic. Jaký je formální postup? Vytvoří se tzv. Lagrangeova funkce Z.(x,A) = r(x) + £?li A;-flf;(x) a sestaví se podmínky pro její stacionární body, tzv. podmínky 1. řádu: VxZ.(x,A) = 0, VAZ.(x,A) = 0 Jde o systém n + m rovnic pro n + m neznámých (posledních m rovnic vyjadřuje vlastně vazební podmínky). Jestliže má tento systém řešení (x*, A*) a jsou-li f i M konvexní, pak je bod x* globálním minimem funkce f na množině M. Optimalizační úloha s omezením ve formě rovností Ukažme si metodu Lagrangeových multiplikátorů na následující úloze: Najděte patu kolmice spuštěné z bodu [5,1,2] na rovinu 2x + 3y + z = 6. Optimalizační úloha s omezením ve formě rovností Ukažme si metodu Lagrangeových multiplikátorů na následující úloze: Najděte patu kolmice spuštěné z bodu [5,1,2] na rovinu 2x + 3y + z = 6. Řešení: Hledáme tedy bod [x, y, z] ležící v zadané rovině, pro nějž je vzdálenost od bodu [5,1,2] minimální. Místo minimalizace funkce f(x, y, z) — i/(x - 5)2 + (y - 1 )2 + (z - 2)2 můžeme pro zjednodušení výpočtu minimalizovat její druhou mocninu. Abychom mohli použít Lagrangeův multiplikátor, je třeba rovnici omezení anulovat: 2x + 3y + z-6 = 0. Optimalizační úloha s omezením ve formě rovností Ukažme si metodu Lagrangeových multiplikátorů na následující úloze: Najděte patu kolmice spuštěné z bodu [5,1,2] na rovinu 2x + 3y + z = 6. Řešení: Hledáme tedy bod [x, y, z] ležící v zadané rovině, pro nějž je vzdálenost od bodu [5,1,2] minimální. Místo minimalizace funkce f(x, y, z) — i/(x - 5)2 + (y - 1 )2 + (z - 2)2 můžeme pro zjednodušení výpočtu minimalizovat její druhou mocninu. Abychom mohli použít Lagrangeův multiplikátor, je třeba rovnici omezení anulovat: 2x + 3y + z-6 = 0. Sestavme Lagrangeovu funkci úlohy: L(x, y, z, A) = (x - 5)2 + (y - 1 )2 + (z - 2)2 + A(2x + 3y + z - 6) a určeme její parciální derivace: Lx{x,y,z,X) = 2{x-5) + 2X, Ly(x,y,z,X) = 2(y-l) + 3X, Lz(x,y,z,X) = 2(z-2) + X, Lx{x,y,z,X) = 2x + 3y + z-6. Optimalizační úloha s omezením ve formě rovností Ukažme si metodu Lagrangeových multiplikátorů na následující úloze: Najděte patu kolmice spuštěné z bodu [5,1,2] na rovinu 2x + 3y + z = 6. Řešení: Hledáme tedy bod [x, y, z] ležící v zadané rovině, pro nějž je vzdálenost od bodu [5,1,2] minimální. Místo minimalizace funkce f(x, y, z) — i/(x - 5)2 + (y - 1 )2 + (z - 2)2 můžeme pro zjednodušení výpočtu minimalizovat její druhou mocninu. Abychom mohli použít Lagrangeův multiplikátor, je třeba rovnici omezení anulovat: 2x + 3y + z-6 = 0. Sestavme Lagrangeovu funkci úlohy: L(x, y, z, A) = (x - 5)2 + (y - 1 )2 + (z - 2)2 + A(2x + 3y + z - 6) a určeme její parciální derivace: Lx{x,y,z,X) = 2{x-5) + 2X, Ly(x,y,z,\) = 2(y-l) + 3\, Lz(x,y,z,X) = 2(z-2) + X, Lx{x,y,z,\) = 2x + 3y + z-6. Položíme parciální rovnice rovny nule a dostaneme lineární systém, jehož vyřešením získáme bod optima [ff, ]f ]. Protože minimalizovaná funkce i přípustná množina jsou konvexní, nalezli jsme bod minima. Ekonomická interpretace Příklad z M. W. Klein: Mathematical Methods for Economics: Uvažujme úlohu hledání optima spotřebitele, který má 6 dolarů, které chce utratit za oběd v samoobslužné restauraci, kde se polévka i hlavní chod platí na váhu, přičemž cena za 1 unci polévky je $0,25 a za 1 unci hlavního chodu je $0,5. Označíme-li S a V zakoupené množství obou chodů (v uncích), pak rozpočtové omezení můžeme zapsat jako 6 = f + \. Hledáme takovou kombinaci jídel splňující tuto podmínku, která maximalizuje užitkovou funkci U(S, 1/) = *fl + Ekonomická interpretace Příklad z M. W. Klein: Mathematical Methods for Economics: Uvažujme úlohu hledání optima spotřebitele, který má 6 dolarů, které chce utratit za oběd v samoobslužné restauraci, kde se polévka i hlavní chod platí na váhu, přičemž cena za 1 unci polévky je $0,25 a za 1 unci hlavního chodu je $0,5. Označíme-li S a V zakoupené množství obou chodů (v uncích), pak rozpočtové omezení můžeme zapsat jako 6 = f + \. Hledáme takovou kombinaci jídel splňující tuto podmínku, která maximalizuje užitkovou funkci U(S, 1/) = *fl + Řešení: Zavedeme Lagrangeovu funkci L(S, V, A) = ^ + - A(f + I - 6). Podmínky prvního řádu jsou: LS(S, V,\) = lg-$ = 0 LV(S, V,\) = &-$ = 0 LX(S, V,\) = | + |-6 = 0 Ekonomická interpretace Příklad z M. W. Klein: Mathematical Methods for Economics: Uvažujme úlohu hledání optima spotřebitele, který má 6 dolarů, které chce utratit za oběd v samoobslužné restauraci, kde se polévka i hlavní chod platí na váhu, přičemž cena za 1 unci polévky je $0,25 a za 1 unci hlavního chodu je $0,5. Označíme-li S a V zakoupené množství obou chodů (v uncích), pak rozpočtové omezení můžeme zapsat jako 6 = f + \. Hledáme takovou kombinaci jídel splňující tuto podmínku, která maximalizuje užitkovou funkci U(S, y) = *fi + Řešení: Zavedeme Lagrangeovu funkci L(S, V, A) = ^ + - A(f + I - 6). Podmínky prvního řádu jsou: LS(S, V,\) = lg-$ = 0 LV(S, V,\) = &-$ = 0 LX(S, V,\) = | + |-6 = 0 Z prvních dvou rovnic lze vyjádřit, že A — ■§ — neboli S — 2 V. Spolu s poslední podmínkou dostaneme řešení S* — 12, V* — 6 uncí, A* — g, což dává užitek Í7(12,6) = 2,14. Ekonomická interpretace Znázorněme si uvažovanou úlohu graficky, st 24 12 6 12 V Sklon rozpočtové linie je dán vztahem dán poměrem cen: Ekonomická interpretace Znázorněme si uvažovanou úlohu graficky, st 24 12 6 12 V Sklon rozpočtové linie je dán vztahem dán poměrem cen: ^ = 2. Sklon indiferenční křivky je dán poměrem mezních užitků (mezní míra substituce): § = Ekonomická interpretace Znázorněme si uvažovanou úlohu graficky, st 24 12 6 12 V Sklon rozpočtové linie je dán vztahem dán poměrem cen: ^ = 2. Sklon indiferenční křivky je dán poměrem mezních užitků (mezní míra substituce): § =. Spočteme mezní užitky Us(S, V) = UV(S, V) = jg, jejich podíl je — §. Protože v bodě optima (S*, V*) je sklon rozpočtové linie a indiferenční křivky shodný, platí: 2 = neboli £1 — J£l (rovnováha spotřebitele). oq.o Ekonomická interpretace Získáme-li dodatečný dolar, budeme-li tedy chtít utratit $7, u nového optimálního řešení bude zachován poměr spotřebovaných jídel: S* — 14, V* — 7 a hodnota Lagrangeova multiplikátoru poklesne na j. Získaný užitek bude 1/(14,7) = 2,29. Přírůstek užitku je tedy AU = Í7(14,7) - Í7(12,6) = 2,29 - 2,14 = 0,15 = (±) ■ 1. Zřejmě jeden dodatečný dolar vyvolal (^-násobný přírůstek užitku, což je něco mezi | a g. Můžeme říct, že optimální hodnota Lagrangeova multiplikátoru vyjadřuje mezní užitek peněz určených k útratě. Ekonomická interpretace Získáme-li dodatečný dolar, budeme-li tedy chtít utratit $7, u nového optimálního řešení bude zachován poměr spotřebovaných jídel: S* — 14, V* — 7 a hodnota Lagrangeova multiplikátoru poklesne na j. Získaný užitek bude 1/(14,7) = 2,29. Přírůstek užitku je tedy AU = Í7(14,7) - Í7(12,6) = 2,29 - 2,14 = 0,15 = (±) ■ 1. Zřejmě jeden dodatečný dolar vyvolal (^-násobný přírůstek užitku, což je něco mezi | a g. Můžeme říct, že optimální hodnota Lagrangeova multiplikátoru vyjadřuje mezní užitek peněz určených k útratě. Tento vztah lze ukázat, vyjádříme-li si optimální množství jídel při rozpočtovém omezení B: S* — 26, l/* = 8aA* = g. Optimální užitek při rozpočtu B je po úpravě: f(B) = U(2B, B) — jln(2) + ln(B). Derivováním podle B získáme jeho mezní užitek f'(B) — g, což je rovno A*. Ekonomická interpretace Získáme-li dodatečný dolar, budeme-li tedy chtít utratit $7, u nového optimálního řešení bude zachován poměr spotřebovaných jídel: S* — 14, V* — 7 a hodnota Lagrangeova multiplikátoru poklesne na j. Získaný užitek bude L/(14,7) = 2,29. Přírůstek užitku je tedy AU = Í7(14,7) - Í7(12,6) = 2,29 - 2,14 = 0,15 = C^) • 1. Zřejmě jeden dodatečný dolar vyvolal (^-násobný přírůstek užitku, což je něco mezi | a g. Můžeme říct, že optimální hodnota Lagrangeova multiplikátoru vyjadřuje mezní užitek peněz určených k útratě. Tento vztah lze ukázat, vyjádříme-li si optimální množství jídel při rozpočtovém omezení B: S* — 26, l/* = 8aA* = g. Optimální užitek při rozpočtu B je po úpravě: f(B) = U(2B, B) — jln(2) + ln(B). Derivováním podle B získáme jeho mezní užitek f'(B) — g, což je rovno A*. Podobně v úlohách optimalizace výrobního programu, budou Lagrangeovy multiplikátory u omezení pro jednotlivé vstupy vyjadřovat mezní užitek při zvýšení jejich kapacity. Tedy jsou rovny ceně, kterou je výrobce ochoten za dodatečnou jednotku vstupu zaplatit, proto se pro ně používá název stínové ceny. Lagrangeova funkce - postačující podmínky pro optimum Pro odvození podmínek 2. řádu uvažujme kvadratickou funkci Q(x,y) — ax2 + 2bxy + cy2, kterou lze též zapsat maticově jako Q(x,y) — (x,y) • ^ ^ c ) ( y )' Přepokládejme, že hledáme optimu této funkce na množině dané lineární rovnicí Ax + By — 0. Lagrangeova funkce - postačující podmínky pro optimum Pro odvození podmínek 2. řádu uvažujme kvadratickou funkci Q(x,y) — ax2 + 2bxy + cy2, kterou lze též zapsat maticově jako Q{x,y) — ix,y) • ^ ^ c ) ( y )' Přepokládejme, že hledáme optimum této funkce na množině dané lineární rovnicí Ax + By — 0. Vyjádříme-li y = -|x a dosadíme-li do Q, dostaneme f(x) = Q(x, -|x) = ax2 + 2bx(-%x) + c(-|x)2 = -£[2bAB - aB2 - cA2}. Výraz uvnitř hranaté závorky lze také zapsat jako determinant matice / 0 A B \ H — \ A a b , což je vlastně Hessova matice Lagrangeovy funkce \B b c ) L(X,x,y) — \(Ax + By) + Q(x,y). Pokud je det(H) záporný, je funkce f(x) konvexní, což je postačující podmínka pro existenci minima ve stacionárním bodě (a je-li kladný, je f(x) konkávni - podmínka pro maximum). Lagrangeova funkce - postačující podmínky pro optimum Zobecníme-li odvození z předchozího slajdu pro funkci dvou proměnných f(x,y) optimalizovanou na množině dané rovnicí g(x, y) — c , dostaneme podmínky 2. řádu: Označme H(X,x,y) Hessovu matici Lagrangeovy funkce L(X, x, y) — X(g(x, y) - c) + f(x, y). Pak je-li ve stacionárním bodě determinant det(H(X,x,y)) • kladný, je stacionární bod bodem maxima • záporný, je stacionární bod bodem minima Lagrangeova funkce - postačující podmínky pro optimum Zobecníme-li odvození z předchozího slajdu pro funkci dvou proměnných f(x,y) optimalizovanou na množině dané rovnicí g(x, y) — c , dostaneme podmínky 2. řádu: Označme H(X,x,y) Hessovu matici Lagrangeovy funkce L(X, x, y) — X(g(x, y) - c) + f(x, y). Pak je-li ve stacionárním bodě determinant det(H(X,x,y)) • kladný, je stacionární bod bodem maxima • záporný, je stacionární bod bodem minima Příklad: Pro úlohu zákazníka restaurace má Lagrangeova funkce L(X, S, V) = ^ + ^ + A(f + | - 6) Hessovu matici /O i 2 \ ^= \ ^232 0 ■ Její determinant je c/eř(/-/(A, S, \/)) = + , V 2 0 — 2Í72" / což je kladné číslo pro jakékoliv S, V, takže ve stacionárním bodě nastává maximum. Lagrangeova funkce - postačující podmínky pro optimum Zobecněme podmínky 2. řádu dále pro funkci n proměnných f(x-\,xn) optimalizovanou na množině dané soustavou rovnic ,..., x„) = c„ / = 1,.. . ,m : Označme A7(Ai,..., Am, x-i,..., x„) Hessovu matici Lagrangeovy funkce Z_(Ai,..., Am, x-i,..., x„), pak pro její hodnotu v případném stacionárním bodě platí: O má - li determinant A7(Ai,..., Am, *i, ■ ■ ■, x„) znaménko (-1)" a všech n — m jejích největších hlavních minorů střídá znaménka, pak ve stacionárním bodě nastává maximum. O má - li všech n - m největších hlavních minorů včetně determinantu A7(Ai,..., Am, x-i,..., x„) znaménko (-1 )m, pak ve stacionárním bodě nastává minimum. O Je-li n— m největších hlavních minorů nenulových a přitom neplatí ani jedna z výše uvedených podmínek, pak ve stacionárním bodě není extrém. Lagrangeova funkce - postačující podmínky pro optimum, příklad Uvažujme modifikaci úlohy zákazníka restaurace, kdy je možné konzumovat ještě džus v ceně 1 dolar za 12 uncí, přitom novou funkci užitku vyjádříme jako U{S, V, J) = g/n(S) + g/n( V) + ±/n(J) a rozpočet zůstává $6. Lagrangeova funkce - postačující podmínky pro optimum, příklad Uvažujme modifikaci úlohy zákazníka restaurace, kdy je možné konzumovat ještě džus v ceně 1 dolar za 12 uncí, přitom novou funkci užitku vyjádříme jako U{S, V, J) = g/n(S) + g/n( V) + ±/n(J) a rozpočet zůstává $6. Lagrangeova funkce úlohy bude L(X, S, V, J) = lln(S) + l/n( V) + \ln(J) + A(| + f + ^ - 6). Z podmínek prvního řádu pro proměnné odvodíme S = 2V, J = 6Vapo dosazení do rozpočtového omezení vyjde S* — 8, V* — 4 a J* — 24 uncí. Lagrangeova funkce - postačující podmínky pro optimum, příklad Uvažujme modifikaci úlohy zákazníka restaurace, kdy je možné konzumovat ještě džus v ceně 1 dolar za 12 uncí, přitom novou funkci užitku vyjádříme jako U{S, V, J) = g/n(S) + g/n( V) + ±/n(J) a rozpočet zůstává $6. Lagrangeova funkce úlohy bude L(X, S, V, J) = lln(S) + l/n( V) + \ln(J) + A(| + f + -fa - 6). Z podmínek prvního řádu pro proměnné odvodíme S = 2V, J = 6Vapo dosazení do rozpočtového omezení vyjde S* — 8, V* — 4 a J* — 24 uncí. Hessova matice Lagrangeovy funkce je: H(X, S, V, J) — 0 0 1__i_ 4 3s2 1 0 -gl, 0 V T2 o o -«W 12 " 3j2 Podmínka druhého řádu pro případ n = 3, m = 1 nabývá podoby: "je-li znaménko det(H) rovno (-1 )3 a znaménko druhého hlavního minoru -(-1 )3, pak ve stacionárním bodě nastává maximum" Pro naši funkci je det(H) = -(i29iW + hW + 3okř )■ což Je záP°rné v každém bodě a přitom determinant 2.hlavního minoru je + což je kladné v každém bodě, takže ve stacionárním bodě nastává maximum. g Lagrangeova funkce - postačující podmínky pro optimum, příklad Uvažujme další modifikaci, kdy kromě rozpočtového omezení uvažujeme ještě podmínku na celkový objem tekutin S + J — 24. Lagrangeova funkce - postačující podmínky pro optimum, příklad Uvažujme další modifikaci, kdy kromě rozpočtového omezení uvažujeme ještě podmínku na celkový objem tekutin S + J — 24. Lagrangeova funkce úlohy bude L(X, /i, S, V, J) = l/n(S) + \ln{ V) + l/n(J) + A(| + | + ^- 6) + /i(S+J-24). Z podmínek prvního řádu pro proměnné odvodíme V = 3(^s^ a po dosazení do soustavy omezení vyjde S* — 8, V* = ^ a J* — 16 uncí. Lagrangeova funkce - postačující podmínky pro optimum, příklad Uvažujme další modifikaci, kdy kromě rozpočtového omezení uvažujeme ještě podmínku na celkový objem tekutin S + J — 24. Lagrangeova funkce úlohy bude g/n(S) + g/n( V j -r 3"'V«; -t'H 4 t -g ~r jg SJ L{\, n, S, V, J) = ±/n(S) + \ln{ V) + \ln{J) + A(§ +1 + ^ - 6) + M(S+J-24). Z podmínek prvního řádu pro proměnné odvodíme V — 3(j_S) a po dosazení do soustavy omezení vyjde S* — 8, V* = ^ a J* — 16 uncí. Hessova matice Lagrangeovy funkce je: H(X, n, S, V, J) / 0 0 1 \ ± \ 0 0 1 0 1 1 i 4 o o 3 ° ° -ak ° V T2 1 0 0 -«W 12 " 3J2 Podmínka druhého řádu pro případ n = 3, m = 2 nabývá podoby: "je-li znaménko det(H) rovno (-1)3 , pak ve stacionárním bodě nastává maximum a je-li jeho znaménko rovno (-1 )2, pak se jedná o minimum."Lze vypočítat, že pro naši funkci je det(H) = -(ygW + tsV + iMW)■ coz Je záporné v každém bodě, takže ve stacionárním bodě nastává maximum. Optimalizační úloha s omezením ve formě nerovností -motivační příklad Uvažujme jednoduchou optimalizační úlohu f (x, y) — x2 - 2x + 2y2 - y + 3 ->• min za podmínky x + y < 1. Můžeme problém převést na úlohu s omezením ve tvaru rovností? Optimalizační úloha s omezením ve formě nerovností -motivační příklad Uvažujme jednoduchou optimalizační úlohu f (x, y) — x2 - 2x + 2y2 - y + 3 ->• min za podmínky x + y < 1. Můžeme problém převést na úlohu s omezením ve tvaru rovností? Přidáme na levou stranu omezující podmínky doplňkovou proměnnou: Optimalizační úloha s omezením ve formě nerovností -motivační příklad Uvažujme jednoduchou optimalizační úlohu f (x, y) — x2 - 2x + 2y2 - y + 3 ->• min za podmínky x + y < 1. Můžeme problém převést na úlohu s omezením ve tvaru rovností? Přidáme na levou stranu omezující podmínky doplňkovou proměnnou: x + y + w2 — 1 a vytvoříme Lagrangeovu funkci L(x, y, w, A) = x2 - 2x + y2 - 2y + 3 + A • (x + y + w2 - 1) Optimalizační úloha s omezením ve formě nerovností -motivační příklad Uvažujme jednoduchou optimalizační úlohu f (x, y) — x2 - 2x + 2y2 - y + 3 ->• min za podmínky x + y < 1. Můžeme problém převést na úlohu s omezením ve tvaru rovností? Přidáme na levou stranu omezující podmínky doplňkovou proměnnou: x + y + w2 — 1 a vytvoříme Lagrangeovu funkci L(x, y, w, A) = x2 - 2x + y2 - 2y + 3 + A • (x + y + w2 - 1) Kromě podmínek 2x-2 + A = 0, 2y-2 + A = 0ax + y+w2-1 = 0 dostaneme derivováním podle w ještě 2wX — 0. Je zřejmé, že možnost A — 0 nedává žádné řešení, protože z prvních dvou rovnic dostaneme x = 1, y = 1 a pak třetí podmínka nemá řešení pro w. Musí tedy být w — 0, tedy x + y = 1, pak sečtením prvních dvou rovnic 2(x + y) - 4 + 2A = 0, takže A = 2 - (x + y) = 1 ax = y=1 - | = 5. Optimalizační úloha s omezením ve formě nerovností -motivační příklad Uvažujme jednoduchou optimalizační úlohu f (x, y) — x2 - 2x + 2y2 - y + 3 ->• min za podmínky x + y < 1. Můžeme problém převést na úlohu s omezením ve tvaru rovností? Přidáme na levou stranu omezující podmínky doplňkovou proměnnou: x + y + w2 — 1 a vytvoříme Lagrangeovu funkci L(x, y, w, A) = x2 - 2x + y2 - 2y + 3 + A • (x + y + w2 - 1) Kromě podmínek 2x - 2 + A = 0, 2y-2 + A = 0ax + y+w2-1 = 0 dostaneme derivováním podle w ještě 2wX — 0. Je zřejmé, že možnost A — 0 nedává žádné řešení, protože z prvních dvou rovnic dostaneme x = 1, y = 1 a pak třetí podmínka nemá řešení pro w. Musí tedy být w — 0, tedy x + y = 1, pak sečtením prvních dvou rovnic 2(x + Y) - 4 + 2A = 0, takže A = 2 - (x + y) = 1 ax = y=1 - | = 5. Rovnice 2w\ — 0 říká, že extrém leží buď na hranici (w — 0) nebo ve stacionárním bodě (A — 0). Kdybychom zvětšili omezující konstantu o 5, dostaneme x + y < 1 + 5. Je-li omezení aktivní (tj. w — 0), musí být 5 < 1 a tedy zřejmě A = 2 — (x + y) = 1 — 5 > 0. Shrňme podmínky pro obecnou úlohu. 1 -oq.o Optimalizační úloha s omezením ve formě nerovností Uvažujme úlohu na vázaný extrém f(x) ->• min , na množině M vymezené soustavou m nerovnic g,(x) < c,, /' — 1,... m. Formální postup je obdobný případu s omezujícími rovnostmi: vytvoří se opět Lagrangeova funkce Z_(x, A) — ř(x) + YliLi A/ ■ (flvM - c/) a sestaví se podmínky 1. řádu: Optimalizační úloha s omezením ve formě nerovností Uvažujme úlohu na vázaný extrém f(x) ->• min , na množině M vymezené soustavou m nerovnic g,(x) < c,, /' — 1,... m. Formální postup je obdobný případu s omezujícími rovnostmi: vytvoří se opět Lagrangeova funkce Z_(x, A) — ř(x) + A,- • (^/(x) - c,) a sestaví se podmínky 1. řádu: VxZ_(x, A) — 0, (stacionarita) Optimalizační úloha s omezením ve formě nerovností Uvažujme úlohu na vázaný extrém f(x) ->• min , na množině M vymezené soustavou m nerovnic g,(x) < c,, /' — 1,... m. Formální postup je obdobný případu s omezujícími rovnostmi: vytvoří se opět Lagrangeova funkce Z_(x, A) — ř(x) + E/li ^/ ■ (9i(x) - cd a sestaví se podmínky 1. řádu: VxZ_(x, A) — 0, (stacionarita) 9i(x) < Cj, i = 1,... m (primární přípustnost) Optimalizační úloha s omezením ve formě nerovností Uvažujme úlohu na vázaný extrém f(x) ->• min , na množině M vymezené soustavou m nerovnic g,(x) < c,, /' — 1,... m. Formální postup je obdobný případu s omezujícími rovnostmi: vytvoří se opět Lagrangeova funkce Z_(x, A) — ř(x) + YliLi ^/ ■ (9i(x) - cd a sestaví se podmínky 1. řádu: VxZ_(x, A) — 0, (stacionarita) 9i(x) < Cj, i = 1,... m (primární přípustnost) A/ > 0, /' — 1,... m (duální přípustnost) Optimalizační úloha s omezením ve formě nerovností Uvažujme úlohu na vázaný extrém f(x) ->• min , na množině M vymezené soustavou m nerovnic g,(x) < c,, /' — 1,... m. Formální postup je obdobný případu s omezujícími rovnostmi: vytvoří se opět Lagrangeova funkce Z_(x, A) — ř(x) + YliLi A/ ■ (í7/(x) - c/) a sestaví se podmínky 1. řádu: VxZ_(x, A) — 0, (stacionarita) ^/(x) < c,-, /' = 1,... m (primární přípustnost) A/ > 0, /' = 1,... m (duální přípustnost) A/ • (c7/(x) - c) — 0, /' = 1,... m (komplementarita) Optimalizační úloha s omezením ve formě nerovností Uvažujme úlohu na vázaný extrém f(x) ->• min , na množině M vymezené soustavou m nerovnic g,(x) < c,, /' — 1,... m. Formální postup je obdobný případu s omezujícími rovnostmi: vytvoří se opět Lagrangeova funkce Z_(x, A) — ř(x) + A,- • (í7/(x) - c,) a sestaví se podmínky 1. řádu: VxZ_(x, A) — 0, (stacionarita) 9i(x) < Cj, i = 1,... m (primární přípustnost) A/ > 0, /' — 1,... m (duální přípustnost) A/ • (c7/(x) - d) — 0, /' — 1,... m (komplementarita) Tyto vztahy se nazývají Kuhn-Tuckerovy podmínky úlohy. Za určitých předpokladů regularity (nezávislost gradientů omezení) se jedná o nutné podmínky pro to, aby v bodě x* měla úloha lokální minimum. V tomto kontextu se též používá označení Karush-Kuhn-Tuckerovy podmínky, zkráceně KKT-podmínky. Optimalizační úloha s omezením ve formě nerovností Interpretace KKT podmínek vychází z ekonomického významu Lagrangeových multiplikátorů. • Stacionarita a primární přípustnost jsou přirozené požadavky na optimalitu řešení úlohy s omezením. Optimalizační úloha s omezením ve formě nerovností Interpretace KKT podmínek vychází z ekonomického významu Lagrangeových multiplikátorů. • Stacionarita a primární přípustnost jsou přirozené požadavky na optimalitu řešení úlohy s omezením. • Z čeho plyne požadavek duální přípustnosti? Jestliže Lagrangeův multiplikátor A,- reprezentuje mezní užitek při uvolnění /' - tého omezení, pak nerovnost A, > 0 znamená, že optimální hodnota účelové funkce se nemůže uvolněním tohoto omezení zhoršit. Optimalizační úloha s omezením ve formě nerovností Interpretace KKT podmínek vychází z ekonomického významu Lagrangeových multiplikátorů. a Stacionarita a primární přípustnost jsou přirozené požadavky na optimalitu řešení úlohy s omezením. • Z čeho plyne požadavek duální přípustnosti? Jestliže Lagrangeův multiplikátor A,- reprezentuje mezní užitek při uvolnění /' - tého omezení, pak nerovnost A, > 0 znamená, že optimální hodnota účelové funkce se nemůže uvolněním tohoto omezení zhoršit. • Poslední požadavek komplementarity lze rozepsat jako: A, — 0 nebo g,(x) = c, (případně mohou platit obě rovnosti) To znamená, že je-li příslušné omezení v bodě optima neaktivní (tj. není splněné jako rovnost), pak jeho multiplikátor musí být nulový, jinak by šla hodnota účelové funkce zlepšit uvolněním omezení. U aktivních omezení může být obecně i kladná hodnota multiplikátoru. Optimalizační úloha s omezením ve formě nerovností -příklad Najděte minimum funkce f(x,y) = x - ^ + y2 na "půlelipse"vymezené nerovnostmi y + y2 < §, y > 0. Optimalizační úloha s omezením ve formě nerovností -příklad Najděte minimum funkce f(x, y) — x - ^ + y2 na "půlelipse"vymezené nerovnostmi ^ +72 < §, y > 0. Řešení: druhé omezení přepíšeme do tvaru -y < 0 a vytvoříme Lagrangeovu funkci z. = x- 4 + y2 + A(4+y2-|)+ K-y) Optimalizační úloha s omezením ve formě nerovností -příklad Najděte minimum funkce f(x, y) — x - ^ + y2 na "půlelipse"vymezené nerovnostmi ^ +72 < §, y > 0. Řešení: druhé omezení přepíšeme do tvaru -y < 0 a vytvoříme Lagrangeovu funkci z. = x- 4 + y2 + A(4+y2-|)+ K-y) Zapišme KKT podmínky pro minimum: L'X = J\ - x + Xx = 0, L'y = 2y + 2Ay - n (stacionarita) 4+y2-|' y>0 (primární přípustnost) A > 0, (i > 0 (duální přípustnost) AÍ^+y2-|) =0, ^y = 0 (komplementarita) Optimalizační úloha s omezením ve formě nerovností -příklad Najděte minimum funkce f(x, y) — x - ^ + y2 na "půlelipse"vymezené nerovnostmi ^ +72 < §, y > 0. Řešení: druhé omezení přepíšeme do tvaru -y < 0 a vytvoříme Lagrangeovu funkci z. = x- 4 + y2 + A(4+y2-|)+ K-y) Zapišme KKT podmínky pro minimum: L'X = J\ - x + Xx = 0, L'y = 2y + 2Ay - n (stacionarita) 4+y2-|' y>0 (primární přípustnost) A > 0, (i > 0 (duální přípustnost) A + y2 - — 0, /zy — 0 (komplementarita) Výpočet provedeme zvlášť pro všechny kombinace (ne)nulovosti multiplikátorů A a /z: X — (i — 0, pak z podmínek stacionarity dostaneme x = 1, y = 0, účelová funkce zde má hodnotu ř(1,0) = g. Optimalizační úloha s omezením ve formě nerovností -příklad Najděte minimum funkce f(x, y) — x - ^ + y2 na "půlelipse"vymezené nerovnostmi ^ +72 < §, y > 0. Řešení: druhé omezení přepíšeme do tvaru -y < 0 a vytvoříme Lagrangeovu funkci z. = x- 4 + y2 + A(4+y2-|)+ K-y) Zapišme KKT podmínky pro minimum: L'X = J\ - x + Xx = 0, L'y = 2y + 2Ay - n (stacionarita) 4+y2-|' y>0 (primární přípustnost) A > 0, (i > 0 (duální přípustnost) ^ (t + y2 _ l) = 0, /zy = 0 (komplementarita) Výpočet provedeme zvlášť pro všechny kombinace (ne)nulovosti multiplikátorů A a /z: A = 0, (i > 0, pak opět stacionarita dává x = 1 a z podmínek komplementarity musí být y = 0. Dostali jsme opět bod [1,0]. Optimalizační úloha s omezením ve formě nerovností -příklad Najděte minimum funkce f(x, y) — x - ^ + y2 na "půlelipse"vymezené nerovnostmi ^ +72 < §, y > 0. Řešení: druhé omezení přepíšeme do tvaru -y < 0 a vytvoříme Lagrangeovu funkci z. = x- 4 + y2 + A(4+y2-|)+ K-y) Zapišme KKT podmínky pro minimum: L'X = J\ - x + Xx = 0, L'y = 2y + 2Ay - n (stacionarita) 4+y2-|' y>0 (primární přípustnost) A > 0, (i > 0 (duální přípustnost) A (t + y2 ~ l) = 0, ^y = 0 (komplementarita) Výpočet provedeme zvlášť pro všechny kombinace (ne)nulovosti multiplikátorů \ a fť. A > 0, (i — 0, pak z podmínek stacionarity dostaneme 2y(1 + A) — 0, tedy buď y = 0 nebo A = -1, což nelze. Druhé souřadnice dopočítáme ze vztahu *ž + O2 = |, získáme tedy body [-§, 0], [§, 0], hodnoty A jsou |, resp. \. Optimalizační úloha s omezením ve formě nerovností -příklad Najděte minimum funkce f(x, y) — x - ^ + y2 na "půlelipse"vymezené nerovnostmi ^ +72 < §, y > 0. Řešení: druhé omezení přepíšeme do tvaru -y < 0 a vytvoříme Lagrangeovu funkci z. = x- 4 + y2 + A(4+y2-|)+ K-y) Zapišme KKT podmínky pro minimum: L'X = J\ - x + Xx = 0, L'y = 2y + 2Ay - n (stacionarita) 4+y2-|' 7>0 (primární přípustnost) A > 0, (i > 0 (duální přípustnost) ^ (t + y2 _ l) = 0, ^y = 0 (komplementarita) Výpočet provedeme zvlášť pro všechny kombinace (ne)nulovosti multiplikátorů X a fť. X > 0, (i > 0 nedává žádný nový bod, protože kvůli komplementaritě je y = 0 a současně ^ + y2 = |, což se shoduje s předchozím případem. Optimalizační úloha s omezením ve formě nerovností -příklad Najděte minimum funkce f(x, y) — x - ^ + y2 na "půlelipse"vymezené nerovnostmi ^ +72 < §, y > 0. Řešení: druhé omezení přepíšeme do tvaru -y < 0 a vytvoříme Lagrangeovu funkci z. = x- 4 + y2 + A(4+y2-|)+ K-y) Zapišme KKT podmínky pro minimum: L'X = J\ - x + Xx = 0, L'y = 2y + 2Ay - n (stacionarita) 4+y2-|' y>0 (primární přípustnost) A > 0, (i > 0 (duální přípustnost) A (t + y2 ~~ l) = 0, ^y = 0 (komplementarita) Výpočet provedeme zvlášť pro všechny kombinace (ne)nulovosti multiplikátorů X a fť. Porovnáním hodnot ve všech podezřelých bodech f(1,0) = 5, f{-\,0) = 0) = | zjistíme, že minimum nastává v bodě [-1.0] Optimalizační úloha s omezením ve formě nerovností -příklad Znázorněme si vrstevnice funkce f{x,y) — x - ^ + y2 a přípustnou množinu vymezenou nerovnostmi ^ +72 < §, y > 0, minimum nastává v bodě [-§, 0], maximum v bodě [|, 1]. Konvexní programování Úlohu ř(x) ->• min na přípustné množině M vymezené soustavou m nerovnic í7/(x) < Cj, i = 1,.. .m nazveme úlohou konvexního programování, jestliže účelová funkce ř(x) i levé strany omezení g,-(x), /' — 1,..., m jsou konvexní funkce. Konvexní programování Úlohu ř(x) ->• min na přípustné množině M vymezené soustavou m nerovnic í7/(x) < Cj, i = 1,.. .m nazveme úlohou konvexního programování, jestliže účelová funkce ř(x) i levé strany omezení g,-(x), /' — 1,..., m jsou konvexní funkce. Věta: Pro úlohu konvexního programování za předpokladu regularity platí: Vyhovuje-li bod x* KKT podmínkám, pak je bodem minima funkce ř(x) na M. V případě konvexního programování je tedy splnění KKT vztahů postačující podmínkou pro existenci minima. oq.o Konvexní programování Úlohu f(x) ->• min na přípustné množině M vymezené soustavou m nerovnic í7/(x) < Cj, i = 1,.. .m nazveme úlohou konvexního programování, jestliže účelová funkce f(x) i levé strany omezení g,(x), /' = 1,..., m jsou konvexní funkce. Věta: Pro úlohu konvexního programování za předpokladu regularity platí: Vyhovuje-li bod x* KKT podmínkám, pak je bodem minima funkce f(x) na M. V případě konvexního programování je tedy splnění KKT vztahů postačující podmínkou pro existenci minima. Poznámka: Uvažujeme-li v dané úloze konvexního programování při vymezení přípustné množiny M také obligátní podmínky nezápornosti x > 0, pak lze KKT podmínky přeformulovat následovně: Funkce f(x) nabývá svého minima na M v bodě x* > 0 právě tehdy když existuje vektor A* > 0, takový že: L(x,X*) > L(x*,X*) > L(x*,X) pravšechny nezáporné vektory x, A. Toto tvrzení se nazývá Kuhn-Tuckerova věta o sedlovém bodě. Konvexní programování Poznámka: Vlastnosti sedlového bodu: Je-li (x*, A*) > 0 sedlovým bodem Lagrangeovy funkce na M, pak pro její gradienty zde platí: VxZ.(x*,A*) > 0 VxZ.(x*,A*). x = 0 VAZ.(x*,A*) < 0 VAZ.(x*,A*).-A = 0, kde symbolem "."rozumíme násobení vektorů po složkách. Konvexní programování Poznámka: Vlastnosti sedlového bodu: Je-li (x*, A*) > 0 sedlovým bodem Lagrangeovy funkce na M, pak pro její gradienty zde platí: VxZ.(x*,A*) > 0 VxZ.(x*,A*). x = 0 VAZ.(x*,A*) < 0 VAZ.(x*,A*).-A = 0, kde symbolem "."rozumíme násobení vektorů po složkách. Funkce Z_(x, A) nabývá na M v bodě (x*, A*) svého minima vzhledem k x a maxima vzhledem k A. První dvě podmínky jsou zřejmě zobecněním požadavku stacionarity (VxZ_(x*, A*) = 0) pro případ s obligátními podmínkami x > 0. Konvexní programování Poznámka: Vlastnosti sedlového bodu: Je-li (x*, A*) > 0 sedlovým bodem Lagrangeovy funkce na M, pak pro její gradienty zde platí: VxZ.(x*,A*) > 0 VxZ.(x*,A*). x = 0 VAZ.(x*,A*) < 0 VAZ.(x*,A*).-A = 0, kde symbolem "."rozumíme násobení vektorů po složkách. Funkce Z_(x, A) nabývá na M v bodě (x*, A*) svého minima vzhledem k x a maxima vzhledem k A. První dvě podmínky jsou zřejmě zobecněním požadavku stacionarity (VxZ_(x*, A*) = 0) pro případ s obligátními podmínkami x > 0. Povšimněme si ještě, že VAZ_(x*, A*) — (g/(x) - c,-)/=i poslední dva vztahy vyjadřují tedy podmínky přípustnosti a komplementarity vzhledem k omezujícím podmínkám. Konvexní programování Poznámka: Vlastnosti sedlového bodu: Je-li (x*, A*) > 0 sedlovým bodem Lagrangeovy funkce na M, pak pro její gradienty zde platí: VxZ.(x*,A*) > 0 VxZ.(x*,A*). x = 0 VAZ.(x*,A*) < 0 VAZ.(x*,A*).-A = 0, kde symbolem "."rozumíme násobení vektorů po složkách. Funkce Z_(x, A) nabývá na M v bodě (x*, A*) svého minima vzhledem k x a maxima vzhledem k A. První dvě podmínky jsou zřejmě zobecněním požadavku stacionarity (VxZ_(x*, A*) = 0) pro případ s obligátními podmínkami x > 0. Povšimněme si ještě, že VAZ-(x*, A*) — (g/(x) - c/)/=i,...,m poslední dva vztahy vyjadřují tedy podmínky přípustnosti a komplementarity vzhledem k omezujícím podmínkám. Poznámka: Pro maximalizační úlohy se sestaví Lagrangeova funkce ve tvaru Z_(x, A) — ř(x) - E/li A/ • (í7/(x) - d) a v podmínkách pro sedlový bod se uvažují opačné nerovnosti. Konvexní programování - příklad Poznámka: Lineární problém cT x ->• max, A x < b, x > 0 je vlastně speciálním případem konvexního programování. Přepíšeme-li si účelovou funkci jako -cT • x ->• min, budou podmínky pro sedlový bod (x, A) > 0 Lagrangeovy funkce následující: -cT + AT • A > 0 (—cT + AT • A). • x = 0 A x b < 0 (A x b). A = 0 Konvexní programování - příklad Poznámka: Lineární problém cT x ->• max, A x < b, x > 0 je vlastně speciálním případem konvexního programování. Přepíšeme-li si účelovou funkci jako -cT • x ->• min, budou podmínky pro sedlový bod (x, A) > 0 Lagrangeovy funkce následující: -cT + AT • A > 0 (—cT + AT • A). • x = 0 A x b < 0 (A-x-b).-A = 0 S těmito tvrzeními jsme se již setkali dříve, vyjadřují dualitu v úlohách LP. Optimální A je řešením tzv duální úlohy bT • A ->• min, AT • A < c, A > 0, protože dosazením vztahu (-cT + AT • A) • x = 0 do Lagrangeovy funkce dostaneme tvar L(x, A) = -cT - x + AT-A-x-AT-b = -AT • b. Konvexní programování - příklad Poznámka: Lineární problém cT x ->• max, A x < b, x > 0 je vlastně speciálním případem konvexního programování. Přepíšeme-li si účelovou funkci jako -cT • x ->• min, budou podmínky pro sedlový bod (x, A) > 0 Lagrangeovy funkce následující: -cT + AT • A > 0 (—cT + AT • A). • x = 0 A x b < 0 (A-x-b).-A = 0 S těmito tvrzeními jsme se již setkali dříve, vyjadřují dualitu v úlohách LP. Optimální A je řešením tzv duální úlohy bT • A ->• min, AT • A < c, A > 0, protože dosazením vztahu (-cT + AT • A) • x = 0 do Lagrangeovy funkce dostaneme tvar Z_(x, A) — -cT -x + AT-A-x-AT-b = -AT • b. Řešení primární i duální úlohy jsou totožná. Při velkém počtu omezení (m >> rí) může být duální úloha mnohem jednodušší, proto se v praxi často při řešení primární úlohy používá tzv. duální algoritmus. Kvadratické programování Problém minimalizace funkce ř(x) = ^xT C x + d x na množině M = {xe R", x > 0. A x < b} nazveme úlohou kvadratického programování. Kvadratické programování Problém minimalizace funkce f (x) — ±xT C x + d x na množině M = {xeR", x > 0, A x < b} nazveme úlohou kvadratického programování. Jedná o úlohu konvexního programování? Přípustná množina M je jistě konvexní, stačí ověřit konvexitu účelové funkce. Hessova matice účelové funkce je H(x) = C, je-li tedy tato matice pozitivně definitní, jedná se o konvexní problém. Kvadratické programování Problém minimalizace funkce f (x) — ±xT C x + d x na množině M = {xeR", x > 0, A x < b} nazveme úlohou kvadratického programování. Jedná o úlohu konvexního programování? Přípustná množina M je jistě konvexní, stačí ověřit konvexitu účelové funkce. Hessova matice účelové funkce je H(x) = C, je-li tedy tato matice pozitivně definitní, jedná se o konvexní problém. Zapišme podmínky pro sedlový bod Lagrangeovy funkce: VxZ.(x*,A*) = C-x + d + AT-A>0 VxZ_(x*,A*), x = (C x + d + AT A), x = 0 VAZ.(x*,A*) = A-x-b<0 VAZ-(x*, A*). • A = (A • x - b). • A = 0 Kvadratické programování Problém minimalizace funkce f (x) — ±xT C x + d x na množině M = {xeR", x > 0, A x < b} nazveme úlohou kvadratického programování. Jedná o úlohu konvexního programování? Přípustná množina M je jistě konvexní, stačí ověřit konvexitu účelové funkce. Hessova matice účelové funkce je H(x) = C, je-li tedy tato matice pozitivně definitní, jedná se o konvexní problém. Zapišme podmínky pro sedlový bod Lagrangeovy funkce: VxZ.(x*,A*) = C-x + d + AT-A>0 VxZ_(x*,A*), x = (C x + d + AT A), x = 0 VAZ-(x*,A*) = A-x-b<0 VAZ-(x*, A*). • A = (A • x - b). • A = 0 Tato soustava se zpravidla upraví pomocí zavedení doplňkových proměnných w, kterými se první nerovnost převede na rovnici C-x + d + AT-A — w = 0. Dále se úloha řeší jako lineární pomocí upravené simplexové metody, přičemž dodržení podmínky w. x = 0 se zajistí tak, že hlídáme, aby se do báze nedostaly proměnné x, a w, nikdy současně (/' = 1,... n). Na této myšlence je založena tzv. Wolfeho metoda řešení úloh kvadratického programování. Kvadratické programování, příklad Uvažujme příklad minimalizace funkce z = x2 + 2xi x2 + 3x| + 10xi - 2x2 na množině dané omezeními 2x! + x2 > 5 xi + 3x2 < 10, x-i, x2 > 0. Kvadratické programování, příklad Uvažujme příklad minimalizace funkce z = x2 + 2xi x2 + 3x| + 10x-i - 2x2 na množině dané omezeními 2x-i + x2 > 5 xi +3x2 < 10, x1; x2 > 0. Jde o úlohu kvadratického programování, navíc lze snadno ověřit, že Hessova matice je pozitivně definitní, tudíž je funkce konvexní. Sestavme Lagrangeovu funkci Z.(X!, x2, Ai, A2) = x2+2Xi x2+3x|+1Oxi -2x2+Ai (x^ +3x2-10)+A2(5-2x! -x2) a formulujme KKT podmínky: Kvadratické programování, příklad Uvažujme příklad minimalizace funkce z = x2 + 2xi x2 + 3x| + 10x-i - 2x2 na množině dané omezeními 2x-i + x2 > 5 xi +3x2 < 10, x1; x2 > 0. Jde o úlohu kvadratického programování, navíc lze snadno ověřit, že Hessova matice je pozitivně definitní, tudíž je funkce konvexní. Sestavme Lagrangeovu funkci L(xi, x2, Ai, A2) = x2+2Xi x2+3x|+10*i -2x2+Ai (x-i +3x2-10)+A2(5-2x! -x2) a formulujme KKT podmínky: Lx, = 2xi + 2x2 - 2Ai + A2 + 10 > 0; Xi -Lx,=0 LX2 = 2xA + 6x2 - Ai + 3A2 - 2 > 0; x2 • LX2 = 0 Lx, = -2X! - x2 + 5 < 0; Ai ■ Z.Al = 0 LX2 = xi + 3x2 - 10 < 0; A2 • Z_a2 = 0 Kvadratické programování, příklad Použijeme Wolfeho metodu: nejprve přepíšeme nerovnice na rovnice zavedením nezáporných doplňkových proměnných: wi — Z_X1, w2 — LX2, t/i — —L\,, u2 — -L\2. Sestavíme simplexovou tabulku úlohy, přičemž kvůli přípustnosti je nutné držet pravé strany kladné. Kvadratické programování, příklad Použijeme Wolfeho metodu: nejprve přepíšeme nerovnice na rovnice zavedením nezáporných doplňkových proměnných: wi — Z_X1, w2 — LX2, t/i — —L\,, u2 — -L\2. Sestavíme simplexovou tabulku úlohy, přičemž kvůli přípustnosti je nutné držet pravé strany kladné. x2 Ai A2 w^ w2 í/1 u2 bi -2 -2 2 -1 1 10 2 6 -1 3 -1 2 2 1 -1 5 1 3 1 10 Kvadratické programování, příklad Použijeme Wolfeho metodu: nejprve přepíšeme nerovnice na rovnice zavedením nezáporných doplňkových proměnných: wi — Z-x,, w2 — LX2, t/i — —L\,, u2 — -L\2. Sestavíme simplexovou tabulku úlohy, přičemž kvůli přípustnosti je nutné držet pravé strany kladné. x2 Ai A2 w2 L/1 L/2 bi -2 -2 2 -1 1 10 2 6 -1 3 -1 2 2 1 -1 5 1 3 1 10 Do báze nesmíme zahrnout současně oba prvky z následujících dvojic: w-\ a xi\ w2 a x2; u-i a A-i; u2 a A2. Bohužel sloupce u doplňkových proměnných mají na 2. a 3. řádku záporné koeficienty a tedy netvoří jednotkovou matici, takže je třeba ještě přidat umělé proměnné y, y2. Zatím jsme hledali libovolné řešení vyhovující KKT podmínkám. Díky umělým proměnným získáme vlastně účelovou funkci: chceme dostat y = y2 — 0, minimalizujeme tedy z' = yi +y>- Kvadratické programování, příklad Rozšířená simplexová tabulka: báze *1 -X2 Ai A2 w2 "1 ÍV2 y^ 72 b, -2 -2 2 -1 1 10 2 6 -1 3 -1 1 2 2 1 -1 1 5 u2 1 3 1 10 zi -1 -1 0 Je třeba anulovat redukované ceny u bazických proměnných, takže k poslednímu řádku přičteme druhý a třetí. Kvadratické programování, příklad Rozšířená simplexová tabulka: báze *1 -X2 Ai A2 w2 "1 u2 71 72 b, -2 -2 2 -1 1 10 2 6 -1 3 -1 1 2 2 1 -1 1 5 u2 1 3 1 10 zi 4 7 -1 3 -1 -1 7 Jde o minimalizační úlohu, volíme tedy největší kladnou redukovanou cenu, tj. 7 a x2 vstoupí do báze místo y-i. Kvadratické programování, příklad Rozšířená simplexová tabulka: báze *1 x2 Ai A2 w2 "1 u2 71 72 b, -4/3 5/3 1 -1/3 1/3 32/3 x2 2/6 1 -1/6 3/6 -1/6 1/6 2/6 10/6 1/6 -3/6 1/6 -1 -1/6 1 28/6 u2 1/2 -3/2 1/2 1 -1/2 9 zi 5/3 1/6 -1/2 1/6 -1 -7/6 14/3 Největší redukovaná cena je 5/3, ale x-i do báze vstoupit nemůže, protože už tam je w-\. Do báze tedy vstoupí \-\. Kvadratické programování, příklad Rozšířená simplexová tabulka: báze *1 x2 Ai A2 w2 "1 u2 y^ 72 b, Ai -4/5 1 3/5 -1/5 1/5 32/5 x2 1/5 1 1/2 1/10 -1/5 1/5 7/5 72 9/5 -1/2 -1/10 -1/5 1/5 18/5 u2 2/5 -3/2 -3/10 3/5 1 -3/5 29/5 zi 9/5 -1/2 -1/10 1/5 -1 -6/5 18/5 Nyní již do báze může vstoupit x-i, které má redukovanou cenu 9/5. Nahradí tam proměnnou y2. Podaří se nám vynulovat účelovou funkci, výpočet končí. Dostaneme: X! = (18/5)/(9/5) = 2, x2 = 7/5-2-1/5 = 1, Ai =32/5+2-4/5 = 8, A2 = 0. Kvadratické programování, příklad: optimalizace portfolia Předpokládejme, že chceme sestavit portfolio z cenných papírů, jejichž výnosy jsou náhodné veličiny, které označíme Xy...,Xn. Tyto náhodné veličiny můžeme charakterizovat očekávaným výnosem E(X-\),..., E(X„) a také variabilitou vyjádřenou rozptyly D(X-\),..., D(Xn). Navíc mezi jednotlivými dvojicemi cenných papírů může existovat nějaký vztah, kdy se jejich ceny mohou vyvíjet souhlasně či naopak protichůdně - tyto závislosti jsou vyjádřeny pomocí kovariancí C(XhXj). Kovariance a rozptyly lze zapsat souhrnně pomocí variační matice V(X). Přístupem, založeným na těchto charakteristikách, se zabývá Markowitzův model portfolia. Kvadratické programování, příklad: optimalizace portfolia Předpokládejme, že chceme sestavit portfolio z cenných papírů, jejichž výnosy jsou náhodné veličiny, které označíme Xy...,Xn. Tyto náhodné veličiny můžeme charakterizovat očekávaným výnosem E(X-\),..., E(X„) a také variabilitou vyjádřenou rozptyly D(X-\),..., D(Xn). Navíc mezi jednotlivými dvojicemi cenných papírů může existovat nějaký vztah, kdy se jejich ceny mohou vyvíjet souhlasně či naopak protichůdně - tyto závislosti jsou vyjádřeny pomocí kovariancí C(XhXj). Kovariance a rozptyly lze zapsat souhrnně pomocí variační matice V(X). Přístupem, založeným na těchto charakteristikách, se zabývá Markowitzův model portfolia. Výnos portfolia, ve kterém jsou jednotlivé cenné papíry zastoupeny v podílech Pí,... ,pn je náhodná veličina Y = E/Li P\X\. Očekávaný výnos bude roven E(Y) — E"=1 PiE(Xj). Variabilitu výnosu portfolia je možné vyjádřit pomocí jeho rozptylu, D( Y) = (pí,..., p„) ■ V(X) • (pí,..., pn)T. Kvadratické programování, příklad: optimalizace portfolia Investor zpravidla požaduje co největší očekávaný výnos E( Y) za co nejmenšího rizika (riziko, tedy nejistotu můžeme vyjádřit právě rozptylem D( Y)) Jde o úlohu vícekriteriálního programování E( Y) ->• max, D(Y) ->• min za omezující podmínky E/Li P/ = 1 ■ Kvadratické programování, příklad: optimalizace portfolia Investor zpravidla požaduje co největší očekávaný výnos E( Y) za co nejmenšího rizika (riziko, tedy nejistotu můžeme vyjádřit právě rozptylem D( Y)) Jde o úlohu vícekriteriálního programování E( Y) ->• max, D(Y) ->• min za omezující podmínky J]"=1 p,- = 1 . Jeden z možných přístupů k řešení této vícekriteriální úlohy je stanovení minimálního požadovaného výnosu Rm-m a minimalizace rizika mezi všemi portfolii s výnosem alespoň Rmin. Dostaneme úlohu kvadratického programování ř(pi,..., p„) = (pí,..., p„) ■ V(X) • (pí,..., pn)T m/n , za omezení p, > 0, J]"=1 p,- — 1, J]"=1 p/E(X/) > f?m/r). Pro nedegenerovaná portfolia je matice V(X) pozitivně definitní, takže problém je konvexní. Kvadratické programování, příklad: optimalizace portfolia Investor zpravidla požaduje co největší očekávaný výnos E( Y) za co nejmenšího rizika (riziko, tedy nejistotu můžeme vyjádřit právě rozptylem D( Y)) Jde o úlohu vícekriteriálního programování E( Y) ->• max, D(Y) ->• min za omezující podmínky J]"=1 p,- = 1 . Jeden z možných přístupů k řešení této vícekriteriální úlohy je stanovení minimálního požadovaného výnosu Rm-m a minimalizace rizika mezi všemi portfolii s výnosem alespoň Rmin. Dostaneme úlohu kvadratického programování f{pi,..., p„) = (pí,..., p„) ■ V(X) • (pí,..., pn)T min , za omezení p, > 0, J]"=1 p/ = 1, X)ľ=i PíE(Xj) > Rmin. Pro nedegenerovaná portfolia je matice V(X) pozitivně definitní, takže problém je konvexní. Příklad: Navrhněte strukturu portfolia z dvou cenných papírů Pí, P2, tak aby jeho očekávaný výnos byl alespoň 0,04 a riziko minimální. Sledováním časových řad cenového vývoje cenných papírů jsme odhadli očekávané výnosy E(X) = 0,03, E(X2) = 0,05, rozptyly D(X) = 3, D(X2) = 4a kovarianci C(X-\, X2) = 2. Kvadratické programování, příklad: optimalizace portfolia Zapíšeme matematický model úlohy: r(pi,p2) = (pi,p2) • ( g 4 ) ' ( p2 ) m'n 23 podmínky Pí, P2 > 0, 3pi + 5p2 > 4, pi + p2 < 1 . Poznámka: Očekávané výnosy jsme pro snadnější výpočty vynásobili 100 a poslední podmínku jsme zapsali jako nerovnici (připouštíme tedy i možnost nevyčerpání celé částky na investici!) Kvadratické programování, příklad: optimalizace portfolia Zapíšeme matematický model úlohy: ř(p1;p2) = (pi,p2) • ( g 4 ) ' ( p2 ) m/n 23 podmínky Pí, P2 > 0, 3pi + 5p2 > 4, pi + p2 < 1 . Poznámka: Očekávané výnosy jsme pro snadnější výpočty vynásobili 100 a poslední podmínku jsme zapsali jako nerovnici (připouštíme tedy i možnost nevyčerpání celé částky na investici!) Lagrangeova funkce úlohy má tvar /.(Pí, 02, a, /i) = 302 + 40102 + 402 + a(0i + 02 - 1) + m(-30i - 502 + 4) Kvadratické programování, příklad: optimalizace portfolia Zapíšeme matematický model úlohy: ř(p1;p2) = (pi,ft>) ■ ( g 4 ) ' ( p2 ) min za p°dmínky Pí, 92 > 0, 3pi + 5p2 > 4, pi + p2 < 1 . Poznámka: Očekávané výnosy jsme pro snadnější výpočty vynásobili 100 a poslední podmínku jsme zapsali jako nerovnici (připouštíme tedy i možnost nevyčerpání celé částky na investici!) Lagrangeova funkce úlohy má tvar /.(Pí, 02, A, /i) = 3pf + 40102 + 4pf + A(0i + 02 - 1) + m(-30i - 502 + 4) Kuhn-Tuckerovy podmínky pro 01,02, A, [i > 0 jsou: Ľp, = 601 + 402 + A - 3/i > 0, (601 + 402 + A - 3/x)pi = 0 /-á = 401 + 802 + A - 5/i > 0, (401 + 802 + A - 5/i)p2 = 0 Z-A=Pl +02-1 <0, (01 +02-1)A = O /.; = -301 - 502 + 4 < 0, (-301 - 502 + 4)M = 0 Kvadratické programování, příklad: optimalizace portfolia Při hledání bodu vyhovujícího KT podmínkám uvažujme opět všechny možnosti (ne)nulovosti multiplikátorů Aa/j: A > 0, (i > 0 : Komplementarita pro oba multiplikátory dává 3pi + 5p2 — 4, Pí + P2 — 1, což nám dá řešení p-i = p2 — \ , po dosazení do prvních dvou rovnic dostaneme 5 + A - 3^ — 0, 6 + A - 5fi — 0, tato soustava ale dává záporné A, takže nezískáme žádné řešení. Kvadratické programování, příklad: optimalizace portfolia Při hledání bodu vyhovujícího KT podmínkám uvažujme opět všechny možnosti (ne)nulovosti multiplikátorů A a /z: A > 0, (i > 0 : Komplementarita pro oba multiplikátory dává 3pi + 5p2 — 4, Pí + P2 — 1, což nám dá řešení p-i = p2 — \ , po dosazení do prvních dvou rovnic dostaneme 5 + A - 3/z = 0, 6 + A - 5/z = 0, tato soustava ale dává záporné A, takže nezískáme žádné řešení. A — 0, (i > 0 : Z komplementarity pro /i plyne 3pi + 5p2 — 4. Zřejmě tedy p2 7^ 0 a druhou podmínku lze vydělit p2: 4pi + 8p2 — 5n — 0, po vyloučení možnosti pí — 0 (pokazila by se nezápornost Z_^) musí být 6pi + 4p2 + X — 3n — 0, takže dostaneme lineární soustavu, jejímž řešením je Pí = 0,16, p2 = 0,7, /z = 1,25 a očekávaný výnos 4 při riziku 2,5. Kvadratické programování, příklad: optimalizace portfolia Při hledání bodu vyhovujícího KT podmínkám uvažujme opět všechny možnosti (ne)nulovosti multiplikátorů Aa/j: A > 0, (i > 0 : Komplementarita pro oba multiplikátory dává 3pi + 5p2 — 4, Pí + P2 — 1, což nám dá řešení p-i = p2 — \ , po dosazení do prvních dvou rovnic dostaneme 5 + A - 3/z — 0, 6 + A - 5/z — 0, tato soustava ale dává záporné A, takže nezískáme žádné řešení. A — 0, (i > 0 : Z komplementarity pro [i plyne 3pí + 5p2 — 4. Zřejmě tedy p2 7^ 0 a druhou podmínku lze vydělit p2: 4pi + 8p2 - 5fi — 0, po vyloučení možnosti p-i = 0 (pokazila by se nezápornost ľPi) musí být 6pi + 4p2 + A - 3fi — 0, takže dostaneme lineární soustavu, jejímž řešením je Pí — 0,16, p2 — 0,7, /z = 1,25 a očekávaný výnos 4 při riziku 2,5. A > 0, (i — 0 : Z komplementarity pro A plyne p-i + p2 — 1. Pro extrémní případ Pí = 0, p2 — 1 nebo naopak se pokazí nezápornost derivace ľpi nebo Ľfr. Tedy Pi, p2 ^ 0 a první dvě podmínky lze vydělit pí a p2: 6pi + 4p2 + A — 0, 4pi + 8p2 + A = 0 a dostaneme soustavu, pro niž však vyjde A < 0, takže nezískáme žádné řešení. oq.o Kvadratické programování, příklad: optimalizace portfolia A — n — 0 : Z prvních dvou rovnic dostaneme (6pi + 4p2)pi — 0, (4pi + 8p2)p2 — 0, což má jediné nezáporné řešení Pí — P2 — 0, což však nevyhovuje podmínce 3pi + 5p2 > 4. Kvadratické programování, příklad: optimalizace portfolia Úlohu bychom mohli řešit i pro jiné aspirační úrovně výnosu Rmin, například Rmin e {1; 1,5; 2; 2,5; 3; 3,5; 4; 5}. Vynesme si tyto hodnoty spolu s optimálními hodnotami účelové funkce (tj. minimálními riziky při daném výnosu) graficky v tzv. kriteriálním prostoru: 6 -T-5 "ľ 4 - = i5 2 -1 --0 -r-0 1 1 l 4 5 Spojnice mezi body je odhadem tzv. efektivní hranice, tvořené portfolii, jejichž výnos lze zlepšit jen za cenu zhoršení rizika a naopak. Efektivní hranici také najít pomocí optimalizace funkcí f(Y) — c ■ E (Y) - (1 - c) • D(Y) na množině všech portfolií, kde konstanta c probíhá interval (0,1). Lineární lomené programování Dalším typem úloh, které lze převést na lineární problém, jsou úlohy lineárního lomeného programování optimalizovat funkci ř(x) — ^t',^^0 za omezení x > 0, A x < b. Tyto úlohy sice nespadají do kategorie konvexních úloh, avšak umožňují pro cT • x + cq > 0 zavedení substituce r = ct.I+Cb ■ Dostaneme účelovou funkci ve tvaru f — dT • x • r + dor, kterou můžeme vyjádřit jako funkci nových proměnných r, y, = x, • r, i = 1,..., n: f(r, y,... yn) = dT • y + dQr , podobně vyjádříme i omezení r>0,y>0, A ■ y < b ■ r . Je však třeba přidat i další omezující podmínku 1 = r(cT • x + c0), tedy 1 = cT • y + c0r . Dostali jsme obyčejnou úlohu LP, kterou můžeme dále řešit například simplexovou metodou. Lineární lomené programování - příklad V ekonomii se setkáme s řadou ukazatelů poměrového typu. Jsou-li výrazy v čitateli a jmenovateli ukazatele lineárními funkcemi proměnných, podle kterých se snažíme ukazatel optimalizovat, jedná se o problém lineárního lomeného programování, viz úloha z knihy I. Gros: "Kvantitativní metody v manažerském rozhodování": Lineární lomené programování - příklad V ekonomii se setkáme s řadou ukazatelů poměrového typu. Jsou-li výrazy v čitateli a jmenovateli ukazatele lineárními funkcemi proměnných, podle kterých se snažíme ukazatel optimalizovat, jedná se o problém lineárního lomeného programování, viz úloha z knihy I. Gros: "Kvantitativní metody v manažerském rozhodování": Příklad: Uvažujme firmu, která má ve výrobním programu tři výrobky A, B, C s následujícími charakteristikami: Výrobek Variabilní náklady [Kč/t] Cena [Kč/t] A 11 000 12 000 B 15 000 18 000 C 14 000 16 000 fixní náklady 150 000 Kč Lineární lomené programování - příklad V ekonomii se setkáme s řadou ukazatelů poměrového typu. Jsou-li výrazy v čitateli a jmenovateli ukazatele lineárními funkcemi proměnných, podle kterých se snažíme ukazatel optimalizovat, jedná se o problém lineárního lomeného programování, viz úloha z knihy I. Gros: "Kvantitativní metody v manažerském rozhodování": Příklad: Uvažujme firmu, která má ve výrobním programu tři výrobky A, B, C s následujícími charakteristikami: Výrobek Variabilní náklady [Kč/t] Cena [Kč/t] A 11 000 12 000 B 15 000 18 000 C 14 000 16 000 fixní náklady 150 000 Kč Označíme-li si xi, x2, x3 množství prodaných výrobků, můžeme definovat například následující poměrové ukazatele: náklpHnvnQt trŤPh 7 — 11000*i +15000x2+14000x3+150000 naKiaaovost trzeD z - —i2ooox1+i8ooox2+i6ooox3—■ rpntahilitu tržph 7 - 1000x1 +3000*2+2000x3-150000 reniaDiiiiu irzeD z - 12ooox1+i80oox2+i60oox3 ■ < □ ► <(J> Lineární lomené programování - příklad Příklad: Minimalizujte nákladovost tržeb z uvedeného příkladu za podmínky, že celkové náklady nepřesáhnou 200 000 Kč. Lineární lomené programování - příklad Příklad: Minimalizujte nákladovost tržeb z uvedeného příkladu za podmínky, že celkové náklady nepřesáhnou 200 000 Kč. Matematický zápis úlohy: minimalizujte z = ^^l^T^x50 za podmínek 11 xi + 15x2 + 14x3 + 150 < 200, x, x2, x3 > 0. Lineární lomené programování - příklad Příklad: Minimalizujte nákladovost tržeb z uvedeného příkladu za podmínky, že celkové náklady nepřesáhnou 200 000 Kč. Matematický zápis úlohy: minimalizujte z = ^^l^T^x50 za podmínek 11 x-\ + 15x2 + 14x3 + 150 < 200, x-\, x2, x3 > 0. Úlohu linearizujeme zavedením substituce r = 12X1+181X2+16X3 ■ dostaneme tak problém minimalizovat funkci t{y\,y2,y%j) = 11yi +15y2 + 14y3 + 150r za omezení 11y + 15y2 + 14y3 - 50r < 0, y, y2, y3, r > 0 a doplňující podmínky 12y + 18y2 + 16y3 — 1 Lineární lomené programování - příklad Příklad: Minimalizujte nákladovost tržeb z uvedeného příkladu za podmínky, že celkové náklady nepřesáhnou 200 000 Kč. Matematický zápis úlohy: minimalizujte z = ^^I^sV+^ôx50 za podmínek 11 ^ + 15x2 + 14x3 + 150 < 200, xi, x2, x3 > 0. Úlohu linearizujeme zavedením substituce r = 12X1+181X2+16X3 ■ dostaneme tak problém minimalizovat funkci f&,y2,Y3,r) = 11/1 +15y2 + 14y3 + 150r za omezení 11y + 15y2 + 14y3 - 50r < 0, y, y2, y3, r > 0 a doplňující podmínky 12y + 18y2 + 16y3 = 1 Numerická optimalizace Řadu problémů není možné řešit analyticky (neznalost analytického vyjádření, mnoho proměnných, složité funkce - nelineární rovnice při určování stacionárních bodů) nebo by bylo analytické řešení příliš výpočetně náročné a tudíž neefektivní. Často nám stačí nalézt pouze přibližné řešení (v reálném světě stejně zaokrouhlujeme). Proto se v praxi používají metody iterační. Jejich charakteristikou je konstrukce posloupnosti bodů definičního oboru x°, x\x2,..., které se blíží k optimálnímu řešení x*. Nasazení těchto metod pro vyhledání extrému je velice výhodné v kombinaci s výpočetní technikou. Numerická optimalizace Řadu problémů není možné řešit analyticky (neznalost analytického vyjádření, mnoho proměnných, složité funkce - nelineární rovnice při určování stacionárních bodů) nebo by bylo analytické řešení příliš výpočetně náročné a tudíž neefektivní. Často nám stačí nalézt pouze přibližné řešení (v reálném světě stejně zaokrouhlujeme). Proto se v praxi používají metody iterační. Jejich charakteristikou je konstrukce posloupnosti bodů definičního oboru x°, x\x2,..., které se blíží k optimálnímu řešení x*. Nasazení těchto metod pro vyhledání extrému je velice výhodné v kombinaci s výpočetní technikou. Existuje řada metod, a to jak pro funkce jedné proměnné, tak pro více proměnných. Zřejmě nejznámější jsou pro funkce jedné proměnné: • metoda bisekce intervalu • metoda zlatého řezu • metoda kvadratické interpolace • Newtonova metoda • metoda Regula falši Jednorozměrná optimalizace - komparativní metody Nejprve se zaměřme na metody jednorozměrné numerické optimalizace , ty jsou totiž součástí některých vícerozměrných metod. Metody nevyžadující výpočet derivace funkce f nazýváme komparativní. Uvedeme tři z nich, a to trisekci, metodu zlatého řezu a metodu kvadratické interpolace. Většinou je třeba předem přibližně určit polohu bodu optima a stanovit počáteční interval / — (a, b) tak, aby na změněném intervalu účelová funkce f měla jen jedno minimum, tj. byla unimodální. V jednotlivých iteracích nahrazujeme krajní body intervalu obsahujícího minimum novými body, tak abychom jej postupně zužovali. Jako odhad bodu optima se vezme střed posledního intervalu /" = (a", b") . Jednorozměrná optimalizace - komparativní metody Nejprve se zaměřme na metody jednorozměrné numerické optimalizace , ty jsou totiž součástí některých vícerozměrných metod. Metody nevyžadující výpočet derivace funkce f nazýváme komparativní. Uvedeme tři z nich, a to trisekci, metodu zlatého řezu a metodu kvadratické interpolace. Většinou je třeba předem přibližně určit polohu bodu optima a stanovit počáteční interval / — (a, b) tak, aby na změněném intervalu účelová funkce f měla jen jedno minimum, tj. byla unimodální. V jednotlivých iteracích nahrazujeme krajní body intervalu obsahujícího minimum novými body, tak abychom jej postupně zužovali. Jako odhad bodu optima se vezme střed posledního intervalu /" = (a", b") . U všech iteračních metod musíme předem nastavit nějaké pravidlo ukončení výpočtu. Metody většinou vyžadují splnění jistých podmínek, za kterých platí, že čím více iteračních kroků provedeme, tím přesnější odhad hledaného extrému získáme. Možné přístupy, kdy výpočet ukončit jsou například: • po provedení zadaného počtu kroků • dosažením stanovené přesnosti e (tedy když šířka intervalu /" splňuje: \bn - an\ < 2e) Jednorozměrná optimalizace - metoda trisekce Jako úvodní motivaci ukážeme intervalovou trisekci . f(b) a b Označme d — (b - ä). Jednorozměrná optimalizace - metoda trisekce Jako úvodní motivaci ukážeme intervalovou trisekci . f(b) a u v b Body u — a+ d/3 av = b- d/3 dělí interval (a, b) na tři stejné části. Jednorozměrná optimalizace - metoda trisekce Jako úvodní motivaci ukážeme intervalovou trisekci . f(b) a u v b Nejprve vyhodnotíme f{u) a f(v). Předpokládejme, že f{u) < f (v). Jednorozměrná optimalizace - metoda trisekce Jako úvodní motivaci ukážeme intervalovou trisekci . l\m 1 \ = =t = = 1 1 Jffílí— f(v) a = a' u v = b' b Minimum jistě leží vlevo od v, takže b nahradíme pomocí Ď1 — v, levá hranice zůstává a1 — a. Tím se délka intervalu (obsahujícího minimum) zkrátí na dvě třetiny své původní délky. Dále pokračujeme s intervalem /1 = (a1, Ď1), atd. Bod u však už nelze v následujícím kroku využít. Funkci musíme vyhodnotit v každém kroku dvakrát, což je neefektivní. Jednorozměrná optimalizace - metoda zlatého řezu Metoda zlatého řezu je založena na šikovnějším výběru dělicích bodů u a v. Označme p číslo o něco větší než 1 /3, jehož přesnou hodnotu teprve určíme. Označme body u — a + pd a v = pd. Jednorozměrná optimalizace - metoda zlatého řezu Metoda zlatého řezu je založena na šikovnějším výběru dělicích bodů u a v. Označme p číslo o něco větší než 1 /3, jehož přesnou hodnotu teprve určíme. Označme body u=a + pd a v = b-pd. Předpokládejme opět, že f(u) < f (v), minimum je tedy mezi a a v. Nahradíme b pomocí v a proces opakujeme. Zvolíme-li správnou hodnotu p, bod u bude v pozici použitelné i v příštím kroku. Po prvním kroku se tak funkce f bude vyhodnocovat pokaždé už jen jednou. Jednorozměrná optimalizace - metoda zlatého řezu Metoda zlatého řezu je založena na šikovnějším výběru dělicích bodů u a v. Označme p číslo o něco větší než 1 /3, jehož přesnou hodnotu teprve určíme. Označme body u=a + pd a v = b-pd. Předpokládejme opět, že f(u) < f (v), minimum je tedy mezi a a v. Nahradíme b pomocí v a proces opakujeme. Zvolíme-li správnou hodnotu p, bod u bude v pozici použitelné i v příštím kroku. Po prvním kroku se tak funkce f bude vyhodnocovat pokaždé už jen jednou. Jak tedy zvolit p? Tak, aby bod u hrál v redukovaném intervalu (a, v) stejnou roli jako bod v v původním intervalu, tj. aby poměr délky intervalu (a, u) k délce intervalu (a, v) byl stejný jako poměr délky intervalu (a, v) k délce intervalu (a, b), tj. p : (1 - p) — (1 - p): 1. Jednorozměrná optimalizace - metoda zlatého řezu Metoda zlatého řezu je založena na šikovnějším výběru dělicích bodů u a v. Označme p číslo o něco větší než 1 /3, jehož přesnou hodnotu teprve určíme. Označme body u=a + pd a v = b-pd. Předpokládejme opět, že f(u) < f (v), minimum je tedy mezi a a v. Nahradíme b pomocí v a proces opakujeme. Zvolíme-li správnou hodnotu p, bod u bude v pozici použitelné i v příštím kroku. Po prvním kroku se tak funkce f bude vyhodnocovat pokaždé už jen jednou. Jak tedy zvolit p? Tak, aby bod u hrál v redukovaném intervalu (a, v) stejnou roli jako bod v v původním intervalu, tj. aby poměr délky intervalu (a, u) k délce intervalu (a, v) byl stejný jako poměr délky intervalu (a, v) k délce intervalu (a, b), tj. p : (1 - p) — (1 - p): 1. Po úpravě tohoto vztahu obdržíme kvadratickou rovnici p2 - 3p + 1 =0, jejímž řešením je p = S^sZI ~ o, 382 , kde číslo 1 - p « 0,618 je tzv. poměr zlatého řezu. a u v pd (1-p)d d b Jednorozměrná optimalizace - metoda zlatého řezu, příklad Lze ukázat, že požadujeme-li při metodě zlatého řezu ukončení při dosažení stanovené přesnosti e, stačí provést N iterací, kde /V ^ -fog(1-p)- Výsledný odhad bodu optima zapíšeme ve tvaru x* ±e. Jednorozměrná optimalizace - metoda zlatého řezu, příklad Lze ukázat, že požadujeme-li při metodě zlatého řezu ukončení při dosažení stanovené přesnosti e, stačí provést N iterací, kde Výsledný odhad bodu optima zapíšeme ve tvaru x* = b \a ± s. Příklad: Nalezněte minimum funkce f(x) — x + ^ s přesností e — 0,05, víte-li, že se nalézá v intervalu (0,5; 3). Jednorozměrná optimalizace - metoda zlatého řezu, příklad Lze ukázat, že požadujeme-li při metodě zlatého řezu ukončení při dosažení stanovené přesnosti e, stačí provést N iterací, kde /V ^ -fog(1-p)- Výsledný odhad bodu optima zapíšeme ve tvaru x* bN+aN ±e. Příklad: Nalezněte minimum funkce f(x) — x + ^ víte-li, že se nalézá v intervalu (0,5; 3). Spočteme nejprve, kolik bude třeba provést iterací: s přesností e — 0,05, N> _ tog(Ěf) -fog(1-p) _ -fog(0,618) 2TI _ 6,69, stačí tedy 7 iterací. Jednorozměrná optimalizace - metoda zlatého řezu, příklad 2i-,-1-1-1-1 0.5 1 1.5 2 25 3 Graf funkce f(x) = x + ^ na počátečním intervalu a = 0,5; b = 3, svislou čárou je znázorněno skutečné minimum x* = \/š ^ 1,817120 Jednorozměrná optimalizace - metoda zlatého řezu, příklad 1. krok: u = 1.454915, v = 2.045085, f(u) = 2.872163, f (v) = 2.762381 Nový interval je /1 = (1.454915,3.000000). Jednorozměrná optimalizace - metoda zlatého řezu, příklad 2. krok: u = 2.045085, v = 2.409830, f(u) = 2.762381, f (v) = 2.926423. Nový interval je I2 = (1.454915,2.409830). Jednorozměrná optimalizace - metoda zlatého řezu, příklad 3. krok: u = 1.819660, v = 2.045085, f(u) = 2.725686, = 2.762381 Nový interval je ^ = (1.454915,2.045085). Jednorozměrná optimalizace - metoda zlatého řezu, příklad 4. krok: u = 1.680340, v = 1.819660, ř(u) = 2.742835, r( v) = 2.725686. Nový interval je I4 = (1.680340,2.045085). Jednorozměrná optimalizace - metoda zlatého řezu, příklad 5. krok: u = 1.819660, v = 1.905765, f(u) = 2.725686, f (v) = 2.731770. Nový interval je /5 = (1.680340,1.905765). Jednorozměrná optimalizace - metoda zlatého řezu, příklad 6. krok: u = 1.766445, v = 1.819660, f(u) = 2.727882, f (v) = 2.725686. Nový interval je I6 = (1.766445,1.905765). Jednorozměrná optimalizace - metoda zlatého řezu, příklad 7. krok: u = 1.819660, v = 1.852549, f(u) = 2.725686, = 2.726691. Nový interval je F — (1.766445,1.852549). Šířka intervalu je menší než 0,1 tedy odhadneme bod optima jeho středem: x* = 1,81 ± 0,05 Jednorozměrná optimalizace - metoda kvadratické interpolace Předpokládejme, že minimum leží v intervalu (a, b), a že je znám nějaký jeho vnitřní bod c, ve kterém hodnota funkce f nepřesáhne hodnoty f(a), f(b). Jf(b) 1 _í(a) _yif(c) 1 a c b Jednorozměrná optimalizace - metoda kvadratické interpolace Předpokládejme, že minimum leží v intervalu (a, b), a že je znám nějaký jeho vnitřní bod c, ve kterém hodnota funkce f nepřesáhne hodnoty f(a), f(b). /f(b) 1 ----/ f(c) / 1 -^P(x) 1 a c b Body [a, f (ä)], [c, f(c)] a [b, f(b)] proložíme parabolu P(x) Jednorozměrná optimalizace - metoda kvadratické interpolace Předpokládejme, že minimum leží v intervalu (a, b), a že je znám nějaký jeho vnitřní bod c, ve kterém hodnota funkce f nepřesáhne hodnoty f(a), f(b). /f(b) 1 --/ f(c) / 1 1 a x c b Bod jejího minima x považujeme za aproximaci bodu optima x*. Jednorozměrná optimalizace - metoda kvadratické interpolace Předpokládejme, že minimum leží v intervalu (a, b), a že je znám nějaký jeho vnitřní bod c, ve kterém hodnota funkce f nepřesáhne hodnoty f(a), f(b). /f(b) 1 ^--/ f(c) f(xl/ 1 i (x)! 1 a x c b Dá se ukázat, že x = Další P0StuP se volí podle hodnoty f(x). Jednorozměrná optimalizace - metoda kvadratické interpolace Víme, že x e (a, b), vyšlo nám x < c. Je-li f(x) < f(c), do další iterace použijeme vypočtené x místo bodu c, který se stane novým krajním bodem (pokud x < c, tak jím nahradíme horní hranici b, viz obr., v opačném případě dolní hranici a). Je-li naopak f(x) > f(c), pak c ponecháme a novým krajovým bodem se stane x. Případ x = c znamená, že buď jsme se strefili do optima nebo je nutná jiná volba c. Tento a další nedostatky překonává kombinovaný přístup, tzv. Brentova metoda. V) í(a) T. f(x) -I-1-U f(c) a=a' x = c' c=b' b Výpočet se zastaví, až rozdíl dvou po sobě jdoucích odhadů \x" - x" 11 klesne pod hodnotu e. Jednorozměrná optimalizace - metoda kvadratické interpolace, příklad Příklad: Minimalizujte funkci f(x) — x + 4r na intervalu (0,5; 3) s přesností e — 0,05, jako první aproximaci volte x° — 1,5. Jednorozměrná optimalizace - metoda kvadratické interpolace, příklad Příklad: Minimalizujte funkci f(x) = x + ^ na intervalu (0,5; 3) s přesností e — 0,05, jako první aproximaci volte x° = 1,5. První interpolaci provedeme pro body a=0,5,c=1,5at = 3. Znázorněme červeně graf f(x) na (a, b) a modře parabolu, protínající jej v bodech a, b, c: 0.5 1 1.5 2 2.5 1. krok: f (a) = 12.500000, ř(c) = 2.833333, = 3.333333 =^ x = 2.208333, r(x) = 2.823499 Nově: a = 1.500000, c = 2.208333, b = 3.000000, chyba ^ -„k0! =,Q.7,08333. Jednorozměrná optimalizace - metoda kvadratické interpolace, příklad Příklad: Minimalizujte funkci f(x) = x + ^ na intervalu (0,5; 3) s přesností e — 0,05, jako první aproximaci volte x° = 1,5. 2. krok: f (a) = 2.833333, f(c) = 2.823499, = 3.333333 ==> x = 1.869995, f(x) = 2.727902 Nově: a = 1.500000, c = 1.869995, Ď = 2.208333, chyba |x2 - x11 = 0.338339. Jednorozměrná optimalizace - metoda kvadratické interpolace, příklad Příklad: Minimalizujte funkci f(x) = x + ^ na intervalu (0,5; 3) s přesností e — 0,05, jako první aproximaci volte x° = 1,5. 3. krok: f (a) = 2.833333, f(c) = 2.727902, = 2.823499 =^ x = 1.862831, f(x) = 2.727350 => Nově: a = 1.500000, c = 1.862831,6= 1.869995, chyba |x3-x2| = 0.007163 < 0,05, výpočet se zastaví: x* « 1,862831 ±0,05. Jednorozměrná optimalizace - metody využívající derivace Kromě standartního předpokladu unimodálnosti funkce f na intervalu (a, b) předpokládejme dále, že ř je zde diferencovatelná. Nejjednodušší iterační optimalizační metodou využívající derivaci funkce ř je metoda bisekce, čili půlení intervalů. Jestliže označíme bod, v němž funkce f nabývá svého minima na intervalu (a, b) jako p, pak je f klesající na (a,p) (tudíž zde platí f'(x) < 0) a rostoucí na intervalu (p, b) (tudíž zde platí f'(x) > 0). Jednorozměrná optimalizace - metody využívající derivace Kromě standartního předpokladu unimodálnosti funkce f na intervalu (a, b) předpokládejme dále, že Ne zde diferencovatelná. Nejjednodušší iterační optimalizační metodou využívající derivaci funkce Ne metoda bisekce, čili půlení intervalů. Jestliže označíme bod, v němž funkce f nabývá svého minima na intervalu (a, b) jako p, pak je f klesající na (a,p) (tudíž zde platí f'(x) < 0) a rostoucí na intervalu (p, b) (tudíž zde platí f'(x) > 0). Vezmeme-li jako odhad bodu minima střed intervalu s — ^ , pak pro ř'(s) < 0 leží minimum vpravo, klademe tedy a1 = s a pro ť(s) > 0 leží minimum vlevo a klademe Ď1 — s, druhý krajní bod zůstává (pokud f'(s) — 0, našli jsme přímo bod optima x*). Jednorozměrná optimalizace - metody využívající derivace Kromě standartního předpokladu unimodálnosti funkce f na intervalu (a, b) předpokládejme dále, že ř je zde diferencovatelná. Nejjednodušší iterační optimalizační metodou využívající derivaci funkce ř je metoda bisekce, čili půlení intervalů. Jestliže označíme bod, v němž funkce f nabývá svého minima na intervalu (a, b) jako p, pak je f klesající na (a,p) (tudíž zde platí f'(x) < 0) a rostoucí na intervalu (p, b) (tudíž zde platí f'(x) > 0). Vezmeme-li jako odhad bodu minima střed intervalu s — ^ , pak pro ř'(s) < 0 leží minimum vpravo, klademe tedy a1 = s a pro ř'(s) > 0 leží minimum vlevo a klademe Ď1 — s, druhý krajní bod zůstává (pokud f'(s) — 0, našli jsme přímo bod optima x*). Výpočet se zastaví po stanoveném počtu kroků nebo klesne-li šířka intervalu pod 2e, kde e je požadovaná přesnost. Lze ukázat, že pak stačí provést N > iterací. < □ ► <(J> Jednorozměrná optimalizace - metoda bisekce, příklad Ukažme si metodu opět pro minimalizaci funkce f(x) = x+ na počátečním intervalu (0,5; 3) s přesností e — 0,05. Funkce má derivaci f'(x) — 1 - ^. 2i-1-,-1-1-1 0.5 1 1.5 2 2.5 3 Graf funkce f(x) — x + ^ na počátečním intervalu a — 0,5; b — 3, svislou čárou je znázorněno skutečné minimum x* = « 1,817120 Jednorozměrná optimalizace - metoda bisekce, příklad Ukažme si metodu opět pro minimalizaci funkce f(x) = x+ na počátečním intervalu (0,5; 3) s přesností e — 0,05. Funkce má derivaci f'(x) — 1 - ^. 1. krok: s = 1.750000, f'(s) = -0.119534 ^> nový interval bude: /1 = (1.750000,3.000000) Jednorozměrná optimalizace - metoda bisekce, příklad Ukažme si metodu opět pro minimalizaci funkce f(x) = x+ na počátečním intervalu (0,5; 3) s přesností e — 0,05. Funkce má derivaci f'(x) — 1 - ^. 2. krok: s = 2.375000, f'(s) = 0.552121 nový interval bude: /1 = (1.750000,2.375000) Jednorozměrná optimalizace - metoda bisekce, příklad Ukažme si metodu opět pro minimalizaci funkce f(x) = x+ na počátečním intervalu (0,5; 3) s přesností e — 0,05. Funkce má derivaci f'(x) — 1 - ^. 3. krok: s = 2.062500, f'(s) = 0.316137 nový interval bude: /1 = (1.750000,2.062500) Jednorozměrná optimalizace - metoda bisekce, příklad Ukažme si metodu opět pro minimalizaci funkce f(x) = x+ na počátečním intervalu (0,5; 3) s přesností e — 0,05. Funkce má derivaci f'(x) — 1 - ^. 4. krok: s = 1.906250, f'(s) = 0.133813 ^> nový interval bude: /1 = (1.750000,1.906250) Jednorozměrná optimalizace - metoda bisekce, příklad Ukažme si metodu opět pro minimalizaci funkce f(x) = x+ na počátečním intervalu (0,5; 3) s přesností e — 0,05. Funkce má derivaci f'(x) — 1 - ^. 5. krok: s = 1.828125, f'(s) = 0.017950 => nový interval bude: /1 — (1.750000,1.828125). protože šířka intervalu < e, výpočet končí: x* w 1.789063 ±0,05 Jednorozměrná optimalizace - metody využívající derivace Další metoda hledá minimum jako kořen derivace. Nazývá se Newtonova metoda (též metoda tečen). Metoda využívá navíc i druhé derivace, předpokládejme tedy její existenci v každém bodě zadaného intervalu. Jednorozměrná optimalizace - metody využívající derivace Další metoda hledá minimum jako kořen derivace. Nazývá se Newtonova metoda (též metoda tečen). Metoda využívá navíc i druhé derivace, předpokládejme tedy její existenci v každém bodě zadaného intervalu. Jak název napovídá, vedeme v bodě x0 tečnu ke grafu funkce f'(x) a jako následující odhad vezmeme průsečík této tečny s osou x. Rovnici tečny lze zapsat jako: y — ŕ'(xo) + f"(xo) ■ (x - x0) . Položíme-li pravou stranu rovnu nule, spočteme odtud x = x0 - ^rn~j Jednorozměrná optimalizace - metody využívající derivace Další metoda hledá minimum jako kořen derivace. Nazývá se Newtonova metoda (též metoda tečen). Metoda využívá navíc i druhé derivace, předpokládejme tedy její existenci v každém bodě zadaného intervalu. Jak název napovídá, vedeme v bodě x0 tečnu ke grafu funkce f'(x) a jako následující odhad vezmeme průsečík této tečny s osou x. Rovnici tečny lze zapsat jako: y — ŕ'(xo) + f"(xo) ■ (x - xo) ■ Položíme-li pravou stranu rovnu nule, spočteme odtud x = x0 - Tuto hodnotu označíme x-i a pokračujeme ve výpočtu až dokud není splněno \Xn - xn--i | < £■ Předností metody je její rychlost, značnou nevýhodou je ale fakt, že nekonverguje vždy. Ke konvergenci postačuje, aby na výchozím intervalu (a, b) neměnila f"{x) ani f"'(x) znaménko a aby platilo ľ (a) ■ f'{b) < 0. Důležité je též dobrá volba bodu x0, doporučuje se volit tak, aby ř'(x0) • r'"(x0) > 0 , jinak by x-\ neležel v intervalu (a, b). Jednorozměrná optimalizace - Newtonova metoda Geometrická interpretace je naznačena na obrázku, kde vidíme funkci f'(x) počáteční iteraci x0, poté jsou provedeny tři další iterace. Jednorozměrná optimalizace - Newtonova metoda Geometrická interpretace je naznačena na obrázku, kde vidíme funkci f'(x) počáteční iteraci x0, poté jsou provedeny tři další iterace. / Jednorozměrná optimalizace - Newtonova metoda Geometrická interpretace je naznačena na obrázku, kde vidíme funkci f'(x) počáteční iteraci x0, poté jsou provedeny tři další iterace. / Jednorozměrná optimalizace - Newtonova metoda Geometrická interpretace je naznačena na obrázku, kde vidíme funkci f'(x) počáteční iteraci x0, poté jsou provedeny tři další iterace. / Jednorozměrná optimalizace, Newtonova metoda, příklad Příklad: Nalezněte minimum funkce f(x) = x + 4r s přesností e = 0,05, víte-li, že se nalézá v intervalu (0,5; 3). Jednorozměrná optimalizace, Newtonova metoda, příklad Příklad: Nalezněte minimum funkce f(x) = x + ^ s přesností e = 0,05, víte-li, že se nalézá v intervalu (0,5; 3). Řešení: f'(x) = ^ -{%, f"(x) = $. Zvolme xo — 1.750000 (1. aproximace z metody bisekce) Jednorozměrná optimalizace, Newtonova metoda, příklad Příklad: Nalezněte minimum funkce f(x) — x + s přesností e — 0,05, víte-li, že se nalézá v intervalu (0,5; 3). Řešení: f'(x) = ^ f"(x) = %. Zvolme x0 — 1.750000 (1. aproximace z metody bisekce) 1 .krok: x0 = 1,750000, f'{x0) = -0,119534, f"{x0) = -1,919200 =^ *1 = 1,812283, |xi -x0| = 0,062283 Jednorozměrná optimalizace, Newtonova metoda, příklad Příklad: Nalezněte minimum funkce f(x) = x + s přesností e = 0,05, víte-li, že se nalézá v intervalu (0,5; 3). Řešení: f'(x) = 1 f"(x) = %. Zvolme x0 = 1.750000 (1. aproximace z metody bisekce) 1 .krok: x0 = 1,750000, f'{x0) = -0,119534, f"{x0) = -1,919200 =^ Xi= 1,812283, |xi -x0| = 0,062283 2.krok: x^ = 1,812283, f'{x^) = -0, 008029, f"(x1) = 1,668662 =^ x2 = 1,817095, |x2 - Xi | = 0,004812, výpočet končí: x* « 1,817095 ± 0,05 Jednorozměrná optimalizace - metody využívající derivace V předchozí metodě potřebujeme v každém kroku spočítat jak první, tak druhou derivaci funkce v daném bodě. Jelikož výpočet derivace funkce nemusí být vždy snadný, nahrazuje se tzv. poměrnou diferencí: f'(xk) ~ My tuto aproximaci provedeme pro druhou derivaci: f"(xk) ^ f'(**W(**-i) Xk-Xk_i Jednorozměrná optimalizace - metody využívající derivace V předchozí metodě potřebujeme v každém kroku spočítat jak první, tak druhou derivaci funkce v daném bodě. Jelikož výpočet derivace funkce nemusí být vždy snadný, nahrazuje se tzv. poměrnou diferencí: fil Y, \ ^ f{xk)-f(xk_i) My tuto aproximaci provedeme pro druhou derivaci: Nahradíme-li v iteračním vzorci Newtonovy metody druhou derivaci uvedenou aproximací, dostávame: Právě uvedený vzorec reprezentuje tzv. metodu sečen. K výpočtu jsou třeba dva počáteční body xQ, x-\. Jednorozměrná optimalizace - metody využívající derivace V předchozí metodě potřebujeme v každém kroku spočítat jak první, tak druhou derivaci funkce v daném bodě. Jelikož výpočet derivace funkce nemusí být vždy snadný, nahrazuje se tzv. poměrnou diferencí: f'(xk) ~ My tuto aproximaci provedeme pro druhou derivaci: f"íY, \ ^ f'{xk)-f'(xk_,) Nahradíme-li v iteračním vzorci Newtonovy metody druhou derivaci uvedenou aproximací, dostávame: X^+1 = Xk < f'(xk)-f'(xk^y Právě uvedený vzorec reprezentuje tzv. metodu sečen. K výpočtu jsou třeba dva počáteční body x0, x-\. Tato metoda také není vždy konvergentní, lze ji však modifikovat tak, že do vzorce použijeme místo dvou po sobě jdoucích iterací body xm, xk s co největšími indexy, tak, aby platilo f'{xm) ■ f'{xk) < 0. Tuto modifikaci nazýváme metoda regula falši. Jednorozměrná optimalizace - metoda regula falsi Zázorněme si metodu graficky, bod optima je x* a počáteční iterace jsou x0, xi, provedeme ještě další tři: Jednorozměrná optimalizace - metoda regula falsi Jednorozměrná optimalizace - metoda regula falsi Jednorozměrná optimalizace - metoda regula falsi Jednorozměrná optimalizace - metoda regula falsi, příklad Příklad: Nalezněte minimum funkce f(x) = x + 4r s přesností e = 0,05, víte-li, že se nalézá v intervalu (0,5; 3). Jednorozměrná optimalizace - metoda regula falsi, příklad Příklad: Nalezněte minimum funkce f(x) — x + s přesností e — 0,05, víte-li, že se nalézá v intervalu (0,5; 3). Řešení: Pro nalezení prvních dvou iterací můžeme použít např. metodu bisekce. Tedy: x0 = 1,750000, *i = 2,375000. Ověříme, že f'(xQ)f'(x]) = -0,119534 • 0,552121 < 0. Jednorozměrná optimalizace - metoda regula falsi, příklad Příklad: Nalezněte minimum funkce f(x) — x + s přesností e — 0,05, víte-li, že se nalézá v intervalu (0,5; 3). Řešení: Pro nalezení prvních dvou iterací můžeme použít např. metodu bisekce. Tedy: x0 = 1,750000, xi = 2,375000. Ověříme, že f'(xQ)f'(x]) = -0,119534 • 0,552121 < 0. 1 .krok: x2 = X! + jt^^E^ f'{xi) = 1, 861230, |x2 - *i | = 0,062283 Protože f'{x2) — 0,069426 > 0, použijeme dále x0 a x2. Jednorozměrná optimalizace - metoda regula falsi, příklad Příklad: Nalezněte minimum funkce f(x) — x + s přesností e — 0,05, víte-li, že se nalézá v intervalu (0,5; 3). Řešení: Pro nalezení prvních dvou iterací můžeme použít např. metodu bisekce. Tedy: x0 = 1,750000, *i = 2,375000. Ověříme, že f'(xQ)f'(x]) = -0,119534 • 0,552121 < 0. 1 .krok: x2 = x* + ,,[*)Zx,\Xo)f'^) = 1, 861230, |x2 — x11 = 0,062283 Protože f'{x2) — 0,069426 > 0, použijeme dále x0 a x2. 2.krok: x3 = x2 + n^_f'(x2) = 1, 820363, |x3 - x2| = 0,040867, výpočet končí: x* « 1,820363 ± 0,05. Vícerozměrná numerická optimalizace -přehled Numerické metody bez omezení • Komparativní metody • Gradientní metody • Newtonova metoda a její modifikace • Gaussova-Newtonova metoda • Metody konjugovaných směrů • Metoda konjugovaných gradientů • Kvazi-newtonovské metody • Simulované žíhání, genetické algoritmy, tabu search, atd. Vícerozměrná numerická optimalizace -přehled Numerické metody bez omezení • Komparativní metody • Gradientní metody • Newtonova metoda a její modifikace • Gaussova-Newtonova metoda • Metody konjugovaných směrů • Metoda konjugovaných gradientů • Kvazi-newtonovské metody • Simulované žíhání, genetické algoritmy, tabu search, atd. Numerické metody s omezením • Metody přípustných směrů • Metody aktivních množin • Metoda projekce gradientu • Metoda redukovaného gradientu • Metody pokutových a bariérových funkcí • Metody vnitřního bodu • Sekvenční kvadratické programování Vícerozměrná optimalizace - Komparativní metody Metoda cyklické záměny proměnných převádí vícerozměrnou optimalizaci na posloupnost jednorozměrných optimalizačních úloh ve směru jednotlivých souřadnic: z výchozího bodu provádíme minimalizaci ve směru první souřadnice. Po nalezení lokálního extrému funkce ř(x) ve směru si = (1,0,..., 0) , pokračujeme ve směru druhé souřadnice S2 = (0,1,..., 0) atd., až dostaneme první iteraci. Nevýhodou metody je pomalý výpočet, navíc není ani zaručena konvergence metody. Vícerozměrná optimalizace - Komparativní metody Metoda cyklické záměny proměnných převádí vícerozměrnou optimalizaci na posloupnost jednorozměrných optimalizačních úloh ve směru jednotlivých souřadnic: z výchozího bodu provádíme minimalizaci ve směru první souřadnice. Po nalezení lokálního extrému funkce ř(x) ve směru si = (1,0,..., 0) , pokračujeme ve směru druhé souřadnice S2 = (0,1,..., 0) atd., až dostaneme první iteraci. Nevýhodou metody je pomalý výpočet, navíc není ani zaručena konvergence metody. Vícerozměrná optimalizace - Komparativní metody Metoda cyklické záměny proměnných převádí vícerozměrnou optimalizaci na posloupnost jednorozměrných optimalizačních úloh ve směru jednotlivých souřadnic: z výchozího bodu provádíme minimalizaci ve směru první souřadnice. Po nalezení lokálního extrému funkce ř(x) ve směru si = (1,0,..., 0) , pokračujeme ve směru druhé souřadnice S2 = (0,1,..., 0) atd., až dostaneme první iteraci. Nevýhodou metody je pomalý výpočet, navíc není ani zaručena konvergence metody. Vícerozměrná optimalizace - Komparativní metody Metoda cyklické záměny proměnných převádí vícerozměrnou optimalizaci na posloupnost jednorozměrných optimalizačních úloh ve směru jednotlivých souřadnic: z výchozího bodu provádíme minimalizaci ve směru první souřadnice. Po nalezení lokálního extrému funkce ř(x) ve směru si = (1,0,..., 0) , pokračujeme ve směru druhé souřadnice S2 = (0,1,..., 0) atd., až dostaneme první iteraci. Nevýhodou metody je pomalý výpočet, navíc není ani zaručena konvergence metody. Vícerozměrná optimalizace - Komparativní metody Metoda cyklické záměny proměnných převádí vícerozměrnou optimalizaci na posloupnost jednorozměrných optimalizačních úloh ve směru jednotlivých souřadnic: z výchozího bodu provádíme minimalizaci ve směru první souřadnice. Po nalezení lokálního extrému funkce ř(x) ve směru si = (1,0,..., 0) , pokračujeme ve směru druhé souřadnice S2 = (0,1,..., 0) atd., až dostaneme první iteraci. Nevýhodou metody je pomalý výpočet, navíc není ani zaručena konvergence metody. Metoda cyklické záměny proměnných - příklad Řešme následující úlohu z knihy V. Pánková, Nelineární optimalizace pro ekonomy: Hledejte minimum funkce f(x-\, x2) — —12x2 + 4x2 + 4x2 + 4x1X2 pomocí metody cyklické záměny proměnných. Proveďte první dvě iterace z bodu x° = (1,1 )T . Metoda cyklické záměny proměnných - příklad Řešme následující úlohu z knihy V. Pánková, Nelineární optimalizace pro ekonomy: Hledejte minimum funkce f(x-\, x2) — —12x2 + 4x2 + 4x2 + 4x1X2 pomocí metody cyklické záměny proměnných. Proveďte první dvě iterace z bodu x° = (1,1 )T . Řešení: Při postupu ve směru první proměnné optimalizujeme funkci f(x-\, 1) — -12 + 4x2 + 4 + 4xi, dostaneme x-\ — -\. Následně ve směru druhé proměnné minimalizujeme f{—\,X2) — -12x2 + 1 + 4x| - 2x2, dostaneme x2 — \. Metoda cyklické záměny proměnných - příklad Řešme následující úlohu z knihy V. Pánková, Nelineární optimalizace pro ekonomy: Hledejte minimum funkce f(x-\, x2) — —12x2 + 4x2 + 4x2 + 4x1X2 pomocí metody cyklické záměny proměnných. Proveďte první dvě iterace z bodu x° = (1,1 )T . Řešení: Při postupu ve směru první proměnné optimalizujeme funkci f(x-\, 1) — -12 + 4x2 + 4 + 4xi, dostaneme x-\ — -\. Následně ve směru druhé proměnné minimalizujeme f(-^,x2) — -12x2 + 1 + 4x| - 2x2, dostaneme x2 — \. Dále postupujeme z bodu x1 — (-|, |)T ve směru první proměnné: minimalizujeme f(x-\, j) — -21 +4x2 + ^ + lx^, dostaneme x-i — -\. Poté ve směru druhé proměnné: funkce /r(-|,x2) — -12x2 + ^ +4x| - |x2 nabývá minima pro X2 — fg. Metoda cyklické záměny proměnných - příklad Řešme následující úlohu z knihy V. Pánková, Nelineární optimalizace pro ekonomy: Hledejte minimum funkce f(x-\, x2) — —12x2 + 4x2 + 4x2 + 4x1X2 pomocí metody cyklické záměny proměnných. Proveďte první dvě iterace z bodu x° = (1,1 )T . Řešení: Při postupu ve směru první proměnné optimalizujeme funkci f(x-\, 1) — -12 + 4x2 + 4 + 4x-i, dostaneme x-\ — -\. Následně ve směru druhé proměnné minimalizujeme f(-^,x2) — -12x2 + 1 + 4x| - 2x2, dostaneme x2 — \. Dále postupujeme z bodu x1 — (-|, |)T ve směru první proměnné: minimalizujeme r(x-|, j) — -21 +4x2 + ^ + 7xi, dostaneme x-i — -g. Poté ve směru druhé proměnné: funkce /r(-|,x2) = -12x2 + ^ +4x| - |x2 nabývá minima pro *2 = f§- Dostali jsme odhad x2 — (-|, ^)T , skutečné minimum nastává v bodě x* = (-1,2)T. Vícerozměrná optimalizace - Komparativní metody Metoda pravidelného a flexibilního simplexu: Startuje vytvořením výchozího simplexu v zadaném prostoru (Simplexem v n - rozměrném prostoru rozumíme konvexní obal n + 1 vrcholů v obecné poloze, tj. v rovině je to trojúhelník, v třírozměrném prostoru je to čtyřstěn atd.). Z vrcholů nahradíme ten s nejhorší hodnotou účelové funkce pomocí reflexe vzhledem k těžišti ostatních vrcholů novým vrcholem, čímž vznikne nový simplex, tj. další iterace. Metoda je heuristická, ale názorná a snadno implementovatelná. Vícerozměrná optimalizace - Komparativní metody Metoda pravidelného a flexibilního simplexu: Startuje vytvořením výchozího simplexu v zadaném prostoru (Simplexem v n - rozměrném prostoru rozumíme konvexní obal n + 1 vrcholů v obecné poloze, tj. v rovině je to trojúhelník, v třírozměrném prostoru je to čtyřstěn atd.). Z vrcholů nahradíme ten s nejhorší hodnotou účelové funkce pomocí reflexe vzhledem k těžišti ostatních vrcholů novým vrcholem, čímž vznikne nový simplex, tj. další iterace. Metoda je heuristická, ale názorná a snadno implementovatelná. Rychlost a přesnost nalezení optimálního bodu záleží na velikosti simplexu. Čím větší je simplex, tím se rychleji blížíme k optimu. Přesnost výpočtu naopak vyžaduje malou velikost simplexu. Proto je při výpočtu třeba měnit délku hrany simplexu. V Nelder-Meadově metodě se toto zajistí pomocí operací expanze, kontrakce a redukce základního simplexu. Vícerozměrná optimalizace - metoda pravidelného simplexu Pro volbu pevné velikosti simplexu dosáhneme pouze omezené přesnosti. Vícerozměrná optimalizace - metoda pravidelného simplexu Pro volbu pevné velikosti simplexu dosáhneme pouze omezené přesnosti. Vícerozměrná optimalizace - metoda pravidelného simplexu Pro volbu pevné velikosti simplexu dosáhneme pouze omezené přesnosti. Vícerozměrná optimalizace - metoda pravidelného simplexu Pro volbu pevné velikosti simplexu dosáhneme pouze omezené přesnosti. Vícerozměrná optimalizace - metoda pravidelného simplexu Pro volbu pevné velikosti simplexu dosáhneme pouze omezené přesnosti. Vícerozměrná optimalizace - metoda pravidelného simplexu Pro volbu pevné velikosti simplexu dosáhneme pouze omezené přesnosti. Vícerozměrná optimalizace - metoda pravidelného simplexu Pro volbu pevné velikosti simplexu dosáhneme pouze omezené přesnosti. Vícerozměrná optimalizace - metoda pravidelného simplexu Pro volbu pevné velikosti simplexu dosáhneme pouze omezené přesnosti. Vícerozměrná optimalizace - metoda pravidelného simplexu Pro volbu pevné velikosti simplexu dosáhneme pouze omezené přesnosti. Vícerozměrná optimalizace - metoda pravidelného simplexu Pro volbu pevné velikosti simplexu dosáhneme pouze omezené přesnosti. Vícerozměrná optimalizace - metoda pravidelného simplexu Pro volbu pevné velikosti simplexu dosáhneme pouze omezené přesnosti. Vícerozměrná optimalizace - gradientní metody K nejstarším a zároveň nejpoužívanějším přístupům vícerozměrné numerické optimalizace patří gradientově metody. Ukažme si obecný princip gradientově metody pro minimalizaci diferencovatelné funkce ř(x) pro xeP: O urči výchozí bod x° O urči gradient funkce f v tomto bodě: Vř(x0) O přejdi z bodu x° do bodu x1 ve směru "antigradientu" -Vř(x0) tak, aby ř(x°) > ř(x1). O celý postup opakuj z bodu x1, atd. dokud není splněno pravidlo ukončení výpočtu Vícerozměrná optimalizace - gradientní metody K nejstarším a zároveň nejpoužívanějším přístupům vícerozměrné numerické optimalizace patří gradientově metody. Ukažme si obecný princip gradientově metody pro minimalizaci diferencovatelné funkce ř(x) pro xeP: O urči výchozí bod x° O urči gradient funkce f v tomto bodě: Vř(x0) O přejdi z bodu x° do bodu x1 ve směru "antigradientu" -Vř(x0) tak, aby ř(x°) > ř(x1). O celý postup opakuj z bodu x1, atd. dokud není splněno pravidlo ukončení výpočtu Výpočet je možné ukončit: • po provedení předem stanoveného počtu iterací • pokud hodnota účelové funkce klesne o méně než předem stanovené e, tedy ŕ(x') - ř(x'+1) < e • pokud vzdálenost dvou po sobě jdoucích iterací je menší než předem stanovené e, tedy |x' - x/+11 < e, kde symbolem | • | rozumíme vzdálenost vycházející z euklidovské metriky dané vztahem |x| = yz]/Li xf- Vícerozměrná optimalizace - gradientova metoda s pevným krokem V obecném principu gradientových metod je třeba specifikovat, jak přecházet z bodu x' do bodu x/+1. Víme, že máme postupovat ve směru opačném ke gradientu, ale je třeba stanovit délku kroku. U gradientově metody s pevným krokem je stanovena počáteční délka iteračního kroku, označme ji a. Dále se postupuje následovně: Spočítáme x'+1 -a$$\i ■ Potom: • je-li ř(x/+1) < ŕ(x'), pak pokračujeme s další iterací • jestliže nedošlo k poklesu účelové funkce, pak zmenšíme a (zpravidla na polovinu), iteraci x/+1 přepočítáme a dále už pokračujeme s novou hodnotou a. Při tomto přístupu se nabízí možnost ukončit výpočet při splnění podmínky a < e Vícerozměrná optimalizace - gradientova metoda s pevným krokem Znázorněme si postup metody graficky. V každé iteraci vycházíme ve směru kolmém k vrstevnicím. Vícerozměrná optimalizace - gradientova metoda s pevným krokem Znázorněme si postup metody graficky. V každé iteraci vycházíme ve směru kolmém k vrstevnicím. Vícerozměrná optimalizace - gradientova metoda s pevným krokem Znázorněme si postup metody graficky. V každé iteraci vycházíme ve směru kolmém k vrstevnicím. Vícerozměrná optimalizace - gradientova metoda s pevným krokem Znázorněme si postup metody graficky. V každé iteraci vycházíme ve směru kolmém k vrstevnicím. Vícerozměrná optimalizace - gradientova metoda s pevným krokem Znázorněme si postup metody graficky. V každé iteraci vycházíme ve směru kolmém k vrstevnicím. Gradientova metoda s pevným krokem-příklad Hledejte minimum funkce f(x^, x2) = -12x2 + 4x2 + 4x2 + 4xAx2 pomocí metody s pevným krokem a - 0,1. Proveďte první tři iterace z bodu x° = (0,1 )T . Gradientova metoda s pevným krokem-příklad Hledejte minimum funkce f(x-\, x2) — -12x2 + 4x2 + 4x2 + 4x-\X2 pomocí metody s pevným krokem a — 0,1. Proveďte první tři iterace z bodu x° = (0,1 )T . Řešení: Spočteme gradient Vf{x^, x2) = (8X! + 4x2, -12 + 4x-i + 8x2)T a vyčíslíme x1 = x° - a ■ = (0,1 )T - 0,1 • (4, -4)T • -j- = (-0.0707; 1.0707)^ Gradientova metoda s pevným krokem-příklad Hledejte minimum funkce f(x-\, x2) — -12x2 + 4x2 + 4x2 + 4x-\X2 pomocí metody s pevným krokem a — 0,1. Proveďte první tři iterace z bodu x° = (0,1 )T . Řešení: Spočteme gradient Vf(xi, x2) = (8^ + 4x2, -12 + 4x-i + 8x2)T a vyčíslíme x1 = x° - a ■ ^g], = (0,1 )T - 0,1 • (4, -4)T • ^ = (-0.0707; 1.0707)T. x2 - x1 - a • vf(x1) -a |Vf(xi)| — (-0.0707; 1.0707)T -0,1- (3.7172; -3.7172)T • = (-0.1414; 1.1414) Gradientova metoda s pevným krokem-příklad Hledejte minimum funkce f(x-\, x2) — -12x2 + 4x2 + 4x2 + 4x-\X2 pomocí metody s pevným krokem a — 0,1. Proveďte první tři iterace z bodu x° = (0,1 )T . Řešení: Spočteme gradient Vf{x^, x2) = (8X! + 4x2, -12 + 4x-i + 8x2)T a vyčíslíme x1 = x° - a ■ ^g], = (0,1 )T - 0,1 • (4, -4)T • ^ = (-0.0707; 1.0707)T. x2 - x1 - a • vf(x1) -a |Vf(xi)| — (-0.0707; 1.0707)T -0,1- (3.7172; -3.7172)T • = (-0.1414; 1.1414) x3 = x2 - « ' iw}| = (-0-1414; 1.1414)T - 0,1 • (3.4343)T • ^ = (-0.2121; 1.2121)T. Vícerozměrná optimalizace - metoda největšího spádu Narozdíl od předchozí metody je velikost iteračního kroku proměnlivá. Novou iteraci x/+1 hledáme tak, že postupujeme z x' ve směru antigradientu tak dlouho, dokud účelová funkce klesá. Jinými slovy, zvolíme délku a, tak, aby hodnota ř(x' - avf(x')) byla minimální. Tuto jednorozměrnou minimalizační úlohu můžeme řešit analyticky nebo numericky. Vícerozměrná optimalizace - metoda největšího spádu Narozdíl od předchozí metody je velikost iteračního kroku proměnlivá. Novou iteraci x/+1 hledáme tak, že postupujeme z x' ve směru antigradientu tak dlouho, dokud účelová funkce klesá. Jinými slovy, zvolíme délku a, tak, aby hodnota ř(x' - avf(x')) byla minimální. Tuto jednorozměrnou minimalizační úlohu můžeme řešit analyticky nebo numericky. Metoda největšího spádu rychleji konverguje než metoda s pevným krokem, která navíc může být silně ovlivněna počáteční volbou a. To se samozřejmě odráží i v časové výpočetní náročnosti výpočtu. Na druhou stranu metoda s pevným krokem může být snadnější na implementaci. Vícerozměrná optimalizace - metoda největšího spádu Narozdíl od předchozí metody je velikost iteračního kroku proměnlivá. Novou iteraci x/+1 hledáme tak, že postupujeme z x' ve směru antigradientu tak dlouho, dokud účelová funkce klesá. Jinými slovy, zvolíme délku a, tak, aby hodnota ř(x' - avf(x')) byla minimální. Tuto jednorozměrnou minimalizační úlohu můžeme řešit analyticky nebo numericky. Metoda největšího spádu rychleji konverguje než metoda s pevným krokem, která navíc může být silně ovlivněna počáteční volbou a. To se samozřejmě odráží i v časové výpočetní náročnosti výpočtu. Na druhou stranu metoda s pevným krokem může být snadnější na implementaci. Vícerozměrná optimalizace - metoda největšího spádu Narozdíl od předchozí metody je velikost iteračního kroku proměnlivá. Novou iteraci x/+1 hledáme tak, že postupujeme z x' ve směru antigradientu tak dlouho, dokud účelová funkce klesá. Jinými slovy, zvolíme délku a, tak, aby hodnota ř(x' - avf(x')) byla minimální. Tuto jednorozměrnou minimalizační úlohu můžeme řešit analyticky nebo numericky. Metoda největšího spádu rychleji konverguje než metoda s pevným krokem, která navíc může být silně ovlivněna počáteční volbou a. To se samozřejmě odráží i v časové výpočetní náročnosti výpočtu. Na druhou stranu metoda s pevným krokem může být snadnější na implementaci. Vícerozměrná optimalizace - metoda největšího spádu Narozdíl od předchozí metody je velikost iteračního kroku proměnlivá. Novou iteraci x/+1 hledáme tak, že postupujeme z x' ve směru antigradientu tak dlouho, dokud účelová funkce klesá. Jinými slovy, zvolíme délku a, tak, aby hodnota ř(x' - avf(x')) byla minimální. Tuto jednorozměrnou minimalizační úlohu můžeme řešit analyticky nebo numericky. Metoda největšího spádu rychleji konverguje než metoda s pevným krokem, která navíc může být silně ovlivněna počáteční volbou a. To se samozřejmě odráží i v časové výpočetní náročnosti výpočtu. Na druhou stranu metoda s pevným krokem může být snadnější na implementaci. Metoda největšího spádu- příklad Hledejte minimum funkce f(x^, x2) = -12x2 + 4x2 + 4x2 + 4^x2 pomocí metody největšího spádu. Proveďte první dvě iterace z bodu x° = (0,0)T Metoda největšího spádu- příklad Hledejte minimum funkce f(x-\, x2) — -12x2 + 4x2 + 4x2 + 4x-\X2 pomocí metody největšího spádu. Proveďte první dvě iterace z bodu x° = (0,0)T . Řešení: Víme, že V/r(x1,x2) — (8x^ + Ax2,-J\2 + Axi +8x2)T. Minimalizujeme tedy funkci g,(a) = ř(x° - a • Vř(x0)) = f(0,12a) = -144a + 576a2, dostaneme optimum pro a — 0,125. Metoda největšího spádu- příklad Hledejte minimum funkce f(x-\, x2) — -12x2 + 4x2 + 4x2 + 4x-\X2 pomocí metody největšího spádu. Proveďte první dvě iterace z bodu x° = (0,0)T . Řešení: Víme, že V/r(x1,x2) — (8x^ + Ax2,-J\2 + Axi +8x2)T. Minimalizujeme tedy funkci g,(a) = ř(x° - a • Vř(x0)) = f(0,12a) = -144a + 576a2, dostaneme optimum pro a — 0,125. Tedy xi = x° — 0,125 ■ Vř(x°) — (0; 1,5)T. Dále minimalizujeme funkci g2(a) = ř(x1 - a • Vř(x1)) = ř(-6a; 1,5) = -9 - 36a + 144a2, minimum opět nastává pro a = 0,125. Metoda největšího spádu- příklad Hledejte minimum funkce f(x-\, x2) — -12x2 + 4x2 + 4x2 + 4x-\X2 pomocí metody největšího spádu. Proveďte první dvě iterace z bodu x° = (0,0)T . Řešení: Víme, že Vř(x1,x2) — (8x^ + Ax2,-J\2 + Axi +8x2)T. Minimalizujeme tedy funkci g,(a) = f (v? - a • Vř(x0)) = f(0,12a) = -144a + 576a2, dostaneme optimum pro a — 0,125. Tedy xi = x° - 0,125 • Vr(x0) — (0; 1,5)T. Dále minimalizujeme funkci g2(a) = ř(x1 - a • Vř(x1)) = ř(-6a; 1,5) = -9 - 36a + 144a2, minimum opět nastává pro a = 0,125. Tedy x2 = x1 - 0,125 • Vř(x1) = (-0,75; 1,5)T . Dále bychom minimalizovali funkci g3{a) = ř(x2 - a • Vř(x2)) = f(-0,75; 1, 5 + 0,375a), atd. Vícerozměrná optimalizace - newtonovské metody Podobně jako v jednorozměrném případě v newtonovských metodách funkci ř(x) aproximujeme při přechodu z bodu xk kvadratickou funkcí, tedy Taylorovým polynomem r2(x) = ř(xk) + Vř(xk)T • (x - xk) + l(x - xk)T • H(xk) • (x - xk) a zapíšeme podmínku pro stacionární bod V7"2(x) = 0, neboli Vř(xk)T + H(xk) ■ (x - xk) = 0. Vícerozměrná optimalizace - newtonovské metody Podobně jako v jednorozměrném případě v newtonovských metodách funkci ř(x) aproximujeme při přechodu z bodu xk kvadratickou funkcí, tedy Taylorovým polynomem r2(x) = ř(xk) + Vř(xk)T • (x - xk) + l(x - xk)T • H(xk) • (x - xk) a zapíšeme podmínku pro stacionární bod V7"2(x) = 0, neboli Vř(xk)T + H(xk) • (x - xk) = 0. Další iteraci xk+1 dostaneme jako řešení této soustavy. xk+i = xk - r/(xk)-1 • Vř(xk) Vícerozměrná optimalizace - newtonovské metody Podobně jako v jednorozměrném případě v newtonovských metodách funkci ř(x) aproximujeme při přechodu z bodu xk kvadratickou funkcí, tedy Taylorovým polynomem r2(x) = ř(xk) + Vř(xk)T • (x - xk) + l(x - xk)T • H(xk) • (x - xk) a zapíšeme podmínku pro stacionární bod V7"2(x) = 0, neboli Vř(xk)T + H(xk) • (x - xk) = 0. Další iteraci xk+1 dostaneme jako řešení této soustavy. xk+i = xk - r/(xk)-1 • Vř(xk) Pokud startujeme daleko od minima, je kvadratická aproximace nepřesná a Hessova matice může být singulární nebo negativně definitní. Newtonova metoda pak nefunguje nebo vede k maximu. Proto se používají modifikace Newtonovy metody, například Levenberg - Marquardtova metoda nebo trust region algoritmus. Newtonovské metody - příklad Hledejte minimum funkce ř(xi, x2) = -12x2 + 4x2 + 4x2 + 4^x2 pomocí Newtonovy metody . Proveďte první iteraci z bodu x° — (0,0)T . Newtonovské metody - příklad Hledejte minimum funkce f(x-\, x2) — -12x2 + 4x2 + 4x2 + 4x-\X2 pomocí Newtonovy metody . Proveďte první iteraci z bodu x° = (0,0)T . Řešení: Již známe gradient V/r(x1,x2) = (8x! + 4x2,-12 + 4x-i +8x2)T. Spočteme Hessovu matici: H = ^ ^ g ^, její inverze je H-1 = f %_ j). V 12 12 / Newtonovské metody - příklad Hledejte minimum funkce f(x-\, x2) — -12x2 + 4x2 + 4x2 + 4x-\X2 pomocí Newtonovy metody . Proveďte první iteraci z bodu x° = (0,0)T . Řešení: Již známe gradient V/r(x1,x2) = (8x! + 4x2,-12 + 4x! +8x2)T. Spočteme Hessovu matici: H = ^ ^ g ^, její inverze je H-1 = f %_ j). V 12 12 / Tedy můžeme spočítat první iteraci xi =x»-H-i .Vř(x0)= ( J ) - ( | |) • ( _°2 ) = (-1,2)- . Nalezli jsme přesně bod optima. Vícerozměrná optimalizace - metoda sdružených směrů Metody sdružených (konjugovaných) směrů byly vyvinuty proto, aby urychlily konvergenci gradientních metod a vyhnuly se potížím spojeným s modifikací Newtonovy metody. Nejprve uveďme definici: Definice: Vektory Si,..., sp jsou konjugované vzhledem k symetrické matici Q tehdy, když platí sj ■ Q ■ sy= 0, V1 < i, j < p, / ^ j Vícerozměrná optimalizace - metoda sdružených směrů Metody sdružených (konjugovaných) směrů byly vyvinuty proto, aby urychlily konvergenci gradientních metod a vyhnuly se potížím spojeným s modifikací Newtonovy metody. Nejprve uveďme definici: Definice: Vektory Si,..., sp jsou konjugované vzhledem k symetrické matici Q tehdy, když platí sj ■ Q ■ sy= 0, V1 < i, j < p, / ^ j Pokud funkci ř(x) optimalizujeme postupně ve směrech Si,..., sp konjugovaných vzhledem k Hessově matici H, pro kvadratické funkce máme zajištěnu konvergenci pro p — n . Pro nekvadratické funkce je nutné metodu nejpozději po n+ 1 krocích nastartovat znovu. Metoda bohužel není konstruktivní, neříká, jak sdružené směry určit. V případě, že se směry generují z gradientů a dosavadního směru pohybu, dostaneme modifikaci známou jako metoda sdružených gradientů. Další modifikací je metoda paralelních tečen, PARTAN. Metoda sdružených směrů - příklad Hledejte minimum funkce f(x^, x2) = -12x2 + 4x2 + 4x2 + 4^x2 pomocí metody konjugovaných směrů. Proveďte první dvě iterace z bodu x° — (1,1 )T a jako výchozí směr vezměte Si — (1,0). Metoda sdružených směrů - příklad Hledejte minimum funkce f(x-\, x2) — -12x2 + 4x2 + 4x2 + 4x-\X2 pomocí metody konjugovaných směrů. Proveďte první dvě iterace z bodu x° — (1,1 )T a jako výchozí směr vezměte s-i = (1,0). Řešení: Hessova matice je H = ^ ^ g ^ . Směr s2 — (a, b)T je sdružený s s-i vzhledem k matici H pokud s1 • H • s2 — 8a + 4b — 0. To je splněno například pro a = 1, b— 2. Metoda sdružených směrů - příklad Hledejte minimum funkce f(x-\, x2) — -12x2 + 4x2 + 4x2 + 4x-\X2 pomocí metody konjugovaných směrů. Proveďte první dvě iterace z bodu x° — (1,1 )T a jako výchozí směr vezměte s-i = (1,0). Řešení: Hessova matice je H = ^ ^ g ^ . Směr s2 — (a, b)T je sdružený s s-i vzhledem k matici H pokud s1 • H • s2 — 8a + 4b — 0. To je splněno například pro a = 1, b— 2. Začneme minimalizaci z x° ve směru s-i: gi (a) = f(1 + a, 1) — 12a + 4a2, což je minimální pro a — -§, takže x1 = (-1,1 )T. Metoda sdružených směrů - příklad Hledejte minimum funkce f(x-\, x2) — -12x2 + 4x2 + 4x2 + 4x-\X2 pomocí metody konjugovaných směrů. Proveďte první dvě iterace z bodu x° — (1,1 )T a jako výchozí směr vezměte s-i = (1,0). Řešení: Hessova matice je H = ^ ^ g ^ . Směr S2 — (a, b)T je sdružený s s-i vzhledem k matici H pokud s1 • H • s2 — 8a + 4b — 0. To je splněno například pro a = 1, b— 2. Začneme minimalizaci z x° ve směru s-i: gi (a) = f(1 + a, 1) — 12a + 4a2, což je minimální pro a — -§, takže x1 = (-1,1 )T. Pokračujeme minimalizací z x1 ve směru s2: g2(a) — ř(-j + a, 1 - 2a) — 9 + 12a + 12a2, což je minimální pro a — —^, takže x2 = (-1,2)T . Nalezli jsme přesně optimum funkce. Vícerozměrná optimalizace - kvazi-newtonovské metody a Gauss-Newtonova metoda Kvazi-newtonovské metody jsou gradientní metody, které leží někde mezi metodou nejrychlejšího spádu a Newtonovou metodou a snaží se využít předností obou metod. Gradientní metody mají zaručenou konvergenci a Newtonova metoda v okolí optima konverguje rychle. Newtonova metoda ale vyžaduje výpočet Hessovy matice, respektive její inverze. Aproximujeme-li tyto matice na základě dat z jednotlivých kroků iteračního algoritmu, dostaneme metodu Broydena, Fletchera, Goldfarba a Shannoa (BFGS) nebo metodu Davidona, Fletchera a Powella (DFP). Vícerozměrná optimalizace - kvazi-newtonovské metody a Gauss-Newtonova metoda Kvazi-newtonovské metody jsou gradientní metody, které leží někde mezi metodou nejrychlejšího spádu a Newtonovou metodou a snaží se využít předností obou metod. Gradientní metody mají zaručenou konvergenci a Newtonova metoda v okolí optima konverguje rychle. Newtonova metoda ale vyžaduje výpočet Hessovy matice, respektive její inverze. Aproximujeme-li tyto matice na základě dat z jednotlivých kroků iteračního algoritmu, dostaneme metodu Broydena, Fletchera, Goldfarba a Shannoa (BFGS) nebo metodu Davidona, Fletchera a Powella (DFP). Gaussova-Newtonova metoda řeší problém minimalizace kritéria ve tvaru nejmenších čtverců nelineární funkce. Vícerozměrná optimalizace - kvazi-newtonovské metody a Gauss-Newtonova metoda Kvazi-newtonovské metody jsou gradientní metody, které leží někde mezi metodou nejrychlejšího spádu a Newtonovou metodou a snaží se využít předností obou metod. Gradientní metody mají zaručenou konvergenci a Newtonova metoda v okolí optima konverguje rychle. Newtonova metoda ale vyžaduje výpočet Hessovy matice, respektive její inverze. Aproximujeme-li tyto matice na základě dat z jednotlivých kroků iteračního algoritmu, dostaneme metodu Broydena, Fletchera, Goldfarba a Shannoa (BFGS) nebo metodu Davidona, Fletchera a Powella (DFP). Gaussova-Newtonova metoda řeší problém minimalizace kritéria ve tvaru nejmenších čtverců nelineární funkce. Na závěr ještě podotkněme, že metody obecně nejsou globálně konvergentní, doporučuje se tedy optimalizaci spustit vícekrát z různých počátečních bodů. Stále jsou vyvíjeny nové algoritmy, z modernějších metod můžeme zmínit simulované žíhání, genetické algoritmy, tabu search, atd. Literatura • Fletcher, Roger: Practical methods of optimization, 1st ed., Chichester: John Wiley and Sons, 1987. • Šubrt, Tomáš a kol.: Ekonomicko-matematické metody, Plzeň : Vydavatelství a nakladatelství Aleš Čeněk, 2011 a Pánková, Václava: Nelineární optimalizace pro ekonomy,1. vyd., Praha : Professional Publishing, 2003 • Intriligator, Michael D.: Mathematical optimization and economic theory.Philadelphia : Siam, 2002 a Jablonský, Josef, Petr Fiala, Miroslav Maňas: Vícekriteriální rozhodování,1. vyd.,Praha : Vysoká škola ekonomická v Praze, 1994. • Klapka, Jindřich, Jiří Dvořák, Pavel Popela Metody operačního výzkumu, Vyd. 2., Brno : VUTIUM, 2001 • Klein, Michael W.: Mathematical methods for economics, 2nd ed., Boston : Add i so n-Wesley, c2002 • JABLONSKÝ, Josef: Operační výzkum kvantitativní modely pro ekonomické rozhodování, 1. vyd. Praha: Professional Publishing, 2002 • PLEVNÝ, Miroslav a Miroslav ŽIŽKA: Modelování a optimalizace v manažerském rozhodování, Vyd. 2. Plzeň: Západočeská univerzita, 2010 • GROS, Ivan: Kvantitativní metody v manažerském rozhodování, 1. vyd. Praha: Grada, 2003 <1( , ^q