Exaktní metody rozhodování II. Studijní opory

Podobné dokumenty
Parametrické programování

Vysoká škola báňská Technická univerzita Ostrava TEORIE ÚDRŽBY. učební text. Jan Famfulík. Jana Míková. Radek Krzyžanek

Simplexové tabulky z minule. (KMI ZF JU) Lineární programování EMM a OA O6 1 / 25

Ekonomická formulace. Matematický model

4EK201 Matematické modelování. 2. Lineární programování

4EK213 LINEÁRNÍ MODELY

TEORIE ZPRACOVÁNÍ DAT

Metody lineární optimalizace Simplexová metoda. Distribuční úlohy

4EK311 Operační výzkum. 1. Úvod do operačního výzkumu

1. července 2010

4EK213 Lineární modely. 12. Dopravní problém výchozí řešení

4EK311 Operační výzkum. 2. Lineární programování

Lineární programování

Simulační modely. Kdy použít simulaci?

Učební texty k státní bakalářské zkoušce Matematika Základy lineárního programování. študenti MFF 15. augusta 2008

Matice přechodu. Pozorování 2. Základní úkol: Určete matici přechodu od báze M k bázi N. Každou bázi napíšeme do sloupců matice, např.

Příklady modelů lineárního programování

4EK213 Lineární modely. 10. Celočíselné programování

4EK213 LINEÁRNÍ MODELY

Teorie her a ekonomické rozhodování. 2. Maticové hry

13. Lineární programování

4EK212 Kvantitativní management. 2. Lineární programování

12. Lineární programování

M - Kvadratické rovnice a kvadratické nerovnice

fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu (reg. č. CZ.1.07/2.2.00/28.

VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ

Vysoká škola báňská - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra aplikované matematiky STATISTIKA I.

LDF MENDELU. Simona Fišnarová (MENDELU) Základy lineárního programování VMAT, IMT 1 / 25

Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.

Markovské metody pro modelování pravděpodobnosti

Obr. P1.1 Zadání úlohy v MS Excel

4EK212 Kvantitativní management. 1. Úvod do kvantitativního managementu a LP

Úvod do řešení lineárních rovnic a jejich soustav

Přílohy. Příloha 1. Obr. P1.1 Zadání úlohy v MS Excel

1 Linearní prostory nad komplexními čísly

Západočeská univerzita v Plzni. Fakulta aplikovaných věd. Ivana Kozlová. Modely analýzy obalu dat

Lineární programování

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

Operační výzkum. Teorie her cv. Hra v normálním tvaru. Optimální strategie. Maticové hry.

7. přednáška Systémová analýza a modelování. Přiřazovací problém

MODELY OLIGOPOLU COURNOTŮV MODEL, STACKELBERGŮV MODEL

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

Obecná úloha lineárního programování. Úloha LP a konvexní množiny Grafická metoda. Jiří Neubauer. Katedra ekonometrie FEM UO Brno

Systémové modelování. Ekonomicko matematické metody I. Lineární programování

Operační výzkum. Přiřazovací problém.

Otázky ke státní závěrečné zkoušce

a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí:

U Úvod do modelování a simulace systémů

0.1 Úvod do lineární algebry

M - Příprava na 1. zápočtový test - třída 3SA

Diferenciální rovnice 3

4EK213 Lineární modely. 4. Simplexová metoda - závěr

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru

Operační výzkum. Teorie her. Řešení maticových her převodem na úlohu LP.

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

3. ANTAGONISTICKÉ HRY

0.1 Úvod do lineární algebry

Extrémy funkce dvou proměnných

(Cramerovo pravidlo, determinanty, inverzní matice)

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice

Aplikovaná numerická matematika - ANM

Metodické pokyny pro práci s modulem Řešitel v tabulkovém procesoru Excel

SOUSTAVY LINEÁRNÍCH ALGEBRAICKÝCH ROVNIC

Konference WITNESS 2005 Kroměříž,

příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u.

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci

MODELY ŘÍZENÍ ZÁSOB nákladově orientované modely poptávka pořizovací lhůta dodávky předstih objednávky deterministické stochastické

Diferenciální rovnice 1

Stochastické modely Informace k závěrečné zkoušce

1 Řešení soustav lineárních rovnic

Úlohy nejmenších čtverců

4EK213 Lineární modely. 5. Dualita v úlohách LP

Úvod do modelování a simulace. Ing. Michal Dorda, Ph.D.

M - Příprava na pololetní písemku č. 1

OSA. maximalizace minimalizace 1/22

ANTAGONISTICKE HRY 172

4. Trojúhelníkový rozklad p. 1/20

SIMULACE SPOLEHLIVOSTI SYSTÉMŮ HROMADNÉ OBSLUHY. Michal Dorda. VŠB - TU Ostrava, Fakulta strojní, Institut dopravy

Teorie her a ekonomické rozhodování. 9. Modely nedokonalých trhů

4. Aplikace matematiky v ekonomii

1 Úvod do celočíselné lineární optimalizace

NÁHODNÁ ČÍSLA. F(x) = 1 pro x 1. Náhodná čísla lze generovat některým z následujících generátorů náhodných čísel:

Algoritmus pro hledání nejkratší cesty orientovaným grafem

9 Kolmost vektorových podprostorů

Přiřazovací problém. Přednáška č. 7

4EK311 Operační výzkum. 4. Distribuční úlohy LP část 1

Modely oligopolu. I. Dokonalý trh II. Nedokonalý trh 1. Modely oligopolu. Dokonalý trh. Nedokonalý trh

2.6. VLASTNÍ ČÍSLA A VEKTORY MATIC

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

13. Lineární procesy

MATEMATIKA II V PŘÍKLADECH

4EK213 LINEÁRNÍ MODELY

Výběr báze. u n. a 1 u 1

9. Soustavy rovnic DEFINICE SOUSTAVY LINEÁRNÍCH ROVNIC O DVOU NEZNÁMÝCH. Soustava lineárních rovnic o dvou neznámých je:

Semestrální z předmětu MM

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

FP - SEMINÁŘ Z NUMERICKÉ MATEMATIKY. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

3. Optimalizace pomocí nástroje Řešitel

Příklady ke cvičením. Modelování produkčních a logistických systémů

Regresní a korelační analýza

Transkript:

Operační program Vzdělávání pro konkurenceschopnost PROJEKT Integrovaný systém modulární počítačové podpory výuky ekonomicko-technického zaměření CZ.1.07/2.2.00/28.0300 Exaktní metody rozhodování II Studijní opory Radim Lenort, Martin Lampa, František Zapletal, Pavel Wicher, Emilie Krausová Ostrava 2015

Recenze: Ing. David Staš, Ph.D. Název: Autor: Exaktní metody rozhodování II doc. Ing. Radim Lenort, Ph.D., Ing. Martin Lampa, Ph.D., Ing. František Zapletal, Ph.D., Ing. Pavel Wicher, Ph.D., prof. Ing. Emilie Krausová, CSc. Vydání: první, 2015 Počet stran: 90 Jazyková korektura: nebyla provedena. Určeno pro projekt: Operační program Vzděláváním pro konkurenceschopnost Název: Integrovaný systém modulární počítačové podpory výuky ekonomicko-technického zaměření Číslo: CZ.1.07/2.2.00/28.0300 Realizace: Vysoká škola báňská Technická univerzita Ostrava Projekt je spolufinancován z prostředků ESF a státního rozpočtu ČR Radim Lenort, Martin Lampa, František Zapletal, Pavel Wicher, Emilie Krausová Vysoká škola báňská Technická univerzita Ostrava ISBN 978-80-248-3729-1 2

POKYNY KE STUDIU Exaktní metody II Pro předmět Exaktní metody rozhodování II, který je vyučován v 2. semestru navazujícího magisterského studia ve studijním oboru Ekonomika a management v průmyslu, jste obdrželi studijní opory pro kombinované studium obsahující i pokyny ke studiu. Prerekvizity Předmět nemá žádné prerekvizity. Cíl předmětu a výstupy z učení Předmět navazuje na znalosti získané v předmětu Exaktní metody rozhodování I zařazený v bakalářském studijním oboru Ekonomika a management v průmyslu a rozšiřuje poznání o další kvatnitativní metody manažerského rozhodování. Klade důraz především na poznávací funkci matematického modelování, na nejrůznější formy postoptimalizační analýzy, analýzy senzibility a parametrizace optimalizačních úloh. Zaměřuje se na volbu kritérií rozhodování a kvalitu informačního vstupu, na rozhodování v podmínkách nejistoty a rizika. Výraznou pozornost věnuje problematice hledání optimální strategie rozhodování s využitím principů dynamického programování a teorie her. Po prostudování předmětu by měl student být schopen: Výstupy znalostí: student získá znalosti z oblasti pokročilých kvantitativních metod manažerského rozhodování, student pochopí volbu jednotlivých kritérií rozhodování a kvalitu informačního vstupu na rozhodování v podmínkách nejistoty a rizika. výstupy dovedností: student bude umět identifikovat problémy vhodné pro řešení pokročilými kvantitativními metodami manažerského rozhodování, určit předpoklady, nezbytné vstupní a očekávané výstupní informace pro jejich aplikaci, student bude schopen najít optimální strategie a řešit vybrané úlohy manažerského rozhodování průmyslového podniku. Pro koho je předmět určen Předmět je zařazen do magisterského studia oboru Ekonomika a management v průmyslu studijního programu Ekonomika a řízení průmyslových systémů, ale může jej studovat i zájemce z kteréhokoliv jiného oboru, pokud má základní znalosti na úrovni, kterou studenti získávají absolvováním bakalářského studia daného studijního programu. Studijní opora se dělí na části, kapitoly, které odpovídají logickému dělení studované látky, ale nejsou stejně obsáhlé. Předpokládaná doba ke studiu kapitoly se může výrazně lišit, proto jsou velké kapitoly děleny dále na číslované podkapitoly a těm odpovídá níže popsaná struktura. 3

Způsob komunikace s vyučujícím Nutnou součástí pro absolvování předmětu je úspěšné složení písemných testů a vypracování semestrálního projektu, který bude postaven na teoretických základech obsažených v této studijní opoře a zároveň bude odrážet reálné praktické problémy současné manažerské práce. Tento projekt si klade za cíl získat nadhled na možnosti uplatnění vyučovaných metod v praxi. Další požadavky budou blíže specifikovány vyučujícím na začátku výuky. V případě potřeby je možno vyučující kontaktovat na e-mailové adrese: martin.lampa@vsb.cz. 4

STRUKTURA KAPITOL Čas ke studiu Na úvod kapitoly je uveden čas potřebný pro prostudování látky. Čas je orientační a může Vám sloužit jako hrubé vodítko pro rozvržení studia celého předmětu. Někomu se čas může zdát příliš dlouhý, někomu naopak. Jsou studenti, kteří se s touto problematikou ještě nikdy nesetkali a naopak takoví, kteří již v tomto oboru mají bohaté zkušenosti. Cíl Ihned poté jsou uvedeny cíle, kterých máte dosáhnout po prostudování této kapitoly konkrétní znalosti a dovednosti. Výklad Následuje vlastní výklad studované látky, zavedení nových pojmů, jejich vysvětlení, vše doprovázeno obrázky, tabulkami, řešenými příklady, odkazy na animace. Čas k zamyšlení V rámci studia kapitol se setkáte s otázkami a problémy, které je vhodné si pro správné osvojení látky promyslet. Správná řešení navazují na položené otázky, proto nepokračujte ve čtení, dokud si vše dobře nepromyslíte. Příklad z praxe, Řešený příklad K lepšímu pochopení probírané látky využijte praktické příklady aplikace vysvětlovaných teoretických znalostí. Shrnutí pojmů Na závěr kapitoly jsou zopakovány hlavní pojmy, které si v ní máte osvojit. Pokud některému z nich ještě nerozumíte, vraťte se k nim ještě jednou. Otázky otázek. Pro ověření, že jste dobře a úplně látku kapitoly zvládli, máte k dispozici několik teoretických 5

Použitá literatura Na úplný závěr kapitoly je uvedena použitá literatura, z které je možno čerpat další informace z dané problematiky. Úspěšné a příjemné studium Vám přeje kolektiv autorů. 6

OBSAH POKYNY KE STUDIU... 3 STRUKTURA KAPITOL... 5 OBSAH... 7 1 CITLIVOSTNÍ ANALÝZA... 9 1.1 Charakteristika citlivostní analýzy... 9 1.2 Změna pravých stran omezujících podmínek... 11 1.2.1 Zjištění přípustného intervalu pravých stran omezujících podmínek... 13 1.3 Změna cenových proměnných... 14 1.3.1 Změna cen nebazických proměnných... 14 1.3.2 Změna cen bazických proměnných... 16 1.3.3 Zjištění přípustného intervalu cen bazických proměnných... 18 1.3.4 Změna cen bazických i nebazických proměnných zároveň... 19 1.4 Změna strukturních koeficientů... 21 1.4.1 Změna strukturních koeficientů bazických proměnných... 21 1.4.2 Změna strukturních koeficientů Nebazických proměnných... 21 1.5 Změna rozměru modelu... 23 1.5.1 Rozšíření modelu o další omezující podmínku... 23 1.6 Rozšíření modelu o proměnnou... 24 2 DYNAMICKÉ PROGRAMOVÁNÍ... 26 2.1 Aplikační oblasti dynamického programování... 26 2.2 Principy dynamického programování... 27 2.3 Optimální alokace omezených zdrojů... 28 2.4 Problém nakládky... 32 2.5 Obnova zařízení... 35 2.6 Závěrem k metodám dynamického programování... 39 3 SEKVENČNÍ MODELY... 42 3.1 Charakteristika Sekvenční úlohy... 42 3.2 Johnsonův model... 43 3.3 Johnsonův model pro tři stroje... 44 3.4 Johnsonův model pro m strojů a n výrobků Prücknerova metoda... 45 4 MARKOVOVA ANALÝZA... 50 4.1 Východiska pro použití Markovovy analýzy... 50 4.2 Analýza pozitivně regulárních Markovových řetězců... 53 4.3 Analýza absorpčních Markovových řetězců... 54 4.4 Systémy a procesy průmyslových podniků vhodné k modelování... 55 4.5 Manažerské aplikace Markovovy analýzy... 57 5 TEORIE HROMADNÉ OBSLUHY... 59 5.1 Struktura systému hromadné obsluhy... 59 7

5.1.1 Zdroj požadavků a příchody požadavků do systému... 60 5.1.2 Fronta... 61 5.1.3 Obslužné kanály... 61 5.2 Analýza systémů hromadné obsluhy... 62 5.3 Modely hromadné obsluhy... 62 5.4 Vícefázové systémy hromadné obsluhy... 63 5.4.1 Obslužné sítě... 65 5.5 Aplikace vícefázového modelu hromadné obsluhy... 65 5.5.1 Přijetí a zpracování zakázky... 65 5.5.2 Příprava vsázky... 66 5.5.3 Válcování... 66 5.5.4 Úprava válcovaného materiálu... 67 5.5.5 Skladování a expedice hotových výrobků... 67 5.5.6 Shrnutí... 67 5.6 Využití vícefázových systémů hromadné obsluhy v průmyslové logistice... 67 6 SIMULACE... 70 6.1 Metodologie simulace... 70 6.2 Výhody simulace... 71 6.3 Pravděpodobnostní simulace a metoda Monte carlo... 71 6.4 Simulace s využitím metody Monte Carlo... 73 6.4.1 Definování problému... 73 6.4.2 Sestavení simulačního modelu... 74 6.4.3 Zkoušení a verifikace modelu... 74 6.4.4 Návrh experimentu... 76 6.4.5 Provádění experimentu... 76 6.4.6 Hodnocení výsledků... 78 6.5 Počítačová podpora simulačních experimentů... 78 6.5.1 Generování posloupnosti hodnot náhodné veličiny na počítači... 78 6.5.2 Realizace simulačních technik na počítači... 79 6.6 Simulace v prostředí tabulkového kalkulátoru Excel... 79 6.6.1 Generování pseudonáhodných čísel... 79 6.7 Specializovaný simulační software... 80 6.8 Příloha - Tabulka náhodných čísel... 82 7 TEORIE HER... 83 7.1 Charakteristika teorie her... 83 7.2 Více etapové hry... 84 7.2.1 Hra v explicitním tvaru... 85 7.3 Maticové hry... 86 7.3.1 Koncepce dominantních strategií... 87 7.3.2 Princip minimaximální a maximinimální strategie... 88 7.3.3 Nestabilní řešení... 89 8

1 CITLIVOSTNÍ ANALÝZA Čas ke studiu: 5 hodin Cíl Po prostudování této kapitoly budete umět: definovat změny vstupních parametrů pro citlivostní analýzu, určit způsob řešení úlohy podle změněných vstupních parametrů, aplikovat postupy citlivostní analýza na úlohy lineárního programování a nalezení nového optimálního řešení. Výklad Dosud při formulaci různých optimalizačních úloh lineárního programování jsme předpokládali, že všechny parametry (strukturní koeficienty, disponibilní množství kapacit a ceny proměnných) jsou známé konstanty a že výčet možných procesů i počet omezení je stálý. Ve skutečnosti musíme brát v úvahu, že podmínky úlohy se mohou měnit. Cílem citlivostní analýzy je zjištění, jak dalece je optimální řešení citlivé na změny vstupních parametrů úlohy. Je také důležité, zda je nutné při této změně přepočítat znovu celou úlohu nebo zda původní optimální řešení zůstane stabilní v určitých mezích. Někdy se pro zjednodušení úlohy vynechávají některé podmínky, o nichž se domníváme, že nemohou ovlivnit výsledek. Dodatečně pak zkoumáme, zda vynechané podmínky skutečně nemají vliv na řešení. 1.1 CHARAKTERISTIKA CITLIVOSTNÍ ANALÝZY Vycházíme již ze získaného optimálního řešení, které máme k dispozici. Dále ho upravujeme, analyzujeme a využíváme v řešení. Citlivostní analýza zkoumá, jak se mění optimální řešení úlohy lineárního programování při změně vstupních parametrů této úlohy. Může docházet k následujícím změnám vstupních parametrů: Disponibilních množstvích kapacit změna pravých stran omezujících podmínek, Tržních cen (ocenění proměnných) změna v účeloví funkci, Strukturních koeficientů mění se matice strukturních koeficientů A, Rozměru modelu rozšíření modelu o další omezující podmínky nebo rozšíření modelu o další proměnnou. 9

V rámci citlivostní analýzy hledáme odpovědi na tři základní otázky: Zůstane po daných změnách výrobních a tržních podmínek původní optimální řešení i nadále optimální? V jakých mezích (rozpětí, rozsahu nebo intervalu) mohou být měněny výrobní a tržní podmínky, aby původní optimální řešení zůstalo i nadále optimální? Jaké bude nové optimální řešení, přestane-li po změně výrobních a tržních podmínek být původní optimální řešení optimální? Proměnné vyskytující se v optimálním řešení, na kterém provádíme citlivostní analýzu: A N - matice strukturních koeficientů nebazických proměnných. Do optimální báze přetransformujeme následovně B -1 *A N, c B T c N T vektor cen bazických proměnných, vektor cen nebazických proměnných, c - cena ekvivalentní kombinace vektorů v bázi, c - vektor ocenění proměnných, (c j - c j ) T - máme k dispozici volné zdroje, které použijeme buď na výrobu zvoleného sortimentu výroby bazické proměnné (vyprodukujeme objem tržeb c ) nebo zdroje použijeme na výrobu zcela konkrétního výrobku (vyprodukujeme tržní cenu výrobku c), X B - b - hodnoty bazických proměnných v optimálním řešení, vektor disponibilních množství kapacit. Změny vstupních parametrů se provádějí na testovacích podmínkách: 1. Jestliže B je maticí baze vektorového prostoru V m v optimálním řešení, pak matice A N je matice strukturních koeficientů nebazických proměnných v bazi triviálního řešení, vektory c B a c N jsou vektory ocenění bazických a nebazickych proměnných a matice E je jednotkovou maticí, pak m-složkový vektor x B = B -1 *b (bazické řešení úlohy lineárního programování), pro kterou platí, že je ve všech svých prvcích nezáporný, je přípustným řešením úlohy lineárního programování. 2. Jestliže je současně nezáporný i vektor koeficientů účelové funkce (c j - c j ) T = c B T *B -1 *A N c N T = u T *A N - c N T 0, kde u T je vektor duálních cen, pak vektor x B je optimálním řešení dané úlohy lineárního programování. Změny tržních i výrobních podmínek mohou ovlivňovat 1. i 2. testovací podmínku. Předpoklady: 1. Po změně tržních a výrobních podmínek x B * (nový vektor bazických proměnných) i (c j - c j ) T* 0, pak původní optimální sortiment výroby je zachován a mění se pouze objem výroby v rámci původního optimálního sortimentu výroby, 2. Po změně tržních a výrobních podmínek, bude alespoň jeden prvek x B * nebo (c j - c j ) T* < 0, pak původní optimální sortiment výroby přestává být optimální a je nutné nalézt nový optimální sortiment výroby. Citlivostní analýzu si ukážeme na optimálním řešení následujícího příkladu. 10

Řešený příklad Máme k dispozici tři suroviny, které spotřebováváme na výrobu pěti výrobků. Spotřeba jednotlivých surovin na jednotku výrobků, disponibilní množství surovin i ceny jednotlivých výrobků jsou uvedeny v tab. 1. Název suroviny Tab. 1 Zadání příkladu Spotřeba surovin uvedených v legendě na jednotku výroku (kg/ks) Disponibilní množství surovin (kg) S 1 10 5 4 2 2000 S 2 8 5 1,2 5,6 1800 S 3 5 8 2,5 10 2000 Cena výrobku (Kč/ks) 500 300 200 280 Stanovte výrobní program tak, aby hodnota tržeb byla maximální. Předpokládáme, že podnik má pro své výrobky neomezeny odbyt a že nemá ani žádná jiná omezení. Řešení: Jedná se o úlohu lineárního programování, kterou vyřešíme použitím simplexovy metody a získáme následující optimální řešení: Tab. 2 Optimální řešení Cena baz. prom. Baze x 1 x 2 x 3 x 4 x 1 x 2 x 3 Požad. sloupec 500 x 1 1 0,125 0 0 0,01 0,175-0,1 135 280 x 4 0 0,575 0 1-0,07 0,025 0,1 105 200 x 3 0 0,65 1 0 0,26-0,45 0,2 110 Z 0 53,5 0 0 37,4 4,5 18 118900 Získané řešení: Budeme vyrábět výrobek V 1 v celkovém množství 135 ks, výrobek V 3 v celkovém množství 110 ks a výrobek V 4 v celkovém množství 105 ks. Při tomto množství vyráběných výrobků budou celkové tržby 118 900 Kč. 1.2 ZMĚNA PRAVÝCH STRAN OMEZUJÍCÍCH PODMÍNEK Předpokládáme, že došlo ke změně disponibilním množství kapacit na b*= b+ b. 11

Úkol: Zjistěte, zda původní optimální sortiment výroby zůstane i nadále optimální. Jestliže ne, nalezněte nový optimální plán výroby. Posoudíme nezápornosti obou testovacích podmínek. Stačí zkoumat platnost pouze první testovací podmínky Řešení: x * B = B -1 *b * = B -1 *b + B -1 * b = x B + B -1 * b 0 Pokud alespoň v jednom prvku bude výraz < 0, tak původní optimální řešení přestalo být optimální a je třeba najít nový optimální plán výroby pomocí duálně-simplexové metody, Jestliže všechny prvky budou 0, tak původní optimální sortiment výroby zůstává i nadále optimální a není třeba hledat nový optimální plán výroby. Je třeba pouze znovu vypočítat hodnotu účelové funkce podle z * = c T B *x * B = z + u T * b Řešený příklad Dodavatel surovin oznámil podniku, že v příštím plánovacím období je schopen zvýšit dodávky suroviny S3 na 3500 kg. Zjistěte, zda pro podnik bude výhodné po této změně setrvat na původním optimálním sortimentu výroby a nebo bude vhodné přejít na nový optimální sortiment výroby. Vycházíme z optimálního řešení tab. 2: b * 2000 1800 3500 b 0 0 1500 X B = x B + B -1 * b = 135 0,01 0,175 0,1 0 15 105 0,07 0,025 0,1 * 0 255 110 0,26 0,45 0,2 1500 410 Jeden prvek je záporný, tak původní optimální sortiment přestává být optimální a je třeba nalézt nový optimální sortiment výroby použitím duálně-simplexové metody. Vypočteme novou hodnotu účelové funkce: 0 z * = c T B *x * B = z + u T * b = 118900 37,4 4,5 18 * 0 = 145 900,- Kč 1500 Nově získané hodnoty doplníme do optimálního řešení tab. 2 12

Tab. 3 Nově nalezené optimální řešení Cena baz. prom. Baze x 1 x 2 x 3 x 4 x 1 x 2 x 3 Požad. sloupec 500 x 1 1 0,125 0 0 0,01 0,175-0,1-15 280 x 4 0 0,575 0 1-0,07 0,025 0,1 225 200 x 3 0 0,65 1 0 0,26-0,45 0,2 410 Z 0 53,5 0 0 37,4 4,5 18 145900 0 x 3-10 -1,25 0 0-0,1-1,75 1 150 280 x 4 1 0,7 0 1 0,06 0,2 0 240 200 x 3 2 0,9 1 0 0,28-0,1 0 380 Z 180 76 0 0 39,2 36 0 143200 Získané řešení: Budeme vyrábět výrobek V 3 v celkovém množství 380 ks a výrobek V 4 v celkovém množství 240 ks. Zůstane nám surovina S 3 v celkovém množství 150 kg. Při tomto množství vyráběných výrobků budou celkové tržby 143 200 Kč. Bude pro nás výhodné přejít na nový optimální plán výroby. 1.2.1 Zjištění přípustného intervalu pravých stran omezujících podmínek Předpokládáme, že došlo ke změně p-té souřadnice vektoru b, tzn. nový vektor b, který je v p- tém řádku se rovná b p * = b p + b p Úkol: Určete, jak velké může být b p, aby původní optimální baze zůstala i nadále optimální. Budeme zjišťovat dolní a horní mez pohybu b. Řešení: Dosadíme do první testovací podmínky x Bi = x Bi + b * b x b * b 0 Nezápornost musí platit pro každý z prvků x Bi. m j1 ij j Bi ip p Pro b ip > 0 musí být splněna podmínka b p Pro b ip < 0 musí být splněna podmínka b p x b ip x b ip Bi 0 Bi 0 xbi max b b 0 ip p xbi min b 0 ip Řešený příklad Zjistěte, v jakém intervalu se může pohybovat objem suroviny S 3, aniž by bylo nutné měnit původní optimální plán výroby. Vycházíme z optimálního řešení tab. 2: 13

xbi max b b 0 x min b Bi 3 i3 i3 0 Pro i = 1, 3, 4 Dolní mez: 105 1050 0,1 110 550 0,2 max = -550 Horní mez: 135 1350 min 0,1-550 b 3 1350 1450 b 3 3350 Interval, ve kterém se může pohybovat surovina S3 je (1450; 3350), aniž dojde ke změně původního optimálního sortimentu. 1.3 ZMĚNA CENOVÝCH PROMĚNNÝCH Jedná se o nejčastější problematiku řešenou citlivostní analýzou. V tomto případě budeme zkoumat druhou testovací podmínku. 1.3.1 Změna cen nebazických proměnných Předpokládáme, že se změnila k-tá nebázická proměnná a nová cena je vyjádřena c k * = c k + c k. Úkol: Zjistěte jaká má být hodnota c k, aby původní optmální báze zůstala i nadále optimální. Řešení: (c k - c k ) * = c T b *B -1 *a k c * k = c T b *B -1 *a k c k - c k = (c k - c k ) - c k 0 a k vektor strukturních koeficientů k-té proměnné v triviálním řešení Mohou nastat tři případy: c k > (c k - c k ) je vhodné přejít na nový optimální sortiment. c k < (c k - c k ) je vhodné setrvat na původním optimálním sortimentu. c k = (c k - c k ) získáme alternativní řešení a hodnota účelové funkce se nezmění. 14

Řešený příklad Určete při jaké ceně se podniku již vyplatí zařadit výrobek V 2 do výroby. Vychazíme z optimálního řešení tab. 2: c 2 = (c 2 - c 2 ) c 2 = 53,50 Kč/ks V 2 c 2 * = c 2 + c 2 = 300 + 53,50 = 353,50 Kč funkce. Při této ceně bychom mohli zařadit výrobek V 2 do výroby a nezmění se hodnota účelové Řešený příklad Trh projevil zájem o výrobek V 2 za cenu 355 Kč/ks. Úkol: Zjistěte, Řešení: a) zda by bylo výhodné zařadit tento výrobek do výroby, b) pokud ano, nalezněte nový optimální plán výroby. a) jsme problematiku vyřešili v předchozím příkladu. Bude pro nás výhodné zařadit výrobek V2 do výroby, pokud jeho cena bude minimálně 353,50 Kč a vyšší. b) (c2 - c2) = c2; (c2-300) = 53,50 c2 = 353,50 po změně ceny V2 na 355 Kč bude (c2 - c2)*= 353,50 355 = -1,5 tuto hodnotu dosadíme do optimálního řešení tab. 2 a dále řešíme pomocí simplexovy metody. Tab. 4 Nově nalezené optimální řešení Cena baz. prom. Baze x 1 x 2 x 3 x 4 x 1 x 2 x 3 Požad. sloupec 500 x 1 1 0,125 0 0 0,01 0,175-0,1 135 280 x 4 0 0,575 0 1-0,07 0,025 0,1 105 200 x 3 0 0,65 1 0 0,26-0,45 0,2 110 Z 0-1,5 0 0 37,4 4,5 18 118900 500 x 1 1 0-0,192 0-0,04 0,262-0,139 113,8 280 x 4 0 0-0,884 1-0,3 0,423-0,077 7,7 355 x 2 0 1 1,538 0 0,4-0,69 0,308 169,2 Z 0 0 2,307 0 38 3,46 18,46 119153,8 15

Získané řešení: Budeme vyrábět výrobek V 1 v celkovém množství 113,8 ks, výrobek V 2 v celkovém množství 169,2 ks a výrobek V 4 v celkovém množství 7,7 ks. Při tomto množství vyráběných výrobků budou celkové tržby 119153,8 Kč. Bude pro nás výhodné přejít na nový optimální plán výroby. 1.3.2 Změna cen bazických proměnných c B T. Předpokládáme, že se změnila cena bázická proměnná a nová cena je vyjádřena c B T* = c B T + Úkol: Zjistěte zda po této změně zůstane původní optimální báze i nadále optimální. Dosazujeme do druhé testovací podmínky Řešení: Víme, že změna ceny bazických proměnných se projeví změnou hodnoty výrazu (c j - c j ) * pro j N, kde N je množina indexů všech nebazickych proměnných. Přepočteme výraz (c j - c j ) * pro všechny nebazické proměnné a zjistíme, zda je dodržena nezápornost. (c j - c j ) * = c b T* *B -1 *a j c j = (c b T + c B T )*B -1 *a j c j = (c j - c j ) + c B T *a j 0 z * = z + c B T *x B a j - vektor strukturních koeficientů j-té proměnné vyjádřený v optimální bazi. Řešený příklad Obdrželi jsme informaci, že v příštím plánovacím období bude možno realizovat na trhu výrobek V 1 za cenu 700 Kč/ks. Úkol: Zjistěte, Řešení: a) zda bude výhodné servat na původním optimálním řešení, b) zahájit výrobu jiného optimálního sortimentu výroby. a) Provedeme výpočet pro všechny nebazické proměnné j 2, 1, 2, 3 c T b = 500 280 200 ; c T* b = 700 280 200 ; c T B = 200 0 0 pro j = 2 (c 2 - c 2 ) * = 53,50 + 200 0 0 * 0,575 78, 5 pro j = 1 0,125 0,65 16

0,01 (c 1 - c 1 ) * = 37,4 + 200 0 0 * 0,07 39, 4 0,26 pro j = 2 0,175 (c 2 - c 2 ) * = 4,5 + 200 0 0 * 0,025 39, 5 pro j = 3 0,45 0,1 (c 3 - c 3 ) * = 18 + 200 0 0 * 0,1 2 0,2 Jelikož jeden výraz je menší než nula, tzn., že původní optimální řešení přestalo být optimální a je třeba hledat nový optimální sortiment výroby. Změněné hodnoty doplníme do původního optimálního řešení tab. 2 135 z * = z + c T B *x B = 118900 + 200 0 0 * 105 145900 Kč 110 b) nalezení nového optimálního sortimentu výroby Tab. 5 Nově nalezené optimální řešení Cena baz. prom. Baze x 1 x 2 x 3 x 4 x 1 x 2 x 3 Požad. sloupec 500 x 1 1 0,125 0 0 0,01 0,175-0,1 135 280 x 4 0 0,575 0 1-0,07 0,025 0,1 105 200 x 3 0 0,65 1 0 0,26-0,45 0,2 110 Z 0 78,5 0 0 39,4 39,5-2 145900 500 x 1 1 0,45 0,5 0 0,14-0,05 0 190 280 x 4 0 0,25-0,5 1-0,2 0,25 0 50 0 X 3 0 3,25 5 0 1,3-2,25 1 550 Z 0 85 100 0 42 35 0 147000 Získané řešení: Budeme vyrábět výrobek V 1 v celkovém množství 190 ks, výrobek a výrobek V 4 v celkovém množství 50 ks a zůstane nám surovina S 3 ve výši 550 kg. Při tomto množství vyráběných výrobků budou celkové tržby 147000 Kč. Bude pro nás výhodné přejít na nový optimální plán výroby. 17

1.3.3 Zjištění přípustného intervalu cen bazických proměnných Předpokládáme, že došlo ke změně p-té souřadnice vektoru c T B, tzn. nový vektor c T B, který je T v p-tém řádku se rovná c * T T B p = c B p + c B p Úkol: T Určete, jak velké může být c B p, aby původní optimální baze zůstala i nadále optimální. Budeme zjišťovat dolní a horní mez pohybu c T B. Řešení: Dosadíme do druhé testovací podmínky (c j - c j ) * = (c j - c j ) + c k *a pj 0 Nezápornost musí platit pro každý z prvků (c j - c j ). Pro a pj > 0 musí být splněna podmínka c k Pro a pj < 0 musí být splněna podmínka c k (c j - c j) 0 a pj (c j - c j) 0 a pj (c max a j pj - c j) c 0 k (c min a j pj - c j 0 ) Řešený příklad Zjistěte, v jakém intervalu se může pohybovat cena výrobku V 1, aniž bychom museli přejít na nový optimální sortiment výroby. Pro j 2, 1, 2, 3 (c j - c j) (c max c1 min a 0 a 1 j j 1 j - c j 0 ) Dolní mez: 53,5 428 0,125 Horní mez: 18 180 min 0,01 37,4 3740 0,01 4,5 25,71 0,175 max = - 25,71-25,71 c 1 180 474,3 c 1 680 18

Interval, ve kterém se může pohybovat cena výrobku V 1 je (474,3; 680), aniž dojde ke změně původního optimálního sortimentu. 1.3.4 Změna cen bazických i nebazických proměnných zároveň Předpokládáme, že v příštím roce se změnily ceny jak nebazických c N T*, tak bazických proměnných c B T* Úkol: Zjistěte, zda původní optimální řešení zůstává i nadále optimální a pokud ne, tak nalezněte nový optimální plán výroby. Dosazujeme do druhé testovací podmínky (c j - c j ) * = c b T* *B -1 *A N c N T* 0, po dosazení a úpravě dostaneme (c j - c j ) * = (c j - c j ) + c B T *a j - c j 0 Přepočteme výraz (c j - c j ) * nezápornost. Pak následuje výpočet nové hodnoty účelové funkce pro všechny nebazické proměnné a zjistíme, zda je dodržena z * = z + c B T *x B Řešený příklad Pro příští plánovací období předpokládáme vývoj cen na trhu ve výši V 1 = 450 Kč/ks, V 2 = 400 Kč/ks, V 3 = 180 Kč/ks a V 4 = 300 Kč/ks. Úkol: Zjistěte, Řešení: a) zda bude vhodné setrvat u původního plánu výroby, b) pokud ne, nalezněte nový optimální plán výroby. a) Provedeme výpočet pro všechny nebazické proměnné j 2, 1, 2, 3 c T b = 500 280 200 ; c T* b = 450 300 180 ; c T B = 50 20 20 c 2 = c 2 * - c 2 = 400 300 = 100 pro j = 2 0,125 (c 2 - c 2 ) * = 53,50 + 50 20 20 * 0,575 100 54, 25 pro j = 1 0,65 0,01 (c 1 - c 1 ) * = 37,4 + 50 20 20 * 0,07 0 30, 3 0,26 19

pro j = 2 (c 2 - c 2 ) * = 4,5 + 50 20 0,175 20 * 0,025 0 5, 25 0,45 pro j = 3 0,1 (c 3 - c 3 ) * = 18 + 50 20 20 * 0,1 0 21 0,2 Jelikož jeden výraz je menší než nula, tzn., že původní optimální řešení přestalo být optimální a je třeba hledat nový optimální sortiment výroby. Změněné hodnoty doplníme do původního optimálního řešení tab. 2 135 z * = z + c T B *x B = 118900 + 50 20 20 * 105 112500 Kč 110 b) nalezení nového optimálního sortimentu výroby Tab. 6 Nově nalezené optimální řešení Cena baz. prom. Baze x 1 x 2 x 3 x 4 x 1 x 2 x 3 Požad. sloupec 450 x 1 1 0,125 0 0 0,01 0,175-0,1 135 300 x 4 0 0,575 0 1-0,07 0,025 0,1 105 180 x 3 0 0,65 1 0 0,26-0,45 0,2 110 Z 0-54,25 0 0 30,3 5,25 21 112500 450 x 1 1 0-0,19 0-0,04 0,26-0,14 113,8 300 x 4 0 0-0,88 1-0,3 0,42-0,08 7,7 400 x 2 0 1 1,54 0 0,4-0,69 0,31 169,2 Z 0 0 83,55 0 52-32,18 37,82 121230,7 450 x 1 1 0 0,36-0,62 0,14 0-0,09 109,1 0 x 2 0 0-2,1 2,38-0,71 1-0,19 18,31 400 x 2 0 1 0,09 1,64-0,09 0 0,18 181,86 Z 0 0 15,97 76,58 29,15 0 31,71 121819,95 Získané řešení: Budeme vyrábět výrobek V 1 v celkovém množství 109,1 ks, výrobek a výrobek V 2 v celkovém množství 181,86 ks a zůstane nám surovina S 2 ve výši 18,31 kg. Při tomto množství vyráběných výrobků budou celkové tržby 121819,95 Kč. Bude pro nás výhodné přejít na nový optimální plán výroby. 20

1.4 ZMĚNA STRUKTURNÍCH KOEFICIENTŮ Změna strukturních koeficientů se týká jak strukturních koeficientů bazických, tak nebazickych proměnných. 1.4.1 Změna strukturních koeficientů bazických proměnných Mění se prvky inverzní matice B-1. Změna této matice je rozdílně obtížná podle umístění změněných prvků strukturních koeficientů v této matici. Pro obtížnost se tímto nebudeme zabývat. Nepřinese to žádnou úsporu času, a proto je lépe tento problém řešit od začátku se změněnými strukturními koeficienty. 1.4.2 Změna strukturních koeficientů Nebazických proměnných Předpokládáme, že se změnil vektor strukturních koeficientu proměnné x k a to na a * k = a k + a k. Úkol: Zjistěte, zda po této změně původní optimální sortiment výroby zůstává i nadále optimální. Dosadíme do druhé testovací podmínky. (c k - c k ) * = c T b *B -1 *a * k c k 0, po dosazení a úpravě dostaneme (c k - c k ) * = (c k - c k ) + c T b *B -1 * a k 0, ještě provedeme jednu úpravu (c k - c k ) * = (c k - c k ) + u T * a k 0 Nový optimální plán dostaneme tak, že vyjdeme z optimálního řešení, které opravíme o nové hodnoty x k, dosadíme nové hodnoty strukturních koeficientů a ** k = B -1 *a * k a námi vypočtený nový výraz (c k - c k ) * a dále úlohu řešíme simplexovou metodou. Řešený příklad Zjistěte, co se stane, když se změní strukturní koeficienty u suroviny S 1 na výrobu V 2 z původních 5 kg na 3 kg. Vycházíme z tab. 2. Úkol: Zjistěte, Řešení: a) zda změna povede ke změně původního optimálního sortimentu výroby, b) pokud ano, nalezněte nový optimální sortiment výroby. a) 5 3 2 a 2 = 5 ; a 2 * = 5 ; a 2 = 0 8 8 0 (c 2 - c 2 ) * = 53,50 + 37,4 4,5 18 * 2 0 0 = -21,3 21

Hodnota vyšla záporně, tak původní optimální sortiment výroby přestal být optimální a hledáme nové optimální řešení. b) a 2 ** = B -1 *a 2 * = 0,01 0,07 0,26 0,175 0,025 0,45 0,1 3 0,1 * 5 0,2 8 0,105 0,715 0,13 Dosadíme do původního optimálního řešení a řešíme simplexovou metodou. Tab. 7 Nově nalezené optimální řešení Cena baz. prom. Baze x 1 x 2 x 3 x 4 x 1 x 2 x 3 Požad. sloupec 500 x 1 1 0,105 0 0 0,01 0,175-0,1 135 280 x 4 0 0,715 0 1-0,07 0,025 0,1 105 200 x 3 0 0,13 1 0 0,26-0,45 0,2 110 Z 0-21,3 0 0 37,4 4,5 18 118900 450 x 1 1 0 0-0,15 0,02 0,17-0,11 119,6 300 x 2 0 1 0 1,40-0,10 0,03 0,14 146,8 200 x 3 0 0 1-0,18 0,27-0,45 0,18 90,9 Z 0 0 0 29,82 35,27 5,14 20,98 122027,9 Získané řešení: Budeme vyrábět výrobek V 1 v celkovém množství 119,6 ks, výrobek a výrobek V 2 v celkovém množství 146,8 ks a výrobek V 3 v celkovém množství 90,9 ks. Při tomto množství vyráběných výrobků budou celkové tržby 122027,9 Kč. Bude pro nás výhodné přejít na nový optimální plán výroby. Řešený příklad Zjistěte, k jaké změně by muselo dojít u spotřeby S 1 při výrobě V 2, aby bylo pro firmu výhodné tento výrobek vyrábět (c 2 - c 2 ) + u T * a 2 0 u T * a 2 -(c 2 - c 2 ) u 1 a 12 + u 2 a 22 + u 3 a 32 -(c 2 - c 2 ) ; u 2 a u 3 = 0 u 1 a 12 -(c 2 - c 2 ) a 12 -(c 2 - c 2 )/ u 1 a 12-53,50/37,4 = -1,43 kg S 1 /V 2 Muselo by dojít ke snížení spotřeby S 1 o více jak 1,43 kg, abychom vyráběli V 2. 22

1.5 ZMĚNA ROZMĚRU MODELU Častým případem úprav původního řešení jsou situace, kdy je třeba pro dodatečný zájem zákazníků zvažovat, zda zařadit další výrobek do výrobního programu a v této souvislosti také navrhnout, za jakou cenu to bude pro výrobu výhodné. 1.5.1 Rozšíření modelu o další omezující podmínku Předpokládejme, že pro příští období musíme respektovat další omezující podmínku, která nebyla zahrnuta do modelu. Toto omezení má formu nerovnice nebo rovnice. Tuto omezující podmínku musíme nejdříve upravit přidáním přidatných nebo pomocných proměnných. Takto upravenou omezující podmínku přidáme do optimálního řešení. Zpravidla dojde k porušení jednotlivých vektorů, které jsou v původní optimální bazi a my se je pokusíme obnovit využitím povolených matematických operací s řádky simplexovy tabulky. Sledujeme, zda po těchto úpravách se v požadavkovém sloupci nevyskytla záporná hodnota, pokud ne, původní optimální sortiment zůstává i nadále optimální i při přiřazení nové omezující podmínky. Pokud zjistíme, že v požadavkovém sloupci se objevily záporné hodnoty nebo jedna záporná hodnota, v tomto případě původní optimální sortiment přestal být optimální a je třeba nalézt nový optimální sortiment výroby. Úloha přestala být primárně přípustná, ale zůstává duálně přípustná. K nalezení optimálního řešení použijeme duálně-simplexovou metodu. Řešený příklad Na trhu se objevil zájemce, který je ochoten odebrat celou naši produkci, ale požaduje, aby výrobků V 3 bylo nejméně dvakrát tolik co V 1. Vycházíme z řešení tab. 2. Upravíme omezující podmínku do požadovaného tvaru x 3 2x 1 -x 3-2x 1 -x 3 + x 4 = -2x 1 2x 1 x 3 + x 4 = 0 Takto upravenou omezující podmínku přidáme do původního optimálního řešení Tab. 8 Nově nalezené optimální řešení Cena baz. prom. Baze x 1 x 2 x 3 x 4 x 1 x 2 x 3 x 4 Požad. Sloupec 500 x 1 1 0,125 0 0 0,01 0,175-0,1 0 135 1 280 x 4 0 0,575 0 1-0,07 0,025 0,1 0 105 2 200 x 3 0 0,65 1 0 0,26-0,45 0,2 0 110 3 0 X 4 2 0-1 0 0 0 0 1 0 4 Z 0 53,5 0 0 37,4 4,5 18 0 118900 5 500 x 1 1 0,125 0 0 0,01 0,175-0,1 0 135 6 280 x 4 0 0,575 0 1-0,07 0,025 0,1 0 105 7 200 x 3 0 0,65 1 0 0,26-0,45 0,2 0 110 8 řádek 23

0 x 4 0 0,40 0 0 0,24-0,8 0,4 1-160 9 Z 0 53,5 0 0 37,4 4,5 18 0 118900 10 500 x 1 1 0,125 0 0 0,06 0 0,01 0,22 100 11 280 x 4 0 0,21 0 1-0,06 0 0,11 0,03 100 12 200 x 3 0 0,59 1 0 0,105 0-0,025-0,56 200 13 0 x 2 0-0,5 0 0-0,3 1-0,5-1,25 200 14 Z 0 55,75 0 0 38,75 0 20,25 5,62 5 118000 15 Řádek 9 přepočteme podle vztahu ř4 2ř1 + ř3 Pokud máme zajištěn odbyt na původní výrobní program, tak s touto nabídkou nebudeme souhlasit, protože účelová funkce se snížila o 900 Kč. 1.6 ROZŠÍŘENÍ MODELU O PROMĚNNOU Může nastat v případě, kdy se objeví zájem o nový výrobek, který bychom chtěli vyrábět a musíme si ověřit, jestli to bude pro nás výhodné. Předpokládejme, že máme sortiment výrobků, který můžeme vyrábět, a je tvořen n-výrobky. Daný matematický model je tvořen n-reálnými proměnnými. Objevil se zájem o nový výrobek (n+1), spotřeba jednotlivých surovin je x n+1 a jsou vyjádřeny vektorem strukturních koeficientů a n+1, s omezenými disponibilními zdroji. Zjistili jsme, že výrobek by bylo možno prodávat za cenu c n+1. Použijeme druhou testovací podmínku. (c n+1 - c n+1 ) = c B T *B -1 a n+1 c n+1 0 Řešený příklad Na trhu se objevil zájem o výrobek V5, který je možno na trhu prodávat za cenu 480 Kc/ks. Bylo zjištěno, že jsme schopni tento výrobek vyrábět s následující spotřebou surovin S 1 = 8 kg, S 2 = 12,4 kg a S 3 = 5,625 kg. Vycházíme z tab. 2. Úkol: Zjistěte, a) vhodnost zařazení nového výrobku do výroby, b) pokud ano, navrhněte nový optimální plán výroby. Řešení: 8 a) (c 5 - c 5 ) = u T *a 5 c 5 = 37,4 4,5 18 * 12,4 480 23, 75 5,625 Výrobek je vhodné zařadit do výroby b) a 5 * = B -1 *a 5 = 0,01 0,07 0,26 0,175 0,025 0,45 0,1 8 0,1 * 12,4 0,2 5,625 1,687 0,3125 2,375 24

Dosadíme nové hodnoty do optimálního řešení. Tab. 8 Nově nalezené optimální řešení Cena baz. prom. Baze x 1 x 2 x 3 x 4 x 5 x 1 x 2 x 3 Požad. sloupec 500 x 1 1 0,125 0 0 1,687 0,01 0,175-0,1 135 280 x 4 0 0,575 0 1 0,3125-0,07 0,025 0,1 105 200 x 3 0 0,65 1 0-2,375 0,26-0,45 0,2 110 Z 0 53,5 0 0-23,75 37,4 4,5 18 118900 480 x 5 0,59 0,07 0 0 1 0,006 0,104-0,009 80 300 x 4-0,18 0,55 0 1 0-0,07-0,008 0,118 80 200 x 3 1,4 0,83 1 0 0 0,27-0,203 0,06 300 Z 14,08 55,25 0 0 0 37,54 6,97 16,6 120800 Získané řešení: Budeme vyrábět výrobek V 3 v celkovém množství 300 ks, výrobek a výrobek V 4 v celkovém množství 80 ks a výrobek V 5 v celkovém množství 80 ks. Při tomto množství vyráběných výrobků budou celkové tržby 120800 Kč. Bude pro nás výhodné přejít na nový optimální plán výroby. Shrnutí pojmů Citlivostní analýza, parametry modelu, optimální řešení, bazické a nebazické proměnné, disponibilní množství kapacit, cenové proměnné, strukturní koeficienty, účelová funkce, simplexová tabulka. Otázky 1. Čím se zabývá citlivostní analýza? 2. Kde najde uplatnění citlivostní analýza? 3. Jaký je rozdíl mezi bazickými a nebazickými proměnnými? 4. Co je cílem citlivostní analýzy? 5. Uveďte příklad strukturních koeficientů úloh lineárního programování? 6. Jaký je rozdíl mezi simplexovou a duálně-simplexovou metodou? 7. Co znamená pojem alternativní řešení? 8. Jaké znáte testovací podmínky? 9. Proč je důležité znát přípustné intervaly pravých stran omezujících podmínek a cen bazických proměnných? Použitá literatura [1] JABLONSKÝ J. Operační výzkum. Prava: VŠE, 2001. [2] GROS I. Kvantitativní metody v manažerském rozhodování, Praha: Grada Publishing, 2003. 25

2 DYNAMICKÉ PROGRAMOVÁNÍ Čas ke studiu: 8 hodin Cíl Cílem této kapitoly je seznámit studenty se základními úlohami dynamického programování, na kterých budou osvětleny základní principy a charakteristiky této oblasti. Student by po nastudování kapitoly měl umět řešit jednoduché dynamické optimalizační úlohy v oblasti obnovy investic, alokace omezených zdrojů a optimální nakládky. Výklad Dynamické programování patří mezi metody operačního výzkumu, konkrétně matematického programování. Během svého studia jste se již setkali s lineárním programováním, které umožňuje řešit optimalizaci úloh, které jsou exaktně popsatelné pomocí soustavy lineárních rovnic a nerovnic. Exaktní modely však obecně nejsou vždy použitelné, třeba proto, že vztahy nejsou lineární a některé nelineární problémy matematickým aparátem vyjádřit a vyřešit nelze. Dalším častým příkladem, kde si s lineárním programováním nevystačíme, jsou modely, u kterých je nutné zachytit dynamiku modelovaného systému, tj. jeho vývoj v čase. Jednou z možností, jak řešit takovéto problémy, které zachycují faktor vývoje, je využití právě dynamického programování. Dynamické programování bylo poprvé představeno v roce 1954 americkým matematikem Richardem Bellmanem (1920-1984). Název metody vymyslel sám autor. 2.1 APLIKAČNÍ OBLASTI DYNAMICKÉHO PROGRAMOVÁNÍ Oblasti praktické aplikace dynamického programování jsou velmi pestré. Nejčastěji se využívají pro následující úlohy: Problém nakládky (optimální využití přepravních kapacit) Obnova zařízení. Optimální alokace zdrojů. Hledání nejkratší cesty v grafu aj. Všechny tyto úlohy jsou alternativně řešitelné pomocí jiných speciálních algoritmů. K využití postupů dynamického programování se zpravidla přistupuje tehdy, pokud tyto speciální algoritmy nejsou z různých důvodů použitelné, případně by jejich použití bylo výpočetně nebo časově příliš náročné. Přestože lze pomocí dynamického programování řešit také jednoduché stochastické modely, budeme se v této kapitole zabývat výhradně deterministickými modely a to konkrétně těmi s diskrétní proměnnou, které jsou používány nejčastěji. 26

2.2 PRINCIPY DYNAMICKÉHO PROGRAMOVÁNÍ Přestože je dynamické programování uplatnitelné pro široké spektrum vzájemně zdánlivě nesouvisejících problémů, je princip jeho řešení pro všechny úlohy velmi podobný. Stejně jako v případě lineárního (i nelineárního) programování se hlavní algoritmus metody při řešení iterativně opakuje. Na rozdíl od něj však jednotlivé iterace nemají za cíl postupně konvergovat k optimálnímu řešení úlohy (v každém dalším kroku získat řešení, které se více blíží optimu), ale každá iterace - etapa zde řeší jinou část zadaného problému a to buď z hlediska časového, nebo věcného (záleží na typu úlohy). Hlavní myšlenkou DP je tedy převést zadaný komplexní problém, jehož řešení v jednom kroku není možné, na více, snáze řešitelných subproblémů. Vlastní technika řešení tak spočívá v tom, že rozdělíme vícerozměrný optimalizační problém na dílčí prvky, neboli etapy a každou z těchto etap optimalizujeme zvlášť. Získaná posloupnost etap umožní podstatným způsobem zjednodušit výpočet. Dříve, než si ukážeme první vzorový příklad, je nezbytné se seznámit se základními pojmy, které budou doprovázet řešení jakýchkoli úloh DP, a které je nutné pro správnou formulaci a řešení modelů znát a dokázat je aplikovat na každý řešený příklad. Etapa časově nebo věcně vymezená část úlohy. Každá etapa je popsána stavem. Přechod (transformace) z jedné etapy do druhé je realizován pomocí rozhodnutí. Stav (p) jedná se o charakteristiku každé etapy. Popisuje se pomocí stavového vektoru. Rozhodnutí (q i ) proces, pomocí nějž dochází k transformaci mezi etapami. Výnos (R) důsledek rozhodnutí. Cílem je maximalizovat jej. Součet výnosů z jednotlivých etap je roven celkovému výnosu úlohy. Optimální strategie (q) taková posloupnost rozhodnutí, pomocí které je maximalizován celkový výnos. Účelem řešení n-etapové úlohy je maximalizace celkového výnosu ze všech etap. Budeme se zabývat pouze úlohami, kde n je konečné, tedy konečnými n-etapovými úlohami. Pomocí transformační funkce T se mění stavy systému mezi jednotlivými etapami. Nový stav systému je funkčně závislý na předchozím stavu systému a rozhodnutí přijatém v předchozí etapě (viz rovnice 1) p i+1 = T(p i ; q i ), pro i = 1, 2,, n 1 (1) Obecný zápis účelové funkce maximalizující celkový výnos ze všech etap lze zapsat jako funkce stavů p i a rozhodnutí q i ve všech etapách problému (viz rovnice 2). F(p 1, p 2,, p n, q 1, q 2,, q n 1 ) (2) Předpokládejme, že platí princip aditivity účelové funkce, tedy že optimum účelové funkce je dáno součtem optim ze všech etap (viz rovnice 3). n F(p 1, p 2,, p n, q 1, q 2,, q n 1 ) = i=1 g i (p i ; q i ) (3), kde g i je výnosová funkce i-té etapy. Na první pohled je zjevné, že exaktní vyjádření účelové funkce by bylo velmi komplikované. Vyhnout se odvozování tohoto vzorce lze využitím tzv. Bellmanova principu optimality. Tento princip říká, že optimální strategie má tu vlastnost, že nezávisle na tom, jaké bylo počáteční rozhodnutí a počáteční stav, každé následující řešení tvoří optimální strategii vzhledem ke stavu, který vznikl právě v důsledku rozhodnutí počátečního. Jednoduše řečeno aplikací 27

Bellmanova principu rozvíjíme pouze optimální strategie předchozích etap. Předpokladem uplatnitelnosti tohoto principu je tzv. markovská podmínka,, která říká, že stav v čase t n nezávisí na historii systému, ale pouze na předchozím rozhodnutí (optimální strategie q(q 1, q 2,, q n ) zajišťující maximální výnos závisí pouze na počátečním stavu systému (p 1 ) a posloupnosti rozhodnutí z jednotlivých etap (viz rovnice 4)). Na základě Bellmanova principu optimality lze Rovnici 3 upravit do tvaru Rovnice 5 a dále odvodit funkcionální rovnici dynamického programování n-etapového diskrétního deterministického procesu s aditivní účelovou funkcí (Rovnice 6) s podmínkou pro první etapu procesu (Rovnice 7). F(p 1, q 1, q 2,, q n 1 ) (4) n f n (p 1 ) = g 1 (p 1 ; q 1 ) + g i (p i ; q i ) = g 1 (p 1 ; q 1 ) + f n 1 (p 2 ) i=2 = g 1 (p 1 ; q 1 ) + f n 1 (T(p 1 ; q 1 )) (5), kde funkce f n udává maximum funkce F po n etapách. Cílem je tedy najít optimální strategii q, tj. takovou, při které je maximalizován výnos po všech etapách (Rovnice 6 a 7). f n (p 1 ) = max q (g 1 (p 1 ; q 1 ) + f n 1 (T(p 1 ; q 1 ))) (6) f 1 (p 1 ) = max q (g 1 (p 1 ; q 1 )) (7) Nyní si ukážeme aplikace uvedených principů a rovnic na třech typech úloh budeme řešit optimální alokaci omezených zdrojů, optimální nakládku a obnovu zařízení. 2.3 OPTIMÁLNÍ ALOKACE OMEZENÝCH ZDROJŮ Mějme k dispozici ekonomický zdroj. Tím mohou být finanční prostředky, lidé nebo jiné využitelné zdroje. Cílem úloh je rozdělit tyto zdroje do různých procesů např. investovat peníze do různých aktiv, přidělovat lidské zdroje k projektům, alokovat suroviny do výrobních procesů apod. Vzhledem k tomu, že zdroj máme k dispozici pouze v omezeném množství, chceme jej rozdělit tak, aby došlo k maximálnímu ekonomickému efektu (výnosu). Důležitou podmínkou je, aby tento ekonomický efekt byl měřitelný. Dále musí platit, že výnos jednoho procesu není nijak ovlivněn rozdělením zdrojů pro ostatní procesy. Úlohu si demonstrujme na následujícím jednoduchém příkladu. Řešený příklad Pan Novák si ze svého skromného platu dokázal ušetřit 60 000 Kč. Jelikož přemýšlí ekonomicky, ví, že pokud si nechá peníze doma, postupně o ně vlivem inflace přijde a dá-li je na běžný nebo spořicí účet do banky, úroky mu rovněž inflaci nepokryjí. Rozhodne se tedy peníze investovat do komodit. Jeho kamarád, který už má s investicemi letité zkušenosti mu poradí, ať se rozhodne pro jednu z následujících komodit zlato, ropu nebo pšenici. Kolik peněz by měl pan Novák investovat do těchto komodit, pokud platí omezení, že investovat lze pouze částku v celých desetitisících a pokud chce maximalizovat své výnosy? 28

Výnosy z investic kamarád pana Nováka po jednom roce odhadl následovně: Velikost investice/výnosy zlato ropa pšenice [10 000Kč] [100Kč] 0 0 0 0 1 2 3 4 2 5 6 8 3 9 8 10 4 14 13 12 5 17 16 16 6 19 21 20 Než začneme příklad řešit, interpretujeme základní charakteristiky pro tuto úlohu: Etapa v tomto případě není investiční proces vymezen časově. Etapa tedy bude určena věcně, a sice jako investice do určité komodity. Jelikož máme 3 komodity, do kterých můžeme investovat, úloha bude rozčleněna do 3 etap. Stav je určen množstvím proinvestovaných peněz po již realizovaných etapách. Rozhodnutí investovaná částka v dané etapě (do dané komodity). Výnos výnos v každé etapě je dán investovanou částkou v této etapě. Celkový výnos z investování je součtem výnosů ze všech etap. Optimální strategie taková posloupnost rozhodnutí o investicích, při které je maximalizován celkový výnos. Pro každou (i-tou) etapu sestrojíme tabulku, ve které budou v záhlavích řádků množství proinvestovaných peněz po i etapách a v záhlaví sloupců počet investovaných jednotek v i-té etapě (x i (x)). Ze vzniklé soustavy tabulek lze pak velmi snadno vyčíst optimální řešení. Etapa 1: V první etapě není známo, jakou částku budeme investovat do zlata, optimální výnos je tedy dán pro každou výši investice výnosovou funkcí f 1 (x) = g 1 (x 1 ). x f 1 (x) x 1 (x) 0 0 0 1 2 1 2 5 2 3 9 3 4 14 4 5 17 5 6 19 6 29

Etapa 2: Ve druhé etapě již musíme počítat s variantou, že jsme v té první již něco proinvestovali. Výnosy po dvou etapách budou součtem výnosů z první a druhé etapy. g 2 (x 2 )+ f 1 (x x 2 ) x/x 2 0 1 2 3 4 5 6 f 2 (x) x 2 (x) 0 0 0 0 1 2 3 3 1 2 5 5 6 6 2 3 9 8 8 8 9 0 4 14 12 11 10 13 14 0 5 17 17 15 13 15 16 17 0,1 6 19 22 20 17 18 18 21 22 1 Vidíte, že v případě, že ve druhé etapě neproinvestujete nic (nebudete investovat do ropy), zůstává výnos po dvou etapách shodný, jako tomu bylo po první etapě. Opačná situace nastane, pokud v první etapě nebudete investovat tomu odpovídají hodnoty na diagonále matice v tabulce (když x=x 2 ). Jelikož chceme dosáhnout co nejvyššího zisku, vybereme takovou investici do ropy, při které je dohromady v součtu s první etapou dosaženo nejvyššího výnosu v každém řádku tedy vybereme maximální hodnotu a získáváme výnos po dvou etapách f 2 (x), který nastává při investici x 2 desítek tisíc korun do ropy. Etapa 3: g 3 (x 3 )+ f 2 (x x 3 ) x/x 3 0 1 2 3 4 5 6 f 3 (x) x 3 (x) 0 0 0 0 1 3 4 4 1 2 6 7 8 8 2 3 9 10 11 10 11 2 4 14 13 14 13 12 14 0,2 5 17 18 17 16 15 16 18 1 6 22 21 22 19 18 19 20 22 0,2 Poslední etapa zahrne do rozhodování poslední možnou komoditu pšenici. Tabulka se tvoří identicky jako v předchozích dvou etapách. První sloupec údajů v tabulce (x 3 =0) je shodný s hodnotami výnosové funkce f 2 (x) (viz tabulka v etapě 2). Jedná se o situaci, kdy všechny disponibilní finanční zdroje investujeme pouze do zlata a ropy (díky tomu, že do pšenice investovat nebudeme, dodatečný výnos z třetí etapy bude roven nule). Volbou maximální hodnoty výnosu pro všechna množství investovaných zdrojů získáváme opět hodnoty výnosové funkce, tentokráte po všech třech etapách (f 3 (x)). Vyhledání řešení: Zajímavostí úloh dynamického programování je skutečnost, že řešení úloh vyhledáváme rekurentním (zpětným) způsobem. Jestliže jsme tedy rozvíjeli etapy dopředně, řešení získáme naopak postupem od poslední etapy zpět k té počáteční (uvidíte, že u některých jiných úloh, např. při obnově zařízení, se naopak nejprve postupuje od poslední etapy a řešení se pak zjišťuje dopředně). Jestliže víme, že cílem celé úlohy je maximalizovat celkový výnos, který je dán součtem výnosů z jednotlivých etap, je zřejmé, že tuto hodnotu musíme hledat v tabulce poslední etapy, jako jednu z hodnot výnosové funkce f 3 (x), která udává maximální výnos po všech třech etapách. 30

Vzhledem k tomu, že výnosová funkce je ryze rostoucí (víme, že čím větší částku investujeme, tím větší výnos obdržíme), maximálního výnosu dosáhneme při všech proinvestovaných zdrojích - f 3 (6) = 22. To znamená, že největší možný výnos pana Nováka je 2 200 Kč a toho dosáhne tehdy, pokud investuje celých 60 000 Kč (výnos bude tedy necelých 3,7 %). Jediné co zbývá určit je, v jakém poměru musí být finance mezi komodity rozděleny. Z tabulky v etapě 3 vidíme, že maximálního zisku 2 200 Kč je dosaženo, pokud je hodnota x 3 (x)rovna 0 nebo 2, to znamená, pokud do pšenice nebudeme investovat vůbec, nebo do ní vložíme 20 000 Kč. Vzhledem k tomu, že jsou možné dvě varianty, bude mít úloha alternativní řešení. Nejprve se tedy podívejme na variantu, kdy do pšenice nebudeme investovat vůbec. Potom víme, že všech 6 jednotek zdrojů (60 000 Kč) musí být investováno dohromady v první a druhé etapě (do zlata a ropy). Najdeme si proto hodnotu výnosové funkce po druhé etapě f 2 (x) právě pro investici 6 jednotek, tedy f 2 (6). Hodnota výnosu musí být shodná s celkovým výnosem (tím, že neinvestujeme do pšenice, je hodnota výnosu ve třetí etapě rovna nule), tzn. 22. A tohoto výnosu je dosaženo tehdy, pokud investujeme 1 jednotku ve druhé etapě (do ropy). Jestliže víme, že do pšenice neinvestujeme vůbec a do ropy pouze 1 jednotku (10 000 Kč), zbývá na poslední komoditu (zlato) 50 000 Kč. Nyní si postup získávání řešení formalizujeme pomocí matematického zápisu. Výnos po 1 až n realizovaných etapách je vyjádřen pomocí rovnic 8 a 9, které jsou pouze aplikací funkcionálních rovnic dynamického programování n-etapového diskrétního deterministického procesu prezentovaných v úvodu kapitoly (Rovnice 6 a 7). Složení portfolia pak získáme následujícím postupem: f 1 (x) = g 1 (x 1 ) (8) f n (x) = g n (x n ) + f n 1 (x x n ) (9) f n (x) x n (x) x n 1 (x x n ) x n 2 (x x n x n 1 ) x 1 (x x n x n 1 x 2 ) Nyní ještě stejným postupem najdeme alternativní řešení. Říkali jsme, že zisku 2200 Kč lze dosáhnout nejen tehdy, pokud nebudeme do pšenice investovat vůbec, ale také tehdy, pokud do ní investujeme 2 jednotky zdrojů (20 000 Kč). x 3(6) = 2 x 2(6 2) = 0 x 1(6 2 0) = 4 Optimální strategie rozhodování o investicích pana Nováka jsou tedy 2. Při jedné z nich investuje 10 000 Kč do ropy a 50 000 Kč do zlata, ve druhé 20 000 Kč do pšenice a 40 000 Kč do zlata. V obou případech bude jeho výnos roven částce 2 200 Kč. 31

Výklad 2.4 PROBLÉM NAKLÁDKY Tento typ úlohy dostal mnoho různých názvů. V českém jazyce se kromě problému optimální nakládky hovoří také o problému batohu, v jazyce anglickém se pak setkáváme ještě s širším spektrem názvů, jako např. Knapsack problem, fly-away kit problem nebo Cargo-loading problem. Všechny tyto názvy označují úlohu, ve které máme dány kapacity přepravního prostředku a zboží, které máme do tohoto prostředku naložit. S nakládkou každého zboží je spojen efekt (výnos), který je cílem maximalizovat. Úlohu si opět demonstrujme na jednoduchém příkladu. Řešený příklad Pan Procházka se živí jako zásobovač horské chaty ve Vysokých Tatrách. Horská chata není dostupná pomocí žádného dopravního prostředku, musí se zde tedy zásoby dopravovat pěšky. Pan Procházka potřebné zboží přepravuje ve svém batohu o kapacitě 100 litrů. Úkolem je pomoci mu naložit batoh tak, aby dostal od majitele chaty za svou dřinu co nejvíce peněz. Údaje o zboží a příslušných výnosech jsou v následující tabulce: kombinaci. Zboží (i) Ostatní Potraviny Nápoje Objem jedné jednotky (v i ) 40l 20l 10l Výnos za jednotku (c i ) 500 Kč 300 Kč 100 kč Předpokládáme, že majitel chaty od nás odkoupí libovolné množství zboží v jakékoli takto: Kdybychom příklad řešili pomocí celočíselného lineárního programování, vypadal by model z = c 1 x 1 + c 2 x 2 + c 3 x 3 max (10) (, tedy z = 200x 1 + 300x 2 + 500x 3 max ) Za omezujících podmínek: v 1 x 1 + v 2 x 2 + v 3 x 3 C (11) (, tedy 10x 1 + 20x 2 + 40x 3 100) x 1,2,3 Z +, kde x i je množství naloženého i-tého zboží, C je kapacita batohu. Všechny proměnné musí být kladné a celočíselné. Nyní si ale ukážeme, jak problém řešit pomocí dynamického programování. Nejprve interpretujeme základní charakteristiky. 32

Etapa stejně jako v případě investic, ani zde není možné etapu možné definovat časově, ale pouze věcně. Konkrétně bude každá etapa určena naloženým množstvím jednoho druhu zboží. Úloha bude tedy rozdělena do tří etap. Stav je určen množstvím proinvestovaných peněz v již realizovaných etapách. Rozhodnutí naložený objem zboží po realizovaných etapách. Výnos je dán naloženým množstvím zboží. Optimální strategie taková posloupnost rozhodnutí o nakládce, při které je maximalizován celkový výnos. Ve všech prezentovaných tabulkách je objem uveden v desítkách litrů a zisk ve stovkách korun. Proměnná x udává již zaplněnou kapacitu batohu. f n (x) udává výnos po n etapách a x n (x) počet naložených jednotek n-tého zboží. Etapa 1: x f 1 (x) x 1 (x) 0 0 0 1 0 0 2 0 0 3 0 0 4 5 1 5 5 1 6 5 1 7 5 1 8 10 2 9 10 2 10 10 2 Vzhledem k tomu, že kapacita batohu je 100 litrů a jednotka zboží označeného jako ostatní zabere v batohu 40 litrů, můžeme naložit nejvýše 2 jednotky tohoto typu zboží. Etapa 2: Každá jednotka druhého zboží (potravin) zabere v batohu 20 litrů. V případě, že do batohu nedáme žádné potraviny, je výnos po dvou etapách roven výnosu z etapy první (proto se hodnoty ve sloupci, kde x 2 =0 shodují s hodnotami výnosové funkce f 1 (x) z první etapy). Pokud ale nějaké množství potravin naložíme, je nutné sečíst jejich výnos (ze zadávací tabulky) c 2 x 2 a optimální výnos z první etapy f 1 (x v 2 x 2 ). 3x 2 + f 1 (x 2x 2 ) x/x 2 0 1 2 3 4 5 f 2 (x) x 2 (x) 0 0 0 0 1 0 0 0 2 0 3 3 1 3 0 3 3 1 4 5 3 6 6 2 5 5 3 6 6 2 6 5 8 6 9 9 3 7 5 8 6 9 9 3 8 10 8 11 9 12 12 4 9 10 8 11 9 12 12 4 10 10 13 11 14 12 14 14 3, 5 33

Etapa 3: Množství zboží naloženého po poslední třetí etapě vypočteme opět jako součet výnosu nakládky ve třetí etapě a optimálního výnosu z nakládky z předchozí etapy. x 3 + f 2 (x x 3 ) x/x 3 0 1 2 3 4 5 6 7 8 9 10 f 3 (x) x 3 (x) 0 0 0 0 1 0 1 1 1 2 3 1 2 3 0 3 3 4 2 3 4 1 4 6 4 5 3 4 6 0 5 6 7 5 6 4 5 7 1 6 9 7 8 6 7 5 6 9 0 7 9 10 8 9 7 8 6 7 10 1 8 11 10 11 9 10 8 9 7 8 11 0, 2 9 11 11 11 12 10 11 9 10 8 9 12 3 10 14 11 13 12 13 11 12 10 11 9 10 14 0 Vyhledání řešení: Stejně jako u úloh optimální alokace omezených zdrojů, budeme vyhledávat řešení zpětně od poslední etapy. Maximální celkový výnos, který může pan Procházka získat z jednoho naloženého batohu, bude roven maximálnímu výnosu po všech třech etapách (platí princip aditivity účelové funkce). Nejvyšší možný výnos po třetí etapě je 14 jednotek (1400 Kč) a toho lze dosáhnout tehdy, když je využita celá kapacita batohu (100 litrů) pokud maximalizujeme výnos jako v tomto případě, je zřejmé, že pokud je to možné, využijeme celou disponibilní kapacitu. Výnosu 1400 Kč je dosaženo, pokud do batohu nenaložíme žádné nápoje (x 3 (10)=0). Celá kapacita batohu se tedy musí zaplnit pouze prvním a druhým druhem zboží. To, kolik naložíme potravin (druhá etapa) zjistíme podle x 2 (x- v 3 x 3 ) = x 2 (10) = 3 nebo 5. Dostáváme shodnou hodnotu výnosu pro dvě různé varianty nakládky, úloha má tudíž alternativní řešení. Pokud naložíme do batohu 3 jednotky potravin, zaberou dohromady 3 20litrů a tudíž optimální množství naloženého zboží ostatní v etapě 1 je rovno x 1 (10-6)=2. Pokud vybereme druhou variantu, a sice naložíme-li 5 jednotek potravin, vyčerpáme 5 20litrů, tzn. celou kapacitu batohu a nápoje už tudíž nakládat nebudeme. Rovnice pro výpočet výnosu po první a n-té etapě lze pro úlohu nakládky vypadají následovně (opět se jedná o modifikované obecné funkcionální rovnice 6 a 7): f 1 (x) = c 1 x 1 (12) ( f n (x) = c n x n + f n 1 (x v n x n ) 12) (13) ( Složení portfolia pak získáme následujícím postupem: f n (x) x n (x) x n 1 (x v n x n ) x n 2 (x v n x n v n 1 x n 1 ) x 1 (x v n x n v n 1 x n 1 v 2 x 2 ) 13) 34

Maximální výnos, kterého může pan Procházka jednou cestou na horskou chatu s batohem o objemu 100 litrů dosáhnout, je 1 400 Kč. Tohoto výnosu může dosáhnout dvěma způsoby tím, že naloží do batohu 3 jednotky potravin a 2 jednotky nápojů, nebo tím, že naloží pouze 5 jednotek potravin. Výklad 2.5 OBNOVA ZAŘÍZENÍ Poslední typ úlohy, který si představíme v rámci této kapitoly, je obnova zařízení. S obnovou zařízení se můžete setkat nejen v dynamickém programování, ale zejména také v oblasti operačního výzkumu zvané teorie obnovy patřící do skupiny modelů hlavních subsystémů. Dynamického programování se zpravidla využívá tehdy, pokud je problém pro teorii obnovy příliš složitý. Na druhou stranu ne všechny problémy týkající se obnovy zařízení lze pomocí dynamického programování řešit. Teorie obnovy řeší problematiku náhrady zařízení podstatně komplexněji řeší se nejen KDY je vhodné stroj nahradit, ale také ČÍM nahradit (jestli strojem stejného nebo jiného typu), KOLIK strojů nahradit (jestli všechna stejná zařízení najednou, nebo zvlášť po jednom) a mnoho jiných úloh. V úlohách o obnově zařízení, které budeme řešit pomocí dynamického programování, nám jde o to najít správný okamžik, kdy nějaké zařízení (stroj) nahradit tak, aby bylo dosaženo co nejmenších ztrát. Snažíme se tedy určit, kdy bude tento stroj na konci své ekonomické životnosti. Přitom uvažujeme pouze postupné předvídatelné opotřebovávání, nikoli náhodná selhání. Aby bylo možné určit, zda je výhodnější zařízení ponechat, nebo vyměnit, musí být bráno do úvahy několik proměnných, které jsou vyjádřeny všechny ve stejných, zpravidla peněžních, jednotkách. Těmito proměnnými jsou pořizovací a zůstatková cena, provozní náklady (včetně údržby) a příjmy generované tímto strojem při jeho různém stáří. Pokud rozdíl výnosů a nákladů v případě ponechání stroje převyšuje rozdíl výnosů a nákladů v případě jeho výměny, volíme stroj ponechat, v opačném případě jej nahradíme novým. Cílem je co nejefektivněji volit termíny výměn daného zařízení a dosáhnout tak maximálního čistého výnosu. Úlohu si opět demonstrujme na jednoduchém příkladu. Řešený příklad Strojní podnik při svém provozu potřebuje průmyslovou strojní vrtačku. V současnosti podnik vlastní vrtačku 2 roky starou. Maximální fyzická doba životnosti jsou 4 roky. Pořizovací cena nového stroje je 100 000 Kč, ostatní potřebné údaje jsou obsaženy v následující tabulce: Stáří stroje (t), [roky] Příjmy generované strojem (r(t)), [Kč] Náklady na provoz (c(t)), [Kč] 0 25 000 500-1 23 000 800 85 000 2 21 000 1 100 75 000 3 20 000 1 500 35 000 4 19 000 2 000 10 000 Zůstatková hodnota (s(t)), [Kč] 35

Určete, kdy má firma strojní vrtačku vyměnit za novou. Rozhodnutí určete pro horizont následujících 5 let. Nejprve opět interpretujeme základní charakteristiky. Etapa na rozdíl od úloh alokace investic a optimální nakládky jsou etapy při obnově zařízení definovány časově. Každý rok, pro který rozhodujeme, zda je výhodnější zařízení vyměnit, či ponechat, tvoří jednu etapu. Jelikož máme určit rozhodovací strategii pro 5 následujících let, rozdělíme problém dohromady na 5 etap. Stav je dán stářím zařízení na začátku roku (etapy). Rozhodnutí v každém roce (etapě) musíme rozhodnout, zda stroj ponecháme, nebo vyměníme. Výnos je dán rozdílem strojem generovaných výnosů a nákladů. Tento rozdíl je cílem maximalizovat. Optimální strategie taková posloupnost rozhodnutí ponechat/vyměnit, která firmě přinese maximální výnos. Všechny peněžní částky v tabulkách jsou v tisících korun. I je pořizovací cena stroje. Funkce f i (t) udává maximální hodnoty čistého výnosu stroje pro (n i + 1) posledních let rozhodování, kde n je počet let, pro které rozhodujeme. Na rozdíl od předchozích dvou typů úloh se etapy procházejí zpětně (od posledního roku rozhodování k současnosti) a naopak optimální řešení se získá průchodem etapami v chronologickém pořadí. Proto také platí, že optimální hodnoty výnosové funkce f i (t) se zvyšují s klesajícím i, tedy čím se blížíme počátku rozhodování (stále musí platit princip aditivity výnosové funkce). Je velmi výhodné, pokud je to z hlediska rozsahu modelu možné, vytvořit si schéma přípustných rozhodnutí pro všechny etapy (viz obrázek 1). Toto schéma nám může ušetřit si mnoho výpočtů, navíc je pak problém přehlednější. Např. je zbytečné ve druhé etapě počítat potenciální výnos 2 a 4 let starého stroje, vzhledem k tomu, že ve druhém roce tato situace vůbec nemůže nastat atp. Obr. 1: Schéma přípustných rozhodnutí v jednotlivých etapách 36

Etapa 5: t PONECHAT VYMĚNIT OPTIMÁLNÍ ROZHODNUTÍ r(t) + s(t + 1) c(t) r(0) + s(t) + s(1) c(0) I f 5 (t) Rozhodnutí 1 23 + 75 0,8 = 97,2 25 + 85 + 85 0,5 100 = 94,5 97,2 Ponechat 2 21 + 35 1,1 = 54,9 25 + 75 + 85 0,5 100 = 84,5 84,5 Vyměnit 3 20 + 10 1,5 = 28,5 25 + 35 + 85 0,5 100 = 74,5 44,5 Vyměnit 4 MUSÍ SE VYMĚNIT 25 + 10 + 85 0,5 100 = 48 29,5 Vyměnit Dle obrázku 1 mohou v páté etapě (pátém roce) nastat všechny 4 možnosti, pokud jde o stáří strojní vrtačky proto musíme do tabulky počítat hodnoty pro t= 1, 2, 3, 4. Pro všechny varianty stáří zařízení vypočteme výnosy v případě, že stroj ponecháme ( příjmy generované strojem v současném roce + zůstatková cena v příštím roce udržovací náklady v tomto roce ), a když jej vyměníme ( příjmy generované novým strojem + současná zůstatková cena, za kterou stroj prodáme + zůstatková cena stroje po roce užívání udržovací náklady na nový stroj pořizovací cena nového stroje). Zvolíme strategii s vyšším výnosem a získáváme optimum výnosové funkce pro pátou etapu f 5 (t), která udává nejvyšší možný čistý výnos stroje za poslední rok rozhodování. Výnos strategie ponechat není nutné pro 4 roky starý stroj počítat, jelikož ze zadání víme, že stroj ve firmě více než 4 roky být nesmí. Matematický zápis volby rozhodnutí v n-té (poslední) etapě vypadá takto: Etapa 4: t PONECHAT VYMĚNIT OPTIMÁLNÍ ROZHODNUTÍ 37

r(t) c(t) + f 5 (t + 1) r(0) + s(t) c(0) I + f 5 (1) f 4 (t) Rozhodnutí 1 23 0,8 + 84,5 = 106,7 25 + 85 0,5 100 + 97,2 = 106,7 106,7 P/V 2 21 1,1 + 44,5 = 64,4 25 + 75 0,5 100 + 97,2 = 96,7 96,7 Vyměnit 3 20 1,5 + 29,5 = 48 25 + 35 0,5 100 + 97,2 = 56,7 56,7 Vyměnit Hodnoty výnosů ve všech zbývajících etapách se vypočítají obdobně jako v poslední, s tím rozdílem, že pro strategii ponechat se místo zůstatkové ceny v následujícím roce přičte optimální výnos stroje v následujícím roce (f 5 (t + 1)) a pro strategii vyměnit se k výnosu přičítá výnos rok starého stroje v následujícím roce f 5 (1) místo zůstatkové ceny rok starého stroje. Pro rok starý stroj ve 4 roce platí, že výnosy obou strategií nesou stejný výnos (106 700 Kč), v tomto případě je z hlediska výnosu jedno, která z obou variant bude zvolena. Matematický zápis volby rozhodnutí v každé etapě vyjma té poslední vypadá takto:, pro i =1, 2,, n-1. Etapa 3: t PONECHAT VYMĚNIT OPTIMÁLNÍ ROZHODNUTÍ r(t) c(t) + f 4 (t + 1) r(0) + s(t) c(0) I + f 4 (1) f 3 (t) Rozhodnutí 1 23 0,8 + 96,7 = 118,9 25 + 85 0,5 100 + 106,7 = 106,7 118,9 Ponechat 2 21 1,1 + 56,7 = 76,6 25 + 75 0,5 100 + 106,7 = 96,7 96,7 Vyměnit 4 MUSÍ SE VYMĚNIT 25 + 10 0,5 100 + 106,7 = 41,2 41,2 Vyměnit Etapa 2: t PONECHAT VYMĚNIT OPTIMÁLNÍ ROZHODNUTÍ r(t) c(t) + f 3 (t + 1) r(0) + s(t) c(0) I + f 3 (1) f 2 (t) Rozhodnutí 1 23 0,8 + 96,7 = 118,9 25 + 85 0,5 100 + 118,9= 128,4 128,4 Ponechat 3 21 1,5 + 41,2 = 60,7 25 + 35 0,5 100 + 118,9= 78,4 78,4 Vyměnit Etapa 1: PONECHAT VYMĚNIT OPTIMÁLNÍ ROZHODNUTÍ t r(t) c(t) + f 2 (t + 1) r(0) + s(t) c(0) I + f 2 (1) f 1 (t) Rozhodnutí 2 23 1,1 + 78,4 = 100,3 25 + 85 0,5 100 + 128,4 = 137,9 137,9 Vyměnit Vyhledání řešení: Jak již bylo výše řečeno, vyhledání řešení probíhá dopředně tedy od první etapy. V první etapě je optimální stroj vyměnit, takže na začátku druhé etapy bude tento stroj jeden rok starý. Jeden rok starý stroj je ve druhém roce optimální ponechat, budeme tudíž na začátku třetího roku disponovat 2 roky starým strojem. Tímto způsobem projdeme všemi etapami a pro každou zvolíme vhodnou strategii. Ve čtvrté etapě máme jeden rok staré zařízení, pro které obě strategie přinesou totožný výnos. Úloha proto bude mít alternativní optimální řešení. Postup získání optimální strategie z tabulek jednotlivých etap zachycuje následující schéma: Etapa 5: t OPTIMÁLNÍ ROZHODNUTÍ f 5 (t) Rozhodnutí 1 97,2 Ponechat 2 84,5 Vyměnit 3 44,5 Vyměnit 4 29,5 Vyměnit 38

Etapa 4: t OPTIMÁLNÍ ROZHODNUTÍ f 4 (t) Rozhodnutí 1 106,7 P/V 2 96,7 Vyměnit 3 56,7 Vyměnit Etapa 3: t OPTIMÁLNÍ ROZHODNUTÍ f 3 (t) Rozhodnutí 1 118,9 Ponechat 2 96,7 Vyměnit 4 41,2 Vyměnit Etapa 2: t OPTIMÁLNÍ ROZHODNUTÍ f 2 (t) Rozhodnutí 1 128,4 Ponechat 3 78,4 Vyměnit Etapa 1: OPTIMÁLNÍ ROZHODNUTÍ t f 1 (t) Rozhodnutí 2 137,9 Vyměnit Schematicky lze obě alternativní rozhodovací strategie zachytit také takto: R R R R R P Výnos na období, pro které jsme určili optimální strategii, bude dán hodnotou výnosové funkce v první etapě f 1 (t) pro t určené stářím investice na počátku prvního roku rozhodování v našem případě f 1 (2) = 137,9. Maximální čistý výnos strojní vrtačky pro příštích 5 let je 137 900 Kč a je jej dosaženo, pokud se v průběhu těchto 5 let stroj třikrát vymění za nový buď na začátku roku 1, 3 a 4, nebo na počátku let 1, 3 a 5. Výklad 2.6 ZÁVĚREM K METODÁM DYNAMICKÉHO PROGRAMOVÁNÍ Výše prezentované příklady využití dynamického programování nejsou zdaleka jedinými, se kterými se lze setkat. Potenciální zájemci mají možnost si své obzory rozšířit dále pomocí literatury, 39

z níž některá je uvedena na samém konci této kapitoly. Pokud jste pochopili metodiku řešení, nebude pro vás problém řešit také jiné problémy vždy je pouze nutné dokázat nadefinovat základní pojmy potřebné pro řešení tak, jako to bylo prezentováno ve třech rozebíraných úlohách. Při praktickém využití, vzhledem k častému velkému rozsahu úloh, se nelze obejít bez specializovaného aplikačního softwaru. Těch je na trhu celá řada, některé z nich jsou dokonce volně šiřitelné. Mezi mnohými lze jmenovat alespoň tyto: Mystik, DynProg, QSB, ORToolkit, nebo zásuvný modul k tabulkovému procesoru MS Excel Operations Research add-ins. Shrnutí pojmů Dynamické programování, etapa, stav, stavový vektor, výnos, optimální strategie, Bellmanův princip optimality, markovská podmínka, princip aktivity účelové funkce, optimální nakládka, obnova zařízení, optimální alokace zdrojů. Otázky 1. V jakém případě je vhodné (nutné) využít dynamického programování pro zjištění optimálního řešení problému? 2. V čem je výhoda dynamického programování oproti lineárnímu (případně celočíselnému) programování? 3. Jaké jsou nevýhody optimalizace pomocí dynamického programování? 4. K čemu slouží etapizace problému a jak mohou být etapy definovány? 5. Co v úlohách dynamického programování zajišťuje Bellmanův princip optimality? 6. Na čem je/není závislé rozhodnutí v i-té etapě? 7. Jakým směrem (a u jakých úloh) probíhá řešení úloh a v jakém směru je pak nalezeno optimální řešení? 8. V jaké fázi optimalizace se využívá princip aditivity účelové funkce? Použitá literatura [1] HILLIER, S. Frederick, LIEBERMAN, J. Gerald. Introduction to Mathematical Programming. Cengage Learning, 2002. 934 p. ISBN: 978-0534359645. [2] HILLIER, S. Frederick; LIBERMAN, J. Gerald. Introduction to Operations Research. McGraw-Hill Science/Engineering/Math, 2009. 1088 p. ISBN: 978-0077298340. [3] MIKESKA, J. et al. Operační výzkum (analýza). VŠB-TU Ostrava, 1985. 221 s. [4] TAHA, A. Hamdy. Operations Research: An Introduction. Pearson, 2010. 832 p. ISBN: 978-0132555937. 40

41

3 SEKVENČNÍ MODELY Čas ke studiu: 3 hodin Cíl Po prostudování této kapitoly budete umět: definovat a rozpoznat sekvenční úlohu, určit způsob řešení daných úloh podle zvolených algoritmů, aplikovat algoritmy řešení na konkrétní příklady sekvenčních úloh s cílem nalezením optimálního pořadí a jeho celkového času zpracování. Výklad Ve výrobní praxi se často vyskytuje problém, jak najít takové pořadí zpracování výrobků, které se zpracovávají podobným způsobem na tom samém stroji, aby čas zpracování všech výrobků na všech strojích byl minimální (minimalizují se prostoje strojů). Takové a podobné optimalizační úlohy nazýváme sekvenčními úlohami a na jejich řešení můžeme použít sekvenční modely. Výsledkem řešení je optimalizované pořadí daných výrobků. 3.1 CHARAKTERISTIKA SEKVENČNÍ ÚLOHY Řešení těchto problémů je velmi složité, protože zpravidla jde o hledaní permutací prvků, přičemž počet permutací roste velmi rychle s přibývajícím počtem prvků. Může jít o následující zjištění následujících pořadí: zpracování výrobků, výstavba objektů, jakým způsobem máme postupovat při vyhledávaní poruchy ve složitém systému. Všeobecně uvažujeme: i = 1, 2,, n výrobků, j = 1, 2,, m strojů (výrobních stupňů nebo zařízení), t ij = operační čas výrobku i na j-tém stroji, r kj = časový interval prostoj j-tého stroje mezi k-tým a k+1 výrobkem v pořadí, 42

T = celkový čas zpracování všech výrobků na všech strojích. 3.2 JOHNSONŮV MODEL Začneme jednoduchým příkladem, kde je třeba určit optimální pořadí zpracování n výrobků na dvou strojích za těchto předpokladů: Pokud se určitý výrobek zpracovává jako první na prvním stroji, musí se zpracovávat první i na druhém stroji; výrobek, který se zpracovává druhý na prvním stroji se musí také zpracovávat druhý na druhém stroji atd. Výrobek může být zpracováván na dalším stroji až tehdy, kdy je dokončeno jeho zpracování na předcházejícím stroji. V libovolném časovém okamžiku se může zpracovávat pouze jeden výrobek na jednom stroji. Pro každý výrobek je stanoveno pořadí zpracování na jednotlivých strojích a pro všechny výrobky je toto pořadí totožné, jde to tzv. vázaný technologický sled. Pracovní proces zpracování jednotlivých výrobků nemůže být přerušen zavedením jiného výrobku. Každý výrobek se může zpracovávat v libovolném časovém okamžiku pouze na jednom stroji. Známe operační časy zpracování jednotlivých výrobků na každém stroji. Existuje pouze jeden výrobek (stroj) každého druhu. Uvažujeme: j = 2 stroje, i = n výrobků. Úkolem je najít takové pořadí (i 1, i 2,, i n ), kde (i 1, i 2,, i n ) je pořadí 1 až n, pro které bude funkce T nabývat minimálních hodnot. Existuje n! možných pořadí. Zjišťují se pouze optimální řešení, tj. takové, při kterých celkový čas zpracování všech výrobků na dvou strojích bude minimální. Účelovou funkcí je T = min hodnotu T můžeme pro dva stroje vyjádřit následovně: První suma na pravé straně je pevně určená nezávisí na pořadí výrobků. Změna pořadí se můžeme minimalizovat druhou sumou, která představuje prostoje druhého stroje. Minimální hodnotu T získáme minimalizací prostojů druhého stroje podle následujících Johnsonových pravidel: 1. Vybereme nejmenší zpracování čas t ij bez ohledu na výrobky a stroje. 2. Pokud se tento zpracovací čas nachází u prvního stroje, zařadíme tento výrobek na nejbližší volné místo na začátku pořadí (dále ho už nebereme v úvahu). 3. Pokud se tento zpracovací čas nachází u druhého stroje, zařadíme tento výrobek na nejbližší volné místo na konci pořadí (dále ho už nebereme v úvahu). 4. Opakujeme postup podle bodů 1 3, dokud nebudou všechny výrobky zařazeny v pořadí. 43

5. Pokud mají dva nebo více strojů stejné zpracovací časy u toho samého stroje, pak existuje více optimálních pořadí, protože si můžeme libovolně zvolit pořadí výrobků. 6. Pokud mají výrobky stejné zpracovací časy u dvou rozdílných strojů, pak z hlediska zařazení je důležitý zpracovací čas u prvního stroje a zařazujeme ho na odpovídající místo v pořadí. Řešený příklad Sestavte optimální pořadí zpracování pěti výrobků na dvou strojích. Zpracovací časy výrobků (v hod.) jsou uvedeny v tabulce: Výrobek A B C D E Stroj První stroj 2 5 3 7 3 Druhý stroj 6 4 1 5 4 Řešení: Na zjištění optimálního pořadí použijeme Johnsonova pravidla. Nejmenší zpracovací čas je 1 u druhého stroje a přísluší výrobku C. Výrobek C zařadíme na poslední místo v pořadí. Další nejmenší hodnota je 2 u prvního stroje a odpovídá ji výrobek A, který zařadíme na první místo v pořadí. Další nejmenší čas je 3 u prvního stroje a výrobku E. Výrobek E zařadíme na nejbližší volné místo na začátku pořadí, tzn. za výrobek A. Další nejmenší čas je 4 u druhého stroje a výrobku B. Tento výrobek zařadíme na nejbližší volné místo na konci pořadí. Jako poslední nám zbývá zařadit výrobek D. Všechny výrobky máme zařazené v pořadí. Optimální pořadí: A E D B C Získaný zpracovací čas optimálního pořadí T min = 22 hodin. 3.3 JOHNSONŮV MODEL PRO TŘI STROJE Johnsonová pravidla je možno zevšeobecnit a použít i v případě třech strojů a n výrobků. Musí však být splněna alespoň jedna ze dvou následujících nerovnosti (nebo mohou platit obě nerovnosti zároveň): max t i2 min t i1 největší zpracovací čas u druhého stroje nesmí být větší než minimální zpracovací čas u prvního stroje, max t i2 min t i3 největší zpracovací čas u druhého stroje nesmí být větší než minimální zpracovací čas u třetího stroje. Pokud je splněna alespoň jedna z uvedených nerovnosti, můžeme aplikovat Johnsonova pravidla i na tři stroje a najít optimální pořadí zpracování výrobků. Abychom mohli tato pravidla použít musíme nejdříve zredukovat počet strojů na dva fiktivní stroje. Uděláme to tak, že sečteme zpracovací časy (t i1 + t i2 ) a (t i2 + t i3 ) pro všechny výrobky. Takto upravenou úlohu řešíme Johnsonovým modelem jako úlohu dvojstupňovou. Získané pořadí zpracování výrobků tímto postupem minimalizuje účelovou funkci T, ale nezaručuje, že druhý a třetí stroj nebudou mít prostoje během výrobního procesu. 44

Řešený příklad Na základě zpracovacích časů u jednotlivých výrobků najděte optimální pořadí zpracování všech výrobků na třech strojích: Výrobek A B C D E F Stroj První stroj 3 5 1 8 4 9 Druhý stroj 7 4 5 6 2 1 Třetí stroj 9 8 12 10 11 13 Z tabulky vyplývá: Ověření podmínky možnosti řešení Johnsonovou metodou: {max t i2 = 1} {min t i1 = 7} není splněna {max t i3 = 8} {min t i1 = 7} splněna můžeme použít Johnsonova pravidla Nejprve převedeme úlohu na dva fiktivní stroje. Výrobek A B C D E F Fiktivní stroj t i1 + t i2 10 9 6 14 6 10 t i2 + t i3 16 12 17 16 13 14 Aplikovali jsme Johnsonova pravidla a získáme následující čtyři optimální pořadí: 1. E C B A F D 2. C E B A F D 3. E C B F A D 4. C E B F A D Získaný zpracovací čas optimálního pořadí T min = 69 hodin. 3.4 JOHNSONŮV MODEL PRO M STROJŮ A N VÝROBKŮ PRÜCKNEROVA METODA Johnsonova pravidla můžeme použít na určení optimálního pořadí zpracování výrobků i u většího počtu strojů než tři, ale v tom případě pravidla ztrácejí charakter přesné metody a nezaručují nalezení optimální pořadí zpracování strojů. Postup použití je následující: 1. Vypočteme celkovou dobu zpracování všech výrobků na každém stroji: j = 1, 2, 3, n 45

2. Tyto časy použijeme na vytvoření subsouboru A a B: n a = b 3. Vypočteme dobu zpracování (průchodu) každého výrobku souboru strojů A i a souboru strojů B i. Nejedná se o sumu zpracovacích časů na jednotlivých strojích, ale o vážený aritmetický součet, kde vahami jsou pořadí strojů: 4. Použijeme Johnsonova pravidla pro stanovení optimálního pořadí zpracování jednotlivých výrobků ve frontě. 5. Vypočteme celkovou dobu zpracování optimálního pořadí výrobků a celkovou dobu zpracování obráceného optimálního pořadí výrobků. 6. Provedeme test optimality porovnáme časy získaného optimálního pořadí s časy obráceného optimálního pořadí následujícím způsobem: T optimální pořadí 0,9*T obrácené optimální pořadí V tomto případě mluvíme o optimálním přijatelném řešení T optimální pořadí 0,75*T obrácené optimální pořadí V tomto případě mluvíme o téměř optimálním řešení. 46

Řešený příklad Určete optimální pořadí zpracování pěti výrobků na pěti strojích. Výrobek A B C D E Stroj První stroj 5 8 4 9 7 Druhý stroj 2 5 1 8 6 Třetí stroj 1 4 6 2 1 Čtvrtý stroj 3 2 2 4 5 Pátý stroj 4 7 8 1 6 1. Zjistíme celkovou dobu zpracování výrobků na jednotlivých strojích: Stroje První Druhý Třetí Čtvrtý Pátý Cel. doba stroj stroj stroj stroj stroj Tj 33 22 14 16 26 2. Získané časy použijeme na vytvoření subsouboru A a B: a = 2 b = 3, n = a + b 3. Doba zpracování výrobků na každém stroji zvláště pro subsoubor A a B: A1 = 2*5 + 1*2 = 12 A2 = 2*8 + 1*5 = 21 A3 = 2*4 + 1*1 = 9 A4 = 2*9 + 1*8 = 26 A5 = 2*7 + 1*6 = 20 47

B1 = 3*4 + 2*3 + 1*1 = 19 B2 = 3*7 + 2*2 + 1*4 = 29 B3 = 3*8 + 2*2 + 1*6 = 34 B4 = 3*1 + 2*4 + 1*2 = 13 B5 = 3*6 + 2*5 + 1*1 = 29 4. Nalezení optimálního pořadí zpracování všech výrobků pomocí Johnsonových pravidel: Sumy zpracovacích časů za jednotlivé výrobky a subsoubory jsou v následující tabulce. Výrobek A B C D E Subsoub. Ai (hod.) 12 21 9 26 20 Bi (hod.) 19 29 34 13 29 Optim. poř. 2 4 1 5 3 Nalezené optimální pořadí zpracování všech výrobků na všech strojích: C A E B D 5. Zjištění celkové doby zpracování optimálního pořadí a celkové doby zpracování obráceného optimálního pořadí: Určení T optimálního pořadí C A E B D První stroj 4 9 16 24 33 Druhý stroj 5 11 22 29 41 Třetí stroj 11 13 23 33 43 Čtvrtý stroj 13 16 28 35 47 Pátý stroj 21 25 34 42 48 Získaný zpracovací čas optimálního pořadí T optimálního pořadí = 48 hodin. Určení T optimálního obráceného pořadí D B E A C První stroj 9 17 24 29 33 Druhý stroj 17 22 30 32 34 Třetí stroj 19 26 31 33 40 Čtvrtý stroj 23 28 36 39 42 Pátý stroj 24 35 42 46 54 Získaný zpracovací čas obráceného optimálního pořadí T obrácené optimální pořadí = 54 hodin. 6. Test optimality: T T optimál. pořořa obrácoptimál.. pořořa 48 0,89 54 48

Jedná se o přijatelné řešení, protože získaná hodnota se pohybuje v rozmezí 0,75 0,9. Shrnutí pojmů Sekvenční modely, Johnsonova pravidla pro dva stroje, Johnsonova pravidla pro tři stroje, Prücknerova metoda, prostoj, optimální pořadí, obrácené optimální pořadí, čas optimálního pořadí, čas obráceného optimálního pořadí, test optimality. Otázky 1. Co je cílem sekvenčních úloh? 2. Kde najdou uplatnění sekvenční úlohy? 3. Jaké algoritmy využíváme pro řešení sekvenčních úloh? 4. Jaké jsou hlavní rozdíly v jednotlivých algoritmech používaných pro řešení sekvenčních úloh? 5. Co vyjadřuje prostoj? 6. Jak určíme optimální pořadí u sekvenčních úloh? 7. Může existovat více optimálních pořadí? V jakých případech mohou nastat. 8. Jaký je rozdíl mezi optimálním pořadí a obráceným optimálním pořadí? 9. Co představuje test optimality? Použitá literatura [1] SÁKAL P., JERZ V. Operačná analýza v praxi manažéra. Trnava: SP SYNERGIA, 2003. 49

4 MARKOVOVA ANALÝZA Čas ke studiu: 5 hodin Cíl Po prostudování této kapitoly budete umět: definovat východiska a logiku aplikace Markovovy analýzy, určit potřebné vstupní a možné výstupní informace Markovovy analýzy, aplikovat analýzu pozitivně regulárních a absorpčních Markovových řetězců, vymezit systémy a procesy průmyslových podniků a manažerské aplikace vhodné pro Markovovu analýzu. Výklad Jedním z nástrojů, které mohou být využity při řízení zřetězených procesů, je Markovova analýza. Jde o jednu z mála metod, která poměrně jednoduchým způsobem umožňuje zkoumat stochastické procesy a jevy. Je univerzálním nástrojem, který nabízí široké uplatnění od výroby přes dopravu, distribuci až po vzdělávání, ekologii a reklamu. 4.1 VÝCHODISKA PRO POUŽITÍ MARKOVOVY ANALÝZY Chceme-li provádět optimalizaci procesů výrobního podniku, prakticky vždy zjišťujeme, že jde o procesy dynamického charakteru, probíhající za náhodných (stochastických) podmínek. Jinými slovy, setkáváme se se systémy, které se z určitých podmínek = stavů v běžném období pohybují k jednomu z možných stavů v obdobích příštích, přičemž pohyb systému je v neurčitém prostředí. Jednou z mála procedur, která může při řešení problémů zmíněného charakteru pomoci, je Markovova analýza. Stručně ji lze vymezit jako popisný nástroj navržený k předpovídání chování systémů v čase. Základním předpokladem použití Markovovy analýzy je možnost definovat systém jako tzv. Markovův řetězec. Tento předpoklad bude splněn za následujících podmínek: a) Dva nebo více možných stavů nastává periodicky na konci dobře definovaných, zpravidla pevných období (předpoklad diskrétnosti v čase a stavech). b) Stav systému v kterémkoliv období závisí na bezprostředně předcházejícím stavu (předpoklad jednoduché vazby). Na straně jedné tedy, na rozdíl od problémů klasické teorie pravděpodobnosti (např. hody kostkou), předpokládáme závislost na předcházejících stavech. 50

Na straně druhé jde však pouze o závislost na bezprostředně předcházejícím stavu a nikoli na stavech před tímto stavem. c) Závislost mezi bezprostředně následujícími stavy lze vyjádřit tzv. maticí přechodu P. Prvky matice tvoří podmíněné pravděpodobnosti přechodu p ij, tj. pravděpodobnosti toho, že systém přejde ze stavu i v jednom období do stavu j v následujícím období. d) Matice přechodu jsou ve všech obdobích stále stejné. Hovoříme o tzv. homogenních Markovových řetězcích. Jednotlivé stavy vyjadřujeme zpravidla formou absolutních pravděpodobností výskytu stavu v k -tém období q i (k), pro něž z elementární definice teorie pravděpodobnosti platí: n i1 q ( k) 1 i 0 ( k) 1 q i tvaru: kde i 1, 2,, n, n počet stavů. V dalším textu bude užíváno vektorové vyjádření ve q ( k) ( q ( k), q2( k),, q ( 1 n k )) Matice přechodu je maticí čtvercovou, kterou lze zapsat následujícím způsobem: p P pn 11 1 p p 1n nn Pro jednotlivé podmíněné pravděpodobnosti přechodu bude zřejmě platit: n i1 p ij 1 0 p 1 ij kde i, j 1, 2,, n Markovovy řetězce lze podle typů stavů, které se v nich vyskytují, rozdělit na pozitivně regulární řetězce a řetězce absorpční. Pozitivně regulární řetězec je charakteristický tzv. rekurentními stavy, tj. stavy, které se mají stále možnost vyskytnout a tedy se budou donekonečna střídat. Naproti tomu absorpční řetězce obsahují tzv. absorpční (pohlcující) stavy, které, jestliže se v nich systém vyskytne, již nedovolují přechod do stavu jiného. Je tedy zřejmé, že zbylé stavy se budou vyskytovat s pravděpodobností stále menší, budou postupně přecházet do stavů absorpčních. V literatuře jsou označovány jako stavy transientní (přechodné). Ilustrativní příklad Pro lepší osvětlení používaných pojmů a nutných předpokladů použití Markovovy analýzy je vhodné teoretická východiska doplnit o triviální ukázku systému, který lze modelovat jako Markovův 51

řetězec. V literatuře (např. [1], [2], [3], [4]) je k tomuto účelu velmi často používána následující situace: Zkoumaným systémem bude určité zařízení, které se v běžném období předpokládejme směnu může vyskytovat ve stavu provozu nebo opravy. Ověření nutných předpokladů: ad a) Lze vymezit dva stavy: stav provoz a stav oprava. Periodickým pevným obdobím je pracovní směna. Aby byl splněn předpoklad výskytu stavu na konci období (prakticky může nastat změna stavu v kterémkoli okamžiku směny), musí být stav určován vždy až po ukončení příslušné směny. ad b) Intuitivně lze předpokládat, že pokud bylo zařízení v předcházející směně v opravě, bude s větší pravděpodobností v následující směně v provozu než opět v opravě. Tato úvaha zjevně indikuje vazbu mezi po sobě bezprostředně následujícími stavy. ad c) Podmíněné pravděpodobnosti přechodu se nejčastěji stanovují z empiricky zjištěných historických dat. Jde o statistické odhady pozorovaných veličin (výběrové průměry, výběrové relativní četnosti apod.). V jiných případech lze použít subjektivní odhady a mínění osob znalých zkoumaného systému. Pro systém se stavy provoz (1) a oprava (2) je nutné stanovit: p 11 pravděpodobnost, že zařízení, za předpokladu, že v předcházející směně bylo v provozu, bude ve směně následující rovněž v provozu, p 12 pravděpodobnost, že zařízení, bylo-li v předcházející směně v provozu, bude ve směně následující v opravě, p 21 pravděpodobnost, že zařízení, za předpokladu, že v předcházející směně bylo v opravě, bude ve směně následující v provozu, p 22 pravděpodobnost, že zařízení, bylo-li v předcházející směně v opravě, bude ve směně následující opět v opravě. ad d) Model činnosti zařízení zjednodušujeme podmínkou homogenního Markovova řetězce (podmíněné pravděpodobnosti přechodu jsou pro všechna období stejné), i když si lze představit, že každé zařízení podléhá opotřebení (stárnutí). Potom se podmíněné pravděpodobnosti zřejmě budou měnit v závislosti na době provozu. Vstupní informace pro aplikaci Markovovy analýzy: Jako vstupní údaje je vždy nutné určit počáteční stav systému a matici přechodu. Příkladem zadání počátečního stavu q(0) může být řádkový vektor: q ( 0) ( q 1 (0), q2(0)) q ( 0) (1, 0) který vyjadřuje situaci, že zařízení bylo v počátečním období ve stavu provoz, tj. s pravděpodobností q (0) 1 (s pravděpodobností q (0) 0 bylo zařízení v opravě). 1 Matice přechodu bude ve tvaru: 2 52

p P p 11 21 p p 12 22 Typy stavů v Markovově řetězci: Doposud jsme uvažovali systém se stavy rekurentními, tj. pozitivně regulární Markovův řetězec (stavy provoz a oprava se budou teoreticky donekonečna neustále vyskytovat střídat). V dalším předpokládejme soubor zařízení. Pak se mohou jednotlivá zařízení vyskytnout ve stavech provoz, oprava, ale také (při velkém poškození) ve stavu vyřazení. Pokud je určité zařízení vyřazeno, již jej nelze vrátit do stavu provozu či opravy. Je tedy možné předpokládat, že po určité době přejdou všechna zařízení postupně do stavu vyřazení (budou jím pohlceny). Lze konstatovat, že stav vyřazení je stavem absorpčním a stavy provoz a oprava jsou v tomto případě stavy transientními. Systém je definován jako absorpční Markovův řetězec. 4.2 ANALÝZA POZITIVNĚ REGULÁRNÍCH MARKOVOVÝCH ŘETĚZCŮ Základním přínosem analýzy pozitivně regulárních Markovových řetězců je možnost předvídat budoucí změny. Vyjdeme-li z výchozích informací, tj. z matice přechodu a výchozího stavu systému, jsme schopni stanovit: pravděpodobnost, že se systém bude nacházet v kterémkoliv určitém stavu v libovolně zadaném čase, pravděpodobnosti rovnovážného stavu. Prognóza budoucích stavů: Absolutní pravděpodobnosti výskytu stavů v každém budoucím období, tj. q (1), q (2) stanoví podle vztahu:,..., se q( k +1) q( k) P (14) případně: q( k +1) k+1 (15) q(0) P Stanovení rovnovážného stavu: Jednou z hlavních vlastností regulárních Markovových řetězců je, že se proces dlouhodobě stabilizuje. Absolutní pravděpodobnosti se s rostoucím počtem období blíží konstantním (rovnovážným) hodnotám, které se stávají nezávislými na čase a na výchozím stavu. Tuto skutečnost lze po dostatečně dlouhém období matematicky vyjádřit jako q( k +1) q( k), tzn. že absolutní pravděpodobnosti výskytu stavu v k + 1 období jsou totožné s absolutními pravděpodobnostmi výskytu stavu v předešlém období. Hovoříme o tzv. stacionárních pravděpodobnostech výskytu stavu, které si označíme jako q ) q ( ), q ( ),, q ( )). ( 1 1 n Znalost rovnovážného stavu může poskytovat velice cennou informaci. Např. interpretace stacionárních pravděpodobností ilustrativního příkladu uvedeného výše znamená dlouhodobé časové využití zkoumaného zařízení. Pro určení stacionárních pravděpodobností výskytu stavu se provádí dosazení do vztahu (14): 53

q( ) q( ) P (16) Získáváme soustavu rovnic, z nichž však jedna je lineární kombinací ostatních, a tedy redundandní. Proto ji musíme nahradit rovnicí jinou. Při praktických výpočtech je používána rovnice: n i1 q ( ) 1 i 4.3 ANALÝZA ABSORPČNÍCH MARKOVOVÝCH ŘETĚZCŮ Systém je v absorpčním stavu, jestliže, ocitne-li se v něm, nemůže z něho přejít do stavu jiného. Pak je pravděpodobnost setrvání v daném stavu jednotková a pravděpodobnost přechodu z tohoto stavu do stavu jiného nulová. Je mnoho praktických příkladů absorpčních stavů bankrot podniku, řeka nenávratně zamořená škodlivými látkami, budova zničená požárem. Analýza absorpčních Markovových řetězců může managementu poskytnout odpovědi na tyto důležité otázky: Jaká je doba strávená v každém jednotlivém transientním stavu? Jak dlouho se očekává, že systém bude v transientních stavech, než z nich přejde do stavů absorpčních? Jaká je pravděpodobnost přechodu do každého absorpčního stavu z každého stavu transientního? Jaká je pravděpodobnost, že systém přejde z kteréhokoliv transientního stavu opět do kteréhokoliv stavu transientního? Jako první krok stanovení odpovědí na položené otázky se provádí přečíslování zjištěné matice přechodu následujícím způsobem: P = I A O T přičemž získáváme: I matici jednotkovou O matici nulovou A matici absorpční (matice podmíněných pravděpodobností přechodu mezi transientními a absorpčními stavy) T matici transientní (matice podmíněných pravděpodobností přechodu mezi transientními stavy) Nyní již můžeme přistoupit ke stanovení jednotlivých odpovědí. Střední doba přechodu transientním stavem: Průměrný počet období, po který bude systém v každém transientním stavu, dokud se nestane absorpčním, udávají prvky tzv. fundamentální matice ( F ): 1 F ( I T) (17) 54

Střední doba strávená v transientních stavech vůbec: m F1 (18) kde: m sloupcový vektor středních dob strávených v transientních stavech 1 sloupcový vektor tvořený jedničkami Pravděpodobnost přechodu do absorpčního stavu: B F A (19) kde: B matice pravděpodobností přechodu do každého absorpčního stavu Pravděpodobnost setrvání v systému transientních stavů: ( F 1) Fˆ 1 H (20) kde: H matice pravděpodobností setrvání v systému transientních stavů Fˆ fundamentální matice s anulovanými všemi prvky, které neleží na hlavní diagonále 4.4 SYSTÉMY A PROCESY PRŮMYSLOVÝCH PODNIKŮ VHODNÉ K MODELOVÁNÍ Jelikož většinu procesů probíhajících v průmyslových podnicích můžeme označit za stochastické a dynamické a protože s určitou mírou zjednodušení lze u nich předpokládat nutné markovovské vlastnosti, je využití Markovových řetězců pro modelování systémů průmyslového podniku velmi široké. Z tohoto důvodu vymezíme pouze příklady možných oblastí: průchod zakázek podnikem, návazné cyklické výrobní procesy, údržbářské činnosti, činnost výrobních agregátů a ostatních zařízení, obnova zařízení, plánování výroby na základě prognózy poptávky, řízení zásob, termíny oprav, čištění výměníků, usazenin, vnitropodniková doprava, pronájem externího zařízení, údržby, vyhodnocení časových studií zařízení a pracovníků, některé systémy hromadné obsluhy a další. Řešený příklad 55

Příklad se týká průchodu zakázek závodem válcovna. Aplikace postihuje tento (zkrácený) logistický řetězec: výroba sklad rozpracované výroby a úpravna sklad hotové výroby expedice. V souladu s těmito články řetězce se mohou zakázky vyskytovat v jednom z pěti stavů: ve výrobě, ve skladu rozpracované výroby a úpravně, ve skladu hotové výroby, expedováno, neprodejné ( ležáky, kratiny). Stavy expedováno a neprodejné jsou stavy absorpčními, proto bude systém analyzován jako absorpční Markovovův řetězec. Obdobím sledování změn je jeden den. Za předpokladu jednoduché vazby a změn stavu na konci období byla, na základě zkušeností pracovníků závodu, stanovena matice přechodu ve tvaru: 0,01 0 P 0 0 0 0,84 0,15 0 0 0 0,15 0,70 0,65 0 0 0 0,15 0,30 1 0 0 0 0,05 0 1 Přečíslením matice přechodu získáváme: 0 A 0,15 0,30 0 0 0,05 0,01 T 0 0 0,84 0,15 0 0,15 0,70 0,65 Aplikací Markovovy analýzy byly obdrženy následující výsledky: 1,0101 0,9982 2,4293 F 0 1,1765 2,3529 0 0 2,8571 Interpretace získaných informací: 4,4376 m 3,5294 2,8571 0,8785 B 0,8824 0,8571 0,1215 0,1176 0,1429 Z vektoru středních dob strávených v transientních stavech m lze určit průměrnou celkovou dobu průchodu zakázek logistickým řetězcem na 4,4376 dne. Bude-li se však zakázka v okamžiku sledování nacházet ve skladu rozpracované výroby a v úpravně, bude expedována nebo se stane neprodejnou v průměru za 3,5294 dne. Konečně bude-li zakázka ve skladu hotové výroby, zůstane v něm v průměru ještě 2,8571 dne. Fundamentální matice F umožňuje stanovení struktury jednotlivých středních dob strávených v transientních stavech. Např. v případě průchodu celým logistickým řetězcem stráví zakázka v průměru 1,0101 dne (22,76% celkového času) ve výrobě, 0,9982 dne (22,49% celkového času) ve skladu rozpracované výroby a úpravně a 2,4293 dne (54,74% celkového času) ve skladu hotové výroby. Matice pravděpodobnosti přechodu do absorpčních stavů B udává pravděpodobnost, zda se zakázka stane neprodejnou či zda bude expedována. Pravděpodobnost, že se stane zakázka 56

neprodejnou již ve stavu výroby je 12,15%, na skladě rozpracované výroby a úpravně 11,76% a na skladě hotové výroby 14,29%. 4.5 MANAŽERSKÉ APLIKACE MARKOVOVY ANALÝZY Markovova analýza se používá k předpovědi chování systému v čase. Z tohoto důvodu je považována za deskriptivní nástroj, který poskytuje podklady k: určování efektivnosti systému za různých operativních podmínek, porovnávání různých politik a projektů prostřednictvím uvážení různých matic přechodu, efektivnímu operativnímu plánování výroby. Vlastní rozhodování manažerů může probíhat na základě: kompletního vyčíslení všech variant, manažerské analýzy typu Co se stane, když, dodatečných optimalizačních modelů. Velká pozornost je věnována zejména posledním úlohám. Modelu podmíněných pravděpodobností je nejčastěji přiřazován model ocenění jednotlivých přechodů. Setrvání v určitém stavu lze spojit s určitými náklady či ziskem. Například setrvání stroje v provozu lze ocenit náklady, hodnotou produkce, ziskem apod. Ocenění jednotlivých podmíněných pravděpodobností přechodu je důležité zejména pro srovnání různých variant, mezi nimiž máme možnost volby. Jde zejména o to, aby taková volba byla optimální pro dosti dlouho probíhající proces. Hovoříme o tzv. řízených Markovových řetězcích s oceněním (výnosy). Pro nalezení optimální varianty rozhodnutí se v takovýchto případech používá lineárního a dynamického programování. Shrnutí pojmů Markovova analýza, Markovovy řetězce, pozitivně regulární řetězce, absorpční řetězce. Otázky 1. Jaké procesy dovoluje zkoumat Markovova analýza? 2. Co je to Markovova analýza? 3. Jaké jsou základní předpoklady pro aplikaci Markovovy analýzy? 4. Co vyjadřuje matice přechodu? 5. Jaký je rozdíl mezi pozitivně regulárním a absorpčním řetězcem? 6. Jaký je rozdíl mezi absorpčním a transientním (přechodným) stavem? 7. Jaké informace lze získat analýzou pozitivně regulárních řetězců? 8. Jaké informace lze obdržet analýzou absorpčních řetězců? 9. Které příklady systémů a procesů průmyslového podniku, které lze modelovat pomocí Markovových řetězců znáte? 10. Pro jaké manažerské aplikace lze využít Markovovu analýzu? 57

Použitá literatura [1] LAŠČIAK A. a kol. Dynamické modely. Bratislava: ALFA, SNTL, 1985. [2] PITEL J. a kol. Ekonomicko-matematické metody. Bratislava: Príroda, 1988. [3] WALTER J. Operační výzkum. Bratislava: SNTL, ALFA, 1973. [4] WALTER J. Stochastické modely v ekonomii. Praha: SNTL, ALFA, 1970. 58

5 TEORIE HROMADNÉ OBSLUHY Čas ke studiu: 5 hodin Cíl Po prostudování této kapitoly budete umět: definovat strukturu systémů hromadné obsluhy a jejich prvky, určit hlavní výstupy analýzy systémů hromadné obsluhy, klasifikovat systémy hromadné obsluhy, aplikovat teorii hromadné obsluhy na konkrétních problémech se zaměřením na vícefázové systémy hromadné obsluhy. Výklad Teorie hromadné obsluhy se pokouší analyzovat a řešit procesy, ve kterých se vyskytují proudy objektů procházejících určitými zařízeními, od nichž vyžadují obsluhu. Například materiály je třeba přepravit dopravními zařízeními k místům dalšího zpracování, polotovary procházejí výrobními operacemi na zařízeních různých typů, hotové výrobky se distribuují na místo spotřeby, informace je třeba třídit, zpracovávat a evidovat v zařízeních pro zpracovávání informací, nářadí, stroje a zařízení procházejí pracovišti údržby a obnovy atd. 5.1 STRUKTURA SYSTÉMU HROMADNÉ OBSLUHY Lze konstatovat, že v systémech hromadné obsluhy se v zásadě vyskytují dva druhy jednotek. Jsou to jednak požadavky, které do systému přicházejí za účelem realizace obsluhy, a jednak obslužná zařízení (obslužné kanály), která tuto obsluhu zabezpečují. Obslužné kanály mají většinou omezenou kapacitu obsluhy a požadavky přicházejí do systému s různou intenzitou. V závislosti na vztahu těchto dvou veličin, kapacity obslužných zařízení a intenzity požadavků, může docházet před obslužnými kanály k hromadění požadavků, tj. k vytváření front. Cílem analýzy systémů hromadné obsluhy pak je snaha zajistit, aby se před obslužnými kanály nevytvářely neúměrně dlouhé fronty čekajících požadavků na straně jedné a aby nedocházelo k nízkému využití obslužných zařízení na straně druhé. V některých případech lze prostoje obslužných linek, jejich provoz nebo i čekání požadavků nákladově ohodnotit a tedy celý systém hromadné obsluhy optimalizovat vzhledem k jeho celkovým nákladům. Typický systém hromadné obsluhy znázorňuje obrázek 1. 59

Zdroj požadavků Příchod do systému Fronta čekání Systém hromadné obsluhy Obslužné kanály Odchod ze systému Obr. 1 Struktura systému hromadné obsluhy Ve zdroji požadavků jsou objekty, u nichž v různých časových okamžicích vznikají požadavky na obsluhu. Požadavky vstupují do systému hromadné obsluhy. Z obrázku 1 je patrné, že systémem hromadné obsluhy se rozumí všechno, co je mezi příchodem a odchodem požadavku do nebo ze systému. Je to tedy především fronta nebo fronty čekajících požadavků a obslužné kanály, které obsluhu zabezpečují. Po ukončení obsluhy jednotlivé požadavky systém hromadné obsluhy opouštějí. V praxi je skutečná náplň těchto pojmů různá. Pro ilustraci je v tabulce 1 uvedeno několik příkladů náplně pro zdroj požadavků, požadavek, obsluhu a obslužný kanál v průmyslovém podniku [1]. Tab. 1 Interpretace struktury systémů hromadné obsluhy Zdroj požadavků Požadavek Charakter obsluhy Obslužný kanál stroje v dílně oprava stroje oprava údržbář pracovníci v obrobně výdej nářadí vydání nářadí pracovník výdejny poloautomaty potřeba seřízení seřizování stroje seřizovač tavební procesy analýza složení provedení analýzy kvantometr taveniny s obsluhou odběratelé skladu expedice a nakládka expedice a nakládka skladník, nakládací rampa se zařízením obráběné polotovary v dílně potřeba přepravy mezi pracovišti přeprava 5.1.1 Zdroj požadavků a příchody požadavků do systému akumulátorový vozík s obsluhou Jednou z charakteristik, které hrají důležitou roli při analýze systému hromadné obsluhy, je popis zdroje požadavků. Zdroj požadavků je považován za neomezený, není-li intenzita vzniku požadavků ovlivňována počtem objektů ve zdroji v daném okamžiku (nebo je ovlivňována zanedbatelně). Takovým zdrojem mohou být pracovníci velkého podniku přicházející do výdejny nářadí. V opačném případě je považován za omezený, např. několik strojů připadajících na jednoho údržbáře. Požadavky mohou do systému vstupovat plánovaně (deterministicky) takovým případem může být automatická výrobní linka, ve které lze zabezpečit fixní intervaly mezi příchody požadavků, nebo neplánovaně (náhodně) např. požadavek opravy stroje při vzniku poruchy. Intervaly mezi příchody jsou v tomto případě popisovány pomocí některého z pravděpodobnostních rozdělení. Pro kvantitativní vyjádření vstupního toku se používá střední intenzita vstupu (průměrný počet příchodů za jednotku času), která je označována řeckým písmenem. Převážná většina modelů 60

hromadné obsluhy je založena na předpokladu exponenciálního rozdělení délek intervalů mezi dvěma příchody, tzv. Poissonova vstupu požadavků. 5.1.2 Fronta Frontu tvoří požadavky, které čekají na začátek obsluhy. Budeme-li posuzovat frontu z hlediska její délky, pak může mít fronta neomezenou délku, omezenou délku (např. před některými výrobními zařízeními může být omezený prostor pro skladování polotovarů), případně délku nulovou, kdy je požadavek v případě obsazeného obslužného zařízení odmítnut. S frontou úzce souvisí režim fronty, který určuje způsob vybírání čekajících požadavků z fronty k obsluze při uvolnění obslužné linky. Základní typy jsou: FIFO (first-in/ first-out) představuje situaci, kdy požadavky přecházejí z fronty do obsluhy v tom pořadí, v jakém do systému přišly. Někdy se pro označení tohoto režimu fronty používá zkratka FCFS (first-come/ first-served). LIFO (last-in/ last-out) je opačný režim fronty. Požadavky jsou obsluhované v opačném pořadí než v jakém do systému vstoupily. Ilustrací může být příklad, kdy se před nějakým místem na výrobní lince hromadí polotovary tak, že jsou ukládány na sebe (například tabule skla). Následující výrobní stupeň je potom odebírá v opačném pořadí než v jakém byly uloženy. Alternativní označení tohoto režimu fronty je LCFS (last-come/ first-served). Náhodný způsob přechodu z fronty do obsluhy, který je někdy označován zkratkou SIRO. Přechod z fronty do obsluhy podle zadaných priorit režim PRI. V tomto režimu je vybraným požadavkům poskytována přednost. Např. oprava klíčových výrobních zařízení. 5.1.3 Obslužné kanály Obslužné kanály mohou být uspořádány paralelně, sériově nebo smíšeně. V případě paralelního uspořádání rozlišujeme systémy s odlišnou kapacitou obsluhy jednotlivých zařízení nebo s totožnými obslužnými kanály v celém systému. Ve druhém případě pak může být požadavek obsloužen libovolným obslužným zařízením. Před každým obslužným kanálem se může vytvářet samostatná fronta nebo je fronta společná pro všechna zařízení a první požadavek přechází do obsluhy vždy ke kanálu, který se právě uvolní. Při sériovém uspořádání je požadavek postupně uspokojován obslužnými kanály umístěnými za sebou. V reálných systémech hromadné obsluhy se vyskytuje běžně kombinace obou typů, tj. smíšené uspořádání. Obsluha požadavku si vyžádá určitý čas, který může být stále stejný nebo může kolísat. Kolísající čas obsluhy je popisován rozdělením pravděpodobnosti. Pro kvantitativní vyjádření doby trvání obsluhy se používá parametr střední intenzita obsluhy, který označujeme řeckým písmenem. Jedná se o průměrný počet obsloužených požadavků za zvolenou časovou jednotku při nepřetržité činnosti. Většina analyticky řešitelných modelů hromadné obsluhy předpokládá exponenciální rozdělení doby trvání obsluhy (tzv. Poissonův proces obsluhy). 61

5.2 ANALÝZA SYSTÉMŮ HROMADNÉ OBSLUHY Při analýzách systémů hromadné obsluhy zajímají uživatele především konkrétní charakteristiky popisující fungování daného systému. Jde většinou o charakteristiky typu středních hodnot a pravděpodobností, které poskytují odpovědi na následující otázky: Jaká je průměrná doba čekání požadavků ve frontě před tím, než začnou být obsluhovány? Jaký je průměrný čas, který stráví požadavek v celém systému? Jaký je průměrný počet požadavků ve frontě (délka fronty)? Jaký je průměrný počet požadavků v celém systému? Jaký je průměrný počet obsazených obslužných kanálů (současně obsluhovaných požadavků)? Jaký je průměrný počet volných obslužných kanálů? Jaký je koeficient využití obslužných kanálů? Jaká je pravděpodobnost, že obslužný kanál nepracuje a že tedy není využit nebo naopak, jaká je pravděpodobnost, že linka pracuje? Jaká je pravděpodobnost, že požadavek, který do systému přijde, bude muset čekat ve frontě? Jaká je pravděpodobnost toho, že v systému je N (nějaký konkrétní počet) požadavků? V systémech s omezenou kapacitou míst ve frontě je důležitá otázka Jaká je pravděpodobnost, že požadavek se nebude moci k systému, kvůli jeho naplnění, připojit a tedy nebude obsloužen? a další. V případě, že je uživatel schopen nákladově ohodnotit čekání požadavků, prostoje či provoz obslužných kanálů, potom je možné systém optimalizovat s ohledem na jeho nákladovou efektivnost. Je tedy možné odpovědět na otázky typu: Jaké jsou minimální náklady související s fungováním celého systému za časovou jednotku? Jaký je optimální počet obslužných kanálů v provozu vedoucí k dosažení minimálních nákladů? a další. 5.3 MODELY HROMADNÉ OBSLUHY Ke klasifikaci modelů hromadné obsluhy se používá značení, které v roce 1953 navrhl D. G. Kendall. K základnímu definování systému se používá tří charakteristik oddělených lomítky: typ vstupů/ typ obsluhy/ počet kanálů obsluhy Typ vstupů je charakterizován pravděpodobnostním rozdělením délek intervalů mezi dvěma po sobě následujícími vzniky požadavků, kde M exponenciální rozdělení (Poissonův proces vstupů), E n Erlangovo rozdělení n-tého řádu, N normální rozdělení, D deterministické intervaly, G libovolné nezávislé rozdělení. Typ obsluhy je charakterizován pravděpodobnostním rozdělením délek obsluhy, kde 62

M exponenciální rozdělení (Poissonův proces obsluhy), E n Erlangovo rozdělení n-tého řádu, N normální rozdělení, D deterministický čas obsluhy, G libovolné rozdělení. Počet kanálů obsluhy může nabývat hodnot K = 1, 2,...,. Pak například M/M/1 znamená systém hromadné obsluhy s exponenciálním rozdělením intervalů mezi vstupy (tj. Poissonův vstupní proud), s exponenciálním rozdělením délek obsluhy a s jedním obslužným kanálem. 5.4 VÍCEFÁZOVÉ SYSTÉMY HROMADNÉ OBSLUHY Vícefázovými systémy hromadné obsluhy nazýváme takové systémy, které se skládají s většího počtu individuálních systémů obsluhy (fází) seřazených v sérii. Každá fáze přitom může obsahovat více paralelně umístěných obslužných zařízení. Existují dva základní přístupy k řešení takových systémů analytický a simulace. V případě analytického řešení lze pro získání charakteristik popisujících fungování daného systému použít odvozených vzorců. Bohužel, celá řada systémů díky své složitosti vyžaduje řešení pomocí simulace. Aby bylo možné k řešení vícefázových systémů hromadné obsluhy použít analytický přístup, musí být splněny následující předpoklady: neomezený zdroj požadavků, Poissonův vstup požadavků do první fáze, neomezená délka front v jednotlivých fázích, systém bez tzv. explozívních front, kdy intenzita vstupů je větší než intenzita obsluhy, režim fronty FIFO, exponenciální rozdělení obslužných časů v jednotlivých fázích, stejná obslužná zařízení (charakterizovaná stejným exponenciálním rozdělením) v rámci jedné fáze, systém bez blokování, tzn. takový systém, kdy předcházející fáze nemusí předržovat již obsloužený požadavek do doby, než se ukončí obsluha požadavku v následující fázi. Při respektování uvedených podmínek bude výstup z každé fáze rovněž Poissonův se stejnou intenzitou vstupu, což umožňuje každou fázi chápat a řešit jako samostatný a nezávislý systém hromadné obsluhy typu M/M/1 (v případě jednoho obslužného kanálu) nebo M/M/K (je-li v dané fázi více obslužných kanálů). Výsledné charakteristiky vícefázového systému hromadné obsluhy pak tvoří součet charakteristik jednotlivých fází. Schematicky zobrazuje popsaný vícefázový systém hromadné obsluhy obrázek 2. 63

1 2 n Zdroj požad. Obr. 2 Vícefázový systém hromadné obsluhy Jednotlivé základní charakteristiky popisující fungování daného systému lze vypočítat užitím vztahů uvedených v tabulce 2. Tab. 2 Charakteristika Průměrný čas, který stráví požadavek v celém systému (čekání + obsluha) Základní charakteristiky vybraných systémů hromadné obsluhy Systém hromadné obsluhy typu M/M/1 M/M/K 1 W 1 1 W q W W q 1 Průměrná doba čekání ve frontě Průměrný počet požadavků v systému L L q 1 L W Průměrný počet požadavků ve frontě Pravděpodobnost, že v systému nebude žádný požadavek (prostoj systému) Pravděpodobnost, že v systému bude přesně N požadavků L W L 1 W q 1 W L q q 1 2 2 q W q P0 1 1 N P N Veškeré vzorce vycházejí z následujících proměnných: střední intenzita vstupu, střední intenzita obsluhy, K počet obslužných kanálů, fáze 1 fáze 2 fáze n L q P0 L L q K P0 2 K! 1 1 K i K1 K! 1 i0 i! N P 0 1 P N N K P! 0 K K! K pro N K pro N K, K K. 64

5.4.1 Obslužné sítě Nejobecnějším druhem systémů hromadné obsluhy jsou obslužné sítě. Představují takové systémy, které se skládají z individuálních systémů hromadné obsluhy, přičemž jsou známy pravděpodobnosti p ij toho, že požadavek vystupující z i-tého systému vstoupí do j-tého systému. Každý subsystém se opět může skládat z jednoho nebo více obslužných kanálů [2]. 5.5 APLIKACE VÍCEFÁZOVÉHO MODELU HROMADNÉ OBSLUHY V této části bude ukázán jednoduchý příklad analytického řešení vícefázové úlohy hromadné obsluhy. Jeho smyslem je ukázat, jaké vstupní údaje vyžaduje, jaké výsledné informace poskytuje, případně co vše lze na modelu odzkoušet. Při absenci číselných údajů ze skutečné praxe jsou volena smyšlená data. Řešený příklad Jako možná aplikace byl zvolen systém vyřizování zakázek v průmyslovém podniku, který zahrnuje průchod zakázky všemi fázemi od jejího přijetí až po vyřízení: 1. fáze: přijetí požadavku, ověření možnosti jeho splnění, potvrzení zakázky (administrativní a technickoekonomické zpracování zakázky), 2. fáze: zabezpečení vsázky a příprava výroby, 3. fáze: vlastní výrobní proces, 4. fáze: úpravenské operace, kontrola jakosti, předání na sklad, 5. fáze: skladování, expedice. V dalším bude uvažován hutní podnik, kde mají uvedené fáze následující charakter: přijetí a zpracování zakázky příprava vsázky válcování úprava válcovaného materiálu skladování a expedice hotových výrobků. 5.5.1 Přijetí a zpracování zakázky Připusťme, že do podniku přichází nahodile poptávka zákazníků a že tok těchto požadavků splňuje Poissonovo rozdělení. Střední intenzita příchodů požadavků je = 5 za den. V první fázi jde o prověření a zpracování každé poptávky. Tato činnost představuje obsluhu. Vyžádá si určitý čas, který kolísá podle náročnosti. Rozdělení obslužných časů je exponenciální. Dále předpokládejme, že obsluhu provádí jeden pracovník (jedna skupina pracovníků) se střední intenzitou obsluhy = 6 požadavků za den a poptávky jsou zpracovávány režimem FIFO. Pak je výpočet doby setrvání požadavku v systému, v rozčlenění na dobu čekání ve frontě a dobu vlastní obsluhy, následující: 1 1 Setrvání požadavku v systému: W 1 den 6 5 Průměrná doba čekání ve frontě: 5 W q 0,833 dne 66 5 65

Průměrná doba obsluhy: 1 0,833 = 0,167 dne 5.5.2 Příprava vsázky Tato etapa může mít různou průběžnou dobu, podle toho, zda se vyrábí z nakupované vsázky, nebo když vsázka vzniká v předchozí výrobní fázi. V prvním případě je zájem optimalizovat zásoby vsázkového materiálu, v druhém případě jde o sladění dvou navazujících výrobních pochodů. Připusťme, že jde o podnik s vlastní ocelárnou. Válcovna bude zčásti zpracovávat předlitky postupující přímo ze zařízení pro plynulé odlévání oceli a zčásti předlitky ze skladu. Analytický výpočet podle vzorců vyžaduje, aby oba kanály měly stejnou propustnost, což sotva odpovídá praxi hutního podniku. Budeme uvažovat se střední intenzitou obsluhy = 4 požadavky denně na jeden kanál. Výpočet: = 5, = 4, K = 2: 5 4 5 K 8 P 1 1 1,5625 11,25 0,75 0 0, 231 2 5 0 1 4 5 0! 1! 2! 1 8 L q 5 0,231 4 5 2! 1 8 2 2 5 8 0,801 Průměrná doba čekání ve frontě: 0,801 W q 0, 160 dne 5 Setrvání požadavku v systému: 1 W 0,160 0, 410 dne 4 Průměrná doba obsluhy: 0,410 0,160 = 0,250 dne 5.5.3 Válcování Jedna válcovací trať odpovídá jednokanálovému systému. Střední intenzita obsluhy = 7 požadavků za den. 1 1 Setrvání požadavku v systému: W 0, 500 dne 7 5 Průměrná doba čekání ve frontě: Průměrná doba obsluhy: 5 W q 0,357 dne 77 5 0,5 0,357 = 0,143 dne 66

5.5.4 Úprava válcovaného materiálu V této fázi se vyskytují různé operace na rozdílném zařízení. Všechny výrobky nemají stejné úpravenské operace, a proto nelze situaci úpravny modelovat jako vícekanálový obslužný systém složený z paralelně pracujících stejných agregátů. Reálné situaci se více blíží pojetí úpravny jako jednoho celku, kterým projdou všechny výrobky. Takto také budeme modelovat tuto fázi jako jednokanálový obslužný systém. Střední intenzita obsluhy = 5,5 požadavků za den. 1 1 Setrvání požadavku v systému: W 2 dny 5,5 5 Průměrná doba čekání ve frontě: Wq 5 5,5 5,5 5 1,818 dne Průměrná doba obsluhy: 2 1,818 = 0,182 dne 5.5.5 Skladování a expedice hotových výrobků Zde je situace analogická s úpravnou v tom smyslu, že nepřichází v úvahu vícekanálový obslužný systém. Střední intenzita obsluhy = 5,8 požadavků za den. 1 1 Setrvání požadavku v systému: W 1, 250 dne 5,8 5 Průměrná doba čekání ve frontě: Wq 5 5,8 5,8 5 1,078 dne Průměrná doba obsluhy: 1,250 1,078 = 0,172 dne 5.5.6 Shrnutí Průběžný čas za všech 5 fází: 1,000 + 0,410 + 0,500 + 2,000 + 1,250 = 5,160 dne Z průběžné doby 5,16 dne připadá 0,833 + 0,160 + 0,357 + 1,818 + 1,078 = 4,246 dne (82,3%) na čekání 0,176 + 0,250 + 0,143 + 0,182 + 0,172 = 0,914 dne (17,7%) na činnost I tento velice zjednodušený příklad potvrzuje obtížné sladění navazujících stochastických procesů, které vede k tomu, že se na průběžné době podílejí v převážné míře prostoje. Hlavní výhodou analytického přístupu k řešení vícefázových systémů hromadné obsluhy je, že na rozdíl od simulace prakticky nevyžaduje finanční prostředky spojené s tvorbou simulačního modelu ve specializovaného software a realizací experimentů na počítači. Zásadní nevýhodou aplikace analytického přístupu v logistické praxi je však jen velmi obtížné naplnění vstupních předpokladů modelu. 5.6 VYUŽITÍ VÍCEFÁZOVÝCH SYSTÉMŮ HROMADNÉ OBSLUHY V PRŮMYSLOVÉ LOGISTICE Aplikace vícefázového modelu hromadné obsluhy je možná především v průmyslových odvětvích, kde je proces a materiálový tok standardizovaný. Čím více bude proces a materiálový tok 67

stabilnější a standardizovanější, tím přesnějších výsledků lze aplikací vícefázového modelu dosáhnout a tím více bude model odrážet reálný stav. Čím vyšší bude variantnost požadavků, složitost a variantnost materiálových toků a náchylnost systému k narušení (poruchám zařízení, výskytu zmetků či organizačním problémům), tím nižší bude vypovídací hodnota modelu. Vícefázový model a analytické řešení tak lze doporučit především pro analýzu logistických procesů v automobilovém průmyslu a podobných typech vysoce harmonizovaných výrob. Naopak velmi těžko lze tento přístup aplikovat v hutním či strojírenském průmyslu, kde prakticky nelze dosáhnout naplnění vstupních předpokladů. V těchto odvětvích pak roste význam uplatnění simulace. Hlavním problémem při praktickém použití vícefázových systémů hromadné obsluhy v průmyslové logistice jsou obtížně splnitelné vstupní předpoklady: Požadavky (např. výrobní zakázky) mohou být velmi odlišné jak co do objemu, tak technologického způsobu výroby. Zejména u procesních typů výrob se vyskytuje pouze omezená možnost skladování polotovarů, což neumožnuje splnění předpokladu neomezeně dlouhých front v jednotlivých fázích. Například v hutích nelze skladovat tekutý kov po neomezeně dlouhou dobu. Velmi obtížně lze dodržet předpoklad FIFO režimu fronty. V praxi velmi často o pořadí zakázek rozhodují technologická omezení a systém priorit. Například v hutní logistice lze taková omezení nalézt v nutnosti sdružování výrobních zakázek do dávek (sekvence plynulého odlévání oceli, válcovací kampaně). Obtížné je rovněž naplnění předpokladu stejných zařízení v rámci jedné fáze, která jsou charakterizována stejným exponenciálním rozdělením. V praxi je tento předpoklad nenaplnitelný především vzhledem k obnově strojového parku, ke které zpravidla dochází průběžně. V rámci jedné fáze tak pracují zařízení s rozdílnou kapacitou nebo i technologií. Dalším problémem je skutečnost, že téměř žádnou z náhodných veličin vstupujících do modelu nelze popsat požadovaným teoretickým rozdělením pravděpodobnosti. Mezi předpoklady, které v praxi naplnit lze, patří neomezený zdroj požadavků a systém bez explozivních front, kdy intenzita vstupů je větší než intenzita obsluhy. Shrnutí pojmů Teorie hromadné obsluhy, systém hromadné obsluhy, zdroj požadavků, fronta, režim fronty, obslužný kanál, vícefázový systém hromadné obsluhy, intenzita vstupu, intenzita obsluhy. Otázky 1. Co je cílem teorie hromadné obsluhy? 2. Jaké jsou příklady systémů hromadné obsluhy? 3. Jaká je struktura systému hromadné obsluhy? Uveďte příklady jednotlivých prvků systému hromadné obsluhy. 68

4. Co je cílem analýzy systémů hromadné obsluhy? Jaké výstupy lze analýzou systémů hromadné obsluhy získat? 5. Co vyjadřuje střední intenzita vstupu? 6. Co je to režim fronty a jaké režimy lze vymezit? 7. Co vyjadřuje střední intenzita obsluhy? 8. Jak lze klasifikovat systémy hromadné obsluhy? 9. Jak lze definovat vícefázový systém hromadné obsluhy? 10. Jaké musí vícefázový systém hromadné obsluhy splňovat předpoklady, aby mohl být k jeho řešení využit analytický přístup? 11. Co je to obslužná síť? Použitá literatura [1] VODÁČEK L., PICEK K., ŠANDERA O. Operační analýza v podnikové racionalizaci. Praha: SNTL, 1977. [2] UNČOVSKÝ L. Stochastické modely operační analýzy. Bratislava: ALFA, SNTL, 1980. 69

6 SIMULACE Čas ke studiu: 10 hodin Cíl Po prostudování této kapitoly budete umět: definovat simulaci a vymezit vhodné problémy pro její využití, určit kroky při realizaci simulace, aplikovat pravděpodobnostní simulaci založenou na metodě Monte Carlo, vymezit možnosti počítačové podpory pravděpodobností simulace. Výklad Použití analytických přístupů při řešení praktických problémů je často omezeno na poměrně jednoduché úlohy. Jsou-li však problémy komplexní, může být analytické řešení zcela neuskutečnitelné. Pro takové případy jsou vhodné simulační modely, které spojují experimentování typu pokus a omyl s matematickým modelem za účelem popisu a hodnocení chování systému. Simulace poskytují poměrně levně a rychle představy o chování reálných systémů při měnících se podmínkách a v rozhodovacím procesu poskytují podklady pro výběr nejvhodnější varianty. Simulační experimenty se dají opakovat a výsledky statisticky zpracovávat a interpretovat. Simulace je tedy považována spíše za deskriptivní nástroj, protože automaticky nehledá optimální řešení. Místo toho popisuje nebo předpovídá charakteristiky daného systému při různých okolnostech a jakmile umožní tyto charakteristiky poznat, je možné zvolit nejlepší postup. 6.1 METODOLOGIE SIMULACE Simulace spočívá v sestavení modelu reálného systému a provádění opakovaných experimentů na něm. Tento postup lze dekomponovat do následujících kroků [1]: Definování problému problém reálného světa je zkoumán a klasifikován. Měli bychom specifikovat, proč je simulace nutná. Zde se zabýváme hranicemi systému a jinými podobnými aspekty objasnění problému. Sestavení simulačního modelu tento krok spočívá ve shromáždění nezbytných dat. K popisu procesu se v mnoha případech používá vývojový diagram. Zkoušení a verifikace modelu simulační model musí náležitě imitovat studovaný systém, což vyžaduje verifikaci. 70

Návrh experimentu po prokázání validity modelu je navrhován experiment. Součástí tohoto kroku je určení, jak dlouho má probíhat simulace a zda započítat všechna data nebo vyloučit přechodová startovací data. Tento krok se tak týká dvou důležitých cílů: přesnosti a nákladů. Provádění experimentu existuje několik typů simulace, u kterých se uvedený krok liší. Vyhodnocení výsledků posledním krokem předcházejícím realizaci je zhodnocení výsledků. Zde patří rovněž uplatnění analýzy citlivosti či dokonce změna modelu a opakování experimentu. Realizace zavedení výsledků simulace zahrnuje stejné otázky jako kterákoliv jiná realizace. Nicméně, šance zavedení je větší. Díky tomu, že je simulace blíže realitě, je manažer zpravidla více vtažen do simulačního procesu než při analytických modelech. 6.2 VÝHODY SIMULACE Simulaci lze doporučit jako univerzální nástroj pro řešení širokého spektra problémů. Patří k metodám, jejichž uplatnění v praxi nabývá stále více na významu. Svou úlohu na této skutečnosti sehrává řada vlivů: Teorie simulace je relativně přístupná. Simulační model je agregací elementárních vztahů a závislostí. Simulace je spíše deskriptivní nástroj využívající přístup pokus omyl. To umožňuje klást otázky typu co když, experimentovat s různými postupy a variantami a hledat odpovídající řešení. Model se buduje s perspektivou praktického využití, proto má spíše strukturu odpovídající reálnému procesu rozhodování. Simulační model je sestaven pouze pro jeden zvláštní problém. Proto nevyžaduje nějaké zobecněné pochopení. Simulace si poradí s velmi širokou škálou problémů. Simulace nevyžaduje velká zjednodušení, dovoluje uvážit složitosti problémů reálného života. Díky povaze simulace se dosahuje velkého stlačení času, což umožňuje poznat dlouhodobé efekty různých postupů během minut. Experimentování se provádí na modelu, bez zásahů do reálného systému, což dovoluje nalézt řešení při poměrně nízkých nákladech (příp. ztrátách). To vše dále podtrhuje masivní rozvoj počítačové podpory a dostupnost kvalitního, uživatelsky přívětivého simulačního software, pomocí kterého je možné řešit i poměrně složité problémy. V případě méně rozsáhlých úloh pak postačí tabulkový kalkulátor. 6.3 PRAVDĚPODOBNOSTNÍ SIMULACE A METODA MONTE CARLO Pravděpodobnostní simulace je využívána pro studium a řešení komplexních dynamických problémů, kdy jedna nebo několik proměnných má pravděpodobnostní charakter. Výsledkem simulace je statistický odhad sledovaných parametrů, jejichž přesnost roste s počtem opakovaných pokusů. Proto je nutné pro získání reprezentativních výsledků provádět tyto pokusy na počítači. Uvedený druh simulace se provádí pomocí techniky zvané Monte Carlo. Metoda Monte Carlo se používá pro simulaci systémů, ve kterých se vyskytují náhodné veličiny (poptávka, poruchovost zařízení, doba trvání operace apod.). Klíčovou otázkou je způsob, 71

jakým náhodnou veličinu v modelu zachytit, aby dostatečně napodobovala působení náhodné veličiny reálného systému. Při napodobování náhodné veličiny se vychází ze znalosti zákonitosti, podle které v daném případě náhoda působí. Takovou zákonitostí je rozdělení pravděpodobnosti náhodné veličiny. V praxi se nejčastěji používá rozdělení stanovené pozorováním náhodné veličiny v minulosti. Cílem metody Monte Carlo je pak vytvořit takovou posloupnost hodnot náhodné veličiny, která odpovídá danému rozdělení pravděpodobnosti. Bude-li například součástí modelu poptávka, je možné na základě znalosti jejího vývoje v předešlých obdobích stanovit rozdělení pravděpodobnosti dané tabulkou 1. Tab. 1 Rozdělení pravděpodobnosti poptávky a) Velikost b) Pravděpodob poptávky (ks) nost výskytu c) 300 d) 0,156 e) 400 f) 0,287 g) 500 h) 0,194 i) 600 j) 0,195 k) 700 l) 0,168 Při provádění experimentů na modelu musí pak být poptávka simulována v souladu s tímto rozdělením. V některých případech je možno zjištěná empirická rozdělení nahradit některým z teoretických rozdělení. Nejčastěji se pro tento účel používá normální rozdělení. K tvorbě posloupnosti hodnot náhodné veličiny s odpovídajícím rozdělením pravděpodobnosti využívá metoda Monte Carlo tzv. náhodná čísla, což jsou čísla vybíraná náhodně ze souboru čísel s rovnoměrným rozdělením. To znamená, že každé číslo souboru má stejnou pravděpodobnost, že bude vybráno. Skutečnost, že takováto čísla je možné vytvářet např. za pomoci rulety, souvisí s označením metody. Zdrojem náhodných čísel jsou tabulky náhodných čísel. Příklad takové tabulky je uveden v příloze, která je umístěná na konci této kapitoly [1]. Řešený příklad Existuje více způsobů, jak pomocí náhodných čísel vytvořit posloupnost hodnot náhodné veličiny odpovídající požadovanému rozdělení pravděpodobnosti. Nejčastěji je využíván následující postup, který je vhodný pro generování z libovolných diskrétních rozdělení: 1. Sestavení kumulativního rozdělení pravděpodobnosti a stanovení rozmezí náhodných čísel Určení rozmezí náhodných čísel ukazuje tabulka 2 (vstupní hodnoty vycházejí z tabulky 1). Tab. 2 Stanovení rozmezí náhodných čísel Poptávka (ks) Pravděpodobnost Kumulativní Rozmezí náhodných výskytu pravděpodobnost čísel 300 0,156 0,156 000 155 400 0,287 0,443 156 442 500 0,194 0,637 443 636 600 0,195 0,832 637 831 700 0,168 1,000 832 999 Protože náš případ obsahuje trojciferné údaje, byla použita čísla od 000 do 999. Používaná čísla v každém rozmezí nejsou striktně vymezena. Musí však být zachována proporce různých stavů 72

v našem případě poptávky v ks (např. poptávce 300 ks odpovídá 156 trojciferných čísel). Stejně tak může být použito rozmezí 001 156. Zpravidla si tedy pomáháme kumulativním rozdělením pravděpodobnosti. 2. Generování náhodných čísel a hodnot náhodné veličiny K výběru náhodných čísel použijeme tabulku náhodných čísel (viz příloha). Sekvenci náhodných čísel můžeme volit v kterémkoli směru vodorovně, svisle, úhlopříčně, přičemž vstoupit do tabulky lze v libovolném místě. Pokud začneme v horním levém rohu, pak je první číslo 7823. Protože však pracujeme s trojcifernými čísly, vypustíme poslední číslici a najdeme rozmezí, do kterého spadá číslo 782. Následně je možné odečíst velikost poptávky, která je pro interval 637 831 ve výši 600 kusů. Tímto způsobem můžeme pomocí metody Monte Carlo vygenerovat požadovanou posloupnost hodnot poptávky (viz tab. 3), která je využívána v rámci simulačního modelu. Tab. 3 Generování poptávky odpovídající zadanému rozdělení pravděpodobnosti Náhodné číslo 782 950 786 297 453 006 275 328 Simulovaná poptávka (ks) 600 700 600 400 500 300 400 400 6.4 SIMULACE S VYUŽITÍM METODY MONTE CARLO Uplatnění simulace metodou Monte Carlo bude realizováno na jednoduchém příkladu. Metodologicky se vychází z postupu uvedeného v rámci metodologie simulace. Řešený příklad 6.4.1 Definování problému Obchodní firma odebírá každý den z výroby výrobky 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. Označení veličin a zadané hodnoty: Q o denní objednané množství v kusech, P denní poptávka (ks), Q p denní prodané množství (ks), c n nákupní cena za jednotku množství = 4 Kč, c p prodejní cena za jednotku = 5 Kč, R 1 ztráta v důsledku nízké objednávky, R 2 ztráta vlivem neprodaného zboží, Z d denní zisk. Poptávka se vytváří nahodile a nevykazuje žádnou pravidelnost či zákonitost. Nemůže být proto přesně určena. 73

Tento problém by se dal řešit metodou pokusu a omylu. Obchodní firma by například v každém měsíci volila různé taktiky objednávání zboží (tj. různou velikost denní objednávky) a pak by následně vyhodnotila variantu s největším ziskem a nejmenšími ztrátami. Simulace však dá odpověď za několik minut a ztráty z tržeb se projeví pouze hypoteticky. 6.4.2 Sestavení simulačního modelu Z evidence za delší období bylo zjištěno rozdělení poptávky uvedené v tabulce 4. K popisu modelu je využit vývojový diagram uvedený na obrázku 1, který schematicky představuje všechna prováděná rozhodnutí a výpočty používané při simulaci. Tab. 4 Rozdělení pravděpodobnosti poptávky Denní poptávka (ks) Pravděpodobnost výskytu 15 0,09 16 0,17 17 0,34 18 0,23 19 0,09 20 0,08 6.4.3 Zkoušení a verifikace modelu Verifikace modelu zahrnuje proces o dvou krocích. První krok spočívá v určení, zda je model vnitřně správný v logickém a programovém smyslu. Druhým krokem je určení, zda model reprezentuje systém, který má imitovat. V našem případě provádíme simulaci již existujícího systému, proto by verifikace proběhla volbou dosavadní taktiky objednávání zboží a následným porovnáním výsledků modelu se skutečnými výsledky reálného systému. 74

Obr. 1 Vývojový diagram simulovaného procesu 75

6.4.4 Návrh experimentu Předpokládejme zvážení následujících čtyř variant objednávání zboží u výrobce. Denně se objednává množství ve výši: a) 15 ks, b) 16 ks, c) 17 ks, d) 18 ks. 6.4.5 Provádění experimentu počátkem v 00. Stanovení rozmezí náhodných čísel je patrné z tabulky 5. Pracujeme s dvojcifernými údaji s Tab. 5 Stanovení rozmezí náhodných čísel Denní poptávka (ks) Pravděpodobnost výskytu Kumulativní pravděpodobnost Rozmezí náhodných čísel 15 0,09 0,09 00 08 16 0,17 0,26 09 25 17 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 Ke generování posloupnosti hodnot poptávky byl použit první sloupec tabulky náhodných čísel (viz příloha). K ilustraci postačí ukázka simulace 30 denního období modelovaného systému pro případ objednávání 17 ks/den, tj. varianty c). Postup je patrný z tabulky 6. Protože simulace je metoda, jejíž výsledky mají pravděpodobnostní charakter, nemůže námi simulovaných 30 cyklů poskytnout reprezentativní výsledky. Řešitele zajímají dlouhodobé průměrné hodnoty sledovaných veličin, tj. dosažení tzv. stabilizovaného stavu. Obecně platí, že čím je provedeno větší množství cyklů, tím je přesnost výsledků větší. Ukončení procesu se tak stává věcí statistické analýzy. Počet cyklů může být například ukončen, když je dosaženo standardní chyby sledovaných veličin. V našem případě je proces stabilizace vyjádřen sledováním kumulovaného průměrného zisku Z d. Z obrázku 2 je patrné, že ke stabilizaci ještě nedošlo. Výrazné kolísání z počátečního období se však již v dalších simulovaných cyklech podstatně zmenšilo. 76

Tab. 6 Simulace 30 denního období modelovaného systému Den Q o NČ P R 1 R 2 Q p Z d Z d 1 17 78 18 1 17 17 17,00 2 17 43 17 17 17 17,00 3 17 92 20 3 17 17 17,00 4 17 87 19 2 17 17 17,00 5 17 47 17 17 17 17,00 6 17 83 19 2 17 17 17,00 7 17 87 19 2 17 17 17,00 8 17 27 17 17 17 17,00 9 17 19 16 4 16 12 16,44 10 17 52 17 17 17 16,50 11 17 97 20 3 17 17 16,55 12 17 70 18 1 17 17 16,58 13 17 60 18 1 17 17 16,62 14 17 05 15 8 15 7 15,93 15 17 50 17 17 17 16,00 16 17 58 17 17 17 16,06 17 17 86 19 2 17 17 16,12 18 17 62 18 1 17 17 16,17 19 17 92 20 3 17 17 16,21 20 17 06 15 8 15 7 15,75 21 17 03 15 8 15 7 15,33 22 17 52 17 17 17 15,41 23 17 19 16 4 16 12 15,26 24 17 30 17 17 17 15,33 25 17 29 17 17 17 15,40 26 17 04 15 8 15 7 15,08 27 17 41 17 17 17 15,15 28 17 93 20 3 17 17 15,21 29 17 15 15 8 15 7 14,93 30 17 27 17 17 17 15,00 Součet 522 24 48 498 450 - Průměrné hodnoty 17,4 0,8 1,6 16,6 15 - Obr. 2 Stabilizace průměrného denního zisku 77

6.4.6 Hodnocení výsledků Třicetidenní simulace varianty c) vedla k těmto výsledkům: průměrný denní zisk ve výši 15 Kč, průměrné denní ztráty vůči ideálnímu stavu ve výši 0,8 + 1,6 = 2,4 Kč, průměrná denní výše poptávky 17,4 ks, průměrná denní výše prodejů 16,6 ks, 12 pravděpodobnost nedostatečné objednávky 100 40%, 30 7 pravděpodobnost neprodání zboží 100 23,33%. 30 Srovnání výsledků simulace zbývajících variant je shrnuto v tabulce 7. Jako nejlepší z uvažovaných variant se jeví objednávání 16 ks/den. Tab. 7 Výsledky 30 denní simulace uvažovaných variant Q o R 1 R 2 R 1 + R 2 Z d 15 2,40 0,00 2,40 15,00 16 1,57 0,67 2,24 15,17 17 0,80 1,60 2,40 15,00 18 0,40 4,40 4,40 13,00 6.5 POČÍTAČOVÁ PODPORA SIMULAČNÍCH EXPERIMENTŮ I tento prostý příklad vykazuje vysokou výpočetní a časovou náročnost ručního zpracování simulačních experimentů, které musí být opakovány při každé změně vstupních dat modelu. Navíc každá simulovaná varianta vyžaduje provedení dostatečně velkého počtu cyklů, které zaručí stabilizaci procesu a získání reprezentativních výsledků. 6.5.1 Generování posloupnosti hodnot náhodné veličiny na počítači Doposud byly pro generování náhodných čísel používány tabulky náhodných čísel. Pro řešení praktických úloh se však potřeba jejich počtu odhaduje na statisíce i více. Proto jsou náhodná čísla generována automaticky podle různých algoritmů. Přísně vzato by se neměl náhodným číslům generovaným na počítači užitím aritmetických a logických operací přiřazovat přívlastek náhodný, protože je jejich posloupnost předpověditelná a opakovatelná. Proto se používá název pseudonáhodná čísla. Úloha řešitele simulačního problému je navíc ulehčena následujícími skutečnostmi: Počítačový software nabízí možnost přímého, automatického generování posloupnosti hodnot náhodné veličiny. K jejímu získání postačí zadání příslušného rozdělení pravděpodobnosti a není nutné se zabývat způsobem, jakým byly (za použití pseudonáhodných čísel) hodnoty náhodné veličiny vytvářeny. Simulační postup uvedený v předchozí části kapitoly předpokládá náhodné veličiny s diskrétním rozdělením pravděpodobnosti. Reálné modely však mohou obsahovat proměnné, jejichž rozdělení je spojité (např. normální či exponenciální). Proto je součástí simulačních nástrojů rovněž možnost generování hodnot náhodné veličiny ze spojitých rozdělení pravděpodobnosti. 78

6.5.2 Realizace simulačních technik na počítači Řešitel má dnes v zásadě tři základní možnosti, jak provádět experimentování na modelu prostřednictvím počítače. K tomuto účelu může využít: klasický programovací nebo speciální simulační jazyk, tabulkový kalkulátor, speciální simulační software. Pro běžného uživatele, který nedisponuje hlubšími znalostmi programování, mají největší význam tabulkové kalkulátory a simulační software. Tabulkový kalkulátor lze doporučit v situacích, kdy je potřeba rychle sestavit poměrně jednoduchou aplikaci, která není příliš složitá na programové a vývojové prostředky. 6.6 SIMULACE V PROSTŘEDÍ TABULKOVÉHO KALKULÁTORU EXCEL skutečnost, že: Simulace v tabulkovém kalkulátoru Excel s sebou přináší řadu výhod, mezi něž patří zejména Excel dnes náleží mezi běžné, uživatelsky přívětivé softwarové nástroje a k sestavení modelu na počítači postačuje základní znalost funkcí a nástrojů tabulkového kalkulátoru, Experimentování na modelu je časově nenáročné i pro relativně vysoký počet simulovaných cyklů, Excel podporuje automatické generování pseudonáhodných čísel jak diskrétních, tak spojitých rozdělení. 6.6.1 Generování pseudonáhodných čísel MS Excel disponuje dvěma základními způsoby generování pseudonáhodných čísel (PNČ). Uživatel může k jejich tvorbě využívat speciální funkce NÁHČÍSLO a RANDBETWEEN nebo komplexní nástroj, který je označen jako generátor pseudonáhodných čísel. NÁHČÍSLO, RANDBETWEEN Obě uvedené funkce vracejí pseudonáhodná čísla v rovnoměrném rozdělení, a to vždy nová při každém přepočtu listu. Aplikace funkcí NÁHČÍSLO a RANDBETWEEN uživateli nabízí: Generování PNČ z intervalu 0; 1) Syntaxe: = NÁHČÍSLO() Generování PNČ z intervalu 0; b) Syntaxe: = NÁHČÍSLO() * b Generování PNČ z intervalu a; b) Syntaxe: = NÁHČÍSLO() * (b a) + a Například zápis NÁHČÍSLO() * 50 + 10 zajistí generování PNČ z intervalu 10; 60). Generování celých PNČ z intervalu a; b Syntaxe: = RANDBETWEEN(a; b) V případě, že potřebujeme vrátit desetinná místa, vygenerujeme PNČ řádově vyšší a výsledek dělíme. Například pro vygenerování čísel se dvěma desetinnými čísly z intervalu 5; 10 použijeme zápis RANDBETWEEN(50; 100) / 100. Pro funkci RANDBETWEEN je nutné nainstalovat doplněk Analytické nástroje. 79

Generátor pseudonáhodných čísel Generátor PNČ umožňuje vytvářet posloupnost hodnot náhodné veličiny požadovaného rozdělení pravděpodobnosti. K dispozici je rozdělení rovnoměrné, normální, Bernoulliho, binomické, Poissonovo, vzorky (jako posloupnosti hodnot) a diskrétní. Na rozdíl od funkcí NÁHČÍSLO a RANDBETWEEN je toto vygenerování jednorázové a při přepočtu listu se hodnoty PNČ nemění. Před prvním použitím generátoru je nutné rovněž nainstalovat doplněk Analytické nástroje. Jednotlivé položky dialogového okna generátoru mají následující význam: Počet proměnných používá se pro zadání počtu sloupců výstupní tabulky, které mají být vyplněny hodnotami. Pokud nebude toto pole zadáno, budou vyplněny všechny sloupce zadané výstupní oblasti. Počet náhodných čísel zadání počtu řádků výstupní tabulky. Pokud nebude uvedené pole zadáno, budou vyplněny všechna řádky zadané výstupní oblasti. Typ rozložení volba typu rozdělení pravděpodobnosti simulované náhodné veličiny. Parametry po volbě typu rozdělení se v této oblasti objeví jeho charakteristiky. Například pro normální rozdělení je nutné zadat střední hodnotu a směrodatnou odchylku. Základ generátoru zadání volitelné hodnoty, od níž se mají generovat pseudonáhodná čísla. Zadáním stejné hodnoty je možné později získat stejná náhodná čísla. Možnosti výstupu PNČ mohou být vygenerována do vybrané oblasti buněk v daném listu nebo do nového listu, případně sešitu. 6.7 SPECIALIZOVANÝ SIMULAČNÍ SOFTWARE V případě řešení komplexních logistických problémů má uživatel možnost použít některý ze specializovaných simulačních programů, který mu může přinést další nesporné výhody: Uživatelský komfort, který je dán snadností ovládání, uživatelskou přívětivostí, možností prezentace výsledků apod. Špičkové produkty jsou založeny na modulární hierarchické struktuře, která se vyznačuje přehlednou prací se simulovaným modelem. Vizualizaci a animaci, která umožňuje graficky zobrazit počítačové výsledky různých manažerských rozhodnutí. Řešitel může sledovat simulaci daného problému v čase a může se podílet na vytvoření a ověření platnosti modelu reálného systému. Řešitel se tak nachází v pozici, kdy může využít své znalosti a zkušenosti k působení na model tak, aby prozkoumal alternativní strategie. Klasická simulace neumožňuje vidět, jak se řešení komplexního problému vyvíjí v čase, a tak poskytuje pouze statický pohled na řadu jednotlivých experimentů. Komunikaci a integraci s jinými softwarovými produkty a informačními systémy podniku. Nejčastěji se jedná o spolupráci s prezentačním softwarem, tabulkovými procesory a databázovými systémy. Analýzu usnadňuje integrace statistických nástrojů, optimalizačního či plánovacího software. Simulační software dnes nabízí celá řada specializovaných firem po celém světě. Mezi nejpoužívanější v české republice patří software WITNESS, Plant Simulation nebo Dosimis. 80

Shrnutí pojmů Simulace, metodologie simulace, pravděpodobnostní simulace, metoda Monte Carlo, náhodná čísla, simulační software. Otázky 12. V jakých případech je vhodné použít simulaci? 13. Jaké jsou základní kroky při uplatnění simulace? 14. Jaké jsou výhody simulace? 15. Co je to pravděpodobnostní simulace? 16. K čemu se používá v pravděpodobnostní simulace metoda Monte Carlo? 17. Jaký je základní princip metody Monte Carlo? 18. Jakou počítačovou podporu lze využít při realizaci pravděpodobnostní simulace? 19. Jaké jsou možnosti využití tabulkového kalkulátoru Excel pro potřeby pravděpodobnostní simulace? 20. V čem jsou výhody specializovaného simulačního software? Použitá literatura [3] TURBAN J., MEREDITH J. R. Fundamentals of Management Science. Irwin, 1991. 81

6.8 PŘÍLOHA - TABULKA NÁHODNÝCH ČÍSEL 7823 9505 7863 2976 4536 0062 2757 3281 4308 3826 1329 8318 5829 0986 2765 0874 9228 9903 9793 6938 9344 2120 1306 4629 8717 5407 0187 3141 7651 9415 2893 9213 4773 8866 4966 3964 8718 9311 5954 6955 8387 4641 6280 4467 4578 2349 7635 7109 8728 4950 9218 2101 8320 1526 8462 2968 2768 3615 2529 2812 3783 0934 3126 4600 1988 5102 1837 3864 1161 8517 7101 8024 5202 0158 0715 9539 4229 3874 6042 1437 9763 5760 9080 5720 1216 7843 5890 2789 7025 2332 6238 8043 1373 5162 6336 7402 6020 5070 7485 5620 3081 4854 8759 8005 0526 8974 8545 8541 6886 5014 2012 1843 5078 8581 1215 2189 8128 9536 5357 5700 5801 3622 6441 5059 8871 3844 7643 8809 8691 0747 7648 9165 7648 5068 5216 9526 6272 9181 7511 3217 8037 9114 8365 3502 9208 4589 5428 8676 3424 2980 7001 0478 0693 0665 0855 7396 5297 4919 1061 3722 0363 1856 9196 6949 6230 9456 9558 5963 5238 3367 2373 5890 6273 4141 4451 6709 1907 6029 5227 6050 2698 8500 1478 5049 3057 3784 1807 2634 8159 3015 9813 0030 2926 0519 2181 5244 1046 5367 5901 7474 0456 0663 0756 4094 4418 7953 4044 7590 4124 4389 1198 5571 6119 6540 7273 2009 9376 3496 0902 9923 2789 4477 6797 1870 1543 7954 9548 1232 4219 0236 6777 0342 2739 5811 1642 5979 2059 8088 3391 3480 0682 0604 2051 1375 8191 2566 3162 2572 0535 0605 6357 8278 3078 6929 5224 9124 7782 3184 4504 5879 3238 4159 5676 0418 0805 5265 6536 6506 9487 6087 9420 9063 6262 7289 3310 8731 3921 2095 5837 4218 82

7 TEORIE HER Čas ke studiu: 4 hodin Cíl Po prostudování této kapitoly budete umět: definovat úlohu teorie her, určit způsob řešení daných úloh podle zvolených algoritmů, aplikovat algoritmy řešení na konkrétní příklady s cílem nalezením optimálního řešení. Výklad V procesu rozhodování může nastat situace, že rozhodnutí jednoho účastníka je ovlivněno rozhodnutím jiného účastníka. V takovém to případě mluvíme o konkurenci nebo soutěži. Klasickým příkladem konkurenční situace je hra, která je charakterizována určitým počtem hráčů, pravidly hry a výsledky. Teorie her je soubor metod aplikovaných na určitou skupinu problémů. Teorie her je matematická teorie, která pomáhá v rozhodovacích procesech a využívá přitom formalizaci a abstrakci. Základní principy teorie her matematicky formuloval von Neumann v roku 1928. 7.1 CHARAKTERISTIKA TEORIE HER Základním principem her je dosažení daného cíle hráčem nebo hráči. Cílem může být dosažení nejlepšího času nebo konkrétní číselné hodnoty. Hry se může zúčastnit jeden hráč, kdy se snaží dosáhnout co nejlepšího výsledku nebo více hráčů, kdy vítěze určuje nejlepší výsledek. Existují hry, kdy cíle může dosáhnout jen jeden hráč na úkor jiného hráče. Každá hra má stanovena pravidla hry. Hráč má k dispozici určitou množinu tahů (voleb), ze kterých může vybírat. Strategie hráče v konkrétní hře určuje jeho možné volby v dané situaci. Strategii hráče tvoří posloupnost tahů (voleb), které hráč provede s cílem dosažení stanoveného cíle. O optimální strategii mluvíme tehdy, kdy neexistuje alternativní strategie, která povede k lepšímu výsledku hry anebo rychleji dosáhne daného cíle. Hra má řešení tehdy, pokud existuje optimální strategie pro všechny hráče. Existuje velká skupina metod teorie her, pro kterou je charakteristické, že hráč se rozhoduje pro určitou strategii ve stejném čase, kdy se rozhoduje protihráč pro některou ze svých možných 83

strategií, ale neví, jak se rozhodne protihráč a výsledek hry vždy závisí na kombinaci strategií obou hráčů. Dosažení daného cíle je obvykle spojeno se ziskem (výhra) na straně vítěze a ztrátou (prohra) na straně poraženého. Kde je výhra vyjádřená peněžními jednotkami, hovoříme o ekonomických hrách. Pokud je součet výher nulový pro všechny hráče, hovoříme o hrách s nulovým součtem. V opačném případě jde o hry s nenulovým součtem. Možné výsledky hry pro všechny kombinace strategii hráče můžeme zapsat do matice výher (tabulky výher). Dále se budeme pouze zabývat hrami dvou hráčů s nulovými součtem výher, které zahrnují: soutěž - hráči jsou ve vzájemném konfliktu (hra jednoho hráče není soutěž), akce a reakce (hráč A se rozhoduje pro strategii v situaci, kdy neví, jak se rozhodne protihráč B). Předpokládáme: všichni hráči myslí racionálně, všichni zúčastnění hráči mají zájem zvítězit a dosáhnout tak co nejlepší výsledek (soucit s protihráčem se nepřipouští). 7.2 VÍCE ETAPOVÉ HRY Na příkladu budou demonstrovány jednotlivé strategie dvou hráčů tvořené postupnými tahy. Řešený příklad Dva hráči (A, B) hrají na šachovnici o rozměru 4 x 4. Hráč A má kameny označené křížkem, hráč B symbolem kolečka. Hráči se při tazích střídají, kdy je povolený tah na sousední neobsazené bílé pole ve směru úhlopříčky. Pokud hráč, který je na tahu nemůže táhnout podle uvedených pravidel, tak prohrává. Rozložení kamenů je na obr. 1. Obr. 1 Hra dvou hráčů na šachovnici 84