Vysoká škola báňská – Technická univerzita Ostrava, Fakulta bezpečnostního inženýrství, katedra Požární ochrany a ochrany obyvatelstva
Modelování rozhodovacích procesů Ing. Pavel Šenovský (2. vydání)
Ostrava 2009
2
Modelování rozhodovacích procesů
Obsah Úvod ...................................................................................................................... 3 1 Rozhodovací stromy ........................................................................................... 5 2 Multikriteriální analýza .................................................................................... 12 2.1 Rozhodovací analýza................................................................................. 12 2.2 Případová studie rozhodovací analýzy ...................................................... 17 2.3 Metoda Delfské věštírny ........................................................................... 21 2.4 Brainstorming a brainmaping .................................................................... 22 3 Síťové modely .................................................................................................. 25 3.1 Metoda CPM v projektovém řízení ........................................................... 25 3.2 Optimalizace v ostatních síťových modelech ........................................... 28 4 Bilanční modely ............................................................................................... 38 5 Lineární programování ..................................................................................... 41 6 Úvod do teorie her ............................................................................................ 48 7 Regresní modely ............................................................................................... 51 8 Umělá inteligence ............................................................................................. 54 9 Kompetence v rozhodování .............................................................................. 57 Doslov.................................................................................................................. 59 Literatura ............................................................................................................. 60
Modelování rozhodovacích procesů
3
Úvod Vážený studente, dostává se Vám do rukou učební text předmětu Modelování rozhodovacích procesů. Základním cílem těchto skript a potažmo i předmětu je, přiblížit různé metody pro podporu rozhodování. Při výkladu zabrousíme i do oblasti statistiky, ačkoliv pouze okrajově pro získání komplexního přehledu v této oblasti. Pro zpříjemnění čtení jsem se také rozhodl, zpracovat tento text formou vhodnou pro „distanční vzdělávání“, tak aby práce s ním byla co možná nejjednodušší. Z tohoto důvodu je text jednotlivých kapitol segmentován do bloků. Každá kapitola začíná náhledem kapitoly, ve kterém se dozvíte, o čem budeme v kapitole mluvit a proč. V bodech se pokusím shrnout, co byste po prostudování kapitoly měli znát a kolik času by Vám studium mělo zabrat. Prosím mějte na paměti, že tento časový údaj je pouze orientační, nebuďte proto prosím smutní nebo naštvaní když ve skutečnosti budete kapitole věnovat o něco méně nebo více času. Za kapitolou následuje shrnutí, ve kterém budou zdůrazněny informace, které byste si rozhodně měli zapamatovat. To, že jste správně pochopili probíranou látku si budete moci ověřit pomocí kontrolních otázek, které by Vám měly poskytnout dostatečnou zpětnou vazbu k rozhodnutí, zdali jít dále nebo věnovat delší čas opakování. Pro zjednodušení orientace v textu jsem zavedl systém ikon: Průvodce studiem Slouží pro seznámení studentů s látkou, která bude v kapitole probírána.
!
Čas nutný ke studiu Představuje odhad doby, který budete potřebovat ke prostudování celé kapitoly. Jedná pouze o orientační odhad, neznepokojujte se proto, pokud Vám studium bude trvat o něco déle nebo budete hotovi rychleji. Vysvětlení, definice, poznámka U této ikony najdete vysvětlující text, poznámku k probíranému tématu, která problém uvede do širších souvislostí, popřípadě důležitou definice.
Modelování rozhodovacích procesů
4
?
Kontrolní otázky Na závěr každé kapitoly je zařazeno několik otázek, které prověří, zda jste problematice kapitoly dostatečně porozuměli. Pokud nebudete vědět odpověď na některou otázku, je to signál pro Vás, abyste se ke kapitole vrátili. Chvilka oddechu Text označený touto ikonkou neberte příliš vážně, je tam pro Vaše pobavení. Příklad Tímto způsobem je označený příklad.
Přeji Vám, abyste čas, který strávíte s tímto textem, byl co možná nejpříjemnější, a abyste jej nepovažovali za ztracený.
Autor.
Modelování rozhodovacích procesů
5
1 Rozhodovací stromy Průvodce studiem V této kapitole se naučíme využívat jednoho z nejjednodušších nástrojů pro podporu rozhodování – rozhodovací stromy. Po prostudování této kapitoly budete vědět
co jsou to rozhodovací stromy jak a kdy je použít
Dozvíte se také něco o - rozhodovacích situacích Čas nutný pro studium Pro prostudování této kapitoly budete potřebovat přibližně 45 minut.
Jedním z nejjednodušších nástrojů, které lze použít pro podporu rozhodování jsou tzv. rozhodovací stromy (decision tree). Jedná se o orientované grafy, které svým vzhledem připomínají strom. V rozhodování nám pomáhají tak, že rozhodovací situaci a všechny varianty řešení vizualizují do formy větví, pro které vypočítáváme užitnost. Srovnáním užitností jednotlivých variant můžeme vybrat tu nejlepší pro řešení situace. Rozhodování probíhá za dvou možných situací – za jistoty nebo nejistoty. Rozhodování za jistoty znamená, že jsme schopni předem stanovit, jaké bude mít rozhodnutí následky. Bohužel tento typ rozhodování se nevyskytuje příliš často. Rozhodování za nejistoty je častější. Jedná se o rozhodování, při kterém nejsme schopni přesně stanovit, jaké okolnosti přesně nastanou. I za této situace je však potřeba rozhodnutí přijímat a proto kromě předpokládaných následků rozhodnutí kalkulujeme i s pravděpodobnostmi. Pro obě rozhodovací situace se využívají různé druhy rozhodovacích stromů. Pro situaci rozhodování za jistoty využijeme deterministické stromy a pro situaci rozhodování za nejistoty využijeme stochastické stromy. Obecný příklad rozhodovacích stromů je znázorněn na obr. 1.
6
Modelování rozhodovacích procesů
Obr. 1: Deterministické a stochastické stromy Rozhodovací stromy jsou tvořeny uzly a hranami. Uzly značíme kosočtverci, v některé literatuře [2] se pro značení uzlů používají čtverce. Uzly představují rozhodnutí nebo události (u stochastických stromů), které mají vliv na předmět rozhodnutí. K rozhodnutí přitom budeme potřebovat kritérium, které budeme optimalizovat. Tímto kritériem může to být zisk, náklady nebo jakákoliv jiná veličina. Jednotlivé hrany nám představují variantu, následek rozhodnutí/události. Délka hrany by měla do určité míry korespondovat s obdobím, pro které je konstruován tak, aby uzly pod sebou se z hlediska modelování udály v přibližně stejnou dobu. Správné vykreslování umožňuje rozhodovací kritérium optimalizovat i časově. Aby byl strom lépe interpretovatelný, velmi často se uzly opatřují čísly, která můžeme použít při konstrukci komentáře ke stromu k popisu jednotlivých rozhodnutí. Alternativně lze krátký popis varianty připojit k jednotlivým hranám, které ji reprezentují. Na hrany lze také zaznamenávat další informace, jako jsou hodnotící kritéria apod. Demonstrujme postup tvorby rozhodovacího stromu na jednoduchých příkladech. Příklady jsou úmyslně zvoleny, aby byly ekonomického charakteru (pro snadné pochopení), nicméně rád bych zdůraznil, že rozhodovací stromy jsou obecné a lze je tak využít prakticky pro jakoukoliv oblast rozhodování. Př. 1: Deterministický strom Firma XXX stojí před rozhodnutím, zda investovat do rekonstrukce své provozovny. V současné době je na provozovně schopna prodat výrobků ročně za 2,5 mil. Kč, rekonstrukcí by došlo k dočasnému přestěhování po dobu rekonstrukce do
Modelování rozhodovacích procesů
7
náhradních prostor s omezenou kapacitou, kde by bylo možno prodat zboží pouze za 1 mil. Kč. Doba rekonstrukce bude 1 rok a bude stát 10 mil. Kč. V nových prostorách bude firma XXX schopna prodat výrobků za 3 mil. Kč. Doporučte, zda rekonstruovat nebo ne v horizontu 10-ti let.
Řešení Zadání vypadá relativně složitě, ale ve skutečnosti tomu tak není. Máme zde pouze dvě varianty: rekonstruovat nebo nerekonstruovat. Řešení je možno konstruovat se třemi nebo čtyřmi uzly, záleží na tom, jakým způsobem budeme problém chápat (viz. obr. 2).
2
Rekonstrukce P=28 N=10 Z=28-10=18
P=3x9
N=10 P=1
Status quo P=25 N=0 Z=25
P=2,5x10 1
Rok 0
1
10
Obr. 2: Deterministický strom př. 1 Uzel 1 2
rozhodnutí zda rekonstruovat nebo ne ukončena rekonstrukce
Počítáme přínosy a náklady spojené s každou s variant. Varianta 1 rekonstrukce má přínosy (P) 1 mil. Kč za prodej v náhradní provozovně, a devět let prodeje v nové provozovně po 3 mil. Kč. Přínosy celkem jsou 28 mil. Náklady na realizaci varianty jsou 10 mil. Kč a zisk celkem po realizaci této tedy varianty činí 18 mil. Kč. Alternativní variantou je nerekonstruovat (tedy nulová varianta), která s sebou nese stálý příjem 2,5 mil. (po dobu 10-ti let) bez dodatečných nákladů. Zisk plynoucí s realizace této varianty tedy činí 25 mil. Kč. Protože se snažíme maximalizovat zisk musíme preferovat nulovou variantu, protože zisk je v ní větší.
Modelování rozhodovacích procesů
8
Př. 2: Stochastický strom Poradní výbor zvažuje ekonomický přínos preventivního programu očkování proti chřipce. Pro takový program výbor zvažuje systém „včasného varování“, který by stál 120 mil. € a umožnil by detekovat včas nástup chřipkové epidemie. Po zjištění počátku epidemie by se začalo s očkováním. Pokud by program očkování nebyl realizován, odhaduje se, že náklady na léčbu by dosáhly 280 mil. € s pravděpodobností 10%, 400 mil. € s pravděpodobností 30% a 600 mil. € s pravděpodobností 60%. Samotný program očkování by stál 400 mil. € a pravděpodobnost toho, že chřipková epidemie přijde je odhadována na 75%. Předpokládáme, že očkování je okamžitě účinné a bude 100% efektivní. Sestavme stochastický strom (viz. obr. 3)
Obr. 3: Výsledný stochastický strom Proces konstrukce stromu by měl být jasně patrný z obr. 3, takže prostě zkusme vypočítat užitek jednotlivých variant. Proces výpočtu, alespoň v první fázi bude totožný s výpočtem deterministického stromu – v první fázi tedy ignorujeme pravděpodobnosti.
Modelování rozhodovacích procesů Náklady: Bez vakcinace, epidemie nenastala: Bez vakcinace a epidemie s malými náklady: Bez vakcinace a epidemie se středními náklady: Bez vakcinace a epidemie s vysokými náklady: Systém včasného varování a bez epidemie: Systém včasného varování a epidemie:
9
0€ (1-2-5) -280€ (1-2-3-6) -400€ (1-2-3-7) -600€ (1-2-3-8) -120€ (1-4-9) -520€ (1-4-9)
Pokud by rozhodovací strom byl deterministický, stačilo by nám vzít pro nás nejvhodnější variantu z hlediska nákladů (což by byla varianta bez systému včasného varování a vakcinace) a prohlásit ji za výsledek. Bohužel musíme zohlednit také pravděpodobnosti, protože to zda chřipková epidemie přijde anebo ne, a také jak bude vlastně silná, nemáme plně pod kontrolou. Musíme proto vypočítat užitnost stochastických uzlů zpět až k uzlu s indexem 1. Užitnost stochastických uzlů vypočítáme tak, že užitnosti hran z něho vycházejících pravděpodobnostmi, které se k nim vztahují a sečteme je. Náklady uzel 3: (-280 * 0,1) + (-400 * 0,3) + (-600 * 0,6) = -508 mil. € Náklady uzel 2: 0 * 0,25 + (-508 * 0,75) = -381 mil. € Náklady uzel 4: (-120 * 0,25) + (-520 * 0,75) = -420 mil. € Uzel 1 je deterministický, vybíráme tedy variantu, která je pro nás výhodnější, srovnáváme přitom užitnosti uzlů 2 (-381 mil. €) a 4 (-420 mil. €). Logicky volíme v tomto případě nižší náklady – tedy doporučujeme zamítnutí realizace systému včasného varování. Další příklady můžete zkusit vypočítat sami: Úkol 1: MDG je společnost zaměřená na provádění geologických průzkumů, aby ověřila zdali se na zkoumaném pozemku nacházejí ložiska kovů, které by bylo možné dále komerčně zužitkovat. MDG má možnost uakoupit pozemek na 3 mil. $. Pokud MDG zakoupí pozemek, provede geologický průzkum. Předchozí zkušenosti ukazují, že pro tento typ pozemku geologický průzkum stojí přibližně 1 mil $ a přináší následující výsledky
mangan 1% šance zlato 0.05% šance stříbro 0.2% šance
Pokud je nalezen jeden kov, není šance nalézt žádný další kov.
Modelování rozhodovacích procesů
10
Pokud je nalezen mangan, pak může být pozemek prodán za 30 mil $, v případě zlata za 250 mil $ a stříbra 150 mil $. MDG také může zaplatit 750 000 $ za práva provést třídenní předběžný průzkum, předtím než se rozhodne. Předchozí zkušenosti ukazují, že třídenní průzkum stojí 250 000 $ a zvyšuje jistotu, že nějaké ložisku kovu na pozemku je na 50%. Šance na nalezení jednotlivých kovů je následující:
mangan - 3% zlato - 2% stříbro - 1%
Pokud třídenní test neprokáže přítomnost ložiska, šance, že ložiska zájmových kovů jsou přítomna, je velmi malá:
mangan - 0.75% zlato - 0.04% stříbro - 0.175%
Co doporučíte firmě MDG? [Řešení: 3-denní test a pokud dopadl úspěšně koupit pozemek] Úkol 2: Firma se rozhoduje, zda se zúčastní určitého výběrového řízení nebo ne. Odhadují, že pouhopouhá příprava na výběrové řízení bude stát 10 000 $. Pokud se řízení zúčastní odhadují, že je 50%ní šancem že se dostanou do užšího výběru. V užším výběru bude potřeba dodat podrobnější informace (odhadovaná cena 5 000 $). Společnost odhaduje, že náklady na práci a materiál spojené s realizací případného kontraktu bude činit 127 000 $. Firma uvažuje o třech možných cenách pro nábídku - 155 000 $, 170 000 $ a 190 000 $. Pravděpodobnost úspěchu pře těchto cenách je následující 0.9, 0.75 a 0.35. Má se firma zúčastnit výběrového řízení a pokud ano s jakou cenou? [Řešení: zúčastnit se výběrového řízení, pokud projde do dalšího kola vybrat střední cenovou hladinu nabídky (170 000$)] Příklady byly převzaty z [2].
Modelování rozhodovacích procesů
?
11
Kontrolní otázky 1. Jaký je rozdíl mezi stochastickým a deterministickým stromem? 2. Je možné použít deterministické uzly v stochastickém stromu? 3. K čemu slouží rozhodovací stromy. 4. Lze zařadit rozhodovací stromy mezi multikriteriální metody analýzy? 5. Jak graficky označujeme stochastický uzel?
Modelování rozhodovacích procesů
12
2 Multikriteriální analýza Náhled kapitoly V této kapitole se dozvíme něco o různých metodách analýzy rozhodovací situace, kdy optimalizujeme rozhodnutí z hlediska několika rozhodovacích kritérií. Zaměříme se především na rozhodovací analýzu, kterou si rozebereme jak teoreticky, tak na praktickém příkladu, ale povíme si něco i o metodě používaná za poněkud specifičtějších podmínek – metodě delfské věštírny. Po prostudování kapitoly budete umět vytvořit rozhodovací analýzu
znát metodu párového srovnávání metodu delfské věštírny a specifika, na která musíme při vyhodnocování
Čas pro studium Pro prostudování kapitoly budete potřebovat přibližně 2 hodiny.
2.1 Rozhodovací analýza Rozhodovací analýza je jedním z nástrojů, který pomůže s rozhodnutím v případě, že existuje několik kritérií, podle kterých hodnotíme jednotlivé. V takovém případě, nám nástroje, jako jsou rozhodovací stromy, příliš nepomohou – ty zvládají jedno nebo několik málo kritérií. Rozhodovací analýza je však k takovému hodnocení vhodnější. Počet kritérií zde není omezen. Úkolem rozhodovací analýzy je přehledně zpracovat dostupné informace a pokud možno objektivně je zanalyzovat s cílem doporučit jednu, nebo několik málo variant k realizaci. Rozhodovací analýza je podklad pro rozhodování managera, tedy obvykle jiné osoby než analýzu vytváří, často dokonce z jiného oboru než je předmět rozhodnutí. Jak tedy rozhodovací analýzu vytvořit. Hodnocení provádíme v několika krocích: 1. stanovení problému, 2. analýza informací,
Modelování rozhodovacích procesů
13
3. hodnocení užitku variant, 4. hodnocení rizik variant, 5. finální verdikt – doporučení. Jako první krok je potřeba vymezit problém. Správné vymezení problému nám umožní vymezit hodnotící kritéria, podle kterých můžeme hodnotit vhodnost realizace dané varianty. Analýzou informací rozumíme shromáždění a vyhodnocení analytických informací – informací o jednotlivých variantách, kritériích, způsobech možného hodnocení, zkušenosti jiných lidí apod. Kromě toho shromažďujeme informace i tzv. námětové. Námětovými informacemi rozumíme informace alternativní k námi stanoveným variantám. Nejlépe je asi demonstrovat na nějakém příkladu: problém koupě nového auta – analyzovat budeme jednotlivé značky, hodnotit podle vlastností, námětovou informací by ale mohla být generálka stávajícího auta, koupě ojetého vozu, outsourcing dopravy. K realizaci některé „námětové“ varianty by se mohlo přistoupit v okamžiku, kdy zjistíme, že na nové auto nemáme peníze. Hodnocení užitku variant Abychom mohli hodnotit užitek jednotlivých variant musíme již „napevno“ stanovit kritéria hodnocení a tyto kritéria nějak vyčíslit. Kritéria i jejich kvantifikace v naturálních jednotkách by měla vyplynout se shromážděných informací. Vhodné je tyto informace zpracovat do tabelizované formy, tak podobně jako v tabulce 1. Tab. 1: Kvantifikace kritérií pro jednotlivé varianty kritérium jednotka V1 V2 ... Vn K1 [min] 10 11 K2 Dobrý výborný … Kn [kg] 0,5 0,37 Kritéria pro jednotlivé varianty kvantifikujeme v jejich přirozených jednotkách, ať už se jedná o jakékoliv jednotky. Mohou existovat i kritéria, která hodnotíme podle nějaké stupnice, jako třeba známkování ve škole, které nemá žádnou jednotku. Při kvantifikaci tedy máme poměrně velkou volnost, nicméně postup kvantifikace jednoho kritéria musí být stejný pro všechny varianty aby tyto výsledky byly srovnatelné. Takto vyčíslená kritéria se obvykle snažíme optimalizovat tedy maximalizovat nebo minimalizovat. I při známkování, nebo kterékoliv jiné zvolené stupnici obvykle preferujeme nějaké hodnocení nad jiným. Takovéto informace je nutno specifikovat do komentáře následujícího za výše uvedenou
Modelování rozhodovacích procesů
14
tabulkou. Hodnota kritérií v naturálních jednotkách je pro nás nepoužitelná, protože nelze přímo srovnávat ona slavná „jablka a hrušky“. Z tohoto důvodu tyto hodnoty musíme přepočítat na procento spokojenosti s danou hodnotou – tedy na kolik se výše daného kritéria blíží nějaké pomyslné ideální variantě. Tímto přepočtem získáme matici prostých užitností, jako je v tabulce 2. Tab. 2: Matice prostých užitností kritérium V1 V2 K1 79 87 K2 60 100 Takto bezrozměrné hodnoty jsou již srovnatelné. Vždy pro ně platí, že čím je číslo větší, tím je naše spokojenost se výsledkem hodnoceného kritéria dané varianty větší. Problémem však je, že při rozhodování neklademe obvykle stejné váhy na všechna kritéria. Musíme tedy vytvořit váhy, kterými budeme transformovat matici prostých užitností. Velikost vah jednotlivých kritérií můžeme určit prakticky libovolně, velmi často se používá metoda tzv. párového srovnání. Jde o to, že postupně porovnáváme každá dvě kritéria mezi sebou a vždy nějaké preferujeme, svou preferenci zapíšeme a pokračujeme v porovnávání. Po ukončení porovnávání pak spočteme výskyty preferencí jednotlivých kritérií a vytvoříme pořadí. Toto pořadí nám může posloužit jako podklad pro navržení vah. Zkusme demonstrovat toto srovnání na variantách K1 – K5. K1 K2 K2
K1 K2
K3
K4 K2
K4 K4
K1 K4
K3 K5
K5 Jak si předchozí pyramidu vysvětlit? Postupujeme po sloupcích. První sloupec obsahuje přehled všech kritérií. Ve druhém sloupci srovnávám K1 a K2, preferuji K2, K2 a K3, preferuji K2, K3 a K4, preferuji K4 a konečně K4 a K5, preferuji K5. Je třetím sloupci hodnotím ob kritérium, srovnávám tedy K1 a K3, K2 a K4, K3 a K5, v dalších sloupcích hodnotím ob 2 kritéria, 3 … podle počtu kritérií. Logicky čím více kritérií, tím rozsáhlejší bude konstruovaná pyramida.
Modelování rozhodovacích procesů
15
Nyní vypočteme pořadí. Při výpočtu vynecháme akorát první sloupec pyramidy, který nic nevypovídá o našich preferencích. Tab. 3: Výpočet vah Kritérium výskyt pořadí K1 2 2 K2 3 1 K3 1 3 K4 3 1 K5 1 3
váhy 2 3 1 3 1
V tabulce 3 jsou váhy vypočtené jako obrácené pořadí, tedy nejvíce preferovaná varianta dostává největší váhu. Pro srovnání některých kritérií se může zdát takové určení vah jako příliš rigidní. Abychom získali větší rozestup mezi kritérii můžeme takové váhy násobit (2x, 10x). Je ale potřeba pamatovat na to, že váhy nám ovlivní zásadním způsobem výsledek, takže bychom měli být připraveni zdůvodnit, proč jsem váhy zvolili právě takovým způsobem. V případě, že některá kritéria se dělí o stupně vítězů (třeba K2 a K4), můžu přistoupit k jemnějšímu hodnocení, mohu stanovit třeba váhu K2 na 3,1 a K4 na 2,9 s tím, že během párového srovnání jsem K2 preferoval nad K4. V každém případě by mělo být splněno, že více preferované kritérium nesmí mít menší váhu než méně preferované kritérium, například K2 nesmí mít menší váhu než K1 nebo K3. Na základě stanovení vah můžeme sestavit matici vážených užitností. Tab. 4: Matice vážených užitností kritérium váha V1 V2 M K1 2 79 x 2 = 158 174 200 K2 3 120 300 300 K3 1 ... K4 3 ... K5 1 ... Σ 278 474 500 U % 55,6 94,8 100 Matici vážených užitností sestavíme tak, že hodnotu kritérií z tabulky prostých užitností vynásobíme vahou k danému kritériu přináležejícímu. Kromě toho stanovujeme i ideální variantu M. Hodnotu kritérií ideální varianty stanovíme buď jako maximum kritéria z přítomných variant nebo jako maximální teoreticky možná hodnota kritéria, tedy váha x 100. V tabulce 4 jsem zvolil druhý způsob. Vážené hodnoty kritérií sečteme a vypočteme nakolik se blíží ideální variantě. Součet hodnot kritérií ideální varianty mi představuje 100% a z toho
16
Modelování rozhodovacích procesů
tento údaj už jednoduše dopočítáme. Hodnocení rizik variant je nutné provést samostatně. Riziko se obvykle udává pravděpodobností nebo frekvencí vzniku nežádoucího efektu za určité období. Z hlediska hodnocení je výhodnější použít pravděpodobnostní charakteristiku rizika s tím že období, pro které jsou rizika určena, musí být pro všechna rizika stejná. Výši rizik můžeme přehledně zobrazit v matici prostých rizik (viz. tabulka 5). Tab. 5: Matice prostých rizik riziko V1 V2 Vn R1 10% 8% ... R2 15% 25% Rm ... Podobně jako u kritérií používaných při hodnocení užitnosti variant ani rizika, pokud je srovnáme mezi sebou, nebudou mít stejnou váhu. Váhu můžeme určit podobně jako u kritérií užitnosti. Aplikací vah na matici prostých rizik získáme matici vážených rizik (viz. tabulka 6). Tab. 6: Matice vážených rizik riziko váha V1 V2 p SO p SO R1 1 0,1 0,1 0,08 0,08 R2 2 0,15 0,3 0,25 0,5 Σ 0,4 0,58 SO [%] 13,3 19,33
Vmax p SO 1 1 2 2 - 3 100
V matici vážených rizik pracujeme s tzv. stupněm ohrožení (SO), jedná se o vážené riziko, tedy spočteme jako váha x pravděpodobnost vzniku negativního efektu. V matici také konstruujeme speciální variantu Vmax, v rámci které maximalizujeme všechna rizika. Maximalizací rizik chápeme to, že zvýšíme pravděpodobnost jejich realizace na 100%, získáme tak maximálně nepříznivou variantu a můžeme tak určit, nakolik se jí reálné varianty blíží. Výpočtem matice vážených rizik jsme shromáždili všechny potřebné údaje pro přijetí rozhodnutí, je nutné je pouze konsolidovat do přehledné formy. Nejprve srovnejme pořadí variant z hlediska užitku a rizik, které jsme získali výše. Tab. 7: Užitek vs. riziko pořadí 1 2 užitek V2 V1
Modelování rozhodovacích procesů riziko
V1
17
V2
Pamatujte, že užitek se snažíme maximalizovat, zatímco riziko minimalizujeme! Kromě takového pořadí můžeme vypočítat také tzv. výsledný efekt, který chápeme jako rozdíl užitku a rizika nebo podíl užitku a rizika. Tab. 8: Výsledný efekt V1 Užitek (U) 55,6 Riziko (R) 13,3 Výsledný efekt (U-R) 42,3 Výsledný efekt (U/R) 4,2
V2 94,8 19,33 75,47 4,9
Při hodnocení variant můžeme přijmou v zásadě tři různé strategie preference: 1. maximální 2. minimální 3. optimální U strategie maximální se snažíme maximalizovat užitnost bez ohledu na případná rizika. Použitím minimální strategie naopak minimalizujeme rizika bez ohledu na užitnost variant. Strategie optimální zkoumá jak riziko, tak užitek. Výsledek by se tedy dal interpretovat na našem příkladu následovně: 1. strategie maximální – realizovat V2 2. strategie minimální – realizovat V1 3. strategie optimální – realizovat V2 Celkově by tedy měla být doporučena varianta V2. Při větším množství variant, je pravděpodobné, že rozdíly mezi nimi nebudou tak velké. Lze tedy při doporučení zmínit i alternativní návrhy, které jsou pouze o něco horší než varianta vítězná. 2.2 Případová studie rozhodovací analýzy Case study of decision analysis Zkusme si zpracovat nějakou rozhodovací analýzu. Mějme třeba problém Volba WWW fotoalba. Pro konstrukci, jsem použil podkladů z článku [3]. Hodnocení ke kterému jsem došel, stanovení kritérií, jsem provedl teprve v analýze, která bude následovat. [řešení je v textu dále]
Modelování rozhodovacích procesů
18
Analytická část Cíle: pořídit WWW album Analytické informace bezpečnost počet alb, která lze zřídit velikost alb spolupráce s fotosběrnou pro pohodlný tisk „klasických“ fotografií Informace námětové zřídit vlastní fotoalbum přes klasického poskytovatele WWW služeb nepořizovat fotoalbum vůbec Stanovení užitností Varianty V1 – Album.cz V2 – Volný album V3 – Tiscali foto V4 – Foto-album V5 – Rajče.NET
Tab. 9: Kritéria kritérium jednotka kapacita [MB] Max. počet alb formáty Služby navíc fotosběrna 0/1
V1 30 5
V2 40 5
V3
V4
V5 30 200 neomezeno neomezeno neomezeno neomezeno
3 5 2 dobré výborné výborné
1 -
1 -
1
0
0
1
1
Legenda kapacita – se udává v MB. Dostupná velikost mi ovlivní počet fotek, které mohu na WWW skladovat i jejich případnou kvalitu, tedy čím větší tím lepší. Max. počet alb – alba umožňují organizovat fotografie do souvisejících celků alb. Použití alb zjednodušuje orientaci uživatele ve fotografiích. Opět tedy platí, že čím více, tím lépe. Formáty – rozumíme formáty obrázků, které systém podporuje. Čím více tím, lépe. Toto kritérium ale na rozdíl od kapacity nebo alb není kritické, protože se většinou stejně použije úsporný formát JPEG, který podporují všichni
Modelování rozhodovacích procesů
19
poskytovatelé. Služby navíc – jedná se o služby které jdou nad rámec hlavního účelu řešení problému. Pro hodnocení dobré musí služba nabízet alespoň nějaké dodatečné služby, pro výborné už těchto služeb musí být větší množství. Opět je nutno podotknout, že se jedná pouze o podpůrné kritérium. Fotosběrna – hodnotím návaznost na nějakou fotosběrnu pro jednoduchý tisk fotografií do papírové podoby. Tab. 10: Matice prostých užitností kritérium V1 V2 V3 V4 V5 kapacita 50 55 50 90 100 Max. počet alb 50 50 100 100 100 formáty 70 100 60 50 50 Služby navíc 50 100 100 0 0 fotosběrna 100 100 100 0 0 Pro určení vah použiji metody párového srovnání K1 K1 K2
K1 K2
K3
K1 K2
K3 K4
K1 K2
K5 K5
K5 Tab. 11: Stanovení vah kritérium výskyt pořadí kapacita 5 1 Max. počet alb 3 2 formáty 1 4 Služby navíc 0 5 fotosběrna 2 3
váha 10 8 2 1 5
Kapacita a maximální počet alb jsou nejdůležitější parametry, proto byla jejich váha zvětšena. Kritérium fotosběrna je důležité, proto i u něj byla váha zvětšena, ačkoliv to nebylo tak razantně jako u předchozích dvou. Služby navíc a formáty jsou pouze bonusy „navíc“ a proto s jejich váhami nebylo manipulováno. Tab. 12: Matice vážených užitností
Modelování rozhodovacích procesů
20 kritérium kapacita Max. počet alb formáty Služby navíc fotosběrna Σ U
váha 10 8 2 1 5 [%]
V1 500 400 140 50 500 1590 61,15
V2 550 400 200 100 500 1750 67,31
V3 500 800 120 100 500 2020 77,69
V4 900 800 100 0 0 1800 69,23
V5 1000 800 100 0 0 1900 73,07
M 1000 800 200 100 500 2600 100
Stanovení rizik R1 – nedostatečnost kapacity R2 – fotoaparát nepodporuje požadovaný datový formát R3 – nedostupnost služby (výpadky) Tab. 13: Matice prostých rizik riziko V1 V2 V3 V4 V5 kapacita 90 80 90 20 0 Formát foto 1 1 1 1 1 Výpadky 1 1 1 1 1 Očividně rizika, že fotoaparát nepodporuje požadovaný datový formát a možné výpadky služby mi nemohou pomoci při rozhodování, jelikož pro všechny varianty je hodnota rizika stejná. Z tohoto důvodu mohu tato rizika z dalšího rozhodování vyřadit. K hodnocení zůstává pouze riziko nedostatečnosti kapacity a proto mohu rovnou matici prostých rizik považovat za výslednou matici vážených rizik (s vahou 1). Vyhodnocení výsledků Tab. 14: Užitek vs. riziko 1 2 3 4 5 užitek V3 V5 V4 V2 V1 riziko V5 V4 V2 V1, V3 Tab. 15: Výsledný efekt V1 V2 V3 Užitek (U) 61 67 77 Riziko (R) 90 80 90 U-R -29 -13 -13 U/R 0,67 0,8 0,85
V4 69 20 49 3,45
V5 73 0 73 73
Modelování rozhodovacích procesů
21
Preference podle strategií: 1. strategie maximální – V3 popř. V5 2. strategie minimální – V5 popř. V4 3. strategie optimální – V5 popř. V4 Slovní hodnocení variant Z hodnocení vyšly nejlépe varianty V3 – Tiscali foto V4 – Foto-album V5 – Rajče.NET Tiscali foto zabodovalo velkou nabídkou dodatečných služeb, které převážily nad malou kapacitou poskytovaného prostoru. Nedostatky v kapacitě se jasně projevily při hodnocení rizik, kde se tato varianta objevila až na posledním místě. Foto-album a Rajče.NET oproti tomu bodovaly především v základních charakteristikách, ale neobsahují žádné dodatečné služby, jako je spolupráce s foto-sběrnou apod. Na to je potřeba pamatovat při případné realizaci a předem najít alternativní poskytovatele požadovaných dodatečných služeb. Pokud se podaří tyto problémy vyřešit doporučuji realizovat variantu alba na Rajče.NET nebo případně alba na Foto-album. 2.3 Metoda Delfské věštírny V případech, kdy se rozhoduje o specifických, z odborného hlediska složitých záležitost, v situacích, kdy vývoj do budoucna není jistý, často se doporučuje metoda tzv. delfské věštírny. Tato metoda je založena na zprůměrování názoru několika odborníků na danou oblast. Provádí se obvykle tak, že se vytvoří seznam otázek, na které mají odborníci odpovídat a výsledky odpovědí se statisticky zpracovávají. Tato metoda je výhodná v tom, že eliminuje extrémní názory jednotlivců. Výsledný názor však nutně nemusí být správný. Jde o to, že každý člověk se snaží utvrdit správnost svých názorů, z tohoto důvody předmětnou problematiku diskutuje, studuje odbornou literaturu a na základě takto zjištěných údajů změní názor a tento názor dále šíří a utvrzuje v něm další odborníky. Z hlediska odborníka se tak stokrát opakovaná lež může stát „pravdou“. Bohužel se nejedná o pravdu objektivní – jinými slovy i odborník může žít v bludu. V literatuře [4] jsem se setkal s poměrně silným pojmenováním výše uvedeného. Autor takovýto kolektivní blud označuje jako datový incest. Popisuje situaci několika nezávislý vzájemně komunikujících robotů agentů, z nichž jeden s pravděpodobností 50% našel cíl a posílá tuto informaci agentovi 2, agent 2 získává informaci, že agent 1 možná vidí cíl a posílá informaci agentovi
22
Modelování rozhodovacích procesů
3, agent 3 věří agentovi 2, že cíl je na určitých souřadnicích a tuto skutečnost sdělí agentovi 1, který posiluje své přesvědčení o lokaci cíle na 100% a to přesto, že se neobjevily žádné nové informace, které by tuto domněnku nějak potvrdily. Jako další případ bychom mohli zmínit např. důvod poslední spojenecké invaze do Iráku. Tajné služby USA se dělily o své zpravodajské informace s dalšími spojeneckými tajnými službami a dotazovali se jich, zda mají také tyto informace. Logicky měli, protože je získali od USA, zpravodajské služby USA si tak posilovali své přesvědčení o přítomnosti zbraní hromadného ničení na území Iráku, ve finále bylo jedním z hlavních důvodů zahájení invaze do Iráku. Bohužel ověřování informací je záležitostí etiky každého jednotlivého odborníka a nutno přiznat, že některé informace se ověřují velmi těžko. Z tohoto důvodu je nutné velmi pečlivě zvážit výběr otázek i výběr odborníků, kteří na ně budou odpovídat. Vyhodnocování záleží na zvolené formě otázek. Při anketních otázkách můžeme počítat četnosti výskytů odpovědí a nejčetnější odpověď považovat za tu správnou. Při číselných odpovědích se nabízí zprůměrování výsledků. V případě, že se v odpovědích nachází extrémně vysoké nebo nízké hodnoty, lze je vyřadit, aby nedůvodně nevychylovaly výsledný průměr. Při vyřazování je nutné postupovat obezřetně, aby nebyly vyřazeny „možné správné“ odpovědi. Nejsložitější je vyhodnocování tvořených odpovědí. Tyto je nutno vyhodnocovat individuálně a srovnávat, zda se zde neobjevuje nějaké převažující stanovisko, které bychom mohli přijmout. Vzhledem ke složitosti vyhodnocování se snažíme těmto otázkám při tvorbě dotazníku vyhnout. 2.4 Brainstorming a brainmaping Brainstorming je jednou z nejpoužívanějších metod používaných pro analýzu nejenom rozhodovacích situací. Tato metoda se používá většinou v rámci malých týmů a jejím úkolem je zachytit pokud možno všechny aspekty analyzované situace. V rámci brainstormingu je ustanovena vždy jedna vůdčí osobnost, ta má právo řídit diskuzi a také důležitou povinnost a to je čmárat na tabuli. Funguje to tak, že leader stanoví téma a zbytek týmu vypichuje podle jejich názoru důležité momenty tohoto problému. Tyto momenty mohou být stejným způsobem dále rozpracovány. Analýza je založena na předpokladu, že různí lidé budou mít různé (často radikálně různé) a proto je vysoká šance, že se v rámci analýzy zohlední všechny důležité aspekty problémové situace, které by úzce zaměřený jednotlivec mohl přehlédnout. Jednotlivé pojmy na tabuli můžeme spojovat a vytvářet tak obrazce, které nazýváme mapy mysli (mind map). Pro vytváření rozsáhlejších map mysli je ale už vhodnější použít specializovaný software.
Modelování rozhodovacích procesů
23
Příklad mapy mysli Pokusme se sestavit mapu mysli okolo tématu – modelování rozhodovacích procesů. [Řešení viz následující obrázek]
Obr. 4: Příklad myšlenkové mapy Požití softwaru pro generování myšlenkových map má výhodu v tom, že výsledek je vždy čitelný, košaté části stromu lze v případě, že na nich aktuálně nepracujeme, srolovat a vytvořit si tak místo pro zbytek mapy. K jednotlivým tématům lze přiřazovat ikony a tak je zvýraznit. Různé mapy lze pomocí tohoto software také propojovat a to jako soubory na jednom počítači nebo také po síti (LAN nebo Internet). K jednotlivým uzlům je možné připojovat také soubory. Pokud například v rámci problému narazíme na legislativu, není problém připojit vyhlášku nebo zákon, kterého se to týká. Obr. 4 byl vytvořen v programu Freemind [11]. Tento nástroj byl vytvořen v programovacím jazyku JAVA a proto je možné jej provozovat na prakticky jakémkoliv operačním systému. Jeho další výhodou je to, že se jedná o open source a proto si jej můžete vyzkoušet sami bezplatně. Komerční alternativou je program Mind Manager. Tento program máte také možnost vyzkoušet a to konkrétně na počítačové učebně LumA54, kde je instalován. Samostatný úkol Ve zvoleném nástroji pro tvorbu myšlenkových map analyzujte zvolený problém nebo situaci. Tématem může být například povodeň nebo únik neznámé látky. Kontrolní otázky 1. Co je úkolem rozhodovací analýzy? 2. Jakým způsobem lze postupovat při stanovování vah
24
Modelování rozhodovacích procesů kritérií, popřípadě rizik? 3. Vysvětlete minimální strategii doporučení variant řešení. 4. Vysvětlete princip fungování delfské věštírny. 5. Jakým způsobem lze zpracovat údaje získané v průběhu shromažďování údajů pro metodu delfská věštírna?
Modelování rozhodovacích procesů
25
3 Síťové modely Náhled kapitoly V této kapitole se seznámíme s aplikací síťových modelů pro zachycení návazností jednotlivých činností v rámci realizace projektu jako základního nástroje managera pro identifikaci problémových míst v rámci projektu a jejich sanaci. Po prostudování této kapitoly budete vědět co je to síťový graf harmonogram metoda CPM Čas pro studium Pro prostudování této kapitoly budete potřebovat přibližně 45 minut.
3.1 Metoda CPM v projektovém řízení Síťové modely jsou jedny z nejpoužívanějších modelů pro analýzy tzv. kritické cesty (CPM – Critical Path Method). Síťové modely se využívají pro vizualizaci časového průběhu projektů, pro analýzy přepravních soustav apod. U přepravních soustav je konfigurace síťového modelu dána fyzickou konfigurací modelované sítě, u síťových modelů časového průběhu projektů je konfigurace modelu dána činnostmi, které se v rámci projektu dějí, a jejími návaznostmi. Předtím než se pustíme do podrobnějšího výkladu konstrukce síťového modelu, zkusme si nadefinovat několik pojmů, které se v dalším textu objeví. Prvním z nich je management. Slovo management je odvozeno z francouzského manéž, tedy kruhová aréna určená pro drezůru koní. Někdy se původ tohoto slova odvozuje od francouzského managere – tedy řízení. Pro management se objevuje celá řada definicí, např. že management se dosahování cílů prostřednictvím jiných. Objevuje se také definice: Management je mobilizace všech zdrojů podniku za účelem dosažení vytyčených cílů. Management jako vědní disciplínu řadíme do oblasti humanitní, proto je jeho úplné zvládnutí pomocí tvrdých, technických prostředků – ty jsou pak použitelné jako podpůrné prostředky. Jejich použití automaticky nezajišťuje manažerovi úspěch, ale zvyšuje jeho šanci. Dalším pojmem, který budeme často diskutovat je projekt. Pojmem
26
Modelování rozhodovacích procesů
projekt rozumíme sled činností, které vedou k vymezenému cíli, s jasně daným začátkem a koncem a přesně danými zdroji použitelnými pro splnění cílů projektu. Projekt jako takový lze vymezit činnostmi, které v jeho průběhu musí proběhnout, v určité časové návaznosti. Takové návaznosti můžeme velmi dobře vyjádřit tabulkově. Demonstrujme si tento přístup na zjednodušeném příkladu stavby domu (viz. tabulka 16).
A B C D E F G H I J
Tab. 16: Průběh činností v projektu činnost následníci předchůdci Délka [dny] Výkop základů B 2 Betonování základů C A 10 Hrubá stavba D B 17 Zastřešení E,F,G,H C 5 Elektroinstalace I D 5 Potrubí (voda, plyn) I D 5 Topení I D 5 Okna I D 14 Omítky, podlahy J E,F,G,H 21 Kolaudace I 1
Návaznosti můžeme popsat prostřednictvím specifikace následníků činností nebo předchůdců činnosti. Následníci jsou činnosti, které musí následovat po dokončení právě hodnocené činnosti. Předchůdci jsou činnosti, které musí být dokončeny předtím než mohu započít právě hodnocenou činnost. Jedná se vlastně o ekvivalentní zápisy, liší se pouze směr, kterým provádíme hodnocení. U následníků postupujeme od počáteční činnosti směrem j cíli projektu, u předchůdců začínáme u poslední činnosti a propracováváme se k začátku projektu. Některé software pro projektové řízení např. [5] umožňují volit si způsob navazování dle potřeb a dokonce jej měnit, s tím že se následníci a předchůdci operativně přepočítají. Seznam činností vedený tabulkovou formou je nevhodný pro operativní kontrolu průběhu činností, plánování zdrojů apod. Z tohoto důvodu se používá grafický zápis formou harmonogramů a síťových grafů (viz. obr. 5).
Modelování rozhodovacích procesů
27
A B C D E F G H I J Obr. 5: Harmonogram projektu Na obr. 5 je červeně označena kritická cesta. Kritickou cestou projektu rozumíme posloupnost činností, u kterých by jakékoliv prodloužení proti plánu automaticky vedlo k prodloužení doby trvání projektu jako celku. Z tohoto důvodu je nutné při řízení klást obvzláštní důraz při řízení právě na tyto činnosti.
Obr. 6: Síťový graf projektu Na síťovém grafu jsou jednotlivé činnosti představovány hranami. Činnosti E,F,G,H probíhají současně, tedy musí být dokončeny předtím, než započne činnost I. Abychom tuto skutečnost byli schopni zachytit na grafu zavádíme tzv. virtuální činnosti, na obr. 6 jsou zaznačeny přerušovanou čarou. Tyto virtuální činnosti nemají spojitost s reálně vykonávanými činnostmi, konstruujeme je výhradně pro zpřehlednění výsledného síťového grafu. I v síťovém grafu je možno vyznačit kritickou cestu, na obr. 5 je tato cesta opět vyznačena červenou barvou. Možná Vás napadne otázka, proč k jednomu úkolu (identifikace kritické cesty) použít dva různé grafy. Různé grafy používáme, protože identifikace kritické cesty je pouze jedním z úkolů, které tyto grafy plní. Primárním úkolem síťového grafu je přehledně vizualizovat závislosti mezi jednotlivými činnostmi. Primárním úkolem harmonogramu je vizualizovat činnosti přesně z hlediska časového, za účelem optimalizace využití zdrojů pro nekritické činnosti včetně jejich případného časového posunu. Přínosy harmonogramů/síťových grafů projektů: identifikace kritické cesty
28
Modelování rozhodovacích procesů optimalizace využití zdrojů pro vykonání nekritických činností (včetně posunutí termínů v mantinelech vytyčených kritickou cestou) kontrola realizovaných činností, podklady pro efektivní řízení Příklad Spočtěte délku kritické cesty pro příklad, se kterým jsme pracovali v této kapitole. Řešení Možné cesty 1 – A,B,C,D,E,I,J = 2 + 10 + 17 + 5 + 5 + 21 + 1 = 61 2 – A,B,C,D,F,I,J = 2 + 10 + 17 + 5 + 5 + 21 + 1 = 61 3 – A,B,C,D,H,I,J = 2 + 10 + 17 + 5 + 14 + 21 + 1 = 70 4 – A,B,C,D,G,I,J = 2 + 10 + 17 + 5 + 5 + 21 + 1 = 61 Kritická cesta je cesta 3 (A,B,C,D,H,I,J), projekt bude trvat 70 dni. Kontrolní otázky 1. Co je to metoda CPM? 2. Vysvětlete pojetí návazností z hlediska následníků resp. předchůdců. 3. Proč používáme harmonogram i síťový graf, nestačil by pro řešení všech problémů pouze jeden z nich? 4. Proč klademe takový důraz na hledání kritické cesty, k čemu je to dobré?
3.2 Optimalizace v ostatních síťových modelech Projektový management má určité specifické potřeby, znalost metody CPM může být ale využita také pro jiné druhy sítí. Můžeme ji využít například také pro analýzu silniční sítě nebo sítě nějakého produktovodu. Pro tyto odlišné sítě hledáme obvykle jiné typy odpovědí – můžeme hledat nejkratší cesty mezi dvěma zvolenými uzly v síti, můžeme ale hledat také spojení podle jiného optimalizačního kritéria – např. lze síť analyzovat z hlediska přepravní kapacity a to oběma směry, tedy ve smyslu hledání cesty s maximální kapacitou nebo naopak hledání „úzkých hrdel“ sítě. Tyto typy úloh jsou řešitelné, ale pouze za určitých vstupních předpokladů, které musíme přijmout předtím, než provedeme výpočet. Základním předpokladem přitom je to, že modelovaná síť je uzavřená – tedy nejsou v síti žádná spojení mimo modelovanou síť. Toto omezení je potřeba pečlivě uplatňovat a to z toho důvodu, že většina modelovaných sítí není uzavřená přirozeně, musíme tedy obvykle vybrat určitou
Modelování rozhodovacích procesů
29
část sítě a tu uzavřít. Dalším omezením je požadavek, aby tok, který vstupuje do prvního uzlu, také z posledního uzlu vystupoval. Obvykle se tedy předpokládá, že v rámci sítě nedochází k žádné ztrátě přepravovaného produktu. To neznamená, že úlohy, které ztráty zohlednit potřebují, nejsou řešitelné, pouze algoritmy které se pro řešení používají, jsou však složitější a proto se jimi v tomto předmětu zabývat nebudeme. Podívejme se na možné řešení nějakého jednoduchého problému z hlediska algoritmu, který je možné použít. Pokusme se vyřešit problém hledání maximálního toku v přepravní síti mezi dvěma zadanými uzly. Základní překážkou pro řešení tohoto typu problémů je fakt, že jednotlivé hrany sítě obvykle mají odlišné přepravní kapacity. Pokud bychom takový problém řešili pomocí kombinatoriky, tak bychom nepochybně neuspěli, protože v takovém případě komplexnost problému roste geometrickou řadou. Z tohoto důvodu používáme pro řešení těchto problémů spíše iterační metody, pomocí kterých redukujeme analyzovanou síť na strom, který pak spočteme. Pro případ hledání maximálního možného toku mezi uzly často používáme Ford-Fulkersonův algoritmus, který pracuje následovně (převzato z [12]). Vstupy: graf G s kapacitou toku c, stanoveným počátečním uzlem s a koncovým uzlem t Výstup: tok f z s do t, který je maximální 1. pro všechny hrany 2. Dokud existuje cesta z do v všechny hrany : 1. najdi 2. pro každou hranu 1. 2. „navrácen“)
, taková že
pro
(pošli tok po hraně) (tok může být později
Dalším typem problémů, které jsme nuceni často řešit je hledání nejkratší cesty mezi dvěma uzly. Pro řešení tohoto typu problémů se často používá Dijkstrův algoritmu pojmenovaný po Nizozemském matematikovi, který jej v 50. letech vyvinul. Dijkstrův algoritmus pracuje následovně (převzato z [13]): 1. vytvořme seznam vzdáleností, seznam minulých uzlů, seznam navštívených uzlů a současný uzel
Modelování rozhodovacích procesů
30
2. všechny hodnoty v seznamu vzdáleností jsou nastaveny na nekonečno vyjma počáteční uzlu, který je nastavena na 0. 3. všechny hodnoty v seznamu navštívených uzlů nastavíme na hodnotu nepravda. 4. všechny hodnoty v seznamu minulých uzlů nastavíme na hodnotu indikující, že zatím nebyly definovány – může to být hodnota null nebo třeba Nothing podle zvoleného programovacího jazyka. 5. Současný uzel je nastavena jako počáteční uzel. 6. Současný uzel označíme jako navštívený. 7. aktualizujeme vzdálenosti a seznam minulých uzlů na základě uzlů, které mohou být navštíveny přímo ze současného uzlu. 8. Aktualizujeme současný uzel na uzel zatím nenavštívený, který může být dosažen nejkratší cestou z počáteční hrany. 9. opakujeme (od kroku 6), dokud nenavštívíme všechny uzly. Existuje celá řada různých algoritmů, které se používají pro řešení různých typů problémů, pro různé typy sítí. Jejich seznam můžete najít třeba na Wikipedii ve článku Seznam algoritmů [14], který má jednu sekci věnovanou právě tomuto typu algoritmů. Pokud jste příliš nepochopili na základě předchozího výkladu postup řešení, nevěšte hlavu, ručně se v současnosti tyto problémy skutečně neřeší. Seznámíme se proto s nástrojem, který nám v řešení síťových úloh může pomoci – tento software se nazývá Graphviz [16]. Jedná se opět o open source nástroj, který je dostupný pro většinu rozšířenějších operačních systémů. Tento systém slouží pro kreslení a analyzování acyklických orientovaných grafů. Práce s ním je založena na použití jazyka DOT, který popisuje strukturu a vzhled grafu i činnosti, které s ním chceme provádět. Jako graf, můžeme použít graf produktovodní sítě, kterou používá pro demonstraci analýzy sítí prof. Gros [1] na obr. 3.13 (strana 97). Na rozdíl od prof. Grose však nebudeme analyzovat síť ručně, ale použijeme program Graphviz. Cílová síť je znázorněna na obr. 7.
Obr. 7: Produktovodní síť (převzato z [1])
Modelování rozhodovacích procesů
31
Tuto síť budeme muset převést do programu Graphviz, naštěstí jazyk DOT je velmi intuitivní, takže to nebude takový problém. Strukturu sítě definujeme tak, že zapisujeme sekvence uzlů spojených hranami např. 1 -> 2 -> 4 -> 7 -> 8 -> 11 a tyto cesty ohraničíme identifikací, že se jedná a definici grafu. Pokud nechceme, aby graf byl orientovaný pak místo symbolu šipky „->“ použijeme „--". Celá definice naší sítě bude vypadat následovně: digraph G{ 1 -> 2 -> 4 -> 7 -> 8 -> 11; 1 -> 4 -> 6 -> 7; 1 -> 3 -> 5 -> 6 -> 10 -> 11; 4 -> 5; 5 -> 9 -> 10; 9 -> 11; } Relativně jednoduché, že ano (vykreslování bylo provedeno pomocí knihovny dot). Výsledek našeho snažení bude vypadat, ale trochu jinak než na obr. 7, jelikož Graphviz provádí rozložení uzlů sám. To nám vadit nemusí, protože vlastnosti sítě zůstávají stejné. Výsledek našeho snažená najdete na obr. 8. Pro řešení Dijkstrova algoritmu, ale potřebujeme graf neorientovaný, takže výše uvedenou definici přepíšeme následovně. Výsledek je znázorněn na obr. 9. Vykreslování bylo provedeno pomocí knihovny neato. graph 1 1 1 4 5 9 }
G{ -------
2 -4 -3 -5; 9 -11;
4 -- 7 -- 8 -- 11; 6 -- 7; 5 -- 6 -- 10 -- 11; 10;
Ani v této formě ale není možné spočítat nejkratší cestu. Jednotlivé hrany budeme muset ohodnotit, co do délky. Upravený zápis bude vypadat následovně: graph 1 2 4
G{ -- 2 [len=10]; -- 4 [len=8]; -- 7 [len=6];
Modelování rozhodovacích procesů
32 7 -- 8 [len=11]; 8 -- 11 [len=12]; 1 -- 4 [len=12]; 4 -- 6 [len=9]; 6 -- 7 [len=6]; 1 -- 3 [len=8]; 3 -- 5 [len=10]; 5 -- 6 [len=12]; 6 -- 10 [len=10]; 10 -- 11 [len=10]; 4 -- 5 [len=6]; 5 -- 9 [len=11]; 9 -- 10 [len=6]; 9 -- 11 [len=9]; }
Modelování rozhodovacích procesů
Obr. 8: Síť pomocí DOT jazyka
33
Modelování rozhodovacích procesů
34
Obr. 9: Neorientovaná síť. Síť vygenerovaná pomocí neato (viz. obr. 10) se už bude velmi podobat síti z původního obrázku 7 (samozřejmě bez orientovaných hran).
Obr. 10: Síť s nastavenými délkami Výpočet nejkratší cesty provedeme pomocí utility dijkstra.exe, která je součástí balíku Graphviz. Tato utilita se bohužel ovládá pouze z příkazové
Modelování rozhodovacích procesů
35
řádky. Pokud jsme definici grafu uložili do souboru pokus.dot ve stejné složce jako se nachází soubor dijkstra.exe (většinou c:\Program Files\Graphviz2.22\bin\) pak můžeme spustit následovně pro vyhledání nejkratší cesty mezi uzly 1 a 11: dijkstra.exe
1 pokus.dot 11
Na obrazovce se objeví následující výpis: graph G { graph [maxdist="38.000"]; 1 [dist="0.000"]; 2 [dist="10.000"]; 1 -- 2 [len=10]; 4 [dist="12.000"]; 1 -- 4 [len=12]; 3 [dist="8.000"]; 1 -- 3 [len=8]; 2 -- 4 [len=8]; 7 [dist="18.000"]; 4 -- 7 [len=6]; 6 [dist="21.000"]; 4 -- 6 [len=9]; 5 [dist="18.000"]; 4 -- 5 [len=6]; 8 [dist="29.000"]; 7 -- 8 [len=11]; 11 [dist="38.000"]; 8 -- 11 [len=12]; 10 [dist="31.000"]; 6 -- 10 [len=10]; 6 -- 7 [len=6]; 3 -- 5 [len=10]; 5 -- 6 [len=12]; 9 [dist="29.000"]; 5 -- 9 [len=11]; 10 -- 11 [len=10]; 9 -- 10 [len=6]; 9 -- 11 [len=9]; } Vypočtená minimální délka cesty je 38. Posuzovány přitom byly všechny uzly. Interpretovat je to nutné následujícím způsobem. Z počátečního uzlu 1
36
Modelování rozhodovacích procesů
můžeme navštívit uzly 2, 4 a 3 s délkou hrany 10, 12, resp. 8. Pro tyto uzly se zaznamená tato délka jako nejkratší. Z uzlu 2 můžeme dosáhnout pouze na uzel 4, délka 1 -> 2 -> 4 je však 18, zatímco délka 1 -> 4 je pouze 12, proto přes uzel 2 nevede nejkratší cesta. Z uzlu 3 můžeme dosáhnout pouze na uzel 5, vzdálenost 1 -> 3 -> 5 bude 18. Všimněte si, že vzdálenost 1 -> 4 -> 5 je taktéž 18, dle tohoto algoritmu pokud bude vést nejkratší cesta přes uzel 5, pak se bude preferovat cesta přes uzly s nižším indexovým číslem, protože budou algoritmicky zpracovány dříve. Cestu 5 -> 4 můžeme ignorovat, jelikož její délka je 24 a optimální vzdálenost do uzlu 4 je 12. Z uzlu 4 můžeme jít do uzlů 6 a 7, celková délka cest bude 21 a 18. Z uzlu 5 můžeme jít do uzlu 6 a 9. Délka cesty do uzlu 6 přes uzel 5 je 30, přitom jsme už spočetli, že do uzlu 6 vede kratší cesta a to přes uzel 4, pokud tedy nejkratší cesta vede přes uzel 6, pak povede přes 1 -> 4 -> 6. Z uzlu 6 můžeme jít do uzlů 7 a 10. Délka cesty do uzlu 7 přes uzel 6 je 27, optimální je tedy cesta do uzlu 7: 1 -> 4 -> 7. Vzdálenost do uzlu 10 je 31 (1 -> 4 -> 6 -> 10). Z uzlu 7 můžeme jít pouze do uzlu 8 (vzdálenost 29) a z tohoto uzlu pak můžeme jít pouze do uzlu 11 (vzdálenost 41). Z uzlu 9 můžeme jít do uzlů 10 (vzdálenost 35) a 11. Optimální vzdálenost do uzlu 10 je přitom 31 (1 -> 4 -> 6 -> 10), tudy tedy ne. Vzdálenost 9 -> 11 je pak 38, což je lepší než cesta přes uzel 8 (45). Konečně nás čeká už jen poslední hrana a to cesta z uzlu 10 do uzlu 11, celková vzdálenost je 41, což je více než kdybychom šli přes uzel 9. Optimální cesta tedy je 1 -> 3 -> 5 -> 9 -> 11. Příklad Zjistěte délku a průběh nejkratší cesty mezi uzly 1 a 7 dle následujícího obrázku. K výpočtu použijte balík programů Graphviz.
Modelování rozhodovacích procesů
37
Modelování rozhodovacích procesů
38
4 Bilanční modely Průvodce studiem Při rozhodování během krizí by se mělo vycházet z hlubokých, předem připravených znalostí/informací o dané organizaci, firmě. Jednou ze základních funkcí firem je produkce, tedy vytváření produktů za účelem dalšího prodeje. Bilanční modely, kterými se budeme zabývat v této kapitole, slouží právě k poznání tohoto výrobního řetězce. Umožňuje nám popsat, jak se jednotlivé suroviny transformují v polotovary a ty zas ve finální výrobky. Informace, které nám bilanční model může poskytnout, pak můžeme využít k hodnocení následků mimořádných událostí z hlediska schopnosti firmy vyrábět. Po prostudování této kapitoly budete vědět co jsou to bilanční modely jakým způsobem se bilanční model konstruuje jak je možné tento model vyřešit Čas pro studium Pro prostudování této kapitoly budete potřebovat přibližně 45 minut.
Bilanční modely slouží pro přesný popis návazností výrobních technologií, umožňuje tedy popsat jakým způsobem se transformují vstupy (suroviny, polotovary) na výstupy (výrobky). Bilanční modely se v podnikové ekonomice používají pro plánování výrobních kapacit a surovinových potřeb pro plánovanou produkci finálních výrobků. V havarijním plánování však tento typ modelů můžeme s úspěchem využít pro modelování následku havárií, především jak se projeví vyřazení části infrastruktury podniku na jeho schopnosti udržet výrobu v chodu. Dle namodelovaných výsledků lze naplánovat způsob efektivního zotavení z následků mimořádných událostí. Vztahy mezi surovinami, polotovary a výrobky lze vyjádřit následovně (1): x = y + Ax
(1)
Modelování rozhodovacích procesů kde
x y Ax A
39
celková produkce výrobku produkce výrobku expedovaná mimo modelovaný systém vlastní spotřeba uvnitř modelovaného systému matice měrných spotřeb polotovarů Hasební látka (pevná)
Hasební látka (prášek)
Plech
Láhev
Ventil
Hasicí přístrojl
Obr. 11: Výroba práškového hasicího přístroje Rovnice (1) je zapsána maticovou formou. Pokud tedy v uvažovaném příkladu z obr. 11 označíme x1 hasební látka (pevná) x2 hasební látka (prášek) x3 ventil x4 plech x5 láhev x6 hasicí přístroj Abychom, mohli bilanční model vyčíslit, je nutné stanovit měrné spotřeby jednotlivých polotovarů, viz. tabulka 17. Tab. 17: Měrné spotřeby polotovarů Výrobek Polotovar Hasicí přístroj Hasební látka (prášek) ventil láhev Hasební látka (prášek) Hasební látka (plná) Láhev Plech
Měrná spotřeba 10 kg/1ks 1 ks/1ks 1 ks/1ks 1 kg/kg 0,25 plátu
Vyjádřeno rovnicemi (2): x6 = y6 + 10x2 + x3 + x5 x2 = y2 + x1
(2)
Modelování rozhodovacích procesů
40 x5 = y5 + 0,25x4 x1 = y1 x3 = y3 x4 = y4
Takováto soustava rovnic je dobře řešitelná pokud si uvědomíme, že proměnné y jsou dány nasmlouvaným objemem (objednávkami) a polotovary můžeme kompletně substituovat jejich bilančními rovnicemi. Jednoduché výrobní systémy jsou dokonce pohodlně řešitelné ručně, u složitějších je však preferován maticový zápis a řešení pomocí tabulkového kalkulátoru. Rovnici (1) tak můžeme rozepsat pro náš příklad následovně (3): 𝑦1 𝑥1 0 0 𝑦2 𝑥2 1 0 𝑦3 𝑥3 0 0 𝑥4 = 𝑦4 + 0 0 𝑥5 𝑦5 0 0 𝑥6 𝑦6 0 10 (3)
0 0 0 0 0 0 0 0 0 0 0 0 0 0,25 0 1 0 1
0 0 0
𝑥1 𝑥2 𝑥3 ∙ 𝑥 0 4 𝑥 0 5 𝑥 0 6
Příklad Příklad bilančního modelu je nahrán na http://prometheus.vsb.cz ve formátu MS Excel. Tento příklad je vypočítán pomocí dvou různých metod, které jsou ale z pohledu výsledků totožné. Kontrolní otázky 1. K čemu slouží bilanční modely? 2. Vysvětlete výrobkovou bilanční rovnici.
Modelování rozhodovacích procesů
41
5 Lineární programování Průvodce studiem Lineární programování je často používaným nástrojem pro řešení optimalizačních problémů, které jsme schopni omezit pomocí podmínek vyjádřitelných jako rovnice nebo nerovnice. Po prostudování této kapitoly budete vědět Jak vyřešit optimalizační problém pomocí simplexovy metody. Čas pro studium Pro prostudování této kapitoly budete potřebovat přibližně 45 minut, ale pokud vyzkoušíte vyřešit příklady obsažené v této kapitole, může Vám to trvat podstatně déle.
Lineární programování řadíme do skupiny algoritmů pro matematické řešení optimalizačních problémů zvané matematické programování. Lineární programování nazýváme takovým způsobem proto, že optimalizační problém řešíme prostřednictvím soustavy lineárních rovnic popřípadě nerovnic. V lineárním programování pracujeme s jednou základní tzv. účelovou funkcí, kterou optimalizujeme, tedy obvykle maximalizujeme nebo minimalizujeme a soustavou tzv. omezujících podmínek, stanovených jako soustava rovnic nebo nerovnic, pomocí kterých omezujeme prostor možných řešení. Účelovou funkci můžeme obecně vyjádřit dle rovnice (4). 𝑜𝑝𝑡𝑖𝑚 𝑧 = kde
𝑛 𝑗 =1 𝑐𝑗
z optim cj xj
∙ 𝑥𝑗
(4)
účelová funkce požadovaná optimalizace max nebo min ocenění proměnných v účelové funkci (např. cena, variabilní náklady apod.) optimalizovaná proměnná
Omezující podmínky formulujeme následovně (5). 𝑛 𝑗 =1 𝑎𝑖𝑗 𝑛 𝑗 =1 𝑎𝑖𝑗 𝑛 𝑗 =1 𝑎𝑖𝑗
∙ 𝑥𝑗 ≤ 𝑏𝑖 ∙ 𝑥𝑗 = 𝑏𝑖 ∙ 𝑥𝑗 ≥ 𝑏𝑖
𝑖 = 1, 2, … , 𝑘 𝑖 = 𝑘 + 1, 𝑘 + 2, … , 𝑝 𝑖 = 𝑘 + 𝑝 + 1, 𝑘 + 𝑝 + 2, 𝑘 + 𝑝 + 𝑠
(5)
Modelování rozhodovacích procesů
42 𝑥𝑗 ≥ 0 kde
aij xj bi
𝑗 = 1, 2, … , 𝑛 technické koeficienty modelu, nastavují se pro každý model samostatně a pak se již nemění optimalizovaná proměnná pravé strany omezení, opět se volí v závislosti na modelu (kapacitní omezení apod.)
Pro optimalizované proměnné přitom musí platit, že musí být nezáporné. Tato podmínka vychází z toho, že nelze vyrábět záporný počet výrobků apod. Při připuštění záporných optimalizovaných proměnných bychom získali nestandardní optimalizační problém, který by nebyl řešitelný pomocí lineárního programování (minimálně pomocí metody, kterou budeme popisovat dále). Jaké problémy pomocí lineárního programování lze řešit? Primárně se tato metoda využívá v ekonomii pro optimalizace výrobního programu (za účelem maximalizace zisku), ale jedná se obecnou metodu, která je využitelná obecně – pro optimalizaci odsávání jednoho zdroje více odsávacími jednotkami, pro optimalizaci přepravy čehokoliv pomocí různých druhů přepravních prostředků apod. Nyní jak postupovat při formulaci problému a jeho řešení. V prvním kroku je nutné formulovat model v intencích rovnic (4) a (5), tedy jako soustavu účelové funkce a omezujících podmínek, jako je např. následující: max z = 2x1 – 3x2 + 4x3 4x1 – 3x2 + x3 ≤ 3 x1 + x2 + x3 ≤ 10 2x1 + x2 – x3 ≤ 10 Takovouto soustavu můžeme řešit pomocí celé řady dostupných algoritmů jako je např.: primární algoritmus (simplexova metoda) duální algoritmus ... My se budeme dále zabývat pouze simplexovou metodou jako nejznámějším algoritmem pro řešení tohoto typu úloh. Následující text pro řešení úlohy pomocí simplexovy metody je poněkud náročnější, proto doporučuji, abyste buď absolvovali cvičení prakticky ukazující řešení tohoto problému, nebo alespoň prošli dostupný tutoriál Štefana Wanera [6], který je sice anglicky, ale interaktivně vás krok po kroku vede ke zvládnutí této metody. Pusťme se tedy do řešení problému pomocí simplexovy metody.
Modelování rozhodovacích procesů
43
Prvním krokem je převedení omezujících podmínek v nerovnicové formě do formy rovnic. To převedeme tak, že při znaménku ≤ doplníme tzv. doplňovací proměnnou di a nerovnici přepíšeme do formy rovnice (nerovnice ≤a ≥jsou mezi sebou formálně převoditelné násobením celé rovnice -1). Náš příklad by pak vypadal následovně: 4x1 – 3x2 + x3 + d1 = 3 x1 + x2 + x3 + d2 = 10 2x1 + x2 – x3 + d3 = 10 -2x1 + 3x2 – 4x3 + z = 0 Doplňkové proměnné, pokud v optimálním řešení vyjdou nenulové množství zdroje bi (viz. (4)), které nebude využito, spotřebováno. Alternativně lze pro nerovnice volit záporné doplňovací proměnné -di. Vytvoříme počáteční pracovní tabulku
x1
Tab. 18: Počáteční pracovní tabulka x2 x3 d1 d2 d3 z
4 1 2
-3 1 1
1 1 -1
1 0 0
0 1 0
0 0 1
0 3 0 10 0 10
-2
3
-4
0
0
0
1 0
S každou tabulkou je asociováno právě jedno tzv. bazické řešení. Jedná se o jedno z nekonečně mnoha řešení. Abychom takové řešení získali hledáme tzv. vyčištěné sloupce tedy sloupce, ve kterých je nenulová hodnota pouze na jediném řádku. Proměnným v těchto sloupcích říkáme, že jsou aktivní, zatímco ostatní jsou neaktivní. Bazické řešení naší tabulky bo mohlo být následující.
x1
Tab. 19: Počáteční pracovní tabulka – bazické řešení x2 x3 d1 d2 d3 z Bazické řešení
4 1 2
-3 1 1
1 1 -1
1 0 0
0 1 0
0 0 1
0 0 0
3 10 10
d1 = 3/1 = 3 d2 = 10/1 = 10 d3 = 10/1 = 10
-2
3
-4
0
0
0
1
0
z = 0/1 = 0
Všechny ostatní proměnné (x1, x2, x3) jsou neaktivní a proto je položíme rovny nule: d1 = 3
Modelování rozhodovacích procesů
44 d2, d3 = 10 x1, x2, x3, z = 0
Takto získané řešení je však očividně daleko od hledaného optima, takže musíme naše řešení dále upravovat. Úpravu provedeme podle zvoleného středu. Střed přitom určujeme na základě několika pravidel: 1. výběr sloupce (ve kterém bude střed) – vybíráme vždy sloupec proměnné, ve kterém je jevíce záporné číslo účelové funkce (poslední řádek tabulky) – v našem případě je to číslo -4 a tedy sloupec x3. 2. Střed musí být vždy kladné číslo, které má největší testovací poměr. Testovací poměr spočteme jako poměr pravé strany rovnice a proměnné daného sloupce na daném řádku. Podívejme se na výpočet v tabulce 20.
x1
Tab. 20: výpočet středu x2 x3 d1 d2 d3
z
4 1 2
-3 1 1
1 1 -1
1 0 0
0 1 0
0 0 1
0 0 0
3 10 10
-2
3
-4
0
0
0
1
0
Testovací poměr 3/1 = 3 10/1 = 10
Hledaný střed je na průsečíku vybraného sloupce a řádku. Tabulku upravujeme kromě řádku středu tak, aby se sloupec středu vyčistil (viz. tab. 21)
x1
Tab. 21: Iterace 2 x2 x3 d1 d2
d3
z
3 1 3
-4 1 2
0 1 0
1 0 0
-1 1 1
0 0 1
0 0 0
-7 10 20
- řádek 2
2
7
0
0
4
0
1
40
+ 4 * řádek 2
úpravy
+ řádek 2
Protože v posledním řádku se již nevyskytují žádná záporná čísla, dospěli jsme k optimálnímu řešení. V opačném případě bychom postup s hledáním středu a úpravami tabulky museli opakovat. Výsledné řešení: x1, x2 = 0 x3 = 10 d1 = -7 d3 = 20 d4 = 40
Modelování rozhodovacích procesů
45
Samozřejmě podobně jako v předchozích případech, optimalizační problémy neřešíme ručně, ale využíváme softwarovou podporu pro řešení. Z velkých programových balíku, které zvládají řešit problémy lineárního programování můžeme zmínit Mathematicu, Mathlab nebo open sourcový SciLab. Existuje také celá řada menších utilit, které můžete s úspěchem použít pro řešení některých jednodušších úkolů (na úrovni úkolů, které budou následovat dále). Jednou z nich je například Finite mathematics utility: simplex method tool [15]. Problém zde definujeme intuitivně do textového pole a výpočet je proveden pomocí JavaScriptového enginu přímo na Vašem PC. Rozhraní vypadá podobně jako na obr. 12.
Obr. 12: Simplex tool Do horní části okna vypisujeme účelovou funkci, přitom stanovujeme, zda ji chceme maximalizovat nebo minimalizovat a podrobujeme ji (subject to)
Modelování rozhodovacích procesů
46
omezením. Řešení se spustí kliknutím na tlačítko „Solve“. Jednotlivé iterace řešení se vypíší ve spodní části obrazovky a optimální řešení se zapíše do samostatného řádku řešení (Solution). Příklad Dva studenti Anna a Karel pracují x a y hodin týdně. Dohromady mohou pracovat maximálně 40 hodin týdně. Podle pravidel pro brigádníky může Anna pracovat maximálně o 8 hodin více než Karel, ale Karel může pracovat maximálně o 6 hodin déle než Anna. Dodatečné omezení je 18 < = 2y + x. Najděte optimální řešení, pro: 1. Pokud Anna dostane 15$ a Karel 17$ za hodinu, nalezněte maximální kombinovaný příjem 2. Pokud Anna dostane 17$ a Karel 15$ za hodinu, nalezněte maximální kombinovaný příjem 3. Pokud Anna i Karel dostanou 16$ za hodinu, nalezněte maximální kombinovaný příjem Příklad Společnost vyrábí dva výrobky (X a Y) a k tomu používá dva stroje (A a B). Pro výrobu každé jednotky produkce výrobku X je nutné 50 minut času stroje A a 30 minut času na stroji B. Každá jednotka výrobku Y vyžaduje 24 minut na stroji A a 33 minut na stroji B. Na začátku týdne je v zásobě 30 jednotek X a 90 jednotek Y. Dostupný čas na stroji A se odhaduje na 40 hodin a na stroji B na 35 hodin. Poptávka po výrobku X na tento týden se odhaduje na 75 jednotek a pro Y na 95 jednotek. Podniková politika říká, že se maximalizuje kombinmovaná suma jednotek X a Y v zásobě na konci týdne.
formulujte problém pro rozhodnutí o tok kolik každého produktu vyrobit tento týden
Příklad Společnost produkuje 2 výrobky (X a Y). K výrobě jsopu používány dva zdroje - stroje, pro automatizovanou výrobu, a dělníci pro dodělávací práce. Tabulka níže dává přehled o potřebném počtu minut na každý výrobek. stroj dělník
Modelování rozhodovacích procesů výrobek X 13 výrobek Y 19
47
20 29
Společnost pro výrobu může získat pro následující týden 40 hodin času na stroji, ale pouze 35 hodin dělnické práce. Náklady na práci stroje jsou 10$ za hodinu a dělníků 2$ za hodinu. Čas bez práce (kdy nevyrábějí) se dělníkům neproplácí. Cena výrobku X je 20$ a Y je 30$. Společnost má kontrakt pro výrobu 10-ti výrobků X. Formulujte (a vyřešte) problém lineárního programování. Příklad Květinářství Azalka dostalo zakázku vyrobit svatební květinovou výzdobu. Květiny budou dvou druhů, přičemž celkem jich má být maximálně 30ks. Výroba první květiny trvá 20 min. a květinářství přináší zisk 56Kč (účtovaná cena 145Kč), výroba druhé květiny trvá 15 min. a přináší květinářství zisk 43Kč (účtovaná cena 130Kč). Náklady na výzdobu přitom nesmějí přesáhnout 4100Kč a přípravca nesmí trvat déle než 9hod. Květinářství si klade otázku, jaká zvolit poměr vázaných květin, aby vzhledem k délce trvání uvázání maximalizovalo svůj zisk. Květinářství má pro oba druhy květin dostatek zdrojů a květinářky umí stejně dobře vázat oba druhy květin. Příklad Výrobce čajů má k dispozici 3kg sušené máty a 1,5kg sušené třezalky. Má možnost vyrábět dva druhy bylinných čajů, a to čistý mátový čaj nebo směs máty a třezalky v poměru 3:2, byliny jsou plněny do nálevových sáčků po 10g. Při výrobě je nutné počítat s odparem u máty 5% a u třezalky 8%. Čistého mátového čaje se prodá maximálně 100 sáčků. Zisk u jednoho sáčku čisté máty je 2Kč a z jednoho sáčku směsi 3Kč. Kolik sáčků každého druhu má výrobce vyrobit, aby zisk byl maximální. Disponibilní množství čistých bylin je:
máta ... 3000g třezalka ... 1500g
Modelování rozhodovacích procesů
48
6 Úvod do teorie her Průvodce studiem V situacích, kdy výsledek rozhodovací situace je přímo ovlivněn rozhodnutími dalších lidí, kteří působí proti našim zájmům, techniky, které jsme zatím probrali, příliš nepomohou. Právě v těchto situacích se používá teorie her. Po prostudování této kapitoly budete vědět jak řešit jednoduché úlohy z teorie her Čas pro studium Pro prostudování této kapitoly budete potřebovat přibližně 45 minut.
Rozhodování, respektive přípravu pro rozhodnutí jsme zatím vždy konstruovali na základě objektivních poznatelných charakteristik, kdy proti rozhodnutí nestál protivník, který by si ze všeho nejvíc přál hatit Vaše plány. Jinými slovy nebylo rozhodování činěno proti živému člověku, který má vlastní zájmy, které se také samozřejmě snaží maximalizovat. Teorií, která popisuje právě tyto rozhodovací situace je teorie her. Rozhodovací situace je v této teorii vnímána jako hra, do které vstupují jednotliví účastníci rozhodování – hráči. Pro demonstraci východisek této teorie je používán často následující příklad. Příklad Ve věznici sedí na samotce dva obžalovaní, čekají na soud a rozhodují se o tom, co vypoví. Pokud vězeň A obviní vězně B a vězeň B bude mlčet pak vězeň A vyvázne a vězeň B dostane přísný trest. Pokud se vězni A a B budou vzájemně obviňovat, oba dostanou přísný trest. Pokud oba vězni budou mlčet, dostanou oba mírný trest, protože dokazování bude velmi obtížné. Pokud vězeň B obviní vězně A a vězeň A bude mlčet, pak vězeň B vyvázne a vězeň A dostane přísný trest. Uvedenou situaci lze zapsat i tabulkovou formou (viz. tab. 22). Cílem obou vězňů je maximalizace jejich užitku v situaci, kdy nemají úplnou informaci o volbě strategie svého soupeře, volí svou strategii podle své úvahy o reakci soupeře. V našem případě jde především o víru, zda vězně soupeř podrazí nebo ne a schopnosti toho využít nebo maximalizovat škodu soupeře.
Modelování rozhodovacích procesů
49
Cílem teorie her je kultivovat toto soupeření a pomoci hledat varianty řešení, které nemaximalizují zisk, ale optimalizují zisk v souvislosti s rozhodnutím soupeře, tedy hledání optimální strategie. Tab. 22: Následky volby strategií vězeň A Vězeň A mlčet
mluvit
Vězeň B mlčet A Mírný trest A svoboda mluvit A přísný trest A přísný trest Kdybychom slovní hodnocení převedli do číselné podoby, pak by tato čísla tvořila matici výher A o které bychom mohli napsat (6)
max min a ij≤ min max a ij i
j
j
i
(6)
Cituji z [1] … největší z minimálním výher, které se může první hráč zajistit, nemůže překročit největší výhru, kterou chce druhý hráč minimalizovat. V situaci, kdy existuje bod, který reprezentuje rovnost obou stran nerovnice (6), říkáme, že matice výher A má sedlový bod. Tento sedlový bod mi reprezentuje optimální strategii, kterou bych měl volit s ohledem na své vyhlídky a vyhlídky soupeře. Zkusme demonstrovat tento přístup na našem příkladě. Ohodnoťme bodově možné výsledky strategií: mírný trest 50b, svoboda 100b, přísný trest 0b. Tab. 23: Hledání sedlového bodu Vězeň A minj mlčet mluvit Vězeň B mlčet 50 mluvit 0 maxi
50
100
50
0
0
100
Sedlový bod, který jsme takto zjistili, doporučuje vězni A mlčet. Pokud totiž vězeň B bude znát teorii her, bude volit právě tuto strategii, ze které budou profitovat oba. Tento výsledek však předpokládá racionální chování obou zúčastněných. Takto jednoduše řešitelným hrám říkáme hry dvou hráčů v normálním tvaru. Bohužel ne všechny úlohy mají sedlový bod, v případě, že jej nemají, pak hovoříme o smíšeném rozšíření hry dvou hráčů. V tomto případě nehledáme jedinou, optimální strategii, ale pravděpodobnosti, se kterými mají hráči střídat
50
Modelování rozhodovacích procesů
strategie tak, aby v průměru dosáhli maximální možné výhry. Hledají se tedy tzv. smíšené strategie. Je třeba podotknout, že každou hru, vyjádřitelnou maticovou formou (o kterých se tady bavíme) má řešení ve smíšených strategiích. Smíšené hry předpokládají, že rozhodovací situace se opakují, tedy že dochází k opakovanému střetu hráčů a opakovanému volení strategií. Teprve v takovém případě mají smíšené strategie smysl. Hru pak převádíme do formy řešitelné pomocí metod lineárního programování. Kontrolní otázky 1) Co je to sedlový bod? 2) Které úlohy teorie her mají řešení ve smíšených strategiích? 3) Vymyslete situaci, za které nemá smysl hledat řešení ve smíšených strategiích (která podléhá teorii her).
Modelování rozhodovacích procesů
51
7 Regresní modely Průvodce studiem Další možností jak získat cenné informace k rozhodnutí je analýza numerických údajů popisujících předchozí vývoj a na základě těchto údajů odhadnout vývoj budoucí. Predikce budoucího vývoje pak umožňuje přijmout kvalitní rozhodnutí. Tato kapitola je určena pro zasazení problematiky rozhodování do širšího kontextu dalších věd, v tomto případě statistiky. Statistika samotná je podrobněji rozebrána v předmětu Statistika, který se vyučuje v 3. ročníku. Čas pro studium Pro prostudování této kapitoly budete potřebovat přibližně 45 minut.
V rámci procesu, který nazýváme regresní analýza, analyzujeme n k-tic (vysvětlujících proměnných), za účelem zjištění, zda nepřispívají k vysvětlení hledané vysvětlované veličiny. Převedeno do běžné češtiny – máme řadu údajů a ty se snažíme proložit křivkou, tak aby je co možná nejpřesněji kopírovala. Nalezení křivky (regresní funkce) nám umožní vypočítat hodnoty i mezi těmito naměřenými údaji. Každý regresní model je obecně vyjádřitelný dle (7). y=+ kde
y
(7) vysvětlovaná proměnná nenáhodná složka odhadu náhodná složka odhadu
Matematicky jsou schopni odvodit pouze nenáhodnou složku odhadu . O náhodné složce obvykle předpokládáme, že se řídí normálním rozdělením a z tohoto důvodu předpokládáme, že se chyby způsobené těmito náhodnými vlivy pro dostatečný počet analyzovaných údajů vzájemně vyváží. Pro volíme vhodný regresní model, ať už lineární regresní modely jako např. = 0 + 1x1 nebo = 0 + 1x1 + 2x2 apod. nebo nelineární. My se z důvodu prostorových omezení budeme zabývat pouze modely lineárními. Obecně můžeme lineární modely zapsat následovně (8).
Modelování rozhodovacích procesů
52
𝜂 = 𝑖 𝛽𝑖 ∙ 𝑓𝑖 kde regresní parametr f regresor (funkce vysvětlujících proměnných)
(8)
Hlavním úkolem regresní analýzy je odhadnutí regresních parametrů. Jednou z nejpoužívanějších metod k zjištění odhadu regresních parametrů je metoda nejmenších čtverců. Při jejím použití nahrazujeme regresní parametry jejich odhady b. Hledáme takovou regresní funkci jejíž součet odchylek je nejmenší. Pokud se snažíme nalézt parametry přímky, pak můžeme zapsat (9): Y = b0 + b1x1
(9)
Součet odchylek spočteme srovnáním dosaženým pomocí regresního modelu a hodnot, které jsme skutečně naměřili. 𝑄=
𝑛 𝑗 =1(𝑦𝑗
− 𝑌𝑗 )2 =
𝑛 𝑗 =1(𝑦𝑗
− 𝑏0 − 𝑏1 ∙ 𝑥𝑗 )2
(10)
Matematicky regresní parametry vypočteme tak, že součet (10) parciálně derivujeme podle jednotlivých regresních parametrů, čímž dostaneme soustavu tzv. normálních rovnic, kterou dále klasicky řešíme. Poté, co úspěšně zjistíme regresní parametry, je nutné rozhodnout, zda výsledný model dostatečně přesně zobrazuje realitu. K tomuto účelu můžeme využít tzv. determinanční index (11) nebo korelační index (12). 𝐼2 = 2
𝑆𝑇 𝑆𝑌
=
𝐼 =1−
𝑆𝑅 𝑆𝑌
(𝑌𝑗 −𝑦 )2
(11)
(𝑦 𝑗 −𝑦 )2
=1−
(𝑦 𝑗 −𝑌𝑗 )2 (𝑦 𝑗 −𝑦 )2
(12)
Determinanční index nabývá hodnot 0 – 1 a udává hodnotu v procentech, nakolik zvolený regresní model vysvětluje rozptyl naměřených hodnot vysvětlované proměnné y. Vhodnost zvoleného modelu lze hodnotit také pomocí celkového F-testu a dílčích t-testů. Pomocí celkového F-testu, testujeme nulovou hypotézu tvrdící, že kromě parametru b0, jsou všechny zvolené regresní funkce nulové, tedy nevýznamné pro vysvětlení proměnné y. Pro ověření této hypotézy použijeme následující testovací kritérium (13).
Modelování rozhodovacích procesů ST p− 1 F= SR n− p
53
(13)
Nulovou hypotézu H0 na hladině významnosti zamítneme, pokud F > F1-.
Dílčími t-testy hodnotíme jednotlivé regresní parametry, zda není daná (jedna) regresní funkce nulová. Použijeme testovací kritérium (14). 𝑡𝑖 =
𝑏𝑖 𝑠(𝑏 𝑖 )
Kontrolní otázky 1) Vysvětlete podstatu testování hypotéz. 2) Co rozumíme pojmem lineární regrese?
(14)
Modelování rozhodovacích procesů
54
8 Umělá inteligence Průvodce studiem Použití prostředků umělé inteligence může také přinést důležité informace, které zefektivní rozhodovací proces. V této kapitole se zaměřím pouze na základní informace o expertních systémech a neuronových sítích. Tato kapitola je zde opět vložena jako určité zasazení problematiky rozhodování do širšího rámce. Podrobněji je oblast umělé inteligence rozebrána v předmětu Expertní systémy. Čas pro studium Pro prostudování této kapitoly budete potřebovat přibližně 45 minut.
Použití prostředků umělé inteligence může také přinést důležité informace, které zefektivní rozhodovací proces. V této kapitole se zaměřím pouze na základní informace o expertních systémech a neuronových sítích. Expertní systémy slouží pro nahrazení znalostí experta v určité oblasti počítačovým systémem. Hlavním cílem je poskytnout kvalifikované expertní informace v situaci, kdy expert člověk není přítomen a rozhodnutí je nutné přijmout velmi rychle nebo dokonce okamžitě. Informace, kterou takový systém poskytne samozřejmě kvalitativně svým rozsahem a hloubkou nemůže v současné době nahradit experta – člověka. Může však pomoci učinit správné rozhodnutí, které se po příchodu experta může doladit. Pro naplnění expertního systému je nutná úzká spolupráce experta v dané oblasti a také znalostního inženýra. S touto spoluprací jsou samozřejmě problémy: 1. je nutné, aby expert nechal nahlédnout znalostního inženýra a potažmo i uživatele expertního systému „pod pokličku“, což je věc, kterou někteří experti nesou nelibě, 2. znalosti experta je nutné vyjádřit v přísně formalizovaném stavu, tak aby si s nimi expertní systém poradil, tedy aby byly vyčísleny, porovnány apod. Člověk, však uvažuje jinak než počítač a obvykle nevyžaduje takto formalizované údaje. Rozhodnutí experta člověka je totiž tvořeno řekněme tvrdou vyčíslitelnou, měřitelnou částí (a v počítači dobře popsatelnou částí) a zkušenostmi, intuicí, které se zachycují velmi špatně. Často se stává, že expert přijde k problému a „ví“ řešení, aniž by příliš zkoumal celou situaci. Této úrovně „simulace“ experta pomocí expertních
Modelování rozhodovacích procesů
55
systémů ani dosáhnout nelze. Znalosti v expertních systémech dělíme na, znalosti reprezentované deklarativně a znalosti reprezentované procedurálně. Deklarativní znalosti nazýváme také fakta nebo poznatky. Poznatkem pro expertní systém rozpoznávání zvířat může být: pes má čtyři nohy. Procedurální znalosti definují, jakým způsobem bude probíhat odvozování a poznávání. Procedurální znalosti mají často charakter pravidel, pravidla přitom využívají definovaných poznatků: pokud je tvor pes, pak má čtyři nohy. Expertní systém pak pomocí sledu otázek získává potřebná fakta o rozhodovací situaci a porovnává je s poznatky uloženými v jeho bázi znalostí. Teprve po získání těchto údajů podá nějaké vysvětlení. Neuronové sítě pracují na jiném principu. Implementací umělých neuronových sítí se snažíme programově přiblížit fungování běžných neuronů mozku. Snažíme se zejména napodobit schopnost mozku učit se a vybavovat si naučené poznatky. Neuronovou síť z hlediska modelování chápeme jako černou skříňku, která po naučení dává nějaké výsledky. V podnikové praxi se poměrně často využívají neuronové sítě spolu s regresními funkcemi pro odhady hodnot sledovaných proměnných. Neuronová síť pracuje tak, že transformuje vstupy na výstupy přes různá spojení mezi neurony. Tento výsledek je porovnán s výsledkem skutečným naměřeným (trénovací množina) a v závislosti na tom, jak přesný byl výsledek se spojení mezi neurony posílí nebo naopak oslabí. Proces učení tak probíhá po iteracích (po krocích), ve kterých jsou upravovány váhy spojení mezi neurony, až celková chyba klesne pod stanovenou, přijatelnou hladinu. Teprve poté je možné takto natrénovanou síť konzultovat – tedy předkládat vstupy modelované situace a odečítat výstupy. Schopnost neuronové sítě naučit se přímo závisí na zvoleném typu neuronové sítě a její konfiguraci. Obecně se dá říci, že čím více vrstev neuronové sítě a neuronů v nich obsažených, tím větší je naděje, že neuronová síť bude schopna se naučit s přijatelnou přesností. Na druhou stranu doba nutná pro učení se s množstvím neuronů, respektive spojení mezi nimi zvyšuje a to obvykle exponenciálně. Naučení neuronové sítě nějakého „velkého“ problému tak může zabrat hodiny, dny nebo nemusí být při současném stavu výpočetní techniky řešitelné. Některé pokročilé dataminingové nástroje k tomuto problému přistupují tak, že preferují rychlost nad přesností, s tím že nástroj zároveň umožňuje vyzkoušet i jiné metody analýzy dat, třeba pomocí regresní analýzy a všechny modely srovná – pro rozhodnutí se použije, ten s nejlepšími výsledky. Očividně oblast umělé inteligence je velmi široká a značně přesahuje rámec, kterým se zabýváme v tomto předmětu. Zájemci o hlubší poznání této
56
Modelování rozhodovacích procesů
disciplíny mohou použít např. Literaturu [9, 10] nebo si zvolit předmět Expertní systémy. Kontrolní otázky 1) Zkuste vysvětlit, jak funguje proces učení neuronové sítě. 2) Zkuste vysvětlit, jak probíhá naplňování expertního systému.
Modelování rozhodovacích procesů
57
9 Kompetence v rozhodování Průvodce studiem Dosud jsme se zabývali rozhodováním z hlediska objektivní schopnosti učinit správné rozhodnutí a seznámili jsme se s řadou metod, které by nám k tomuto účelu mohly pomoct, vynechali jsme však jednu oblast, která je vzhledem k oboru, ve kterém se pohybujeme, také velmi důležitá, tedy legislativní aspekty rozhodnutí, především kdo, kdy, na základě čeho může rozhodnout. Čas pro studium Pro prostudování této kapitoly budete potřebovat přibližně 45 minut.
Český právní řád je v současné době považován i řadou právníků za džugli, ve které se není možné vyznat. Rozhodování během mimořádných událostí samozřejmě není výjimkou a řídí se desítkami různých zákonů a vyhlášek, legislativa se navíc stále, relativně rychle, mění. Z hlediska legislativy jsou rozhodovací pravomoce dány postavením (hodností, funkcí, apod.) a situací (mimořádná událost, zvláštní stav). Zvláštní stavy například upravuje zákon 240/2000 Sb. O krizovém řízení. Ten umožňuje některé zvýšené kompetence představitelům krajů, obcí, ministerstev a dalších v souvislosti se stavy nebezpečí, nouzového stavu a stavu ohrožení státu. Zákony, jimiž se řídí fungování některých státních organizací nebo orgánů často obsahují ustanovení, která zvyšují práva a povinnosti těchto organizací. Příkladem může být třeba zemědělská a potravinářská inspekce (zákon 146/2002 Sb. O státní zemědělské a potravinářské inspekci) nebo povodňová komise (zákon 254/2001 Sb. O vodách) a řada dalších. Z hlediska kompetencí během mimořádné události (při které zasahuje IZS) má mimořádné pravomoci velitel zásahu na základě zákona 239/2000 Sb. O integrovaném záchranném systému. Podobným způsobem by šlo vyjmenovat řadu dalších profesí a postavení, kteří za určitých okolností získají pravomoce, které běžně nemají. Tyto pravomoci jsou určeny k jednoduššímu zvládnutí mimořádné události, nicméně určitým způsobem při jejich uplatnění dochází k omezovaní práv běžných občanů, ačkoliv obvykle kvůli jejich ochraně. To může vést ke konfliktům, a proto je nutné, aby člověk činící rozhodnutí, znal pokud
58
Modelování rozhodovacích procesů
možné přesně své pravomoci a okolnosti, za jakých je může použít. Protože prostudování veškeré legislativy platné v dané oblasti je nesmírně náročné existují nástroje, které mohou ulehčit orientaci. Jedním z nich je například program Kompetence v PO, který vyvíjí SPBI. S úspěchem lze také použít různé právní servisy jako je Lexdata, ASPI apod., které sice nejsou zaměřeny na kompetence, ale umožňují fulltextové vyhledávání v legislativě v posledním znění, což z pochopitelných důvodů v papírové verzi sbírky zákonů ani v jejich elektronické podobě garantované ministerstvem vnitra (již z méně pochopitelných důvodů) nelze.
Modelování rozhodovacích procesů
59
Doslov Rozhodnutí provádí každý člověk každý den. Někdy jsou „malá“ někdy však na rozhodnutí budou záviset vysoké peněžní ztráty nebo dokonce lidské životy. Pevně věřím, že po přečtení těchto učebních textů si před takovým „velkým“ rozhodnutím nebo přípravě podkladů pro ně budete klást otázky, zda jste správně a objektivně zhodnotili vstupní údaje, zda jste využili všech efektivních možností, jak z rozhodnutí vyloučit neurčitost, riziko. Možná, že použijete některou z metod, které jsme nastínili v tomto textu a možná využijete nějakou jinou ze stovek existujících analytických metod. Podstatné je, že nějakou metodu použijete, protože budete vědět, že člověk je tvor omylný, který vidí svět přes okuláry svých názorů a zkušeností, které jsou však subjektivního charakteru – nejsou objektivní. Úplné objektivnosti pravděpodobně dosáhnout nelze, ale myslím, že máme povinnost, se ji zkusit alespoň přiblížit.
Pavel Šenovský
60
Modelování rozhodovacích procesů
Literatura [1] Gros, I.: Kvantitativní metody v manažerském rozhodování. Grada: Praha 2003, 432 s., ISBN 80-247-0421-8 [2] Lošťáková, H.; Machač, O.: Sbírka cvičení z předmětu Podniková ekonomika a management II. Univerzita Pardubice: Pardubice 2004, 21 s. Dostupné z WWW
[cit. 24.7.2006] [3] Macich, J.: Vaše fotky v síti. In: Chip, červenec 2006, s. 44-45. [4] GeeWah Ng: Intelligent Systems – Fusion, Tracking and Control. Research Studies Press, LTD.: Herfordshire 2003, 264 s., ISBN 0-86380-277-X [5] MS Project XP. [CD-ROM], Microsoft, Redmont 2000. [6] Waner, S.: Tutorial for the Simplex Method. Dostupné z WWW [cit. 1.8.2006] [7] Hindls, R.; Hronová, S.; Novák, I.: Analýza dat v manažerském rozhodování. Grada: Praha 1999, 360 s., ISBN 80-7169-255-7 [8] Šenovský, P.: Statistické zpracování dat z měření na Hrušovském dole. VŠB-TUO: Ostrava 2002, 31 s. [9] Mařík, V. a kol.: Umělá inteligence (1).Academia: Praha 1993, 264 s., ISBN 80-200-0496-3 [10] Mařík, V. a kol.: Umělá inteligence (2). Academia: Praha 1997, 373 s., ISBN 80-200-0504-8 [11] Freemind [on-line]. Available from WWW [cit. 2008-10-18] [12] Ford-Fulkerson Algorithm [on-line]. Available from WWW [cit. 2008-10-15] [13] Dijkstra Algorithm [on-line]. Available from WWW [cit. 2008-10-15] [14] List of Algorithms [on-line]. Available from WWW [cit. 2008-10-15] [15] Fine mathematics utility: simplex method tool [on-line]. Available from WWW [cit. 2008-10-18] [16] Graphviz - Graph Visualization Software [online]. Dostupné z WWW [cit. 2009-06-09]