Pravděpodobnost, statistika a operační výzkum RNDr. Břetislav Fajmon, Ph.D. Mgr. Jan Koláček, Ph.D. ÚSTAV MATEMATIKY Pravděpodobnost, statistika a operační výzkum 1 Obsah I Statistické metody 6 1 Odhad parametrů, t-test, intervaly spolehlivosti 6 1.1 Nestranný a konzistentní odhad parametru rozdělení . . . . . . . . . . . . 6 1.2 t-test typu „µ =konstanta . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.3 Několik poznámek ke statistickému testu . . . . . . . . . . . . . . . . . . . 18 1.3.1 Logika formulace „nezamítáme H0 . . . . . . . . . . . . . . . . . . 18 1.3.2 Snížení rozptylu zvyšuje sílu testu . . . . . . . . . . . . . . . . . . . 20 1.4 Interval spolehlivosti pro střední hodnotu µ . . . . . . . . . . . . . . . . . 21 1.4.1 Interval spolehlivosti pro µ při známém rozptylu . . . . . . . . . . . 21 1.4.2 Interval spolehlivosti pro µ při neznámém rozptylu . . . . . . . . . 22 1.4.3 Několik důležitých poznámek k intervalům spolehlivosti . . . . . . . 24 1.5 t-test typu „µ1 = µ2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 1.5.1 Párový test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 1.5.2 Nepárový test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 1.6 Předpoklady použitelnosti parametrických testů . . . . . . . . . . . . . . . 34 1.7 Shrnutí . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 1.8 Otázky k opakování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 1.9 Příklady ke cvičení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2 Analýza rozptylu 39 2.1 Jednofaktorová analýza rozptylu . . . . . . . . . . . . . . . . . . . . . . . . 39 2.1.1 Příklad a vzorce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.1.2 Důležité drobnosti k zapamatování . . . . . . . . . . . . . . . . . . 52 2.2 Dvoufaktorová analýza rozptylu . . . . . . . . . . . . . . . . . . . . . . . . 53 2.2.1 Příklady a vzorce . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 2.2.2 Dvě poznámky jako bonus . . . . . . . . . . . . . . . . . . . . . . . 64 2.3 Experiment opakovaného měření . . . . . . . . . . . . . . . . . . . . . . . . 68 3 Korelační přístup, regresní přímka 69 4 Po analýze rozptylu nebo místo ní 70 5 Rozdělení χ2 71 6 Neparametrické testy 72 II Operační výzkum 73 2 Fakulta elektrotechniky a komunikačních technologií VUT v Brně 7 Lineární programování 74 7.1 Grafické řešení úlohy lineárního programování . . . . . . . . . . . . . . . . 78 7.2 Analýza citlivosti na základě grafického náhledu . . . . . . . . . . . . . . . 80 7.3 Algebraické řešení úlohy lineárního programování – simplexová metoda . . 84 7.4 Analýza citlivosti pomocí výstupní simplexové tabulky . . . . . . . . . . . 90 7.5 Obecný tvar simplexové metody s využitím umělých proměnných . . . . . 92 7.6 Úskalí simplexové metody . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 7.7 Shrnutí . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 7.8 Otázky k opakování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 7.9 Příklady ke cvičení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 8 Dualita v úlohách lineárního programování 107 8.1 Formulace duální úlohy lineárního programování . . . . . . . . . . . . . . . 107 8.2 Vztah mezi řešením primární a duální úlohy . . . . . . . . . . . . . . . . . 110 8.3 Pojem inverzní matice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 8.4 Ekonomická interpretace duality . . . . . . . . . . . . . . . . . . . . . . . . 116 8.5 Duální simplexová metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 8.6 Analýza citlivosti v celé své kráse . . . . . . . . . . . . . . . . . . . . . . . 120 8.7 Shrnutí . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 8.8 Otázky k opakování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 8.9 Příklady ke cvičení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 9 Dopravní úloha 125 9.1 Řešení dopravního problému . . . . . . . . . . . . . . . . . . . . . . . . . . 130 9.2 Přiřazovací úloha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 9.3 Problém překladu materiálu . . . . . . . . . . . . . . . . . . . . . . . . . . 147 9.4 Shrnutí . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 9.5 Otázky k opakování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 9.6 Příklady ke cvičení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 10 Dynamické programování 154 10.1 Shrnutí . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 10.2 Otázky k opakování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 10.3 Příklady ke cvičení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 11 Modely skladových zásob 170 11.1 Deterministické modely . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 11.1.1 Statický model pro jednu položku . . . . . . . . . . . . . . . . . . . 170 11.1.2 Statický model pro jednu položku s diskontními cenami . . . . . . . 172 11.1.3 Statický model pro více druhů zboží s omezením skladového prostoru174 11.1.4 Dynamický model pro jednu položku a N období . . . . . . . . . . 176 11.1.5 Dynamický model plánování výroby jedné položky na N období . . 182 11.2 Pravděpodobnostní modely . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 11.2.1 Model nepřetržité kontroly pro jednu položku . . . . . . . . . . . . 188 Pravděpodobnost, statistika a operační výzkum 3 11.2.2 Model pro jednu položku a jedno období s jednorázovou objednávkou na začátku období a jednorázovou poptávkou . . . . . . . . . . 191 11.2.3 Model pro jednu položku a jedno období se stejnoměrnou poptávkou v průběhu celého období . . . . . . . . . . . . . . . . . . . . . . . . 194 11.2.4 Model pro jednu položku a jedno období s jednorázovou poptávkou na začátku období, přičemž uvažujeme cenu K objednávky . . . . . 195 11.3 Shrnutí . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 11.4 Otázky k opakování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 11.5 Příklady ke cvičení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 12 Pravděpodobnostní dynamické programování 208 12.1 Shrnutí . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 12.2 Otázky k opakování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 12.3 Příklady ke cvičení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 13 Odpovědi na otázky a výsledky příkladů ke cvičení 222 13.1 Výsledky cvičení ke kapitole 1 . . . . . . . . . . . . . . . . . . . . . . . . . 222 13.2 Výsledky cvičení ke kapitole 7 . . . . . . . . . . . . . . . . . . . . . . . . . 224 13.3 Výsledky cvičení ke kapitole 8 . . . . . . . . . . . . . . . . . . . . . . . . . 225 13.4 Výsledky cvičení ke kapitole 9 . . . . . . . . . . . . . . . . . . . . . . . . . 225 13.5 Výsledky cvičení ke kapitole 10 . . . . . . . . . . . . . . . . . . . . . . . . 226 13.6 Výsledky cvičení ke kapitole 11 . . . . . . . . . . . . . . . . . . . . . . . . 226 13.7 Výsledky cvičení ke kapitole 12 . . . . . . . . . . . . . . . . . . . . . . . . 227 4 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Seznam tabulek 1.1 Kritické hodnoty t-testu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.2 Kritické hodnoty F-testu pro α = 0,05. . . . . . . . . . . . . . . . . . . . . 46 2.3 Kritické hodnoty F-testu pro α = 0,01. . . . . . . . . . . . . . . . . . . . . 47 2.4 Vzorce pro typy rozpylu u jednofaktorové ANOVA . . . . . . . . . . . . . . 50 Pravděpodobnost, statistika a operační výzkum 5 Úvod Tato skripta jsou napsána jako doplňující text předmětu MPSO pro první a druhý ročník magisterského studia FEKT. Daný předmět se skládá ze dvou odlišných oblastí matematiky – statistiky a operačního výzkumu. Jádrem první části je zejména učebnice [1], jádrem druhé části jsou některé kapitoly učebnice [4]. V oblasti statistiky se studenti seznámí s mnoha dalšími statistickými testy a snad dosáhnou cíle, kterým je vytvořit jistý cit o vhodnosti použití toho či onoho statistického testu. V oblasti operačního výzkumu budou studenti jen lehce uvedeni do mnohavrstevné otázky optimalizačních metod a hledání optimálního řešení. Obor optimalizace nebude ovšem „navštíven do té míry, kterou by technické aplikace vyžadovaly – mnohé třídy řešených úloh praxe nebudou v zorném poli předmětu. Text začal vznikat v roce 2005 a část „operační výzkum je hotová. Část „statistické metody bude doplňována v průběhu několika příštích let, nepřepsaný rukopis je k dispozici na adrese http://www.umat.feec.vutbr.cz/~fajmon/mpso/mpso.zip (oproti elektronickému textu je v rukopisu několik změn označení – lze je zjistit porovnáním příslušných stránek). autoři, Brno 2005 6 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Část I Statistické metody Předmět MPSO je po BMA3 už druhým předmětem, jehož část se zabývá pravděpodobností a statistikou. Zatímco v předmětu BMA3 byla těžištěm zájmu pravděpodobnost, v této části předmětu MPSO bude těžištěm zejména statistika. Protože základní principy statistiky byly už probrány v předmětu BMA3, doporučujeme příslušné oddíly projít ještě jednou – jedná se o oddíly 11.3 (základní principy statistického testu), 11.4 (příklad diskrétního jednostranného testu), 13.5 (příklad spojitého testu jednostranného i oboustranného), 14.3 (spojitý test průměru měřených hodnot) v elektronickém textu BMA3. Uvedené opakování se bude určitě hodit. Také tabulku hodnot distribuční funkce Φ normovaného normálního rozdělení U z textu BMA3 budete možná ještě potřebovat. Protože čtenář už snad zná aspoň některé principy statistického uvažování, „vkročíme přímo do děje další části . Omluvte prosím témata některých příkladů – i když už máme k dispozici učebnici [2] šitou na míru inženýrského studia, příklady z učebnice [1] jsou vzaty z oboru sociologie a v některých případech se jich budeme držet. Snad to nebude na újmu statistické části textu, která se zabývá popisem veličin a zpracováním dat bez ohledu na to, v jakém oboru byla data získána. 1 Odhad parametrů, t-test, intervaly spolehlivosti 1.1 Nestranný a konzistentní odhad parametru rozdělení Ve statistických testech v kapitolách 13, 14 textu BMA3 jsme tiše předpokládali, že rozptyl σ2 je známý. To ale ve skutečnosti většinou není pravda a my jej musíme odhadnout (= přibližně určit). Proto se nyní pustíme do trochy teorie a praxe v odhadování parametrů. Příklad 1.1 Pět sad součástek o dvaceti kusech bylo podrobeno zkouškám extrémních teplot. U každé sady je v tabulce uveden počet součástek z daných dvaceti, které v teplotní zkoušce obstály: z 20 obstálo xi xi − x (xi − x)2 13 0 0 11 -2 4 12 -1 1 15 2 4 14 1 1 V tabulce už byla využita hodnota průměru 1 5 xi = 13. Ve třetím sloupci tabulky jsou uvedeny čtverce odchylek od průměru, odkud spočteme empirický rozptyl (= průměr čtverců odchylek od průměru ... :-)): s2 = 1 5 (xi − x)2 = 10 5 = 2. Pravděpodobnost, statistika a operační výzkum 7 Jedná se o měření hodnot náhodné veličiny, kterou je možné popsat střední hodnotou µ a rozptylem σ2 . Ovšem tyto hodnoty neznáme - pokusíme se je odhadnout. Otázka zní: Jak dobrým odhadem pro µ je průměr x? Jak dobrým odhadem pro σ2 je empirický rozptyl s2 ? Jak už bylo řečeno v oddílech 14.1, 14.2 textu BMA3, hodnoty x, s2 jsou různé pro různé soubory měření, při jejich popisu užíváme náhodné veličiny X1, X2, . . . , XN označované jako náhodný výběr. Zde v teorii odhadů je potřeba tento i následující pojmy uvést přesně. Definice 1.1 Říkáme, že veličiny X1, X2, . . . , XN tvoří náhodný výběr rozsahu N z rozdělení pravděpodobnosti o distribuční funkci F(x), pokud a) jsou navzájem nezávislé; b) mají stejné rozdělení pravděpodobnosti zadané distribuční funkcí F(x). Rozlišujeme tedy stejně jako ve 14.2 (BMA3) malá a velká písmena. Třeba v příkladu 1.1 je x1 = 13, ale stejně dobře jsme mohli naměřit x1 = 10 nebo x1 = 17 – tuto náhodnost prvního měření reprezentuje náhodná veličina X1, které nepřiřazujeme žádnou konkrétní hodnotu, pouze jsme si vědomi, že pod (velkým písmenem) X1 se mohou skrývat různé hodnoty. Podobně se mohou skrývat různé hodnoty pod veličinami X2, . . . , XN . Definice 1.2 Libovolnou funkci TN := T(X1, X2, . . . , XN ) nad náhodným výběrem X1, X2, . . . , XN nazveme statistikou. Specielně a) Statistiku X = 1 N · N i=1 Xi (1.1) nazveme výběrovým průměrem; b) Statistiku S2 = 1 N − 1 · N i=1 (Xi − X)2 (1.2) nazveme výběrovým rozptylem. Dále pokud do statistiky TN dosadíme konkrétní naměřené hodnoty x1, x2, . . . , xN , dostaneme hodnotu tN = t(x1, x2, . . . , xN ), která se nazývá realizací statistiky TN . Například pokud dosadíme do vzorců 1.1, 1.2 konkrétní hodnoty měření xi, dostaneme realizaci x výběrového průměru X a realizaci s2 výběrového rozptylu S2. No a nyní nás bude zajímat, jak dobrým odhadem neznámé střední hodnoty µ veličiny X je realizace x výběrového průměru X (respektive jak dobrým odhadem neznámého rozptylu σ jsou realizace s2 , s2 veličin S2 , S2). 8 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Definice 1.3 Statistiku TN nazveme nestranným odhadem parametru γ, pokud ETN = γ (střední hodnota veličiny TN je rovna hodnotě parametru γ). Vysvětlení pojmu nestrannosti pomocí konkrétních hodnot měření: pokud budeme opakovaně měřit hodnoty x1,i, x2,i, . . . , xN,i a opakovaně počítat realizace tN,i = t(x1,i, x2,i, . . . , xN,i) nestranného odhadu TN parametru γ pro i = 1, 2, . . . , n, . . . , bude platit vztah lim n→∞ P 1 n n i=1 tN,i ∈ (γ − ε; γ + ε) = 1 (1.3) platí pro každé malé pevně zvolené reálné kladné ε. Laicky řečeno, pokud TN je nestranným odhadem parametru γ rozdělení veličiny X, tak pro rostoucí n (= rostoucí počet realizací tN,i) je průměr realizací 1 n n i=1 tN,i skoro jistě (= s pravděpodobností rovnou jedné) stále blíže hodnotě γ. Jinými slovy, nestrannost zaručuje takovou konstrukci vzorce pro TN , která bere v úvahu všechny možné dostupné realizace tN,i a nestraní žádné z nich – pro rostoucí počet realizací se aritmetický průměr těchto realizací skoro jistě blíží neznámé hledané hodnotě γ. Definice 1.4 Statistiku TN nazveme konzistentním odhadem parametru γ, pokud posloupnost náhodných veličin (TN )∞ N=1 konverguje k hodnotě parametru γ podle pravděpodobnosti, tj. lim N→∞ P (TN ∈ (γ − ε; γ + ε)) = 1 (1.4) platí pro každé malé pevně zvolené reálné kladné ε. Laicky řečeno, pokud TN je konzistentním odhadem parametru γ rozdělení veličiny X, tak pro rostoucí N (= rostoucí počet měření pro výpočet jedné realizace) je hodnota tN skoro jistě (= s pravděpodobností rovnou jedné) stále blíže hodnotě γ. Jinými slovy, konzistence zaručuje takovou konstrukci vzorce pro TN , která je konzistentní (= česky: důsledná) v tom ohledu, že pro rostoucí počet měření při výpočtu jedné realizace se tato realizace skoro jistě blíží neznámé hledané hodnotě γ. Uvedené definice nyní osvětlíme konkrétně při hledání odhadu střední hodnoty µ a rozptylu σ2 veličiny X s normálním rozdělením pravděpodobnosti. Věta 1.1 Pokud náhodná veličina X má konečnou střední hodnotu µ, tak výběrový průměr X je nestranným a konzistentním odhadem µ. Pravděpodobnost, statistika a operační výzkum 9 Skutečně, v odstavci 14.2 textu BMA3 bylo spočteno, že a) µX = EX = E 1 N Xi = µ, tj. střední hodnota náhodné veličiny X je rovna parametru µ; tedy odhad X je nestranným odhadem střední hodnoty µ. b) σ2 X = DX = D 1 N Xi = σ2 N a platí lim N→∞ DX = lim N→∞ σ2 N = 0, tj. limita rozptylu odhadu X pro rostoucí počet měření je rovna nule – jinými slovy, realizace odhadu X se pro rostoucí počet měření skoro jistě blíží hodnotě µ, čili X je konzistentním odhadem hodnoty µ. Čili vzorec pro průměr hodnot x funguje přesně tak, jak potřebujeme – „nestraní konkrétnímu měření a „skoro jistě směřuje přímo k určení střední hodnoty µ, a dále je konzistentní (= důsledný) v tom smyslu, že průměr tisíce hodnot je „skoro jistě lepší odhadem µ než průměr stovky hodnot. Otázkou nyní je najít nejvhodnější odhad pro neznámý rozptyl σ2 veličiny X. Máme k dispozici hodnotu S2 jako míru vychýlení od průměru – je ona tím nejvhodnějším odhadem hodnoty σ2 ? Věta 1.2 Pokud náhodná veličina X má konečnou střední hodnotu µ a konečný rozptyl σ2 , tak nestranným a konzistentním odhadem rozptylu σ2 veličiny X je výběrový rozptyl S2 := 1 N − 1 N i=1 (Xi − X)2 = N − 1 N · S2 . Při vysvětlení obsahu předchozí věty začněme nejprve u odhadu S2 zopakováním vzorce – v textu BMA3 (kap. 10) bylo řečeno, že empirický rozptyl s2 lze vyjádřit buď z definice jako s2 = 1 N · N i=1 (xi − x)2 , (1.5) nebo po úpravách ve tvaru praktičtějším pro výpočet (= průměr čtverců minus čtverec průměru) s2 = 1 N N i=1 x2 i − x2 . (1.6) Při matematickém popisu nyní musíme konkrétní měřené hodnoty ve vzorcích nahradit náhodnými veličinami s velkými písmeny a dostáváme S2 = 1 N · N i=1 (Xi − X)2 , (1.7) 10 Fakulta elektrotechniky a komunikačních technologií VUT v Brně respektive S2 = 1 N N i=1 X2 i − X 2 . (1.8) a) Užijeme zde známých faktů z oddílu 14.2 textu BMA3, že totiž σ2 = EX2 i − µ2 , a dále platí σ2 X = EX 2 − µ2 . Vypočtěme střední hodnotu veličiny S2 : ES2 = E 1 N X2 i − X 2 = 1 N EX2 i − EX 2 = = 1 N (σ2 + µ2 ) − (σ2 X + µ2 ) = = σ2 + µ2 − σ2 X − µ2 = σ2 − σ2 X = σ2 − σ2 N = N − 1 N · σ2 . Čili střední hodnota statistiky S2 není rovna odhadovanému parametru σ2 , to znamená, že S2 není nestranným odhadem rozptylu σ2 . Zkrátka a dobře vzoreček 1.7 není dobře zkonstruován, protože jeho realizace s2 jsou vždy trochu menší než neznámá hledaná hodnota σ2 s2 . = N − 1 N · σ2 < σ2 , až na patologické případy σ2 = 0 a σ2 = ∞, které nás nezajímají (matematicky jsou takové náhodné veličiny zkonstruovatelné, ale v praxi měřené veličiny mají vždy konečný kladný rozptyl). Ale k nalezení nestranného odhadu už máme jen krok – můžeme se totiž poučit z výpočtu ES2 . Pokud vynásobíme S2 konstantou N N−1 (označme novou veličinu S2): S2 := N N − 1 · S2 , (1.9) tak dostaneme ES2 = N N − 1 · ES2 = N N − 1 · N − 1 N · σ2 = σ2 , čili S2 už je nestranným odhadem hodnoty σ2 . b) Dá se ukázat, že S2 je i konzistentním odhadem rozptylu σ2 , což plyne z faktu, že lim N→∞ σ2 S2 = 0, ale to zde už podrobně provádět nebudeme. Dále budeme jako nestranný a konzistentní odhad rozptylu σ2 veličiny X užívat tedy statistiku S2. Má tedy ještě nějaký smysl „stará a překonaná hodnota S2 ? Vrátíme-li se k příkladu 1.1, kde s2 = 2, lze vypočíst s2 = 5 4 · 2 = 2,5. Pravděpodobnost, statistika a operační výzkum 11 1. Hodnota s2 = 2 má svou váhu – vyjadřuje rozptyl souboru uvedených pěti měření. Jedná se o empirický rozptyl – rozptyl naměřených hodnot. 2. Skutečný rozptyl σ2 veličiny přeživších součástek je větší než rozptyl měření u pěti sad – proto je s2 = 2,5 jeho vhodnějším odhadem. V příkladu 1.1 můžeme uzavřít, že počet přeživších součástek ze sady dvaceti při extrémní teplotní zátěži lze popsat normálním rozdělením s parametry µ . = x = 13, σ2 . = s2 = 2,5. Jednoduše řečeno, rozptyl s2 vypočtený z několika naměřených hodnot je vždy o něco menší než skutečný rozptyl σ2 měřené veličiny. Proto při odhadu σ2 musíme vypočtené s2 „trochu zvětšit vynásobením členem N N−1 . Další možný tvar vzorce pro S2 lze získat po úpravách s využitím 1.8 a vztahu X = 1 N · Xi: S2 = N N − 1 · S2 = N N − 1 · 1 N X2 i − 1 N2 Xi 2 , a tedy po vykrácení konstantou N a roznásobení závorky dostaneme S2 = 1 N − 1 · N i=1 X2 i − 1 N(N − 1) · N i=1 Xi 2 . (1.10) Definice 1.5 Výraz ss := (xi − x)2 budeme nazývat součet čtverců měření veličiny X. Při tomto označení platí S2 = 1 N · SS (1.11) a zejména S2 = 1 N − 1 · SS. (1.12) S pojmem součtu čtverců budeme ještě pracovat zejména v kapitolách 2 a 4. Podle okolností budeme při výpočtu S2 užívat vzorec 1.2, 1.9, 1.10 nebo 1.12. Zbývá ještě vyjádření k takzvanému počtu stupňů volnosti odhadu. 12 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Příklad 1.2 Kdybych vám řekl, abyste mi nadiktovali pět reálných čísel, a nedal žádnou další podmínku nebo omezení, mohli byste říct čísla, jaká chcete, například 0, 70, 314, 32, 100. Máte svobodu volby, která čísla vybrat. Jinými slovy, máte pět stupňů volnosti, protože si zcela svobodně a volně vybíráte pět čísel. Kdyby ale úkol zněl: Nadiktujte mi pět čísel, jejichž průměr je 25, trochu bych vaši volnost omezil – první čtyři čísla byste mohli volit libovolně, například 0, 70, 314, 32, ale páté číslo je mým požadavkem jednoznačně určeno. Aby průměr pěti čísel byl 25, jejich součet musí být roven 5 · 25 = 125, tj. páté číslo musí být rovno 125 − 416 = −291. Tuto druhou úlohu lze charakterizovat tím, že stupeň její volnosti je 4. Čili obecně pro N hodnot, u kterých je předem dán jejich průměr, zbývá N − 1 stupňů volnosti. Podobná situace se objevuje i při odhadování rozptylu populace: Uvažujeme-li soubor měření N hodnot jisté veličiny X, z nich lze určit průměr x. Chceme-li dále odhadnout rozptyl pro tuto konkrétní (už určenou) hodnotu x, máme už jen N − 1 stupňů volnosti (ve vzorci pro s2 hodnotu x potřebujeme znát, protože při určení s2 počítáme totiž míru vychýlení měření právě od hodnoty x). Tedy třeba v příkladu 1.1 má odhad rozptylu s2 = 2,5 čtyři stupně volnosti. Tento přístup určení počtu stupňů volnosti lze užít i na některé další situace v tomto textu. Obecně platí: Počet stupňů volnosti odhadu = počet měření minus počet parametrů odhadnutých již dříve. Pravděpodobnost, statistika a operační výzkum 13 1.2 t-test typu „µ =konstanta Příklad 1.3 Je známa následující grafická iluze (viz obr. 1.1), že totiž úsečka a se zdá delší než úsečka b (počítá se délka bez koncových šipek), i když ve skutečnosti jsou obě úsečky stejně dlouhé. a b Obr. 1.1: K př. 1.3: Grafická iluze: délky úseček a, b jsou stejné. Chceme nyní experimentem ověřit, že úsečka typu a se zdá pozorovateli delší sama o sobě, bez porovnání s úsečkou b. Náhodně vybraným pěti lidem jsme na deset sekund ukázali úsečku a dlouhou 6 cm. Poté jsme je požádali, aby úsečku dané délky nakreslili, a změřili jsme její délku. Byla získána data x1 = 8, x2 = 11, x3 = 9, x4 = 5, x5 = 7. Průměr těchto dat je x = 8 cm. Chceme testovat hypotézu, že střední hodnota µ celé lidské populace při ohodnocení délky úsečky je významně větší než její skutečná délka 6 cm. V této situaci neznáme rozptyl σ2 měřené veličiny a musíme jej odhadnout pomocí s2. Pak testovacím kritériem nebude x − 6 σ√ N (jako tomu bylo v kap. 14 textu BMA3), ale tzv. rozdělení t s hodnotou vypočtenou podle vztahu t := x − 6 S√ N , kde S = S2. Toto t-rozdělení odvodil jistý pan William Sealy Gosset – ovšem příslušný článek uveřejnil nikoli pod svým vlastním jménem, ale pod jménem Student, a rozdělení je tedy známo pod názvem Studentovo t-rozdělení. 14 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Hustota t-rozdělení závisí na počtu ν stupnů volnosti, se kterými se určí odhad rozptylu S2, a má tvar fν(x) = 1 √ ν · β(1 2 , ν 2 ) · 1 + x2 ν 1+ν 2 = Γ(1+ν 2 ) √ π · ν · Γ(ν 2 ) · 1 + x2 ν 1+ν 2 , podle toho, zda se čtenáři více líbí funkce β(p, q) = 1 0 u1−p · (1 − u)1−q u. (tzv. β-funkce), nebo funkce Γ(r) = ∞ 0 ur−1 · e−u u. (tzv. Γ-funkce). Přechod mezi jednotlivými verzemi vzorce hustoty plyne ze vztahu mezi β-funkcí a Γ-funkcí β(p, q) = Γ(p) · Γ(q) Γ(p + q) a z jedné další drobnosti, že totiž Γ(1 2 ) = √ π (tato drobnost je vypočtena například v učebnici [3], která je více zaměřena na odvozování matematických vztahů v porovnání třeba s učebnicí [2]). Funkce fν(x) je opět jedna z funkcí, kterou by člověk nerad potkal pozdě v noci v lese, ale ukazuje se, že i takové funkce jsou užitečné. Uveďme zde některé vlastnosti t-rozdělení, které budeme využívat: a) Hustota fν je symetrickou funkcí vzhledem k ose y, tj. je sudá: platí fν(x) = fν(−x). b) Kritická t-hodnota je dále od počátku než kritická U-hodnota, protože t-rozdělení je odvozeno při neznámém rozptylu, tj. zahrnuje větší míru náhodnosti a nejistoty než U-rozdělení (veličina t má větší rozptyl než veličina U). Hustota rozdělení t je „nižší a širší než hustota rozdělení U. c) Čím lepší je náš odhad neznámého rozptylu σ měřené veličiny, tím více se t-rozdělení bude podobat U-rozdělení. A odhad rozptylu bude tím lepší, čím vyšší je počet měření N (tj. čím vyšší je počet stupňú volnosti ν). Vlastnosti b), c) lze znázornit graficky porovnáním U-rozdělení s t-rozdělením o různém počtu ν stupňů volnosti – (hustota U-rozdělení je v obrázcích znázorněna plnou čarou, hustota t-rozdělení čárkovanou čarou): Pravděpodobnost, statistika a operační výzkum 15 3210 0,1 -1-2 0,4 0,2 0,3 0 -3 ν = 2 3210 0,1 -1-2 0,4 0,2 0,3 0 -3 ν = 4 3210 0,1 -1-2 0,4 0,2 0,3 0 -3 ν = 10 3210 0,1 -1-2 0,4 0,2 0,3 0 -3 ν = 60 Z obrázků je vidět, že pro rostoucí počet stupňů volnosti se hustota t-rozdělení (v obrázku její graf vyznačen slabě) svým tvarem stále více blíží ke tvaru funkce hustoty U-rozdělení, a pro ν = 60 je hustota t-rozdělení prakticky totožná s hustotou U-rozdělení (omlouvám se za malou tloušťku čar, ale při silnější tloušťce nebyl na obrázku patrný rozdíl mezi čárkovanou a plnou čarou). d) Pro určení kritických hodnot tk budeme potřebovat hodnoty integrálů Pν(t ≤ x) = Fν(x) = x −∞ fν(u)du, Pν(−x ≤ t ≤ x) = x −x fν(u)du. 16 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Tyto integrály se nepočítají vždy znovu a znovu, poněvadž jejich výpočet je složitý, ale jednou provždy byly spočteny a sestaveny do tabulky. Protože pro jednu hodnotu ν lze sestavit tabulku tak velkou jako je tabulka funkce Φ (BMA3), měli bychom pro 35 různých hodnot ν také 35 různých tabulek. Toto množství dat je zredukováno jen na několik hodnot v závislosti na hladině významnosti α. A vůbec, pro statistické testy je nejužitečnější místo hodnot distribuční funkce přímo tabulka kritických hodnot pro různé α a ν – jedná se o tabulku 1.1. S touto tabulkou budeme pracovat tak, že vybereme řádek s daným počtem stupňů volnosti ν, sloupec s danou hodnotou α = q u pravostranného (α = 2q u oboustranného) testu. Na průsečíku řádku se sloupcem se pak nachází požadovaná kritická hodnota testu.Tabulku lze volit takto úsporně, protože mezi jednostranným a oboustranným testem je následující vztah: – tk u levostranného testu se liší od pravostranného pouze znaménkem. – tk u pravostraného testu pro α = q je stejné jako | ± tk| u oboustranného testu pro α = 2q. Je to vidět i na srovnání následujících dvou obrázků: tk=2,132 0-4 0,1 -0,1 -1 0,3 -2 3 4 0 0,2 -3 1 2 Pravostranný t-test pro α = q = 0,05, ν = 4 ... tk = 2,132. Šrafovaná část tvoří 5% obsahu celého podgrafu. m =2,132t =-2,132 tv 3-2 -1 0,3 0,1 2 0 -0,1 -3 4-4 1 0,2 0 Oboustranný t-test pro α = 2q = 0,1, ν = 4 ... tm = −2,132, tv = 2,132. Šrafovaná část tvoří celkem 10% obsahu celého podgrafu (na každé straně je vyšrafováno 5% obsahu podgrafu). Pravděpodobnost, statistika a operační výzkum 17 Tabulka 1.1: Kritické hodnoty t-testu. q=0,4 0,25 0,1 0,05 0,025 0,01 0,005 0,001 ν 2q=0,8 0,5 0,2 0,1 0,05 0,02 0,01 0,002 1 0,325 1,000 3,078 6,314 12,704 31,821 63,657 318,31 2 0,289 0,816 1,886 2,920 4,303 6,965 9,925 22,326 3 0,277 0,765 1,638 2,353 3,182 4,541 5,841 10,213 4 0,271 0,741 1,533 2,132 2,776 3,747 4,604 7,173 5 0,267 0,727 1,476 2,015 2,571 3,365 4,032 5,893 6 0,265 0,718 1,440 1,943 2,447 3,143 3,707 5,208 7 0,263 0,711 1,415 1,895 2,365 2,998 3,499 4,785 8 0,262 0,706 1,397 1,860 2,306 2,896 3,355 4,501 9 0,261 0,703 1,383 1,833 2,262 2,821 3,250 4,297 10 0,260 0,700 1,372 1,812 2,228 2,764 3,169 4,144 11 0,260 0,697 1,363 1,796 2,201 2,718 3,106 4,025 12 0,259 0,695 1,356 1,782 2,179 2,681 3,055 3,930 13 0,259 0,694 1,350 1,771 2,160 2,650 3,012 3,852 14 0,258 0,692 1,345 1,761 2,145 2,624 2,977 3,787 15 0,258 0,691 1,341 1,753 2,131 2,602 2,947 3,733 16 0,258 0,690 1,337 1,746 2,120 2,583 2,921 3,686 17 0,257 0,689 1,333 1,740 2,110 2,567 2,898 3,646 18 0,257 0,688 1,330 1,734 2,101 2,552 2,878 3,610 19 0,257 0,688 1,328 1,729 2,093 2,539 2,861 3,579 20 0,257 0,687 1,325 1,725 2,086 2,528 2,845 3,552 21 0,257 0,686 1,323 1,721 2,080 2,518 2,831 3,527 22 0,256 0,686 1,321 1,717 2,074 2,508 2,819 3,505 23 0,256 0,685 1,319 1,714 2,069 2,500 2,807 3,485 24 0,256 0,685 1,318 1,711 2,064 2,492 2,797 3,467 25 0,256 0,684 1,316 1,708 2,060 2,485 2,787 3,450 26 0,256 0,684 1,315 1,706 2,056 2,479 2,779 3,435 27 0,256 0,684 1,314 1,703 2,052 2,473 2,771 3,421 28 0,256 0,683 1,313 1,701 2,048 2,467 2,763 3,408 29 0,256 0,683 1,311 1,699 2,045 2,462 2,756 3,396 30 0,256 0,683 1,310 1,697 2,042 2,457 2,750 3,385 40 0,255 0,681 1,303 1,684 2,021 2,423 2,704 3,307 60 0,254 0,679 1,296 1,671 2,000 2,390 2,660 3,232 120 0,254 0,677 1,289 1,658 1,98 2,358 2,617 3,160 ∞ 0,253 0,674 1,282 1,645 1,960 2,326 2,576 3,090 18 Fakulta elektrotechniky a komunikačních technologií VUT v Brně – Ze symetrie hustoty t-rozdělení je patrné, že pokud budeme provádět levostranný t-test, stačí najít kritickou hodnotu pravostranného testu a změnit její znaménko na záporné. Vraťme se nyní zpět k příkladu 1.3 a proveďme statistický t-test: (K1) H0: µ = 6 (střední hodnota délky úsečky není ovlivněna iluzí prodloužení). H1: µ > 6. (K2) Testovým kritériem bude výběrový průměr X, jehož realizaci x = 8 převedeme na t-hodnotu 8 − 6 estσX . („est označuje odhad, z anglického „estimate [estimit] – protože v dalším textu budeme odhadovat odchylku i pomocí jiných funkcí než X, bude výhodné si tímto označením připomenout, u které veličiny vlastně odchylku nebo rozptyl odhadujeme). (K3) s2 = 5, a tedy estσ2 X = s2 N = 5 5 = 1, přičemž počet stupňů volnosti odhadu je N − 1 = 5 − 1 = 4, tj. za předpokladu platnosti H0 má veličina X−6 1 Studentovo t-rozdělení pro ν = 4. (K4) Příslušná kritická hodnota tk je na průsečíku řádku ν = 4 a sloupce pro α = 0,05 (u pravostranného testu), tj. tk = 2,132. (K5) 8−6 1 = 2 < tk = 2,132 ⇒ H0 nezamítáme, nenašli jsme dostatek důkazů pro potvrzení iluze větší délky. 1.3 Několik poznámek ke statistickému testu 1.3.1 Logika formulace „nezamítáme H0 V právě dokončeném příkladu bylo odpovědí „hypotézu H0 nezamítáme . Logiku této formulace snad osvětlí následující příklad. Příklad 1.4 Když něco někde nenajdu, neznamená to, že to tam není. S nástupem lyžařské sezóny jsem začal oprašovat svou výstroj a zjistil, že nemohu najít své lyžařské brýle, i když jsem prohledal celý byt. Usoudil jsem, že se asi ztratily v průběhu posledního lyžování nebo přes léto, a se zoufalstvím v očích oznámil manželce, že budu muset utratit 800 Kč za nové. Manželka byla vyděšena touto poznámkou a požádala mne, abych provedl hledání ještě jednou a důkladněji. Dosti neochotně jsem tak učinil, ale nakonec jsem brýle našel v zadním rohu své skříně. Pravděpodobnost, statistika a operační výzkum 19 Tento příklad je ilustrací jednoho celkem logického principu: pokud naleznu hledaný předmět, určitě vím, že tam je. Ale pokud jej nenaleznu, může to znamenat buď že tam není, nebo že tam je, ale mé hledání nebylo dost důkladné (nemělo dostatečnou sílu). Testování hypotéz je také takovým hledáním – hledáme vliv jedné veličiny na druhou veličinu. Pokud nalezneme tento vliv (zamítáme H0), víme „s jistotou (na hladině významnosti α), že existuje. Pokud vliv nenalezneme, může to znamenat buď že tento vliv neexistuje, nebo že existuje, ale síla testu nebyla dostatečná pro jeho nalezení. Výsledek „zamítáme H0 má docela pevný logický základ (pro α = 0,05 platí s pravděpodobností 95%). Ale říct v případě, kdy nebyla překročena kritická hodnota, že „H0 přijímáme nebo „H0 platí , je příliš ukvapené, protože při důkladnějším hledání by se mohlo ukázat, že určitý vliv existuje, tj. H0 neplatí. Ustálilo se tedy rčení „nezamítáme H0 , které odpovídá jisté opatrnosti v učinění konečného závěru. Fráze „nezamítáme H0 je tedy opatrným vyjádřením, které je zcela na místě. Znamená to, že říkáme: „Výsledky testu nám neposkytují dostatečné důkazy k závěru, že H0 neplatí. K příkladu 1.4: Co by to znamenalo, kdybych provedl tak důkladné hledání, že bych obrátil celý byt naruby, ale přesto brýle nenašel? Stále by existovala jistá malá šance, že jsem je přehlédl v nějaké zapadlé škvíře, ale protože jsem je nenašel, bylo by rozumné koupit nové. Podobně i experiment provedený v úžasné síle a rozsahu, pokud neprokáže vliv nezávislé proměnné na závislou proměnnou, nás vede k závěru, že „je rozumné přijmout H0 . Příklad 1.5 Chceme otestovat kvalitu jisté techniky pamatování. Vybereme náhodně dvě skupiny lidí. Oběma skupinám je předložen jistý počet navzájem nesouvisejících slov k zapamatování (například 20 slov). Poté jsou lidé z první skupiny okamžitě vyzkoušeni, kolik slov si zapamatovali. Lidé ze druhé skupiny jsou vyzkoušeni až o týden později. Čili nezávislou proměnnou je doba pamatování, závislou proměnnou je počet zapamatovaných slov z daných dvaceti. Stanovíme hypotézy testu: H0: počet zapamatovaných slov nezávisí na době pamatování (technika zapamatování byla tak dobrá, že po týdnu si pamatuji stejně dobře jako po bezprostředním naučení slov). H1: počet zapamatovaných slov závisí na době pamatování (= době držení slov v paměti). Pokud v testovaných skupinách bude například jen v každé pět lidí a vliv se neprokáže, můžeme uzavřít, že H0 platí, tj. že technika učení je vynikající? Asi ne, protože právě zde bychom se mohli dopustit té chyby, že jsme vliv nenašli, i když je možné, že existuje. Na druhé straně pokud by v každé z testovaných skupin bylo 10000 lidí a stále by se neprokázala existence závislosti, závěr „H0 platí by asi byl docela rozumný. 20 Fakulta elektrotechniky a komunikačních technologií VUT v Brně 1.3.2 Snížení rozptylu zvyšuje sílu testu V příkladu 1.5 lze vidět jednu celkem přirozenou skutečnost, že totiž výpovědní síla statistického testu se zvyšuje se zvýšením počtu měření. Pro připomenutí síla testu je pozitivní pojem – je to pravděpodobnost, se kterou správně zamítneme H0, pokud platí H1. Je to tedy jakási síla nalezení vlivu mezi proměnnými testu. Na tuto sílu má především vliv rozptyl σ2 X neboli (viz BMA3, kapitola 14) σ2 X = σ2 N . (1.13) Cokoli, co snižuje rozptyl σ2 X , zvyšuje současně i sílu testu. Jedním činitelem je počet měření N – je vidět ze vzorce, že pokud zvyšujeme N, zvyšuje se hodnota jmenovatele ve zlomku, a tím klesá hodnota rozptylu. Další možností, jak snížit rozptyl, je snížit přímo hodnotu rozptylu σ2 celé populace v čitateli zlomku. Pokud si říkáte, že σ2 je dáno a nelze je přece měnit, máte pravdu. Ale stejně některé vlivy na rozptyl σ2 celé populace můžeme vyloučit vhodným naplánováním experimentu. Příklad 1.6 Experimentem se má zjistit, zda alkohol v krvi má vliv na reakční dobu řidiče. Náhodně byly vybrány dvě skupiny lidí. První skupině je nabídnut alkohol ve formě ginu s tonikem, druhé skupině pouze tonik. Pak jsou všichni podrobeni měření reakční doby. Testovaný člověk sedí u stolu a před sebou má lampu s červenou žárovkou a tlačítko. Lampa se rozsvěcuje v různých nepravidelných intervalech – jakmile se rozsvítí, je úkolem testovaného co nejrychleji stisknout tlačítko. Je změřena jeho reakční doba (v milisekundách). U každého člověka se měření několikrát opakuje, a pak je vypočten průměr jeho reakční doby. Samozřejmě uvnitř každé ze skupin se projeví určitá variabilita v průměrné době reakce. Ta je dána různými faktory, z nichž některé nemůžeme ovlivnit, ale jiné ano. Mezi neovlivnitelné faktory patří: 1. Nálada člověka během měření (špatná nálada = delší doba reakce). 2. Osobní předpoklady – někdo má prostě schopnost rychlejší reakce než ostatní. 3. Postoj člověka vůči experimentu (znuděný postoj = delší doba reakce). Mezi ovlivnitelné faktory lze zahrnout 1. Teplotu v místnosti, kde se provádí měření (extrémní teploty ⇒ delší doba reakce). 2. Vlhkost v místnosti, kde se provádí měření (vyšší vlhkost ⇒ delší doba reakce). 3. Pohlaví (u žen ... kratší doba reakce). 4. Věk (vyšší věk ... kratší doba reakce). 5. Čas dne (měření pozdě odpoledne ... delší doba reakce). Pravděpodobnost, statistika a operační výzkum 21 Některé faktory rozptylu hodnot můžeme významně ovlivnit – jak výběrem sledované populace (omezení se na stejné pohlaví a věk eliminuje rozdíly způsobené těmito faktory), tak zajištěním stejných podmínek měření (stálá vlhkost a teplota místnosti, měření u všech ve stejnou denní dobu). Tímto způsobem plánování a provedení experimentu pak následný statistický test získá větší výpovědní sílu v těch parametrech, které jsou pro nás důležité, a není zkreslen rozdíly v těch ovlivnitelných faktorech, které nás nezajímají. 1.4 Interval spolehlivosti pro střední hodnotu µ Kromě statistických testů jsou při zpracování měření často užitečnější tzv. intervaly spolehlivosti. V této fázi výkladu se seznámíme s intervalem spolehlivosti pro střední hodnotu EX = µ průměru z normálního rozdělení. 1.4.1 Interval spolehlivosti pro µ při známém rozptylu Střední hodnotu µ měřené veličiny obyčejně neznáme. Kdybychom ji znali, nemusíme provádět ani měření, ani statistický test Určit µ je v podstatě naším cílem. Jakýmsi odhadem střední hodnoty je výběrový průměr X. Ovšem tento průměr (zejména při nižším počtu měření N) není přesně roven střední hodnotě µ – vlastně víme, že platí P(X = µ) = 0. Potřebovali bychom spíše najít nějaký interval (X − a; X + a) pro nějaké vhodné a „ne příliš velké a > 0. A to bude vlastně interval spolehlivosti pro střední hodnotu µ. Přesněji řečeno, r%-ní interval spolehlivosti pro střední hodnotu µ průměru X je takový interval, který obsahuje µ s pravděpodobností r 100 . Příklad 1.7 Životnost 75-wattové žárovky má normální rozdělení se směrodatnou odchylkou σ = 25 hodin. U náhodně vybraného vzorku dvaceti žárovek byla naměřena průměrná životnost x = 1024 hodin. Utvořte 95%-ní interval spolehlivosti pro střední hodnotu µ průměrné životnosti. Řešení tohoto příkladu je instruktivní, proto si dovolím vypnout kurzívu (:-)). Každý interval spolehlivosti je velmi úzce svázán se statistickým testem. Budeme se zabývat zejména oboustrannými intervaly spolehlivosti, proto v našem příkladu je zde vazba na oboustranný U-test s hypotézami H0: µ = µ0 (skutečnou střední hodnotu µ0 neznáme). H1: µ = µ0. Pokud hledáme 95%-ní interval spolehlivosti, je příslušná hladina významnosti α = 0,05. Kritériem testu je výběrový průměr X. Dále vezmeme v úvahu počet měření pro výpočet průměru: σX = σ √ N = 25 √ 20 = 5,59. Jak je dobře známo ze BMA3, příslušné kritické hodnoty v tomto případě jsou 22 Fakulta elektrotechniky a komunikačních technologií VUT v Brně uα 2 = −1,96, u1− α 2 = 1,96. Obě tyto hodnoty lze převést na kritické hodnoty vzhledem k veličině X: −1,96 = xm − µ0 5,59 ⇒ xm = µ0 − 1,96 · 5,59 = µ0 − 10,96; 1,96 = xv − µ0 5,59 ⇒ xv = µ0 + 1,96 · 5,59 = µ0 + 10,96. Interval pro „nezamítnutí H0 je pak X ∈ (µ0 − 10,96; µ0 + 10,96) . (1.14) Ovšem hodnotu µ0 neznáme. Ale pokud ze vzorce 1.14 vyjádříme místo X hodnotu µ0, dostaneme vztah pro interval spolehlivosti: µ0 ∈ X − 10,96; X + 10,96 . (1.15) Odtud pro jednu realizaci x = 1024 dostaneme µ0 ∈ (1024 − 10,96; 1024 + 10,96) = (1013,04; 1034,96), se spolehlivostí 0,95, což je odpověď příkladu 1.7. Obecně s využitím symetrie uα 2 = −u1− α 2 lze (1−α)·100%-ní interval spolehlivosti pro střední hodnotu µ při známém rozptylu psát ve tvaru µ ∈ X − u1− α 2 · σX; X + u1− α 2 · σX . (1.16) V některé literatuře se objevuje kromě pojmu „interval spolehlivosti ještě pojem „konfidenční interval – to je jen nesprávný (nebo jiný) překlad anglického termínu „confidence interval , ale jedná se o totéž (překladatelé se zase jednou nedomluvili ... :-)). Pojem intervalu spolehlivosti úzce souvisí se silou příslušného statistického testu – jak už to vyplývá ze vzorce 1.16, čím větší je síla příslušného statistického testu, tím menší je rozptyl σ2 X , a tím užší je interval spolehlivosti. 1.4.2 Interval spolehlivosti pro µ při neznámém rozptylu Příklad 1.8 Uvažujme stejnou situaci jako v příkladu 1.7 (N = 20, x = 1024), pouze odchylka σ není známá a musíme ji odhadnout – tedy z měření životnosti u dvaceti žárovek byl vypočten rozptyl s2 = 625. Odtud estσ2 X = s2 N = 625 20 = 31,25. Pravděpodobnost, statistika a operační výzkum 23 Tedy estσX = √ 31,25 = 5, 59 – toto číslo je stejné jako v příkladu 1.7, ovšem nyní se nejedná o přesnou hodnotu, ale odhad, čili zde bude ν = N − 1 = 19 stupňů volnosti odhadu. Nalezněte 95%-ní interval spolehlivosti pro střední hodnotu µ výběrového průměru X. V příslušném statistickém testu použijeme nyní t-rozdělení – nalezneme kritické hodnoty pro oboustanný test (α = 2q = 0,05) a pro ν = 19 stupňů volnosti (tabulka 1.1): tv = 2,093, odtud tm = −2,093. Hypotézy H0, H1 a kritérium oboustranného testu zde zůstávají stejné jako v 1.7: H0 : µ = µ0, H1 : µ = µ0, kritériem je výběrový průměr X. Přepočteme nyní kritické hodnoty vzhledem k veličině X: −2,093 = xm − µ0 5,59 ⇒ xm = µ0 − 2,093 · 5,59 = µ0 − 11,7; 2,093 = xv − µ0 5,59 ⇒ xv = µ0 + 2,093 · 5,59 = µ0 + 11,7. Nyní interval pro „nezamítnutí H0 je X ∈ (µ0 − 11,7; µ0 + 11,7) , (1.17) nás ovšem zajímá spíše tvar (rychle jej naň převedem) µ0 ∈ X − 11,7; X + 11,7 . (1.18) Odtud pro příklad 1.8 se spolehlivostí 0,95 a realizaci (= konkrétní měření) průměru x = 1024 dostaneme µ0 ∈ (1024 − 11,7; 1024 + 11,7) = (1012,3; 1035,7), Vidíme, že při větší míře nejasnosti, kdy rozptyl neznáme a musíme jej odhadnout, je interval spolehlivosti širší (ostatní hodnoty v příkladech 1.7 a 1.8 jsou stejné, takže lze opravdu provést porovnání). Obecně s využitím symetrie tα 2 = −t1− α 2 lze (1−α)·100%-ní interval spolehlivosti pro střední hodnotu µ při neznámém rozptylu psát ve tvaru µ ∈ X − t1− α 2 · estσX; X + t1− α 2 · estσX . (1.19) 24 Fakulta elektrotechniky a komunikačních technologií VUT v Brně 1.4.3 Několik důležitých poznámek k intervalům spolehlivosti Následuje několik poznámek k intervalům spolehlivosti, každá z nich je důležitější než ty ostatní ... :-) a) Vztah mezi intervalem spolehlivosti a pravděpodobností. Je potřeba říci něco velmi důležitého k formulaci „95%-ní interval spolehlivosti pro střední hodnotu µ obsahuje tuto hodnotu s pravděpodobností 0,95 . Věta je vyslovena správně ale může být zavádějící – a problém pochopení souvisí s pojmem statistika a realizace statistiky (viz definice 1.2). Interval spolehlivosti je totiž vlastně intervalem, jehož mezemi jsou náhodné veličiny. A pak pro konkrétní měření dosadíme do vzorců 1.16, 1.19 konkrétní realizaci x. Třeba v příkladu 1.7 interval (1013,04; 1034, 96) neznámou střední hodnotu µ buď obsahuje (stoprocentně), nebo neobsahuje (stoprocentně). Souvislost s pravděpodobností se projeví pouze při opakovaném měření a opakované konstrukci realizace intervalu spolehlivosti: pokud bychom například tisíckrát zopakovali experiment změření životnosti u dvaceti žárovek, spočetli tisíc různých realizací x1, x2 . . . , x1000 a sestrojili tisíc různých realizací intervalu spolehlivosti podle vzorce 1.16, tak přibližně 95% těchto intervalů (tj. asi 950 z nich) bude neznámou hodnotu µ obsahovat, zbylých pět procent ji obsahovat nebude. V dalších výpočtech realizací intervalů spolehlivosti pro x budu slovo „realizace vynechávat, takže pojem interval spolehlivosti se středem v X (středem intervalu je nikoli konkrétní hodnota, ale náhodná veličina) bude splývat s pojmem realizace intervalu spolehlivosti se středem v x (středem intervalu je konkrétní číslo). Matematicky je mezi těmito dvěma pojmy rozdíl, ale v praxi pod intervalem spolehlivosti máme na mysli vždy konkrétní interval vypočtený na základě měření. !!!! :-) b) Jednostranné intervaly spolehlivosti. Pozorný čtenář by možná mohl položit otázku: no dobrá, oboustranný interval spolehlivosti odpovídá jistému oboustrannému statistickému testu (příklad 1.7) – pokud se ale týká jednostranných testů (například test grafické iluze 1.3), existuje také u nich nějaký analogický jednostranný interval spolehlivosti? Odpověď zní „ano, existuje . Jeho odvození je analogické, proveďme jej například pro data testu grafické iluze 1.3: H0 : µ = µ0, H1 : µ > µ0, kritériem je X, kritickou hodnotu použijeme přesně tu stejnou jako v daném pravostranném testu: tk = 2,132. Převodem normovaného tvaru kritické hodnoty do tvaru aktuálního vzhledem k veličině X dostaneme 2,132 = xk − µ0 1 ⇒ xk = µ0 + 2,132 · 1 = µ0 + 2, 132; Pravděpodobnost, statistika a operační výzkum 25 tedy interval pro „nezamítnutí H0 je X ∈ (−∞; µ0 + 2,132), (1.20) ale protože nás zajímá spíše interval pro µ0, tak z tohoto vztahu vyjádříme ohraničení pro µ0 a index 0 vypustíme: µ ∈ (X − 2,132; ∞) = (5,868; ∞) (1.21) a to je hledaný interval se spolehlivostí 0,95. Vidíme, že oboru 1.20 pravostranného testu odpovídá levostranný interval spolehlivosti 1.21. I když jsou tedy jednostranné intervaly spolehlivosti zcela přirozené a možné, v dalším textu se na ně nebudeme příliš zaměřovat – spíše nás bude zajímat vymezení pro µ na intervalu konečné délky. Tedy i když budeme provádět jednostranné statistické testy, intervaly spolehlivosti budeme hledat na základě příslušného oboustranného testu se stejnou hladinou významnosti. Tak tedy i v příkladu 1.3 lze sestrojit oboustranný interval spolehlivosti: Pro ν = 4 je kritická hodnota rovna t1− 0,05 2 (4) = 2,776; Pak (vzorec 1.19): µ ∈ (8 − 2,776 · 1; 8 + 2,776 · 1) = (5,224; 10,776). c) Vztah mezi intervalem spolehlivosti a statistickým testem. Mezi výsledkem statistického testu a intervalem spolehlivosti existuje jednoznačný vztah: Statistický test zamítne hypotézu H0 : µ = µ0 právě tehdy, když µ0 nenáleží do příslušného intervalu spolehlivosti Třeba pokud bychom v situaci příkladu 1.7 testovali hypotézu H0 : µ = 1000, místo abychom prováděli test, stačí se podívat na příslušný interval spolehlivosti oboustranného testu: 1000 /∈ (1013,04; 1034,96), tj. to znamená, že příslušný statistický test zamítne hypotézu H0. Nebo podíváme-li se na příklad pravostranného testu 1.3, kde H0 : µ = 6, vidíme, že 6 ∈ (5,868; ∞) (levostranný interval spolehlivosti vypočten v předchozí poznámce b)), tj. to znamená, že hypotéza H0 příslušného jednostranného testu nebude za- mítnuta. 26 Fakulta elektrotechniky a komunikačních technologií VUT v Brně d) Interval spolehlivosti uvádí více informací než statistický test. Omlouvám se za další členění, ale budu prezentovat tuto poznámku ve čtyřech myšlenkách: 1. Výsledek statistického testu není přesně to, co bychom chtěli znát. Ve skutečnosti chceme znát míru platnosti hypotézy H1, je-li dán výsledek experimentu – ovšem místo toho se ze statistického testu dovídáme pravděpodobnost výsledku experimentu za předpokladu platnosti hypotézy H0 (a stále neznáme míru platnosti H1, a to ani v případě, kdy je H0 zamítnuto). 2. Statistický test nám ve svém výsledku nedává informaci o rozsahu studovaného vlivu, kdežto interval spolehlivosti ano. Informace o umístění střední hodnoty µ je ve statistických testech, které jsme dosud prováděli, skryta, ale interval spolehlivosti činí tuto informaci zjevnou a překládá ji do srozumitelného měřítka. Například test 1.3 pouze prohlásí, že se nenašlo dostatek důkazů pro vliv grafické iluze na µ. Ale interval spolehlivosti (nyní už spíše ten oboustranný, tj. pro α = 0,05 byl odvozen v poznámce b)) (5,224; 10,776) navíc naznačuje, že se spolehlivostí 0,95 by střední hodnota místo šesti mohla být stejně dobře rovna i osmi nebo deseti, ale už ne jedenácti nebo dvanácti. 3. Statistický test zdůrazňuje chybu prvního druhu, ale říká velmi málo o chybě druhého druhu. Na druhé straně interval spolehlivosti naznačuje i chybu druhého druhu – pokud α necháme pevné a zmenšujeme β, tak interval spolehlivosti zmenšuje svou délku. 4. Závěr: Z uvedených důvodů je lepší používat intervaly spolehlivosti spíše než jen pouhé testování hypotéz. Někdy statistické zpracování v literatuře příliš zdůrazňuje testy a zapomíná dodat užitečné informace navíc, které lze snadno vyčíst z intervalů spolehlivosti. 1.5 t-test typu „µ1 = µ2 1.5.1 Párový test V tomto oddílu se budeme zabývat statistickými testy při experimentech, kde získáváme dva soubory měření. Zde je potřeba si dát pozor na vztah mezi těmito dvěma soubory (= skupinami) měření, na základě tohoto vztahu rozlišujeme totiž dva typy statistického testu – párový a nepárový test. Párovým testem se budeme zabývat nejdříve – spočívá v tom, že sice získáme dvě skupiny (= dva soubory) měření, ale tyto soubory jsou navzájem těsně svázány v tom smyslu, že ke každé hodnotě v prvním souboru měření lze jednoznačně přiřadit tzv. párovou hodnotu měření ze druhého souboru. Zejména to taky znamená, že počet měření v obou souborech je stejný – a v podstatě bychom mohli říct, že místo dvou souborů měření máme jediný soubor, ve kterém jedna položka je reprezentována uspořádanou dvojicí hodnot. Pravděpodobnost, statistika a operační výzkum 27 Párový test tedy užijeme v situaci, kdy sice máme k dispozici dva soubory měření, ale tyto dva soubory měření jsou spolu těsně svázány – obyčejně tak, že v obou skupinách jsou hodnoceni stejní jedinci; nejprve provedeme měření vybrané skupiny jedinců za systému podmínek A, a pak provedeme měření téže skupiny jedinců za systému podmínek B. Proto se tomuto typu experimentů také říká experiment opakovaného měření. Další vhodný název je zde experiment typu „jedna skupina dvakrát , protože jedna skupina jedinců je podrobena měření při dvou různých situacích. Příklad 1.9 Chceme experimentem zjistit, jak se změní počet úderů srdce člověka za minutu po vypití šálku kávy (studujeme vliv kofeinu na činnost srdce). Kdybychom k tomuto experimentu přistupovali „nepárovým přístupem a vybrali náhodně dvě skupiny lidí, z nichž jedna by vypila kávu s kofeinem a druhá kávu bez kofeinu, do měření by byl zanesen jistý rozptyl způsobený tím, že tempo srdečních úderů se liší u různých lidí. Mnohem vhodnější je zde experiment opakovaného měření, kdy jedna a táž skupina vybraných lidí je vystavena měření po kávě bez kofeinu, a pak po kávě s kofeinem. Potom se vypočte rozdíl obou hodnot vždy u téhož člověka a testuje se, zda je tento rozdíl významný. Byla získána následující data počtu srdečních úderů za minutu u devíti lidí (na každém řádku jsou hodnoty měření jednoho člověka): xi1 bez kofeinu xi2 s kofeinem rozdíl xi2 − xi1 70 76 6 60 61 1 49 52 3 72 71 -1 70 81 11 66 70 4 55 55 0 54 61 7 80 89 9 První dva sloupečky tabulky představují dva soubory měření párového testu. My ovšem budeme dále pracovat jen s jednorozměrným souborem, a sice s vektorem rozdílů měření ve třetím sloupci. To znamená, že párový test vlastně odpovídá situaci jednorozměrného souboru měření (= oddílu 1.2). Spočteme průměr x = 4,44 a odhadneme rozptyl pomocí s2. Aby čtenář neměl pocit, že v oddílu 1.5 nebude vzhledem k 1.2 nic nového, vypočteme s2 pomocí pátého možného vzorce, který jsme si ještě neuváděli: S2 = SS ν (1.22) (ono se vlastně jedná o vzorec 1.12, ovšem ve jmenovateli vzorce je ν místo N − 1). Dále do čitatele za SS dosadíme ze vzorce 1.11, který zkombinujeme s nejpohodlnějším způsobem výpočtu 1.8: 28 Fakulta elektrotechniky a komunikačních technologií VUT v Brně SS = N · S2 = N i=1 X2 i − N i=1 Xi 2 N , čili pak pro realizaci ss platí ss = N i=1 x2 i − N i=1 xi 2 N , (1.23) a po dosazení ss = 314 − 402 9 = 136,22. Počet stupňů volnosti pro odhad rozptylu je ν = N − 1 = 8, a tedy s2 = ss ν = 17,03. a) Sestrojme nyní 95%-ní interval spolehlivosti pro µ: tk najdeme jako průsečík řádku ν = 8 a sloupce 2q = α = 0,05 (oboustranný interval spolehlivosti vychází z oboustranného testu): tk = 2,306. Pak interval pro µ se spolehlivostí 0,95 je x ± s2 N · tk(ν = 8) = 4,44 ± 17,03 9 · 2,306 = (1,27; 7,61). Z tohoto intervalu spolehlivosti se dovídáme, že kofein zvyšuje činnost srdce, a sice o 1,27 až o 7,61 úderů za minutu. b) Provedeme i statistický t-test: (K1) H0: µ = 0 (rozdíl hodnot je nulový, tj. počet úderů srdce za minutu je stejný s kofeinem i bez kofeinu – srdeční tep nezávísí na kofeinu); H1: µ = 0. (K2) Testovým kritériem bude výběrový průměr X, respektive jeho normovaná hodnota X−0 est σX . (K3) s2 = 17,03 ⇒ est σ2 X = s2 N = 17,03 9 = 1,89 ⇒ est σX = 1,89 = 1,37. Tj. za předpokladu platnosti H0 má veličina X−0 1,37 Studentovo t-rozdělení s ν = 8 stupni volnosti. (K4) tk = ±2,306 je u oboustranného testu stejné jako u intervalu spolehlivosti a). Pravděpodobnost, statistika a operační výzkum 29 (K5) Příslušná t-hodnota je 4,44 − 0 1,37 = 3,24 > 2,306, a tedy zamítáme H0 o nezávislosti, je potvrzen vliv kofeinu na zvýšení srdečního tepu. Hypotézy H0 nejsou pravdivé téměř nikdy (pokud uvažujeme větší počet desetinných míst), tj. zamítnutí H0 nám nic podstatného neříká. Spíše nás zajímalo, jak velký je vliv kofeinu, a to jsme se dozvěděli z intervalu spolehlivosti. 1.5.2 Nepárový test Nyní se pojďme věnovat nepárovému testu neboli zpracování dat při experimentu typu „dvě skupiny jednou . Příklad 1.10 Chceme zjistit kvalitu jisté techniky pamatování. Náhodně jsme vybrali deset lidí a rozdělili do dvou skupin po pěti lidech. Skupina 1 (tzv. experimentální skupina) se naučila 100 zadaných slov novou technikou, skupina 2 (kontrolní skupina ... zažitý nesprávný překlad anglického „control group , správný význam překladu je „řízená skupina , protože „control = řídit, vést, nikoli kontrolovat) použila obyčejnou klasickou techniku zapamatování. Po týdnu se vyzkouší, kolik si kdo pamatuje z daných 100 slov – jsou získána data experimentální skupina kontrolní skupina 43 16 37 22 51 24 27 30 32 18 Nyní data na jednom řádku spolu nijak nesouvisí, jedná se o měření u dvou různých lidí. Zdá se, že experimentální skupina má lepší výsledky, ale musíme statisticky prokázat, že to není způsobeno pouze náhodnými vlivy. V každé ze skupin vypočteme průměr a odhadneme rozptyl. skupina 1: x1 = 38, podle vzorce 1.23 ss1 = 352, ν1 = 4, a tedy podle 1.22 est1 σ2 = s2 1 = 352 4 = 88. skupina 2: x2 = 22, podle vzorce 1.23 ss2 = 120, ν2 = 4, a tedy podle 1.22 est2 σ2 = s2 2 = 120 4 = 30. 30 Fakulta elektrotechniky a komunikačních technologií VUT v Brně No a teď přicházíme k úvahám, které jsou pro další vývoj (i další kapitolu) důležité. V situaci experimentu typu „dvě skupiny jednou je potřeba se vypořádat se dvěma typy rozptylu, kterými jsou – vnitřní rozptyl a vnější rozptyl. vnitřní rozptyl: Jedná se o rozptyl představující vzájemnou rozdílnost jedinců v celé populaci (např. rozdílnost lidí, rozdílnost různých součástek stejného typu, apod.). V tomto textu se budeme převážně zabývat situacemi, kdy je splněn tzv. princip homogenního vnitřního rozptylu: jakýkoliv experiment nemá vliv na rozptyl rozdělení celé populace, z níž byla náhodně vybrána skupina jedinců pro měření. Slovy našeho příkladu, rozdílnost výsledků est1 způsobená růzností lidí ve skupině 1 je přibližně stejná jako rozdílnost výsledků est2 způsobená růzností lidí ve skupině 2. Jinak řečeno, ať už měříte daný soubor měření za jakékoli podmínky, „rozmanitost těchto měření je v dané skupině přibližně stejná. Z Tohoto principu homogenního rozptylu tedy plyne, že odhady est1, est2 jsou odhady jednoho a stejného vnitřního rozptylu σ2 (díky tomu jsem u písmenka σ o pár řádků výše už nepsal žádný index), který vypočteme jako aritmetický průměr obou odhadů: est σ2 = est1 σ2 + est2 σ2 2 = 88 + 30 2 = 59. Tedy nejlepší možný odhad vnitřního rozptylu σ2 je roven 59 a v dalším budeme pracovat s ním. Počet stupňů volnosti je ν = 4 + 4 = 8, protože jsme tento odhad získali pomocí dvou jiných odhadů o počtu stupňů volnosti 4 – stupně volnosti ve výsledném odhadu sečítáme. vnější rozptyl: Jedná se o rozptyl vyjadřující rozdílnost mezi danými podmínkami měření. Tento rozptyl v případě dvou souborů měření lze odhadnout na základě průměrů x1 = 38, x2 = 22. Způsob je následující: Vypočteme rozptyl těchto dvou průměrů podle vzorců 1.23 a 1.22: Protože ν = 2 − 1 = 1, máme est rN = ss 1 = 382 + 222 − 602 2 1 = 128. Ale to ještě není všechno – tento odhad je odhadem rozptylu průměru pěti hodnot (N = 5). Abychom získali odhad rozptylu jediné hodnoty měření, musíme v souladu se vzorcem est rN = est r N (analogie vzorce 1.13) počítat est r = N · est rN = 5 · 128 = 640. celkový rozptyl: Aby byla plejáda přehledu rozptylů úplná, je možné si položit následující otázku – co se vlastně spočítá, když budeme považovat všech deset hodnot za měření jediné veličiny a vypočteme s2 ze všech deseti měření? Podle logiky výpočtu by to měl být jakýsi celkový rozptyl – a skutečně je tomu tak. Pravděpodobnost, statistika a operační výzkum 31 Průměr všech deseti hodnot je x = 30, což je mimochodem aritmetický průměr hodnot x1, x2. Bude tedy podobně hodnota s2 průměrem hodnot s2 1, s2 2? Podle vzorce 1.23 ss = 1112, a tedy podle 1.22 s2 = ss ν = 1112 9 . = 123,56, což není hodnota rovná součtu s2 1 + s2 2 = 88 + 30 = 118. Ještě méně se zdá, že by odhad celkového rozptylu 123,56 byl součtem odhadu vnitřního rozptylu 59 a odhadu vnějšího rozptylu 640 – ale přesto zde platí jisté součtové vzorce: a) Celkový počet stupňů volnosti 9 u odhadu celkového rozptylu je součtem volnosti 8 u odhadu vnitřního rozptylu a volnosti 1 u odhadu vnějšího rozptylu. b) Celkový součet čtverců 1112 je součtem součtu čtverců 472 vnitřního rozptylu (který vznikl součtem ss1 = 352 a ss2 = 120) a 640 u vnějšího rozptylu. Tolik přehled a jemné intro do problematiky rozptylu – více na to téma bude řečeno v další kapitole. Nyní se vraťme k řešení našeho příkladu. Odhad vnitřního rozptylu je est σ2 = 59, odtud odhad rozptylu průměru estσ2 X = 59 5 = 11,8. Nyní lze užitím 1.19 určit např. 95%-ní interval spolehlivosti pro střední hodnotu průměru v každé ze skupin měření: Pro tk(ν = 8; α = 2q = 0,05) = 2,306 µ1 ∈ 38 ± 11,8 · 2,306 . = (30,08; 45,92), µ2 ∈ 22 ± 11,8 · 2,306 . = (14,08; 29,92). V souvislosti se statistickým testem tohoto příkladu nás ovšem spíše zajímá interval spolehlivosti pro střední hodnotu veličiny X1 − X2. Střed intervalů spolehlivosti bude v tomto případě x1 − x2 = 38 − 22 = 16, odhad rozptylu je est σ2 X1−X2 = est σ2 X1 + est σ2 X2 = 59 5 + 59 5 = 23,6. Tedy pro tk(ν = 8; α = 2q = 0,05) = 2,306 µ1 − µ2 ∈ 16 ± 23,6 · 2,306 . = 16 ± 11,2 = (4,8; 27,2). Protože výsledný interval spolehlivosti pro rozdíl středních hodnot neobsahuje nulu, víme také, že příslušný statistický test zamítne hypotézu H0 : µ1 = µ2. A skutečně, pojďte se přesvědčit: 32 Fakulta elektrotechniky a komunikačních technologií VUT v Brně (K1) H0: µ1 = µ2 (střední hodnoty obou skupin ohodnocení jsou stejné, tj. nová technika zapamatování ovlivňuje výsledek přibližně stejně jako ta dřívější). H1: µ1 = µ2 (nová technika zapamatování má přibližně stejné výsledky jako dřívější technika). (K2) Testovým kritériem bude rozdíl X1 − X2. (K3) Při platnosti H0 má veličina X1 − X2 − 0 est σ2 X1−X2 = X1 − X2 √ 23,6 Studentovo t-rozdělení pro ν = 8. (K4) Pro α = 0,05 příslušná kritická hodnota tk je na průsečíku řádku ν = 8 a sloupce pro α = 2q = 0,05, tj. tk = 2,306. (K5) 38−22 4,858 = 3,29 /∈ (−tk; tk). H0 tedy zamítáme – nová technika významně zvyšuje úroveň zapamatování. Příklad 1.11 Psychologové fyziologie chtějí experimentem ověřit, že podvěsek mozkový je hlavním řídícím centrem sexuálního chování. Rozhodli se získat dvacet dobrovolníků z řad studentů FEKT, kteří by se chtěli podrobit operaci mozku. Protože žádní dobrovolníci se nepřihlásili (zejména do experimentální skupiny), byly náhodně vybrány dvě skupiny po deseti krysách. Krysám z experimentální skupiny byl operací odebrán podvěsek mozkový. Krysám z kontolní skupiny byla pouze otevřena lebka, ale nic nebylo odebráno (aby byl snížen rozptyl způsobený otevřením lebky). Protože operaci prováděl nezkušený student, některé z krys zahynuly přímo na operačním stole. V experimentální skupině přežilo pět krys, v kontrolní skupině sedm. Psycholové byli rozmrzelí nad nezkušeným studentem, ale pokračovali dále v experimentu. Byla získána data o počtu pohlavních spojení v průběhu jistého časového intervalu. V experimentální skupině (N1 = 5): 0, 1, 4, 4, 1. Odtud x1 = 2, ss1 = x2 i − ( xi)2 N1 = 14, ν1 = N1 − 1 = 4, pak s2 1 = ss1 ν1 = 14 4 = 3,5. V kontrolní skupině (N2 = 7): 5, 7, 4, 3, 4, 6, 6. Odtud x2 = 5, ss2 = x2 i −( xi)2 N2 = 12, ν2 = N2 − 1 = 6, pak s2 2 = ss2 ν2 = 12 6 = 2. Odhad vnitřního rozptylu: Podobně jako u předchozího příkladu (vyjdeme z platnosti principu homogenního rozptylu), i nyní vypočteme jakýsi jeden odhad rozptylu jako průměr odhadů s2 1, s2 2 – nebude se jednat ovšem o aritmetický průměr, ale o tzv. vážený průměr. Protože odhad s2 2 byl sestaven na základě většího počtu stupňů volnosti (většího počtu měření), budeme mu přikládat větší váhu: est σ2 = ν1 ν1 + ν2 · s2 1 + ν2 ν1 + ν2 · s2 2 (1.24) Pravděpodobnost, statistika a operační výzkum 33 V našem příkladu est σ2 = 4 10 · 3,5 + 6 10 · 2 = 2,6. Pak intervaly spolehlivosti pro jednotlivé střední hodnoty a tk(ν = 10, α = 2q = 0,05) = 2,228 jsou µ1 ∈ 2 ± 2,6 5 · 2,228 . = 2 ± 1,61 = (0,39; 3,61); µ2 ∈ 5 ± 2,6 7 · 2,228 . = 2 ± 1,36 = (3,64; 6,36). Intervaly nemají společný průnik, což znamená, že testovaná hypotéza o rovnosti středních hodnot bude zamítnuta. Dále je možné si všimnout, že interval spolehlivosti pro µ2 má menší délku než interval pro µ1 – to je dáno větším počtem měření ve druhé skupině, pak totiž ve druhé skupině při odhadu rozptylu průměru dělíme sedmi, nikoli pěti. V testu, který bude následovat, budeme používat rozdělení X1 − X2. Pokud bychom chtěli najít 95%-ní interval spolehlivosti pro rozdíl µ1 − µ2, použijeme střed x1 − x2 = 2 − 5 = −3 a odhad rozptylu est σ2 X1−X2 = est σ2 X1 + est σ2 X2 = 2,6 5 + 2,6 7 . = 0,891. Pak µ1 − µ2 ∈ −3 ± 0,891 · 2,228 . = −3 ± 2,1 = (−5,1; −0,9). Příslušný statistický test: (K1) H0: µ1 = µ2 (odstranění podvěsku mozkového nemá vliv na sexuální chování); H1: µ1 < µ2 (odstranění podvěsku mozkového povede ke snížení sexuální aktivity). (K2) Testovým kritériem bude veličina X1 − X2. (K3) Při platnosti H0 má veličina X1 − X2 − 0 est σ2 X1−X2 = X1 − X2 √ 0,891 Studentovo t-rozdělení pro ν = 10. (K4) Pro α = 0,05 příslušná kritická hodnota tk je na průsečíku řádku ν = 10 a sloupce pro α = q = 0,05, tj. tk = 1,812. Pozor, intervaly spolehlivosti budeme vždy konstruovat pro α = 2q, ovšem u jednostranného statistického testu musíme vzít hodnotu tk pro α = q!! (K5) Odpovídající t-hodnota kritéria je −3√ 0,891 = −3,178 /∈ (−tk; tk). H0 tedy zamítáme. 34 Fakulta elektrotechniky a komunikačních technologií VUT v Brně 1.6 Předpoklady použitelnosti parametrických testů Při odvozování testů (zejména t-testu – odvození je mimo rámec tohoto kursu) muselo být učiněno několi předpokladů: 1. Naměřené hodnoty xi jsou navzájem nezávislé (= předpoklad nezávislosti) – například předpoklad nezávislosti v příkladu 1.10 je porušen, pokud členové skupiny podvádějí a opisují jeden od druhého. 2. Měřená veličina má normální rozdělení (= předpoklad normality). 3. Rozptyl uvnitř experimentální skupiny je stejný jako rozptyl uvnitř kontrolní skupiny, tj. oba rozptyly jsou odhadem stejného (vnitřního) rozptylu σ2 celé populace (= princip homogenního rozptylu). Testy, které splňují uvedené tři předpoklady, se nazývají parametrické testy. Pokud některý z předpokladů není splněn, kritérium použité v testu nemá rozdělení t (nebo U, pokud známe rozptyl σ2 ), a tudíž nelze určit kritické hodnoty – pro srovnání středních hodnot se v tom případě užívají tzv. neparametrické testy, o nichž bude blíže řeč v kapitole 6. Úplná diskuse použitelnosti parametrických testů U, t (a v následující kapitole testu F) je mimo rámec tohoto kursu. Ovšem následující poznámky mohou být důležitým vodítkem, který pro běžného „uživatele statistiky dostačuje: a) Mějte se na pozoru pouze tehdy, když t-hodnota kritéria je blízká hodnotě tk. Přepoklady by musely být porušeny velmi hrubě, aby například při jednostanném testu pro α = 0,05 kritická hodnota tk „usekla ve skutečnosti významně více než 5% obsahu podgrafu hustoty t – i při porušených předpokladech tato kritická hodnota většinou usekne 6 nebo 7 procent, a nikoli třeba 15 procent obsahu. Proto pokud t-hodnota kritéria přesáhne hodnotu tk výrazně, je rozhodnutí zamítnout H0 celkem bezpečné. b) Zkontrolujte své rozdělení. Nákres histogramu rozdělení je užitečný jak pro ověření předpokladu normality, tak ověření principu homogenního rozptylu. c) Porovnejte s2 1 a s2 2. pokud se hodnoty obou odhadů liší výrazně, znamená to porušení předpokladu homogenního rozptylu. Ale pokud podíl těchto odhadů je menší než 4 při přibližně stejné délce obou souborů měření, není třeba dělat paniku. d) Porušení předpokladů nemá takový dopad, pokud Ni ≥ 20 a N1 . = N2. e) Pozor na porušení měřítka. Některé proměnné jsou bezproblémové, např. X = průměrná rychlost (v km za hodinu), protože rozsah stupnice 10 až 20 km má stejnou váhu jako rozsah 70km až 80km. Ale existují pochybné proměnné v tom smyslu, že měřítko porušují – například Y = ohodnocení otázky v dotazníku počtem bodů ze stupnice 1 až 7. Zde totiž rozsah 3 Pravděpodobnost, statistika a operační výzkum 35 až 4 body nemusí být ekvivalentní rozsahu stupnice 6 až 7 bodů. Taková stupnice je hodně subjektivní, nemá pevně vymezený absolutní přírůstek, a proto může vést ke zkreslenému tvaru rozdělení. f) Pokud některý z předpokladů je porušen do té míry, že U-test nebo t-test nelze použít, je možné zkusit neparametrické testy (viz 6). 1.7 Shrnutí Tato kapitola je klíčovou kapitolou části I tohoto skripta, protože obsahuje nejčastěji prováděný test porovnání dvou souborů měření – t-test – a také odvozuje a ilustruje význam intervalů spolehlivosti. Úvodem v oddílu 1.1 jsou zopakovány některé vzorce ze skripta Matematika 3, zejména vzorce pro X, S2 – a dále je vysvětlen a odvozen vzorec pro S2 jako nejlepší nestranný odhad neznámého rozptylu σ2 normálního rozdělení. t-test používáme v situacích analogických U- testu (= u veličiny s normálním rozdělením) s tím jediným rozdílem, že totiž není znám rozptyl σ2 X a musíme jej odhadnout pomocí S2 N . Pro odhad rozptylu průměru je důležitý zejména vzorec 1.13, na který je potřeba nezapomenout. Celá kapitola předpokládá, že čtenář už ví, co je to statistický test, a zvládl kapitoly 13,14 textu Matematika 3 – přesto ty důležité informace ohledně statistických testů opakuje (poznámky 1.3 objasňují terminologii a otázku přístupu ke statistickému testu). Některé pojmy (hladina významnosti testu, síla testu) nebyly zopakovány, ale jsou procvičovány v otázkách a příkladech následujících za tímto shrnutím. Protože téměř všechno se vším souvisí, zamítne statistický test, který je dostatečně silný, hypotézu H0 prakticky vždy – z toho důvodu je někdy lepší hledat informace nikoli ve statistickém testu, ale v intervalu spolehlivosti (blíže viz poslední poznámku v 1.4.3). Vyvrcholením kapitoly jsou testy typu µ1 = µ2, které opět nemohou pozorného studenta překvapit, protože test podobného typu byl probrán v kapitole 14 předmětu BMA3. Ovšem věcí novou je představení rozdílu mezi párovým a nepárovým testem (tato otázka je klíčová pro zapamatování z celé kapitoly, byla položena u doktorandských zkoušek a je to otázka, kterou bych se i já zeptal, kdybych někoho zkoušel ze znalostí této kapitoly). 1.8 Otázky k opakování U následujících výroků rozhodněte, zda se jedná o výrok pravdivý či nepravdivý. Otázka 1.1 Výběrový průměr X je nestranným a konzistentním odhadem parametru µ měření veličiny s normálním rozdělením. Otázka 1.2 Statistika S2 je nestranným a konzistentním odhadem parametru σ2 měření veličiny s normálním rozdělením. 36 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Otázka 1.3 Kritická t- hodnota je blíže počátku než odpovídající (= pro stejnou hladinu významnosti sestrojená) kritická U-hodnota. Otázka 1.4 Pro rostoucí počet stupňů volnosti graf hustoty t-rozdělení stále více splývá s grafem hustoty normovaného normálního rozdělení. Otázka 1.5 Je možné, že interval spolehlivosti pro střední hodnotu µ průměru X sestrojený na základě konkrétní realizace x tuto střední hodnotu vůbec neobsahuje. Otázka 1.6 Pokud hodnota µ0 nepadne do oboustranného intervalu spolehlivosti pro střední hodnotu µ průměru X, znamená to, že oboustranný test pro H0 : µ = µ0 tuto hypotézu H0 nezamítne. Otázka 1.7 Párovým testem je každý test typu µ1 = µ2, který porovnává střední hodnoty dvou náhodných veličin. Otázka 1.8 Vnitřní rozptyl popisuje rozmanitost konkrétních jedinců v populaci – tato rozmanitost přitom nezávisí na podmínkách, při kterých je měření prováděno (je stejná u kontrolní skupiny i experimentální skupiny). Otázka 1.9 Celkový rozptyl je součtem vnitřního rozptylu a vnějšího rozptylu. Otázka 1.10 Při nestejných délkách obou souborů měření lze vnitřní rozptyl odhadnout jako aritmetický průměr rozptylů s2 1, s2 2 jednotlivých souborů měření. Otázka 1.11 Existují situace, kdy neplatí princip homogenního rozptylu (rozptyl měření v kontrolní skupině je nesrovnatelně větší než rozptyl měření v experimentální skupině). Odpovědi na otázky viz 13.1. 1.9 Příklady ke cvičení Příklad 1.1 Honza Kovář je testérem motocyklů FONDA. S jistým prototypem provede šest jízd na 400m, získává časy (v sekundách): 10, 11, 10, 9, 10, 12. a) Jaký je rozptyl těchto šesti hodnot? b) Jaký je odhad rozptylu měření u daného prototypu? Příklad 1.2 Honza nyní dostal pět různých strojů FONDA a s každým jede jízdu dlouhou 400 metrů. Získal data: 9, 12, 15, 8, 10. a) Jaký je nyní nejvhodnější odhad rozptylu času na 400 metrů u strojů FONDA? b) Jaký je odhad rozptylu průměrného času všech pěti strojů? Příklad 1.3 Náhodně byly vybrány tři hodnoty z jisté populace: x1 = 2, x2 = 4, x3 = 4. Pravděpodobnost, statistika a operační výzkum 37 a) Vypočtěte rozptyl tohoto vzorku hodnot. b) Odhadněte rozptyl celé populace. c) Odhadněte rozptyl teoretického rozdělení průměru X. Příklad 1.4 Při průzkumu zájmu o nový výrobek odpovědělo ze 400 dotázaných zákazníků supermarketu 80 zákazníků kladně na otázku, zda o výrobek mají zájem. Vycházejte z tohoto průzkumu a určete intervalový odhad procenta zájemců se spolehlivostí 0,95. (Návod: určete nejprve intervalový odhad počtu zákazníků ze 400, kteří si výrobek skutečně koupí - binomické rozdělení aproximujte normálním se stejnou střední hodnotou a rozptylem; pak vydělte obě meze v intervalu spolehlivosti číslem 400 (dostanete pravděpodobnosti) a vynásobte číslem 100 (dostanete procenta)) Příklad 1.5 Aneta Šedá čte v novinách, že průměrný čech vidí za týden v televizi deset mrtvých. Zeptá se čtyř svých spolužaček, kolik mrtvých viděla každá z nich minulý týden v televizi. Jejich odpovědi jsou: 9, 8, 10, 9. a) Jaký je průměr a 95%-ní interval splehlivosti pro tyto hodnoty? b) Proveďte t-test pro tato data (odpovídá měření čtyř hodnot novinové zprávě?). Příklad 1.6 Hokejové týmý Kometa Brno a Draci Brno mají v posledních pěti letech výsledky vzájemný zápasů (Kometa: Draci) 3 : 2, 3 : 3, 3 : 5, 4 : 5, 6 : 4, 6 : 2, 4 : 1, 1 : 0, 1 : 2, 3 : 1. 2 : 0, 3 : 5, 2 : 1, 3 : 0, 2 : 1. Má trenér Komety právo říkat, že jeho tým je významně lepší? Odpovězte a) znaménkovým testem (viz BMA3), který bere v úvahu pouze výhru nebo prohru; b) t-testem, který bere v úvahu skóre v jednotlivých zápasech Příklad 1.7 Sociologové chtějí provést experiment, který má zjistit, zda počet schůzek chlapce s děvčetem závisí na tom, zda je chlapec prvorozený nebo ne. Získá náhodně vybraných šest náctiletých chlapců prvorozených a šest jiných druhorozených a zjistí, kolik schůzek měl každý z nich během jednoho měsíce. Prvorození: 6, 4, 5, 7, 3, 5; druhorození: 2, 5, 4, 2, 1, 4. a) Vypočtěte příslušné intervaly spolehlivosti (pro střední hodnotu průměru měření) se spolehlivostí 95% u každé z obou skupin chlapců. b) Proveďte t-test. Příklad 1.8 Chceme testem ověřit, zda kvalita reakcí člověka je stejná za denního i za umělého světla. U náhodně vybrané skupiny deseti lidí byly získány výsledky zkoušky „denní světlo : 9, 2, 7, 12, 14, 10, 6, 7, 12, 10 a hodnoty zkoušky „umělé osvětlení : 7, 2, 4, 13, 13, 7, 4, 6, 8, 9 (oba soubory jsou uspořádané, tj. data od i-tého respondenta jsou v obou případech na i-té pozici). Za použití t-testu rozhodněte, zda soubor „denní světlo nabývá významně vyšších hodnot než soubor „umělé osvětlení . 38 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Příklad 1.9 Ve skupině A (292 studentů) je průměr hodnocení semestrální písemky roven x1 = 35,5 bodů, ve skupině B (260 studentů) x2 = 41,6 bodů. Byly spočteny také rozptyly ohodnocení v každé skupině písemek s2 1 = 100, s2 2 = 90. Studenti si neoficiálně mezi sebou stěžují, že zkoušející ve skupině A je výrazně přísnější. Ověřte testem, zda je rozdíl mezi průměry ohodnocení statisticky významný. Výsledky příkladů viz 13.1. Pravděpodobnost, statistika a operační výzkum 39 2 Analýza rozptylu Téma této kapitoly je velmi málo přístupné v češtině. Proto se omlouvám za terminologii a označení, které asi ještě v češtině nebylo použito. Učebnice ([5] se zabývá analýzou rozptylu ve stejném stylu, ale ne do té hloubky, že by bylo možné převzít označení veličin – některých termínů se držím, některé pozměňuji včetně označení, abych s nimi mohl dále pracovat). Ještě je mi známa kniha [6], která přistupuje k analýze rozptylu v odlišném stylu (jiné veličiny s jiným označením, které nemohlo být převzato). 2.1 Jednofaktorová analýza rozptylu 2.1.1 Příklad a vzorce Zatím jsme se zabývali statistickými testy v situaci jednoho nebo dvou souborů měření. V této kapitole začneme mluvit o složitějších experimentálních situacích se třemi a více skupinami měření. Uvažujme například experiment, ve kterém jsou za třech různých podmínek získány tři soubory měření a chceme testovat, zda se odpovídající střední hodnoty populace v těchto třech případech statisticky významně liší. Jedním ze způsobů, jak toho dosáhnout, je provést tři t-testy: první pro skupiny 1 a 2, druhý pro skupiny 1 a 3, třetí pro skupiny 2 a 3. Z důvodů, které budou uvedeny v kapitole 4, je tento postup poněkud problematický – proto nyní popíšeme test, který porovnání všech tří souborů měření provede najednou. Jak už bylo předesláno v předchozí kapitole, budeme analyzovat dva typy rozptylu – vnitřní rozptyl neboli rozptyl uvnitř tříd (... RUT) a vnější rozptyl neboli rozptyl mezi třídami (... RMT). Testovým kritériem při analýze rozptylu bude podíl odhadů rozptylů obou typů est RMT est RUT Toto kritérium vlastně není ničím novým, protože i u t-testu lze na kritérium X1 − X2 est σX1−X2 pohlížet jako na podíl rozptylů dvojího typu: RMT . = k · (X1 − X2) (vnější rozptyl je jen k-násobkem rozdílu průměrů pro jisté k), zatímco est RUT . = est σX1−X2 (odhad vnitřní rozmanitosti je dán odmocninou z odhadu vnitřního rozptylu). Příklad 2.1 Zaměstnanci UMAT hledají nejlepší metodu výuky matematiky v prvním semestru ze tří možností – cvičení, konzultace, přednáška. Aby zjistily, zda se metody od sebe nějak významně liší, vybrali náhodně 27 studentů a rozdělili je do tří skupin po devíti N1 = N2 = N3 = 9, z nichž každá je vyučována jinou metodou. Poté jsou záskána data ohodnocení zkoušky BMA1: 40 Fakulta elektrotechniky a komunikačních technologií VUT v Brně skupina 1 skupina 2 skupina 3 (cvičení) (konzultace) (přednáška) 94 83 80 90 86 85 95 89 81 89 87 81 88 85 79 92 86 83 92 85 78 97 81 80 91 83 82 T1 = 9 1 x1i = 828 T2 = 9 1 x2i = 765 T3 = 9 1 x3i = 729 x1 = T1 9 = 92 x2 = T2 9 = 85 x3 = T3 9 = 81 O významnosti rozdílů středního hodnot v různých skupinách měření rozhodněte statistickým testem. Jedná se o ilustrační příklad, proto si dovoluji pro řešení vypnout kurzívu. Označení T1, T2, T3 z anglického „total =součet. a) Z tří skupin měření odhadneme nejprve vnitřní rozptyl σ2 = RUT: Stupně volnosti ν1 = ν2 = ν3 = 8. Součet čtverců ze vztahu 1.23 s využitím označení pro součet T = xi budeme psát ve tvaru ss = x2 i − T2 N , (2.1) který budeme dále využívat, protože je numericky jednodušší. Užitím 2.1 a 1.12 tedy máme pro každou ze tří skupin měření s2 1 = est1 RUT = ss1 ν1 = 68 8 = 8,5; s2 2 = est2 RUT = ss2 ν2 = 46 8 = 5,75; s2 3 = est3 RUT = ss3 ν3 = 36 8 = 4,5. Vidíme, že rozptyly měření se liší maximálně o dvojnásobek, takže je rozumné brát v úvahu princip homogenního rozptylu a odhadnout RUT jako aritmetický průměr vypočtených tří hodnot: est RUT = 8,5 + 5,75 + 4,5 3 = 6,25. Tento odhad má ν1 + ν2 + ν3 = 24 stupňů volnosti. U příkladu 1.10 jsme u t-testu odhadovali vnitřní rozptyl – tento odhad jsme mohli docela dobře určit ze vzorce Pravděpodobnost, statistika a operační výzkum 41 est σ2 = ss1+ss2 ν1+ν2 (ověřte, že výsledek je stejný). Podobně i náš aritmetický průměr 6,25 tří odhadů lze počítat tímto způsobem – vzorec est σ2 = J 1 ssj J 1 νj (2.2) platí nikoli jen pro tři skupiny, měření, ale obecně pro J skupin. Pokud bychom jej použili v našem příkladu, est RUT = 68 + 46 + 36 8 + 8 + 8 = 6,25. b) S použitím t-rozdělení nyní můžeme sestavit intervaly spolehlivosti pro střední hodnoty µ1, µ2, µ3: když tk(α = 2q = 0,05; ν = 24) = 2,064, pak µj ∈ xj ± 6,25 9 · tk. Protože Nj = 9 pro všechna j, budou všechny tři intervaly spolehlivosti stejně dlouhé: µ1 ∈ 92 ± 1,72; µ2 ∈ 85 ± 1,72; µ3 ∈ 81 ± 1,72. Průměry a intervaly spolehlivosti lze znázornit graficky: skupina 3skupina 2skupina 1 0 20 60 40 80 Tyto tři intervaly spolehlivosti se vůbec nepřekrývají – to nám mimo jiné říká, že všechny tři střední hodnoty jsou navzájem různé, čili nulová hypotéza H0 : µ1 = µ2 = µ3 bude následujícícm testem zamítnuta. c) Provedeme nyní statistický test: (K1) H0: µ1 = µ2 = µ3 (vyučovací metoda nemá vliv na výsledek zkoušky); H1: neplatí µ1 = µ2 = µ3. 42 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Všimněme si, že hypotéza H1 je docela nejasná. Pokud H1 platí, může to znamenat hodně věcí: µ1 > µ2 = µ3, nebo µ1 > µ2 > µ3, nebo µ1 < µ2 < µ3, nebo µ1 = µ2 > µ3, nebo µ1 = µ2 < µ3, atd. Tato nejasnost hypotézy H1 je hlavní nevýhodou analýzy rozptylu – i když v dalších kapitolách uvidíme, že i s analýzou rozptylu se dá něco dělat. (K2) Jak už bylo řečeno úvodem, testovým kritériem bude podíl est RMT est RUT . Čím větší je hodnota est RMT (odhad rozptylu mezi třídami), tím větší důvod bude si myslet, že mezi jednotlivými středními hodnotami průměrů existuje skutečný rozdíl. Čím větší bude est RUT (odhad rozptylu uvnitř tříd), tím více máme důvod se domnívat, že rozdíly mezi skupinami měření jsou způsobeny pouze náhodnými vlivy. est RUT = 6,25; nyní vypočteme ještě est RMT – budeme postupovat obdobně jako při určení vnejšího rozptylu v příkladu 1.10. Máme změřeny tři průměry x1 = 92, x2 = 85, x3 = 81 – vypočtěme rozptyl těchto průměrů podle 1.23 a 1.22: Protože ν = 3 − 1 = 2, máme est rN = ss 2 , ss = J j=1 xj 2 − ( xj)2 J = 22250 − 2582 3 = 62. Tedy est rN = 62 2 = 31. To ale ještě není všechno – protože est rN je odhadem rozptylu průměru devíti hodnot a rN = RMT N , máme est RMT = N · rN = 9 · 31 = 279. Na tomto místě je snad vhodné graficky test „rozebrat : Pokud platí H0, tak průměry x1 = 92, x2 = 85, x3 = 81 pocházejí z téhož rozdělení, které má rozptyl RMT N : 81 9285 Pravděpodobnost, statistika a operační výzkum 43 To znamená, že est RMT i est RUT jsou odhady téhož rozptylu σ2 a rozdíl mezi hodnotami 6,25 a 279 je pouze náhodný. Pokud ovšem platí H1, průměry x1 = 92, x2 = 85, x3 = 81 pocházejí z různých rozdělení a rozptyl RMT N je větší než rozptyl RUT N z předchozího obrázku: 85 9281 Každý ze tří průměrů na obrázku je průměrem jiné náhodné veličiny, čili est RMV je odhadem jiného, většího rozptylu než RUP (rozptýlenost průměrů není popsána jednou veličinou, ale třemi různými veličinami). Obecně lze říci, že čím větší je rozdíl mezi est RMT a est RUT, tím větší je pravděpodobnost, že platí H1. (K3) Jaké je rozdělení veličiny est RMT est RUT za předpokladu platnosti hypotézy H0? Pokud platí H0, tak est RMT, est RUT jsou odhady téhož rozptylu σ2 . Sir Ronald Fisher odvodil, že pokud máme dva odhady téhož rozptylu, est1 R s počtem stupňů volnosti v1 a est2 R s počtem stupňů volnosti v2, tak podíl těchto odhadů est1 R est2 R má tzv. F-rozdělení (podle svého objevitele nazývané Fisherovo rozdělení) pravděpodobnosti s hustotou fv1,v2 (x) =    0 . . . x ≤ 0; v2 v1 · x (v1 2 −1)·e − x 2 2 v1 2 ·Γ(v1 2 ) x (v2 2 −1)·e − x 2 2 v2 2 ·Γ(v2 2 ) = v2 v1 · 2(v2−v1 2 ) · x(v1−v2 2 ) · Γ(v2 2 ) Γ(v1 2 ) . . . x > 0. Střední hodnota veličiny popsané F-rozdělením je rovna v2 v2−2 , je tedy blízká jedné, což i odpovídá platnosti hypotézy H0 – pokud v podílu jsou odhady stejného rozptylu, tak ten podíl by se měl přibližně rovnat jedné. Pro různé hodnoty stupňů volnosti má graf hustoty jiný průběh, tj. jinou kritickou hodnotu (pro α = 0,05). Například 44 Fakulta elektrotechniky a komunikačních technologií VUT v Brně 1 x 4,26 0,6 0,8 0,4 0,2 0 pro v1 = 2, v2 = 9 má hustota f2,9(x) tvar a Fk = 4,26. 0,1 0,2 0 3,71 x 0,5 0,4 0,7 0,3 0,6 Pro v1 = 3, v2 = 10 má hustota f3,10(x) tvar a Fk = 3,71. 0 x 2,54 0,6 0,4 0,2 0,8 Pro v1 = 10, v2 = 15 se graf f10,15(x) ještě více liší od nepřímé úměrnosti případu f2,9, Pravděpodobnost, statistika a operační výzkum 45 0,2 1,93 1 x 0,8 0,6 0 0,4 graf f20,30 už jednoznačně dává čtenáři představu, jaký tvar je pro většinu dvojic stupňů volnosti pro graf hustoty charakteristický. Ve všech čtyřech případech byla vyšrafována oblast na pravé straně mezi grafem a osou x, jejíž obsah je roven α = 0,05. Kritické hodnoty F-rozdělení byly také jednou provždy vypočteny a sestaveny do tabulky. Situace je ještě náročnější než u t-rozdělení, protože přibývá jeden parametr navíc – oproti t-rozdělení jsou u F-rozdělení dva stupně volnosti, čili pro každou hladinu významnosti α potřebuje F-rozdělení jednu celou tabulku!!! Tato prostorová náročnost vyžaduje, abychom se omezili pouze na jedinou hladinu významnosti, maximálně na dvě. V tabulce 2.2 jsou uvedeny kritické hodnoty F-rozdělení pro α = 0,05, v tabulce 2.3 pro α = 0,01. Všechny uvedené kritické hodnoty se týkají pravostranného testu – v případě potřeby levostranného F-testu je možné pro nalezení kritické hodnoty užít vzorec FV1,V2 k (1 − α) = 1 FV2,V1 k (α) (2.3) (všimněte si, že ve vzorci je na pravé straně přehozeno pořadí stupňů volnosti – pozor na to, tabulka kritických hodnot není symetrická). Dále si prosím všimněte, že volnosti jsou označeny písmenem V a nikoli ν – označení volnosti pomocí písmene V mi připadne jednak více české (V jako „volnost ), jednak vhodnější v této a dalších kapitolách (budeme totiž počítat volnosti odhadů různých typů). (K4) Pro α = 0,05 příslušnou kritickou hodnotu určíme z tabulky 2.2, kde volnost odhadu est RMT je V1 = 2, volnost odhadu est RUT je V2 = 24 – čili na průsečíku sloupce V1 = 2 a řádku V2 = 24 nacházíme kritickou hodnotu Fk = 3, 4. 46 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Tabulka 2.2: Kritické hodnoty F-testu pro α = 0,05. V1 → 1 2 3 4 5 6 7 8 9 10 12 15 20 24 30 40 60 120 ∞ V2 ↓ 1 161 199 216 225 230 234 237 239 240 242 244 246 248 249 250 251 252 253 254 2 18,5 19,0 19,2 19,2 19,3 19,3 19,3 19,4 19,4 19,4 19,4 19,4 19,4 19,4 19,5 19,5 19,5 19,5 19,5 3 10,1 9,55 9,28 9,12 9,01 8,94 8,89 8,85 8,81 8,79 8,74 8,70 8,66 8,64 8,62 8,59 8,57 8,55 8,53 4 7,71 6,94 6,59 6,39 6,26 6,16 6,09 6,04 6,00 5,96 5,91 5,86 5,80 5,77 5,75 5,72 5,69 5,66 5,63 5 6,61 5,79 5,41 5,19 5,05 4,95 4,88 4,82 4,77 4,74 4,68 4,62 4,56 4,53 4,50 4,46 4,43 4,40 4,36 6 5,99 5,14 4,76 4,53 4,39 4,28 4,21 4,15 4,10 4,06 4,00 3,94 3,87 3,84 3,81 3,77 3,74 3,70 3,67 7 5,59 4,74 4,35 4,12 3,97 3,87 3,79 3,73 3,68 3,64 3,57 3,51 3,44 3,41 3,38 3,34 3,30 3,27 3,23 8 5,32 4,46 4,07 3,84 3,69 3,58 3,50 3,44 3,39 3,35 3,28 3,22 3,15 3,12 3,08 3,04 3,01 2,97 2,93 9 5,12 4,26 3,86 3,63 3,48 3,37 3,29 3,23 3,18 3,14 3,07 3,01 2,94 2,90 2,86 2,83 2,79 2,75 2,71 10 4,96 4,10 3,71 3,48 3,33 3,22 3,14 3,07 3,02 2,98 2,91 2,85 2,77 2,74 2,70 2,66 2,62 2,58 2,54 11 4,84 3,98 3,59 3,36 3,20 3,09 3,01 2,95 2,90 2,85 2,79 2,72 2,65 2,61 2,57 2,53 2,49 2,45 2,40 12 4,75 3,90 3,49 3,26 3,11 3,00 2,91 2,85 2,80 2,75 2,69 2,62 2,54 2,51 2,47 2,43 2,38 2,34 2,30 13 4,67 3,81 3,41 3,18 3,03 2,92 2,83 2,77 2,71 2,67 2,60 2,53 2,46 2,42 2,38 2,34 2,30 2,25 2,21 14 4,60 3,74 3,34 3,11 2,96 2,85 2,76 2,70 2,65 2,60 2,53 2,46 2,39 2,35 2,31 2,27 2,22 2,18 2,13 15 4,54 3,68 3,29 3,06 2,90 2,79 2,71 2,64 2,59 2,54 2,48 2,40 2,33 2,29 2,25 2,20 2,16 2,11 2,07 16 4,49 3,63 3,24 3,01 2,85 2,74 2,66 2,59 2,54 2,49 2,42 2,35 2,28 2,24 2,19 2,15 2,11 2,06 2,01 17 4,45 3,59 3,20 2,96 2,81 2,70 2,61 2,55 2,49 2,45 2,38 2,31 2,23 2,19 2,15 2,10 2,06 2,01 1,96 18 4,41 3,55 3,16 2,93 2,77 2,66 2,58 2,51 2,46 2,41 2,34 2,27 2,19 2,15 2,11 2,06 2,02 1,97 1,92 19 4,38 3,52 3,13 2,90 2,74 2,63 2,54 2,48 2,42 2,38 2,31 2,23 2,16 2,11 2,07 2,03 1,98 1,93 1,88 20 4,35 3,49 3,10 2,87 2,71 2,60 2,51 2,45 2,39 2,35 2,28 2,20 2,12 2,08 2,01 1,99 1,95 1,90 1,84 21 4,32 3,47 3,07 2,84 2,68 2,57 2,49 2,42 2,37 2,32 2,25 2,18 2,10 2,05 2,01 1,96 1,92 1,87 1,81 22 4,30 3,44 3,05 2,82 2,66 2,55 2,46 2,40 2,34 2,30 2,23 2,15 2,07 2,03 1,98 1,94 1,89 1,84 1,78 23 4,28 3,42 3,03 2,80 2,64 2,53 2,44 2,37 2,32 2,27 2,20 2,13 2,05 2,01 1,96 1,91 1,86 1,81 1,76 24 4,26 3,40 3,01 2,78 2,62 2,51 2,42 2,36 2,30 2,25 2,18 2,11 2,03 1,98 1,94 1,89 1,84 1,79 1,73 25 4,24 3,39 2,99 2,76 2,60 2,49 2,40 2,34 2,28 2,24 2,16 2,09 2,01 1,96 1,92 1,87 1,82 1,77 1,71 26 4,23 3,37 2,98 2,74 2,59 2,47 2,39 2,32 2,27 2,22 2,15 2,07 1,99 1,95 1,90 1,85 1,80 1,75 1,69 27 4,21 3,35 2,96 2,73 2,57 2,46 2,37 2,31 2,25 2,20 2,13 2,06 1,97 1,93 1,88 1,84 1,79 1,73 1,67 28 4,20 3,34 2,95 2,71 2,56 2,45 2,36 2,29 2,24 2,19 2,12 2,04 1,96 1,91 1,87 1,82 1,77 1,71 1,65 29 4,18 3,33 2,93 2,70 2,55 2,43 2,35 2,28 2,22 2,18 2,10 2,03 1,94 1,90 1,85 1,81 1,75 1,70 1,64 30 4,17 3,32 2,92 2,69 2,53 2,42 2,33 2,27 2,21 2,16 2,09 2,01 1,93 1,89 1,84 1,79 1,74 1,68 1,62 40 4,08 3,23 2,84 2,61 2,45 2,34 2,25 2,18 2,12 2,08 2,00 1,92 1,84 1,79 1,74 1,69 1,64 1,58 1,51 60 4,00 3,15 2,76 2,53 2,37 2,25 2,17 2,10 2,04 1,99 1,92 1,84 1,75 1,70 1,65 1,59 1,53 1,47 1,39 120 3,92 3,07 2,68 2,45 2,29 2,17 2,09 2,02 1,96 1,91 1,83 1,75 1,66 1,61 1,55 1,50 1,43 1,35 1,25 ∞ 3,84 3,00 2,60 2,37 2,21 2,10 2,01 1,94 1,88 1,83 1,75 1,67 1,57 1,52 1,46 1,39 1,32 1,22 1,00 Pravděpodobnost, statistika a operační výzkum 47 Tabulka 2.3: Kritické hodnoty F-testu pro α = 0,01. V1 → 1 2 3 4 5 6 7 8 9 10 12 15 20 24 30 40 60 120 ∞ V2 ↓ 1 4052 4999 5403 5625 5764 5859 5928 5982 6022 6056 6106 6157 6209 6235 6261 6287 6313 6339 6366 2 98,5 99,0 99,2 99,2 99,3 99,3 99,4 99,4 99,4 99,4 99,4 99,4 99,4 99,5 99,5 99,5 99,5 99,5 99,5 3 34,1 30,8 29,5 28,7 28,2 27,9 27,7 27,5 27,3 27,2 27,0 26,9 26,7 26,6 26,5 26,4 26,3 26,2 26,1 4 21,2 18,0 16,7 16,0 15,5 15,2 15,0 14,8 14,7 14,6 14,4 14,2 14,0 13,9 13,8 13,7 13,6 13,6 13,5 5 16,3 13,3 12,0 11,4 11,0 10,7 10,5 10,3 10,2 10,0 9,89 9,72 9,55 9,47 9,38 9,29 9,20 9,11 9,02 6 13,8 10,9 9,78 9,15 8,75 8,47 8,26 8,10 7,98 7,87 7,72 7,56 7,40 7,31 7,23 7,14 7,06 6,97 6,88 7 12,2 9,55 8,45 7,85 7,46 7,19 6,99 6,84 6,72 6,62 6,47 6,31 6,16 6,07 5,99 5,91 5,82 5,74 5,65 8 11,3 8,65 7,59 7,01 6,63 6,37 6,18 6,03 5,91 5,81 5,67 5,52 5,36 5,28 5,20 5,12 5,03 4,95 4,86 9 10,6 8,02 6,99 6,42 6,06 5,80 5,61 5,47 5,35 5,26 5,11 4,96 4,81 4,73 4,65 4,57 4,48 4,40 4,31 10 10,0 7,56 6,55 5,99 5,64 5,39 5,20 5,06 4,94 4,85 4,71 4,56 4,41 4,33 4,25 4,17 4,08 4,00 3,91 11 9,65 7,21 6,22 5,67 5,32 5,07 4,89 4,74 4,63 4,54 4,40 4,25 4,10 4,02 3,94 3,86 3,78 3,69 3,60 12 9,33 6,93 5,95 5,41 5,06 4,82 4,64 4,50 4,39 4,30 4,16 4,01 3,86 3,78 3,70 3,62 3,54 3,45 3,36 13 9,07 6,70 5,74 5,21 4,86 4,62 4,44 4,30 4,19 4,10 3,96 3,82 3,66 3,59 3,51 3,43 3,34 3,25 3,17 14 8,86 6,51 5,56 5,04 4,69 4,46 4,28 4,14 4,03 3,94 3,80 3,66 3,51 3,43 3,35 3,27 3,18 3,09 3,00 15 8,68 6,36 5,42 4,89 4,56 4,32 4,14 4,00 3,89 3,80 3,67 3,52 3,37 3,29 3,21 3,13 3,05 2,96 2,87 16 8,53 6,23 5,29 4,77 4,44 4,20 4,03 3,89 3,78 3,69 3,55 3,41 3,26 3,18 3,10 3,02 2,93 2,84 2,75 17 8,40 6,11 5,18 4,67 4,34 4,10 3,93 3,79 3,68 3,59 3,46 3,31 3,16 3,08 3,00 2,92 2,83 2,75 2,65 18 8,29 6,01 5,09 4,58 4,25 4,01 3,84 3,71 3,60 3,51 3,37 3,23 3,08 3,00 2,92 2,84 2,75 2,66 2,57 19 8,18 5,93 5,01 4,50 4,17 3,94 3,77 3,63 3,52 3,43 3,30 3,15 3,00 2,92 2,84 2,76 2,67 2,58 2,49 20 8,10 5,85 4,94 4,43 4,10 3,87 3,70 3,56 3,46 3,37 3,23 3,09 2,94 2,86 2,78 2,69 2,61 2,52 2,42 21 8,02 5,78 4,87 4,37 4,04 3,81 3,64 3,51 3,40 3,31 3,17 3,03 2,88 2,80 2,72 2,64 2,55 2,46 2,36 22 7,95 5,72 4,82 4,31 3,99 3,76 3,59 3,45 3,35 3,26 3,12 2,98 2,83 2,75 2,67 2,58 2,50 2,40 2,31 23 7,88 5,66 4,76 4,26 3,94 3,71 3,54 3,41 3,30 3,21 3,07 2,93 2,78 2,70 2,62 2,54 2,45 2,35 2,26 24 7,82 5,61 4,72 4,22 3,90 3,67 3,50 3,36 3,26 3,17 3,03 2,89 2,74 2,66 2,58 2,49 2,40 2,31 2,21 25 7,77 5,57 4,68 4,18 3,85 3,63 3,46 3,32 3,22 3,13 2,99 2,85 2,70 2,62 2,54 2,45 2,36 2,27 2,17 26 7,72 5,53 4,64 4,14 3,82 3,59 3,42 3,29 3,18 3,09 2,96 2,81 2,66 2,58 2,50 2,42 2,33 2,23 2,13 27 7,68 5,49 4,60 4,11 3,78 3,56 3,39 3,26 3,15 3,06 2,93 2,78 2,63 2,55 2,47 2,38 2,29 2,20 2,10 28 7,64 5,45 4,57 4,07 3,75 3,53 3,36 3,23 3,12 3,03 2,90 2,75 2,60 2,52 2,44 2,35 2,26 2,17 2,06 29 7,60 5,42 4,54 4,04 3,73 3,50 3,33 3,20 3,09 3,00 2,87 2,73 2,57 2,49 2,41 2,33 2,23 2,14 2,03 30 7,56 5,39 4,51 4,02 3,70 3,47 3,30 3,17 3,07 2,98 2,84 2,70 2,55 2,47 2,39 2,30 2,21 2,11 2,01 40 7,31 5,18 4,31 3,83 3,51 3,29 3,12 2,99 2,89 2,80 2,66 2,52 2,37 2,29 2,20 2,11 2,02 1,92 1,80 60 7,08 4,98 4,13 3,65 3,34 3,12 2,95 2,82 2,72 2,63 2,50 2,35 2,20 2,12 2,03 1,94 1,84 1,73 1,60 120 6,85 4,79 3,95 3,48 3,17 2,96 2,79 2,66 2,56 2,47 2,34 2,19 2,03 1,95 1,86 1,76 1,66 1,53 1,38 ∞ 6,63 4,61 3,78 3,32 3,02 2,80 2,64 2,51 2,41 2,32 2,18 2,04 1,88 1,79 1,70 1,59 1,47 1,32 1,00 48 Fakulta elektrotechniky a komunikačních technologií VUT v Brně (K5) Odpovídající F-hodnota kritéria je F = est RMT est RUT = 279 6,25 = 44,64, což je více než Fk = 3, 4, a tedy zamítáme hypotézu H0 o tom, že střední hodnoty průměrů jsou ve všech třech skupinách měření shodné. Zde budiž také řečeno, že se jedná o pravostranný test, protože rozptyl RMT (vyjadřující rozdílnost mezi všemi měřeními) je vždy velký minimálně tolik jako rozptyl RUT (vyjadřující rozdílnost pouze uvnitř každé ze skupin měření), čili podíl est RMT est RUT bude vždy větší než jedna, jedinou otázkou je, kolikanásobně je RMT větší než RUT. Důležitá poznámka: V případě t-testu v příkladu 1.10 jsme předpokládali, že est1 σ2 a est2 σ2 jsou odhady téhož rozptylu – tuto skutečnost je možné nyní ověřit také F-testem: Jako kritérium bychom použili podílu est1 σ2 est2 σ2 , který má (při předpokladu H0, že se jedná o odhady téhož roptylu) rozdělení FN1−1,N2−1 – další možnost je použít kritéria est2 σ2 est1 σ2 , který má (při předpokladu H0, že se jedná o odhady téhož roptylu) rozdělení FN2−1,N1−1. Problémem zde je, že nemáme zajištěno, že by jeden z těchto dvou rozptylů musel být například větší než ten druhý, čili podíl těchto dvou odhadů může být větší i menší než jedna, tedy vychýlen od hodnoty 1 na obě strany – v tomto případě se tedy jedná o oboustranný test, při kterém musíme při určení kritických hodnot na obou stranách podgrafu „useknout obsah α 2 . Protože máme k dispozici jen tabulky 2.3, 2.2 usekávající v pracé části podgrafu jedno nebo pět procent obsahu, můžeme v tomto testu volit pouze α = 0,02 nebo α = 0,1, hodnotu Fv najít v jedné z těchto tabulek, a pro určení levé kritické hodnoty Fm užít tabulek společně se vzorcem 2.3. Konkrétně v příkladu 1.10 pro est1 = 88 a est2 = 30 (s volnostmi V1 = V2 = 4), kritérium est1 est2 a α = 0,02 dostaneme z tabulky 2.3 F4,4 v = 16, 0 a ze vzorce 2.3 F4,4 m = 1 F4,4 k = 1 16 = 0,0625; hodnota kritéria 88 30 = 2,93 leží v intervalu (0,0625; 16); čili nezamítáme hypotézu H0, že est1, est2 jsou odhady téhož rozptylu σ2 . Shrňme nyní označení a vzorce použité v příkladu 2.1: Vzorec 2.2 lze s využitím označení SSUT := J 1 SSi, V UT := J 1 νi přepsat ve tvaru est RUT = SSUT V UT , (2.4) kde pro V UT platí pro stejný počet měření N1 = N2 = · · · = NJ = N v každé ze skupin 1, 2, . . . , J V UT = J 1 νi = J · (N − 1) = JN − J = n − J, (2.5) Pravděpodobnost, statistika a operační výzkum 49 kde n je celkový počet měření ve všech skupinách (JN = n). Dále pokud označíme Ti = N j=1 xij součet měření v i-té skupině (třídě), lze upravit vzorec pro SSUT do tvaru SSUT = J i=1 SSi = J i=1 N j=1 x2 ij − T2 i N = J i=1 N j=1 x2 ij − J i=1 T2 i N . (2.6) Odhad est RUT je nejlepším odhadem rozptylu σ2 , tj. budeme jej používat pro sestavení intervalu spolehlivosti pro střední hodnotu průměru měření v dané třídě populace µi ∈ xi ± tk(V UT) · est RUT Ni . (2.7) Podívejme se nyní na tvar vzorců pro RMT: pro průměr x průměrů xi platí (označíme-li xi = Ti N , Ti = T = součet všech měření v experimentu): x = J i=1 xi J = J i=1 Ti N J = J i=1 Ti NJ = T n ; dále (podle postupu v příkladu) est RMT = N · est σ2 X = N · J i=1(xi − x)2 J − 1 (pokud označíme SSMT = N · J 1 (xi − x)2 a V MT = J − 1). Upravme nyní ještě vzorec pro SSMT (pro stejné délky měření v každé ze skupin Ni = N lze využít označení Ti = T a faktu JN = n): SSMT = N · J 1 (xi − x)2 = N ·    J 1 xi 2 − J 1 xi 2 J    = = N · J 1 xi 2 − N J J 1 xi 2 = N · J 1 T2 i N2 − N J · J 1 Ti N 2 = = J 1 T2 i N − T2 n . Všechny uvedené vzorce nyní sestavme do přehledné tabulky. Uděláme v ní ale ještě jeden krok navíc – předpoklad Ni = N stejného počtu měření v každé ze skupin lze vypustit, hodnoty Ni mohou být navzájem různé. Příslušné odvození vzorců pro různá Ni ovšem už nebudeme provádět (snad čtenář získal určitou příchuť tohoto typu odvozování aspoň pro stejné hodnoty Ni) – kupodivu se ukazuje, že do všech vzorců právě odvozených lze dosadit místo N obecný počet měření Ni, a jinak vzorce zůstanou beze změny (neplatí ještě n = NJ, ale obecně pro různé délky souborů měření platí n = Ni)!!! Z tabulky 2.4 je vidět výhoda přístupu pomocí vzorců pro SS – v případě MT i UT se rozptyl odhadne jako podíl součtu čtverců a počtu stupňů volnosti. 50 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Tabulka 2.4: Vzorce pro typy rozpylu u jednofaktorové ANOVA typ rozptylu V (= volnost) SS (= součet čtverců) est R MT V MT = J − 1 SSMT = J i=1 T2 i Ni − T2 n est RMT = SSMT V MT UT V UT = n − J SSUT = J i=1 Ni j=1 x2 ij − J i=1 T2 i Ni est RUT = SSUT V UT Příklad 2.2 Provádíme test účinnosti čtyř značek zubní pasty v prevenci zubního kazu: WHITE, RUBBY, NIGGARD, NOHOLES. U každé značky bylo požádáno šest lidí, aby pastu po dobu jednoho roku používali a zaznamenávali přitom počet zubních kazů. Z každé šestičlenné skupiny během roku někdo odešel, takže byla získána následující data: skupina 1 skupina 2 skupina 3 skupina 4 (WHITE) (RUBBY) (NIGGARD) (NOHOLES) x11 = 2 x21 = 4 x31 = 6 x41 = 3 x12 = 1 x22 = 1 x32 = 2 x42 = 1 x13 = 3 x23 = 3 x33 = 4 x24 = 3 x34 = 4 x25 = 4 T1 = 6 T2 = 15 T3 = 16 T4 = 4 x1 = 2 x2 = 3 x3 = 4 x4 = 2 Vypočtěme nejprve intervaly spolehlivosti pro střední hodnotu v každé ze čtyř (J = 4) skupin měření (užitím 2.7 a vzorců z tabulky 2.4): est RUT = SSUT V UT = všechno x2 ij − skupiny T2 i Ni n − J = 147 − 129 14 − 4 = 1,8; Dále V UT = 10 (sečítá se volnost 2 ve skupině WHITE, volnost 4 ve skupině RUBBY, volnost 3 ve skupině NIGGARD a volnost 1 ve skupině NOHOLES). Z tabulky 1.1 pro α = 2q = 0,05 a volnost 10 je tk(10) = 2,228. Intervaly spolehlivosti mají teď různou délku díky různým počtům měření v každé ze skupin – podle 2.7 µi ∈ Xi ± 1,8 Ni · 2,228 máme µ1 ∈ 2 ± 1,73, µ2 ∈ 3 ± 1,34, µ3 ∈ 4 ± 1,49 a µ4 ∈ 2 ± 2,11 (grafické znázornění těchto intervalů viz obrázek): Pravděpodobnost, statistika a operační výzkum 51 NOHOLESNIGGARDRUBBYWHITE 5 4 1 0 3 2 Z obrázku je možné vyčíst následující informace: – intervaly spolehlivosti mají neprázdný průnik, což nedává moc důvodů si myslet, že střední hodnoty veličin v jednotlivých situacích měření se liší významně; – experiment nemá velkou sílu: mezi jednotlivými značkami pasty mohou být značné rozdíly (např. µ1 = 1, µ3 = 5), ale statisticky je nejsme schopni prokázat; pomohlo by zopakování experimentu s větším počtem měření v každé ze skupin (tedy s větší silou). Proveďme nyní test hypotézy: (K1) H0: µ1 = µ2 = µ3 = µ4; H1: Neplatí H0. (K2) Testovým kritériem bude veličina est RMT est RUT . Odhad est RUT = 1,8 už byl nalezen (pro V UT = 10), odhadněme ještě RMT (pro V MT = J − 1 = 4 − 1 = 3): est RMT = SSMT V MT = J i=1 T2 i Ni − T2 n J − 1 = 129 − 412 14 4 − 1 = 3. (K3) Při platnosti H0 má veličina est RMT est RUT rozdělení F pro stupně volnosti V1 = 3, V2 = 10. (K4) Pro α = 0,05 příslušná kritická hodnota Fk(3, 10) je na průsečíku třetího sloupce a desátého řádku tabulky 2.2 tj. Fk(3, 10) = 3,71. (K5) Odpovídající F-hodnota kritéria je est RMT est RUT = 3 1,8 = 1,67 < Fk = 3,71; H0 tedy nezamítáme, rozdíly mezi pastami nebyly testem odhaleny. 52 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Poznámka: Někdy se situace analýzy rozptylu popisuje tzv. lineárním modelem (tento přístup je podrobně rozpracován ve skriptu [6]): pro j-tou hodnotu i-té skupiny (třídy) platí xij = µ + αi + εij, kde µ je střední hodnota celé populace, αi je vliv (relativní změna) µ způsobený podmínkami měření ve skupině (= třídě) i, εij je náhodná chyba, která má rozdělwní s rozptylem σ2 , což je stejný rozptyl jako rozptyl celé populace. Zde platí J i=1 αi = 0, Ni j=1 εij = 0, a H0, H1 lze formulovat H0 : α1 = α2 = · · · = αJ = 0, H1: neplatí H0. V tomto textu se analýze rozptylu ovšem nebudeme věnovat z pohledu lineárního modelu, ale z hlediska již představeného součtu čtverců. 2.1.2 Důležité drobnosti k zapamatování Vrátíme-li se k situaci J skupin (tříd) měření, i-tá délky Ni, lze z měření ve všech skupinách dohromady spočítat jeden „velký součet čtverců SS = všechno (xij − x)2 =   všechno x2 ij   − všechno xij 2 n =   všechno x2 ij   − T2 n , (2.8) kterému odpovídá V SS = n−1 stupňů volnosti (n hodnot závislých na jednom parametru x). Z tabulky 2.4 je patrno, že SS = SSMT + SSUT; (2.9) V SS = V MT + V UT (2.10) (podobné vztahy platily mezi celkovým rozptylem, vnitřním rozptylem a vnejším rozptylem v příkladu 1.10). Pokud by se někomu zdály vzorec 2.8 a tabulka 2.4 příliš náročné, rád bych uvedl několik skutečností, které čtenáři pomohou si tyto vzorce zamilovat a ocenit krásu analýzy rozptylu :-) Vztah mezi součtem čtverců a stupni volnosti: Ve vzorcích je přítomna následující symetrie – vzorec pro výpočet počtu stpupňů volnosti je klíčem pro určení počtu členů v sumách odpovídajícího součtu čtverců: • Celkový součet čtverců (2.8): V SS = n − 1, a pak při výpočtu SS od sumy n členů (sumy čtverců všech měření experimentu) odečteme jeden člen T2 n . • SSUT: Protože V UT = n − J, pak při výpočtu SSUT odečítáme od sumy n členů (čtverců všech měření experimentu) sumu J členů ( T2 i Ni pro j = 1, 2, . . . , J). • SSMT: Protože V MT = J − 1, tak při výpočtu SSMT odečítáme od sumy J členů T2 i Ni jeden člen T2 n . Pravděpodobnost, statistika a operační výzkum 53 Pravidlo „umocni a poděl : Kdykoli v probíraných vzorcích umocňujeme určitý součet, dělíme jej počtem členů tohoto součtu. Konkrétně: • x2 ij: Umocňujeme jediný člen, čili dělíme jej jedničkou :-) • T2 i Ni : Umocňujeme součet Ti = Ni j=1 xij, čili dělíme jej číslem Ni. • T2 n : Umocňujeme součet T všech n hodnot, čili dělíme jej číslem n. No nejsou ty vzorce krásné? 2.2 Dvoufaktorová analýza rozptylu 2.2.1 Příklady a vzorce Až dosud jsme se zabývali situacemi, kdy se hledal vliv jedné nezávislé proměnné na jednu závislou proměnnou. Nyní budeme sledovat vliv dvou nezávislých proměnných na třetí závislou proměnnou. Příklad 2.3 Chceme zkoumat vliv dvou proměnných na výkon paměti. První proměnnou bude finanční motivace (zlepší se výkon paměti, když člověk dostane více zaplaceno?), druhou proměnnou bude délka pamatování (pamatuje si člověk po delší době méně?). Výkon paměti budeme měřit počtem zapamatovaných slov (ze dvaceti uvedených slov). Při řešení příkladu bychom mohli provést dva oddělené experimenty jednorozměrné analýzy rozptylu: V jednom experimentu zkoumat vliv prvního faktoru (= finanční motivace) v různých podmínkách (podmínka 1: člověk dostane 1 kč za každé správně zapamatované slovo; podmínka 2: člověk dostane 100 kč za každé správně zapamatované slovo), ve druhém experimentu vliv druhého faktoru (= doba pamatování) za různých podmínek (podmínka 1: zkouška paměti ihned po naučení slov; podmínka 2: zkouška paměti hodinu po naučení slov; podmínka 3: zkouška paměti pět hodin po naučení slov). Ale lepší je oba vlivy zkoumat najednou ve dvourozměrné analýza rozptylu, protože se z ní dovíme více informacínež ze dvou jednorozměrných experimentů (můžeme studovat tzv. interakci obou nezávislých proměnných - jakýsi jejich vzájemný vliv na třetí proměnnou; za chvíli bude řečeno více). Skloubením dvou podmínek faktoru 1 a tří podmínek faktoru 2 získáme 2 · 3 = 6 podmínek dvourozměrné (= dvoufaktorové) analýzy rozptylu. pro takto navržený experiment bylo náhodně vybráno šest skupin po třech lidech a získána data uvedená v tabulce na následující straně. Vysvětlení označení v této tabulce faktorové analýzy typu J × K: J ... počet podmínek faktoru 1. K ... počet podmínek faktoru 2. Tij, xij... součet a průměr příslušný k podmínce ij. 54 Fakulta elektrotechniky a komunikačních technologií VUT v Brně TRi , NRi ... součet a počet hodnot příslušný i-té podmínce faktoru 1 (= v i-tém řádku faktorové tabulky). TSj , NSj ... součet a počet hodnot příslušný j-té podmínce faktoru 2 (= v j-tém sloupci faktorové tabulky). T, n ... celkový součet a počet hodnot v tabulce. 0 hodin 1 hodina 5 hodin x111 = 6 x121 = 4 x131 = 5 x112 = 4 x122 = 4 x132 = 4 1 kč x113 = 5 x123 = 4 x133 = 3 TR1 = 39 —— —— —— T11 = 15 T12 = 12 T13 = 12 x11 = 5 x12 = 4 x13 = 4 x211 = 11 x221 = 6 x231 = 6 x212 = 8 x222 = 10 x232 = 4 100 kč x213 = 8 x223 = 8 x233 = 5 TR2 = 66 —— —— —— T21 = 27 T22 = 24 T23 = 15 x21 = 9 x22 = 8 x23 = 5 TS1 = 42 TS2 = 36 TS3 = 27 T = 105 n = 18 Zpracování naměřených dat shrneme do tří bodů: a) Intervaly spolehlivosti: Potřebujeme vypočítat nejprve est RUT – máme k dospozici šest odhadů tohoto „vnitřního rozptylu (ze tří měření v každé ze šesti skupin lze určit jeden odhad), lze tedy spočítat jejich aritmetický průměr. Ovšem jednodušší je použít zde analogii vzorce pro součet čtverců rozptylu UT z tabulky 2.4: est RUT = SSUT V UT = všechno x2 ijk − skupiny T2 ij Nij n − J · K ; (2.11) dosazením dostaneme est RUT = 701 − 681 18 − 6 . = 1,667. Tedy podle vzorce 2.7 máme µij ∈ xij ± 1,667 3 · tk(12) = xij ± 1,62. Grafické znázornění průměrů a intervalů spolehlivosti bude nyní složitější než dříve: na ose y je vynášena závislá proměnná měřená počtem zapamatovaných slov, na ose x jedna z nezávislých proměnných, například doba pamatování. Druhou nezávislou proměnnou – finanční motivaci – do obrázku graficky znázorníme tím, že pro každou Pravděpodobnost, statistika a operační výzkum 55 z jejich hodnot (1 kč , 100 kč) se nakreslí jeden graf závislosti počtu zapamatovaných slov na době pamatování. V jednom obrázku je tedy více křivek odpovídajících různým podmínkám faktoru 1: 5 hod1 hod 1 k za slovo 100 k za slovo 0 hod 5 6 4 7 10 8 9 Z intervalů spolehlivosti lze vyčíst, že oba faktory mají vliv na počet zapamatovaných slov: pro delší dobu pamatování počet zapamatovaných slov klesá (obě křivky), pro vyšší finanční motivaci je počet zapamatovaných slov větší (křivka „100 kč je výše než křivka „1 kč ). b) Jednorozměrná ANOVA pro šest podmínek: Na chvíli zapomeňme, že šest „okének v tabulce vzniklo kombinací dvou nezávislých proměnných, a proveďme jednorozměrnou analýzu rozptylu, abychom zjistili, zda mezi uvedenými šesti skupinami (= třídami) existují významné statistické rozdíly: H0 : µ11 = µ12 = µ13 = µ21 = µ22 = µ23; (H1: neplatí H0). Už máme spočteno est RUT = 1, 667 (pro V UT = 12); dále použijeme analogii vzorce pro součet čtverců rozptylu MT z tabulky 2.4: est RMT = SSMT V MT = podmínky T2 ij Nij − T2 n J − 1 ; (2.12) po dosazení je (pro V MT = 5) est RMT = 681 − 612,5 5 = 68,5 5 = 13,7. Sestavme výpočty prováděné v našem statistickém testu do tabulky: 56 Fakulta elektrotechniky a komunikačních technologií VUT v Brně typ rozptylu V SS est R F-hodnota Fk celkový 17 88,5 – – – MT 5 68,5 13,7 8,2 3,11 UT 12 20 1,667 – – Protože 13,7 1,667 = 8,2 > 3,11 (F5,12 k (α = 0,05) = 3,11), uzavíráme, že rozdíly mezi skupinami jsou statisticky významné – H0 zamítáme. Protože nás zajímá i vliv každé z obou nezávislých proměnných zvlášť a vliv interakce obou proměnných (obojí lze zjistit ze dvourozměrné ANOVA), v praxi v této situaci test b) neprovádíme. Je zde uveden pouze z pedagogických důvodů (aby se vidělo, že i tento test je možný, a aby bylo připomenuto rozdělení celkového „koláče rozptylu , respektive celkového koláče součtu čtverců: SS = 88,5 = SSUT + SSMT, V SS = 17 = V UT + V MT). c) Dvourozměrná ANOVA: C1: Testujme nejprve vliv faktoru 1 (= finanční motivace) na počet zapamatovaných slov; tento faktor má dvě podmínky vzniklé vždy součtem v příslušném řádku faktorové tabulky: 6 4 5 1 kč 4 4 4 TR1 = 39 5 4 3 NR1 = 9 11 6 6 100 kč 8 10 4 TR2 = 66 8 8 5 NR2 = 9 T = 105 n = 18 Rozhodujeme mezi H0 : µR1 = µR2 a H1 : neplatí H0. Kritériem testu bude opět podíl „vnějšího a „vnitřního rozptylu, ale roli vnějšího rozptylu bude nyní hrát rozptyl mezi řádky tabulky, proto označení RMR (analogicky SSMR je příslušný součet čtverců, V MR příslušná volnost) – při jeho výpočtu použijeme analogii vzorce pro součet čtverců rozptylu MT z tabulky 2.4: est RMR = SSMR V MR = řádky T2 Ri NRi − T2 n J − 1 ; (2.13) po dosazení est RMR = 653 − 612,5 2 − 1 = 40,5; je vidět, že V MR = J − 1 = 2 − 1 = 1. Pak po dosazení do kritéria est RMR est RUT = 40,5 1,667 . = 24,25 > F1;12 k (α = 0,05) = 4,75. Proto H0 zamítáme, vliv faktoru 1 na počet zapamatovaných slov se prokázal – je statisticky významný. Pravděpodobnost, statistika a operační výzkum 57 C2: Dále testujme vliv faktoru 2 (= doby pamatování) na počet zapamatovaných slov (zase nás zajímá porovnání mezi jednotlivými sloupci faktorové tabulky): 0 hod 1 hod 5 hod 6 4 5 4 4 4 5 4 3 11 6 6 8 10 4 8 8 5 TS1 = 42 TS2 = 36 TS3 = 27 T = 105 NS1 = 6 NS2 = 6 NS3 = 6 n = 18 Mezi hypotézami „H0 : µS1 = µS2 = µS3 a „H1: Neplatí H0 rozhodne nyní kritérium est RMS est RUT , kde est RMS určíme ze vztahu est RMS = SSMS V MS = sloupce T2 Sj NSj − T2 n K − 1 ; (2.14) dosazením (pro V MS = K − 1 = 3 − 1 = 2) máme est RMS = 631,5 − 612,5 3 − 1 = 9,5, a tedy est RMS est RUT = 9,5 1,667 = 5,69 > F2,12 k (α = 0,05) = 3,8, proto H0 opět zamítáme, vliv faktoru 2 na počet zapamatovaných slov je statisticky významný. C3: Sestavme dosud vypočtené hodnoty do tabulky: typ rozptylu V SS est R F-hodnota Fk celkový 17 88,5 – – – MT 5 68,5 – – – – R 1 40,5 40,5 24,25 4,75 – S 2 19 9,5 5,69 3,8 – I 2 9 4,5 2,69 3,8 UT 12 20 1,667 – – Nyní je potřeba vysvětlit, kde se vzal v tabulce červený řádek. Tento řádek odpovídá vlivu interakce mezi faktorem 1 a faktorem 2 na počet zapamatovaných slov. Tato interakce je součástí rozdílnosti mezi různými skupinami měření, a tedy je součástí vnějšího rozptylu, proto budou platit vzorce SSMT = SSMR + SSMS + SSI; (2.15) V MT = V MR + V MS + V I, (2.16) 58 Fakulta elektrotechniky a komunikačních technologií VUT v Brně kde SSI je součet čtverců (rozptylu) interakce a V I je volnost (rozptylu) interakce. Pomocí těchto vztahů je možné SSI a V I snadno určit: V I = 5 − 1 − 2 = 2, SSI = 68,5 − 40,5 − 19 = 9. Pak est RI = SSI V I = 9 2 = 4,5, a tedy (testové kritérium est RI est RUT porovnáme s kritickou hodnotou FV I,V UT k )) est RI est RUT = 4,5 1,667 . = 2,69 < F2,12 k (α = 0,05) = 3,8. To znamená, že vliv interakce faktorů 1 a 2 na počet zapamatovaných slov není statisticky významný, hodnota kritéria tohoto pravostranného testu nepřesáhla kritickou hodnotu. Dvourozměrná ANOVA tedy spočívá v testech C1, C2, C3, ve kterých hledáme vliv – faktoru 1 – faktoru 2 – interakce faktorů 1 a 2 na závislou proměnnou. No dobře, ale co to ta interakce vlastně je? Podívejme se na příklad: Příklad 2.4 Modifikujme nyní příklad 2.3 a předpokládejme dvě podmínky faktoru 1 (1 kč, 100 kč) a pouze dvě podmínky faktoru 2 (0 hod, 1 hod), čili dvourozměrnou ANOVA typu 2 × 2. Uvažme tři různé výsledky získaných dat z hlediska interakce (na vodorovnou osu vynášíme dobu zapamatování, na svislou osu počet zapamatovaných slov): a) Žádná interakce: (i) Při motivaci 100 Kč si lidé pamatují průměrně o tři slova více než při motivaci 1 Kč (bez ohledu na délku pamatování) (ii) Za jednu hodinu lidé zapomenou průměrně pět slov (bez ohledu na finanční motivaci) (iii) Shrnutí: vliv jednoho faktoru nezávisí na velikosti druhého faktoru; abychom určili hodnotu vlivu jednoho faktoru, nemusíme se zajímat o druhý faktor – jinými slovy, mezi faktory neexistuje interakce (geometricky: příslušné závislosti na obrázku jsou navzájem rovnoběžné). 4 100 k za slovo 1 k za slovo 1 hod0 hod 1 9 8 7 6 5 4 3 2 1 Pravděpodobnost, statistika a operační výzkum 59 b) Slabá interakce: (i) O kolik víc si lidé průměrně pamatují při motivaci 100 Kč než při motivaci 1 Kč? To záleží na délce pamatování – bezprostředně po naučení slov je to průměrně o tři více, hodinu po naučení slov průměrně o jedno slovo více (viz obr.). (ii) Kolik slov lidé zapomenou průměrně za jednu hodinu? To záleží na motivaci – při 1 Kč průměrně tři slova, při 100 Kč průměrně pět slov (viz obr.). (iii) Shrnutí: vliv jednoho faktoru závisí na velikosti druhého faktoru; abychom určili vliv jednoho faktoru, musíme uvažovat i hodnotu druhého faktoru – jinými slovy, mezi faktory existuje interakce (geometricky: příslušné závislosti na obrázku jsou různoběžné). 4 100 k za slovo 1 k za slovo 1 1 hod0 hod 9 8 7 6 5 4 3 2 3 c) Silná interakce: I když tento výsledek je v tomto příkladu nepravděpodobný, popišme, co by znamenala silná interakce: 4 100 k za slovo 1 k za slovo 1 hod0 hod 8 9 8 7 6 5 4 3 2 1 (i) O kolik víc si lidé průměrně pamatují při motivaci 100 Kč než při motivaci 1 Kč? To záleží na délce pamatování – bezprostředně po naučení slov je to průměrně o pět více, ale hodinu po naučení slov průměrně (světe div se) o čtyři slova méně (viz obr.)!! (ii) Kolik slov lidé zapomenou průměrně za jednu hodinu? To zcela závisí na motivaci – při 100 Kč zapomenou průměrně pět slov, při 1 Kč si průměrně vzpomenou ještě na čtyři další slova !!. 60 Fakulta elektrotechniky a komunikačních technologií VUT v Brně (iii) Shrnutí: Hodnota jednoho faktoru zcela (a klíčově) závisí na hodnotě druhého faktoru. Tomuto typu interakce říkáme úplná (= silná). příslušné grafy mají opačný sklon – za jedné podmínky je graf rostoucí, za jiné klesající. Pojem interakce má také svá úskalí: V oddílku 1.6 (poznámka e)) jsme mluvili o porušení měřítka, které s otázkou interakce souvisí – někdy volba hodnoty závislé proměnné není jednoznačná. V našem příkladu jsme závislou proměnnou (= sílu paměti) měřili počtem zapamatovaných slov. Mohlo by se stát, že bychom tuto „psychologickou proměnnou měřili jinou matematickou veličinou (např. logaritmem počtu zapamatovaných slov nebo druhou mocninou počtu zapamatovaných slov) a příslušné křivky na obrázcích by pak měly jiný sklon, což by vedlo k jiné interakci. Protože tato volba veličiny není jednoznačná (více matematických veličin může být k tomuto účelu stejně dobrých), není jednoznačná ani hodnota interakce. Zpředchozího odstavečku plyne, ževhodnou transformací závislé proměnné lze někdy interakci odstranit – zejména případ slabé interakce („mírně různoběžné grafy ) lze převést na případ bez interakce (rovnoběžné grafy), čili nemá smysl tvrdit, že interakce existuje nebo neexistuje. To ovšem neznamená, že nemá cenu interakce studovat – naopak, v některých případech lze interakci jednoznačně prokázat: • např. když měřítko závislé proměnné je ekvivalentní měřítku nezávislé proměnné (příkladem takové závislé proměnné je např. doba čekání na výskyt jisté události – např. v našem příkladu by to znamenalo spíše naplánovat experiment tak, že by čas byl závislou proměnnou a vynášel by se na svislé ose, měřili bychom například dobu, po kterou si lidé jsou schopni udržet v paměti aspoň pět ze zapamatovaných slov; nezávislými proměnnými by mohly být např. motivace a věk); • silnou interakci nelze transformací zachovávající monotonnost (= rostoucí funkce se transformuje na rostoucí funkci) nijak odstranit. Podívejme se ještě na jeden příklad dvourozměrné analýzy rozptylu: Příklad 2.5 V roce 1966 ve firmě Bell telephone představil Saul Sternberg způsob, jak testovat rychlost přístupu člověka do krátkodobé paměti: Testovaný má za úkol si zapamatovat určitou množinu písmen, např. {A, Q, M, T, G}. Potom se podrobí následující zkoušce: jsou mu prezentována různá písmena a on má stisknout jisté tlačítko, pokud dané písmeno pochází ze zapamatované množiny písmen (a jiné tlačítko, pokud se o písmeno z dané množiny nejedná). Měří se doba reakce mezi prezentací písmene a stiskem tlačítka. Základní nezávislou proměnnou tohoto experimentu je s = počet písmen v „paměťové množině . Bylo zjištěno, že závislost počtu písmen na reakční době je lineární (s větším počtem písmen předložených k zapamatování se lineárně prodlužuje reakční doba): Pravděpodobnost, statistika a operační výzkum 61 t s c = 33.3 ms 532 400 4 300 1 Popis obrázku: na vodorovnou osu vynášíme počet s slov v „paměťové množině , na svislou osu reakční dobu t v milisekundách, přidáním jednoho slova do zapamatované množiny se zvýší reakční doba přibližně o c = 33,3 milisekund. Proveďme nyní experiment zjišťující, jak se přístup do krátkodobé paměti liší vzhledem k typu zapamatované jednotky - vytvoříme dvourozměrnou ANOVA typu 2 × 3, faktor 1 (= typ pamatované jednotky) má dvě podmínky (písmena a slova); faktor 2 (= počet jednotek v zapamatované množině) má tři podmínky neboli hodnoty (1, 3, 5). Získala se následující data, proveďte pro ně dvourozměrnou ANOVA: 1 3 5 350 394 456 346 392 471 361 410 464 330 405 460 písmena 342 400 450 TR1 = 6031 —— —— —— T11 = 1729 T12 = 2001 T13 = 2301 x11 = 346 x12 = 400 x13 = 460 est11 σ2 = 128 est12 σ2 = 56 est13 σ2 = 63 384 466 585 371 484 580 365 475 560 392 470 562 slova 375 465 570 TR2 = 7104 —— —— —— T21 = 1887 T22 = 2360 T23 = 2857 x21 = 377 x22 = 472 x23 = 571 est21 σ2 = 114 est22 σ2 = 61 est23 σ2 = 120 TS1 = 3616 TS2 = 4361 TS3 = 5158 T = 13135 n = 30 62 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Z naměřených dat spočítáme k dalšímu využití: SSUT = vše x2 ijk − podmínky T2 ij 5 = 2169; V UT = 24; SSMT = podmínky T2 ij 5 − T2 n = 165231; V MT = 5; SSMS = sloupce T2 Sj 10 − T2 30 = 118933; V MS = 2; SSMR = řádky T2 Ri 15 − T2 30 = 38377; V MR = 1; SSI = SSMT − SSMS − SSMR = 7921; V I = 2. a) intervaly spolehlivosti: „Vnitřní rozptyl lze vyjádřit jako aritmetický průměr šesti odhadů (protože v každé třídě (= podmínce) se vyskytuje stejný počet měření), nebo jako podíl est RUT = SSUT V UT = 2169 24 . = 90,4; tj. µij ∈ xij ± 90,4 5 · tk(24) = xij ± 8,8, s slova psmena t 54 600 500 400 32 300 1 Intervaly spolehlivosti (vyznačeny na obrázku) jsou malé vzhledem k rozdílům mezi průměry, tj. experiment má dostatečnou sílu (průměry jsou dobrými odhady středních hodnot). Závislosti jsou lineární, je tedy potvrzena platnost původní Sternbergovy teorie. Sklon je větší u slov než u písmen, což znamená, že doba kontroly u slov je obecně delší než doba kontroly u písmen. b) testy hypotéz: Označme střední hodnoty příslušející jednotlivým podmínkám: Pravděpodobnost, statistika a operační výzkum 63 1 3 5 písmena µ11 µ12 µ13 µR1 slova µ21 µ22 µ23 µR2 µS1 µS2 µS3 Nyní nás zajímají výsledky následujících tří testů: Test 1: Vliv faktoru 1: H0 : µR1 = µR2 (typ položky nemá vliv na reakční dobu); H1: není pravda, že µR1 = µR2 . Test 2: Vliv faktoru 2: H0 : µS1 = µS2 = µS3 (velikost množiny nemá vliv na reakční dobu); H1: neplatí H0. Test 3: Vliv interakce faktorů 1 a 2: H0 : µ11 − µ21 = µ12 − µ22 = µ13 − µ23 (rozdíl mezi typy položek nezávísí na velikosti množiny) nebo ekvivalentně H0 : µ13 − µ12 = µ23 − µ22 a současně µ12 − µ11 = µ22 − µ21 (vliv velikosti množiny nezávisí na typu položky). H1: neplatí H0. Výsledky těchto testů lze vyčíst z tabulky pro dvourozměrnou ANOVA: zdroj rozptylu V SS est R F-hodnota Fk celkový 29 167398 – – – MT 5 165231 – – – – R 1 38377 38377 425 4,26 – S 2 118933 59466,5 658,54 3,4 – I 2 7921 3960,5 43,86 3,4 UT 24 2167 90,3 – – Ve všech třech testech zamítáme H0, protože příslušná F-hodnota je vždy podstatně větší než Fk. Závěry testů nám neřekly tolik, jako intervaly spolehlivosti. V kapitole 4 si řekneme něco o konkrétnějších alternativních hypotézách H1. Z údajů z tabulky lze potvrdit vztah mezi jednotlivými vonostmi a součty čtverců: celková volnost 29 je součtem „vnitřní volnosti 24 a „vnější volnosti 5, tu lze dále rozložit na součet volnosti 1 mezi řádky, volnosti 2 mezi sloupci a volnosti 2 interakce (mimo jiné pro volnost interakce vždy platí vzorec V I = V MR · V MS). Podobně celkový součet čverců 167398 je součtem „vnitřního součtu čtverců 2167 a „vnějšího součtu čtverců 165231. Tento vnější součet čtverců lze dále rozložit jako součet SSR = 38377, SSS = 118933 a SSI = 7921. Obecně lze říci, že čím větší podíl má dílčí součet čtverců v celkovém koláči součtu čtverců, tím má příslušný zdroj větší vliv na celkový rozptyl. To 64 Fakulta elektrotechniky a komunikačních technologií VUT v Brně znamená pro náš příklad, že největší podíl na rozptylu má rozdílnost ve sloupcích (SSS = 118933 tvoří asi 71% celkového SS). Zde jsme se zatím seznámili s dvourozměrnou ANOVA pouze pro případ stejného počtu měření v každé ze tříd (Nij = konstanta). Případ nestejného počtu měření lze vyřešit buď vypuštěním „přesahujících hodnot , nebo tzv. neváženou analýzou rozptylu, kterou se zde nebudeme zabývat. 2.2.2 Dvě poznámky jako bonus Poznámka 1: Grafická reprezentace. Z grafu popisujícího získaná data lze vyčíst nejen vliv interakce, ale také vliv faktoru 1 a faktoru 2 na závislou proměnnou. Uvažujme situaci slabé interakce popsané následujícím grafem: fakt. 1 fakt.2,hodn.2 fakt.2,hodn.1prom. nez. hodn.2hodn.1 U faktoru 1 není důležité číslo 1, ale to, že hodnoty faktoru jsou vynášeny na osu x (tj. faktorem 1 se rozumí faktor vynášený na osu x). Méru vlivu faktoru 1 na závislou proměnnou udává rozdíl p1: b fakt.2,hodn.1 a p hodn.2 1 b fakt. 1 prom. fakt.2,hodn.2 hodn.1 a nez. a ... průměrný vliv faktoru 1 v podmínce 1; b ... průměrný vliv faktoru 1 v podmínce 2; čárkovaná úsečka je grafem průměrného vlivu faktoru 1. Pravděpodobnost, statistika a operační výzkum 65 Míru vlivu faktoru 2 (= faktor, který není vynášen na osu x) udává rozdíl p2: fakt.2,hodn.2 b b fakt.2,hodn.1 nez. hodn.2hodn.1 2 p fakt. 1 prom. aa a ... průměrný vliv faktoru 2 v podmínce 1; b ... průměrný vliv faktoru 2 v podmínce 2. Abychom získali určitý cit na závěry plynoucí z grafické reprezentace, projdeme několik příkladů: Příklad 2.6 Příklady analýzy typu 2 × 2: a) fakt. 1 fakt.2,hodn.2 fakt.2,hodn.1prom. nez. hodn.2hodn.1 Vliv interakce: ano. Vliv faktoru 1: ano. Vliv faktoru 2: ne. b) fakt. 1 fakt.2,hodn.2 fakt.2,hodn.1 prom. nez. hodn.2hodn.1 Vliv interakce: ne. Vliv faktoru 1: ne. Vliv faktoru 2: ano. 66 Fakulta elektrotechniky a komunikačních technologií VUT v Brně c) fakt.2,hodn.2 fakt.2,hodn.1 nez. hodn.2hodn.1 fakt. 1 prom. Vliv interakce: ano. Vliv faktoru 1: ne. Vliv faktoru 2: ano. d) fakt. 1 fakt.2,hodn.2 fakt.2,hodn.1 prom. nez. hodn.2hodn.1 Vliv interakce: ano. Vliv faktoru 1: ano. Vliv faktoru 2: ano. Příklad 2.7 Příklady analýzy typu 3 × 3: a) fakt.2, hodn.3 fakt.2, hodn.1 fakt. 1 prom. nezÆv. hodn.3hodn.2 fakt.2, hodn.2 hodn.1 Vliv interakce: ano. Vliv faktoru 1: ne. Vliv faktoru 2: ano. Pravděpodobnost, statistika a operační výzkum 67 b) hodn.3hodn.2hodn.1 fakt. 1 fakt.2, hodn.3 fakt.2, hodn.2 fakt.2, hodn.1prom. nez. Vliv interakce: ano. Vliv faktoru 1: ano. Vliv faktoru 2: ano. c) hodn.3hodn.2hodn.1 fakt. 1 fakt.2, hodn.3 fakt.2, hodn.2 fakt.2, hodn.1 prom. nez. Vliv interakce: ne. Vliv faktoru 1: ano. Vliv faktoru 2: ano. Poznámka 2: Tři a více rozměrů u ANOVA. Uvažujme experiment měření síly paměti z příkladu 2.3. Kdybychom chtěli prokázat, zda se výsledky experimentu liší mezi muži a ženami, přidáním třetí nezávislé proměnné (pohlaví) jako třetího faktoru bychom dospěli k trojrozměrné (= třífaktorové) analýze rozptylu typu 2×3×2, tj. kombinací faktorových úrovní by vzniklo dvanáct různých podmínek. Pak bychom potřebovali zpracovat data ze dvanácti skupin měření (např. Nijk = 3 je počet měření v každé skupině) a vyplnit faktorovou tabulku (respektive dvojici tabulek) fakt.3,podm.1: ženy fakt.2: 0 hodin fakt.2: 1 hodina fakt.2: 5 hodin fakt.1: 1 kč fakt.2: 100 kč fakt.3,podm.2: muži fakt.2: 0 hodin fakt.2: 1 hodina fakt.2: 5 hodin fakt.1: 1 kč fakt.2: 100 kč Tabulka výsledků trojrozměrné ANOVA by pak měla následující tvar (uvedu jen první dva sloupce): 68 Fakulta elektrotechniky a komunikačních technologií VUT v Brně zdroj rozptylu V celkový 35 MT 11 – faktor 1 1 – faktor 2 2 – faktor 3 1 – interakce F1, F2 2 – interakce F1, F3 1 – interakce F2, F3 2 – interakce F1, F2, F3 2 UT 24 (platí, že počet stupňů volnosti interakce je roven součinu volností faktorů do této interakce zahrnutých) V tabulce je vhledem k předchozímu jediná nová veličina, a sice současná interakce faktorů F1, F2, F3 – vyjadřuje míru, do jaké závisí libovolná dvourozměrná interakce na hodnotě třetího faktoru, tj. interakce F1, F2 na hodnotě faktoru F3, nebo ekvivalentně interakce F1, F3 na hodnotě faktoru F2, nebo ekvivalentně interakce F2, F3 na hodnotě faktoru F1. Více než tři rozměry u ANOVA jsou možné, ale celá situace je už dost nepřehledná, čili se moc neužívá :-) 2.3 Experiment opakovaného měření Pravděpodobnost, statistika a operační výzkum 69 3 Korelační přístup, regresní přímka 70 Fakulta elektrotechniky a komunikačních technologií VUT v Brně 4 Po analýze rozptylu nebo místo ní Pravděpodobnost, statistika a operační výzkum 71 5 Rozdělení χ2 72 Fakulta elektrotechniky a komunikačních technologií VUT v Brně 6 Neparametrické testy Pravděpodobnost, statistika a operační výzkum 73 Část II Operační výzkum Co je to operační výzkum Co je to operační výzkum a kdy vznikl? Jak už název napovídá, jedná se o výzkum operací. Systematický útok na tuto oblast vědění byl zahájen v průběhu druhé světové války. Ano, a operace, o kterých se zde mluví, byly původně operace vojenského charakteru: taktické, organizační i zásobovací. Metody operačního výzkumu tedy spojuje zejména oblast praxe, ve které vznikaly – spadá sem optimální rozdělování surovin, výrobků a pracovních sil, plánování projektů, úlohy zásobování, řešení problémů opotřebení a obnovy zařízení, otázky spojené s čekáním na obsluhu, výběr nejlepší strategie, stanovení harmonogramu činností, atd. Po válce se výzkum těchto otázek nezastavil, protože dané poznatky nacházely své uplatnění zejména v ekonomice, kde se setkáváme prakticky se stejnými situacemi (konec konců, ekonomika je také trochu válka). Z teoretického hlediska jsou však problémy vzniklé na jednom bitevním poli řešeny v mnoha oblastech matematiky: problém optimálního rozdělení zdrojů a pracovních sil se převedl na hledání maxima nebo minima lineární funkce (disciplína: lineární programování) nebo nelineární funkce (disciplíny: matematické programování nebo nelineární programování). Plánování projektu našlo své řešení v úlohách síťové analýzy (teorie grafů). Volba optimální strategie podnítila rozvoj celého vědního oboru – teorie strategických her. Teorie pravděpodobnosti přinesla svou trochu do mlýna v otázkách front (nemyslí se fronty válečné, ale fronty v opravně, menze, bance, na maso nebo na mobil). Sekvenční, opakující se procesy vedly k rozvoji dynamického programování, řešícího úlohy užitím jakýchsi rekurzívních optimalizačních algoritmů. Zkrátka a dobře, dnešnímu studentovi se předmět zvaný operační výzkum může jevit jako exkurze do mnoha různých oblastí matematiky. A skutečně, snad každá z matematických disciplín má k některému z uvedených problémů co říct. A přece existuje něco, co všechny tyto metody spojuje: snaha nalézt optimum – podle daných kritérií ty nejlepší hodnoty uvažovaných proměnných, nejlepší řešení studované situace. Latinské „optimus znamená „nejlepší . Jak odhalil můj přítel Libor Stříž, ve svém vyjadřování nepoužíváme pouze slovo „optimální (= nejlepší), ale i „optimálnější (= více nejlepší) a „nejoptimálnější (= nejvíce nejlepší). A tato humorná situace, kterou nám připravila naše drahá čeština, dobře vystihuje, jací vlastně jsme: nestačí nám mít to nejlepší, ale hledáme ještě něco více. Přeji vám, abyste to nejlepší z nejlepších ve svém životě objevili. 74 Fakulta elektrotechniky a komunikačních technologií VUT v Brně 7 Lineární programování Předmětem lineárního programování je řešení úlohy, jejíž matematický tvar zní: nalezněte minimum (nebo maximum) funkce z = n j=1 cjxj za omezujících podmínek xj ≥ 0 pro j = 1, 2, . . . , n (tzv. triviální podmínky), n j=1 aijxj ≤ bi (nebo = bi nebo ≥ bi) pro i = 1, 2, . . . , m. Jak řekl můj kolega Mirek Hlavička, na úlohách lineárního programování není nejzajímavější matematická formulace nebo řešení (i když algoritmus řešení má krásný geometrický význam), ale to, kolik různých úloh praxe lze na tento matematický model převést. Uveďme nyní několik typických představitelů z oblasti ekonomické praxe. Příklad 7.1 Společnost RED vlastní závod na výrobu vnitřních a venkovních nátěrů domů. K výrobě se používá dvou základních surovin A, B. Maximální denní dostupnost suroviny A je 6 tun, suroviny B 8 tun. Na výrobu jedné tuny vnějšího nátěru je potřeba 1 tuna A a 2 tuny B, na výrobu jedné tuny vnitřního nátěru 2 tuny A a 1 tuna B. Průzkum trhu ukázal, že a) denní výroba vnitřního nátěru nesmí překročit denní výrobu vnějšího nátěru o více než 1 tunu; b) denní výroba vnitřního nátěru nesmí překročit 2 tuny. Prodejní cena 1 tuny vnějšího nátěru je 3000 dolarů, vnitřního 2000 dolarů. Jaké množství obou nátěrů musí společnost vyrábět, aby byl její obrat maximální? Matematická formulace úlohy: 1. označíme proměnné: x . . . denní výroba vnějšího nátěru (v tunách) y . . . denní výroba vnitřního nátěru 2. budeme hledat maximum funkce z = 3x+2y, která vyjadřuje denní obrat (v tisících dolarů). 3. omezující podmínky: – omezení na spotřebu suroviny A: na výrobu vnějšího nátěru se spotřebuje x tun suroviny A denně na výrobu vnitřního nátěru se spotřebuje 2y tun suroviny A denně maximální dostupnost suroviny A je 6 tun denně celkem tedy dostáváme omezení: 1m x + 2y ≤ 6 Pravděpodobnost, statistika a operační výzkum 75 – omezení na spotřebu suroviny B: 2m 2x + y ≤ 8 – ad průzkum trhu a): 3m y − x ≤ 1 – ad průzkum trhu b): 4m y ≤ 2 – triviální omezení, chceme vyrobit kladné množství obou nátěrů: 5m x ≥ 0 6m y ≥ 0. Příklad 7.2 Politika bankovních půjček. Banka přemýšlí o různých typech klientů. Z dřívější zkušenosti je známa následující tabulka: typ půjčky úroky pst zadlužení osobní 0,14 0,1 automobilová 0,13 0,07 domácí 0,12 0,03 zemědělská 0,125 0,05 obchodní 0,1 0,02 Zadlužení nevykazuje žádný úrokový zisk. Konkurence jiných peněžních institucí v regionu vyžaduje, aby banka přidělila alespoň 40% z vybraných 12 miliónů na zemědělské a obchodní půjčky. Dále domácí půjčky musí nabýt objemu aspoň jako automobilové a osobní půjčky dohromady. Celková pravděpodobnost zadlužení nesmí přesáhnout 0,04. Jaké je optimální rozdělení daných 12 miliónů? Matematická formulace úlohy: 1. označíme proměnné: x1 . . . osobní půjčky (v miliónech) x2 . . . automobilové půjčky x3 . . . půjčky domácnostem x4 . . . zemědělské půjčky x5 . . . obchodní půjčky 2. budeme maximalizovat rozdíl „zisk z úroků minus „ztracené fondy , tj. z = (0, 14 · 0, 9 x1 + 0, 13 · 0, 93 x2 + 0, 12 · 0, 97 x3 + 0, 125 · 0, 95 x4 + 0, 1 · 0, 98 x5) − 0, 1 x1 − 0, 07 x2 − 0, 03 x3 − 0, 05 x4 − 0, 02 x5. Po úpravě dostaneme z = 0, 026 x1 + 0, 0509 x2 + 0, 0864 x3 + 0, 06875 x4 + 0, 078 x5. 3. omezující podmínky: – banka na půjčky vyhradila 12 miliónů: x1 + x2 + x3 + x4 + x5 ≤ 12 – aspoň 40% půjček musí být zemědělské nebo obchodní: x4 + x5 ≥ 0, 4 · 12 – omezení na půjčky domácnostem: x3 ≥ x1 + x2 76 Fakulta elektrotechniky a komunikačních technologií VUT v Brně – omezení celkového zadlužení: 0, 1 x1 + 0, 07 x2 + 0, 03 x3 + 0, 05 x4 + 0, 02 x5 x1 + x2 + x3 + x4 + x5 ≤ 0, 04 (aby toto omezení bylo lineárním, musíme je zbavit zlomku) – triviální omezení: xi ≥ 0 pro i = 1, . . . , 5. Matematická formulace problému je opět úlohou nalezení maxima z lineární funkce za lineárních omezení, tj. úlohou lineárního programování. Příklad 7.3 Pozemkové hospodaření. Společnost BIRD vlastní 800 hektarů půdy u jezera Ozark. V dané oblasti jsou vydána následující bezpečnostní opatření, aby se zamezilo znečištění vody: 1) Mohou zde být stavěny jen domy pro jednu až tři rodiny, přičemž domů pro jednu rodinu musí být aspoň 50%. 2) Aby byl omezen počet odpadních nádrží, je vyžadována minimální rozloha 2 hektary na dům pro 1 rodinu 3 hektary na dům pro 2 rodiny 4 hektary na dům pro 3 rodiny 3) Na 200 rodin musí být vyhrazena rekreační plocha 1 hektaru 4) Podzemní voda nesmí být získávána za účelem použití v rodinách nebo na zahradě. Odhaduje se, že 15% plochy z daných 800 hektarů bude využito k budování ulic a přístupových cest. Zisk u jednotlivých typů domů je: dům pro 1 rodinu . . . 10 000 $ dům pro 2 rodiny . . . 15 000 $ dům pro 3 rodiny . . . 20 000 $ Cena přívodu vody je přímo úměrná počtu postavených domů, ale minimálně se jedná o 100 000 $. Dále spotřeba vody přiváděné novým přívodem je omezena na 200 000 galonů denně. Následující tabulka shrnuje údaje ceny a spotřeby vody: typ domu 1 rodina 2 rodiny 3 rodiny rekreační plocha cena přívodu ($) 1 000 1 200 1 400 800 spotřeba vody (galony/den) 400 600 840 450 Jak využít pozemek, aby zisk byl maximální? Pravděpodobnost, statistika a operační výzkum 77 Matematická formulace úlohy: 1. označíme proměnné: x1 . . . počet postavených domů pro 1 rodinu x2 . . . počet postavených domů pro 2 rodiny x3 . . . počet postavených domů pro 3 rodiny x4 . . . počet rekreačních ploch 2. budeme hledat maximum funkce z = 10 000 x1 + 15 000 x2 + 20 000 x3. 3. omezující podmínky: – omezení počtu domů: 2 x1 + 3 x2 + 4 x3 + x4 ≤ 680 – domů pro 1 rodinu je aspoň 50%: x1 ≥ x2 + x3 – minimální počet rekreačních zařízení: x4 ≥ x1+2 x2+3 x3 200 – přípojky by měly pokrýt pořizující cenu přívodu vody: 1 000 x1 + 1 200 x2 + 1 400 x3 + 800 x4 ≤ 100 000 – omezení na spotřebu vody: 400 x1 + 600 x2 + 840 x3 + 450 x4 ≤ 200 000 – triviální omezení: xi ≥ 0 pro i = 1, . . . , 4. Příklad 7.4 Jízdní řád autobusů. Progresívní dopravní podnik studuje autobusovou síť ve městě. Bylo zjištěno, kolik autobusů během dne je třeba (počet autobusů je stejný vždy ve čtyřhodinovém časovém úseku): 0 4 8 12 16 20 24 0 4 8 12 4 8 10 7 12 4 PSfrag replacements počet autobusů hodiny 78 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Vytvořte rozvrh využití autobusů tak, aby každý autobus pracoval 8 hodin po sobě, a pak měl 16 hodin volno. Matematická formulace úlohy: 1. proměnné xi . . . počet autobusů pracujících během různých směn 2. budeme hledat minimum funkce z = xi vyjadřující celkový počet autobusů v pro- storu. 3. zadání je nejasné: nevíme, kolik směn by mělo být a kdy začínají. Při třísměnném provozu: 1. směna 800 − 1600 . . . x1 ≥ 10 2. směna 1600 − 2400 . . . x2 ≥ 12 3. směna 2400 − 800 . . . x3 ≥ 8    ⇒ z = x1 + x2 + x3 ≥ 30. Lepšího výsledku lze dosáhnout v šestisměnném provozu: 1. směna 000 − 800 . . . x1 2. směna 400 − 1200 . . . x2 3. směna 800 − 1600 . . . x3 4. směna 1200 − 2000 . . . x4 5. směna 1600 − 2400 . . . x5 6. směna 2000 − 400 . . . x6 tj. minimalizujeme funkce z = 6 i=1 xi za omezení x1 + x6 ≥ 4 x1 + x2 ≥ 8 x2 + x3 ≥ 10 x3 + x4 ≥ 7 x4 + x5 ≥ 12 x5 + x6 ≥ 4 xi ≥ 0 , i = 1, . . . , 6. Tato úloha má řešení (0, 10, 0, 12, 0, 4), tj. minimální počet autobusů je 26. 7.1 Grafické řešení úlohy lineárního programování Zabývejme se nyní nejprve grafickým řešením našeho matematického modelu. Z geometrického významu řešení úlohy lze totiž odvodit obecný algebraický postup řešení. Vše bude vysvětleno na prvním zformulovaném příkladu výroby dvou nátěrů. Pravděpodobnost, statistika a operační výzkum 79 Ad Příklad 7.1. Nalezněte maximum funkce z = 3 x + 2 y za omezení 1m x + 2 y ≤ 6 2m 2 x + y ≤ 8 3m −x + y ≤ 1 4m y ≤ 2 5m x ≥ 0 6m y ≥ 0 Řešení. Jedná se o úlohu nalezení globálního extrému funkce z na množině přípustných hodnot (označme ji M) zadané šesti omezeními. Každé omezení jednoznačně určuje jednu polorovinu. Všechna omezení musí platit současně, tj. množina M je průnikem šesti polorovin (viz obr.7.2): −2 −1 0 1 2 3 4 5 6 7 8 −2 0 2 4 6 8 PSfrag replacements vrstevnice z = 6 klíčová vrstevnice směr růstu funkce z 1m 2m 3m 4m 5m 6m A = [10 3 , 4 3 ] • Obr. 7.2: Grafické znázornění řešení Příkladu 7.1. Studujme nyní vrstevnice funkce z na množině M: Vrstevnicemi jsou křivky tvaru 3 x + 2 y = d, kde d je hodnota vrstevnice; tj. rovnoběžné přímky y = −3 2 + d 2 . Pokud libovolnou z těchto vrstevnic posunujeme ve směru růstu funkce z (= směru růstu konstanty d) kolmém na všechny vrstevnice, dojdeme k optimálnímu řešení, kterým je poslední neprázdný průnik vrstevnice s maximální hodnotou na M a množiny M. 80 Fakulta elektrotechniky a komunikačních technologií VUT v Brně V našem případě je optimum v bodě A, který získáme jako průsečík přímek 1m a 2m . Optimální hodnota funkce z v bodě A je z(A) = 3 · 10 3 + 2 · 4 3 = 38 3 . Poznámka 7.1 Protože grafem funkce z je rovina, optimum musí ležet v některém vrcholu množiny přípustných hodnot (nebo ve více vrcholech, pokud klíčová vrstevnice prochází více vrcholy). Optimální řešení neexistuje, pokud – množina M je prázdná – množina M je neohraničená ve směru růstu funkce z. Netriviální omezení se nazývají – klíčová . . . pokud prochází bodem optima – neklíčová . . . pokud neprochází bodem optima. 7.2 Analýza citlivosti na základě grafického náhledu Zabývejme se nyní chvíli analýzou citlivosti, tj. tím, jak se změní řešení při změně některého ze vstupních parametrů úlohy. Podle toho, jaký parametr se mění, odpovězme u Příkladu 7.1 na následující otázky: a) Jak moc má smysl zvyšovat pravou stranu klíčových omezení, aby se zlepšovala optimální hodnota funkce z? b) Jak moc má smysl snížit pravou stranu neklíčových omezení, aby hodnota optima zůstala zachována? c) Pokud bychom chtěli zajistit zvýšení pravé strany některého z klíčových omezení, které z nich má největší prioritu? d) Jak moc můžeme měnit koeficienty funkce z, aby bod optima zůstal zachován? (funkční hodnota v bodě optima se samozřejmě změní) Ad Příklad 7.1. ad a) Klíčová omezení jsou 1m a 2m . Omezení 1m : x + 2 y ≤ 6 Graficky je tato situace znázorněna na obr.7.3. Pokud posunujeme přímku 1m ve směru růstu funkce z, při posunu až do 1m se toto omezení stává nadbytečným, neboť množina přípustných hodnot se nemění přidáním nebo Pravděpodobnost, statistika a operační výzkum 81 −2 −1 0 1 2 3 4 5 6 7 8 −2 0 2 4 6 8 PSfrag replacements 1m 1m 2m 3m 4m A • B • Obr. 7.3: Grafické znázornění posunutí přímky klíčového omezení. odebráním omezení 1m . Posunovat 1m dále než do 1m tedy nemá smysl. Nahradíme-li tedy v našem případě omezení 1m omezením 1m , optimum bude nyní v bodě B, což je průsečík omezení 2m a 4m : B = [3; 2] ⇒ z(B) = 3 · 3 + 2 · 2 = 13 B ∈ 1m ⇒ 1m : x + 2 y ≤ 7 Omezení 2m : 2 x + y ≤ 8 Graficky je tato situace znázorněna na obr.7.4. Přímku 2m má smysl posunovat až do 2m , kdy se omezení 2m stává nadbytečným (jeho přidáním nebo odebráním se nemění množina přípustných hodnot). Nahradíme-li v našem případě omezení 2m omezením 2m , optimum nastane v bodě C, což je průsečík omezení 1m a 6m : C = [6; 0] ⇒ z(C) = 3 · 6 + 2 · 0 = 18 C ∈ 2m ⇒ 2m : 2 x + y ≤ 12 82 Fakulta elektrotechniky a komunikačních technologií VUT v Brně −2 −1 0 1 2 3 4 5 6 7 8 −2 0 2 4 6 8 PSfrag replacements 2m 1m 2m 3m 4m A • C • Obr. 7.4: Grafické znázornění posunutí přímky klíčového omezení. ad b) Neklíčová netriviální omezení jsou 3m a 4m . Protože neprochází bodem optima A původní úlohy, můžeme jejich pravou stranu snižovat, aniž by se bod optima změnil. Tato situace je znázorněna na obr.7.5. Omezení 3m lze měnit až na 3m , tj. A ∈ 3m ⇒ 3m : −x + y ≤ −2. Omezení 4m lze měnit až na 4m , tj. A ∈ 4m ⇒ 4m : y ≤ 4 3 . V obou případech změny zůstává optimum v bodě A = [10 3 , 4 3 ], tj. z(A) = 38 3 je optimální funkční hodnota. Pravděpodobnost, statistika a operační výzkum 83 −2 −1 0 1 2 3 4 5 6 7 8 −2 0 2 4 6 8 PSfrag replacements 3m 1m 2m 3m 4m 4m A • Obr. 7.5: Grafické znázornění posunutí přímek neklíčových omezení. ad c) Shrňme modifikace netriviálních omezení do tabulky: omezení pravá strana se změní o . . . změna funkce z jednotková změna z 1m 7 − 6 = 1 (bod optima . . . B) z(B) − z(A) = 1 3 1/3 1 = 1 3 2m 12 − 8 = 4 (bod optima . . . C) z(C) − z(A) = 16 3 16/3 4 = 4 3 3m −2 − 1 = −3 (bod optima . . . A) z(A) − z(A) = 0 0 −3 = 0 4m 4 3 − 2 = −2 3 (bod optima . . . A) z(A) − z(A) = 0 0 −2/3 = 0 Údaje uvedené v posledním sloupci tabulky jsou tzv. stínové ceny, tj. stínová cena příslušná danému omezení = změna funkce z při jednotkovém zvýšení pravé strany klíčového omezení a nebo jednotkovém snížení pravé strany neklíčového omezení. Stínové ceny neklíčových omezení jsou vždy nulové. Maximální stínová cena určuje omezení s největší prioritou změny pravé strany, tj. omezení 2m má největší prioritu změny pravé strany. ad d) Odpovězme např. na otázku, jaká změna koeficientu a funkce z = a x + 2 y ještě zachová bod optima A? 84 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Odpověď lze opět odvodit z geometrického názoru: Aby bod A zůstal bodem optima, vrstevnice funkce z musí mít sklon mezi dvěma mezními hodnotami určenými sklony přímek 1m a 2m : přímka 1m : y = −1 2 x + 3 vrstevnice funkce z: y = −a 2 x + d 2 přímka 2m : y = −4 2 x + 8    ⇒ porovnáním koeficientů u x máme: − a 2 ∈ − 1 2 ; − 4 2 ⇒ a ∈ 1; 4 . Tj. bodem optima zůstane A, pokud cena venkovního nátěru se pohybuje v rozmezí od 1 do 4 tisíc dolarů. Z příkladu je vidět, že analýza citlivosti je stejně důležitá jako řešení původní úlohy. 7.3 Algebraické řešení úlohy lineárního programování – simplexová metoda Kánon biblických knih je soubor těch knih, na jejichž pravosti a historické přesnosti se shodují všechny křesťanské církve. Potom existují i tzv. nekanonické (apokrytní) knihy, které sice mohou obsahovat zajímavé myšlenky, ale některé detaily v nich nejsou historicky přesné. Podobně je to i s úlohou lineárního programování. Mezi všemi formulacemi existuje jakýsi přesný, tzv. kanonický tvar, vhodný pro nastolení algebraického řešení. Pokud úloha není v kanonickém tvaru, musíme ji na tento tvar převést. Tak tedy, kanonický tvar je charakteristický tím, že – všechna omezení jsou rovnicemi – všechna omezení mají nezápornou pravou stranu – pro všechny proměnné xj platí: xj ≥ 0 Příklad 7.5 Následující úlohu převeďte na kanonický tvar: nalezněte minimum funkce z = 2 x1 + 3 x2 za omezení x1 + x2 = 10 −2 x1 + 3 x2 ≤−5 7 x1 − 4 x2 ≤ 6 x1 ∈ R x2 ≥ 0 Pravděpodobnost, statistika a operační výzkum 85 Řešení. Zápornou pravou stranu omezení jednoduše odstraníme vynásobením nerovnosti číslem (−1). Nerovnost převedeme na rovnici tak, že v případě ≤ k levé straně přičteme, v případě ≥ od levé strany odečteme, novou nezápornou proměnnou p. Posledním problémem je nahradit neohraničenou proměnnou x1 ∈ R nějakými nezápornými proměnnými. Toho lze docílit např. substitucí x1 = x1 − x1, kde x1 ≥ 0, x1 ≥ 0. Libovolné reálné číslo lze skutečně vyjádřit jako rozdíl dvou nezáporných čísel, např.: x1 = 2 ⇒ x1 = 2, x1 = 0 x1 = −3 ⇒ x1 = 0, x1 = 3. Kanonický tvar úlohy tedy bude: nalezněte minimum funkce z = 2 (x1 − x1) + 3 x2 za omezení x1 − x1 + x2 = 10 2 x1 − 2 x1 − 3 x2 − p1 = 5 7 x1 − 7 x1 − 4 x2 + p2 = 6 x1 ≥ 0, x1 ≥ 0, x2 ≥ 0, p1 ≥ 0, p2 ≥ 0. Převod na kanonický tvar je sympatický v tom, že zachovává řešení původní úlohy. Tedy řešení úlohy v kanonickém tvaru je stejné jako řešení původní úlohy (omezíme-li se na původní proměnné). Při algebraickém řešení se využívá toho faktu, že optimum funkce z musí nastat v některém z vrcholů množiny přípustných hodnot. V algoritmu řešení tedy najdeme nějaký libovolný vrchol množiny přípustných hodnot. Potom vybereme ten z jeho sousedních vrcholů, ve kterém nastane největší „zlepšení funkce z („zlepšení = zvýšení při maximalizaci a snížení při minimalizaci) a přesuneme se do něj. Proces výběru sousedního vrcholu, který „zlepšuje funkci z, opakujeme tak dlouho, dokud to jde. Když všechno dobře dopadne, jsme na konci procesu v optimálním vrcholu. Ještě poznámka k názvu metody: pokud množina přípustných hodnot je ohraničená a počet jejích vrcholů je o 1 větší než její dimenze, nazýváme ji simplex. Odtud i název simplexová metoda, neboť se v daném kroku pohybujeme mezi vrcholy určitého simplexu. Ad Příklad 7.1 Celou metodu vysvětlíme na našem příkladu výroby nátěrů, jejíž kanonický tvar je: nalezněte maximum funkce z = 3 x + 2 y za omezení x + 2 y + p1 = 6 2 x + y + p2 = 8 −x + y + p3 = 1 y +p4 = 2 x, y, p1, p2, p3, p4 ≥ 0. 86 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Řešení. Kanonický tvar úlohy přepíšeme do tzv. simplexové tabulky: x y p1 p2 p3 p4 řešení z −3 −2 0 0 0 0 = 0 p1 1 2 1 0 0 0 6 p2 2 1 0 1 0 0 8 p3 −1 1 0 0 1 0 1 p4 0 1 0 0 0 1 2 Vysvětlení k tabulce: V prvním řádku tabulky jsou označeny sloupce příslušné jednotlivým proměnným. Ve druhém řádku jsou zapsány koeficienty rovnice z − 3 x − 2 y = 0, je třeba si jen uvědomit tvar funkce z se všemi proměnnými z = 3 x + 2 y + 0 p1 + 0 p2 + 0 p3 + 0 p4. V dalších řádcích jsou zapsány koeficienty jednotlivých omezujících rovnic. V našem případě omezení tvoří systém 4 rovnic o 6 neznámých. Najdeme jisté jeho řešení následovně: Vybereme 4 proměnné, tzv. bázické proměnné . . . v našem případě p1, p2, p3, p4. Ostatní, tzv. nebázické proměnné, položíme rovny 0, tj. x = 0, y = 0. Tím vznikne systém 4 rovnic o 4 neznámých p1, p2, p3, p4, který má jediné řešení. Protože příslušná matice systému je jednotková, vektor pravých stran je přímo vektorem řešení, tj. p1 = 6, p2 = 8, p3 = 1, p4 = 2. Tímto způsobem jsme našli souřadnice výchozího vrcholu simplexu xxx0 = (0, 0, 6, 8, 1, 2). Přechod na sousední vrchol simplexu lze algebraicky zařídit tak, že jednu z nebázických proměnných zaměníme za jednu z bázických a pak postup opakujeme, nebázické proměnné položíme rovny 0, zbylý systém s bázickými proměnnými vyřešíme. Poznámka k terminologii: • přípustné řešení . . . libovolný bod množiny přípustných hodnot (nemusí být vrchol), jehož všechny souřadnice jsou nezáporné • přípustné bázické řešení . . . takové přípustné řešení, které odpovídá některému vrcholu množiny přípustných hodnot. Realizujme nyní přechod do sousedního vrcholu, který nejvíce „zlepší hodnotu funkce z: a) Za vstupní proměnnou vybereme x, protože příslušný koeficient v řádku funkce z je nejvíce záporný, tj. při převodu na druhou stranu rovnice nejvíce zvýší hodnotu funkce z. Pokud už žádné číslo v řádku z není záporné, dané přípustné řešení je už optimální. Pravděpodobnost, statistika a operační výzkum 87 b) Proměnná x určuje sloupec, ve kterém vybereme kladné hodnoty. K těmto hodnotám vypočteme tzv. kladné změny neboli podíly (příslušná pravá strana)/(hodnota): 6 1 a 8 2 . Minimální z těchto kladných změn určuje řádek, jehož proměnná je výstupní: v našem případě minimální kladná změna je 8 2 , tj. p2 je výstupní proměnná. Prvek na průsečíku vstupního sloupce a výstupního řádku se nazývá pivotový prvek. ↓ x y p1 p2 p3 p4 řešení z −3 −2 0 0 0 0 0 p1 1m 2 1 0 0 0 6m ← p2 2m 1 0 1 0 0 8m p3 −1 1 0 0 1 0 1 p4 0 1 0 0 0 1 2 Důvod výběru řádku s minimální kladnou změnou: −2 −1 0 1 2 3 4 5 6 7 8 −2 0 2 4 6 8 PSfrag replacements 1m 2m xxx0 = (0; 0) • xxx1 = (4; 0) • Obr. 7.6: Grafické znázornění přechodu mezi dvěma vrcholy. Náš výchozí vrchol je xxx0 = (0; 0). Vstupní sloupec určuje, že největší nárůst funkční 88 Fakulta elektrotechniky a komunikačních technologií VUT v Brně hodnoty funkce z nastane pro proměnnou x, tj. budeme se pohybovat ve směru růstu proměnné x (= v kladném směru osy x). Následující vrchol množiny přípustných hodnot v tomto směru xxx1 = (4; 0) je dán prvním nejbližším omezením, které protne osu x, což je omezení 2m s kladnou změnou 4, nikoli omezení 1m s kladnou změnou 6 (bod (6; 0) není vrchol M). Minimální kladná změna (= 4) vyjadřuje změnu souřadnice x při přechodu z vrcholu xxx0 do xxx1 . Nakonec ještě poznamenejme, že kladná změna nemusí obecně znamenat vzrůst x-ové souřadnice; kladný směr = směr růstu funkce z při maximalizaci, resp. směr klesání z při minimalizaci. Nyní eliminačními úpravami zajistíme, aby se na místě pivotového prvku objevila hodnota 1 a zbylé hodnoty vstupního sloupce byly 0 (včetně koeficientu v řádku z). POZOR! K danému řádku lze přičítat násobek pouze pivotového (= výstupního) řádku, žádného dalšího! Tímto dodatečným omezením se totiž docílí důležité vlastnosti, že sloupce odpovídající novým bázickým proměnným budou opět vytvářet jednotkovou matici (i když jejich pořadí bude přeházené) a navíc bude splněna důležitá podmínka (která musí být zaručena v každém kroku simplexové tabulky), že koeficienty v řádku z příslušné bázickým proměnným jsou rovny 0: ↓ x y p1 p2 p3 p4 řešení z 0 −1 2 0 3 2 0 0 12 ← p1 0 3 2  1 −1 2 0 0 2m x 1 1 2  0 1 2 0 0 4m p3 0 3 2  0 1 2 1 0 5m p4 0 1  0 0 0 1 2m V posledním sloupci řádku pro funkci z je uvedena její nová hodnota (ve vrcholu xxx1 ). Ta se zvýšila o násobek příslušného koeficientu v řádku funkce z (= 3) a kladné změny proměnné x (= 4), tj. o 3 · 4 = 12. Nebázické proměnné položíme rovny 0, tj. y = 0 p2 = 0. Dostáváme nové bázické řešení: p1 = 2 x = 4 p3 = 5 p4 = 2. Nový vrchol, do kterého jsme se dostali, má tedy souřadnice xxx1 = (4, 0, 2, 0, 5, 2). Pravděpodobnost, statistika a operační výzkum 89 Algoritmus pokračuje dalším krokem: záporná hodnota v řádku z určuje vstupní proměnnou y, výstupní proměnná je určena minimální kladnou změnou min 2 3/2 , 4 1/2 , 5 3/2 , 2 1 = 4 3 , která nastane v 1.řádku (= p1 řádek). Po normalizaci pivotového prvku a vynulování vstupního sloupce pomocí přičtení násobku pivotového řádku k nepivotovým řádkům dostáváme tabulku x y p1 p2 p3 p4 řešení z 0 0 1 3 4 3 0 0 122 3 y 0 1 2 3 −1 3 0 0 4 3 x 1 0 −1 3 2 3 0 0 10 3 p3 0 0 −1 1 1 0 3 p4 0 0 −2 3 1 3 0 1 2 3 Nová hodnota funkce z se zvýšila o 1 2 · 4 3 , tj. o 2 3 . Nebázické proměnné položíme rovny 0, tj. p1 = 0 p2 = 0. Dostáváme nové bázické řešení: y = 4 3 x = 10 3 p3 = 3 p4 = 2 3 . Nový vrchol, do kterého jsme se dostali, má tedy souřadnice xxx2 = ( 10 3 , 4 3 , 0, 0, 3, 2 3 ). Protože v řádku funkce z už nejsou záporné hodnoty, nalezené řešení je optimální, tj. x = 10 3 , y = 4 3 je optimální množství denní výroby obou nátěrů. 90 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Poznámka k výběru vstupní proměnné: 1) Výběr sloupce odpovídajícího záporné, ale ne nejvíce záporné hodnotě v řádku z by také vedl ke zvýšení hodnoty funkce z, ale to zvýšení by nebylo největší možné. 2) Při minimalizaci je v algoritmu jediný rozdíl: vstupní sloupec je ten, který odpovídá maximální kladné hodnotě v řádku z (ta při převodu na druhou stranu rovnice nejvíce zmenší funkční hodnotu). 7.4 Analýza citlivosti pomocí výstupní simplexové tabulky Celou analýzu citlivosti lze provést pomocí simplexové tabulky, a to i v úlohách pro vyšší dimenzi, kde už grafické řešení není možné. Ad Příklad 7.1 Odpovědi na jednotlivé otázky analýzy citlivosti lze vyčíst ze závěrečné (výstupní) simplexové tabulky. a) Jaký je význam optimálních hodnot p1 = p2 = 0, p3 = 3, p4 = 2 3 ? p1 = p2 = 0 . . . omezení 1m , 2m jsou klíčová, obě suroviny jsou maximálně využity (jedná se o omezení dostupnosti zdrojů) p3 = 3 . . . pravou stranu omezení 3m lze snížit při zachování optima o hodnotu 3, tj. 3m : −x + y ≤ −2 . . . denní výroba vnějšího nátěru může překročit denní výrobu vnitřního nátěru až o 2 tuny (jedná se o omezení poptávky) p4 = 2 3 . . . pravou stranu 4m lze snížit o 2 3 , tj. 4m : y ≤ 4 3 . . . poptávka může být ještě o 2 3 snížena. b) Řádek funkce z v optimální tabulce udává stínové ceny příslušné jednotlivým omezením → každé omezení je neoddělitelně spjato s jednou přídavnou proměnnou stínová cena omezení 1m je rovna 1 3 → snížení pravé strany 1m o 1 povede ke snížení obratu o 1 3 tisíce dolarů 2m 4 3 3m 0 4m 0 → kdyby stínová cena 4m byla místo 0 kladná, znamenalo by to, že má smysl zvyšovat poptávku po vnitřním nátěru, čehož lze docílit zvýšením podílu společnosti na trhu. c) Informace o změně pravých stran klíčových omezení. Jak moc má smysl zvyšovat pravou stranu omezení 1m ? Kdybychom toto omezení Pravděpodobnost, statistika a operační výzkum 91 uvažovali ve tvaru x + 2 y ≤ 6 + ∆1, výsledná simplexová tabulka by byla tatáž až na sloupec pravých stran: x y p1 p2 p3 p4 řešení z 1 3 122 3 + 1 3 ∆1 ≥ 0 y 2 3 4 3 + 2 3 ∆1 ≥ 0 x −1 3 10 3 − 1 3 ∆1 ≥ 0 p3 −1 3 − 1∆1 ≥ 0 p4 −2 3 2 3 − 2 3 ∆1 ≥ 0 Modifikace pravých stran (= koeficienty u ∆1) je určena koeficienty ve sloupci výstupní tabulky odpovídajícím přídavné proměnné p1 v omezení 1m . Nerovnosti uvedené v pravém sloupci tabulky musí platit, aby řešení bylo přípustné. Vyřešením máme ∆1 ∈ −2; 1 , tj. dostupnost suroviny A má smysl zvýšit o 1 tunu. Analogicky lze rozebrat i další klíčové omezení 2m . Přitom výsledek získaný pro dané klíčové omezení platí pro tu situaci, že pravé strany ostatních omezení neměníme (vždy sledujeme změnu pouze jednoho omezení). d) Informace o změně koeficientu funkce z. Sledujme vliv změny koeficientu u proměnné x: z = (3 + δ1) x + 2 y. Optimální tabulka: x y p1 p2 p3 p4 řešení z 0 0 1 3 − 1 3 δ1 4 3 + 2 3 δ1 0 0 122 3 + 10 3 δ1 y x 1 0 −1 3 2 3 0 0 10 3 p3 p4 Koeficienty u δ1 jsou dány hodnotami v řádku x v mimobázických sloup- cích. Aby se jednalo o maximum, musí platit 1 3 − 1 3 δ1 ≥ 0, 4 3 + 2 3 δ1 ≥ 0 ⇒ δ1 ∈ −2; 1 , tj. koeficient u x ve funkci z musí být v intervalu 3 − 2; 3 + 1 = 1; 4 . Situace změny nebázického koeficientu je ještě jednodušší: z = 3 x + 2 y + (0 + δ3) p1 92 Fakulta elektrotechniky a komunikačních technologií VUT v Brně způsobí optimální tabulku s řádkem z ve tvaru x y p1 p2 p3 p4 řešení z 0 0 1 3 − δ3 4 3 0 0 122 3 U δ3 je při maximalizaci vždy koeficient (−1), při minimalizaci vždy koeficient +1. e) Při analýze citlivosti jsme se dosud nezabývali otázkou, co způsobí změna koeficientu na levé straně některého omezení. K této otázce se vrátíme v kapitole 2 a zodpovíme ji s využitím teorie duality. 7.5 Obecný tvar simplexové metody s využitím umělých pro- měnných Pokud sloupce odpovídající počátečním bázickým proměnným ve vstupní tabulce simplexové metody nevytváří jednotkovou matici, nenulové souřadnice příslušného bázického řešení nejsou přímo rovny pravým stranám simplexové tabulky – tato matice je získána až vyřešením příslušného systému rovnic. A zde se může stát, že některá souřadnice řešení bude záporná, tedy výchozí bázické řešení nebude přípustné. Příklad 7.6 Minimalizujte funkci z = 4 x1 + x2 za podmínek 3 x1 + x2 = 3 4 x1 + 3 x2 ≥ 6 x1 + 2 x2 ≤ 4 x1, x2 ≥ 0. Řešení. Kanonický tvar úlohy bude: najděte minimum funkce z = 4 x1 + x2 za podmínek 3 x1 + x2 = 3 4 x1 + 3 x2 − p1 = 6 x1 + 2 x2 + p2 = 4 x1, x2, p1, p2 ≥ 0. Vstupní simplexová tabulka má tvar x1 x2 p1 p2 řešení z −4 −1 0 0 0 x2 3 1 0 0 3 p1 4 3 −1 0 6 p2 1 2 0 1 4 Pravděpodobnost, statistika a operační výzkum 93 Za vstupní bázické proměnné jsme zvolili x2, p1, p2, tj. položili jsme x1 = 0. Vyřešíme příslušný systém rovnic x2 = 3 3 x2− p1 = 6 2 x2 + p2 = 4    ⇒ x2 = 3 p1 = 3 p2 =−2 Dané řešení (0, 3, 3, −2) není přípustné, protože jeho čtvrtá souřadnice je záporná. Nejedná se tedy o vrchol množiny přípustných hodnot. Abychom zaručili, že nalezené vstupní bázické řešení bude přípustné, použijeme jedné ze dvou následujících metod využívajících tzv. umělé proměnné. a) Dvoufázová metoda 1.fáze: Přidáme do levých stran systému nerovností další proměnné, díky nimž zde vznikne jednotková podmatice, a řešíme úlohu lineárního programování s novou funkcí r (ta se vždy minimalizuje, i kdyby původní úloha byla maximalizace): Najděte minimum funkce r = u1 + u2 za podmínek 3 x1 + x2 + u1 = 3 4 x1 + 3 x2 − p1 + u2 = 6 x1 + 2 x2 + p2 = 4 x1, x2, p1, p2, u1, u2 ≥ 0. Vstupní simplexová tabulka má pak tvar x1 x2 p1 u1 u2 p2 řešení min r 0 0 0 −1 −1 0 0 u1 3 1 0 1 0 0 3 u2 4 3 −1 0 1 0 6 p2 1 2 0 0 0 1 4 Zvolili jsme bázické proměnné u1, u2, p2 a položili x1 = x2 = p1 = 0. Ovšem nemůžeme provést optimalizační krok, protože není splněna podmínka, o které už byla řeč: koeficienty v řádku funkce r v bázických sloupcích musí 94 Fakulta elektrotechniky a komunikačních technologií VUT v Brně být rovny 0. Abychom vynulovali koeficienty −1 ve sloupcích u1, u2, a přitom zachovali nuly ve sloupci p2, přičteme k řádku r řádky u1, u2: ↓ x1 x2 p1 u1 u2 p2 řešení min r 7 4 −1 0 0 0 9 ← u1 3m 1 0 1 0 0 3m u2 4m 3 −1 0 1 0 6m p2 1m 2 0 0 0 1 4m Nyní můžeme provést optimalizaci: xxx0 = (0, 0, 0, 3, 6, 4). Vstupní sloupec určíme podle maximálního kladného prvku v řádku r, výstupní řádek podle minimální kladné změny min 3 3 , 6 4 , 4 1 = 3 3 . ↓ x1 x2 p1 u1 u2 p2 řešení min r 0 5 3 −1 −7 3 0 0 2 x1 1 1 3  0 1 3 0 0 1m ← u2 0 5 3  −1 −4 3 1 0 2m p2 0 5 3  0 −1 3 0 1 3m Optimalizace: xxx1 = (1, 0, 0, 0, 2, 3) max r = 5 3 ⇒ vstupní souřadnice je x2 min 1 1/3 , 2 5/3 , 3 5/3 = 2 5/3 x1 x2 p1 u1 u2 p2 řešení r 0 0 0 −1 −1 0 0 x1 1 0 1 5 3 5 −1 5 0 3 5 x2 0 1 −3 5 −4 5 3 5 0 6 5 p2 0 0 1 1 −1 1 1 Pravděpodobnost, statistika a operační výzkum 95 Optimum úlohy je xxx2 = 3 5 , 6 5 , 0, 0, 0, 1 , protože v řádku funkce r (mimo pravou stranu, která neslouží k určování vstupní proměnné) už není kladný prvek. Všimněme si také, že r(xxx2 ) = 0. Kdyby tomu tak nebylo a optimální funkční hodnota by byla nenulová, znamenalo by to, že původní úloha (s funkcí z) nemá řešení, tj. 2.fází metody bychom už nepokračovali. 2.fáze: Nyní se vrátíme k minimalizaci funkce z původní úlohy, přičemž omezení opíšeme z výstupní tabulky 1.fáze. Přitom sloupce u1, u2 vyloučíme, protože nejsou bázické. Kdyby některá z proměnných u1, u2 byla bázická v optimální tabulce 1.fáze, museli bychom ji uvažovat i ve 2.fázi a zajistit, aby vypadla z báze (Dautzig 1963). Řešíme tedy úlohu: najděte minimum funkce z = 4 x1 + x2 za podmínek x1 + 1 5 p1 = 3 5 x2 − 3 5 p1 = 6 5 p1 + p2 = 1 x1, x2, p1, p2 ≥ 0. Systém podmínek nyní obsahuje sloupce, ze kterých lze složit jednotkovou matici, čili volbou bázických proměnných x1, x2, p2 a položením p1 = 0 dostaneme už přípustné bázické řešení: x1 x2 p1 p2 řešení min z −4 −1 0 0 0 x1 1 0 1 5  0 3 5  x2 0 1 −3 5 0 6 5 ← p2 0 0 1m 1 1m z 0 0 1 5 0 18 5 ↑ Protože v bázických sloupcích řádku z nejsou nuly, musíme tento řádek upravit před prováděním optimalizačního kroku. Nyní můžeme provést optimalizaci: xxx0 = 3 5 , 6 5 , 0, 1 ; z(xxx0 ) = 18 5 . 96 Fakulta elektrotechniky a komunikačních technologií VUT v Brně max z = 1 5 ⇒ p1 je vstupní proměnná min 3/5 1/5 , 1 1 = 1 ⇒ p2 je výstupní proměnná. x1 x2 p1 p2 řešení z 0 0 0 −1 5 17 5 x1 1 0 0 −1 5 2 5 x2 0 1 0 3 5 9 5 p1 0 0 1 1 1 Optimalizace: xxx1 = 2 5 , 9 5 , 1, 0 ; z(xxx1 ) = 17 5 . Dostáváme tedy optimální řešení úlohy: x1 = 2 5 ; x2 = 9 5 . b) Penalizační metoda Tato metoda je ekvivalentní dvoufázové metodě – rozdíl je však v tom, že obě fáze jsou zabudovány najednou v jedné úloze lineárního programování. Ad Příklad 7.6 Najděte minimum funkce z = 4 x1 + x2 + M (u1 + u2), kde M je libovolně velká kladná konstanta (v případě maximalizace funkce z by u M bylo znaménko –) za podmínek 3 x1 + x2 + u1 = 3 4 x1 + 3 x2 − p1 + u2 = 6 x1 + 2 x2 + p2 = 4 x1, x2, p1, p2, u1, u2 ≥ 0. Protože M může nabývat vysokých hodnot, pro optimum úlohy musí platit u1 = u2 = 0. Pokud to nenastane, původní úloha nemá řešení. Systém omezení je tedy stejný jako v 1.fázi dvoufázové metody, pouze došlo ke změně funkce z. Pravděpodobnost, statistika a operační výzkum 97 x1 x2 p1 u1 u2 p2 řešení min z −4 −1 0 −M −M 0 0 ← u1 3m 1 0 1 0 0 3m u2 4m 3 −1 0 1 0 6m p2 1m 2 0 0 0 1 4m z −4 + 7M −1 + 4M −M 0 0 0 9M ↑ Před použitím optimalizačního kroku musíme opět vynulovat bázické pozice v řádku z. Optimalizace: xxx0 = (0, 0, 0, 3, 6, 4); z(xxx0 ) = 9 M max z = −4 + 7 M ⇒ x1 je vstupní proměnná min 3 3 , 6 4 , 4 1 = 3 3 ⇒ u1 je výstupní proměnná. ↓ x1 x2 p1 u1 u2 p2 řešení min z 0 1+5M 3 −M 4−7M 3 0 0 4 + 2M ← x1 1 1 3  0 1 3 0 0 1m u2 0 5 3  −1 4 3 1 0 2m p2 0 5 3  0 −1 3 0 1 3m Optimalizace: xxx1 = (1, 0, 0, 0, 2, 3); z(xxx1 ) = 4 + 2 M max z = 1+5M 3 ⇒ x2 je vstupní proměnná min 1 1/3 , 2 5/3 , 3 5/3 = 6 5 ⇒ u2 je výstupní proměnná. ↓ x1 x2 p1 u1 u2 p2 řešení min z 0 0 1 5 (8 5 − M) (−1 5 − M) 0 18 5 x1 1 0 1 5  3 5 −1 5 0 3 5  x2 0 1 −3 5 −4 5 3 5 0 6 5 ← p2 0 0 1m 1 −1 1 1m 98 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Optimalizace: xxx2 = ( 3 5 , 6 5 , 0, 0, 0, 1); z(xxx2 ) = 18 5 max z = 1 5 ⇒ p1 je vstupní proměnná min 3/5 1/5 , 1 1 = 1 ⇒ p2 je výstupní proměnná. x1 x2 p1 u1 u2 p2 řešení z 0 0 0 (7 5 − M) −M −1 5 17 5 x1 1 0 0 2 5 0 −1 5 2 5 x2 0 1 0 −1 5 0 3 5 9 5 p1 0 0 1 1 −1 1 1 Optimalizace: xxx3 = ( 2 5 , 9 5 , 1, 0, 0, 0); z(xxx3 ) = 17 5 je optimum, protože v řádku funkce z (mimo pravou stranu) nejsou už kladné hod- noty. Dostáváme tedy optimální řešení úlohy: x1 = 2 5 ; x2 = 9 5 . V úloze jsme při řešení mohli místo abstraktního M použít dostatečně velkou hodnotu, např. M = 10 000. Ale (zejména v počítačovém zpracování algoritmu) při použití konkrétního M dochází k zaokrouhlovací chybě. Proto je výhodnější používat abstraktní M (i v programu, lze totiž dodefinovat algebraické operace sčítání, násobení a porovnávání hodnot obecně i pro abstraktní M s využitím pomocné proměnné, do které je možné ukládat koeficient u M). Příklad 7.7 Je nutné v následujících úlohách použít umělé proměnné? a) Najděte maximum funkce z = x1 + x2 za omezení 2 x1 + 3 x2 = 5 7 x1 + 2 x2 ≤ 6 x1, x2 ≥ 0. b) Najděte minimum funkce z = x1 + x2 + x3 + x4 za omezení 2 x1 + x2 + x3 = 7 4 x1 + 3 x2 + x4 ≤ 8 x1, x2, x3, x4 ≥ 0. Pravděpodobnost, statistika a operační výzkum 99 Řešení. ad a) Ano, úloha přeformulovaná pro užití simplexové metody zní: maximalizujte funkci z = x1 + x2 − Mu za podmínek 2 x1 + 3 x2 + u = 5 7 x1 + 2 x2 + p = 6 x1, x2, u, p ≥ 0. Příslušná simplexová tabulka: x1 x2 u p řešení max z −1 −1 M 0 0 u 2 3 1 0 5 p 7 2 0 1 6 z −1 − 2M −1 − 3M 0 0 −5M Nesmíme zapomenout vynulovat bázické koeficienty v řádku z, aby byla tabulka připravená pro optimalizační krok! ad b) Ne, samotná omezení obsahují už jednotkovou podmatici x1 x2 x3 x4 řešení min z −1 −1 −1 −1 0 x3 2 1 1 0 7 x4 4 3 0 1 8 z 5 3 0 0 15 Musíme opět vynulovat bázické pozice v řádku z. 7.6 Úskalí simplexové metody a) Degenerace – matematicky: bázická souřadnice řešení je rovna 0, tj. může se stát, že jednomu vrcholu množiny přípustných hodnot odpovídá více kroků simplexové tabulky; speciálně je zde nebezpečí tzv. zacyklení, tj. procházení několika vrcholů množiny přípustných hodnot stále dokola, aniž bychom šli k optimálnímu vrcholu. 100 Fakulta elektrotechniky a komunikačních technologií VUT v Brně – prakticky: některé omezení je nadbytečné, ale většinou nepoznáme, které to je. – řešení: zkusíme v algoritmu pokračovat, zacyklení většinou nenastane, nebo lze zacyklení většinou vyloučit tím, že pro volbu výstupního řádku na chvíli uvažujeme místo nul na pravé straně systému malá ε > 0 . . . tzv. ε-modifikace. Příklad 7.8 Maximalizujte funkci z = 3 x1 + 9 x2 za podmínek x1 + 4 x2 ≤ 8 x1 + 2 x2 ≤ 4 x1, x2 ≥ 0. Řešení. Grafické řešení je znázorněno na obr.7.7. −2 0 2 4 6 8 10 −2 −1 0 1 2 3 4 5 PSfrag replacements A • Obr. 7.7: Grafické řešení příkladu 7.8. První z obou netriviálních omezení je nadbytečné; optimum je v bodě A = [0; 2]. b) Více optimálních řešení – matematicky: nebázický koeficient v řádku z je roven 0 ve výstupní simplexové tabulce; pak pokud s proměnnou příslušnou tomuto koeficientu vstoupíme do báze, příslušné řešení bude rovněž optimální. Pravděpodobnost, statistika a operační výzkum 101 – prakticky: optimum není pouze v obou vrcholech xxx1 ,xxx2 , ale v každém bodě hrany mezi nimi αxxx1 + (1 − α)xxx2 , kde α ∈ 0; 1 . Pokud optimum nastane ve 3 vrcholech xxx1 ,xxx2 ,xxx3 , nastane rovněž v každém bodě trojúhelníka těmito vrcholy určeného xxx = α1xxx1 + α2xxx2 + α3xxx3 , kde αi ∈ 0; 1 a platí α1 + α2 + α3 = 1 (tzv. konvexní kombinace vrcholů). Příklad 7.9 Maximalizujte funkci z = 2 x1 + 4 x2 za omezení x1 + 2 x2 ≤ 5 x1 + x2 ≤ 4 x1, x2 ≥ 0. Řešení. Grafické řešení je znázorněno na obr.7.8. −1 0 1 2 3 4 5 6 −1 0 1 2 3 4 5 PSfrag replacements A • B • Obr. 7.8: Grafické řešení příkladu 7.9. Libovolný bod úsečky AB je řešením, tj. x1 x2 = α 0 2, 5 + (1 − α) 3 1 , α ∈ 0; 1 . c) Neomezené řešení – matematicky: všechny hodnoty ve vstupním sloupci v některém optimalizačním kroku jsou ≤ 0, tj. neexistuje žádná kladná změna pro daný sloupec. 102 Fakulta elektrotechniky a komunikačních technologií VUT v Brně – prakticky: úloha není dobře formulována (chybí určité omezení, popřípadě některý parametr není dobře odhadnut). – řešení: řekneme, že funkce z je ve směru svého „zlepšování neomezená, popřípadě dodáme další omezení nebo přehodnotíme koeficienty úlohy. Příklad 7.10 Maximalizujte funkci z = 2 x1 + 4 x2 za omezení x1 + 2 x2 ≤ 5 x1 + x2 ≤ 4 x1, x2 ≥ 0. Řešení. Grafické řešení je znázorněno na obr.7.9. 0 5 10 15 20 −15 −10 −5 0 5 10 15 Obr. 7.9: Grafické řešení příkladu 7.10. Množina přípustných hodnot je neohraničená ve směru růstu funkce z. d) Množina přípustných hodnot je prázdná – matematicky: v 1.fázi dvoufázové metody je optimální hodnota kladná. – prakticky: úloha není dobře formulována, omezení jsou v rozporu. – řešení: některá omezení odstraníme. Pravděpodobnost, statistika a operační výzkum 103 7.7 Shrnutí V této kapitole jsme nejdříve na různých příkladech z praxe ukázali matematickou formulaci úlohy lineárního programování, jejíž tvar obecně zní: nalezněte minimum (nebo maximum) funkce z = n j=1 cjxj za omezujících podmínek xj ≥ 0 pro j = 1, 2, . . . , n (tzv. triviální podmínky), n j=1 aijxj ≤ bi (nebo = bi nebo ≥ bi) pro i = 1, 2, . . . , m. Dále jsme se zabývali grafickým řešením této úlohy a následnou analýzou citlivosti, tj. tím, jak se změní řešení při změně některého ze vstupních parametrů úlohy. Sledovali jsme především změny netriviálních omezení, které mohou být dvojího druhu: • klíčová . . . pokud prochází bodem optima • neklíčová . . . pokud neprochází bodem optima. Kromě toho jsme se také věnovali algebraickému řešení – tzv. simplexové metodě. Pro její nastolení jsme definovali tzv. kanonický tvar úlohy lineárního programování, který je charakteristický tím, že – všechna omezení jsou rovnicemi – všechna omezení mají nezápornou pravou stranu – pro všechny proměnné xj platí: xj ≥ 0. Úlohu lineárního programování lze řešit algebraicky pomocí simplexové tabulky následujícím způsobem: 1. převedeme na kanonický tvar (přidáním pomocných proměnných, vynásobením (−1), substitucí xi = xi − xi pro neomezenou proměnnou xi) 2. dodáme umělé proměnné ui do některých rovnic, abychom zaručili existenci jednotkové matice (eventuelně může mít přeházené sloupce) 3. vyloučíme z funkce z proměnné určující jednotkovou matici substitucí za tyto proměnné z některé z podmínek omezení 4. sestavíme vstupní simplexovou tabulku, do prvního řádku zapíšeme rovnici z − (kombinace nebázických proměnných) = absolutní člen, do ostatních řádků opíšeme omezení. V závěru kapitoly se věnujeme některým úskalím simplexové metody, zejména degeneraci, neexistenci nebo nejednoznačnosti řešení. 104 Fakulta elektrotechniky a komunikačních technologií VUT v Brně 7.8 Otázky k opakování U následujících výroků rozhodněte, zda se jedná o výrok pravdivý či nepravdivý. Otázka 7.1 Úlohou lineárního programování je nalezení globálního extrému libovolné funkce na množině M zadané soustavou lineárních nerovnic. Otázka 7.2 Každá úloha, která má přípustné řešení, má i optimální řešení. Otázka 7.3 Každá úloha, která má optimální řešení, má i přípustné řešení. Otázka 7.4 Pokud má úloha optimální řešení, je určeno jednoznačně. Otázka 7.5 Změna některého z neklíčových omezení může ovlivnit hodnotu optimálního řešení. Otázka 7.6 Existuje úloha lineárního programování, která nelze převést do kanonického tvaru? Otázka 7.7 Pivotový prvek v simplexové tabulce může být záporné číslo. Otázka 7.8 Při simplexové metodě může dojít k zacyklení, tj. procházení několika vrcholů množiny přípustných hodnot stále dokola, aniž bychom šli k optimálnímu vrcholu. Odpovědi na otázky viz 13.2. 7.9 Příklady ke cvičení Příklad 7.1 Společnost chce investovat 1 000 dolarů měsíčně na reklamu svého výrobku. Minuta vysílání v rozhlasových pořadech ji stojí 5 dolarů, minuta v televizi 100 dolarů. Společnost by ráda využila rozhlasu časově aspoň dvakrát více než TV. Minulá zkušenost naznačuje, že minuta vysílání v TV způsobí asi 25-krát větší ohlas než minuta rozhlasového vysílání. Formulujte problém nalezení optimálního rozdělení investic jako úlohu lineárního programování (neřešte ji). Příklad 7.2 Navrhněte výrobu krmné směsi, máte-li k dispozici produkty A,B,C,D, které stojí 200, 260, 180, 340 Kč a obsahují komponenty a,b,c, jejichž obsah je dán následující tabulkou: A B C D požadavek * a 10 8 12 6 92 b 6 10 4 14 88 c 4 6 2 12 72 * minimální množství komponenty ve směsi Vytvořte matematický model, úlohu neřešte. Pravděpodobnost, statistika a operační výzkum 105 Příklad 7.3 Firma má dva provozy. V prvním provozu vyrábí výrobek A, který je částečně finálním výrobkem a částečně polotovarem pro druhý provoz. Ve druhém provozu vyrábí výrobek B. Denní výroba je omezena 3 000 kg suroviny S. Na jednu jednotku A je třeba 5 kg suroviny S, na jednotku výrobku B je třeba jedna jednotka A a 2 kg suroviny S. Výrobku A je nutno vyrobit aspoň 250 jednotek (finálně, ne jako součást výrobku B). Cena výroby jednotky A je 5 Kč, jednotky B 10 Kč. Vytvořte program výroby, který zabezpečuje maximální odbyt. Neřešte, pouze uveďte matematickou formulaci problému. Nezapomeňte, že ty jednotky A, které se spotřebují na výrobu B, už do ceny odbytu nezapočítáváme (ty jsou totiž už zakalkulovány v ceně jednotky B). Příklad 7.4 Tyč 12 m dlouhá se má řezat na 3 různé délky, A = 5, 65; B = 3, 25; C = 2, 40 a to takto: A nejméně 26 kusů, B nejméně 48 kusů, C nejméně 124 kusů. Protože výroba pokračuje i v dalších dekádách, je přípustné řezat do zásoby. Vytvořte řezné plány a matematický model programu, pro který odpad bude minimální. Příklad 7.5 Řešte graficky následující úlohu: nalezněte minimum funkce z = x1 − x2 za podmínek 2 x1 + x2 ≥ 2 −3 x1 + 2 x2 ≤ 6 x1 + x2 ≤ 4 x1 ≥ 0, x2 ≥ 0. Příklad 7.6 Řešte graficky následující úlohu: nalezněte minimum funkce z = x1 − x2 za podmínek 2 x1 + x2 ≥ 2 −3 x1 + 2 x2 ≤ 6 x1 ≥ 0, x2 ≥ 0. Příklad 7.7 Formulujte takovou úlohu lineárního programování v dimenzi 2 (pro proměnné x, y), aby body (1, 3), (2, 2) byly jejím optimálním řešením a bod (3, 1) už ne. Využijte grafické názornosti úlohy. Příklad 7.8 Uvažujte následující úlohu lineárního programování: nalezněte maximum funkce z = 5 x + 3 y za omezení x + y ≤ 4 5 x + 2 y ≤ 10 x ≥ 0, y ≥ 0. Určete a) optimální řešení úlohy (graficky); b) zvýšení pravé strany v první nerovnosti, které maximálně zlepší hodnotu optima (a současně učiní tuto nerovnost nadbytečnou) a určete tuto změnu optima; 106 Fakulta elektrotechniky a komunikačních technologií VUT v Brně c) stínové ceny příslušné optimálnímu řešení a); d) o kolik můžeme zvýšit koeficient proměnné y ve funkci z, aby vrchol optima (= optimální hodnota proměnných) zůstal zachován (hodnota optima se samozřejmě změní)? Příklad 7.9 Simplexovou metodou vyřešte následující úlohu lineárního programování: najděte maximum funkce z = 2 x1 + x2 − 5 x3 za podmínek x1 + x2 + x3 = 7 2 x1 − 5 x2 + x3 ≥ 10 x1, x2, x3 ≥ 0. Příklad 7.10 Simplexovou metodou vyřešte následující úlohu lineárního programování: najděte maximum funkce z = x1 + 2 x2 + 3 x3 − x4 za podmínek x1 + 2 x2 + 3 x3 = 15 2 x1 + x2 + 5 x3 = 20 x1 + 2 x2 + x3 + x4 = 10 x1, x2, x3, x4 ≥ 0. Výsledky příkladů viz 13.2. Pravděpodobnost, statistika a operační výzkum 107 8 Dualita v úlohách lineárního programování Tato kapitola je uvedením do teorie duality. Co to je dualita? Matematická představa duality je skutečně odvozena od filosofické. Ve filosofii (zejména východní, ale prý snad i Högel a Marx) mluví teorie duality o existenci dvou sil, jedné dobré a druhé zlé, které jsou spolu v neustálém boji a z nichž žádná není nadřazena té druhé – obě jsou stejně silné. Bůh v představách této filosofie je duální (dobrý i zlý současně) – je sjednocením této dobré a zlé síly, jejichž nekonečné soupeření je zdrojem pokroku. Pak existuje jiný základní pohled na svět (např. křesťanský pohled), který říká, že Bůh je jen dobrý a ta zlá síla, která tu na světě existuje, je síla, která se vzepřela dobrým zákonům a jedná svéhlavě po svém. V tomto druhém pohledu na svět se svým způsobem nedá mluvit o dualitě, protože dobrý Bůh je nekonečně mocnější a nadřazený té zlé síle a je jen otázkou času, kdy s touto zlou silou, překážkou pokroku, naprosto skoncuje. Toho se někteří bojí, ale jiní (mezi nimi i já) tuto porážku zla očekávají, protože to bude také mimo jiné znamenat, že budou konečně naplno osvobozeni a očištěni od vší špatnosti svého charakteru. Dualita v matematickém slova smyslu má spíše blíže k nekřesťanskému pohledu na svět. Kromě původní (primární) úlohy nyní budeme definovat ještě tzv. duální úlohu. Při studiu vztahu mezi primární a duální úlohou uvidíme, že obě úlohy někdy „stojí proti sobě (v něčem se liší), jindy „jsou v souladu (v něčem jsou stejné nebo se doplňují), ale vždy jsou navzájem rovnocenné, žádná není nadřazena té druhé. Snad při studiu tohoto vztahu duality bude učiněn pokrok alespoň v oblasti lineárního programování. 8.1 Formulace duální úlohy lineárního programování Původní úlohu lineárního programování označujeme jako primární: nalezněte minimum (nebo maximum) funkce z = n j=1 cjxj za omezujících podmínek n j=1 aijxj = bi pro i = 1, 2, . . . , m, xj ≥ 0 pro j = 1, 2, . . . , n. K této úloze konstruujeme tzv. duální úlohu podle následujících pravidel: primární úloha duální úloha minimalizace maximalizace, všechna omezení typu ≤, proměnné neohraničené maximalizace minimalizace, všechna omezení typu ≥, proměnné neohraničené 108 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Vztah koeficientů primární a duální úlohy je možné znázornit v tabulce: primární proměnné x1 x2 . . . xj . . . xn pravé strany duálních omezení → c1 c2 . . . cj . . . cn a11 a12 . . . a1j . . . a1n b1 y1 a21 a22 . . . a2j . . . a2n b2 y2 koeficienty levých stran duálních omezení ... ... ... ... ... duální proměnné am1 am2 . . . amj . . . amn bm ym ↑ ↑ j-té duální omezení koeficienty duální funkce w Příklad 8.1 Formulujte duální úlohu k úloze: maximalizujte funkci z = 5 x1 + 12 x2 + 4 x3 za podmínek x1 + 2 x2 + x3 ≤ 10 2 x1 − x2 + 3 x3 = 8 x1, x2, x3 ≥ 0. Řešení. Nejprve formulujeme kanonický tvar primární úlohy: maximalizujte funkci z = 5 x1 + 12 x2 + 4 x3 + 0 p za podmínek x1 + 2 x2 + x3 + p = 10 2 x1 − x2 + 3 x3 = 8 x1, x2, x3, p ≥ 0. Duální úloha je tedy tvaru: minimalizujte funkci w = 10 y1 + 8 y2 za podmínek y1 + 2 y2 ≥ 5 2 y1 − y2 ≥ 12 y1 + 3 y2 ≥ 4 y1 ≥ 0; y2 ∈ R, tj. na y2 není kladeno žádné omezení. Pravděpodobnost, statistika a operační výzkum 109 Příklad 8.2 Formulujte duální problém k následujícímu: minimalizujte funkci z = 5 x1 − 2 x2 za omezení −x1 + x2 ≥ −3 2 x1 + 3 x2 ≤ 5 x1, x2 ≥ 0. Řešení. Nejprve kanonický tvar primární úlohy: minimalizujte funkci z = 5 x1 − 2 x2 + 0 p1 + 0 p2 za podmínek x1 − x2 + p1 = 3 2 x1 + 3 x2 + p2 = 5 x1, x2, p1, p2 ≥ 0. Duální úloha je tvaru: maximalizujte funkci w = 3 y1 + 5 y2 za podmínek y1 + 2 y2 ≤ 5 −y1 + 3 y2 ≤ −2 y1, y2 ≤ 0. Příklad 8.3 Formulujte duální problém k následujícímu: maximalizujte funkci z = 5 x1 + 6 x2 za omezení x1 + 2 x2 = 5 −x1 + 5 x2 ≥ 3 4 x1 + 7 x2 ≤ 8 x1 ∈ R, x2 ≥ 0. Řešení. Kanonický tvar primární úlohy: maximalizujte funkci z = 5 x1 − 5 x1 + 6 x2 + 0 p1 + 0 p2 za podmínek x1 − x1 + 2 x2 = 5 −x1 + x1 + 5 x2 − p1 = 3 4 x1 − 4 x1 + 7 x2 + p2 = 8 x1, x1, x2, p1, p2 ≥ 0. Duální úloha je tvaru: 110 Fakulta elektrotechniky a komunikačních technologií VUT v Brně minimalizujte funkci w = 5 y1 + 3 y2 + 8 y3 za podmínek y1 − y2 + 4 y3 ≥ 5 −y1 + y2 − 4 y3 ≥ −5 2 y1 + 5 y2 + 7 y3 ≥ 6 −y2 ≥ 0 y3 ≥ 0 y1 ∈ R. Všimněme si, že sloučením prvních dvou podmínek vznikne rovnost a že na proměnnou y1 není vztaženo žádné omezení. 8.2 Vztah mezi řešením primární a duální úlohy Vyřešme nyní primární úlohu a úlohu k ní duální a všimněme si souvislostí mezi jednotlivými simplexovými tabulkami. Ad Příklad 8.1. Vyřešme nejprve primární úlohu. Kanonický tvar doplníme umělou proměnnou u s cílem vytvoření jednotkové podmatice: maximalizujte funkci z = 5 x1 + 12 x2 + 4 x3 + 0 p − Mu za podmínek x1 + 2 x2 + x3 + p = 10 2 x1 − x2 + 3 x3 + u = 8 x1, x2, x3, p, u ≥ 0. Nyní je vše připraveno pro provedení simplexové metody pro primární úlohu. max z = 5 12 4 0  −M  x1 x2 x3 p u řešení krok 0: z −5 −12 −4 0 M = 0 p 1 2 1 1 0 10 x3 ↔ u 2 −1 3 0 1 8 z −5 − 2M −12 + M −4 − 3M 0 0 −8M Nejprve jsme museli vynulovat bázické pozice v řádku z. Duální omezení odpovídající počáteční bázi získáme z tabulky ze sloupců p a u. Tj. jsou to omezení y1 ≥ 0 y2 ≥ −M Pravděpodobnost, statistika a operační výzkum 111 (do pravých stran bereme původní nevynulované koeficienty s nezměněným znaménkem – zakroužkované hodnoty v tabulce). x1 x2 x3 p u řešení krok 1: z −7 3 −40 3 0 0 4 3 + M 32 3 x2 ↔ p 1 3 7 3 0 1 −1 3 22 3 x3 2 3 −1 3 1 0 1 3 8 3 x1 x2 x3 p u řešení krok 2: z −3 7 0 0 40 7 −4 7 + M 368 7 x2 1 7 1 0 3 7 −1 7 22 7 x1 ↔ x3 5 7 0 1 1 7 2 7 26 7 x1 x2 x3 p u řešení krok 3: z 0 0 3 5 29 5 −2 5 + M 544 5 x2 0 1 −1 5 2 5 −1 5 12 5 x1 1 0 7 5 1 5 2 5 26 5 Dostáváme optimální řešení: x1 = 26 5 , x2 = 12 5 , x3 = 0. Z tabulky můžeme také vyčíst optimální koeficienty funkce z příslušné primární počáteční bázi – hodnoty označené čárkovaně. Nyní vyřešme duální úlohu převedenou na kanonický tvar doplněný o umělé proměnné: minimalizujte funkci w = 10 y1 + 8 y2 − 8 y2 + M (u1 + u2 + u3) za podmínek y1 + 2 y2 − 2 y2 − p1 + u1 = 5 2 y1 − y2 + y2 − p2 + u2 = 12 y1 + 3 y2 − 3 y2 − p3 + u3 = 4 y1, y2, y2 , p1, p2, p3, u1, u2, u3 ≥ 0. 112 Fakulta elektrotechniky a komunikačních technologií VUT v Brně krok 0: min w = 10 8 −8 0 0 0 M  M  M  y1 y2 y2 p1 p2 p3 u1 u2 u3 řešení w −10 −8 8 0 0 0 −M −M −M = 0 u1 1 2 −2 −1 0 0 1 0 0 5 u2 2 −1 1 0 −1 0 0 1 0 12 u3 1 3 −3 0 0 −1 0 0 1 4 w −10 + 4M −8 + 4M 8 − 4M −M −M −M 0 0 0 21M Primární omezení odpovídající počáteční duální bázi jsou x1 ≤ M x2 ≤ M x3 ≤ M (do pravých stran opět bereme původní nevynulované koeficienty s nezměněným znaménkem – zakroužkované hodnoty v tabulce). ... krok 4: y1 y2 y2 p1 p2 p3 u1 u2 u3 řešení w 0 0 0 −26 5 −12 5 0 26 5 − M 12 5 − M −M 544 5 p3 0 0 0 −7 5 1 5 1 7 5 −1 5 −1 3 5 y2 0 −1 1 2 5 −1 5 0 −2 5 1 5 0 2 5 y1 1 1 0 −1 5 −2 5 0 1 5 2 5 0 29 5 Dostáváme optimální řešení: y1 = 29 5 , y2 = y2 − y2 = 0 − 2 5 = − 2 5 . Z tabulky můžeme také vyčíst optimální koeficienty funkce w odpovídající počáteční duální bázi – hodnoty označené čárkovaně. Vztah mezi řešením primární a duální úlohy: 1) optimální hodnota funkce z = optimální hodnota funkce w Pravděpodobnost, statistika a operační výzkum 113 2)   vektor optimálních koeficientů funkce z příslušných počáteční primární bázi   =   vektor rozdílů levé minus pravé strany duálních omezení příslušných počáteční primární bázi   Ad Příklad 8.1 Příslušná vektorová rovnice z bodu 2) vztahu mezi primární a duální úlohou zde má tvar 29 5 −2 5 + M = y1 − 0 y2 − (−M) ⇒ y1 = 29 5 , y2 = − 2 5 , w = 54 4 5 . Čili pomocí řešení primární úlohy jsme z tohoto vztahu získali řešení duální úlohy. Naopak uvážíme-li, že duální úloha k duální úloze je původní primární úloha, lze pomocí řešení duální úlohy určit řešení primární úlohy:     26 5 − M 12 5 − M −M     =     x1 − M x2 − M x3 − M     ⇒ x1 = 26 5 , x2 = 12 5 , x3 = 0, z = 54 4 5 . Z porovnání primární a duální úlohy vidíme, že   libovolná funkční hodnota přípustného bázického řešení maxi- malizace   ≤   libovolná funkční hodnota přípustného bázického řešení mini- malizace   bez ohledu na to, která úloha je primární a která duální. Když tedy známe „dobré řešení minimalizace a „dobré řešení maximalizace (dobré v tom smyslu, že funkční hodnoty v obou případech se od sebe moc neliší), můžeme s jistotou vědět, že skutečné optimum obou úloh má funkční hodnotu v intervalu určeném těmito dvěma „dobrými funkčními hodnotami. 8.3 Pojem inverzní matice V k-tém kroku simplexové tabulky lze všechny hodnoty této tabulky určit na základě tzv. inverzní matice (a zadání primární a duální úlohy): 114 Fakulta elektrotechniky a komunikačních technologií VUT v Brně tabulka k-tého kroku: sloupce odpovídající primární počáteční bázi koeficienty účelové funkce → = inverzní matice = sloupce omezení mimo sloupce primární počáteční báze a) určení sloupců omezení mimo sloupce počáteční báze:   sloupec v k-tém kroku   =   inverzní matice v k-tém kroku   ·   sloupec v 0-tém kroku   Ad Příklad 8.1. krok 1: určení sloupce proměnné x1: 1 3 2 3 = 1 −1 3 0 1 3 · 1 2 krok 2: určení sloupce pravých stran: 22 7 26 7 = 3 7 −1 7 1 7 2 7 · 10 8 b) určení koeficientů účelové funkce: Nejprve určíme hodnoty duálních proměnných yi podle vztahu       vektor proměnných yi v k-tém kroku       =       vektor koeficientů nad inverzní maticí v k-tém kroku primární tabulky       ·     inverzní matice v k-tém kroku     , a pak lze vypočíst primární řádek účelové funkce z vektorové rovnice     vektor koeficientů u xj účelové funkce v k-tém kroku     =       vektor rozdílů levé minus pravé strany odpovídajícího duálního omezení s hodnotami proměnných yi z k-tého kroku       . Pravděpodobnost, statistika a operační výzkum 115 Ad Příklad 8.1. V našem příkladu máme vždy v daném kroku nad inverzní maticí následující koeficienty primární účelové funkce: krok báze koeficienty účelové funkce nad inverzní maticí 0 (p, u) (0, −M) 1 (p, x3) (0, 4) 2 (x2, x3) (12, 4) 3 (x2, x1) (12, 5) (všimněte si, že v 0-tém kroku bereme původní koeficienty s nezměněným znaménkem). Tj. například hodnoty v řádku funkce z ve 3.(= optimálním) kroku simplexové tabulky určíme následovně: Nejprve najdeme hodnoty yi ve 3.kroku (y1, y2) = (12, 5) · 2 5 −1 5 1 5 2 5 = 29 5 , −2 5 a pak příslušné koeficienty funkce z ve 3.kroku:          koeficient u x1 koeficient u x2 koeficient u x3 koeficient u p koeficient u u          =          y1 + 2 y2 − 5 2 y1 − y2 − 12 y1 + 3 y2 − 4 y1 − 0 y2 − (−M)          =          0 0 3 5 29 5 −2 5 + M          . c) Určení hodnoty účelové funkce v k-tém kroku: dosazením sloupce řešení z k-tého kroku do účelové funkce vypočteme její hodnotu v k-tém kroku. Pomocí sloupců příslušných inverzní matici lze tedy získat hodnoty ve všech ostatních sloupcích. Toto lze využít při programování algoritmu simplexové metody – více o tom v kapitole 3. 116 Fakulta elektrotechniky a komunikačních technologií VUT v Brně 8.4 Ekonomická interpretace duality Uvažujme následující primární a duální úlohu: P: maximalizujte funkci z = n j=1 cjxj za omezujících podmínek n j=1 aijxj = bi pro i = 1, 2, . . . , m, xj ≥ 0 pro j = 1, 2, . . . , n. D: minimalizujte funkci w = m i=1 bixi za omezujících podmínek m i=1 aijyi ≥ cj pro j = 1, 2, . . . , n, yi ≥ 0 pro i = 1, 2, . . . , m. Jednotlivé koeficienty a funkce mají následující ekonomický význam: cj . . . zisk jednotkového výstupu činnosti j (obyčejně je diktován trhem) bi . . . dostupné množství zdroje i aij . . . množství zdroje i potřebné pro jednotkový výstup činnosti j z . . . zisk yi . . . cena jednotkového množství zdroje i (= tzv. stínová cena – udává, jak moc jednotkové zvýšení dostupnosti zdroje i zvýší zisk z) w . . . využití zdrojů (odčerpání zdrojů) Ad Příklad 8.1 Význam optimálních hodnot y1 = 29 5 , y2 = −2 5 . Abychom zvýšili optimum funkce z, musíme – zvýšit dostupnost zdroje 1 – snížit dostupnost zdroje 2. Vždy platí z ≤ w. Řešení není optimální, pokud zisk z < využití zdrojů w max z . . . maximalizujeme zisk min w . . . minimalizujeme využití zdrojů pro daný zisk Podmínka optimality v k-tém kroku maximalizace . . . koeficient funkce z u proměnné xj je roven m i=1 aijyi − cj ≥ 0. ↑ zj . . . tzv. připsaná cena Pokud zj − cj ≥ 0, tj. zj ≥ cj, proměnná ↑ zj . . . tzv. redukovaná cena xj nemůže být vstupní proměnnou optimalizačního kroku (zvyšování proměnné xj nepřinese větší zisk). Pravděpodobnost, statistika a operační výzkum 117 ad primární úloha: položky bi lze někdy zvýšit (stínové ceny určují prioritu) novými investicemi ad duální úloha: aby se zvýšila ziskovost činnosti j, snažíme se snížit její připsanou cenu zj = m i=1 aijyi, což se obyčejně dosahuje snížením koeficientu spotřeby akj odpovídajícího největší duální souřadnici yk Příklad 8.4 Uvažujme výrobní halu, kde tři různé typy výrobků prochází každý třemi různými linkami. Limity doby přístupu ke každé lince jsou po řadě 430, 460 a 420 minut denně a jednotkový zisk výrobků je 3,2 a 5. Tabulka udává dobu (v minutách) průchodu výrobků jednotlivými linkami: výrobek 1 výrobek 2 výrobek 3 linka 1 1 2 1 linka 2 3 0 2 linka 3 1 4 0 Řešení. Primární úloha bude tvaru: maximalizujte denní zisk z = 3 x1 + 2 x2 + 5 x3 za podmínek x1 + 2 x2 + x3 ≤ 430 3 x1 + 2 x3 ≤ 460 x1 + 4 x2 ≤ 420 x1, x2, x3 ≥ 0. Výstupní simplexová tabulka má tvar: x1 x2 x3 p1 p2 p3 řešení z 4 0 0 1 2 0 1350 x2 −1 4 1 0 1 2 −1 4 0 100 x3 3 2 0 1 0 1 2 0 230 p3 2 0 0 −2 1 1 20 Analýza: optimální řešení neobsahuje výrobek 1 (x1 = 0), tj. tento výrobek není ziskový (z1 > c1 = 3), ale můžeme jej ziskovým učinit snížením z1 (z1 = y1 + 3 y2 + y3). Protože z duální úlohy získáváme duální řešení y1 = 1 y2 = 2 y3 = 0, 118 Fakulta elektrotechniky a komunikačních technologií VUT v Brně má smysl něco dělat jen s první a druhou linkou, větší priorita je dávána druhé lince. Zkoumejme tedy druhou nerovnost primární úlohy; její pravou stranu zvyšovat zatím nechceme, zabývejme se tedy snížením koeficientů na levé straně: výrobek 1 výrobek 2 výrobek 3 linka 1 1 2 1 linka 2 3 − r 0 2 linka 3 1 4 0 Jak velké musí být r, aby se stal výrobek 1 ziskovým? Tak, aby z1 ≤ c1, tj. 1 + (3 − r) 2 ≤ 3 ⇒ r ≥ 2. 8.5 Duální simplexová metoda Jestliže v případě maximalizační úlohy není řešení optimální, aspoň pro jeden koeficient j přepočítávané funkce z platí: m i=1 aijyi − cj < 0, tj. (∗) m i=1 aijyi < cj. Všimneme-li si blíže omezení (∗), toto omezení se vyskytuje v duální úloze, ale s opačnou nerovností (≥). Tedy primární řešení není optimální ⇔ příslušné duální řešení je nepřípustné. Odtud plyne hlavní myšlenka duální simplexové metody: Pokud primární bázické řešení je nepřípustné (některá jeho souřadnice je < 0), ale platí podmínka optimality (zj −cj ≥ 0 pro všechna j), snažíme se duální simplexovou metodou přejít do vrcholu, který stále splňuje podmínku optimality, a navíc už je přípustný (jeho souřadnice ≥ 0). První takový vrchol, do kterého touto metodou dorazíme, je optimum primární úlohy. Postup: na rozdíl od regulární simplexové metody probíhá optimalizační krok v opačném pořadí – nejprve vybereme výstupní řádek (a sice podle nejvíce záporné souřadnice ve sloupci pravých stran), a potom vstupní sloupec (podle minimální absolutní hodnoty podílu „koeficient v řádku funkce / koeficient ve výstupním řádku , přičemž kladné a nulové jmenovatele vypouštíme; pokud takové jsou všechny, úloha nemá přípustné řešení). Příklad 8.5 Minimalizujte funkci z = 2 x1 + x2 za podmínek 3 x1 + x2 ≥ 3 4 x1 + 3 x2 ≥ 6 x1 + 2 x2 ≤ 3 x1, x2 ≥ 0. Pravděpodobnost, statistika a operační výzkum 119 Řešení. Pokud první dvě nerovnosti vynásobíme (−1), vyhneme se použití umělých proměnných, ale za cenu toho, že nalezené bázické řešení není přípustné: ↓ x1 x2 p1 p2 p3 řešení z −2  −1  0 0 0 0 ⇒ p1 −3 −1 1 0 0 −3 ← p2 −4  − 3  0 1 0 −6 p3 1 2 0 0 1 3 podmínka optimality je splněna (koeficienty jsou ≤ 0) Z hodnot v posledním sloupci je vidět, že řešení je nepřípustné; pokusíme se nalézt přípustný vrchol pomocí duální simplexové metody: Výstupní řádek určíme pomocí maximálně záporné souřadnice řešení – to je v našem případě p2 = −6. V tomto řádku p2 jsou dva záporné koeficienty – k nim vytvoříme podíly |z − hodnota/p2 − hodnota| : −2 −4 , −1 −3 . Minimální z nich je ten druhý, vstupní sloupec tedy bude x2. Zbytek algoritmu je stejný jako u původní simplexové metody. Na místo pivotového prvku (−3) se snažíme dostat v dalším kroku hodnotu (+1), ostatní hodnoty v pivotovém sloupci chceme vynulovat, a to skrze přičtení jistého násobku pivotového řádku k danému řádku. Dostaneme tabulku ↓ x1 x2 p1 p2 p3 řešení z −2 3 0 0 −1 3 0 2 ⇒ p1 −5 3 0 1 −1 3 0 −1 x2 4 3 1 0 −1 3 0 2 ← p3 − 5 3 0 0 2 3 1 −1 podmínka optimality je stále splněna Z hodnot v posledním sloupci je vidět, že řešení opět není přípustné; zopakujeme tedy optimalizační krok duální simplexové metody: Výstupní řádek si můžeme vybrat z řádků p1 a p3 díky minimální hodnotě (−1). Vyberme tedy například řádek p3. Jediná záporná hodnota určuje vstupní sloupec x1. 120 Fakulta elektrotechniky a komunikačních technologií VUT v Brně x1 x2 p1 p2 p3 řešení z 0 0 0 −3 5 −2 5 12 5 p1 0 0 1 −1 −1 0 x2 0 1 0 1 5 4 5 6 5 p3 1 0 0 −2 5 −3 5 3 5 Z hodnot v posledním sloupci je vidět, že řešení je přípustné, a tedy i optimální. 8.6 Analýza citlivosti v celé své kráse a) Změna pravé strany některého omezení: Může vést jen k tomu, že řešení nebude přípustné (některá souřadnice bude < 0), podmínka optimality zůstane zachována ⇒ můžeme pokračovat použitím duální simplexové metody. Ad Příklad 7.1. Změníme-li v zadání úlohy pravou stranu omezení 1m na 7 a pravou stranu omezení 2m na 4, výstupní tabulka simplexové metody změněné úlohy se bude od výstupní tabulky původní úlohy lišit pouze ve sloupci pravých stran – řešení bude ale nepřípustné (některá jeho souřadnice bude < 0). Po jednom kroku duální simplexové metody dospějeme k optimu (jehož hodnota bude horší). Podrobněji viz samostatné cvičení. b) Přidání nového omezení: Výsledek pozměněné úlohy se nemění, pokud bod optima toto omezení splňuje. V opačném případě musíme doplnit omezení na rovnost (pomocnou proměnnou), vyloučit z této rovnosti optimální bázické proměnné původní úlohy (do nové báze se navíc přidá nová pomocná proměnná, čili původní simplexová tabulka je doplněna o řádek i sloupec) a případně použít duální simplexovou metodu, pokud je to potřeba. Ad Příklad 7.1. Chceme-li k omezením původní úlohy přidat podmínku x ≤ 3, doplněním na rovnost máme x + p5 = 3, výstupní simplexová tabulka původní úlohy se doplní o řádek a sloupec. Protože proměnná x je bázická, musíme přidaný řádek upravit tím, že od něj odečteme řádek xm . Tak se poruší nezápornost pravé strany tabulky a provedením jednoho kroku duální simplexové dospějeme k novému optimálnímu řešení (funkční hodnota v něm bude nižší – to se ale dalo čekat, že přidáním dalšího omezení se nezlepší funkční hodnota optima). Podrobněji samostatně. c) Změna koeficientů účelové funkce: Jeden způsob přepočtu byl popsán na str.91. Uveďme zde ještě jeden způsob pro přepočet změny koeficientů, které stojí u bázických proměnných výstupní tabulky původní úlohy. Tento způsob užívá duálních proměnných a duálních omezení. Vysvětlíme jej na příkladu. Pravděpodobnost, statistika a operační výzkum 121 Ad Příklad 7.1. Pokud funkce v původní úloze bude změněna na z = 5 x + 4 y, pořadí koeficientů vzhledem k bázi výstupní tabulky je y x p3 p4 (4, 5, 0, 0) , a tedy y1, y2, y3, y4 = 4, 5, 0, 0 ·       2 3 −1 3 0 0 −1 3 2 3 0 0 −1 1 1 0 −2 3 1 3 0 1       = 1, 2, 0, 0 . Pomocí rozdílů levých a pravých stran duálních omezení určíme nový z-řádek ve výstupní tabulce: nový koeficient u x : y1 + 2 y2 − y3 − 5 = 0 y : 2 y1 + y2 + y3 + y4 − 4 = 0 p1 : y1 = 1 p2 : y2 = 2 p3 : y3 = 0 p4 : y4 = 0 Vlastně stačilo přepočítat jen nebázické koeficienty, protože bázické jsou rovny nule. Všechny nové z-koeficienty jsou ≥ 0, tj. bod optima se nezmění (i když funkční hodnota v něm ano). Pokud by některý koeficient byl záporný, museli bychom najít simplexovou metodou zlepšení. Kdyby funkce v původní úloze byla změněna na z = 4 x + y, po přepočtení z-koeficientů by bylo nutné provést jeden krok simplexové metody, abychom našli nový bod optima. d) Změna levých stran omezení: Má smysl analyzovat jen změnu nebázického sloupce levé strany (při bázické změně je lepší vyřešit celou úlohu znovu); z příslušné duální nerovnosti lze hned zjistit, zda se neporušila podmínka optimality. Ad Příklad 7.1. Pro z = 4 x + y a změnu druhého sloupce levých stran a12 = 4, a22 = 3 má příslušné duální omezení tvar 4 y1 +3 y2 +y3 +y4 ≥ 1. Po výpočtu duálních proměnných vidíme, že podmínka platí. Porušení podmínky optimality řeší klasická simplexová metoda. e) Přidání nové činnosti (nového sloupce): – tj. změna funkce z i matice (aij) současně (pokud se na situaci díváme tak, že sloupec tam už dříve byl, ale všechny jeho koeficienty byly nulové). Přidání nové činnosti má smysl jen tehdy, pokud zlepší hodnotu optima. Vysvětlíme přepočet na příkladu. Ad Příklad 7.1. Přidáním nového výrobku do našich úvah vznikne úloha 122 Fakulta elektrotechniky a komunikačních technologií VUT v Brně maximalizujte funkci z = 3 x + 2 y + 3 4 n za podmínek x + 2 y + 3 4 n ≤ 6 2 x + y + 3 4 n ≤ 8 −x + y − n ≤ 1 y ≤ 2 x, y, n ≥ 0. Protože proměnnou n považujeme za nebázickou, duální řešení zůstává stejné: y1 = 1 3 , y2 = 4 3 , y3 = 0, y4 = 0. Nové duální omezení 3 4 y1 + 3 4 y2 − y3 ≥ 3 2 není splněno, příslušný z-koeficient je roven 3 4 y1 + 3 4 y2 − y3 − 3 2 = −1 4 . Zbytek sloupce proměnné n vypočteme pomocí inverzní matice:       2 3 −1 3 0 0 −1 3 2 3 0 0 −1 1 1 0 −2 3 1 3 0 1       ·       3 4 3 4 −1 0       =       1 4 1 4 −1 −1 4       . Nyní protože z-koeficient v novém sloupci je záporný, přidáme jej k optimální tabulce původní úlohy a provedeme jeden krok klasické simplexové metody. Dostaneme nové řešení, které zlepší hodnotu optima původní úlohy. f) Při změně pravých a levých stran omezení současně: Dochází zde ke složitějším změnám a je výhodnější celou úlohu vyřešit znovu, analýza citlivosti už není tak pomocná. Duální simplexová metoda nachází své využití nejen při analýze citlivosti, ale i v některých dalších algoritmech, např. v metodě řezů celočíselného lineárního programování. 8.7 Shrnutí V této kapitole byl podán stručný úvod do teorie duality. Nejprve jsme původní úlohu lineárního programování (její kanonický tvar) označili jako primární. K této úloze konstruujeme tzv. duální úlohu podle následujících pravidel: primární úloha duální úloha minimalizace maximalizace, všechna omezení typu ≤, proměnné neohraničené maximalizace minimalizace, všechna omezení typu ≥, proměnné neohraničené Na příkladu jsme pak pomocí simplexové metody zkoumali vztah mezi řešením primární a duální úlohy. Ten se dá stručně charakterizovat takto: Pravděpodobnost, statistika a operační výzkum 123 1) optimální hodnota funkce z = optimální hodnota funkce w 2)   vektor optimálních koeficientů funkce z příslušných počáteční primární bázi   =   vektor rozdílů levé minus pravé strany duálních omezení příslušných počáteční primární bázi   Dále jsme zjistili, že všechny hodnoty simplexové tabulky lze určit pomocí tzv. inverzní matice. Toto lze využit zejména při programování algoritmu simplexové metody a také při analýze citlivosti. Zajímavá je také ekonomická interpretace duality, která se dá velice stručně charakterizovat jako maximalizace zisku z při současné minimalizaci využití zdrojů w pro daný zisk. V souvislosti s dualitou jsme se zabývali duální simplexovou metodou, jejíž hlavní myšlenka zní: Pokud primární bázické řešení je nepřípustné (některá jeho souřadnice je < 0), ale platí podmínka optimality (zj −cj ≥ 0 pro všechna j), snažíme se duální simplexovou metodou přejít do vrcholu, který stále splňuje podmínku optimality, a navíc už je přípustný (jeho souřadnice ≥ 0). První takový vrchol, do kterého touto metodou dorazíme, je optimum primární úlohy. Na závěr kapitoly jsme se věnovali využití poznatků z teorie duality k získání efektivnějších postupů v analýze citlivosti. 8.8 Otázky k opakování U následujících výroků rozhodněte, zda se jedná o výrok pravdivý či nepravdivý. Otázka 8.1 Abychom mohli formulovat duální úlohu, primární úloha musí být v kanonickém tvaru. Otázka 8.2 Duální úloha existuje jen tehdy, pokud primární úloha je úlohou minimali- zace. Otázka 8.3 Koeficienty duální funkce w zapsané v simplexové tabulce jsou totéž co pravé strany primárních omezení. Otázka 8.4 Optimální hodnota funkce z je menší než optimální hodnota funkce w. Otázka 8.5 I když primární řešení není optimální, příslušné duální řešení je přípustné. Otázka 8.6 Pokud primární řešení je přípustné, příslušné duální řešení je optimální. Otázka 8.7 Pokud příslušné duální řešení je přípustné, primární řešení je optimální. Otázka 8.8 Pokud je alespoň jedna hodnota v posledním sloupci simplexové tabulky kladná, řešení primární úlohy je přípustné. Otázka 8.9 Přidáním nového omezení se optimální hodnota funkce z může zlepšit. Odpovědi na otázky viz 13.3. 124 Fakulta elektrotechniky a komunikačních technologií VUT v Brně 8.9 Příklady ke cvičení Příklad 8.1 Uvažujte následující úlohu lineárního programování: najděte maximum funkce z = 2 x1 + 4 x2 + 4 x3 − 3 x4 za podmínek x1 + x2 + x3 = 4 x1 + 4 x2 + x4 = 8 x1, x2, x3, x4 ≥ 0. a) Formulujte k této úloze úlohu duální. b) Najděte řešení duální úlohy pomocí optimální tabulky primární úlohy. Příklad 8.2 Uvažujte následující úlohu lineárního programování: najděte maximum funkce z = 5 x1 + 2 x2 + 3 x3 za podmínek x1 + 5 x2 + 2 x3 = 30 x1 − 5 x2 − 6 x3 ≤ 40 x1, x2, x3 ≥ 0. a) Formulujte k této úloze úlohu duální. b) Najděte řešení duální úlohy pomocí optimální tabulky primární úlohy. Příklad 8.3 Vyřešte duální simplexovou metodou úlohu: najděte minimum funkce z = 2 x1 + 3 x2 za podmínek 2 x1 + 3 x2 ≤ 30 x1 + 2 x2 ≥ 10 x1, x2 ≥ 0. Příklad 8.4 Uvažujte zadání z příkladu 8.2. Proveďte následující analýzu citlivosti: a) jak se změní řešení při změně pravé strany na 35 15 ? b) jak se změní řešení při přidání nového omezení x1 + x3 ≤ 5 ? c) jak se změní řešení při změně funkce z na z = x1 + x2 − 2 x3 ? d) jak se změní řešení při změně 2.sloupce omezení na 4 1 ? Výsledky příkladů viz 13.3. Pravděpodobnost, statistika a operační výzkum 125 9 Dopravní úloha Klasická verze dopravní úlohy má následující zadání: rozhodněte o způsobu rozvozu jednoho typu výrobku (nebo suroviny) z m závodů do n spotřebitelských skladů tak, aby se minimalizovala celková cena dopravy, je-li dáno cij . . . jednotková cena dopravy ze zdroje i na místo určení j, ai . . . množství zásob se zdroji i, i = 1, 2, . . . , m, bj . . . požadavek spotřebitele j, j = 1, 2, . . . , n. Výstupem úlohy jsou optimální hodnoty proměnných xij (= množství jednotek dopravovaných ze zdroje i ke spotřebiteli j) a celková cena dopravy m i=1 n j=1 cijxij. Tuto konkrétní úlohu praxe lze matematicky reprezentovat užitím teorie grafů: zdroje spotřebitelé a1 →   1 a2 →   2 ................. am →   m   → b22   → b11 ... → bn  n $$$$$$$$$$$$$$$$X ¨¨ ¨¨¨ ¨¨¨ ¨¨¨ ¨¨¨ ¨¨B               Q               s ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆz ————————————————q c11 : x11 cmn : xmn rrr rrrr rrr rrr rrrj ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆz ££# množství zásob ££# požadavky spotřebitelů Ale užitím grafových algoritmů ji řešit nebudeme. Dopravní úlohu lze také formulovat jako úlohu lineárního programování: minimalizujte z = m i=1 n j=1 cijxij za podmínek n j=1 xij ≤ ai pro i = 1, 2, . . . , m m i=1 xij ≥ bj pro j = 1, 2, . . . , n xij ≥ 0. Ale protože dopravní úloha má jakýsi speciální tvar, nebudeme ji řešit přímo simplexovou metodou; použijeme algoritmus, ve kterém je simplexová metoda skryta, ale který je rychlejší a přehlednější. 126 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Právě popsaný model dopravní úlohy budeme vždy řešit až po eventuálním převedení na tzv. vyvážený tvar (vyvážený dopravní model), kdy m i=1 ai = n j=1 bj, tj. nabídka = poptávka. Tento vyvážený tvar je analogií kanonického tvaru úlohy lineárního programování. Příklad 9.1 Automobilová společnost MG má závody v Los Angeles, Detroitu a New Orleans a distribuční střediska v Denveru a Miami. Kapacity výrobních závodů pro plánované období jsou po řadě 1000, 1500 a 1200 ks aut, poptávka středisek je 2300 a 1400 ks. Cena dopravy 1 auta na jednu míli je 8 centů (cent je setina dolaru). Určete optimální rozdělení dopravy od výrobců ke spotřebitelským místům. Vzdálenosti mezi místy (v mílích) jsou uvedeny v tabulce: Denver Miami Los Angeles 1000 2690 Detroit 1250 1350 New Orleans 1275 850 Řešení. a) Cenu dopravy cij jednoho auta z místa výroby do spotřebitelského střediska lze určit vynásobením vzdálenosti míst číslem 0,08, což je cena za 1 kus. Nyní všechny informace sestavíme do přehledné tabulky, ze které budeme při řešení vycházet (ceny cij jsou uváděny v pravém horním rohu jednotlivých polí): Denver Miami Los Angeles 80 215 1000 Detroit 100 108 1500 New Orleans 102 68 1200 2300 1400 1000+1500+1200 = 2300+1400 ⇒ jedná se už o vyváženou úlohu, protože kapacity výrobců jsou stejné jako požadavky odběratelů. U této úlohy můžeme tedy spustit řešící algoritmus. b) Pokud by kapacita výroby v Detroitu nebyla 1500, ale 1300, museli bychom dopravní úlohu nejprve vyvážit; protože kapacita výroby by nebyla dostačující, zavedli bychom fiktivního výrobce: Pravděpodobnost, statistika a operační výzkum 127 Denver Miami Los Angeles 80 215 1000 Detroit 100 108 1500 New Orleans 102 68 1200 Fiction 0 0 200 2300 1400 Ceny dopravy od fiktivního výrobce zvolíme rovny 0, protože fiktivní výrobce je nenáročný. Nyní už „celková kapacita výroby = celková poptávka , čili úloha je vyvážena a připravena k tomu, aby na ni byl vypuštěn řešící algoritmus. c) Naopak, pokud by kapacita výroby byla větší než poptávka, úlohu bychom vyvážili zavedením fiktivního spotřebitele. Například při poptávce Denveru 1900 místo 2300 ks bychom zavedli fiktivního spotřebitele s poptávkou 400 ks: Denver Miami Al Capone Los Angeles 80 215 0 1000 Detroit 100 108 0 1500 New Orleans 102 68 0 1200 1900 1400 400 Kdybychom chtěli, aby např. Detroit navzdory menší poptávce vyvezl všechna vyrobená auta, místo 0 bychom cenu c23 dopravy z Detroitu fiktivnímu odběrateli zvolili kladnou a dostatečně velkou, a tím by se zaručilo, že v optimálním řešení x23 = 0. Řešení úloh a), b), c) zde nebudeme uvádět. Místo toho si řekneme další dva příklady formulace dopravního modelu, a až poté uvedeme algoritmus řešení dopravních úloh. Příklad 9.2 Model dopravy většího počtu typů výrobků: Společnost MG vyrábí čtyři různé typy aut (M1, M2, M3, M4). Kapacity jednotlivých závodů a požadavky distribučních center jsou uvedeny v tabulkách: 128 Fakulta elektrotechniky a komunikačních technologií VUT v Brně závod vyrábí M1 M2 M3 M4 celkem Los Angeles – – 700 300 1000 Detroit 500 600 – 400 1500 New Orleans 800 400 – – 1200 požadavek distribučního střediska M1 M2 M3 M4 celkem Denver 700 500 500 600 2300 Miami 600 500 200 100 1400 Vzdálenosti mezi městy jsou uvedeny v př.9.1, jednotkové ceny dopravy jsou stejné pro všechny typy aut. Určete optimální rozdělení dopravy. Matematická formulace úlohy: Každý ze závodů rozdělíme na tolik podzávodů, kolik typů auta daný závod vyrábí. A podobně každé distribuční centrum rozdělíme na čtyři podcentra. Odpovídající grafová reprezentace úlohy:                               → → → → → → → → → → → → → → → $$$$$$$$$$$$$$X$$$$$$$$$$$$$$X$$$$$$$$$$$$$$X ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ((   ¨¨¨ ¨¨¨ ¨¨¨ ¨¨¨ ¨¨B ¨ ¨¨¨ ¨¨¨ ¨¨¨ ¨¨¨¨B t t t t t t t t t t t t t t t t t t t tt” t t t t t t t t t t t t t t t t t t t tt” rrr rrr rrr rrr rrj rr rrr rrr rrr rrrj rrr rrr rrr rrr rrj rr rrr rrr rrr rrrj             ~ Los Angeles    700 300 Detroit    500 600 400 New Orleans    800 400 Denver 700 500 500 600    Miami 600 500 200 100    M3 M4 M1 M2 M4 M1 M2 M1 M2 M3 M4 M1 M2 M3 M4 Pravděpodobnost, statistika a operační výzkum 129 Přípravou pro řešení je tabulka dopravní úlohy. Ceny cij těch tras, které nemá smysl realizovat, položíme rovny velkému číslu M. Dopravní tabulka má pak tvar Los Angeles    M3 M4 Detroit    M1 M2 M4 New Orleans    M1 M2 Denver Miami M1 M2 M3 M4 M1 M2 M3 M4 M M 80 M M M 215 M 700 M M M 80 M M M 215 300 100 M M M 108 M M M 500 M 100 M M M 108 M M 600 M M M 100 M M M 108 400 102 M M M 68 M M M 800 M 102 M M M 68 M M 400 700 500 500 600 600 500 200 100 Úloha je vyvážená, dopravní tabulka je připravena pro vypuštění řešícího algoritmu. Příklad 9.3 Plánování výroby: Společnost potřebuje vyrobit (= má poptávku) během 1.měsíce 100 ks výrobku 2.měsíce 200 3.měsíce 180 4.měsíce 300 Poptávka v aktuálním měsíci může být pokryta a) nadbytkem výroby v předchozím měsíci b) výrobou v aktuálním měsíci c) předem objednanou výrobou v následujícím měsíci. Výrobní cena je 4 dolary za kus, cena skladování 0,5 dolaru za kus a měsíc, penalizační poplatek za výrobek objednaný předem je 2 dolary za kus a měsíc. Výrobní kapacita je 130 Fakulta elektrotechniky a komunikačních technologií VUT v Brně omezena jinými vyráběnými výrobky a je 50 ks v 1.měsíci 180 ks ve 2.měsíci 280 ks ve 3.měsíci 270 ks ve 4.měsíci. Vytvořte plán výroby na následující 4 měsíce, který minimalizuje celkovou cenu nákladů. Matematická formulace úlohy: Matematická formulace úlohy je stejná jako u dopravního problému. Analogie mezi oběma úlohami jsou: dopravní problém plán výroby i . . . zdroj i . . . výrobní období j . . . spotřebitel j . . . poptávkové období ai . . . kapacita zdroje i ai . . . výrobní kapacita období i bj . . . poptávka spotřebitele j bj . . . poptávka v období j cij =    výrobní cena v období i, při i = j výrobní cena v i + cena skladování od i do j, při i < j výrobní cena v i + penalizační cena od j do i, při i > j Při těchto analogiích lze problém sestavit do dopravní tabulky: období období 1 2 3 4 1 4 4,5 5 5,5 50 2 6 4 4,5 5 180 3 8 6 4 4,5 280 4 10 8 6 4 270 100 200 180 300 Tedy i tuto a podobné úlohy, které přímo nesouvisí s dopravní tematikou, lze řešit dopravním algoritmem. 9.1 Řešení dopravního problému A. Počáteční krok V počátečním kroku nalezneme nějaké přípustné rozdělení dopravy, které nemusí být nutně optimálním (v optimalizačním kroku je pak případně vylepšíme). Existuje více metod pro nalezení počátečního rozdělení, ukážeme si tři z nich. Pravděpodobnost, statistika a operační výzkum 131 a) Metoda severozápadního rohu (SZR) 1) Proměnné x11 (která se nachází v severozápadním rohu tabulky) přiřadíme maximální možnou hodnotu dopravovaných jednotek. Protože tedy x11 je maximální možné, vyčerpá se tím kapacita výroby prvního výrobce (nebo poptávka prvního spotřebitele), takže ve zbylých polích prvního řádku (resp. prvního sloupce) umístíme pomlčky naznačující, že se zde žádné jednotky dopravovat nebudou. 2) Pokračujeme přiřazením maximální možné hodnoty do pole x21 při vyčerpání řádku 1 v kroku 1 (resp. do pole x12 při vyčerpání prvního sloupce v kroku 1). Zkrátka a dobře – další vyplňované pole je vždy směrem na východ nebo na jih podle toho, zda byl v předchozím kroku vyčerpán sloupec nebo řádek. 3) Krok 2 opakujeme tak dlouho, dokud se nedostaneme do pravého dolního (= jihovýchodního) pole tabulky. U vyvážené úlohy tím docílíme toho, že rozdělení jednotek dopravy bude splňovat požadavky na kapacity ve všech řádcích i sloupcích. Příklad 9.4 Tuto i další metody objasníme na následující tabulkové formulaci dopravní úlohy: S1 S2 S3 S4 V1 10 0 20 11 15 V2 12 7 9 20 25 V3 0 14 16 18 5 5 15 15 10 Řešení. Pro počáteční rozdělení úlohy se třemi výrobci a čtyřmi spotřebiteli užijeme metodu severozápadního rohu: x11 = 5, což je poptávka v celém prvním sloupci, čili do polí s indexy (2, 1) a (3, 1) umístíme pomlčku a posuneme se směrem na východ, do pole (1, 2). Kapacita ve 2. sloupci je 15, ovšem hodnotu 15 do pole (1, 2) přiřadit nemůžeme, protože by se překročil součet 15 (= kapacita 1. výrobce) v 1. řádku: x12 = 10, a tím se vyčerpala kapacita výrobce V1, protože x11 + x12 = 5 + 10 = 15. Čili do polí (1,3) a (1,4) můžeme umístit pomlčku. A posuneme se směrem na jih – do pole (2,2), atd. až dostaneme výsledné vstupní rozdělení získané metodou SZR, uvedené v následující tabulce: 132 Fakulta elektrotechniky a komunikačních technologií VUT v Brně c c E E E S1 S2 S3 S4 V1 10 5 0 10 20 − 11 − 15 V2 12 − 7 5 9 15 20 5 25 V3 0 − 14 − 16 − 18 5 5 5 15 15 10 Celková cena dopravy při tomto rozdělení je 5 · 10 + 10 · 0 + 5 · 7 + 15 · 9 + 5 · 20 + 5 · 18 = 410 peněžních jednotek. Všimněme si důležité skutečnosti, že při m řádcích a n sloupcích dopravní tabulky má přiřazení dopravy tu vlastnost, že pomlčka není umístěna v (m + n − 1) polích. Tento fakt musí platit pro počáteční rozdělení, i pro každý optimalizační krok. Při metodě SZR je platnost tohoto faktu ohrožena v situaci, kdy při jistém opakování kroku 2 proměnná xij vyčerpá kapacitu v řádku i i sloupci j současně – v takové situaci nemůžeme umístit pomlčky do zbylých polí v řádku i i sloupci j, protože nepomlčkových polí by bylo málo (méně než m+n−1). Proto např. umístíme pomlčky jen do řádku i. Dále přiřadíme xi+1,j = 0, a do zbylých polí sloupce j už můžeme umístit pomlčku. Chtěl bych upozornit na to, že je velký rozdíl v tom, zda je v určitém poli hodnota 0, nebo pomlčka. Tento rozdíl bude patrný v optimalizačním kroku, ale už nyní můžeme prozradit, že pomlčkové pole označuje nebázickou proměnnou, pole s hodnotou 0 označuje bázickou proměnnou s hodnotou 0 (čili jedná se o tzv. degenerované řešení, co se týká analogie mezi tímto algoritmem a simplexovou metodou). A protože při optimalizačním kroku musíme vědět, které proměnné jsou bázické a které ne, je třeba dobře rozlišovat mezi nulou a pomlčkou. Příklad 9.5 Příklad degenerovaného počátečního rozdělení v dopravní úloze při metodě SZR: c c E E S1 S2 S3 V1 0 5 2 − 1 − 5 V2 2 0 1 5 5 5 10 V3 2 − 4 − 3 5 5 5 5 10 Nepomlčková pole označují hodnoty bázických proměnných. Pravděpodobnost, statistika a operační výzkum 133 b) Indexová metoda (IM) Tato metoda začíná přiřazením maximální možné hodnoty proměnné s ohledem na kapacity v poli s minimální cenou cij jednotkové dopravy (čísla v polích vpravo nahoře). Pak umístíme pomlčky v polích vyčerpaného řádku (nebo sloupce) a pokračujeme s přiřazováním v poli s cenou minimální ze všech polí zbývajících. Problém degenerace, kdy vyplnění proměnné xij vyčerpá řádek i sloupec současně, musíme opět řešit citlivě – umístíme pomlčky jen ve zbývajících polích řádku i a do některého dalšího pole ve sloupci j přiřadíme 0. Teprve pak sloupec j doplníme pomlčkami. Ad Příklad 9.4. Připomeňme si tabulkovou formulaci dopravní úlohy S1 S2 S3 S4 V1 10 0 20 11 15 V2 12 7 9 20 25 V3 0 14 16 18 5 5 15 15 10 Minimální jednotkové ceny jsou c12 = 0 = c31. Volíme např. pole (1,2) a přiřadíme maximální možný počet jednotek s ohledem na kapacity v řádku i sloupci: x12 = 15. Tím se vyčerpá řádek i sloupec, tj. bude se jednat o degenerované řešení. Do prvního řádku ve zbylých polích umístíme pomlčky, ve druhém sloupci musíme vyplnit jednu nulu, např. x22 = 0, abychom zaručili dostatečný počet bázických (= nepomlčkových) polí, a do zbylého pole (3,2) můžeme umístit pomlčku. S1 S2 S3 S4 V1 10 − 0 15 20 − 11 − 15 V2 12 7 0 9 20 25 V3 0 14 − 16 18 5 5 15 15 10 Další minimální zatím nevyplněné pole je určeno cenou c31 = 0. Vyplníme maximálně, tj. x31 = 5, což opět vyčerpá kapacitu současně třetího řádku i prvního sloupce, tj. třetí řádek doplníme pomlčkami a v prvním sloupci musíme přidat jednu nulu: x21 = 0. 134 Fakulta elektrotechniky a komunikačních technologií VUT v Brně S1 S2 S3 S4 V1 10 − 0 15 20 − 11 − 15 V2 12 0 7 0 9 20 25 V3 0 5 14 − 16 − 18 − 5 5 15 15 10 Zbývá dokončit vyplnění posledního řádku, kde jsou hodnoty proměnných jednoznačně určeny (protože se jedná o vyváženou úlohu): x23 = 15, x24 = 10. Výsledné počáteční rozdělení dopravy má tedy tvar: S1 S2 S3 S4 V1 10 − 0 15 20 − 11 − 15 V2 12 0 7 0 9 15 20 10 25 V3 0 5 14 − 16 − 18 − 5 5 15 15 10 Celková cena dopravy v tomto případě je 10 · 20 + 15 · 9 = 335 finančních jednotek. Je pochopitelné, že počáteční rozdělení dopravy provedené indexovou metodou bude mít zpravidla vždy nižší celkovou cenu dopravy, protože metoda SZR vůbec nebrala ohled na ceny cij. A následující metoda by obecně měla být ještě lepší než indexová. c) Vogelova aproximační metoda (VAM) Tato metoda nejenže začíná vyplňovat pole s minimální cenou, ale navíc přidává kritérium, že ze všech polí s malými cenami začne tím polem, které splňuje navíc tzv. penalizační podmínku (a je jistým způsobem nejvhodnější ze vhodných). Postup: 1) Vypočteme pro každý řádek i sloupec tzv. penalizaci, která je rovna rozdílu „(druhá nejmenší cena) minus (nejmenší cena) . 2) Zvolíme řádek nebo sloupec s největší penalizací, vybereme zde pole s minimální cenou cij a vyplníme maximální možnou hodnotu xij. Dále doplníme pomlčky do vyčerpaného řádku nebo sloupce. Pokud vyplnění xij vyčerpá kapacitu řádku i sloupce současně, musíme vyplnit zbylá pole pomlčkami jen například v daném řádku, ve sloupci musíme umístit do jednoho pole 0 a až Pravděpodobnost, statistika a operační výzkum 135 do zbylých pomlčky; zkrátka a dobře, pokud vyplnění jisté proměnné vyčerpá řádek i sloupec současně a hodnoty některých polí v tabulce v příslušném řádku nebo sloupci ještě nejsou vyplněny, vždy se musí do některého pole v tom řádku nebo v tom sloupci doplnit jedna 0. 3) Kroky 1 a 2 opakujeme tak dlouho, až v tabulce zbude pouze jeden řádek nebo sloupec, kterého vyplnění je jednoznačně dáno. Přitom při výpočtu penalizací už nebereme v úvahu ceny v polích, kde už je vyplněna hodnota nebo pomlčka. Ad Příklad 9.4. Penalizace určíme jako rozdíl dvou nejnižších cen v daném řádku nebo sloupci: S1 S2 S3 S4 V1 10 − 0 20 11 10 V2 12 0 7 9 20 2 V3 0 5 14 − 16 − 18 − 14 10 7 7 7 Maximální penalizace 14 určuje třetí řádek, ve kterém vyplníme co největší hodnotu s ohledem na kapacity (ty zde teď nejsou napsány, ale jsou uvedeny na předchozí straně): x31 = 5, což vyčerpá kapacitu řádku i sloupce současně, čili např. přiřadíme x21 = 0 a zbylá pole v 1.sloupci a 3.řádku vyplníme pomlčkami. Pokračujeme dalším krokem, čili znovu přepočteme penalizace řádků a sloupců, přičemž ve třetím řádku a prvním sloupci to už nemá smysl, a ani pro ostatní řádky a sloupce ceny z těchto vyplněných polí už nebudeme uvažovat: S1 S2 S3 S4 V1 10 − 0 20 − 11 11 V2 12 0 7 9 15 20 2 V3 0 5 14 − 16 − 18 − 7 11 9 Dvě z penalizací jsou rovny 11, zvolme jednu z nich, například tu která určuje třetí sloupec. Ve třetím sloupci vybereme minimální c23 = 9 a přiřadíme maximálně: x23 = 15. Tím se vyčerpá kapacita sloupce, do posledního pole ve 3.sloupci, které zbývá vyplnit, píšeme pomlčku. V další fázi jsou už penalizace celkem jednoznačné (vždy rozdíly dvou cen nevyplněných polí v daném řádku či sloupci): 136 Fakulta elektrotechniky a komunikačních technologií VUT v Brně S1 S2 S3 S4 V1 10 − 0 20 − 11 11 V2 12 0 7 10 9 15 20 − 13 V3 0 5 14 − 16 − 18 − 7 9 Maximální penalizaci určuje druhý řádek, vybereme v něm dosud nevyplněné pole s minimální cij: x22 = 10, tím je vyčerpána kapacita druhého řádku. Nyní zbývá k vyplnění už jen poslední řádek, kterým je pozičně první řádek – doplníme vzhledem k požadavkům kapacit jednoznačně určené hodnoty x12 = 5, x14 = 10. S1 S2 S3 S4 V1 10 − 0 5 20 − 11 10 V2 12 0 7 10 9 15 20 − V3 0 5 14 − 16 − 18 − Celková cena dopravy je 5 · 0 + 10 · 11 + 0 · 12 + 10 · 7 + 15 · 9 + 5 · 0 = 315 finančních jednotek, což je ještě lepší výsledek než počáteční rozdělení získané metodou indexovou. Počáteční rozdělení nalezené pomocí VAM je už dost dobré, ale stále to nemusí být řešení nejlepší. Takové algoritmy, které sice nenaleznou optimální, ale jakési dost dobré řešení, nazýváme heuristikami. Ukázali jsme si tedy tři metody, které naleznou počáteční rozdělení dopravy v dopravní úloze. Čtenář tohoto textu by si možná mohl položit otázku, zda je nutné tolik metod a zda nestačí hodnoty do tabulky pro začátek jakýmkoliv způsobem, který vyhovuje kapacitním požadavkům řádků a sloupců. Odpovím na tuto otázku, i když si ji čtenář zrovna nepokládá: Ne každé rozdělení dopravy je povoleným počátečním rozdělením – zakázána jsou rozdělení, která obsahují tzv. uzavřený okruh, což je pravoúhelník s hranami vodorovnými či svislými a s vrcholy v nepomlčkových polích. Pravděpodobnost, statistika a operační výzkum 137 Ad Příklad 9.4. Např. rozdělení − 5 10 − − 10 5 10 5 − − − uzavřeným okruhem je zde čtverec (1,2)– (1,3)–(2,3)–(2,2) nebo rozdělení 0 − 15 − − 15 − 10 5 − 0 − uzavřeným okruhem je zde čtverec (1,1)– (1,3)–(3,3)–(3,1) není povoleným počátečním rozdělením. Tedy počáteční rozdělení dopravy lze provést i jiným způsobem než uvedenými metodami, ale takovému vyplnění nepomlčkových polí, které vytváří vrcholy uzavřeného okruhu, se musíme vyvarovat (na vrcholy uzavřeného okruhu nemusí být využita všechna nepomlčková pole). Metody a), b), c) jsou konstruovány tak, aby při jejich použití uzavřený okruh pomocí nepomlčkových polí nevznikl. B. Optimalizační krok Tento krok vysvětlíme na příkladě 9.4 – vezmeme počáteční rozdělení dopravy získané metodou SZR a budeme je dále zlepšovat. Protože se jedná o úlohu lineárního programování, optimalizační krok sestává ze tří částí: a) určení vstupní proměnné (= vstupního pole) ze všech nebázických (= pomlčkových polí) b) určení výstupní proměnné (= výstupního pole, které se stane v dalším optimalizačním kroku pomlčkovým) c) provedení optimalizačního kroku (= přepočítání nového bázického řešení) Optimalizační krok č.1: a) určení vstupní proměnné: Nejprve pro dané rozdělení dopravy přiřadíme každému řádku i každému sloupci tzv. multiplikátory ui, vj, které jsou řešením systému rovnic ui + vj = cij 138 Fakulta elektrotechniky a komunikačních technologií VUT v Brně pro nepomlčková pole: v1 = v2 = v3 = v4 = u1 = 0 10 5 0 10 20 − 11 − u2 = 12 − 7 5 9 15 20 5 u3 = 0 − 14 − 16 − 18 5 Důležité upozornění: 1) pravé strany rovnic jsou tvořeny cenami cij v pravém horním rohu, nikoli počtem jednotek uprostřed pole 2) neznámých je o jednu více než rovnic. Protože nám stačí najít jedno z těch nekonečně mnoha řešení, jednu neznámou můžeme zvolit. Zpravidla volíme u1 = 0. Nyní pro pole (1, 1) platí u1 + v1 = 10 ⇒ v1 = 10 (protože u1 = 0). Pokračujeme dalším nepomlčkovým polem (1, 2): u1 + v2 = 0 ⇒ v2 = 0. Dále pole (2, 2): u2 + v2 = 7 ⇒ u2 = 7 (protože v2 = 0). Dále (2, 3): u2 + v3 = 9 ⇒ v3 = 2 (protože u2 = 7). Pole (2, 4): u2 + v4 = 20 ⇒ v4 = 14. A konečně pole (3, 4): u3 + v4 = 18 ⇒ u3 = 4. A tím jsou všechna nepomlčková pole vyčerpána. Z popsaného řešení je vidět, že rovnice řešíme v takovém pořadí, že při řešení dané rovnice už hodnotu jedné neznámé známe – pak druhou neznámou můžeme lehce dopočítat. Tohle jsme prováděli pouze pro pole, ve kterých se nevyskytuje pomlčka! Nyní po určení multiplikátorů pokročíme k pomlčkovým polím a určíme pro ně jakési přepočtené ceny cpq ze vztahu cpq = up + vq − cpq (pouze pro pomlčková pole!). Pomocné ceny cpq v pomlčkových polích budeme psát například vlevo dole (výpočet je přirozený: ui v příslušném řádku plus vj v příslušném sloupci minus cena cij), Pravděpodobnost, statistika a operační výzkum 139 tedy c13 = u1 + v3 − c13 = 0 + 2 − 20 = −18, atd. v1 = 10 v2 = 0 v3 = 2 v4 = 14 u1 = 0 10 5 0 10 20 − -18 11 − 3 u2 = 7 12 − 5 7 5 9 15 20 5 u3 = 4 0 − 14 14 − -10 16 − 0 18 5 A nyní tedy konečně určení vstupního pole: za vstupní proměnnou vezmeme tu na pozici s maximální kladnou cenou cpq (podobně jako při minimalizaci v jakékoli jiné úloze LP). Pokud jsou všechny cpq ≤ 0, dané rozdělení dopravy je optimální. V našem případě max cpq = 14 na pozici (3, 1) . . . máme určeno vstupní pole. b) určení výstupního pole: Uvažujme teď bázická (=nepomlčková) pole společně s dodávaným polem (3, 1). Bázická pole jsou maximální množinou polí, která nevytváří (neobsahují) uzavřený okruh. Dodáním vstupního pole do této množiny se v této množině uzavřený okruh už vytvoří – a sice vždy právě jeden! V našem případě dodáním pozice (3, 1) do množiny {(1, 1), (1, 2), (2, 2), (2, 3), (2, 4), (3, 4)} vznikne uzavřený okruh (3, 1) − (1, 1) − (1, 2) − (2, 2) − (2, 4) − (3, 4) (pozici (2, 3) neuvažujeme, protože pole (2, 3) není vrcholem daného okruhu). 5 j− 10 j+ 5 j− 5 j+ j+ 5 j− Vstupní pole nyní vždy označíme znakem +j, sousední vrcholy vstupního pole označme −j, sousední pole polí −joznačme +j. Zkrátka a dobře, při postupném procházení vrcholů uzavřeného okruhu se střídají znaménka. Jaký význam udávají znaménka +, −? Přičteme-li do polí označených +jurčitý počet jednotek dopravy a odečteme-li z polí −jtutéž hodnotu, příslušné kapacity výrobců a spotřebitelů ve všech řádcích i sloupcích zůstanou v platnosti (protože v každém řádku nebo sloupci je vždy jedno pole +ja jedno pole −).j Nyní tedy určení výstupního pole: za výstupní pole vybereme to z polí −j, které obsahuje minimální počet jednotek dopravy. Pokud je těchto minimálních hodnot více (jako v našem příkladu, kdy všechna pole −jobsahují stejnou minimální hodnotu 5), vybereme jedno z nich. Zvolme tedy za výstupní např. pole (3,4). c) provedení optimalizačního kroku: Byla-li záměna bázické proměnné v případě obecné úlohy LP početně nejsložitější, u dopravní úlohy se pro změnu jedná o nejjednodušší část optimalizačního kroku: do polí +jpřičteme hodnotu z výstupního 140 Fakulta elektrotechniky a komunikačních technologií VUT v Brně pole, z polí −jji odečteme. Ostatní pole zůstanou nezměněna. Přitom ve výstupním poli se objeví pomlčka. Pokud by se stalo (jako je tomu v našem příkladě), že výstupní pole nebylo určeno jednoznačně, i tak napíšeme pomlčku pouze na pozici (3, 4), do pozic (1, 1) a (2, 2) musíme napsat 0. Zkrátka a dobře, nepomlčkových (=bázických) polí musí být vždy m + n − 1 (tedy v našem případě 6). Už víme, proč to je důležité: nepomlčková hodnota jednotek dopravy (tedy i 0) označuje pole sloužící k určení multiplikátorů ui, vj, kdežto pomlčka označuje pole sloužící k výpočtu pomocné ceny cpq. Dostáváme tedy rozdělení dopravy 10 0 0 15 20 − 11 − 12 − 7 0 9 15 20 10 0 5 14 − 16 − 18 − Optimalizační krok č.2: a) určení vstupního pole: Musíme znovu přepočítat multiplikátory ui, vj, protože některé z nich budou jiné díky změně nepomlčkových pozic. Volíme u1 = 0 a další neznámé dopisujeme do tabulky ve vhodném pořadí pomocí nepomlčkových polí: v1 = 10 v2 = 0 v3 = 2 v4 = 13 u1 = 0 10 0 0 15 20 − -18 11 − 2 u2 = 7 12 − 5 7 0 9 15 20 10 u3 = −10 0 5 14 − -24 16 − -24 18 − -15 Nyní do téže tabulky (v rámci urychlení času) vpisujeme do pomlčkových polí pomocné ceny cpq (vlevo dole). Protože max cpq = 5 ⇒ vstupní pole je (2, 1). b) určení výstupního pole: Uzavřený okruh vzniklý po dodání vstupního pole k bázickým je 0 j− 15 j+ 0 j−j+ Pravděpodobnost, statistika a operační výzkum 141 Obě pole −jobsahují stejnou minimální hodnotu min xij pole -h = 0 ⇒ výstupní pole opět není určeno jednoznačně, volíme např. (1, 1). c) provedení optimalizačního kroku: Jedinou změnou v tomto kroku je, že pomlčka a nula v polích (1, 1) a (2, 1) se vyměnily – ale to, jak víme, je změna podstatná. 10 − 0 15 20 − 11 − 12 0 7 0 9 15 20 10 0 5 14 − 16 − 18 − Optimalizační krok č.3: a) určení vstupního pole: Pomocí nepomlčkových polí určíme ui, vj. Pak v pomlčkových polích určíme pomocné ceny cpq (vlevo dole). v1 = 5 v2 = 0 v3 = 2 v4 = 13 u1 = 0 10 − -5 0 15 20 − -18 11 − 2 u2 = 7 12 0 7 0 9 15 20 10 u3 = −5 0 5 14 − -19 16 − -19 18 − -10 max cpq = 2 ⇒ vstupní pole je (1, 4). b) určení výstupního pole: Vzniklý uzavřený okruh je 15 j− j+ 10 j−0 j+ tedy min xij pole -h = 10 ⇒ (2, 4) je výstupní pole. 142 Fakulta elektrotechniky a komunikačních technologií VUT v Brně c) provedení optimalizačního kroku: Hodnotu 10 odečteme z polí −ja přičteme do polí +j: 10 − 0 5 20 − 11 10 12 0 7 10 9 15 20 − 0 5 14 − 16 − 18 − Optimalizační krok č.4: Pro vzniklé rozdělení dopravy vypočteme ui, vj a ceny cpq : v1 = 5 v2 = 0 v3 = 2 v4 = 11 u1 = 0 10 − -5 0 5 20 − -18 11 10 u2 = 7 12 0 7 10 9 15 20 − -2 u3 = −5 0 5 14 − -19 16 − -19 18 − -12 Protože všechny cpq < 0, dané rozdělení dopravy je optimální. Co k tomu dodat? Snad jakési vysvětlení celého algoritmu: ui, vj jsou vlastně duální proměnné k dopravní úloze, ui + vj ≤ cij jsou duální omezení, ve kterých pro bázické proměnné musí nastat rovnost (ui + vj = cij). A cpq jsou koeficienty účelové funkce nebázických proměnných v k-tém kroku (proto cpq = up + vq − cpq). 9.2 Přiřazovací úloha Do logického sledu výkladu patří následující úloha, kteráž slove přiřazovací: Jak přiřadit m úkolů (dělníků, pracovníků) k n strojům, aby celková cena nákladů byla minimální (resp. celkový užitek byl maximální)? Tato úloha je úlohou LP, protože ji lze formulovat následovně: Nalezněte minimum funkce z = n i=1 n j=1 cijxij, kde cij je cena přiřazení úlohy i ke stroji j za omezení i xij = 1 j xij = 1    pro i, j = 1, 2, . . . , n, Pravděpodobnost, statistika a operační výzkum 143 přičemž xij může nabývat hodnoty 0 (i-tý úkol není přiřazen j-tému stroji) nebo 1 (i-tý úkol je přiřazen j-tému stroji). Je to vlastně úloha binárního programování. Ba co víc, jedná se i o dopravní problém, kde výrobce představují úkoly a spotřebitele představují stroje: úkoly stroje 1 2 . . . n 1 c11 c12 . . . c1n 1 2 c21 c22 . . . c2n 1 ... ... ... m cm1 cm2 . . . cmn 1 1 1 . . . 1 Kapacity úkolů a požadavky strojů jsou rovny 1. Dopravní úlohu lze řešit po vyvážení (zaručení toho, že platí m = n). Příklad 9.6 Následující přiřazení pro m = n = 3 bylo získáno metodou SZR: úkoly stroje 1 2 3 1 5 1 7 0 9 − 1 2 14 − 10 1 12 0 1 3 15 − 13 − 16 1 1 1 1 1 (řešení přiřazení je degenerované v každém optimalizačním kroku). Zvláštní struktura přiřazovacího modelu ovšem dovoluje vyvinout rychlejší metodu, než je algoritmus dopravní úlohy. Využijeme následujícího faktu: Pokud k řádku nebo sloupci matice (cij) je přičtena konstanta, bod optima se nemění, jen se o konstantu změní hodnota účelové funkce. [Důkaz: pokud od i-tého řádku odečteme konstantu pi j-tého sloupce odečteme konstantu qj, 144 Fakulta elektrotechniky a komunikačních technologií VUT v Brně dostaneme nový cenový koeficient cij = cij − pi − qj, a pak z = n i=1 n j=1 cijxij = n i=1 n j=1 (cij − pi − qj)xij = z − n i=1 pi n j=1 xij 1 − n j=1 qj n i=1 xij 1 = z − konst.] Vytvoříme tedy algoritmus pro případ minimalizace nákladů přiřazení. Hlavní myšlenkou algoritmu je: Pokud můžeme v matici (cij) vyrobit tolik nul, že z nich lze vybrat bázi, je tato báze optimální bod, protože cena z je nulová (a záporná být nemůže). Ad Příklad 9.6. Připomeňme si tabulkovou formulaci úlohy 5 7 9 14 10 12 15 13 16 Od každého řádku odečteme minimální cenu: p1 = 5 p2 = 10 p3 = 13. Získáme matici: 0 2 4 4 0 2 2 0 3 Odečteme ještě od každého sloupce minimální cenu v tomto sloupci: q1 = 0 q2 = 0 q3 = 2. Vznikla matice (cij): Pravděpodobnost, statistika a operační výzkum 145 0 1 2 2 4 0 0 1 2 0 1 1 Ze čtyř polí oceněných nulou nyní lze vybrat bázické pozice – je to možné jediným způsobem. Tento úkol je analogický úkolu najít na šachovnici 3 × 3 z jistých pozic takovou kombinaci rozestavění věží tak, aby jedna druhou navzájem neohrožovaly. Tedy x11 = x23 = x32 = 1, ostatní xij = 0. Všimněme si také, že z = p1 +p2 +p3 +q3 = 30. Někdy ovšem pouhé odečítání konstanty od řádku nebo sloupce k nalezení optima nevede a je nutno provést optimalizační krok. To vysvětlíme následujícím příkladem. Příklad 9.7 Úloha je dána následující tabulkou: úkoly stroje 1 2 3 4 1 1 4 6 3 p1 = 1 2 9 7 10 9 p2 = 7 3 4 5 11 7 p3 = 4 4 8 7 8 5 p4 = 5 Po odečtení konstant od řádků dostáváme tabulku: 0 3 5 2 2 0 3 2 0 1 7 3 3 2 3 0 q3 = 3 146 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Po odečtení konstant i od sloupců nastává situace, kdy nelze z polí ohodnocených nulou vybrat bázi: 0 3m 2m 2m 2 0 0 2 0 1m • 4m 3m 3 2 0 0 Musíme provést optimalizační krok: Co nejmenším počtem vodorovných a svislých přímek vyškrtáme všechna pole ohodnocená nulou. Pak ze všech nepřeškrtnutých polí vybereme nejmenší cenu, kterou odečteme ode všech nepřeškrtnutých polí a přičteme k ceně v průsečících „škrtacích přímek. V našem případě je minimální cena v nepřeškrtnutých polích rovna 1; provedením změn optimalizačního kroku získáváme cenové ohodnocení, ve kterém už lze nalézt optimum x11 = x23 = x32 = x44 = 1. V opačném případě bychom museli pokračovat dalším optimalizačním krokem. 0 1 2 1 1 3 0 0 1 2 0 0 1 3 2 4 2 0 0 1 Pokud by cenové ohodnocení v přiřazovací úloze vyjadřovalo zisk nebo obrat a naším úkolem by bylo najít maximum přiřazení, odečtením všech cen od maximální ceny v tabulce bychom získali jakési ohodnocení popsané cenovými zbytky (rozdíly) nij, na které pak už lze nasadit právě popsaný algoritmus minimalizace. Převod původních cen na cenové zbytky: nij = max i,j {cij} − cij. Pravděpodobnost, statistika a operační výzkum 147 9.3 Problém překladu materiálu Jedná se o modifikaci dopravní úlohy, kdy se některým výrobkům v modelu povoluje procházet jiné zdroje a spotřebitele, než dorazí k tomu svému – každý uzel sítě může být současně zdrojem i spotřebitelem. Ad Příklad 9.1.a) Uvažujme zadání z příkladu 9.1.a); doplňme ještě požadavek, že každý zdroj i spotřebitel může být navíc ještě dopravním uzlem, tj. dostáváme překladový model pro 5 zdrojů a 5 spotřebitelů. Příslušná síťová formulace, kde B = m i=1 ai = n j=1 bj = 3700 označuje povolené množství překládaného materiálu, je tvaru:                     → → → −→ −→ → → → → → E E E E E $$$$$$$$$$$$$$X$$$$$$$$$$$$$$X$$$$$$$$$$$$$$X$$$$$$$$$$$$$$X ˆˆˆˆˆˆˆˆˆˆˆˆˆˆz ˆˆˆˆˆˆˆˆˆˆˆˆˆˆz ˆˆˆˆˆˆˆˆˆˆˆˆˆˆz ˆˆˆˆˆˆˆˆˆˆˆˆˆˆz ¨¨¨ ¨¨¨ ¨¨¨ ¨¨¨ ¨¨B ¨ ¨¨¨ ¨¨¨ ¨¨¨ ¨¨¨¨B ¨¨ ¨¨¨ ¨¨¨ ¨¨¨ ¨¨¨B r rrr rrrr rrr rrrj rrr rrr rrr rrr rrj r rrr rrrr rrr rrrj & & & & & & & & & & & & &&b & & & & & & & & & & & & &&b             ~             ~                            d d d d d d d d d d d d d d‚ 1 2 3 4 5 1 2 3 4 5 L.A. +1 000 Detroit +1 500 N.O. +1 200 Denver Miami . . . B . . . B . . . B . . . B . . . B B........... B........... B........... B B L.A. Detroit N.O. +2 300 ... Denver +1 400 ... Miami Některé jednotkové ceny jsou stejné jako v původní úloze; jednotková cena dopravy z místa do sebe sama je rovna nule. Cena z X do Y může být jiná než cena dopravy z Y do X (v opačném směru je použit jiný druh dopravy). Pro B = 3 700 je optimální řešení úlohy v tabulce: L.A. Detroit N.O. Denver Miami L.A. 0 3 700 130 − 90 − 80 1 000 215 − 4 700 Detroit 135 − 0 3 700 101 200 100 1 300 108 − 5 200 N.O. 95 − 105 − 0 3 500 102 68 1 400 4 900 Denver 79 − 99 − 110 − 0 3 700 205 3 700 Miami 200 − 107 − 72 − 205 − 0 3 700 3 700 3 700 3 700 3 700 6 000 5 100 148 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Toto řešení lze mimo hodnoty na hlavní diagonále znázornit i síťově:           → → → → → $$$$$$$$$$$$$$X $$$$$$$$$$$$$$X ˆˆˆˆˆˆˆˆˆˆˆˆˆˆz c 1 2 3 4 5 Los Angeles 1 000 Detroit 1 500 New Orleans 1 200 2 300 Denver 1 400 Miami 1 000 1 300 1 400 200. . . překladová operace Rozšiřme nyní příklad 9.1.a) o fakt, že spotřebitelé 4m , 5m ještě zboží rozváží pěti dealerům, tj. uzly 4m a 5m jsou jediné překladové uzly:                     → → → → → → → → $$$$$$$$$$$$$$X $$$$$$$$$$$$$$X & & & & & & & & & & & & &&b ˆˆˆˆˆˆˆˆˆˆˆˆˆˆz ˆˆˆˆˆˆˆˆˆˆˆˆˆˆz             ~ c T $$$$$$$$$$$$$$X $$$$$$$$$$$$$$X ˆˆˆˆˆˆˆˆˆˆˆˆˆˆz ˆˆˆˆˆˆˆˆˆˆˆˆˆˆz E E ¨¨¨ ¨¨¨ ¨¨¨ ¨¨¨ ¨¨B & & & & & & & & & & & & &&b r rrr rrr rrr rrrrj             ~ 10 9 8 7 61 2 3 4 5 1 000 1 500 1 200 650 1 000 750 500 800 závody distribuční střediska dealeři Není dovolena doprava ze závodů přímo k dealerům – vše se musí přepravit přes uzly 4m a 5m (B = 3 700 je přidáno pouze zdrojům a spotřebitelům 4m a 5m ). Pravděpodobnost, statistika a operační výzkum 149 Tabulková reprezentace dané úlohy: 4 5 6 7 8 9 10 1 M M M M M 1 000 2 M M M M M 1 500 3 M M M M M 1 200 4 3 700 5 3 700 3 700 3 700 800 500 750 1 000 650 Dostatečně velká konstanta M v příslušné tabulkové reprezentaci síťové úlohy zaručuje, že daná souřadnice nebude vybrána pro optimální rozdělení dopravy. Poněvadž je povolen překlad pouze v uzlech 4m a 5m , cesty zpět z uzlů 4m , 5m do 1m , 2m , 3m v tabulce neuvažujeme. Pokud bychom povolili překlad v bodech 1m až 5m , příslušná tabulková reprezentace už tyto cesty zpět musí zapracovat: 1 2 3 4 5 6 7 8 9 10 1 M M M M M 4 700 2 M M M M M 5 200 3 M M M M M 4 900 4 3 700 5 3 700 3 700 3 700 3 700 3 700 3 700 800 500 750 1 000 650 9.4 Shrnutí Úvodem kapitoly jsme formulovali zadání dopravní úlohy: rozhodněte o způsobu rozvozu jednoho typu výrobku (nebo suroviny) z m závodů do n spotřebitelských skladů tak, aby se minimalizovala celková cena dopravy, je-li dáno 150 Fakulta elektrotechniky a komunikačních technologií VUT v Brně cij . . . jednotková cena dopravy ze zdroje i na místo určení j, ai . . . množství zásob se zdroji i, i = 1, 2, . . . , m, bj . . . požadavek spotřebitele j, j = 1, 2, . . . , n. Výstupem úlohy jsou optimální hodnoty proměnných xij (= množství jednotek dopravovaných ze zdroje i ke spotřebiteli j) a celková cena dopravy m i=1 n j=1 cijxij. Model dopravní úlohy lze řešit až po eventuálním převedení na tzv. vyvážený tvar, kdy m i=1 ai = n j=1 bj, tj. nabídka = poptávka. Tohoto tvaru lze dosáhnout zavedením fiktivního výrobce nebo fiktivního spotřebitele. Cenu dopravy u fiktivních členů našeho systému položíme rovnu nule, případně volíme dostatečně velké kladné číslo (záleží na požadavcích úlohy). Dále jsme se zabývali již samotným řešením dopravního problému, které lze rozdělit do následujících fází: A. Počáteční krok: V počátečním kroku nalezneme nějaké přípustné rozdělení dopravy, které nemusí být nutně optimálním. Ukázali jsme si 3 metody pro nalezení počátečního rozdělení a) Metoda severozápadního rohu (SZR) Metoda přiděluje maximální možnou hodnotu dopravovaných jednotek do jednotlivých polí tak, že začne na pozici (1, 1) (severozápadní roh tabulky) a pokračuje jihovýchodním směrem. Do ostatních polí, kde je již hodnota přepravovaných jednotek vyčerpána, přiřadíme pomlčku. b) Indexová metoda (IM) Tato metoda začíná přiřazením maximální možné hodnoty proměnné s ohledem na kapacity v poli s minimální cenou cij jednotkové dopravy (čísla v polích vpravo nahoře). Pak umístíme pomlčky v polích vyčerpaného řádku (nebo sloupce) a pokračujeme s přiřazováním v poli s cenou minimální ze všech polí zbývajících. c) Vogelova aproximační metoda (VAM) Tato metoda nejenže začíná vyplňovat pole s minimální cenou, ale navíc přidává kritérium, že ze všech polí s malými cenami začne tím polem, které splňuje navíc tzv. penalizační podmínku. B. Optimalizační krok Protože se jedná o úlohu lineárního programování, optimalizační krok sestává ze tří částí: a) určení vstupní proměnné (= vstupního pole) ze všech nebázických (= pomlčkových polí) b) určení výstupní proměnné (= výstupního pole, které se stane v dalším optimalizačním kroku pomlčkovým) Pravděpodobnost, statistika a operační výzkum 151 c) provedení optimalizačního kroku (= přepočítání nového bázického řešení) Modifikací dopravního problému je tzv. přiřazovací úloha, jejíž formulace zní: Jak přiřadit m úkolů (dělníků, pracovníků) k n strojům, aby celková cena nákladů byla minimální (resp. celkový užitek byl maximální)? Tato úloha je úlohou LP, protože ji lze formulovat následovně: Nalezněte minimum funkce z = n i=1 n j=1 cijxij, kde cij je cena přiřazení úlohy i ke stroji j za omezení i xij = 1 j xij = 1    pro i, j = 1, 2, . . . , n, přičemž xij může nabývat hodnoty 0 (i-tý úkol není přiřazen j-tému stroji) nebo 1 (i-tý úkol je přiřazen j-tému stroji). Řešení tohoto problému je velmi podobné řešení dopravní úlohy a je demonstrováno na příkladě. Využívá se zde toho, že proměnná xij je binární. Další modifikací dopravní úlohy je tzv. problém překladu materiálu, kdy se některým výrobkům v modelu povoluje procházet jiné zdroje a spotřebitele, než dorazí k tomu svému – každý uzel sítě může být současně zdrojem i spotřebitelem. Při řešení je třeba uvědomit si správnou tabulkovou reprezentaci zadané úlohy. Algoritmus je pak stejný jako u dopravního problému. 9.5 Otázky k opakování U následujících výroků rozhodněte, zda se jedná o výrok pravdivý či nepravdivý. Otázka 9.1 Při řešení dopravního problému musíme úlohu upravit tak, aby byl stejný počet „zdrojů i „spotřebitelů , tj. m = n. Otázka 9.2 Při řešení dopravního problému můžeme přidávat fiktivní „zdroje nebo fiktivní „spotřebitele . Otázka 9.3 Při použití některé z metod SZR, IM nebo VAM nalezneme vždy přípustné řešení. Otázka 9.4 Metoda SZR může skončit v jakémkoliv rohu dopravní tabulky. Otázka 9.5 Metoda IM je zpravidla lepší než SZR, protože bere také ohled na ceny cij. Otázka 9.6 Při použití metody VAM nemůže nastat problém degenerovaného řešení. Otázka 9.7 Při použití metody SZR může vzniknout řešení, které obsahuje uzavřený okruh pomocí nepomlčkových polí. 152 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Otázka 9.8 Bázická pole mohou tvořit uzavřený okruh. Otázka 9.9 Bázických polí musí být vždy m + n. Otázka 9.10 Při řešení přiřazovacího problému musíme úlohu upravit tak, aby byl stejný počet „úkolů i „strojů , tj. m = n. Otázka 9.11 Dopravním algoritmem lze řešit pouze úlohy, které přímo souvisí s dopravní tematikou. Odpovědi na otázky viz 13.4. 9.6 Příklady ke cvičení Příklad 9.1 Najděte počáteční řešení v následující dopravní úloze a) metodou SZR b) indexovou metodou c) metodou VAM. Užitím nejlepšího počátečního řešení vypočtěte optimální řešení. S1 S2 S3 S4 V1 10 20 5 7 10 V2 13 9 12 8 20 V3 4 15 7 9 30 V4 14 7 1 0 40 V5 3 12 5 19 50 60 60 20 10 Příklad 9.2 Najděte počáteční řešení v následující dopravní úloze a) metodou SZR b) indexovou metodou c) metodou VAM. Pravděpodobnost, statistika a operační výzkum 153 Užitím nejlepšího počátečního řešení vypočtěte optimální řešení. S1 S2 S3 S4 V1 23 27 16 18 30 V2 12 17 20 51 40 V3 22 28 12 32 53 22 35 25 41 Příklad 9.3 Uvažujme dopravní úlohu pro případ tří výrobců a tří spotřebitelů: S1 S2 S3 V1 1 0 2 4 V2 3 5 4 6 V3 1 2 3 10 3 5 12 Čísla v 5.řádku jsou kapacity spotřebitelů, čísla v 5.sloupci tabulky kapacity výrobců, jinak jsou v tabulce uvedeny ceny dopravy. a) Metodou severozápadního rohu určete přípustnou vstupní verzi. b) Najděte optimální rozdělení dopravy dostatečným opakováním optimalizačního kroku. Příklad 9.4 Vyřešte následující přiřazovací úlohu, kde se mají optimálně přiřadit 4 operátoři ke 4 strojům. Přitom se požaduje, aby 1.operátor nebyl přidělen ke 3.stroji a 3.operátor nebyl přidělen ke 4.stroji. Tabulka udává ceny jednotlivých přiřazení, chceme minimalizovat celkovou cenu. Stroj 1 Stroj 2 Stroj 3 Stroj 4 Operátor 1 5 5 − 2 Operátor 2 7 4 2 3 Operátor 3 9 3 5 − Operátor 4 7 2 6 7 Výsledky příkladů viz 13.4. 154 Fakulta elektrotechniky a komunikačních technologií VUT v Brně 10 Dynamické programování Hlavní myšlenka dynamického programování: Při hledání optimální možnosti je někdy nejrychlejší rozdělit daný problém na několik podproblémů (fází) a najít optimum v dané fázi se zřetelem na kombinace možností z předchozí fáze – algoritmus je tedy rekurzivní. Podrobněji jej vysvětlíme na následujícím příkladu. Příklad 10.1 Společnost chce investovat 5 miliónů dolarů do rozvoje svých tří závodů. Každý ze závodů předložil několik návrhů, jak by peníze mohl využít a s jakým výnosem. Jak rozdělit peníze, aby byl celkový výnos maximální? závod 1 závod 2 závod 3 návrh c1 R1 c2 R2 c3 R3 1 0 0 0 0 0 0 2 1 5 2 8 1 3 3 2 6 3 9 − − 4 − − 4 12 − − Jednotkou je jeden milión dolarů; nulový návrh u každého ze závodů naznačuje, že bereme v úvahu i možnost, že určitá část investic nemusí být vyčerpána. Řešení. Nejprve musíme definovat a) fáze j b) stavy xj ve fázi j c) přípustné alternativy kj ve fázi j. Existují dva možné typy algoritmu: přímý postup a zpětný postup. 1) Přímý postup: ad a) fáze = závod ad b) x1 . . . množství investic přidělené závodu 1 x2 . . . množství investic přidělené závodům 1 a 2 x3 . . . množství investic přidělené závodům 1, 2 a 3 ad c) označme kj . . . ne konstanta, ale proměnná podle počtu přípustných alternativ ve fázi j k∗ j . . . optimální hodnota alternativy ve fázi j Rj(kj) . . . výnos alternativy kj ve fázi j fj(xj) . . . optimální výnos fází 1, 2, . . . , j za daného stavu proměnné xj cj(kj) . . . cena alternativy kj ve fázi j Pravděpodobnost, statistika a operační výzkum 155 Za daného označení nyní hledáme f3(x3 = 5); klíčem je sestavení rekurzivních rovnic f1(x1) = max c1(k1)≤x1 (R1(k1)) fj(xj) = max cj(kj)≤xj (Rj(kj) + fj−1 xj−1 (xj − cj(kj)) maximální výnos celkem za fáze 1, 2, . . . , j − 1 ) Nyní už přistoupíme k přímému průchodu jednotlivých fází: fáze 1: f1(x1) = max c1(k1)≤x1 (R1(k1)) pro k1 = 1, 2, 3 (v závodu 1 existují tři alternativy) R1(k1) optim. řešení fáze 1 x1 k1 = 1 k1 = 2 k1 = 3 f1(x1) k∗ 1 0 0 − − 0 1 1 0 5 − 5 2 2 0 5 6 6 3 3 0 5 6 6 3 4 0 5 6 6 3 5 0 5 6 6 3 Sloupec k1 = 1 odpovídá té variantě (č.1), že závod 1 nedostane pe- níze; sloupec k1 = 2 odpovídá variantě, že závod 1 dostane peníze na návrh 2, sloupec k1 = 3 odpovídá variantě, že závod 1 dostane peníze na návrh 3 (žádný ze závodů nemůže získat peníze na více návrhů současně, tj. více 156 Fakulta elektrotechniky a komunikačních technologií VUT v Brně variant ve fázi 1 neexistuje); tyto sloupce udávají výnosy jednotlivých variant pro možné hodnoty proměnné x1. fáze 2: f2(x2) = max c2(k2)≤x2 (R2(k2) + f1(x2 − c2(k2))) Tabulka má následující tvar (k∗ 2 je číslo optimálního návrhu v řádku fáze 2, ovšem už v závislosti na fázi 1): R2(k2) + f1(x2 − c2(k2)) x2 k2 = 1 k2 = 2 k2 = 3 k2 = 4 f2(x2) k∗ 2 0 0 + 0 = 0 − − − 0 1 1 0 + 5 = 5 − − − 5 1 2 0 + 6 = 6 8 + 0 = 8 − − 8 2 3 0 + 6 = 6 8 + 5 = 13 9 + 0 = 9 − 13 2 4 0 + 6 = 6 8 + 6 = 14 9 + 5 = 14 12 + 0 = 12 14 2 ∨ 3 5 0 + 6 = 6 8 + 6 = 14 9 + 6 = 15 12 + 5 = 17 17 4 fáze 3: f3(x3) = max c3(k3) ≤ x3 k3 = 1, 2 (R3(k3) + f2(x3 − c3(k3))) V poslední fázi potřebujeme už jen jeden řádek: x3 = 5 (i když i např. řádek x3 = 4 by byl zajímavý tím, že by ukazoval optimum pro 4 milióny celkových investic apod., čili jednalo by se o jistou citlivostní analýzu – tento pojem viz kapitola 7). R3(k3) + f2(x3 − c3(k3)) x3 k3 = 1 k3 = 2 f3(x3) k∗ 3 5 0 + 17 = 17 3 + 14 = 17 17 1 ∨ 2 Pravděpodobnost, statistika a operační výzkum 157 výsledek: Zpětně projdeme k∗ j , abychom viděli možné kombinace řešení:     d d‚  0 E x3 k∗ 3 x2 k∗ 2 x1 k∗ 1 (k∗ 1, k∗ 2, k∗ 3) 1m (5 − 0 = 5) 4m (5 − 4 = 1) 2m (2, 4, 1) 5 2m (4 − 2 = 2) 3m (3, 2, 2) 2m (5 − 1 = 4) 3m (4 − 3 = 1) 2m (2, 3, 2) Z posledního sloupce je vidět, že existují tři optimální rozdělení investic pro jednotlivé návrhy. 2) Zpětný postup: Je to druhá možnost řešení; ovšem kromě opačného postupu od závodu 3 k závodu 1 (jiné rekurentní rovnice) budou jinak definovány stavy: ad a) fáze jsou stejné ad b) y1 . . . množství investic přidělené závodům 1, 2 a 3 y2 . . . množství investic přidělené závodům 2 a 3 y3 . . . množství investic přidělené závodu 3 ad c) fj(yj) . . . optimální výnos fází j, j + 1, . . . , n za daného stavu proměnné yj. Pro toto označení můžeme psát rekurzivní rovnice: f3(y3) = max k3 c3(k3) ≤ x3 (R3(k3)) fj(yj) = max kj cj(kj) ≤ xj (Rj(kj) + fj+1(yj − cj(kj))) 158 Fakulta elektrotechniky a komunikačních technologií VUT v Brně fáze 3: R3(k3) optimální řešení y3 k3 = 1 k3 = 2 f3(y3) k∗ 3 0 0 − 0 1 1 0 3 3 2 2 0 3 3 2 3 0 3 3 2 4 0 3 3 2 5 0 3 3 2 fáze 2: R2(k2) + f3(y2 − c2(k2)) y2 k2 = 1 k2 = 2 k2 = 3 k2 = 4 f2(y2) k∗ 2 0 0 + 0 = 0 − − − 0 1 1 0 + 3 = 3 − − − 3 1 2 0 + 3 = 3 8 + 0 = 8 − − 8 2 3 0 + 3 = 3 8 + 3 = 11 9 + 0 = 9 − 11 2 4 0 + 3 = 3 8 + 3 = 11 9 + 3 = 12 12 + 0 = 12 12 3 ∨ 4 5 0 + 3 = 3 8 + 3 = 11 9 + 3 = 12 12 + 3 = 15 15 4 fáze 1: Stačí jen řádek: y1 = 5. R1(k1) + f2(y1 − c1(k1)) y1 k1 = 1 k1 = 2 k1 = 3 f1(y1) k∗ 1 5 0 + 15 = 15 5 + 12 = 17 6 + 11 = 17 17 2 ∨ 3 „Rozpletením v přímém směru dostaneme stejná 3 řešení. Použití přímého nebo zpětného postupu algoritmu v praxi závisí na tom, který typ rekurentních rovnic je jednodušší. Pravděpodobnost, statistika a operační výzkum 159 Nejtěžším úkolem v algoritmech dynamického programování je definice stavu (tj. správné vyjádření závislosti fáze na předchozích fázích v rekurentní rovnici). Procvičme na několika příkladech: Příklad 10.2 Na konci každého roku se rozhoduje, zda určitý stroj necháme v provozu, nebo jej vyměníme za nový; pokud zůstane v provozu, klesne zisk (díky větší poruchovosti), pokud koupíme nový, bude to něco stát. Určete fáze, alternativy v každé fázi a stavy. Řešení. fáze j . . . . . . . . . . rok j alternativy . . . . . a) nechat daný stroj b) koupit nový stroj stav j . . . . . . . . . stáří stroje na počátku roku j Příklad 10.3 Vedoucí chce zjistit počet dělníků potřebných na nejbližších 5 týdnů, když zná počty potřebné pro každý týden. Jsou známy také ceny, které zaplatí za – přijetí – propuštění – nevyužitý čas práce dělníka (na str.163 je příklad uveden pro konkrétní hodnoty). Kolik dělníků každý týden přijmout a propustit, aby se minimalizovala celková cena s tím spojená? Určete fáze, alternativy v každé fázi a stavy. Řešení. fáze j . . . . . . . . . . týden j alternativy . . . . počet dělníků – přijatých – propuštěných v týdnu j stav týdne j . . . počet dělníků připravených k práci na počátku týdne j (= na konci týdne (j −1)). Počty dělníků přijatých nebo propuštěných v předchozích fázích zde nehraje roli. Příklad 10.4 Problém nákladu (problém plnění batohu). Na člun chceme naložit některé z položek 1, 2, . . . , N tak, aby náklad nepřekročil určitou hmotnost a měl přitom maximální hodnotu. Označení: wi ... hmotnost položky i vi ... hodnota položky i ki ... počet položek i w ... maximální hmotnost celého nákladu 160 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Uvažujme následující zadání i wi vi 1 2 65 2 3 80 3 1 30 w = 5. Řešení. Jedná se vlastně o úlohu celočíselného lineárního programování: maximalizujte funkci z = v1k1 + · · · + vN kN za podmínky w1k1 + · · · + wN kN ≤ w, ki jsou nezáporná celá čísla. Ale vyřešme tuto úlohu pomocí algoritmu dynamického programování: fáze j . . . . . . . . . . . . . . . . . . . . položka j stav yj ve fázi j . . . . . . . . . . celková hmotnost přiřazená fázím j, j + 1, . . . N (y1 = w, yi = 0, 1, . . . , w pro i > 1) alternativa kj ve fázi j . . . počet jednotek j-té položky, kterou bereme s sebou. Tato úloha je podobná příkladu 10.1 – jedná se opět v jistém smyslu o přidělení zdrojů. Zpětné rekurentní rovnice jsou tvaru: fN (yN ) = max kN yN (vN kN ) fj(yj) = max kj yj (vj kj + fj+1(yj − wj kj)) pro j = 1, 2, . . . , N − 1 Zpětným postupem (fáze 3, fáze 2, fáze 1) si bystrý čtenář ověří, že (2, 0, 1) je optimální rozdělení položek. Příklad 10.5 Problém spolehlivosti. Elektronické zařízení se skládá ze tří hlavních komponent zapojených sériově, tj. selhání komponenty vede k selhání celého zařízení. Paralelním přidáním rezervních komponent lze zvýšit spolehlivost zařízení. Každá komponenta může být až dvakrát zálohovaná (tj. maximálně lze paralelně zapojit 3 kusy komponenty téhož typu). Celková cena zařízení má být maximálně 10 000 dolarů. Tabulka Pravděpodobnost, statistika a operační výzkum 161 udává, jak roste spolehlivost Rj(kj) a cena cj(kj) pro různý počet komponent téhož typu: j = 1 j = 2 j = 3 kj R1 c1 R2 c2 R3 c3 1 0, 6 1 0, 7 3 0, 5 2 2 0, 8 2 0, 8 5 0, 7 4 3 0, 9 3 0, 9 6 0, 9 5 (ceny jsou v tisících dolarů). Jak zapojit náhradní komponenty, aby spolehlivost při dané ceně byla maximální? Řešení. celková spolehlivost = součin jednotlivých spolehlivostí úkol: nalezněte maximum funkce R = N j=1 Rj(kj) za podmínky N j=1 cj(kj) ≤ 10 (tisíc dolarů). Použijeme zpětný postup dynamického programování: fáze j . . . . . . . . . . . . . . . . . . . . typ komponenty j stav yj ve fázi j . . . . . . . . . . celková cena přiřazená typům j, j + 1, . . . N alternativy kj ve fázi j . . . počet paralelně zapojených jednotek typu j (kj ∈ {1, 2, 3}) fj(yj). . . . . . . . . . . . . . . . . . . . celková optimální spolehlivost typů j, j + 1, . . . N pro daný kapitál yj Rekurentní rovnice: fN (yN ) = max kN cN (kN ) ≤ yN (RN (kN )) fj(yj) = max kj cj(kj) ≤ yj (Rj(kj) fj+1(yj − cj(kj))) pro j = 1, 2, . . . , N − 1 162 Fakulta elektrotechniky a komunikačních technologií VUT v Brně yj ∈ {0, 1, 2, . . . , 10}; ovšem počet řádků v jednotlivých fázích můžeme snížit následující úvahou: fáze 3. . . . . y3 ≥ 2 a y3 ≤ 10 − (cena 1 komponenty typu 1 + cena 1 komponenty typu 2), tj. 2 ≤ y3 ≤ 6 fáze 2. . . . . y2 ≥ cena 1 komponenty typu 2 + cena 1 komponenty typu 3 ≤ 10 − cena 1 komponenty typu 1 celkem 5 ≤ y2 ≤ 9 fáze 1. . . . . y1 ≥ cena komponenta 1 + komponenta 2 + komponenta 3 ≤ 10 celkem 6 ≤ y1 ≤ 10 Můžeme se tedy pustit do rekurentního algoritmu (zpětný postup): fáze 3: R3(k3) optimální řešení y3 k3 = 1 k3 = 2 k3 = 3 f3(y3) k∗ 3 2 0, 5 − − 0, 5 1 3 0, 5 − − 0, 5 1 4 0, 5 0, 7 − 0, 7 2 5 0, 5 0, 7 0, 9 0, 9 3 6 0, 5 0, 7 0, 9 0, 9 3 fáze 2: R2(k2) · f3(y2 − c2(k2)) y2 k2 = 1 k2 = 2 k2 = 3 f2(y2) k∗ 2 5 0, 7 · 0, 5 = 0, 35 − − 0, 35 1 6 0, 7 · 0, 5 = 0, 35 − − 0, 35 1 7 0, 7 · 0, 7 = 0, 49 0, 8 · 0, 5 = 0, 4 − 0, 49 1 8 0, 7 · 0, 9 = 0, 63 0, 8 · 0, 5 = 0, 4 0, 9 · 0, 5 = 0, 45 0, 63 1 9 0, 7 · 0, 9 = 0, 63 0, 8 · 0, 7 = 0, 56 0, 9 · 0, 5 = 0, 45 0, 63 1 Pravděpodobnost, statistika a operační výzkum 163 fáze 1: R1(k1) · f2(y1 − c1(k1)) y1 k1 = 1 k1 = 2 k1 = 3 f1(y1) k∗ 1 10 0, 6 · 0, 63 = 0, 378 0, 8 · 0, 63 = 0,504 0, 9 · 0, 49 = 0, 441 0, 504 2 Optimální varianta je tedy (k∗ 1, k∗ 2, k∗ 3) = (2, 1, 3). Ad Příklad 10.3 (pro konkrétní hodnoty) týden 1 2 3 4 5 potřebný počet dělníků bj 5 7 8 4 6 Pokud počet dělníků aktuálního týdne přesáhne počet dělníků minulého týdne, musíme započítat cenu spojenou se získáním nových pracovních sil. Na druhé straně, pokud je daný týden více dělníků než potřebujeme, stojí to určitou přebytkovou cenu. yj ..............počet dělníků na počátku týdne j c1(yj − bj)......přebytková cena, když yj převýší bj c2(yj − yj−1) ... cena získání nových pracovních sil Data vedoucího ukazují, že c1(yj − bj) = 3 (yj − bj), j = 1, 2, . . . , 5 c2(yj − yj−1) =    4 + 2 (yj − yj−1) . . . yj > yj−1 0 . . . yj ≤ yj−1 (propouštění nic nestojí) y0 = 5, y5 = 6. Jaké jsou optimální hodnoty y1, y2, y3, y4? Řešení. fáze j . . . . . . . . . . . . . . . . . j-tý týden stav ve fázi j . . . . . . . . . .yj−1 (= počet dělníků na konci fáze j − 1) alternativy ve fázi j . . .yj (= počet dělníků v týdnu j) fj(yj−1). . . . . . . . . . . . . . .optimální cena řízení pracovních sil za týdny j, j + 1, . . . , 5 pro dané yj−1 164 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Rekurentní rovnice zpětného postupu: f5(y4) = min y5=b5 (c1(y5 − b5) + c2(y5 − y4)) fj(yj−1) = min yj≥bj (c1(yj − bj) + c2(yj − yj−1) + fj+1(yj)) pro j = 1, 2, 3, 4 počet řádků v jednotlivých fázích můžeme snížit touto úvahou: 4 = b4 < b5 = 6 ⇒ y4 ∈ {4, 5, 6}. Dále y3 = 8 (protože propouštění nic nestojí). Dále y2 ∈ {7, 8}. Dále y1 ∈ {5, 6, 7, 8} (musíme uvažovat i y1 = 6, 7, 8, protože nevíme, zda není levnější nabrat v 1.týdnu 8 lidí a nechat si je až do 3.týdne). A nyní už se můžeme pustit do zpětného postupu: fáze 5: b5 = 6 c1(y5 − 6) + c2(y5 − y4) optimální řešení y4 y5 = 6 f5(y4) y∗ 5 4 3 · 0 + 4 + 2 · 2 = 8 8 6 5 3 · 0 + 4 + 2 · 1 = 6 6 6 6 3 · 0 + 0 = 0 0 6 fáze 4: b4 = 4 c1(y4 − 4) + c2(y4 − y3) + f5(y4) y3 y4 = 4 y4 = 5 y4 = 6 f4(y3) y∗ 4 8 0 + 0 + 8 = 8 3 · 1 + 0 + 6 = 9 3 · 2 + 0 + 0 = 6 6 6 Pravděpodobnost, statistika a operační výzkum 165 fáze 3: b3 = 8 c1(y3 − 8) + c2(y3 − y2) + f4(y3) y2 y3 = 8 f3(y2) y∗ 3 7 0 + 4 + 2 · 1 + 6 = 12 12 8 8 0 + 0 + 6 = 6 6 8 fáze 2: b2 = 7 c1(y2 − 7) + c2(y2 − y1) + f3(y2) y1 y2 = 7 y2 = 8 f2(y1) y∗ 2 5 0 + 4 + 2 · 2 + 12 = 20 3 · 1 + 4 + 2 · 3 + 6 = 19 19 8 6 0 + 4 + 2 · 1 + 12 = 18 3 · 1 + 4 + 2 · 2 + 6 = 17 17 8 7 0 + 0 + 12 = 12 3 · 1 + 4 + 2 · 1 + 6 = 15 12 7 8 0 + 0 + 12 = 12 3 · 1 + 0 + 6 = 9 9 8 fáze 1: b1 = 5 c1(y1 − 5) + c2(y1 − y0) + f2(y1) y0 y1 = 5 y1 = 6 y1 = 7 y1 = 8 f1(y0) y∗ 1 5 0 + 0 + 19 = 19 3 · 1 + 4 + 2 · 1 + 17 =26 3 · 2 + 4 + 2 · 2 + 12 =26 3 · 3 + 4 + 2 · 3 + 9 =28 19 5 optimum: y0 = 5 ⇒ y1 = 5 y2 = 8 y3 = 8 y4 = 6 y5 = 6 Tedy ideální strategií je 1.týden . . . 0 (máme 5 dělníků z minulého týdne) 2.týden . . . 3 najmeme 3.týden . . . 0 4.týden . . . 2 propustíme 5.týden . . . 0. 166 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Poslední úloha se lišila od těch předchozích v tom, že v každém řádku tabulky jsme hledali minimální hodnotu (jednalo se o minimalizační úlohu). Všechny probírané úlohy byly jednodimenzionální; u větší dimenze neúměrně narůstá počet přípustných kombinací proměnných. Úlohy lineárního programování lze rovněž řešit pomocí algoritmu dynamického programování (viz př.10.4), ale počet omezení určuje počet proměnných v úloze, tj. dynamické programování se zde nepoužívá pro více než 1 omezení (nebo než 2 v případě dvou proměnných). 10.1 Shrnutí V této kapitole jsme ukázali další možnost hledání extrému funkce za daných omezení. Hlavní myšlenka dynamického programování zní: při hledání optimální možnosti je někdy nejrychlejší rozdělit daný problém na několik podproblémů (fází) a najít optimum v dané fázi se zřetelem na kombinace možností z předchozí fáze – algoritmus je tedy rekurzivní. Nejtěžší úkol u úloh dynamického programování je vhodně formulovat zadaný problém. Je třeba správně definovat a) fáze j b) stavy xj ve fázi j c) přípustné alternativy kj ve fázi j. Připomeňme označení, které se používá: k∗ j . . . optimální hodnota alternativy ve fázi j Rj(kj) . . . výnos alternativy kj ve fázi j fj(xj) . . . optimální výnos fází 1, 2, . . . , j za daného stavu proměnné xj cj(kj) . . . cena alternativy kj ve fázi j Existují dva možné typy algoritmu: přímý postup a zpětný postup 1) Přímý postup: vede k sestavení a řešení rekurzivních rovnic f1(x1) = max c1(k1)≤x1 (R1(k1)) fj(xj) = max cj(kj)≤xj (Rj(kj) + fj−1(xj − cj(kj))), jejichž výsledky se v jednotlivých fázích zapisují do tabulky. 2) Zpětný postup: Je to druhá možnost řešení; ovšem kromě opačného postupu (jiné rekurentní rovnice) budou jinak definovány stavy a optimální výnos fj(yj): • fj(yj) . . . optimální výnos fází j, j + 1, . . . , n za daného stavu proměnné yj. Pravděpodobnost, statistika a operační výzkum 167 Pro toto označení sestavíme a řešíme rekurzivní rovnice: fn(yn) = max kn cn(kn) ≤ xn (Rn(kn)) fj(yj) = max kj cj(kj) ≤ xj (Rj(kj) + fj+1(yj − cj(kj))) Použití přímého nebo zpětného postupu algoritmu v praxi závisí na tom, který typ rekurentních rovnic je jednodušší. Při řešení úloh dynamického programování nemusí být funkce, jejíž optimum hledáme, nutně lineární (viz př.10.5), což je velmi výhodné. Naopak, úlohy celočíselného lineárního programování lze rovněž řešit pomocí algoritmu dynamického programování (viz př.10.4), ale počet omezení určuje počet proměnných v úloze, tj. dynamické programování se zde nepoužívá pro více než 1 omezení. 10.2 Otázky k opakování U následujících výroků rozhodněte, zda se jedná o výrok pravdivý či nepravdivý. Otázka 10.1 Dynamické programování používá rekurzivní algoritmus. Otázka 10.2 Algoritmem dynamického programování lze řešit pouze úlohy na hledání maxima nějaké funkce. Otázka 10.3 Při zmenšení pravé strany omezení musíme přepočítat všechny fáze algoritmu dynamického programování znovu. Otázka 10.4 Přímý i zpětný postup algoritmu dynamického programování vedou vždy ke stejnému výsledku. Otázka 10.5 Každou úlohu dynamického programování lze převést na úlohu lineárního programování. Otázka 10.6 Každou úlohu lineárního programování lze řešit algoritmem dynamického programování. Odpovědi na otázky viz 13.5. 168 Fakulta elektrotechniky a komunikačních technologií VUT v Brně 10.3 Příklady ke cvičení Příklad 10.1 Společnost chce investovat 8 miliónů dolarů do rozvoje svých tří závodů. Každý ze závodů předložil několik návrhů, jak by peníze mohl využít a s jakým výnosem. Jak rozdělit peníze, aby byl celkový výnos maximální? závod 1 závod 2 závod 3 návrh c1 R1 c2 R2 c3 R3 1 3 5 3 4 0 0 2 4 6 4 5 2 3 3 − − 5 8 3 5 4 − − − − 6 9 Jednotkou je jeden milión dolarů. Použijte přímý postup algoritmu dynamického programování k získání optimálního řešení. Příklad 10.2 (hledání nejkratší cesty) Graf na obrázku znázorňuje možné cesty vedoucí z města A do města B procházející městy označenými čísly 1 až 5. Hodnoty nad šipkami udávají délky jednotlivých cest. Naším úkolem je najít nejkratší cestu z A do B.                                                           d d d d dd‚ d d d d dd‚ d d d d dd‚ d d d d dd‚ E E A 1 2 3 4 5 B 6 5 5 3 2 4 7 4 2 2 Formulujte tento problém jako úlohu dynamického programování. Definujte fáze, stavy a přípustné alternativy, pak najděte optimální řešení. Příklad 10.3 Formulujte následující úlohu celočíselného lineárního programování jako úlohu dynamického programování najděte maximum funkce z = 2 x1 + 3 x2 + 4 x3 za omezení 2 x1 + 2 x2 + 3 x3 ≤ 4 xi ∈ Z, xi ≥ 0, pro i = 1, 2, 3. Určete optimální řešení přímým postupem algoritmu dynamického programování. Pravděpodobnost, statistika a operační výzkum 169 Příklad 10.4 Studentka si musí vybrat 10 volitelných předmětů, které budou přednášeny na 4 různých katedrách, přitom na každé katedře musí absolvovat minimálně 1 předmět. Při rozhodování, kolik předmětů si na každé katedře zvolí, se řídí požadavkem, aby maximalizovala svoje „poznání ve všech čtyřech oblastech. Dobře ví, že pokud její volba pro danou katedru přesáhne určitý počet předmětů, její vědomosti z daného oboru se již nebudou dále zvyšovat. To proto, že buď bude množství probírané látky příliš velké pro její pochopení, nebo se bude daná tematika v předmětech neustále opakovat. Vytvořila si tedy pro každou katedru 100-bodovou stupnici poznání (100 = maximální poznání) v závislosti na počtu studovaných předmětů, která je zapsána v následující tabulce počet předmětů katedra 1 2 3 4 5 6 7 8 9 10 I 25 50 60 80 100 100 100 100 100 100 II 20 70 90 100 100 100 100 100 100 100 III 40 60 80 100 100 100 100 100 100 100 IV 10 20 30 40 50 60 70 80 90 100 Formulujte tento problém jako úlohu dynamického programování a určete optimální řešení. Výsledky příkladů viz 13.5. 170 Fakulta elektrotechniky a komunikačních technologií VUT v Brně 11 Modely skladových zásob V této kapitole se budeme zabývat matematickým zpracováním odpovědi na následující otázku z teorie zásob: Kdy a kolik zboží je optimální objednat? Přitom lze uvažovat různé situace skladového provozu: někdy se zásoby ve skladu kontrolují jednou za čas (za měsíc, za rok . . . ), u jiného typu zboží se kontrolují nepřetržitě (a k nové objednávce dojde, pokud zásoby klesnou na určitou hodnotu). Rozhodnutí o skladové politice je prováděno s ohledem na celkovou cenu (tuto celkovou cenu chceme minimalizovat): celková cena = cena zboží + cena objednávky (dopravy) + cena skladování + cena penalizační za škody vzniknuvší při nedostatku zásob Podle typu poptávky zboží rozdělujeme matematické modely na: a) deterministické – je známa velikost poptávky zboží 1. statické . . . velikost poptávky je konstantní, nemění se 2. dynamické . . . velikost poptávky je v různých obdobích rovna různým konstantám b) pravděpodobnostní – poptávka přesně není známa, pouze hustota (nebo pravděpodobnostní funkce), která vyjadřuje jistou pravděpodobnou hodnotu poptávky 1. stacionární . . . hustota (nebo pstní funkce) poptávky se nemění v čase 2. nestacionární . . . hustota (nebo pstní funkce) s časem mění svůj tvar crostematematickásložitostmodelů 11.1 Deterministické modely 11.1.1 Statický model pro jednu položku Předpoklady použití modelu: – poptávka je konstantní . . . β jednotek zboží za jednotku času – zásoby jsou jednorázové doplňovány po určité časové periodě t0 – není uvažován nedostatek zásob (záporné zásoby na skladě znamenají nevyřízenou objednávku zboží) – velikost objednávky . . . y jednotek zboží – dodací lhůta objednávky je známá konstanta . . . L časových jednotek Pravděpodobnost, statistika a operační výzkum 171 – graf množství zboží ve skladu v závislosti na čase lze znázornit: E T rrr rrr rrr rrr rrr rrr rrr rrr rr rrr rrrr rrr E E E' ' ' t0 = y β t0 t0 y 2 y – cena objednávky (dopravy) . . . K finančních jednotek – h . . . cena skladování jednotky zboží za jednotku času Řešení modelu: jak zvolit optimální velikost objednávky y, aby celková cena byla minimální? Zavedeme funkci vyjadřující celkovou cenu za jednotkový čas . . . TCU(y) (omlouvám se, ale ze slabosti vůči angličtině jsem ponechal anglické značení: TCU = Total Cost per Unit (time)) TCU(y) = K y/β + h · y 2 průměrné množství zboží na skladě £ £# čili celková cena za jednotkový čas = cena objednávky (dopravy) za jednotkový čas + cena skladování za jednotkový čas Nyní řešením rovnice ∂ ∂y (TCU(y)) = 0 najdeme minimum y0 = 2Kβ h (tzv. Wilsonova ekonomická velikost objednávky). Často existuje časové prodlení L mezi objednáním a dodáním zboží. Objednávku tedy musíme realizovat vždy L časových jednotek před vyčerpáním zásob. Příklad 11.1 Denní poptávka zboží je asi 100 jednotek. Cena objednávky je vždy 100 Kč navíc k ceně zboží. Skladovací cena jednotky zboží na 1 den je 0,02 Kč. Dodací lhůta je 12 dní. Určete ekonomickou velikost objednávky a upřesněte, jak dlouho před vyčerpáním zásob se musí objednávka provést. 172 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Řešení. y0 = 2·100·100 0,02 = 1 000 jednotek, t0 = y0 β = 1 000 100 = 10 dní. Každých 10 dní je nutno provést novou objednávku 1 000 jednotek, a sice po ustálení cyklu vždy 2 dny před vyčerpáním zásob. 11.1.2 Statický model pro jednu položku s diskontními cenami Předpoklady použití modelu jsou stejné jako u předchozího modelu až na to, že do celkové ceny se navíc započítává i fakt, že při větším objednaném množství klesá cena jednotky zboží: celková cena za jednotkový čas = cena zboží za jednotkový čas + cena objednávky za jednotkový čas + cena skladování za jednotkový čas TCU(y) =    f1(y) = β · c1 + K·β y + h 2 · y . . . y < q f2(y) = β · c2 + K·β y + h 2 · y . . . y ≥ q (c1 > c2) Obě z funkcí f1, f2 nabývají svého minima ve stejném bodě y0 = 2Kβ h : PSfrag replacements f1 • f2 • I II III y0 q1 f2(q1) = f1(y0) y cena Body y0, q1 rozdělí vodorovnou osu na části I, II, III. Řešení modelu závisí na tom, ve které z částí I, II, III se nachází kritické množství q, při jehož dosažení dochází k diskontnímu snížení ceny jednotky zboží z c1 na c2. Pravděpodobnost, statistika a operační výzkum 173 a) q ∈ I: (silně je zvýrazněn graf funkce TCU) PSfrag replacements f1 ◦ f2 • y0 q1q • y cena minimum nastává v bodě [y0, f2(y0)] b) q ∈ II: PSfrag replacements f1 ◦ f2 • y0 q1q y cena minimum nastává v bodě [q, f2(q)] 174 Fakulta elektrotechniky a komunikačních technologií VUT v Brně c) q ∈ III: PSfrag replacements f1 ◦ f2 • y0 q1 q y cena minimum nastává v bodě [y0, f1(y0)] Postup při rozhodování: určíme y0 = 2Kβ h ; pokud y0 > q, jedná se o případ a); jinak určíme q1 tak, aby f2(q1) = f1(y0); pak pro q < q1 nastane případ b), jinak c). Příklad 11.2 Rozhodněte o optimální velikosti objednávky při následujících údajích: K = 10 Kč, h = 1 Kč, β = 5 jednotek zboží za den, c1 = 2 Kč, c2 = 1 Kč, q = 15 jednotek. Řešení. y0 = 10 jednotek zboží, y0 < q ⇒ řešme rovnici f1(10) = f2(q1): úpravou dostaneme q2 1 − 30 q1 + 100 = 0 ⇒ q11,2 = 3, 82 26, 18 Protože objednáváme na více než 1 den a β = 5, reálně připadá v úvahu jen q1 = 26, 18; q < q1 ⇒ q ∈ II, tj. optimální je objednat 15 jednotek zboží, celková cena za jednotkový čas je f2(q) = f2(15) = 15, 83 Kč za 1 den. 11.1.3 Statický model pro více druhů zboží s omezením skladového prostoru Předpoklady použití modelu: – maximální plocha skladování . . . A Pravděpodobnost, statistika a operační výzkum 175 – požadavek skladovací plochy na jednotku i-tého druhu zboží . . . ai – velikost objednávky zboží druhu i . . . yi musí platit (∗) n i=1 ai yi ≤ A – zboží každého druhu je jednorázově doplňováno s periodou ti = yi βi , kde βi, Ki, hi mají stejný význam jako v modelu 11.1.1, ale pro zboží druhu i není uvažován nedostatek zásob ani diskontní ceny (tj. model jako 11.1.1, ale ve vyšší dimenzi). Řešení modelu: Hledáme minimum ceny za jednotku času TCU(y1, . . . , yn) = n i=1 Ki βi yi + hi yi 2 za omezující podmínky n i=1 ai yi ≤ A; yi ≥ 0. Pokud y 0 i = 2 Ki βi hi splňují omezení (∗), máme optimum. V opačném případě postupujeme tzv. Lagrangeovou metodou: hledáme minimum funkce L(λ, y1, . . . , yn) = n i=1 Ki βi yi + hi yi 2 + λ n i=1 ai yi − A pro λ > 0. Systém    ∂L ∂yi = 0 ∂L ∂λ = 0    lze převést na    y 0 i = 2 Ki βi hi+2 λ ai n i=1 ai y 0 i − A = 0   . Poslední uvedený systém lze řešit numericky: zvyšujeme λ s určitým krokem tak dlouho, až výraz n i=1 ai yi − A je záporný; z posledních dvou hodnot λ pak interpolací najdeme optimální λ, tj. i optimální y 0 i . Příklad 11.3 Určete optimální objednávané množství při následujících datech (A = 25 m2 ): druh zboží i Ki (Kč) βi ( jednotek za jednotku času ) hi (Kč) ai (m2) 1 10 2 0,3 1 2 5 4 0,1 1 3 10 4 0,2 1 176 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Řešení. Vypočteme 2 Ki βi hi+2 λ ai pro různé hodnoty λ: λ y1 y2 y3 n i=1 ai yi − A 0 11, 5 20, 0 24, 5 31, 0 0, 05 10, 0 14, 1 17, 3 16, 4 0, 1 9, 0 11, 5 14, 9 10, 4 0, 15 8, 2 10, 0 13, 4 6, 6 0, 2 7, 6 8, 9 12, 2 3, 7 0, 25 7, 1 8, 2 11, 3 1, 6 0, 3 6, 7 7, 6 10, 6 −0, 1 Optimální λ je téměř . = 0, 3, tj. y 0 1 . = 6, 7; y 0 2 . = 7, 6; y 0 3 . = 10, 6 t1 = 3, 35; t2 = 1, 9; t3 = 2, 65 č.j. (Pro A ≥ 56 nastane optimum už pro λ = 0 . . . už je dost prostoru pro hodnoty v 1.řádku.) 11.1.4 Dynamický model pro jednu položku a N období Předpoklady použití modelu: – poptávka v období i . . . Di (Di ∈ R) – množství zboží objednávané na začátku období i . . . zi – množství zboží, které je na skladě na začátku období i před přijetím objednávaného zi . . . xi – jednotková cena skladování, jestliže zboží skladované v období i zůstane na skladě i na začátku období i + 1 . . . hi – cena objednávky v období i . . . Ki – výrobní cena zboží při objednávaném množství zi . . . ci(zi) (může se měnit v různých obdobích, lze uvažovat i diskontní ceny) – cena nákupu zboží v období i . . . Ci(zi) = 0 . . . zi = 0 Ki + ci(zi) . . . zi > 0 Pravděpodobnost, statistika a operační výzkum 177 Řešení modelu: Úkolem je určit optimální zi, pro které je minimální součet cena nákupu + cena skladování celkem za všechna období 1, 2, . . . , N. Použijeme přímý algoritmus dynamického programování: označme fi(xi+1) . . . minimální celková cena (nákupu i skladování) za období 1, 2, . . . , i, je-li dáno xi+1 rekurzivní rovnice: f1(x2) = min 0≤z1≤D1+x2 (C1(z1) + h1 x2) fi(xi+1) = min 0≤zi≤Di+xi+1 (Ci(zi) + hi xi+1 + fi−1(xi)) pro i = 2, . . . , N kde hi xi+1 . . . cena skladování za období i (obecněji by mohla být místo konstanty hi i funkce Hi(xi+1) nebo místo xi+1 i třeba 1 2 (xi + xi+1), apod.) xi+1 = xi + zi − Di, tj. fi−1(xi+1 + Di − zi). Dále v jakékoliv fázi musí platit 0 ≤ xi+1 ≤ Di+1 + · · · + DN (na skladě nemůžeme nechat víc, než je poptávka za všechna následující období). Příklad 11.4 Uvažujme hospodaření jedné položky v průběhu tří období (N = 3): období i Di (v jednotkách) Ki (v Kč) hi (v Kč) 1 3 3 1 2 2 7 3 3 4 6 2 Dále x1 = 1 (na začátku prvního období máme na skladě jednu jednotku zboží), nákupní cena je 10 Kč za jednotku u prvních tří jednotek a 20 Kč za každou další jednotku, tj. Ci(zi) = 10 zi . . . 0 ≤ zi ≤ 3 30 + 20 (zi − 3) . . . zi ≥ 4. Stanovte optimální plán objednávek. 178 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Řešení. Použijeme právě popsaný algoritmus rekurentní rovnice: fáze 1: D1 = 3 0 ≤ x2 ≤ D2 + D3 = 6 2 = D1 − x1 ≤ z1 ≤ D1 + D2 + D3 − x1 = 8 f1(z1|x2) = C1(z1) + h1 x2 optimum z1 = 2 3 4 5 6 7 8 x2 h1 x2 C1(z1) = 23 33 53 73 93 113 133 f1(x2) z∗ 1 0 0 23 − − − − − − 23 2 1 1 − 34 − − − − − 34 3 2 2 − − 55 − − − − 55 4 3 3 − − − 76 − − − 76 5 4 4 − − − − 97 − − 97 6 5 5 − − − − − 118 − 118 7 6 6 − − − − − − 139 139 8 fáze 2: D2 = 2 0 ≤ x3 ≤ D3 = 4 0 ≤ z2 ≤ D2 + D3 − x2 ≤ D2 + D3 = 6 (optimální x2 neznáme) f2(z2|x3) = C2(z2) + h2 x3 + f1(x3 + D2 − z2) optimum z2 = 0 1 2 3 4 5 6 x3 h2 x3 C2(z2)=0 7+10=17 7+20=27 7+30=37 7+50=57 7+70=77 7+90=97 f2(x3) z∗ 2 0 0 0+0+55 =55 17+0+34 =51 27+0+23 =50 − − − − 50 2 1 3 0+3+76 =79 17+3+55 =75 27+3+34 =64 37+3+23 =63 − − − 63 3 2 6 0+6+97 =103 17+6+76 =99 27+6+55 =88 37+6+34 =77 57+6+23 =86 − − 77 3 3 9 0+9+118 =127 17+9+97 =123 27+9+76 =112 37+9+55 =101 57+9+34 =100 77+9+23 =109 − 100 4 4 12 0+12+139 =151 17+12+118 =147 27+12+97 =136 37+12+76 =125 57+12+55 =124 77+12+34 =123 97+12+23 =132 123 5 fáze 3: D3 = 4 x4 = 0 z3 = 0, 1, 2, 3, 4 Pravděpodobnost, statistika a operační výzkum 179 f3(z3|x4) = C3(z3) + h3 x4 + f2(x4 + D3 − z3) optimum z3 = 0 1 2 3 4 x4 h3 x4 C3(z3)=0 6+10=16 6+20=26 6+30=36 6+50=56 f3(x4) z∗ 3 0 0 0+0+123 =123 16+0+100 =116 26+0+77 =103 36+0+63 =99 56+0+50 =106 99 3 Nejnižší celkový součet je 99, tj. z3 = 3 z2 = 3 z1 = 2 Poznámka. Zvláštní případ pro konkávní cenové funkce Ci(z) – tento případ většinou nastane, protože např. ceny u diskontní politiky mají konkávní průběh: pro x1 = 0 (případ x1 > 0 by se převedl na x1 = 0 odečtením x1 od D1) a např. N = 5, Di = 10, 15, 20, 50, 70: 1) počet řádků lze podstatně redukovat; např. ve 3.fázi lze místo 121 řádků x4 = 0 x4 = 1 ... x4 = 50 + 70 = 120    uvažovat pouze řádky 3:    x4 = 0 x4 = 50 x4 = 50 + 70. Neboli – optimum nastane pro některý z případů xi = 0 xi = Di xi = Di + Di+1 ... xi = Di + · · · + DN 2) počet sloupců tabulky lze podstatně redukovat; např. ve fázi 3 můžeme místo 141 sloupců z3 = 0 z3 = 1 z3 = 2 ... z3 = 20 + 50 + 70 = 140    uvažovat pouze 4 sloupce:    z3 = 0 z3 = 20 z3 = 20 + 50 z3 = 20 + 50 + 70. 180 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Neboli – optimum nastane pro některý z případů zi = 0 zi = Di zi = Di + Di+1 ... zi = Di + · · · + DN (v případě z1 nemusíme dokonce uvažovat ani z1 = 0, protože při x1 = 0 musí být z1 rovno aspoň hodnotě D1) Příklad 11.5 Sestavte plán objednávek pro N = 4, hi = 1 pro všechna i, Ci(zi) = 2 zi pro všechna i, x1 = 15 jednotek a je-li dáno období i Di (v jednotkách) Ki (v Kč) 1 76 98 2 26 114 3 90 185 4 67 70 Řešení. Odečtením D1 − x1 = 76 − 15 = 61 převedeme na případ x1 = 0. Využijeme předchozí poznámky, díky níž se podstatně zredukuje počet řádků i sloupců: fáze 1: D1 = 61 f1(z1|x2) = C1(z1) + h1 x2 optimum z1 = 61 61+26=87 61+26+90=177 61+26+90+67=244 x2 h1 x2 C1=98+2·61=220 98+2·87=272 98+2·177=452 98+2·244=586 f1(x2) z∗ 1 0 0 220+0=220 − − − 220 61 26 26 − 272+26=298 − − 298 87 116 116 − − 452+116=568 − 568 177 183 183 − − − 586+183=769 769 244 objednáváme na období. . . 1 1, 2 1, 2, 3 1, 2, 3, 4 Pravděpodobnost, statistika a operační výzkum 181 fáze 2: D2 = 26 f2(z2|x3) = C2(z2) + h2 x3 + f1(x3 + D2 − z2) optimum z2 = 0 26 26+90=116 26+90+67=183 x3 h2 x3 C2(z2)=0 114+2·26=166 114+2·116=346 114+2·183=480 f2(x3) z∗ 2 0 0 0+0+298=298 166+0+220=386 − − 298 0 90 90 0+90+568 =658 případ x2 = 90 není optimální 346+90+220 =656 − 656 116 157 157 0+157+769 =926 případ x2 = 131 není optimální případ x2 = 41 není optimální 480+157+220 =857 857 183 objednáváme na období. . . − 2 2, 3 2, 3, 4 fáze 3: D3 = 90 f3(z3|x4) = C3(z3) + h3 x4 + f2(x4 + D3 − z3) optimum z3 = 0 90 90 + 67 = 157 x4 h3 x4 C3(z3)=0 185+2·90=365 185+2·157=499 f3(x4) z∗ 3 0 0 0+0+656=656 365+0+298=663 − 656 0 67 67 0+67+857 =924 případ není optimální 499+67+298 =864 864 157 objednáváme na období. . . − 3 3, 4 fáze 4: D4 = 67 f4(z4|x5) = C4(z4) + h4 x5 + f3(x5 + D4 − z4) optimum z4 = 0 z4 = 67 x5 h4 x5 C4(z4) = 0 70 + 2 · 67 = 204 f4(x5) z∗ 4 0 0 0 + 0 + 864 = 864 204 + 0 + 656 = 860 860 67 objednáváme na období. . . − 4 optimální plán: z4 = 67 z3 = 0 z2 = 116 z1 = 61 f4(x5) = 860 . . . celková cena objednávka + skladování 182 Fakulta elektrotechniky a komunikačních technologií VUT v Brně 11.1.5 Dynamický model plánování výroby jedné položky na N období Cílem modelu je naplánovat výrobu tak, aby se minimalizovala její celková cena. Označení a předpoklady použití modelu: ci . . . výrobní cena jednotky zboží v pracovní době období i di . . . výrobní cena jednotky zboží v přesčasové době období i (ci < di) hi . . . skladovací cena jednotky zboží, které zůstalo na skladu na konci období i pi . . . penalizační cena jednotky zboží objednaného v období i, ovšem vyrobeného v období i + 1 aRi . . . výrobní kapacita (v počtu jednotek) v období i v pracovní době aTi . . . výrobní kapacita v období i v přesčasové době bi . . . poptávka (v počtu jednotek) v období i Graf závislosti ceny na vyrobením množství je konvexní: E T E' E' & & & & & & & & & & && rozsah pracovní doby přesčasová zóna cena množství výroby Graf může mít i více sklonů ci, di, ei, fi, apod. při zachování konvexnosti, což je logický požadavek růstu ceny. Následující algoritmus pak lze rozšířit i na tento případ většího množství cenových skoků. a) řešení modelu pro pi = 0 (neuvažujeme případ, že výroba v i nepokryje objednávky v i): Úlohu lze formulovat jako dopravní úlohu, kde – dodavatelům odpovídají řádné + přesčasové doby v jednotlivých obdobích – spotřebitelům odpovídají jednotlivá období – cenám dopravy jednotky zboží od k-tého dodavatele k l-tému spotřebiteli odpovídají součty ceny výrobní a skladovací v daném typu pracovní doby a daném období Pravděpodobnost, statistika a operační výzkum 183 Údaje lze pak sestavit do tabulky dopravní úlohy: 1 2 3 . . . N navíc R1 c1 c1 + h1 c1 + h1 + h2 . . . c1 + h1 + · · · + hN−1 0 aR1 T1 d1 d1 + h1 d1 + h1 + h2 . . . d1 + h1 + · · · + hN−1 0 aT1 R2 c2 c2 + h2 . . . c2 + h2 + · · · + hN−1 0 aR2 T2 d2 d2 + h2 . . . d2 + h2 + · · · + hN−1 0 aT2 ... ... ... ... ... ... ... ... RN cN 0 aRN TN dN 0 aTN b1 b2 b3 . . . bN s s = ai − bj . . . případný přidaný sloupec, který vyvažuje kapacitu výroby ai a kapacitu poptávky bj; většinou je na vyrovnání kapacit potřeba sloupec, protože výroba je zpravidla větší než poptávka. Díky předpokladu pi = 0 platí (∗) k i=1 (aRi + aTi ) ≥ k j=1 bj, k = 1, 2, . . . , N (výroba v obdobích 1, 2, . . . , k musí naplnit poptávku v obdobích 1, 2, . . . , k), a proto k optimálnímu rozdělení výroby dospějeme takto: – v prvním sloupci vybereme pole s nejnižší cenou a vložíme do něj hodnotu co možná největší vzhledem k řádkové i sloupcové kapacitě; pak pokračujeme druhou nejnižší cenou v prvním sloupci, atd. – ve druhém sloupci vybereme pole s nejnižší cenou a vyplníme maximálně vzhledem k chybějícím kapacitám; atd. – po projítí všech sloupců je výsledek už optimální plán. 184 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Příklad 11.6 Je dáno: kapacity výroby poptávka období i aRi aTi bi 1 100 50 120 2 150 80 200 3 100 100 250 4 200 50 200 550 280 770 ci = 2, di = 3, hi = 0, 1 pro všechna i. Řešení. Kapacita výroby je o 60 jednotek větší než poptávka, úlohu tedy vyvážíme přidáním sloupce s kapacitou 60 jednotek 1 2 3 4 navíc R1 2 2,1 2,2 2,3 M 100 T1 3 3,1 3,2 3,3 M 50 R2 2 2,1 2,2 M 150 T2 3 3,1 3,2 M 80 R3 2 2,1 M 100 T3 3 3,1 M 100 R4 2 M 200 T4 3 M 50 120 200 250 200 60 V pravém horním rohu polí jsou vepsány jednotkové ceny výroby + skladování. Konstanta M označuje dostatečně velké číslo (větší než jakákoli jiná cena v tabulce). Pravděpodobnost, statistika a operační výzkum 185 Algoritmus vyplnění tabulky: 1) V prvním sloupci je minimální cena 2 v poli (1, 1) – zde vložíme maximální možnou hodnotu 100 (tím se vyčerpá kapacita v 1.řádku a všechna ostatní pole v 1. řádku můžeme proškrtnout pomlčkou). Do pole (2, 1) vložíme zbývající hodnotu 20, která vyčerpá kapacitu 1.sloupce. 2) Ve 2.sloupci do pole (3, 3) s minimální cenou 2 vložíme hodnotu 150 omezenou kapacitou 3.řádku (tím je tato vyčerpána a ostatní pole ve 3.řádku proškrtneme pomlčkou). Další neproškrtnuté pole s minimální cenou ve 2.sloupci je (4, 2), kam vložíme zbylou kapacitu 50 druhého sloupce. Poslední zbylé pole (2, 2) proškrtneme pomlčkou. 3) Atd., výsledné vyplnění je dáno tabulkou 1 2 3 4 navíc R1 2 100 2,1 − 2,2 − 2,3 − M − 100 T1 3 20 3,1 − 3,2 20 3,3 − M 10 50 R2 2 150 2,1 − 2,2 − M − 150 T2 3 50 3,1 30 3,2 − M − 80 R3 2 100 2,1 − M − 100 T3 3 100 3,1 − M − 100 R4 2 200 M − 200 T4 3 − M 50 50 120 200 250 200 60 b) řešení modelu pro pi = 0: Už nemusí být splněna (∗), tj. po vyplnění tabulky postupem z a) musíme ještě provést optimalizační krok, kterým se eventuelně sníží celková cena výroby + skladování. Optimalizační krok dopravní úlohy byl podrobně popsán v kapitole 9, proto čtenáře odkazuji na příslušný přednáškový text. 186 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Příklad 11.7 Optimalizujte plán na tři období: i aRi aTi 1 15 10 2 15 0 3 20 15 Poptávky a jednotkové ceny výroby jsou uvedeny v tabulce: 1 2 3 navíc R1 5 6 7 M 15 T1 10 11 12 M 10 R2 7 5 6 M 15 R3 9 7 5 M 20 T3 14 12 10 M 15 20 35 15 5 Řešení. Po vyplnění způsobem popsaným v a) dospějeme k tabulce: 1 2 3 navíc R1 5 15 6 − 7 − M − 15 T1 10 − 11 5 12 − M 5 10 R2 7 5 5 10 6 − M − 15 R3 9 − 7 20 5 − M − 20 T3 14 − 12 − 10 15 M − 15 20 35 15 5 Celková cena = 15 · 5 + 5 · 11 + 5 · 7 + · · · + 15 · 10 = 505 f.j. (položku 5 · M na pozici (2, 4) jsme nebrali v úvahu, protože se jedná o fiktivní období). Pravděpodobnost, statistika a operační výzkum 187 Toto rozdělení lze ještě zlepšit optimalizačním krokem (viz kapitola 9), dospějeme k tabulce 1 2 3 navíc R1 5 15 6 − 7 − M − 15 T1 10 5 11 5 12 − M − 10 R2 7 − 5 15 6 − M − 15 R3 9 − 7 5 5 15 M − 20 T3 14 − 12 10 10 − M 5 15 20 35 15 5 s celkovou cenou 485 f.j. (opět jsme nepočítali fiktivní cenu 5 · M v posledním sloupci). 188 Fakulta elektrotechniky a komunikačních technologií VUT v Brně 11.2 Pravděpodobnostní modely 11.2.1 Model nepřetržité kontroly pro jednu položku Označení a předpoklady použití modelu: – zboží na skladě je neustále kontrolováno a jestliže jeho množství klesne na jistou hodnotu R, přikročí se k objednávce o velikosti y: PSfrag replacements R    y    y    y - čas mezi objednáním a dodáním - čas mezi objednáním a dodáním - cyklus 1 - cyklus 2 – náhodná veličina poptávky mezi objednáním a dodáním . . . X – podmíněná hustota poptávky X během času mezi objednáním a dodáním (nenulová pro x > 0) . . . r(x| t) – hustota doby t mezi objednáním a dodáním . . . s(t) – hustota poptávky x během doby mezi objednáním a dodáním: f(x) = ∞ 0 r(x| t) · s(t) dt – velikost objednávky v jednom cyklu . . . y – očekávaná celková poptávka za jednotku času (zpravidla 1 rok) . . . D Pravděpodobnost, statistika a operační výzkum 189 – jednotková skladovací cena za jednotku času . . . h – jednotková cena penalizaci při nevyřízené objednávce za jednotku času . . . p – cena objednávky (doprava) . . . K Řešení modelu: Určíme optimální R a y tak, aby celková cena skladování za jednotku času byla minimální – očekávané množství na skladě na konci cyklu . . . E(R − x) = R − Ex na začátku cyklu . . . y + R − Ex – průměrná velikost zásob za jeden cyklus . . . H = (y+R−Ex)+(R−Ex) 2 = y 2 + R − Ex (v tomto členu H je zanedbána situace, kdy R − Ex je záporná; předpokládá se, že se tím dopustíme malé chyby) – množství zboží, kterého je v daném cyklu nedostatek (a tudíž prodej nelze vyřídit) S(x) = 0 . . . x ≤ R x − R . . . x > R – průměrná velikost nevyřízené poptávky . . . S = ∞ 0 S(x) · f(x) dx = ∞ R (x − R)f(x) dx – celková cena skladování za jednotku času = = průměrná cena objednávky za jednotku času + očekávaná cena skladování + očekávaná penalizace v důsledku později vyřízených objednávek TAC(y, R) = DK y + h y 2 + R − Ex + p · DS y Zde došlo k dalšímu zjednodušení, že totiž penalizační člen uvažujeme nezávislý na době zpoždění dodávky, i když závislý je. Stacionární body funkce TAC(y, R) najdeme řešením systému ∂ TAC(y,R) ∂ y = 0 ∂ TAC(y,R) ∂ R = 0    ⇒ −DK y2 + h 2 − pDS y2 = 0 h − pD y ∞ R f(x) dx = 0 Systém lze přepsat ve tvaru y = 2D(K + pS) h (11.1) 190 Fakulta elektrotechniky a komunikačních technologií VUT v Brně ∞ R f(x) dx = hy pD (11.2) a řešit numericky iterační metodou (pokud tato konverguje k přesnému řešení). Zavádíme následující postup: a) y1 určíme ze zjednodušené verze rovnice (11.1): y1 = 2DK h b) dosazením y1 do (11.2) určíme R1 c) dosazením R1 do (11.1) určíme y2 d) dosazením y2 do (11.2) určíme R2 atd. Za jistých předpokladů (pro R = 0 máme y = 2D(K+p Ex) h z rov. (11.1) y = pD h z rov. (11.2), pro y ≥ y řešení existuje) platí yn → y∗ , Rn → R∗ . Příklad 11.8 Určete řešení pro K = 100 Kč, D = 1 000 jednotek zboží, p = 10 Kč, h = 2 Kč a rovnoměrné rozdělení poptávky X na intervalu [0; 100]. Řešení. y = pD h = 5 000 > y = 774, 5 ⇒ řešení existuje. Nejprve určíme S: S = ∞ R (x − R)f(x) dx = 100 R (x − R) · 1 100 dx = R2 200 − R + 50 Rovnice (11.1) a (11.2) jsou tvaru: (11.1) y = 2·1 000 100+10 R2 200 −R+50 2 (11.2) 100 R 1 100 dx = 2y 10·1 000 ⇒ R = 100 − y 50 Nyní užitím iteračního procesu: 1. iterace: pro S = 0 určíme z (11.1): y1 = 2DK h = 316 z (11.2): R1 = 100 − 316 50 = 93, 68 Pravděpodobnost, statistika a operační výzkum 191 2. iterace: S = R2 1 200 − R1 + 50 = 0, 19971 ⇒ y2 = 319, 37 z rovnice (11.1) R2 = 93, 612 z rovnice (11.2) 3. iterace: y3 = 319, 43 dosazením R2 do (11.1) R3 = 93, 612 dosazením y3 do (11.2) Hodnoty y3, R3 se už moc neliší od y2, R2, uzavíráme tedy y∗ = 319, 4; R∗ = 93, 61. 11.2.2 Model pro jednu položku a jedno období s jednorázovou objednávkou na začátku období a jednorázovou poptávkou Předpoklady užití modelu a označení: – na začátku období (před provedením objednávky) máme na skladě x jednotek zboží – neuvažujeme cenu objednávky K (objednává se pouze jednou) – po obdržení objednávky velikosti (y − x) se odčerpá poptávka D a na skladě zůstane H(y) = 0 . . . D ≥ y y − D . . . D < y, přičemž se nedostává G(y) = 0 . . . D < y D − y . . . D ≥ y jednotek zboží E E T T c T D c T y c T y c T D D < y D > y c na skladě po vyřízení poptávky D zůstane y − D jednotek zboží c nebylo vyřízeno D − y jednotek zboží poptávky D – penalizační cena (při nevyřízení prodeje zboží) jednotky zboží za jednotku času . . . p – cena skladování jednotky zboží za jednotku času (= za dané období) . . . h – výrobní cena jednotky zboží . . . c 192 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Vzhledem k typu poptávky budeme uvažovat dvě verze modelu: a) poptávka je spojitá náhodná veličina s hustotou f(D) očekávaná celková cena za období = výrobní cena zboží + očekávaná cena skladování + očekávaná cena penalizace EC(y) = c (y − x) + h ∞ 0 H(y) f(D) dD + p ∞ 0 G(y) f(D) dD = c (y − x) + h y 0 (y − D) f(D) dD + p ∞ y (D − y) f(D) dD. Optimální y∗ určíme nalezením stacionárního bodu, tj. řešením rovnice ∂EC(y) ∂y = 0: c + h y 0 f(D) dD − p ∞ y f(D) dD = 0 c + h y 0 f(D) dD − p  1 − y 0 f(D) dD   = 0 Odtud y∗ získáme z rovnice y∗ 0 f(D) dD = p − c p + h Model dává rozumný výsledek jen pro p > c, což je požadováno proto, že integrál na levé straně rovnosti je kladný. Optimálním rozhodnutím pak tedy je: y∗ > x . . . objednat y∗ − x y∗ ≤ x . . . neobjednávat další zboží Příklad 11.9 Určete řešení pro h = 0, 5 Kč, p = 4, 5, c = 0, 5 a hustotu f(D) = 1 10 . . . D ∈ 0; 10 0 . . . jinak . Pravděpodobnost, statistika a operační výzkum 193 Řešení. Máme p−c p+h = 0, 8; tj. P(D ≤ y∗ ) = y∗ 0 f(D) dD = 0, 8 y∗ 0 1 10 dD = 0, 8 y∗ 10 = 0, 8 ⇒ y∗ = 8 b) poptávka je diskrétní náhodná veličina s pstní funkcí f(Di) EC(y) = c (y − x) + h y Di=0 (y − Di) f(Di) + p ∞ Di=y+1 (Di − y) f(Di) Nutnou podmínkou pro minimum je EC(y∗ − 1) ≥ EC(y∗ ) a současně EC(y∗ + 1) ≥ EC(y∗ ). Dosazením EC máme (po jisté úpravě) F(y∗ − 1) = P(D ≤ y∗ − 1) ≤ p − c p + h ≤ P(D ≤ y∗ ) = F(y∗ ) (jak všichni ví, F označuje příslušnou distribuční funkci). Příklad 11.10 Určete řešení pro h = 1, p = 1, c = 2 a je-li poptávka zadána pstní funkcí f(Di): Di 0 1 2 3 4 5 f(Di) 0, 1 0, 2 0, 25 0, 2 0, 15 0, 1 Řešení. Sestrojíme distribuční funkci F (jedná se o kumulativní psti získané sečtením pstí, že Di ≤ yi): yi 0 1 2 3 4 5 F(yi) 0, 1 0, 3 0, 55 0, 75 0, 9 1 T p−c p+h = 0, 4, tj. y∗ = 2. 194 Fakulta elektrotechniky a komunikačních technologií VUT v Brně 11.2.3 Model pro jednu položku a jedno období se stejnoměrnou poptávkou v průběhu celého období Předpoklady užití modelu a označení: – na skladě máme x jednotek, jednorázově objednáme (y − x), tj. máme k dispozici celkem y jednotek zboží – poptávka za celé období je D – neuvažujeme cenu K objednávky – průběh zásob v závislosti na čase: E E T T c T D c T y c T y c T D D < y D > y průměrně je na skladě . . . y − D 2 průměrně se nedostává . . . 0 průměrně je na skladě . . . y2 2D průměrně se nedostává . . . (D−y)2 2D Při řešení modelu si vybereme např. jen tu situaci, že y je spojitá veličina: EC(y) = c (y−x)+h    y 0 y − D 2 f(D) dD + ∞ y y2 2D f(D) dD    +p ∞ y (D − y)2 2D f(D) dD Najdeme stacionární bod řešením rovnice ∂EC(y) ∂y = 0: c + h   y 0 f(D) dD + ∞ y y D f(D) dD   − p ∞ y D − y D f(D) dD = 0. Úpravou dostaneme vztah pro optimální hodnotu y∗ : y∗ 0 f(D) dD + y∗ ∞ y∗ f(D) D dD = p − c p + h Pravděpodobnost, statistika a operační výzkum 195 Ad Příklad 11.9. Uvažujme situaci z příkladu 11.9 jen s tím rozdílem, že poptávka není jednorázová, ale konstantní (rovnoměrně rozložená) v průběhu celého období. Pak vztah pro optimální hodnotu y∗ lze psát ve tvaru y 0 1 10 dD + y 10 y 1 10 D dD = 0, 8 1 10 (y − y ln y + 2, 3 y) = 0, 8 3, 3 y − y ln y − 8 = 0 Řešením dané nelineární rovnice najdeme numericky: y∗ = 4, 5. 11.2.4 Model pro jednu položku a jedno období s jednorázovou poptávkou na začátku období, přičemž uvažujeme cenu K objednávky Předpoklady modelu jsou stejné jako u 11.2.2 s tím rozdílem, že uvažujeme cenu K ob- jednávky. Řešení modelu je analogické řešení modelu 11.1.2 (s diskontní sazbou). Pokud k objednávce nedojde, je výsledek stejný jako u modelu 11.2.2; jinak musíme při realizaci objednávky k celkové ceně modelu 11.2.2 přičíst konstantu K. Uvažujme tedy větve f1 = EC(11.2.2) f2 = EC(11.2.2) + K. Analogicky modelu 11.1.2 (viz obrázek): PSfrag replacements f1 = EC(5.2.2) • f2 = EC(5.2.2) + K • Ss 196 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Označme s . . . takový bod, že f1(s) = f2(S) S . . . minimum funkcí f1, f2 Na rozdíl od modelu 11.1.2 je bod s nalevo od bodu S. S určíme na základě 11.2.2: S 0 f(D) dD = p − c p + h Body s, S rozdělí reálnou osu na tři části; podle toho, ve které z nich se nachází hodnota x počtu jednotek zboží na skladě před provedením objednávky. Mluvíme zde o tzv. s − S politice. a) x < s: PSfrag replacements f1 ◦ f2 • x s S Protože x jednotek už neobjednáváme, jejich cena je f1(x) = EC(x, 11.2.2); (y − x) jednotek objednáváme s cenou f2(x) = K + EC(x, 11.2.2). Optimum nastane pro S . . . tj. objednat (S − x). Pravděpodobnost, statistika a operační výzkum 197 b) s ≤ x ≤ S: PSfrag replacements f1 ◦ f2 • xs S Minimum ceny je v bodě x, tj. rozhodnutí: neobjednávat více. c) S < x: PSfrag replacements f1 ◦ f2 • xs S Minimum je v S, opět je nejlepší neobjednávat nic víc. 198 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Ad Příklad 11.9. Uvažujme situaci v příkladu 11.9 z modelu 11.2.2, navíc ovšem cenu objednávky K = 25 Kč; x = 0. Protože y∗ = 8, máme S = 8. Najdeme s: EC(y, 11.2.2) = 0, 5 (y − x) + 0, 5 y 0 1 10 (y − D) dD + 4, 5 10 y 1 10 (D − y) dD = 0, 5 (y − x) + 0, 5 y D − D2 2 y 0 + 0, 45 D2 2 − y D 10 y = 0, 25 y2 − 4 y + 22, 5 − 0, 5 x = 0, 25 y2 − 4 y + 22, 5 EC(s) = K + EC(S) 0, 25 s2 − 4 s + 22, 5 = 25 + 0, 25 · 64 − 4 · 8 + 22, 5 s2 − 16 s − 36 = 0 s1,2 = −2 18 Volíme to s, jež je menší než S = 8, tj. s = −2. To znamená, že případ x < s nemůže nastat, tj. rozhodnutí je v každém případě neobjednávat. 11.3 Shrnutí V této kapitole jsme se zabývali matematickým zpracováním odpovědi na následující otázku z teorie zásob: Kdy a kolik zboží je optimální objednat? Rozhodnutí o skladové politice je prováděno s ohledem na celkovou cenu (tuto celkovou cenu chceme minimalizovat): celková cena = cena zboží + cena objednávky (dopravy) + cena skladování + cena penalizační za škody vzniknuvší při nedostatku zásob Podle typu poptávky zboží rozdělujeme matematické modely na deterministické (je známa velikost poptávky zboží) a pravděpodobnostní (poptávka přesně není známa, pouze její pravděpodobná hodnota). Dále můžeme modely dělit podle toho, jestli se velikost poptávky s rostoucím časem mění nebo ne, a to na statické a dynamické (v případě deterministických modelů) a na stacionární a nestacionární (v případě pstních modelů). A. Deterministické modely A.1. Statický model pro jednu položku Předpoklady použití modelu: – poptávka je konstantní . . . β jednotek zboží za jednotku času Pravděpodobnost, statistika a operační výzkum 199 – zásoby jsou jednorázové doplňovány po určité časové periodě t0 – není uvažován nedostatek zásob (záporné zásoby na skladě znamenají nevyřízenou objednávku zboží) – velikost objednávky . . . y jednotek zboží – dodací lhůta objednávky je známá konstanta . . . L časových jednotek – cena objednávky (dopravy) . . . K finančních jednotek – h . . . cena skladování jednotky zboží za jednotku času Řešení modelu: řešením je optimální velikost objednávky y0 taková, aby celková cena byla minimální y0 = 2Kβ h Objednávku musíme realizovat vždy L časových jednotek před vyčerpáním zásob. A.2. Statický model pro jednu položku s diskontními cenami Předpoklady použití modelu jsou stejné jako u předchozího modelu až na to, že do celkové ceny se navíc započítává i fakt, že pokud objednané množství překročí nějakou hranici q, klesá cena jednotky zboží. Tj. celková cena za jednotku času je dána vztahem: TCU(y) = f1(y) = β · c1 + K·β y + h 2 · y . . . y < q f2(y) = β · c2 + K·β y + h 2 · y . . . y ≥ q (c1 > c2) Řešení modelu: určíme y0 = 2Kβ h ; pokud y0 > q, optimální hodnota objednávky je y0; jinak určíme q1 tak, aby f2(q1) = f1(y0); pak pro q < q1 objednáme q jednotek zboží, jinak je optimální hodnota opět y0. A.3. Statický model pro více druhů zboží s omezením skladového pro- storu Předpoklady použití modelu: – maximální plocha skladování . . . A – požadavek skladovací plochy na jednotku i-tého druhu zboží . . . ai – velikost objednávky zboží druhu i . . . yi musí platit (∗) n i=1 ai yi ≤ A – zboží každého druhu je jednorázově doplňováno s periodou ti = yi βi , kde βi, Ki, hi mají stejný význam jako v modelu A.1, ale pro zboží druhu i není uvažován nedostatek zásob ani diskontní ceny. 200 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Řešení modelu: Pokud y 0 i = 2 Ki βi hi splňují omezení (∗), máme optimum. V opačném případě řešíme systém    y 0 i = 2 Ki βi hi+2 λ ai n i=1 ai y 0 i − A = 0    numericky: zvyšujeme λ s určitým krokem tak dlouho, až výraz n i=1 ai yi − A je záporný; z posledních dvou hodnot λ pak interpolací najdeme optimální λ, tj. i optimální y 0 i . A.4. Dynamický model pro jednu položku a N období Předpoklady použití modelu: – poptávka v období i . . . Di (Di ∈ R) – množství zboží objednávané na začátku období i . . . zi – množství zboží, které je na skladě na začátku období i před přijetím objednávaného zi . . . xi – jednotková cena skladování, jestliže zboží skladované v období i zůstane na skladě i na začátku období i + 1 . . . hi – cena objednávky v období i . . . Ki – výrobní cena zboží při objednávaném množství zi . . . ci(zi) (může se měnit v různých obdobích, lze uvažovat i diskontní ceny) – cena nákupu zboží v období i . . . Ci(zi) = 0 . . . zi = 0 Ki + ci(zi) . . . zi > 0 Řešení modelu: Úkolem je určit optimální zi. Použijeme přímý algoritmus dynamického programování, rekurzivní rovnice jsou tvaru: f1(x2) = min 0≤z1≤D1+x2 (C1(z1) + h1 x2) fi(xi+1) = min 0≤zi≤Di+xi+1 (Ci(zi) + hi xi+1 + fi−1(xi)) pro i = 2, . . . , N V jakékoliv fázi musí platit 0 ≤ xi+1 ≤ Di+1 + · · · + DN . A.5. Dynamický model plánování výroby jedné položky na N období Cílem modelu je naplánovat výrobu tak, aby se minimalizovala její celková cena. Označení a předpoklady použití modelu: – výrobní cena jednotky zboží v pracovní době období i . . . ci Pravděpodobnost, statistika a operační výzkum 201 – výrobní cena jednotky zboží v přesčasové době období i (ci < di) . . . di – skladovací cena jednotky zboží, které zůstalo na skladu na konci období i . . . hi – penalizační cena jednotky zboží objednaného v období i, ovšem vyrobeného v období i + 1 . . . pi – výrobní kapacita (v počtu jednotek) v období i v pracovní době . . . aRi – výrobní kapacita v období i v přesčasové době . . . aTi – poptávka (v počtu jednotek) v období i . . . bi Řešení modelu a) pi = 0: Díky tomuto předpokladu zde platí (∗) k i=1 (aRi + aTi ) ≥ k j=1 bj, k = 1, 2, . . . , N Úlohu lze formulovat jako dopravní úlohu a zapsat do tabulky. Protože platí (∗), stačí projít všechny sloupce uvedeným algoritmem pouze jednou a již máme optimální řešení. b) pi = 0: Už nemusí být splněna (∗), tj. po vyplnění tabulky postupem z a) musíme ještě provést optimalizační krok, kterým se eventuelně sníží celková cena výroby + skladování. B. Pravděpodobnostní modely B.1. Model nepřetržité kontroly pro jednu položku Označení a předpoklady použití modelu: – zboží na skladě je neustále kontrolováno a jestliže jeho množství klesne na jistou hodnotu R, přikročí se k objednávce o velikosti y – náhodná veličina poptávky mezi objednáním a dodáním . . . X – podmíněná hustota poptávky X během času mezi objednáním a dodáním (nenulová pro x > 0) . . . r(x| t) – hustota doby t mezi objednáním a dodáním . . . s(t) – hustota poptávky x během doby mezi objednáním a dodáním: f(x) = ∞ 0 r(x| t) · s(t) dt 202 Fakulta elektrotechniky a komunikačních technologií VUT v Brně – velikost objednávky v jednom cyklu . . . y – očekávaná celková poptávka za jednotku času (zpravidla 1 rok) . . . D – jednotková skladovací cena za jednotku času . . . h – jednotková cena penalizaci při nevyřízené objednávce za jednotku času . . . p – cena objednávky (doprava) . . . K Řešení modelu: Následujícím postupem určíme optimální R a y tak, aby celková cena skladování za jednotku času byla minimální: a) Vypočteme y1 y1 = 2DK h b) dosazením y1 do ∞ Rn f(x) dx = hyn pD určíme R1. c) dosazením R1 do yn+1 = 2D(K + pSn) h , kde Sn = ∞ Rn (x − Rn)f(x) dx určíme y2. Za jistých předpokladů platí yn → y∗ , Rn → R∗ , tj. kroky b) a c) opakujeme tak dlouho, až jsou hodnoty dostatečně přesné. B.2. Model pro jednu položku a jedno období s jednorázovou objednávkou na začátku období a jednorázovou poptávkou Předpoklady užití modelu a označení: – na začátku období (před provedením objednávky) máme na skladě x jednotek zboží – neuvažujeme cenu objednávky K (objednává se pouze jednou) – po obdržení objednávky velikosti (y − x) se odčerpá poptávka D a na skladě zůstane H(y) = 0 . . . D ≥ y y − D . . . D < y, přičemž se nedostává G(y) = 0 . . . D < y D − y . . . D ≥ y jednotek zboží Pravděpodobnost, statistika a operační výzkum 203 – penalizační cena (při nevyřízení prodeje zboží) jednotky zboží za jednotku času . . . p – cena skladování jednotky zboží za jednotku času (= za dané období) . . . h – výrobní cena jednotky zboží . . . c Řešení modelu: a) poptávka je spojitá náhodná veličina s hustotou f(D) Optimální y∗ získáme řešením rovnice y∗ 0 f(D) dD = p − c p + h b) poptávka je diskrétní náhodná veličina s pstní funkcí f(Di) Optimální y∗ získáme řešením rovnice F(y∗ − 1) ≤ p − c p + h ≤ F(y∗ ) Optimálním rozhodnutím pak je: y∗ > x . . . objednat y∗ − x y∗ ≤ x . . . neobjednávat další zboží. B.3. Model pro jednu položku a jedno období se stejnoměrnou poptávkou v průběhu celého období Předpoklady užití modelu a označení: – na skladě máme x jednotek, jednorázově objednáme (y − x), tj. máme k dispozici celkem y jednotek zboží – poptávka za celé období je D – neuvažujeme cenu K objednávky Řešení modelu: Optimální hodnotu y∗ (pro spojitou náhodnou veličinu y) získáme řešením rovnice: y∗ 0 f(D) dD + y∗ ∞ y∗ f(D) D dD = p − c p + h . 204 Fakulta elektrotechniky a komunikačních technologií VUT v Brně B.4. Model pro jednu položku a jedno období s jednorázovou poptávkou na začátku období, přičemž uvažujeme cenu K objednávky Předpoklady modelu jsou stejné jako u B.2 s tím rozdílem, že uvažujeme cenu K objednávky. Řešení modelu: Je analogické řešení modelu A.2. Pokud k objednávce nedojde, je výsledek stejný jako u modelu B.2; jinak musíme při realizaci objednávky k celkové ceně modelu B.2 přičíst konstantu K. Uvažujeme tedy větve f1 = EC(B.2) f2 = EC(B.2) + K. Označme s . . . takový bod, že f1(s) = f2(S) S . . . minimum funkcí f1, f2 Body s, S rozdělí reálnou osu na tři části; optimální řešení najdeme podobně jako v modelu A.2. 11.4 Otázky k opakování U následujících výroků rozhodněte, zda se jedná o výrok pravdivý či nepravdivý. Otázka 11.1 Časová perioda t0, po které jsou zásoby jednorázově doplněny, je ve „statickém modelu pro jednu položku konstantní. Otázka 11.2 Ve „statickém modelu pro jednu položku je optimální hodnota y0 jediným minimem funkce TCU(y). Otázka 11.3 Ve „statickém modelu pro jednu položku s diskontními cenami může být funkce TCU(y) na některém intervalu konkávní. Otázka 11.4 V případě „statického modelu pro více druhů zboží s omezením skladového prostoru je zahrnut i případ nedostatečných zásob zboží libovolného druhu i. Otázka 11.5 Při hledání optima „statického modelu pro více druhů zboží s omezením skladového prostoru se řeší systém n rovnic o n neznámých. Otázka 11.6 V případě „dynamického modelu pro jednu položku a N období musíme v každém období vyčerpat všechny zásoby. Otázka 11.7 Při řešení „dynamického modelu plánování výroby jedné položky na N období využíváme dynamického programování. Otázka 11.8 V případě „dynamického modelu plánování výroby jedné položky na N období je zahrnut i případ nedostatečných zásob zboží v libovolném období i. Otázka 11.9 Časová perioda t, po které jsou zásoby jednorázově doplněny, je v „modelu nepřetržité kontroly pro jednu položku konstantní. Pravděpodobnost, statistika a operační výzkum 205 Otázka 11.10 V případě „modelu pro jednu položku a jedno období s jednorázovou objednávkou na začátku období a jednorázovou poptávkou je optimální velikost objednávky přímo úměrná rozdílu penalizační a výrobní ceny jednotky zboží. Otázka 11.11 V „modelu pro jednu položku a jedno období se stejnoměrnou poptávkou v průběhu celého období je poptávka za celé období známá konstanta. Otázka 11.12 V případě „modelu pro jednu položku a jedno období s jednorázovou poptávkou na začátku období, přičemž uvažujeme cenu K objednávky je zahrnut i případ nedostatečných zásob zboží. Odpovědi na otázky viz 13.6. 11.5 Příklady ke cvičení Příklad 11.1 Roční poptávka zboží je 1500 jednotek. Cena objednávky je vždy 20 Kč navíc k ceně zboží. Skladovací cena jednotky zboží je 2 Kč na měsíc a není dovolen nedostatek zásob. a) Určete optimální velikost objednávky a čas mezi jednotlivými objednávkami. b) Určete rozdíl roční celkové ceny optimální strategie a roční celkové ceny, kdyby se objednávalo každý měsíc 12-krát za rok. Příklad 11.2 Cena zboží je 4 Kč za jednotku, ale při odběru 150 kusů a více dostaneme 10% slevu. Firma, která spotřebuje 20 kusů za den, se rozhoduje, jestli se jí vyplatí využít akční nabídky. Cena objednávky je 50 Kč a skladovací cena jednotky zboží je 0, 30 Kč za 1 den. Měla by firma využít slevu? Příklad 11.3 Pro potřeby výrobního procesu jsou skladovány 4 druhy materiálu. Poptávka po všech typech je stále stejná a není povolen nedostatek zásob. Di označuje potřebné množství i-tého druhu za rok. V souladu se značením v kapitole 11.1.3 jsou dány následující údaje: materiál i Ki βi hi Di 1 100 10 0, 1 10 000 2 50 20 0, 2 5 000 3 90 5 0, 2 7 500 4 20 10 0, 1 5 000 Určete optimální velikosti objednávek pro jednotlivé druhy materiálu, jestliže požadujeme, aby maximální počet všech objednávek nepřekročil 200. 206 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Příklad 11.4 Uvažujme hospodaření jedné položky v průběhu čtyř období: období i Di Ki hi 1 5 5 1 2 7 7 1 3 11 9 1 4 3 7 1 Nákupní cena je 1 Kč za jednotku u prvních šesti jednotek a 2 Kč za každou další jednotku. Stanovte optimální plán objednávek. Příklad 11.5 Poptávka po produktu může být v následujících čtyřech obdobích uspokojena buď výrobou v normální pracovní době nebo v přesčasové době. Kapacity výroby a poptávka pro jednotlivá období jsou dány v následující tabulce: kapacity výroby poptávka období i aRi aTi bi 1 120 50 160 2 70 20 80 3 90 80 150 4 70 50 100 Výrobní cena jednotky zboží je po všechna období stejná, v normální pracovní době je 1 Kč, v přesčasové době je 2 Kč. Skladovací cena jednotky zboží je také po všechna období stejná a je rovna 0, 5 Kč za jedno období. Dále také nesmí nastat případ, že by v některém období výroba nepokryla objednávky. Stanovte optimální plán výroby. Příklad 11.6 Uvažujme model nepřetržité kontroly pro jednu položku. Určete optimální řešení pro K = 20 Kč, D = 10 000 jednotek zboží, p = 4 Kč, h = 2 Kč a normální rozdělení poptávky X se střední hodnotou 100 a rozptylem 4. Příklad 11.7 Jednorázová poptávka zboží pro jedno období má exponenciální rozdělení se střední hodnotou 10 jednotek. Objednáváme jednorázově na začátku období, cena skladování a penalizační cena jednotky zboží za jednotku času jsou 1 Kč, resp. 3 Kč. Výrobní cena jednotky zboží je 2 Kč. Určete optimální velikost objednávky, jestliže před provedením objednávky máme na skladě 2 jednotky zboží. Jaká je optimální velikost objednávky, jestliže před provedením objednávky máme na skladě 5 jednotek zboží? Příklad 11.8 Řešte příklad 11.7, jestliže jednorázová poptávka zboží pro jedno období má Poissonovo rozdělení se střední hodnotou 10 jednotek. Příklad 11.9 Poptávka zboží, která má rozdělení dáno hustotou f(D) = 1 − 1 2 D . . . D ∈ 0, 2 0 . . . jinak, Pravděpodobnost, statistika a operační výzkum 207 je konstantní (stejnoměrně rozdělená) v průběhu celého období. Objednáváme jednorázově na začátku období, cena skladování a penalizační cena jednotky zboží za jednotku času jsou 1 Kč, resp. 4 Kč. Výrobní cena jednotky zboží je 2 Kč. Určete optimální velikost objednávky. Příklad 11.10 Určete optimální strategii objednávání u modelu pro jednu položku a jedno období s jednorázovou poptávkou, je-li dáno f(D) = 1 5 D . . . D ∈ 5, 10 0 . . . jinak, h = 1 Kč, p = 5 Kč a c = 3 Kč. Uvažujeme také cenu objednávky K = 5 Kč a víme, že před provedením objednávky máme na skladě 10 jednotek zboží. Výsledky příkladů viz 13.6. 208 Fakulta elektrotechniky a komunikačních technologií VUT v Brně 12 Pravděpodobnostní dynamické programování Následující úloha jen slouží jako demonstrace problematiky. Využití uváděných metod spadá i do jiných oblastí, právě i do probírané teorie skladových zásob, dále teorie obnovy, řízení toku peněz, regulace vodní nádrže, apod. Příklad 12.1 Problém zahradnice. Zahradnice každý rok testuje kvalitu půdy své zahrady. Výsledky dělí do tří kategorií: výborná (stav 1), dobrá (stav 2), špatná (stav 3). Všimla si, že může předpokládat, že úrodnost půdy závisí na její kvalitě pouze v předchozím roce, tj. že psti přechodu z jednoho stavu do druhého lze reprezentovat Markovského řetězcem: p1 ij = PPP1 = 1 2 3 → stav půdy v příštím roce 1 2 3    0, 2 0, 5 0, 3 0 0, 5 0, 5 0 0 1    ↓ stav půdy letos Z matice přechodových pstí je vidět, že když se půda nechá ladem, jde její produktivita od deseti k pěti. Samozřejmě, že psti přechodu mohou být ovlivněny přihnojováním půdy: p2 ij = PPP2 = 1 2 3 1 2 3    0, 3 0, 6 0, 1 0, 1 0, 6 0, 3 0, 05 0, 4 0, 55    (PPP2 neznamená „pé na druhou , ale „pé s indexem 2 ). Příslušné roční výnosy půdy (ve stovkách dolarů), když půda přijde ze stavu i do stavu j, jsou: • když se nehnojí: r1 ij = RRR1 =    7 6 3 0 5 1 0 0 −1    • když se hnojí: r2 ij = RRR2 =    6 5 −1 7 4 0 6 3 −2    Pravděpodobnost, statistika a operační výzkum 209 Z matic RRR1 ,RRR2 je například vidět, že proces 1 → 1 má nižší výnos při hnojení než bez hnojení, protože ve výnosu při hnojení je započítána cena hnojiva. Otázka úlohy: 1) Hnojit či nehnojit v daném roce, aby celkové výnosy za k let byly maximální? 2) Jaký výnos celkem přinese daná posloupnost rozhodnutí v nejbližších k letech? (Např. jednoduchá je odpověď v případě tzv. stacionární politiky „hnojit jen za stavu 3 : v tomto případě se matice s výhledem na k = ∞ období najdou snadno: PPP =    0, 2 0, 5 0, 3 0 0, 5 0, 5 0, 05 0, 4 0, 55    , RRR =    7 6 3 0 5 1 6 3 −2    (první dva řádky jsou shodné s maticemi PPP1 ,RRR1 , třetí řádek s maticemi PPP2 ,RRR2 )). Řešení. a) řešení úlohy pro konečné k = N Úlohu vyřešíme pomocí dynamického programování: m . . . počet možných stavů (v našem příkladu m = 3) fn(i) . . . optimální (očekávaný) výnos z fází n, n + 1, . . . , N za daného stavu i na počátku období n Využijeme zpětné rekurzivní rovnice (viz obrázek):             ........ ........ ........ ........ rr rrr rrr rrr rrrj E¨¨ ¨¨¨ ¨¨¨ ¨¨¨ ¨¨¨B1 i m 1 j m fn+1(1) fn+1(j) fn+1(m) fn(1) fn(i) fn(m) fáze n fáze n + 1 pk ijrk ij p k im r k im p k i1 r k i1 210 Fakulta elektrotechniky a komunikačních technologií VUT v Brně fn(i) = max k m j=1 pk ij rk ij + fn+1(j) , n = 1, 2, . . . , N fN+1 = 0 pro každé j Označíme-li vk i = m j=1 pk ijrk ij, rekurzivní rovnice mají tvar fN (i) = max k vk i fn(i) = max k vk i + m j=1 pk ijfn+1(j) pro n = 1, 2, . . . , N − 1 Např. v naší úloze pro k = 1 v1 1 = 0, 2 · 7 + 0, 5 · 6 + 0, 3 · 3 = 5, 3 v1 2 = 0 · 0 + 0, 5 · 5 + 0, 5 · 1 = 3 v1 3 = 0 · 0 + 0 · 0 + 1 · (−1) = −1    zisky jednotlivých stavů při alternativě „nehnojit Ad Příklad 12.1. Předpokládejme N = 3 . . . tříletý horizont plánování v2 1 = 4, 7 v2 2 = 3, 1 v2 3 = 0, 4    zisky jednotlivých stavů při alternativě „hnojit fáze 3: vk i opt. řešení i k = 1 k = 2 f3(i) k∗ 1 5, 3 4, 7 5, 3 1 2 3 3, 1 3, 1 2 3 −1 0, 4 0, 4 2 Pravděpodobnost, statistika a operační výzkum 211 fáze 2: vk i + pk i1f3(1) + pk i2f3(2) + pk i3f3(3) opt. řešení i k = 1 k = 2 f2(i) k∗ 1 5, 3 + 0, 2 · 5, 3 + 0, 5 · 3, 1 +0, 3 · 0, 4 = 8, 03 4, 7 + 0, 3 · 5, 3 + 0, 6 · 3, 1 +0, 1 · 0, 4 = 8, 19 8, 19 2 2 3 + 0 + 0, 5 · 3, 1 +0, 5 · 0, 4 = 4, 75 3, 1 + 0, 1 · 5, 3 + 0, 6 · 3, 1 +0, 3 · 0, 4 = 5, 61 5, 61 2 3 −1 + 0 + 0 + 1 · 0, 4 = −0, 6 0, 4 + 0, 05 · 5, 3 + 0, 4 · 3, 1 +0, 55 · 0, 4 = 2, 13 2, 13 2 fáze 1: vk i + pk i1f2(1) + pk i2f2(2) + pk i3f2(3) opt. řešení i k = 1 k = 2 f1(i) k∗ 1 5, 3 + 0, 2 · 8, 19 + 0, 5 · 5, 61 +0, 5 · 2, 13 = 10, 38 4, 7 + 0, 3 · 8, 19 + 0, 6 · 5, 61 +0, 1 · 2, 13 = 10, 74 10, 74 2 2 3 + 0 + 0, 5 · 5, 61 +0, 5 · 2, 13 = 6, 87 3, 1 + 0, 1 · 8, 19 + 0, 6 · 5, 61 +0, 3 · 2, 13 = 7, 92 7, 92 2 3 −1 + 0 + 0 + 1 · 2, 13 = 1, 13 0, 4 + 0, 05 · 8, 19 + 0, 4 · 5, 61 +0, 55 · 2, 13 = 4, 23 4, 23 2 Můžeme psát odpověď: zahradnice by měla v prvním a druhém roce hnojit vždy, a ve třetím roce hnojit tehdy, pokud je stav 2 nebo 3. Optimální zisk záleží na stavu půdy v roce plánování (= před prvním rokem, který jsme v plánování uvažovali). Při půdě ve stavu 1 bude 10, 74 · 100 $ 2 7, 92 · 100 $ 3 4, 23 · 100 $ Výhodou zpětného chodu metody dynamického programování je to, že pokud chceme zvýšit plánovací horizont o 1 rok (tj. na 4 roky), všechna data zůstanou využita, pouze při fázi 1 přidáme ještě další fázi – fázi 0. 212 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Tato „úloha zahradnice může být zobecněna dvěma způsoby: – přechodové psti mohou být každý rok jiné . . . pk,n ij . Pak by byly rovnice ve tvaru fN (i) = max k vk,N i fn(i) = max k vk,n i + m j=1 pk,n ij fn+1(j) pro n = 1, 2, . . . , N − 1 – chceme znát současnou hodnotu očekávaných zisků (tj. výnosy příštích let budou násobeny koeficientem α < 1): D dolarů příští rok = α · D dolarů dnes (α = 1 1+t , kde t je roční úroková míra (= interest rate)). Pak bychom mohli užít rovnice ve tvaru fN (i) = max k vk i fn(i) = max k vk i + α m j=1 pk ijfn+1(j) pro n = 1, 2, . . . , N − 1 Při vyhodnocení stacionární politiky (=stále stejné politiky v každém roce) užíváme vztahu fn(i) = Ni + m j=1 pij fn+1(j) c roční zisk zvolené politiky c příslušný řádek matice zvolené politiky Například pro stacionární politiku „hnojit jen ve stavu 3 je v1 = v1 1 = 5, 3 v2 = v1 2 = 3 v3 = v2 3 = 0, 4    odhad hodnoty fn(i) pro nižší n lze určit a uspořádat do ta- bulky: Pravděpodobnost, statistika a operační výzkum 213 i n 3 2 1 1 5, 3 5, 3 + 0, 2 · 5, 3 + 0, 5 · 3 +0, 3 · 0, 4 = 7, 98 5, 3 + 0, 2 · 7, 98 + 0, 5 · 4, 7 +0, 3 · 2, 09 = 9, 87 2 3 3 + 0 + 0, 5 · 3 + 0, 5 · 0, 4 = 4, 7 3 + 0, 5 · 4, 7 + 0, 5 · 2, 09 = 6, 39 3 0, 4 0, 4 + 0, 05 · 5, 3 + 0, 4 · 3 +0, 55 · 0, 4 = 2, 09 0, 4 + 0, 05 · 7, 98 + 0, 4 · 4, 7 +0, 55 · 2, 09 = 3, 83 c zisky vzhledem k počátečnímu stavu b) řešení úlohy pro k nekonečné (nebo hodně velké) 1) metoda úplného vyčíslení . . . ohodnotíme všechny stacionární politiky a vybereme tu optimální (lze ji užít jen při nízkém počtu stacionárních politik): pro S stacionárních politik PPP1 ,RRR1 PPP2 ,RRR2 ... PPPS ,RRRS vypočteme – vs i . . . výnos jednoho kroku politiky s ve stavu i (i = 1, 2, . . . , m) – πs i . . . dlouhodobé stacionární psti pro jednotlivé politiky (slovo „politika je zde užito v ženském rodě): řešením systému πππs · PPPs = πππs m i=1 πs i = 1 (je zde maticové zapsán systém (m+1) lineárních rovnic o m neznámých (jedna z prvních m rovnic je nadbytečná)) – očekávaný výnos pro politiku s: Es = m i=1 πs i vs i Pak optimální politika je ta, pro níž je Es maximální. 214 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Ad Příklad 12.1. Díky 3 stavům a dvěma možnostem v každém z nich existuje 23 = 8 politik: hnojit v každém stavu nehnojit nikdy hnojit jen ve stavu 1 hnojit jen ve stavu 2 hnojit jen ve stavu 3 hnojit jen ve stavech 1 nebo 2 hnojit jen ve stavech 1 nebo 3 hnojit jen ve stavech 2 nebo 3 Kdybychom pro každou z nich určili PPPs ,RRRs , vs i , πs i , zjistili bychom, že optimální stacionární politika je „hnojit v každém stavu . 2) metoda zlepšení politiky (+ neuvažujeme inflaci) Už pro 4 alternativy v každém roce (např. hnojit, nehnojit, hnojit 2× ročně, hnojit 3× ročně) je množství stacionárních politik 43 = 256. Zde je výhodnější užít následující metodu: Přepišme rovnici jednoho roku politiky fn(i) = vi + m j=1 pijfn+1(j) do tvaru fη(i) = vi + m j=1 pijfη−1(j) (∗) kde η je počet fází, které zbývá vzít v úvahu (abychom mohli studovat asymptotický proces η → ∞); dále (π1, π2, . . . , πm) . . . psti rovnovážného stavu asymptotického procesu, očekávaný zisk za jednu fázi (= jeden rok) je E = π1v1 + · · · + πmvm. Lze ukázat, že pro velká η platí fη(i) = η · E + f(i), kde f(i) je jakási konstantní hodnota pro stav i očekávaná při asymptotickém cho- vání. Rekurzivní rovnici (∗) lze tedy psát ve tvaru η · E + f(i) = vi + m j=1 pij {(η − 1) · E + f(j)} Pravděpodobnost, statistika a operační výzkum 215 a po úpravě E = vi + m j=1 pij f(j) − f(i) pro i = 1, 2, . . . , m To je systém m rovnic o (m + 1) neznámých, tj. jednu z nich lze zvolit, např. f(m) = 0. krok 1: zvolíme libovolnou politiku s, tj. PPPs ,RRRs ; předpokládejme fs (m) = 0 a vyřešme systém m rovnic o m neznámých Es = vs i + m j=1 ps ij fs (j) − fs (i), i = 1, 2, . . . , m krok 2: (zlepšení politiky) pro každý stav i určíme alternativu k s maximální hodnotou výrazu vk i + m j=1 pk ij fs (j); → tím se určí maximální E pro každý stav to bude nová politika t. Pokračujeme opakováním kroků 1,2 tak dlouho, až s = t. Ad Příklad 12.1. krok 1: zvolme politiku s . . . „nehnojit vůbec ⇒ PPPs = původní PPP1 RRRs = původní RRR1 řešme systém E + f(1)−0, 2 f(1)−0, 5 f(2)−0, 3 f(3) =5, 3 E + f(2) −0, 5 f(2)−0, 5 f(3) = 3 E + f(3) −f(3) =−1 E = −1 ⇒ f(1) ≈ 12, 88 f(2) = 8 f(3) = 0 216 Fakulta elektrotechniky a komunikačních technologií VUT v Brně krok 2: vk i + pk i1f(1) + pk i2f(2) + pk i3f(3) opt. řešení i k = 1 k = 2 f(i) k∗ 1 5, 3 + 0, 2 · 12, 88 +0, 5 · 8 = 11, 875 4, 7 + 0, 3 · 12, 88 +0, 6 · 8 = 13, 36 13, 36 2 2 3 + 0, 5 · 8 = 7 3, 1 + 0, 1 · 12, 88 +0, 6 · 8 = 9, 19 9, 19 2 3 −1 + 0 = −1 0, 4 + 0, 05 · 12, 88 +0, 4 · 8 = 4, 24 4, 24 2 ⇓ nová politika t . . . „hnojit vždy ; t = s, tj. pokračujeme. krok 1’: PPP2 ,RRR2 ⇒ řešíme systém, získáváme E = 2, 26 f(1) = 6, 75 f(2) = 3, 79 f(3) = 0 krok 2’: vk i + pk i1f(1) + pk i2f(2) + pk i3f(3) opt. řešení i k = 1 k = 2 f(i) k∗ 1 5, 3 + 0, 2 · 6, 75 +0, 5 · 3, 79 = 8, 54 4, 7 + 0, 3 · 6, 75 +0, 6 · 3, 79 = 8, 99 8, 99 2 2 3 + 0, 5 · 3, 79 = 4, 89 3, 1 + 0, 1 · 6, 75 +0, 6 · 3, 79 = 6, 05 6, 05 2 3 −1 + 0 = −1 0, 4 + 0, 05 · 6, 75 +0, 4 · 3, 79 = 2, 25 2, 25 2 ⇓ t = s, tj. končíme, E = 2, 26 je zisk optimální politiky Tedy k optimálnímu řešení stacionární politiky jsme dospěli už po dvou iteracích, nemuseli jsme procházet všech 8 politik. 3) metoda zlepšení politiky (+ uvažuje inflaci) fη(i) = max k vk i + α m j=1 pk ijfη−1(j) Pravděpodobnost, statistika a operační výzkum 217 Pro η → ∞ je fη(i) = f(i), tj. fη(i) nezávisí na η narozdíl od metody zlepšení bez uvažování inflace (je to vidět z toho, že E = 0 . . . budoucí zisk se vlivem inflace blíží k nule). Postup řešení: opět jsou zde kroky 1,2, ovšem v kroku 1 je systém m rovnic o m neznámých (E = 0 . . . vypadlo ze systému) a ve 2.kroku volíme variantu s maximální hodnotou výrazu vk i + α m j=1 pk ij fs (j) Oba kroky opakujeme tak dlouho, až nová varianta je stejná jako ta stará. Ad Příklad 12.1. krok 1: počáteční politika . . . (1, 1, 1) řešením systému f(1) − 0, 6 (0, 2 f(1)+0, 5 f(2)+0, 3 f(3)) =5, 3 f(2) − 0, 6 ( 0, 5 f(2)+0, 5 f(3)) = 3 f(3) − 0, 6 ( f(3)) =−1 dostaneme f(1) ≈ 6, 6 f(2) ≈ 3, 21 f(3) ≈ −2, 5. krok 2: vk i + α(pk i1f(1) + pk i2f(2) + pk i3f(3)) i k = 1 k = 2 k∗ 1 5, 3 + 0, 6 (0, 2 · 6, 6 + 0, 5 · 3, 21 −0, 3 · 2, 5) = 6, 6 4, 7 + 0, 6 (0, 3 · 6, 6 + 0, 6 · 3, 21 −0, 1 · 2, 5) = 6, 89 2 2 3 + 0, 6 (0, 5 · 3, 21 −0, 5 · 2, 5) = 3, 21 3, 1 + 0, 6 (0, 1 · 6, 6 + 0, 6 · 3, 21 −0, 3 · 2, 5) = 4, 2 2 3 −1 + 0, 6 (−2, 5) = −2, 5 0, 4 + 0, 6 (0, 05 · 6, 6 + 0, 4 · 3, 21 −0, 55 · 2, 5) = 0, 54 2 tj. s1 = (2, 2, 2) krok 1’: řešením systému f(1) − 0, 6 ( 0, 3 f(1)+0, 6 f(2)+ 0, 1 f(3)) =4, 7 f(2) − 0, 6 ( 0, 1 f(1)+0, 6 f(2)+ 0, 3 f(3)) =3, 1 f(3) − 0, 6 (0, 05 f(1)+0, 4 f(2)+0, 55 f(3)) =0, 4 218 Fakulta elektrotechniky a komunikačních technologií VUT v Brně dostaneme f(1) ≈ 8, 88 f(2) ≈ 6, 62 f(3) ≈ 3, 37. krok 2’: i k = 1 k = 2 k∗ 1 8, 95 8, 88 1 2 5, 99 6, 62 2 3 1, 02 3, 37 2 tj. s2 = (1, 2, 2) . . . „hnojit ve stavu 2 nebo 3 krok 1” krok 2”    vede k variantě s3 = (1, 2, 2) = s2. Úloha má tedy jiné řešení než v případě, kdy jsme neuvažovali inflaci. Díky tomu, že se zde využívá jistý optimalizační krok zlepšení, absolvent předmětu OPV by i věřil, že úlohu lze přeformulovat jako úlohu lineárního programování. A skutečně je tomu tak. Ale pro velká k, m algoritmus lineárního programování není moc rychlý, rychlejší je právě uvedená metoda zlepšení politiky. 12.1 Shrnutí V poslední kapitole jsme přímo na příkladu z praxe demonstrovali problematiku pravděpodobnostního dynamického programování. Obecně lze úlohu pstního dynamického programování formulovat takto: Máme m možných stavů nějakého objektu a S politik (strategií), kterými můžeme ovlivňovat pravděpodobnost změn jednotlivých stavů za dané období. Psti přechodu od jednoho stavu k jinému pro s-tou politiku jsou reprezentovány tzv. Markovským řetězcem, tj. čtvercovou maticí řádu m, která je stochastická (její prvky jsou nezáporné a součet řádků je 1). Tuto matici značíme PPPs , s = 1, . . . , S. Dále také známe matice výnosů jednotlivých politik RRR1 , . . . ,RRRS . Základní otázky, na které chceme odpovědět, jsou: 1) Jakou posloupnost strategií zvolit, aby celkové výnosy za N období byly maximální? 2) Jaký výnos celkem přinese daná posloupnost strategií v nejbližších N obdobích? Řešení a) řešení úlohy pro konečné k = N Na obě otázky najdeme odpověď algoritmem dynamického programování. Jednotlivé fáze jsou v tomto případě období a přípustnými alternativami jsou naše možné strategie. Ozna- číme Pravděpodobnost, statistika a operační výzkum 219 fn(i) . . . optimální (očekávaný) výnos z fází n, n + 1, . . . , N za daného stavu i na počátku období n vk i = m j=1 pk ijrk ij . . . výnos k-té politiky za daného stavu i. K řešení využijeme zpětné rekurzivní rovnice fN (i) = max k vk i fn(i) = max k vk i + m j=1 pk ijfn+1(j) pro n = 1, 2, . . . , N − 1 Tato úloha jde ještě zobecnit např. tak, že přechodové psti mohou být každé období jiné nebo pokud chceme znát současnou hodnotu očekávaných zisků. Princip řešení je stejný, jen se částečně pozmění výpočet jednotlivých výnosů. Naopak, při vyhodnocení stacionární politiky se algoritmus zjednoduší. b) řešení úlohy pro k nekonečné (nebo hodně velké) 1) metoda úplného vyčíslení. . . ohodnotíme všechny stacionární politiky a vybereme tu optimální (lze ji užít jen při nízkém počtu stacionárních politik). Řešením systému πππs · PPPs = πππs m i=1 πs i = 1 vypočteme vektor πππs dlouhodobých stacionárních pstí pro jednotlivé politiky a určíme očekávaný výnos pro politiku s: Es = m i=1 πs i vs i Pak optimální politika je ta, pro níž je Es maximální. 2) metoda zlepšení politiky (+ neuvažujeme inflaci) krok 1: zvolíme libovolnou politiku s, tj. PPPs ,RRRs ; předpokládejme fs (m) = 0 a vyřešme systém m rovnic o m neznámých Es = vs i + m j=1 ps ij fs (j) − fs (i), i = 1, 2, . . . , m 220 Fakulta elektrotechniky a komunikačních technologií VUT v Brně krok 2: (zlepšení politiky) pro každý stav i určíme alternativu k s maximální hodnotou výrazu vk i + m j=1 pk ij fs (j); → tím se určí maximální E pro každý stav to bude nová politika t. Pokračujeme opakováním kroků 1,2 tak dlouho, až s = t. 3) metoda zlepšení politiky (+ uvažuje inflaci) Předpokládáme zde, že E = 0, neboť budoucí zisk se vlivem inflace blíží k nule). Postup řešení: opět jsou zde kroky 1,2, ovšem v kroku 1 je systém m rovnic o m neznámých (E = 0 . . . vypadlo ze systému) a ve 2.kroku volíme variantu s maximální hodnotou výrazu vk i + α m j=1 pk ij fs (j) Oba kroky opakujeme tak dlouho, až nová varianta je stejná jako ta stará. 12.2 Otázky k opakování U následujících výroků rozhodněte, zda se jedná o výrok pravdivý či nepravdivý. Otázka 12.1 Matice pravděpodobností PPP přechodu z jednoho stavu do druhého nemusí být obecně čtvercová. Otázka 12.2 Matice zisku RRR musí mít jen nezáporné prvky. Otázka 12.3 Při průběhu algoritmu dynamického programování hledáme maximu z celkového výnosu vzhledem ke zvolené strategii. Otázka 12.4 Při řešení úloh této kapitoly pomocí algoritmu dynamického programování používáme zpětnou rekurzi. Otázka 12.5 Matice pravděpodobností PPP přechodu z jednoho stavu do druhého se může každé období měnit. Otázka 12.6 Pojem „stacionární politika znamená, že se všechny strategie každé období pravidelně střídají. Otázka 12.7 Při hledání optimální strategie na (nekonečně) mnoho období dopředu se omezujeme pouze na stacionární politiky. Otázka 12.8 Inflace neovlivňuje celkový dlouhodobý zisk. Odpovědi na otázky viz 13.7. Pravděpodobnost, statistika a operační výzkum 221 12.3 Příklady ke cvičení Příklad 12.1 Firma každoročně kontroluje úspěšnost prodeje svého výrobku na trhu a rozhoduje, jestli je uspokojivá (stav 1) nebo není (stav 2). Na základě těchto poznatků pak rozhoduje, zda investovat do reklamy na tento výrobek a zvýšit tak jeho prodej. Matice PPP1 a PPP2 udávají pravděpodobnosti přechodu mezi stavy s využitím a bez využití reklamy v průběhu roku. Příslušné zisky jsou dány maticemi RRR1 a RRR2. Stanovte optimální politiku rozhodování v průběhu 3 let. PPP1 = 0, 9 0, 1 0, 6 0, 4 , RRR1 = 2 −1 1 −3 PPP2 = 0, 7 0, 3 0, 2 0, 8 , RRR2 = 4 1 2 −1 . Příklad 12.2 Společnost může propagovat svůj výrobek prostřednictvím reklamy ve třech médiích: v rádiu, televizi nebo v novinách. Týdenní ceny reklamy v jednotlivých médiích jsou postupně 200 Kč, 900 Kč a 300 Kč. Může také hodnotit jeho prodejnost v průběhu každého týdne jako (1) průměrnou, (2) dobrou, (3) nejlepší. Následující matice udávají psti přechodu mezi stavy pro jednotlivá média Rádio Televize Noviny    0, 4 0, 5 0, 1 0, 1 0, 7 0, 2 0, 1 0, 2 0, 7       0, 7 0, 2 0, 1 0, 3 0, 6 0, 1 0, 1 0, 7 0, 2       0, 2 0, 5 0, 3 0 0, 7 0, 3 0 0, 2 0, 8    . Příslušné týdenní zisky (v tisících Kč) jsou Rádio Televize Noviny    400 520 600 300 400 700 200 250 500       1 000 1 300 1 600 800 1 000 1 700 600 700 1 100       400 530 710 350 450 800 250 400 650    . Stanovte optimální politiku rozhodování pro následující 3 týdny. Příklad 12.3 Stanovte optimální rozhodovací politiku u příkladu 12.1 na nekonečně mnoho let užitím metody úplného vyčíslení. Příklad 12.4 Stanovte optimální rozhodovací politiku u příkladu 12.1 na nekonečně mnoho let užitím metody zlepšení politiky. Výsledky příkladů viz 13.7. 222 Fakulta elektrotechniky a komunikačních technologií VUT v Brně 13 Odpovědi na otázky a výsledky příkladů ke cvi- čení 13.1 Výsledky cvičení ke kapitole 1 Odpovědi na otázky 1.1 – A, 1.2 – N, 1.3 – N, 1.4 – A, 1.5 – A, 1.6 – N, 1.7 – N, 1.8 – A, 1.9 – N, 1.10 – N (průměr se bere nikoli aritmetický, ale vážený), 1.11 – A (pokud se oba rozptyly liší o více než čtyřnásobek, je vhodnější místo paramatrického testu použít test neparametrický). Výsledky příkladů ad 1.1. a) Podle 1.6 s2 . = 0,889; b) podle 1.9 je s2 = N N−1 · s2 = 6 5 · 0,889 . = 1,0667. ad 1.2. a) Jedná se o veličinu X= čas u jednoho stroje – tedy s2 = 7,7; b) Jedná se o veličinu X – proto podle ?? máme 7,7 5 = 1,54. ad 1.3. a) 0,889 b) 1,333 c) 0,444 ad 1.4. Vycházíme z toho, že p = 80 400 = 0,2, máme tedy rozdělení binomické (Bi(N = 400, p = 0,2)) a rozptyl σ2 = Np(1 − p) = 64. Pro α = 0,05 víme z oboustranného testu (BMA3 - kapitola 13), že uk = 1,96. Tedy střední hodnota µ ∈ 80±1,96· √ 64 = (64,32; 95,68). Vydělením 400 dostaneme (0,1608; 0,2392), tedy procento zájemců je přibližně 16 až 24. ad 1.5. a) x = 9; odhad roztylu s2 = ss ν = 2 3 , ale musíme ještě vydělit počtem měření podle ??, tj. 2 12 . Dále tk pro ν = 3, α = 2q = 0,05 je rovno 3,182; tedy µ ∈ 9 ± 2 12 · 3,182 . = (7,701; 10,299). b) (K1) H0: µ = 10; H1: µ = 10. (K2) Testovým kritériem bude veličina X, respektive X−9√ 212 . (K3) Při platnosti H0 má veličina X−9√ 212 Studentovo t-rozdělení pro ν = 3. (K4) Pro α = 0,05 příslušná kritická hodnota tk = 3,182. (K5) Odpovídající t-hodnota kritéria je −2,44949 ∈ (−tk; tk). H0 tedy nezamítáme, neprokázala se nepravdivost novinové zprávy. ad 1.6. a) Kometa získala 10 výher, jednu remízu a 4 prohry; pokud remízu nebudeme brát v úvahu pro žádnou ze stran, ze 14 možností je 10 znamének „+ ; jedná se o jednostranný znaménkový test: (K1) H0: oba týmy jsou přibližně stejně silné; H1: Kometa je statisticky vyznamně lepší. Pravděpodobnost, statistika a operační výzkum 223 (K2) Testovým kritériem bude veličina T= počet výher Komety ze čtrnácti zá- pasů. (K3) Při platnosti H0 má veličina T rozdělení Bi(N = 14, p = 0,5). (K4) Pro α = 0,05 příslušná kritická hodnota Tk = 11 (blíže viz BMA3). (K5) Měření T = 10 < Tk = 11, čili H0 nezamítáme. b) Uvažujme veličinu X= rozdíl skóre Kometa minus Draci, dostaneme hodnoty 1, 0, −2, −1, 2, 4, 3, 1, −1, 2, 2, −2, 1, 3, 1 (počítáme i remízu jako hodnotu 0). (K1) H0: oba týmy jsou přibližně stejně silné (µ = 0); H1: Kometa je statisticky vyznamně lepší (µ > 0). (K2) Testovým kritériem bude veličina X, respektive veličina X−0 est σX . (K3) Při platnosti H0 má veličina X−0 est σX rozdělení t pro ν = 14. Lze spočítat s2 . = 3,35238, tedy odmocnina s . = 1,83. Tedy est σX = 1,83√ 15 . = 0,47 (K4) Pro α = 0,05 = q příslušná kritická hodnota tk(ν = 14) = 1,761. (K5) Měření 0,93−0 0,47 = 1,97 /∈ (−∞; 1,761), čili H0 zamítáme, Kometa je významně lepší. Je vidět, že t-test má větší statistickou sílu než znaménkový test – prokázal závislost studovaných proměnných, zatímco znaménkový test závislost neprokázal. ad 1.7. a) 5 ± 1,35; 3 ± 1,35 b) Při oboustranném testu pro α = 2q = 0,05 a ν = 10 je naměřená hodnota kritéria 2,336 /∈ (−2,228; 2,228), tj. zamítáme H0 o rovnosti obou skupin. Prvorození mají statisticky významně více schůzek. Jak to interpretovat? Snad tím, že prvorození více stojí o děvčata :-) ad 1.8. Vytvoříme příslušný soubor rozdílů odpovídajících hodnot: 2, 0, 3, −1, 1, 3, 2, 1, 4, 1 (párový test). Odtud x = 1,6, s2 = 2,267, est σ2 X = 2,26 10 = 0,2267. Statistický test: (K1) H0: µ = 0. H1: µ = 0. (K2) Testovým kritériem bude veličina X, respektive podíl X−0√ 0,2267 . (K3) Při platnosti H0 má veličina X−0√ 0,2267 rozdělení t pro ν = 9. (K4) Pro α = 0,05 = 2q příslušná kritická hodnota tk(ν = 9) = ±2,262. (K5) Měření 1,6−0 0,4761 = 3,361 /∈ (−2,262; 2,262), čili H0 zamítáme, rozdíl mezi denním a umělým světlem je statisticky významný. ad 1.9. (K1) H0: µ1 = µ2. H1: µ1 = µ2. (K2) Testovým kritériem bude veličina X1 − X2, respektive podíl X1−X2−0 est σ2 X1−X2 . 224 Fakulta elektrotechniky a komunikačních technologií VUT v Brně (K3) Při platnosti H0 má uvedený podíl rozdělení t s volností tak vysokou (ν = 291 + 259 = 550), že je můžeme beztrestně nahradit normovaným normálním rozdělením U – odhad vnitřního rozptylu pak přímo (protože ν > 60) položíme roven vnitřnímu rozptylu: σ2 . = estσ2 = 291 291 + 259 · s2 1 + 259 291 + 259 · s2 2 . = 95,29, a tudíž σ2 X1−X2 = 95,29 292 + 95,29 260 = 0,69, tj. σX1−X2 = √ 0,69 = 0,83. (K4) Pro α = 0,05 = 2q příslušná kritická hodnota tk(ν = 550) = uk = ±1,96. (K5) Měření 35,5−41,6 0,83 = −7,35 /∈ (−1,96; 1,96), čili H0 zamítáme, rozdíl mezi skupinami je významný. Interpretace těchto výsledků je ovšem také náročná – například může být skutečností (a asi to tak i je), že pokud jsou studenti do skupin rozděleni podle oborů, tak rozdílnost výsledků je dána rozdílností studentů přijatých na jednotlivé obory (i kdyby přístup obou zkoušejících byl naprosto stejný) :-) 13.2 Výsledky cvičení ke kapitole 7 Odpovědi na otázky 7.1 – N, 7.2 – N, 7.3 – A, 7.4 – N, 7.5 – A, 7.6 – N, 7.7 – N, 7.8 – A. Výsledky příkladů ad 7.1. matematická formulace úlohy: maximalizujte funkci z = x + 25 y za podmínek 5 x + 100 y = 1 000, x ≥ 2 y, x, y ≥ 0. ad 7.2. matematická formulace úlohy: minimalizujte funkci z = 200 x1 +260 x2 +180 x3 + 340 x4 za podmínek 10 x1 + 8 x2 + 12 x3 + 6 x4 ≥ 92, 6 x1 + 10 x2 + 4 x3 + 14 x4 ≥ 88, 4 x1 + 6 x2 + 2 x3 + 12 x4 ≥ 72, x1, x2, x3, x4 ≥ 0. ad 7.3. matematická formulace úlohy: maximalizujte funkci z = 5 (x − y) + 10 y za podmínek x − y ≥ 250, 5 x + 2 y ≤ 3 000, x, y ≥ 0. ad 7.4. matematická formulace úlohy: minimalizujte funkci z = 0, 7 x1 +0, 7 x2 +0, 7 x3 + 1, 55 x4+1, 55 x5+0 x6+2, 25 x7 za podmínek x1+2 x2+x5 ≥ 26, x1+2 x3+x4+3 x7 ≥ 48, x1 + 2 x3 + 3 x4 + 2 x5 + 5 x6 ≥ 124, x1, x2, x3, x4, x5, x6, x7 ≥ 0, (proměnné xi odpovídají jednotlivým možnostem řezu tyče, tj. např. x1 = ABC, x2 = AA atd.). ad 7.5. A = 2 5 , 18 5 , z(A) = −16 5 . ad 7.6. Minimum neexistuje. ad 7.7. Jedna z možných matematických formulací úlohy: maximalizujte funkci z = x+y za podmínek x + y ≤ 4, x − y ≤ 0, x, y ≥ 0. Pravděpodobnost, statistika a operační výzkum 225 ad 7.8. ad a) V = 2 3 , 10 3 , z(V ) = 40 3 ; ad b) pravou stranu první nerovnosti můžeme zvýšit na 5, optimum pak bude z(0; 5) = 15; ad c) stínová cena pro 1.omezení je 5 3 , stínová cena pro 2.omezení je 2 3 ; ad d) koeficient u y lze zvýšit o 2. ad 7.9. xxx = (7, 0, 0); z(xxx) = 14. ad 7.10. xxx = 5 2 , 5 2 , 5 2 , 0 ; z(xxx) = 15. 13.3 Výsledky cvičení ke kapitole 8 Odpovědi na otázky 8.1 – A, 8.2 – N, 8.3 – A, 8.4 – N, 8.5 – N, 8.6 – N, 8.7 – A, 8.8 – N, 8.9 – N. Výsledky příkladů ad 8.1. ad a) formulace duální úlohy: minimalizujte funkci w = 4 y1 + 8 y2 za podmínek y1 + y2 ≥ 2, y1 + 4 y2 ≥ 4, y1 ≥ 4, y2 ≥ −3; ad b) yyy = (4, 0); w(yyy) = 16. ad 8.2. ad a) formulace duální úlohy: minimalizujte funkci w = 30 y1 +40 y2 za podmínek y1 +y2 ≥ 5, 5 y1 −5 y2 ≥ 2, 2 y1 −6 y2 ≥ 3, y1 ∈ R, y2 ≥ 0; ad b) yyy = (5, 0); w(yyy) = 150. ad 8.3. xxx = (0, 5); z(xxx) = 15. ad 8.4. ad a) xxx = 30, 0, 5 2 , z(xxx) = 315 2 ; ad b) xxx = (5, 5, 0), z(xxx) = 35; ad c) hodnota optima se nemění xxx = (30, 0, 0), změní se pouze hodnota účelové funkce z(xxx) = 30; ad d) nic se nezmění. 13.4 Výsledky cvičení ke kapitole 9 Odpovědi na otázky 9.1 – N, 9.2 – A, 9.3 – A, 9.4 – N, 9.5 – A, 9.6 – N, 9.7 – N, 9.8 – N, 9.9 – N, 9.10 – A, 9.11 – N Výsledky příkladů ad 9.1. Metoda VAM dávala nejlepší počáteční řešení. Byly třeba 3 iterační kroky k nalezení optimálního řešení x13 = 10, x22 = 20, x31 = 30, x42 = 30, x44 = 10, x51 = 30, x52 = x53 = 10 a z = 820. ad 9.2. Metoda VAM našla přímo optimální řešení x14 = 30, x21 = 5, x22 = 35, x31 = 17, x33 = 25, x34 = 11 a z = 2221. ad 9.3. Optimální řešení je x12 = 4, x23 = 6, x31 = 3, x32 = 1, x33 = 6 a z = 47. ad 9.4. Optimální řešení je x14 = x23 = x32 = x41 = 1, xij = 0 pro ostatní i, j, celková cena je 14. 226 Fakulta elektrotechniky a komunikačních technologií VUT v Brně 13.5 Výsledky cvičení ke kapitole 10 Odpovědi na otázky 10.1 – A, 10.2 – N, 10.3 – N, 10.4 – A, 10.5 – N, 10.6 – A. Výsledky příkladů ad 10.1. Optimální rozdělení investic pro jednotlivé návrhy je (1, 3, 1) se ziskem 13 miliónů dolarů. ad 10.2. Optimální cesta je A → 1 → 3 → 5 → B, celková minimální vzdálenost = 12. ad 10.3. xxx = (0, 2, 0), z(xxx) = 6. ad 10.4. Optimální počty předmětů na jednotlivých katedrách jsou (2, 3, 4, 1), celkový počet bodů je 250. 13.6 Výsledky cvičení ke kapitole 11 Odpovědi na otázky 11.1 – A, 11.2 – A, 11.3 – N, 11.4 – N, 11.5 – N, 11.6 – N, 11.7 – N, 11.8 – A, 11.9 – N, 11.10 – A, 11.11 – N, 11.12 – A. Výsledky příkladů ad 11.1. ad a) y0 ≈ 50 jednotek, t0 ≈ 12 dní; ad b) rozdíl celkových cen za rok je 540, 20 Kč. ad 11.2. Firma by měla objednat 150 kusů zboží a využit tak slevu. ad 11.3. Úlohu je třeba řešit s omezením 4 i=1 Di yi ≤ 200, dostaneme pak jiný vztah pro výpočet yyy0. Optimální řešení je yyy0 = (201, 49; 123, 09; 110, 57; 119, 58) (λ∗ ≈ 0, 103). ad 11.4. (z1, z2, z3, z4) = (5, 7, 14, 0) nebo (6, 6, 14, 0). ad 11.5. Plán výroby v normální pracovní době je xxxR = (120, 70, 90, 70), v přesčasové době xxxT = (40, 10, 60, 30) s celkovou cenou 630 Kč. ad 11.6. Poptávku X je třeba transformovat na standardizované normální rozdělení, jehož hodnoty najdeme v tabulce; optimální řešení je y∗ = 447, 34; R∗ = 2, 379. ad 11.7. Jestliže x = 2, objednat 0,877 jednotek. Pro x = 5 neobjednávat další zboží. ad 11.8. Jestliže x = 2, objednat 6 jednotek. Pro x = 5 objednat 3 jednotky. ad 11.9. y∗ = 2, 71. ad 11.10. Pro x < 3, 78 objednat (6, 7 − x); jinak neobjednávat. Pravděpodobnost, statistika a operační výzkum 227 13.7 Výsledky cvičení ke kapitole 12 Odpovědi na otázky 12.1 – N, 12.2 – N, 12.3 – A, 12.4 – A, 12.5 – A, 12.6 – N, 12.7 – A, 12.8 – N. Výsledky příkladů ad 12.1. V prvním a druhém roce: investovat jen pokud je prodej výrobku neuspokojivý; ve třetím roce: neinvestovat do reklamy. ad 12.2. Pokud je prodejnost výrobku průměrná, využít reklamy v rádiu; jinak využít reklamy v novinách. ad 12.3. Nikdy neinvestovat do reklamy. ad 12.4. Investovat do reklamy jen v případě neuspokojivého prodeje. 228 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Literatura [1] Loftus, J., Loftus, E.: Essence of Statistics. Second Edition, Alfred A. Knopf, New York 1988. [2] Montgomery, D.C., Runger, G.C.: Applied Statistics and Probability for Engineers. Third Edition. John Wiley & Sons, Inc., New York 2003. [3] Miller, I., Miller, M.: John E. Freund’s Mathematical Statistics. Sixth Edition. Prentice Hall, Inc., New Jersey 1999. Předchozí vydání publikováno pod názvem Freund, J.E.: Mathematical Statistics, Fifth Edition. [4] Taha, H.A.: Operations research. An Introduction. Fourth Edition, Macmillan Publishing Company, New York 1989. [5] Wonnacott,R., Wonnacott,T.: Statistika pro obchod a hospodářství. Z amerického originálu Introductory Statistics for Businnes and Economics přeložil I.Indruch. Victoria Publishing, Praha, rok vydání neslušně neuveden (1992 nebo 1993). [6] Doc. RNDr. Bohumil Maroš, CSc.: Empirické modely I. Skriptum FSI, nakladatelství CERM 2001, Brno.