Simulační modely Simulace z lat. Simulare (napodobení). Princip simulace spočívá v sestavení modelu reálného systému a provádění opakovaných experimentů s tímto modelem. Simulaci je nutno považovat za deskriptivní nástroj, protože hledá iteračním postupem vyhovující řešení, které nemusí být automaticky optimem. Kdy použít simulaci? problém je značně komplexní s mnoha proměnnými a interagujícími prvky, základ modelu tvoří proměnné a vztahy, které jsou nelineární, model obsahuje náhodné proměnné, řešení standardními nástroji je finančně a časově velmi náročné. 1
Metodologie simulace 1. Definování problému 2. Sestavení simulačního modelu 3. Zkoušení a verifikace modelu 4. Návrh experimentu (přesnost, náklady) 5. Provádění experimentu 6. Vyhodnocení výsledků 7. Realizace Typy simulací pravděpodobnostní simulace, simulace systémové dynamiky. 2
Pravděpodobnostní simulace Používá se pro studium a řešení komplexních dynamických problémů, kdy jedna nebo několik proměnných mají pravděpodobnostní charakter. Výsledkem simulace je statistický odhad sledovaných parametrů, jejichž přesnost roste s počtem opakovaných pokusů. Pravděpodobnostní simulace se provádí pomocí metody Monte Carlo. Simulace systémové dynamiky Umožňuje provádět složité simulace celých ekonomických systémů (podniků, národních ekonomik). Systém množina prvků a vazeb mezi nimi, které se vztahují na určitý objekt. Tento typ simulace je založen na koncepci, že komplexní systémy jsou obvykle složeny z řetězců příčin a důsledků, přičemž některé vazby mají zpětný charakter (vstup závislý na výstupu). 3
Metoda Monte Carlo Používá se pro simulaci systémů, ve kterých se vyskytují náhodné veličiny (např. poptávka zákazníků, poruchovost zařízení). Při napodobování náhodné veličiny se vychází ze znalosti rozdělení pravděpodobnosti náhodné veličiny, stanovené nejč. pozorováním náhodné veličiny v minulosti. Cíl metody Monte Carlo Vytvořit takovou posloupnost hodnot náhodné veličiny, která odpovídá danému rozdělení pravděpodobnosti. Náhodná veličina je pak simulována v souladu s tímto rozdělením. K tvorbě posloupnosti hodnot náhodné veličiny se využívají tzv. náhodná čísla. 4
Náhodná čísla Čísla vybíraná náhodně ze souboru čísel s rovnoměrným rozdělením. Každé číslo souboru má stejnou pravděpodobnost, že bude vybráno. Zdroj čísel: ruleta ( Monte Carlo ), tabulky náhodných čísel, generátory pseudonáhodných čísel na PC. Tabulka náhodných čísel: sekvenci náhodných čísel lze volit v kterémkoliv směru, do tabulky lze vstoupit v libovolném místě, lze použít libovolný počet cifer. 7823 4308 9228 87 4773 9505 3826 9903 5407 8866 7863 1329 9793 0187 4966 2976 8318 6938 3141 3964 4536 5829 9344 7651 8718 0062 0986 2120 94 9311 2757 2765 1306 2893 5954 3281 0874 4629 9213 6955 8387 8728 2768 1988 5202 4641 4950 36 5102 08 6280 9218 2529 1837 07 4467 2101 2812 3864 9539 4578 8320 3783 11 4229 2349 26 0934 85 3874 7635 8462 3126 7101 6042 7109 2968 4600 8024 1437 9763 7025 6020 5760 2332 5070 9080 6238 7485 5720 8043 5620 12 1373 3081 7843 52 4854 5890 6336 8759 2789 7402 8005 5
Tvorba posloupnosti náhodné veličiny 1. Sestavení kumulativního rozdělení pravděpodobnosti a stanovení rozmezí náhodných čísel 2. Generování náhodných čísel a hodnot náhodné veličiny Stanovení kumulativního rozdělení pravděpodobnosti a stanovení rozmezí náhodných čísel Poptávka (ks) Pravděpodob. výskytu Kumulativní pravděpodob. Rozmezí náhodných čísel 300 0,6 0,6 000 5 400 0,287 0,443 6 442 500 0,194 0,637 443 636 600 0,195 0,832 637 831 700 0,8 1,000 832-999 6
7 Generování náhodných čísel a hodnot náhodné veličiny 400 400 300 500 400 600 700 600 Simulovaná poptávka (ks) 328 275 006 453 297 786 950 782 Náhodné číslo 8005 8759 4854 3081 5620 7485 5070 6020 7402 6336 52 1373 8043 6238 2332 7025 2789 5890 7843 12 5720 9080 5760 9763 1437 6042 3874 4229 9539 07 08 5202 8024 7101 85 11 3864 1837 5102 1988 4600 3126 0934 3783 2812 2529 36 2768 2968 8462 26 8320 2101 9218 4950 8728 7109 7635 2349 4578 4467 6280 4641 8387 6955 5954 9311 8718 3964 4966 8866 4773 9213 2893 94 7651 3141 0187 5407 87 4629 1306 2120 9344 6938 9793 9903 9228 0874 2765 0986 5829 8318 1329 3826 4308 3281 2757 0062 4536 2976 7863 9505 7823
Praktická aplikace metody Monte Carlo Definování problému: Obchodní firma odebírá každý den z výroby zboží pro okamžitou spotřebu. Poptávka po tomto zboží kolísá. Zboží neprodané v daný den je neprodejné a má nulovou hodnotu. Pro obchod představuje ztrátu. Ke ztrátě tržeb dochází i tehdy, když firma odebere z výroby menší množství výrobků, než kolik činí poptávka. Firma proto hledá vhodnou taktiku objednávání zboží u výrobce, která by ztráty minimalizovala a maximalizovala zisk. Použité veličiny x y p c n c p R 1 R 2 Z d denní objednané množství (ks), denní poptávka (ks), denní prodané množství (ks), nákupní cena za jednotku množství (4 Kč/ks), prodejní cena za jednotku množství (5 Kč /ks), ztráta v důsledku nízké objednávky, ztráta vlivem neprodaného zboží, denní zisk. 8
Začátek Volba x Generování náhodného čísla Stanovení y Je y > x? A Ztráta z nízké objednávky R 1 =(y x)*(c p c n ) Prod. množství p = x N Je y < x? A Ztráta z neprod. zboží R 2 =(x y)*c n Prod. množství p = y N Prod. množství p = x = y Z d = p * c p x * c n Další běh? N Konec A Návrh experimentu Předpokládejme zvážení následujících čtyř variant denního objednávání zboží u výrobce: a) ks, b) ks, c) ks, d) 18 ks. 9
Stanovení rozmezí náhodných čísel Poptávka (ks) Pravděpodob. výskytu Kumulativní pravděpodob. Rozmezí náhodných čísel 0,09 0,09 00 08 0, 0,26 09 25 0,34 0,60 26 59 18 0,23 0,83 60 82 19 0,09 0,92 83 91 20 0,08 1,00 92-99 Provádění simulace Ke generování posloupnosti hodnot poptávky použijeme první sloupec tabulky náhodných čísel. Jako příklad uvedeme simulaci 30 denního období pro případ objednávání ks/den. Výsledky nejsou zcela reprezentativní. Platí, že čím větší množství cyklů provedeme, tím bude přesnost výsledků větší. 10
11 8005 8759 4854 3081 5620 7485 5070 6020 7402 6336 52 1373 8043 6238 2332 7025 2789 5890 7843 12 5720 9080 5760 9763 1437 6042 3874 4229 9539 07 08 5202 8024 7101 85 11 3864 1837 5102 1988 4600 3126 0934 3783 2812 2529 36 2768 2968 8462 26 8320 2101 9218 4950 8728 7109 7635 2349 4578 4467 6280 4641 8387 6955 5954 9311 8718 3964 4966 8866 4773 9213 2893 94 7651 3141 0187 5407 87 4629 1306 2120 9344 6938 9793 9903 9228 0874 2765 0986 5829 8318 1329 3826 4308 3281 2757 0062 4536 2976 7863 9505 7823,00 50,93 7 8 05 14,62 1 18 60 13,58 1 18 70 12,55 3 20 97 11,50 52 10,44 12 4 19 9,00 27 8,00 2 19 87 7,00 2 19 83 6,00 47 5,00 2 19 87 4,00 3 20 92 3,00 43 2,00 1 18 78 1 Z d p R 2 R 1 y NČ x den d Z pokračování
den x NČ y R 1 R 2 P Z d Zd 58,06 86 19 2,12 18 62 18 1, 19 92 20 3,21 20 06 8 7,75 21 03 8 7,33 22 52,41 23 19 4 12,26 24 30,33 25 29,40 26 04 8 7,08 27 41, 28 93 20 3,21 29 8 7 14,93 30 27,00 součet 522 24 48 498 450 - průměr,4 0,8 1,6,6 - Vývoj průměrného denního zisku,50,00 průměrný zisk (Kč/den),50,00,50,00 14,50 14,00 13,50 1 2 3 4 5 6 7 8 9 1011121314 18192021222324252627282930 počet cyklů (dny) 12
Hodnocení výsledků Třicetidenní simulací varianty c) jsme dospěli k těmto výsledkům: průměrný denní zisk: Kč průměrné denní ztráty vůči ideálnímu stavu: 2,40 Kč průměrná denní výše poptávky:,4 ks průměrná denní výše prodeje:,6 ks pravděpodobnost nedostatečné objednávky: 12/30 = 0,40 pravděpodobnost neprodání zboží: 7/30 = 0,23 Porovnání výsledků jednotlivých variant x R1 2 R R1 R2 Zd 2,40 0,00 2,40,00 1,57 0,67 2,24, 0,80 1,60 2,40,00 18 0,40 4,40 4,40 13,00 13
Srovnání s analytickým řešením statický model s pohybem zásob úplně pravděpodobnostně determinovaným c p cz c 0,09 0,20 0,26 x z opt. 1 0,20 4 1 ks 20 Nc () cp( y)p(y) cz (y )p(y) y y Nc () 4*(1*0,09 0* 0,) 1*(1*0,34 2*0,23 3* 0,09 4* 0,08) 1,75 Kč Počítačová podpora simulačních experimentů Existují 3 základní možnosti, jak provádět experimentování na modelu prostřednictvím počítače: klasický programovací nebo speciální simulační jazyk, tabulkový kalkulátor, speciální simulační software. 14
Vizualizace řešení Grafické zobrazení počítačových výsledků různých manažerských rozhodnutí s možností zkoumání alternativních strategií. Generování pseudonáhodných čísel v prostředí MS Excel pomocí funkcí NÁHČÍSLO, RANDBETWEEN 1) Generování PNČ z intervalu 0, 1) podskupina matematické funkce Syntaxe: =NÁHČÍSLO() 2) Generování PNČ z intervalu 0, b) Syntaxe: =NÁHČÍSLO()*b 3) Generování PNČ z intervalu a, b) Syntaxe: =NÁHČÍSLO()*(b-a)+a 4) Generování celých PNČ z intervalu a, b) podskupina matematická analýza Syntaxe: =RANDBETWEEN(a, b)
Generování pseudonáhodných čísel v prostředí MS Excel pomocí nástroje generátor pseudonáhodných čísel Nástroje Analýza dat Tento nástroj umožňuje vytvářet posloupnost hodnot náhodné veličiny pro požadované rozdělení pravděpodobnosti (rovnoměrné, normální, Bernoulliho, binomické, Poissonovo, ad.). Generování PNČ pomocí tohoto nástroje je jednorázové a při přepočtu listu se nemění. Generátor pseudonáhodných čísel počet sloupců výstupní tabulky počet řádků výstupní tabulky typ rozdělení pravděpodobnosti hodnota, od níž se budou generovat PNČ
Speciální simulační software SIMPLE++ (AESOP Corp.) WITNESS (Lanner Group) POWERSIM Studio 2000 (Powersim) DOMISIS-3 (SDZ) ITHINK (High Performance Systems)