2. Metodologie matematické modelování Na obrázku 2.1 je znázorněn proces zkoumání systému, který začíná monitoringem a sběrem dat o systému, pokračuje jejich vstupem do matematického modelu a na základě analýzy výsledků řešení modelu (porozumění, predikce a kontrola jeho chování), je provedena případná úprava a přizpůsobení sběru dat a pokud to nevede k uspokojivému řešení tak se provedou nové experimenty na zkoumaném systému. Obrázek 2.1: Proces zkoumání systému s využitím matematického modelování 2.1 Obecné zásady matematického modelování Matematické modelování je odborná a kvalifikovaná činnost, vyžadující týmovou spolupráci odborníků z různých oblastí: odborníka z oblasti oboru řešené problematiky, specialistu v oblasti matematiky, specialistu z oblasti informatiky, apod. Pro úspěšné matematické modelování musí být splněny následující předpoklady: * Znalost metod a prostředků matematické a funkcionální analýzy, algebry a diskrétní matematiky. Je důležitá při volbě správné metody řešení a modelu. * Znalost techniky modelování a zdrojů informací o modelu. Úsilí vynaložené na konstrukci a využití určitého modelu z literatury musí být úměrné jeho přínosu. * Týmová spolupráce. Musí existovat dostatečný prostor pro vlastní vývoj matematického modelu (iniciativa) a musí být zainteresovanost (studijní, výzkumná) na využití modelové techniky (motivace). * Výpočetní základna. Všechny tři složky ICT, tj. hardware, software a komunikace musí být řešitelskému týmu k dispozici a musí být v rovnováze. * Informační a datová základna. Každý model je třeba ověřit pomocí vstupních parametrů a dat, které vycházejí z konkrétních hodnověrných údajů a zdůvodněných odhadů. Údaje musí být ve formě vhodné pro ověřování modelu. Je třeba vytvářet specifické informační systémy (banky dat), které uchovávají data. * Experimentální základna. U složitých matematickým modelů by měla být k dispozici i experimentální základna, kde se na ověří v praxi řešení modelu. Metodologie matematického modelování se vyvíjí jako samostatná odborná specializace, která se v současné době zařazuje do Teorie modelování jako součást tzv. Systémové analýzy. Obecné zásady, které je třeba při matematickém modelování systémů respektovat, lze velmi zjednodušeně popsat následujícími kroky: 1. Identifikace systému z hlediska matematického modelování. * Rozhodnutí, zda se jedná o standardní systém (problém), již řešený a volba standardního modelu. ˇ Rozhodnutí, zda se jedná o nový, dosud neznámý systém a zda použijeme upravený standardní model nebo vytvoříme model nový. K tomu je třeba zpravidla vytvořit tvůrčí odborný tým. * Rozhodnutí, zda model bude statický, dynamický, dynamizovaný, deterministický, stochastický. Zda bude deskriptivní, nebo normativní. Zda systém bude modelován jedním modelem či více modely a jak budou vzájemně uspořádány (propojeny). Reálný objekt Obr. 2.2. Identifikace systému 2. Konstrukce modelu systému. * Prvky systému: elementární část systému při dané rozlišovací úrovni dále nedělitelná * Vazby: vzájemné závislosti mezi prvky (kauzální vztahy ­ příčina x následek, způsoby spojení mezi prvky, souvislosti mezi jevy, informační vazby, matematicky formulované vztahy, atd.) * Struktura systému * Chování systému * Okolí systému: množina prvků, které nejsou prvky systému, ale mají k němu významné vazby * Organizace dat v systému: jejich struktura, způsobu uložení, vstupu a výstupu dat, atd. * Validita modelu systému: Ověření matematických předpokladů, stability, konsistence a konvergence řešení, atd. 3. Výpočet řešení modelu. * Volba algoritmu řešení. * Výběr variant řešení. 4. Výběr užší skupiny dostatečně dobrých řešení. * Výběr vhodných řešení se provádí v rámci algoritmu řešení. * Výběr vhodných řešení provádí specialista z oboru řešené problematiky. * Výběr vhodných řešení provádí skupina expertů. 5. Experimentování s vybraným řešením. * "What-if" analýza1 , "Goal seeking" problém2 . 1 "What-if" analýza, česky řečeno "Co se stane když" analýza se používá většinou při numerické simulaci, která slouží k tomu, abychom odhalily jak je model citlivý, na odhad vstupních parametrů, které by měly ležet v nějakém vhodném intervalu. 2 "Goal seeking" problém souvisí s tím, že v praxi se vytváří matematický model metodou postupných kroků lépe aproximující řešený system. Toho se dosahuje lokálním hledáním dostatečně přeného řešení. Tento problém je anglické literatuře nazýván jako "satisfying problem", "feasibility problem", nebo také "goal-seeking" problém. Systém nekonečné složitosti Systém definovaný na objektu - jeho matematický model Proces identifikace Pozorování, zkoumání objektu pomocí systému, matematického modelu ˇ Scénáře. 6.Výběr optimálního řešení. 7. Implementace. * Monitoring implementace. * Sledování zpětné vazby. * Úpravy modelu a nová implementace. 2.2 Matematického modelování s využitím ICT Postup při matematickém modelování reálného problému s ICT je uveden na obrázku 2.3 a sestává z několika kroků (Hřebíček, 2006). Jde o permanentní interaktivní proces s četnými zpětnými vazbami, který se několikrát opakuje. Obrázek 3.1 Matematickém modelování s využitím ICT Tento postup vychází z postupů v projektovém řízení. Nejprve je nutno si vyjasnit cíle, které chceme dosáhnout. Ty určí směr řešení ve dvou směrech: * Na jaké úrovni podrobnosti chceme zkoumat objekt. Např. při modelování populačního růstu k napomáhání pro zemědělské poradce, empirický model obsahující podmínky pro nejdůležitější faktory růstu může být naprosto Znovupoužití podvýrazů Symbolické vztahy Technické dokumentace Připojení k elektronickým zdrojům Interaktivní grafika Specializované 2D a 3D grafy, animace HTML, XML, MathML, LaTeX, RFT, PDF export Analytické řešení Přesné numerické řešení Fortran, C, Java, MS Visual basic Programovací jazyky Připojení k elektronickým zdrojům Unikátní datové struktury Interaktivní pomocníci Nástroje pro kontrolu syntaxe Nápověda ŘEŠENÍ výpočetního modelu MODIFIKACE modelu ANALÝZA a publikování výsledků VÝVOJ rovnice a algoritmy IMPLEMENTACE výpočetního modelu IDENTIFIKACE modelu Uživatelské komunity, knihy, konference, časopisy, elektronické zdroje (problémy a algoritmy a data) Symbolické rovnice Specializované matematické funkce Maticové formulace Diferenciální rovnice Optimalizace Matematické slovníky Uživatelské prostředí Řešený Problém dostatečný. Model může být považován jako souhrn veškerého současného vědění. Tento model je jednoznačným výzkumným nástrojem pro velmi limitované použití jako například pro návrh experimentů ke studiu procesu výživy přežvýkavců. * Za druhé musíme vytvořit hranici mezi modelovaným systémem a jeho přirozeným prostředím. Toto rozdělení je správné, pokud prostředí ovlivňuje chování systému, ale modelovaný systém neovlivňuje toto prostředí. Např. při modelování růstu malé kolonie jehličnanů k prognóze výnosu produkce dřeva je vhodné zahrnout počasí jako část prostředí. Vliv počasí na růst může být začleněný využitím statistických klimatických dat z podobných lokalit a několika uplynulých letech. Avšak žádný růstový model světových lesů nemůže obsahovat ovlivnění počasí skrze vývoj tohoto společenství, přestože je znám podstatný vliv lesního porostu na obsah CO2 v atmosféře. 2.2.1 Identifikace modelu Identifikace (stanovení) jednotlivých složek matematického modelu s využitím odborné literatury (knihy,časopisy,..), spoluprácí s odbornou a vědeckou komunitou a dále s využitím ICT k vyhledání a sdílení znalostí o řešeném problému je prvním krokem, který musíme udělat při vytváření matematického modelu. Správná matematická formulace zkoumaného problému je velmi důležitá pro další postup řešení. Je třeba vyjít z analýzy systému, z celkového jeho chování a stanovených cílů řešení. Realita je složitá, je třeba ji vymezit a pro účely modelu zjednodušit. Proto definujeme v rámci objektivní reality systém, tj. prvky, vazby, vstupy a výstupy, procesy a funkce. Dále provádíme zjednodušení (simplifikaci) problému, kdy nepodstatné oddělujeme od podstatného. Tvorba předpokladů Když jsme rozhodli o modelovaném systému, musíme vytvořit základní strukturu modelu, která musí reflektovat naše předpoklady a domněnky o tom, jak systém funguje. Tyto domněnky mohou být uvedeny do formy základních předpokladů. Budoucí analýzy systému vždy zachází s těmito předpoklady jako s pravdivými, ale výsledky těchto analýz budou validní pouze pokud tyto předpoklady jsou platné. Newton tedy předpokládal že hmotnost je obecně konstantní, kdežto Einstein uvažoval hmotnost jako proměnlivou. To je jeden z elementárních rozdílů mezi klasickou mechanikou a teorií relativity. Aplikací výsledků klasické mechaniky na objekt pohybující se rychlostí blízkou rychlosti světla vede k nesrovnalostem mezi teorií a pozorováním. Pokud jsou předpoklady dostatečně precizní mohou okamžitě vést přímo k matematickým rovnicím popisujícím modelovaný systém. 2.2.2 Sestavení modelu Sestavení modelu (vývoj matematických rovnic a formulí) včetně matematické analýzy (korektnost, konsistence, stabilita a konvergence řešení) je dalším důležitým krokem v matematickém modelování. Pro konstrukci modelu je rozhodující účel, který sledujeme. Ten rozhoduje o tom, co budeme ve skutečnosti pokládat za významné a co zahrneme do modelu a co jako podružné ponecháme mimo model a mimo naše úvahy. Důležitá je zde analýza citlivosti jednotlivých parametrů modelu a minimalizace jeho neurčitosti. Tvorba modelů patří k tvůrčí činnosti a vyjadřuje kromě dobré znalosti modelové techniky a také dobrou znalost věcné problematiky. Každý model musí vycházet z konkrétní hypotézy odvozené z objektivní reality (skutečnosti). Výběr matematických rovnic Po té, co bylo rozhodnuto o struktuře modelu, musí být vybrány matematické rovnice k popsání modelovaného systému. Je velmi rozumné vybrat tyto rovnice pečlivě, protože mohou nepředvídatelně ovlivnit chování matematického modelu. Matematické rovnice z literatury Může se stát, že někdo další publikoval matematické rovnice týkající se problému o který se zajímáte. To poskytuje dobrý výchozí bod, ale je nezbytné postupovat s těmito informacemi obezřetně. Problémy se kterými se můžete setkat mohou být následující: * Rovnice jsou odvozené z dat v oblasti vysvětlujících proměnných, která neobsahuje oblast nutnou pro aplikaci modelu, * Experimentální podmínky (prostředí) se podstatně liší od podmínek vyskytujících se v našem modelovaném problému, * Rovnice popisují chování většiny dat aniž by uvažovaly známé odchylky na koncích oblasti dat, nebo jejich variabilitu (proměnlivost). Některé oblasti vědy jsou dostatečně dobře prostudované, a tak odpovídající formulace analýz se staly standardem. Proto je relativně bezpečné uvažovat podobné analýzy (a proto i struktury rovnic) za řešení podobných problémů. Často nejsou rovnice v literatuře vyjádřeny v přesné formulaci pro hledaný model. Pojmenované a pomocné proměnné mohou být přesunuty během regrese. Rovnice také může popisovat změnu váhy zvířat vzhledem k času, přestože model potřebuje znát změnu počtu jedinců v čase. V jiném případě můžeme přijmout parametr pouze odhadující přibližnou hodnotu, protože není nejdůležitějším pro naše potřeby. 2.2.3 Implementace modelu Implementace modelu s využitím ICT (naprogramování v příslušném programovacím jazyce, jeho odladění a verifikace, analýza jeho výpočetní složitosti a využití příslušného hardware, atd.). Zde se vyplatí využít moderních ladících technik, případně i použít již vyvinuté a dostupné (open source) knihovny, služby i moduly z Internetu. 2.2.4 Řešení modelu Řešení implementovaného modelu s využitím ICT nástrojů (analytické, numerické, atd.). Naplnění modelu konkrétními parametry a daty. Je třeba dbát na jejich hodnověrnost. Existují dva způsoby odvození řešení z modelu: a. Analytické (explicitní) řešení spočívá v nalezení přesného řešení pomocí analytických matematických metod (řešení soustav rovnic, řešení úlohy na vázaný extrém apod.). b. Numerické (přibližné) řešení se používá při řešení modelů, u kterých neumíme problém řešit analyticky, nebo v případech, kdy je analytické řešení obtížné a složité (metody Monte Carlo, simulace na počítači apod.). Při numerickém řešení musíme uvažovat jeho numerickou stabilitu a konvergenci a chybu, která nám vznikne. 2.2.5 Analýza řešení modelu Verifikace řešení (kontrola zda výsledky souhlasí s chováním objektu), jeho vizualizace atd. a publikace výsledků. Model je jen přibližným obrazem objektivní reality. Je dobrý, jestliže umožní přesně sledovat důsledky změn ve vstupech do systému na výslednou efektivnost systému. Cílem testování modelu je prověření jeho správné struktury, vypovídací schopnosti, formálních kvantitativních vlastností včetně odstranění formálních chyb. Testování modelu provádíme tak, že modely naplníme empirickými číselnými údaji, dosažené výsledky analyzujeme a porovnáváme s realitou. Ověřování lze promítat i do minulosti ("ex post") i do budoucnosti ("ex ante"). Interpretační analýza představuje převod výsledků do reálného systému. Je to aktivní proces, při kterém je třeba provádět neustále logickou kontrolu smyslu řešení, vyhnout se nebezpečí mechanického používání modelové techniky. Významným prvkem interpretace je promítnutí výchozích hypotéz a předpokladů do výsledku řešení. Shrnutí získaných poznatků včetně všech aspektů, které nebyly do matematického modelu zahrnuty. 2.2.6 Modifikace modelu Modifikace modelu a jeho vylepšení. V případě, že dosažené řešení není v dostatečném souladu s objektivní realitou je nutno začít znovu postupovat od kroku 1 a opakovat celý předešlý postup matematického modelování do té doby dokud nedosáhneme uspokojivého řešení zkoumaného problému. Metody prezentace modelu jeho potenciálním uživatelům závisí na znalostech uživatele modelu a matematického modelování obecně. Pokud chce uživatel vědět raději méně o detailech modelu, je vhodné ukázat mu všechny relevantní informace o výstupech modelu. To umožní uživateli (který není programátorem) vytvořit si objektivnější pohled na řešení modelu a jeho interpretaci. Je dobré zkontrolovat zda predikce řešení zahrnují skryté extrapolace. Tyto extrapolace mohou hrát úlohu buď vzhledem k použitým datům při vytváření modelu nebo vzhledem k datům použitým při testování modelu.