Počítačová simulace
Počítačová simulace je simulace, při níž je modelem počítačový program, který se pokouší simulovat abstraktní model určitého systému. Úkolem simulačního programu je zjistit, jak se bude systém chovat pro zadaná vstupní data. Úkolem simulačního programu není provádět optimalizaci, tzn. hledat, pro která vstupní data dostaneme optimální řešení. Uživatel může provádět se simulačním programem opakované simulační experimenty s cílem zjistit očekávané výsledky pro různá vstupní data a nalézt tak optimální řešení problému.[1]
Simulace je v matematice a kybernetice vědecká metoda, při které se zkoumají vlastnosti nějakého systému pomocí experimentů s jeho matematickým modelem. Počítačové simulace se staly užitečnou součástí matematického modelování mnoha přirozených systémů ve fyzice, chemii a biologii, psychologii a získaly nový pohled do fungování těchto systémů.[2]
- Jiná definice: Počítačová simulace je experiment s počítačovým modelem.
Historie
Počítačová simulace byla vyvinuta ruku v ruce s rychlým růstem počítačů. První velké nasazení bylo v Manhattanském projektu ve druhé světové válce na procesní model jaderného výbuchu. Jednalo se o simulaci 12 těžkých koulí pomocí algoritmu Monte Carlo. Počítačová simulace se často používá jako doplněk nebo náhrada pro modelování systémů. Existuje mnoho různých druhů počítačových simulací. Společným rysem, které všechny sdílejí, je pokus generovat vzorek reprezentativních scénářů pro model ve kterém kompletní výčet všech možných stavů modelu by byl nepřístupný nebo nemožný. Počítačové modely byly původně používány jako doplněk k další argumentaci, ale jejich použití se později stalo poměrně rozšířené.
Základní části simulace
1.Návrh modelu
- sestavení modelu
- založeno na redukci skutečnosti
2.Provedení simulace
- využití / tvorba programu
- vizualizace problému
- pozorování problému
3.Analýza získaných dat[3]
Simulované jevy
S pojmem simulace se spojují dva základní významy: 1) napodobovat, 2) předstírat. Počítačové simulace představují velkou rozmanitost. Mezi ty nejnápadnější simulované jevy pro mladší generaci patří 3D akční hry, které představují virtuální prostředí založené na vizuální podobnosti s reálným světem kolem nás. V případě počítačových simulací je možné říci, že cokoliv, co můžeme popsat, lze také simulovat pomocí počítače. Popisem se má na mysli proces rozčlenění jevu na základní samostatné prvky, kterým lze přiřadit určité hodnoty a určitý počet pravidel, podle kterých se tyto prvky mezi sebou chovají. Počítačově simulovaná realita je proto založena na popisu skutečného světa a sama o sobě vytváří jednodušší a ve své jednoduchosti také dokonalejší svět. Jevy, které nás obklopují, jsme se rozhodli vysvětlit či popsat určitými zákonitostmi, které se zdají být efektivní. Nesmíme však zapomínat, že z konečné množiny pozorování přírodních úkazů většinou usuzujeme na absolutní, tedy nekonečnou, platnost námi stanovených zákonů. Tyto zákony pak však popisují spíše ideální svět než realitu[4]
Rozdělení počítačových simulací
Předvídatelnost událostí
- Stochastické – používají generátor pseudonáhodných čísel, nebo pravděpodobnost (obzvláště populární je metoda Monte Carlo).
- Deterministické – výsledek je opakovatelný a závisí pouze na vstupních datech a možné interakci s vnějším světem.
Podle času
- Spojitá simulace (synchronní výpočet) / čas v simulačním modelu je opakovaně zvyšován s konstantním malým krokem, vždy se přepočítají všechny děje, které v systému probíhají
- Diskrétní simulace (asynchronní výpočet) – čas v simulačním modelu je zvyšován nepravidelně vždy na hodnotu, kdy dojde v systému k nejbližší události.
Forma výstupu
- Statické – výsledkem je soubor údajů – statické obrázky.
- Dynamické – je výsledkem procesu, který se koná v určité době např. animace.
- Interaktivní – reaguje na signály z vnějšího světa
- Neinteraktivní
Počtu používaných počítačů
Modelování
Modelování patří k tradičním postupům v některých technických disciplínách, například v kybernetice nebo v teorii automatického řízení. S rozvojem levných a dostupných počítačů v posledních desetiletích proniklo počítačové modelování do většiny technických věd a stalo se důležitou metodou i v biologii, meteorologii, geologii a dokonce v ekonomii a ve vědách sociálních.
Hlavní praktickou výhodou modelování je možnost pomocí pokusů a omylů vyřešit úlohy, které nemají analytické řešení, nebo ověřit vlastnosti nákladných zařízení před jejich fyzickou realizací (např. složité integrované obvody, letadla nebo atomové bomby). Simulační modely se používají také jako součást trenažérů nebo počítačových her. Biologické modely mohou zabránit některým pokusům na zvířatech.
Pro modelování v různých oborech byla vyvinuta řada specializovaných softwarových balíků, k nejznámějším patří například Matlab Simulink pro modelování dynamických systémů nebo Spice pro elektrické obvody. V minulosti se používaly pro modelování analogové počítače (výpočet obyčejných diferenciálních rovnic s počátečními podmínkami) nebo simulační programovací jazyky, jako např. Simula (systémy s diskrétními událostmi, Discrete event simulation) nebo CSSL (Continuous System Simulation Language, spojité systémy).
Matematický model
Prvním krokem při počítačovém modelování bývá sestavení matematického modelu zkoumaného systému. Model může být získán buďto teoreticky ze základních fyzikálních vlastností systému, nebo empiricky z naměřených hodnot. Určování parametrů teoreticky vytvořeného modelu z empirických hodnot se nazývá identifikace systémů.
Matematický model musí vhodně charakterizovat závislost výstupů systému na jeho vstupech. Modely fyzikálních soustav jsou obvykle sestaveny jako soustavy několika diferenciálních rovnic. V kybernetice nebo elektrotechnice jsou to obvykle obyčejné diferenciální rovnice, jiné obory pracují také s parciálními diferenciálními rovnicemi. Rovnice obvykle upravujeme do některé z kanonických forem. V jiných disciplínách můžeme použít pro popis systému diferenční rovnice, stochastické diferenciální rovnice, přenosové funkce v Laplaceově transformaci nebo zcela jiný matematický aparát.
Model ale málokdy dokáže popsat dění v přírodě dostatečně přesně. Výsledek jsme např. získali s použitím zjednodušujících předpokladů, nebo byl použit nevhodný model. Při modelování je proto zásadní znát omezení použitého modelu a nevyvozovat z modelování nepatřičné závěry.
Rovnice matematického modelu řešíme vhodnou numerickou metodou. Vypočtené výsledky vhodně interpretujeme.
Princip počítačové simulace výrobních systémů
Počítačová simulace výrobního systému je etapa dynamického zkoumání výrobního systému. Jejím principem je experimentování s počítačovým modelem, který je pokud možno přesným obrazem stochasticky se chovajícího výrobního systému. Na simulačním modelu se simulují stavy systému (např. transport součásti, proces obrábění, porucha atd.) v závislosti na čase. Jejich změna přitom nastává diskrétně v časových okamžicích, které jsou reprezentovány diskrétní událostí (např. příchod zakázky, začátek obrábění, začátek seřizování, začátek poruchy apod.). Cílem experimentování je vyhledáni takových hodnot výstupních veličin modelu, které vyhovují předem stanoveným požadavkům (cílům simulační studie). Vstupní hodnoty tohoto řešení jsou potom použitelné i pro reálný systém.[5]
Data v simulacích
Požadavky na data u simulací a modelů se velmi liší podle konkrétní modelované situace. Pro některé může být vstup jen několik čísel (například simulace průběhu střídavého proudu), zatímco jiné simulace požadují několik terabajtů informací (jedná se např. o počítačové simulace jako je počasí a klimatické modely).
Vstupní proměnné se různě liší:
- Čidla a dalších fyzikálních zařízení připojené k modelu;
- Řídící plochy sloužící k přímému postupu simulace nějakým způsobem;
- Aktuální nebo historické údaje zadané ručně;
- Hodnoty získané jako vedlejší produkt jiných procesů;
- Výstupní hodnoty pro účely jiné simulace, modely, nebo procesy;
Dále se data simulace liší podle údajů, které jsou k dispozici v určitém čase:
- Neměnná data jsou často napsána do kódu modelu, a to buď proto, že hodnota je skutečně neměnná (např. hodnota π), nebo proto, že konstruktéři je považují za hodnotu, která se nemění pro všechny případy;
- Data mohou vstoupit do simulace když začíná, například tím, že čte jeden nebo více souborů, nebo čte data ze zařízení jménem preprocesor;
- Data mohou být poskytnuty v průběhu simulace běhu, například senzorové sítě;
V počítačových simulací je vidět velká rozmanitost, ale také mnoho společných prvků. Proto existuje velké množství specializovaných simulačních jazyků. Například Simula 67.
Sledování průběhu simulace
Lze využít při ladění programu. Při každé aktivaci procesu (ošetření jedné jeho události) můžeme vypsat do výstupního souboru řádek s informací o událostech, které se simulací souvisí (čas události, identifikace procesu, druh události, důležité údaje o aktuálním stavu modelu).[1]
Výsledek simulace
V nejjednodušším případě to může být čas, kdy simulace skončí (je odvezen všechen písek, ze samoobsluhy odešel poslední zákazník). Dále můžeme mít jiné požadavky, příslušné podklady je pak třeba průběžně evidovat a ukládat v průběhu simulace (kolik písku odvezlo které auto, jaké nejdelší fronty během dne vznikly v samoobsluze a kdy).[1]
Výhody a nevýhody použití simulace
Mezi výhody použití simulace se řadí:
- Simulace umožňuje prověřit všechny aspekty navrhované změny bez nutnosti vynaložení zdrojů na její realizaci. Náklady na odstranění následků špatného rozhodnutí, nebo úprava již hotového řešení mohou být v některých případech velmi nákladné (např. bourání nebo přestavba špatně navržené haly nebo změna rozestavení zařízení na zpracování materiálu).
- Možnost změny rychlosti toku času. Takto je možné důkladně prozkoumat vybraný jev, ať už se jedná např. o celou směnu, kterou tak lze prozkoumat v řádu minut, nebo několik hodin zkoumat jev, který ve skutečnosti trvá jen pár minut.
- Pochopení příčin vzniku sledovaného úkazu v reálném systému, který nelze vysvětlit jeho zkoumáním, protože jej nelze zachytit nebo řídit v jeho celistvosti. Příčiny tak lze určit podrobným zkoumáním rekonstrukce událostí, které v systému proběhly.
- Zkoumání možností úprav systému. Jakmile je k dispozici validní simulační model reálného systému, je možné navrhovat a zkoumat nové provozní zásady, postupy nebo metody bez dalších nákladů a přerušení činností v systému. Možnost modifikací je již zahrnuta v simulačním modelu a jejich důsledky lze tak pozorovat na počítači, nikoliv na reálném systému.
- Simulací lze řešit i velmi složité systémy, které jsou neřešitelné analytickými metodami.
- Již samotné zkušenosti z tvorby simulačního modelu mohou vést k návrhům na zlepšení řízení či struktury.
- Simulace nabízí komplexnější pohled na studovaný problém.
- Pozorování činnosti simulačního modelu vede k lepšímu pochopení reálného systému.
- Možnost využití již jednou vytvořeného simulačního modelu i v dalších činnostech podniku.[5]
Mezi nevýhody použití simulace se řadí:
- Vytváření modelů vyžaduje odborné školení. Je to dovednost, která se zlepšuje v průběhu času a skrze zkušenosti. Dva modely stejného systému, každý vytvořen jinou osobou, se můžou v lecčem shodovat, ale stejné nebudou prakticky nikdy.
- Výsledky simulace lze někdy interpretovat jen s velkými obtížemi. Vzhledem k tomu, že většina výstupů simulace jsou v podstatě náhodné veličiny vycházející z náhodných vstupů, lze někdy těžko určit, zda je pozorování výsledkem vzájemných vztahů v systému nebo výsledkem pouhé nahodilosti.
- Simulační modelování a analýzy mohou být časově náročné a drahé. Šetření na zdrojích pro modelování a analýzu může mít za následek vytvoření modelu a/nebo analýzy, které jsou pro daný účel nedostatečné.
- Simulace může být použita nevhodně. Použití simulace může být nevhodné v případech, kdy je analytické řešení dosažitelné, ne-li dokonce upřednostňované.
Určení oblastí využívající simulace
Oblastí využití je velký počet. Zde je uveden hrubý přehled oblastí, kde velmi často lidé sahají po simulačních modelech, jako nástroj pro podporu rozhodování a vizualizaci, analýzu a predikci chování systému či na řešení konkrétních problémů, uplatnění u výrobních systémů a systémů manipulujících s materiálem.
Typické úlohy pro řešení pomocí počítačové simulace:
Optimalizace obchodních procesů
- stanovení „optimální“ výrobní strategie
- předpovídání „skutečných“ nákladů na zakázku
Plánování a řízení výroby
- plánování celopodnikových zdrojů
- přidělování zakázek jednotlivým výrobním celkům
- dílenské řízení výroby
Zlepšení logistických koncepcí
- minimalizace skladů a zásob
- redukce rozpracované (nedokončené) výroby a průběžných dob
- určování výrobních a transportních dávek
- sladění dodávek surovin a polotovarů s výrobou
- zabezpečení expedice
Projektování výrobních systémů
- projektování inovačních změn stávajících výrobních systémů
- zjištění požadavků na kapacity pro zajištění plynulosti výroby
- návrh dispozičního uspořádání
- „optimalizace“ uspořádání jednotlivých prvků celku
- zkušební provoz
Analýzy výrobních systémů
- identifikování a odstranění úzkých míst
- odhalování rezerv důkladným rozborem nejrůznějších činností
- „co když“ analýzy
Školení pracovníků v oblasti
- stanovování výrobní strategie
- projektování a plánování výroby
- analýz a zlepšování výrobních systémů
- zaškolování nových pracovníků
Aplikace ve veřejném sektoru
- systémy ve zdravotnictví
- vojenské systémy
- přírodní zdroje
- veřejné služby
Aplikace u obslužných systémů
- doprava
- počítačové systémy
- komunikační systém
Vybrané příklady aplikací simulace
- simulátorů pro letadla, ponorky, tanky,
- v ekonomice a podnikání
- systémů hromadné dopravy
- Inventory Management
- oceňování derivátů
- hodnocení investičních projektů
- předpověď rozdělení křesel v parlamentu
- populační dynamika
- přírodní vědy
- meteorologie – předpověď počasí
- analýza rozptylových charakteristik
- v technických vědách
- konstrukce
- letectví – pevnost konstrukce
- elektronika – analýzy elektrických obvodů
- matematika
- numerické výpočty řešení diferenciálních rovnic
- simulace určení distribuční funkce, které nelze integrovat (např. normální rozdělení)
- počítačová simulace hry
Příklady software pro simulaci
- SimQuest
- Witness
- JeLSIM – Java eLearning simulace...
- NetLogo
- AgentSheets
- Microsoft Excel
- Simprocess
- ASCEND
- Facsimile
- Galatea
- GarlicSim
- JModelica
- NS2
- OpenModelica
- Physics Abstraction Layer
- SimPy
Literatura
- BANKS, J.: Principles of Simulation. In BANKS, J., ed.: Handbook of simulation: Principles, Methodology, Advances, Applications, and Practice, 1998. John Wiley & Sons, Inc., New York. ISBN 0-471-13403-1. s. 547–570
- BAKER, D. W., STEVENS, C. D., BROOK, R.H.: Regular source of ambulatory care and medical care utilization by patients presenting to a public hospital emergency department. Journal of the American Medical Association, 271, 1994, s. 1909–1912;
- SHANNON, R. E. Introduction to Simulation. Winter Simulation Conference. In SWAIN, J. J., GOLDSMAN, D., CRAIN,R. C. & WILSON, J. R., eds.: Proceedings of the 1992 Winter Simulation Conference, 1992, Arlington, Virginia, United States.
- SHANNON, R. E. Introduction to the Art and Science of Simulation. Winter Simulation Conference. In MEDEIROS, D. J., WATSON, E. F., CARSON, J. S. 92 & MANIVANNAN, M. S., eds.: Proceedings of the 1998 Winter Simulation
- HORA, P. Diplomová práce "Srovnání programových produktů pro simulaci a možnosti jejich využití", Vysoká škola ekonomická v Praze, 2011
- PRECLÍK Vratislav: Průmyslová logistika, 359 s., ISBN 80-01-03449-6, Nakladatelství ČVUT v Praze, 2006
Reference
- Počítačová simulace. http://ksvi.mff.cuni.cz/ [online]. [cit. 2011-06-03]. Dostupné v archivu pořízeném dne 2016-09-10.
- Computer simulation. http://www.sciencedaily.com [online]. [cit. 2011-06-06]. Dostupné v archivu pořízeném dne 2011-05-21.
- Počítačová simulace fyzikálních jevů. http://ksvi.mff.cuni.cz/ [online]. [cit. 2011-06-06]. Dostupné online.[nedostupný zdroj]
- Počítačová simulace ~ Cesta ke zjednodušení. http://www.ffa.vutbr.cz/ [online]. [cit. 2011-06-03]. Dostupné online.
- Počítačová simulace diskrétních událostí. http://www.humusoft.cz [online]. [cit. 2011-06-06]. Dostupné online.[nedostupný zdroj]
Související články
Externí odkazy
- Obrázky, zvuky či videa k tématu počítačová simulace na Wikimedia Commons