Evropský polytechnický institut, s.r.o. 1. soukromá vysoká škola na Moravě Kunovice
EKONOMICKO-MATEMATICKÉ METODY
prof. Ing. Petr Dostál, CSc. Mgr. Věra Matuštíková Mgr. Iva Jevčaková
2011
Název: © Ekonomicko-matematické metody
2. aktualizované vydání Autoři: © prof. Ing. Petr Dostál, CSc. © Mgr. Věra Matuštíková © Mgr. Iva Jevčaková Recenzenti: Prof. Ing. Karel Rais, CSc., MBA, dr.h.c. H. Prof. Ing. Oldřich Kratochvíl, Ph.D., MBA, dr.h.c. Prof. Ing. Pavel Ošmera, CSc. Vydavatel: © Evropský polytechnický institut, s.r.o. Kunovice, 2011 Neprošlo jazykovou úpravou ISBN: 978-80-7314-242-1
Obsah ÚVOD ....................................................................................................................................................... 7 1
ÚVOD DO LINEÁRNÍHO PROGRAMOVÁNÍ ....................................................................................... 9 1.1 Cílové znalosti a dovednosti ................................................................................................... 9 1.2 Klíčová slova........................................................................................................................... 9 1.3 Operační analýza................................................................................................................... 10 1.4 Základní pojmy teorie systémů ............................................................................................. 11 1.5 Ekonomický systém a jeho zobrazení matematickým modelem........................................... 12 1.6 Základní pojmy lineárního programování............................................................................. 13 1.7 Kontrolní otázky ................................................................................................................... 17 1.8 Shrnutí................................................................................................................................... 17
2
ŘEŠENÍ ÚLOH LINEÁRNÍHO PROGRAMOVÁNÍ .............................................................................. 19 2.1 Cílové znalosti a dovednosti ................................................................................................. 20 2.2 Klíčová slova......................................................................................................................... 20 2.3 Typické úlohy lineárního programování ............................................................................... 20 2.3.1 Úlohy výrobního plánování...................................................................................... 20 2.3.2 Úlohy směšovací ...................................................................................................... 26 2.3.3 Úlohy o minimalizaci odpadu při řezání.................................................................. 28 2.3.4 Distribuční úlohy ..................................................................................................... 29 2.4 Cvičení .................................................................................................................................. 31 2.5 Grafické řešení úloh lineárního programování...................................................................... 34 2.5.1 Grafické vyjádření přímky a poloroviny .................................................................. 35 2.5.2 Vyjádření omezení plynoucí z úlohy v grafu ............................................................ 37 2.5.3 Popis přípustných řešení a grafické vyjádření účelové funkce ................................ 39 2.5.4 Shrnutí...................................................................................................................... 41 2.5.5 Kontrolní otázky....................................................................................................... 43 2.5.6 Cvičení ..................................................................................................................... 43 2.6 Simplexová metoda............................................................................................................... 44 2.6.1 Matematické základy................................................................................................ 44 2.6.2 Kontrolní otázky....................................................................................................... 48 2.6.3 Shrnutí...................................................................................................................... 49 2.6.4 Jednofázová simplexová metoda.............................................................................. 49 2.6.5 Dvoufázová metoda.................................................................................................. 58 2.6.6 Shrnutí...................................................................................................................... 61 2.6.7 Kontrolní otázky....................................................................................................... 61 2.6.8 Cvičení ..................................................................................................................... 62 2.7 Řešení úloh lineárního programování pomocí Řešitele ........................................................ 63 2.7.1 Cílové vlastnosti a dovednosti.................................................................................. 63 2.7.2 Klíčová slova............................................................................................................ 63 2.7.3 Práce s příkazem Řešitel .......................................................................................... 63 2.7.4 Kontrolní otázky....................................................................................................... 67 2.7.5 Shrnutí...................................................................................................................... 67 2.7.6 Cvičení ..................................................................................................................... 67 2.8 Dopravní úlohy ..................................................................................................................... 68 2.8.1 Cílové vlastnosti a dovednosti.................................................................................. 68 2.8.2 Klíčová slova............................................................................................................ 68 2.8.3 Formulace úlohy ...................................................................................................... 68 2.8.4 Nalezení výchozího řešení........................................................................................ 70 2.8.5 Výpočet optimálního řešení...................................................................................... 72 2.8.6 Nevyrovnaná dopravní úloha................................................................................... 74 2.8.7 Kontrolní otázky....................................................................................................... 84 2.8.8 Shrnutí...................................................................................................................... 84
2.8.9
Cvičení ..................................................................................................................... 85
3
METODY SÍŤOVÉ ANALÝZY ........................................................................................................... 87 3.1 Cílové znalosti a dovednosti ................................................................................................. 87 3.2 Klíčová slova......................................................................................................................... 87 3.3 Základní pojmy z oblasti síťové analýzy .............................................................................. 88 3.3.1 Ohodnocení síťového grafu...................................................................................... 89 3.3.2 Třídění síťových grafů.............................................................................................. 89 3.3.3 Znázornění síťových grafů ....................................................................................... 90 3.4 Časová analýza hranově definovaného SG metodou kritické cesty (CPM).......................... 92 3.4.1 Základní principy metody CPM ............................................................................... 92 3.4.2 Vlastní časová analýza hranově definovaného SG metodou CPM .......................... 95 3.4.3 Časová analýza hranově definovaného SG typu CPM v tabulce........................... 101 3.5 Základní principy metody PERT ........................................................................................ 105 3.6 Časová analýza uzlově definovaného síťového grafu......................................................... 107 3.7 Kontrolní otázky: ................................................................................................................ 109 3.8 Shrnutí................................................................................................................................. 110 3.8.1 Cvičení ................................................................................................................... 110
4
ZÁKLADY FINANČNÍ MATEMATIKY ............................................................................................ 113 4.1 Cílové znalosti a dovednosti ............................................................................................... 113 4.2 Klíčová slova....................................................................................................................... 113 4.3 Jednoduché úročení a diskontování .................................................................................... 114 4.3.1 Základní pojmy....................................................................................................... 114 4.3.2 Základní rovnice pro jednoduché úročení ............................................................. 116 4.3.3 Diskontování .......................................................................................................... 118 4.4 Cvičení ................................................................................................................................ 120 4.5 Složené úročení ................................................................................................................... 121 4.5.1 Základní rovnice složeného úročení ...................................................................... 121 4.5.2 Současná a budoucí hodnota při složeném úročení............................................... 122 4.5.3 Výpočet doby splatnosti ......................................................................................... 122 4.5.4 Výpočet úrokové sazby ........................................................................................... 122 4.5.5 Výpočet úroku ........................................................................................................ 123 4.5.6 Kombinace složeného a jednoduchého úročení ..................................................... 123 4.5.7 Nominální úroková míra ........................................................................................ 124 4.5.8 Efektivní úroková míra........................................................................................... 124 4.5.9 Reálná úroková míra.............................................................................................. 125 4.5.10 Úroková intenzita a spojité úročení ....................................................................... 125 4.6 Cvičení ................................................................................................................................ 126 4.7 Spoření ................................................................................................................................ 126 4.7.1 Spoření předlhůtní krátkodobé............................................................................... 127 4.7.2 Spoření polhůtní krátkodobé.................................................................................. 128 4.7.3 Dlouhodobé spoření............................................................................................... 130 4.7.4 Cvičení ................................................................................................................... 132 4.8 Důchody .............................................................................................................................. 133 4.9 Cvičení ................................................................................................................................ 141 4.10 Umořování dluhu ................................................................................................................ 142 4.11 Cvičení ................................................................................................................................ 145 4.12 Kontrolní otázky ................................................................................................................. 145 4.13 Shrnutí................................................................................................................................. 146
ZÁVĚR ................................................................................................................................................. 147 LITERATURA....................................................................................................................................... 149
Úvod Studijní text ekonomicko-matematické metody je určen studentům soukromé vysoké školy EPI, s.r.o. jako podklad pro studium. Studenti poznají základní druhy problémů při řízení hospodářství, naučí se převádět ekonomické úlohy na matematický model. Na praktických příkladech si ověří způsob sestavení matematického modelu a jeho řešení. Těchto poznatků mohou studenti využít při vypracování bakalářské práce a po svém absolvování na svém pracovišti. Pro studenty kombinované formy studia může být studijní text pomocníkem v běžných rozhodovacích situacích. Studenti kombinované formy studia mohou informace z tohoto textu průběžně aplikovat ve své práci u svého zaměstnavatele. Studijní text je rozdělen do 4 kapitol. V první kapitole se čtenář seznámí s pojmem operační analýza. S ohledem na ekonomické úlohy je veškerá problematika věnována lineárnímu programování. Seznámí se s postupem získávání základních informací ekonomických úloh, jejich třídění, nalezení vztahů mezi jednotlivými činiteli a základními pojmy lineárního programování. V druhé kapitole se čtenář seznámí s typickými úlohami lineárního programování na praktických příkladech, u nichž je sestaven matematický model. Na tuto část navazuje cvičení – soubor zadání ekonomických úloh, které budou studenti řešit postupně, jak se budou seznamovat s jednotlivými metodami řešení. Na tuto část navazují způsoby řešení, jednak grafické řešení nejjednodušších ekonomických úloh, na to navazuje obecné řešení úloh simplexovou metodou jednofázovou a dvoufázovou. Pomocí programu Řešitel si ověří způsob řešení úloh na počítači. |Na závěr se čtenář seznámí s řešením dopravních úloh tabulkovou formou. Třetí kapitola je věnována metodám síťové analýzy. Pomocí síťových grafů metodou CPM a PERT se seznámí s postupem rozhodování při plánování řešení určitého problému a to grafem i tabulkovou metodou. Úkolem bude zjistit tzv. kritickou cestu a u jednotlivých činností možnost rezervy. Čtvrtá kapitola je věnována základům finanční matematiky. Čtenář se seznámí nejdříve se základními pojmy, kterých využije v celé kapitole. Postupně se seznámí s praktickými příklady jednoduchého úročení, diskontem a pomocí odvozených vzorců bude řešit konkrétní úlohy. V další části pochopí princip složeného úročení a jeho využití v praxi. V teoretické části spoření, důchody a umořování dluhu poznají princip pravidelného spoření nebo pravidelného vyplácení určité smluvené částky. Umořovací plán podá informaci o výši splaceného dluhu. U všech kapitol jsou odvozeny jednotlivé vzorce, které se používají při řešení praktických příkladů. Vzorové příklady jsou vypočítány a na závěr jsou uvedeny příklady na procvičení. Pro ověření teoretických znalostí jsou za každou kapitolou kontrolní otázky. Studijní text je součástí ucelené technologie (teorie, cvičení, studijní texty, podpůrné materiály studenta, praxe, řešení bakalářské práce), cílem této technologie je u studenta vybudovat následující znalosti, dovednosti a kompetence:
-7-
Znalosti: Pojem programování, lineární programování, vstupní a výstupní veličiny, omezující podmínky, účelová funkce, transformační proces, matematické vyjádření ekonomického problému, metody řešení, grafické řešení úloh, simplexová metoda, tabulková metoda, řešení dopravních úloh, síťová analýza, rozdělení úkolu na jednotlivé činnosti, vzájemné navazování činností při sestavení síťového grafu určitého projektu, grafický postup při hledání kritické cesty – metodou CPM, tabulková forma určování kritické cesty, určení kritické cesty metodou PERT, základní pojmy finanční matematiky, jednoduché úročení, diskont, druhy úrokových mír, standardy, složené úročení, kombinované úročení, spojité úročení, spoření krátkodobé, dlouhodobé a kombinované, stavební spoření, důchod bezprostřední, odložený, věčný, umořování dluhu stejnými anuitami, stejným úmorem, umořovací plán. Cílové kompetence: Řídit procesy rozhodování řešením úloh lineárního programování. Vést malý tým při řešení hospodářských situací v podniku. Vypracovat projekt na řešení výrobních a provozních situací. Zdůvodnit postup realizace na základě sestaveného a vypočteného matematického modelu. Navrhnout a zdůvodnit nový způsob řešení. Zvolit nejvhodnější způsob zhodnocení finančního kapitálu. Efektivně a účinně komunikovat se svým týmem, na základě matematických výpočtů obhajovat své názory, projekty a výsledky práce týmu. Získávat sekundární informace, třídit je a využívat v rozhodovacích procesech. Dovednosti: Studiem získá znalost správné formulace ekonomických úloh na základě získaných vytříděných informací. Dovede určit vzájemné vztahy mezi jednotlivými veličinami a převést tento problém na matematický model. Pochopí význam jednotlivých proměnných v matematickém modelu. Dovede zvolit správnou metodu řešení daného matematického modelu, provést interpretaci výsledků a navržení nového způsobu řešení. Před realizací určitého projektu bude umět celý projekt rozdělit na jednotlivé činnosti, nalezne vztahy mezi těmito činnostmi, určí kritickou cestu a časové rezervy mezi návazností na jednotlivé činnosti. Na základě získaných znalostí z finanční matematiky bude umět rozhodnout o nejlepším způsobu zhodnocení svěřeného kapitálu, porovnat výhodnost nabízených finančních služeb. Za dodržení cílových znalostí, dovedností a kompetencí odpovídá student, za kontrolu odpovídá vysoká škola. Součástí technologie jsou také cvičení, která budou navazovat na probíranou látku procvičováním na praktických příkladech.
-8-
1
Úvod do lineárního programování
Obsah kapitoly 1.1. 1.2. 1.3. 1.4. 1.5. 1.6. 1.7. 1.8.
1.1
Cílové znalosti a dovednosti Klíčová slova Operační analýza Základní pojmy teorie systémů Ekonomický systém a jeho zobrazení matematickým modelem Základní pojmy lineárního programování Kontrolní otázky Shrnutí
Cílové znalosti a dovednosti
Cílové znalosti: Cílem kapitoly je seznámení se s nutností účinného řízení hospodářství. S rozvojem výrobních sil a rozmachem hospodářské činnosti je nutné tyto situace řešit nejen jako ojedinělý případ, ale vytvořit tzv. systémový přístup, který se chápe komplexně. S ohledem na různost ekonomické problematiky vznikají jednotlivé systémové disciplíny, s jejichž nejdůležitějšími druhy se seznámíte. Důležitou částí bude používání základních pojmů ekonomických systémů a uvědomování si celého transformačního procesu. V další části se seznámíte s pojmem matematický model a jeho druhy s ohledem na typické ekonomické úlohy. Ve třetí kapitole poznáte postup při užití úloh lineárního programování a obecný matematický model lineárního programování s předvedením na praktickém příkladu sestavením matematického modelu. Cílové dovednosti: 1. 2. 3. 4.
1.2
Pochopit nutnost rozhodování při řízení hospodářské činnosti. Rozlišit různé druhy rozhodování. Definovat pojem „lineární programování“. Znát matematický model úloh lineárního programování.
Klíčová slova
Hospodářské rozhodování, systémový přístup, systémové disciplíny, operační výzkum, ekonomický systém, vstupy, výstupy, uzavřený systém, otevřený systém, matematický model, metody ekonomického rozhodování, obecná úloha, lineární programování, omezující podmínky, účelová funkce.
-9-
1.3 Hospodářské rozhodnutí
Operační analýza
Při řízení hospodářství je nutné, aby se hospodářství vyvíjelo určitým směrem, účinně řídit hospodářství předpokládá řadu náročných činností. Jednou z nejdůležitějších činností je rozhodování, kterým rozumíme výběr takového možného řešení určité situace, která bude z určitého hlediska nejvýhodnější. Úspěšné a účinné řízení hospodářství na všech stupních je spojeno s volbou takových možných řešení, která nejlépe odpovídají všem okolnostem podmiňující řešení a také cílům. Výběru těchto nejvýhodnějších řešení rozhodovacích situací říkáme hospodářské rozhodování. Složitost a náročnost hospodářského rozhodování je výrazně ovlivněna stupněm rozvoje společnosti. S rozvojem výrobních sil a růstem rozsahu hospodářské činnosti se hospodářské rozhodování stává stále složitější a odpovědnější: 1. S vývojem výrobních sil roste počet možností jak danou situaci řešit. Rozvoj výrobních sil přináší mnohem větší rozmanitost do technologie výroby. 2. S rozvojem výrobních sil se rozvíjí dělba práce – na výrobě složitějších zařízení se často podílí více podniků – je třeba koordinovat jejich činnost tak, aby díly docházely ve správném časovém sledu a potřebném množství. 3. Dochází k prohlubování dělby práce v řídících funkcích. Z toho plyne, že každý vedoucí pracovník svého úseku má své stanovisko a ta se musí na základě všech potřebných informací sjednotit. 4. Čím je větší rozsah výroby a širší dělba práce, tím jsou důsledky chybného rozhodování citelnější. Na základě těchto úvah vidíme, že se setkáváme s různými typy rozhodovacích situací: a) Nalezení nejvhodnějšího způsobu jak splnit určitý úkol b) Najít nejvhodnější způsob jak využít svěřené prostředky. Uvedené požadavky může plnit jen exaktní, formalizovaný komplexní přístup ke zkoumání věcí a jevů tzn. systémový přístup, který jevy chápe komplexně v jejich vnitřních i vnějších souvislostech. Při pronikání systémového přístupu do nejrůznějších oborů, vzniká potřeba uplatnění tohoto přístupu. Vznikají postupně tzv. systémové disciplíny, které umožňují podle předem zadaných hledisek analyzovat a následně syntetizovat definované objekty. Analýza předpokládá rozčlenění objektu na jednotlivé části, zkoumání jejich vlastností a vzájemných vazeb. Syntéza získaných poznatků pak umožňuje vytvoření představy o vlastnostech celku. Systémové disciplíny, které souhrnně nazýváme systémová věda, rozdělujeme na disciplíny tvořící teoretický základ a na disciplíny aplikační, které vycházejí z tohoto teoretického základu. Mezi disciplíny systémové aplikace řadíme operační výzkum, systémovou analýzu a systémové inženýrství. Ekvivalentními názvy pro operační výzkum jsou: operační analýza a ekonomicko-matematické metody. Disciplíny systémové aplikace předpokládají systémový přístup, vyžadují týmovou
- 10 -
spolupráci odborníků různého zaměření a aplikačně zasahují do nejrůznějších oblastí praxe. Neustále se vyvíjejí, což je příčinou různého stupně jejich teoretické a aplikační rozpracovanosti. Nelze je považovat za samostatné vědní obory. Používají sice vlastní metody zkoumání, ale nemají vlastní předmět zkoumání. Ten přebírají z ekonomických, společenských, technických i přírodních věd. Operační výzkum lze chápat jako soubor přístupů a metod, které slouží k řešení složitých, zejména rozhodovacích problémů. Operační výzkum spolu s využitím výpočetní techniky patří mezi metodologické základy managementu, marketingu, logistiky apod. Podnětem pro rozvoj operačního výzkumu se stala potřeba činit rozhodnutí při omezených zdrojích za druhé světové války. Název operační výzkum je odvozen právě od této oblasti použití. Pro vyhledávání vhodných řešení byly použity metody založené na přesném mechanismu logiky matematických postupů, na vzniku a rozvoji moderní výpočetní techniky. Ukázalo se, že tyto metody jsou schopné přispět především ke zlepšení řízení výroby. Bouřlivý rozvoj metod operačního výzkumu a jejich aplikací nastal především v ekonomické oblasti. Proto se vžil i název ekonomicko-matematické metody, který vystihuje právě tuto oblast aplikace a použité prostředky.
1.4
Základní pojmy teorie systémů
Systém je účelově definovaná množina prvků a množina vazeb mezi nimi, které společně určují vlastnosti celku. Ekonomický systém je takový systém, jehož vazby obsahují ekonomické informace. Vazba systému je spojení mezi prvky systému nebo jejich množinami. Může být hmotná, nehmotná nebo informační. Zpětná vazba je vazba mezi výstupem a vstupem téhož prvku nebo systému, která způsobuje, že je vstup závislý na výstupu. Struktura systému je množina prvků a vazeb daného systému. Systém, jehož strukturu neznáme nebo jej z určitého hlediska zanedbáváme, nazýváme černou schránkou. Okolí systému je účelově definovaná množina prvků, které nejsou prvky daného systému, avšak vykazují k němu vazby, které jsou pro daný účel významné. Z hlediska vztahu systému k jeho okolí jsou významné pojmy: a) vstup – množina vazeb nebo proměnných, jejichž prostřednictvím je prvek nebo systém ovlivňován b) výstup je množina vazeb nebo proměnných, jejichž prostřednictvím prvek nebo systém projevuje své vnější působení c) Uzavřený systém je systém, který nemá vstup ani výstup d) Otevřený systém je systém, který má alespoň jeden vstup nebo výstup.
- 11 -
Popis ekonomického systému
1.5
Ekonomický
systém
a
jeho
zobrazení
matematickým
modelem Modelování je základním znakem operačního výzkumu – jde o postup, při němž jeden systém – originál – zobrazujeme jiným, jednodušším systémem – modelem. Při modelování musíme znát nejprve cíl, tj. musíme vědět, které poznatky chceme z modelových situací odvodit. Praktickým ověřováním výsledků získaných pomocí modelování pak model dodatečně upravujeme. Může se stát, že při prvotním návrhu modelu je zjednodušení skutečnosti příliš velké a zanedbali jsme důležité parametry, nebo naopak jsme uvažovali některé nedůležité vlastnosti. Okruh metod operačního výzkumu (ekonomicko-matematických metod) není zatím zcela uzavřený. Potřeba řešit jednotlivé ekonomické problémy si vyžaduje vznik stále nových metod. V návaznosti na teorii systémů a ekonomicko-matematické modelování lze rozdělit ekonomicko-matematické metody podle hledisek: 1. podle tvaru matematického modelu 2. podle povahy modelovaného systému. Druhy matematických modelů
Do první skupiny zařazujeme metody, které k řešení dané problematiky používají standartní matematické modely. Tyto metody dělíme na: a) matematické programování – umožňují nalézt optimální řešení problému za předpokladu, že existuje více než jedno možné řešení, že existuje konečný počet omezujících podmínek, které vyjadřují splnění určitých požadavků, a je zadáno určité optimalizační kritérium, podle kterého můžeme jednotlivé řešení hodnotit. Matematické programování se tedy zabývá zkoumáním a rozpracováním metod řešení úloh, které lze formulovat jako úlohy o vyhledávání extrémní hodnoty funkce n – proměnných. Podle toho, zda veličiny v modelech mají lineární, nebo nelineární charakter, zda jsou zadány jako známé konstanty nebo náhodné veličiny, nebo zda se při řešení problému přihlíží k času, rozlišujeme lineární programování, nelineární programování, stochastické programování, dynamické programování apod. b) strukturní analýzu – je to bilanční metoda, která pomocí matematického modelu charakterizuje reprodukční proces určitého ekonomického systému z hlediska kvantitativních vztahů mezi jednotlivými odvětvími. Zkoumá pouze podmínky rovnováhy v rámci omezeného systému (národní hospodářství, oboru, podniku.). c) graficko – analytické metody- zahrnují teorii grafů a metody analýzy sítí. Tyto metody jsou určené pro analýzu složitých návazných procesů zkoumaných z hlediska jejich časového průběhu. Odhalují kritické úseky, které rozhodují o včasném ukončení plánovaných procesů a umožňují stanovit časové rezervy u těch činností, které bezprostředně neovlivňují termín ukončení celého procesu. Jsou vhodné pro plánování, řídící a kontrolní činnost. d) teorii her – zabývá se řešením konfliktních situací, ve kterých vystupují proti sobě dva nebo více účastníků hry s protichůdnými zájmy. e) Teorie hromadné obsluhy – matematicky modeluje systémy, které vznikají při hledání takového způsobu obsluhy, při kterém jsou časové ztráty vzniklé prostoji obslužných zařízení minimální. f) Teorie zásob - soustava matematických modelů, které popisují a umožňují řešit situace vzniklé hromaděním surovin, materiálu. Hledá optimální velikost a - 12 -
g) h)
1.6
optimální rozložení zásob a to jak z místního, tak i z časového hlediska. Teorie obnovy – zabývá se stanovením optimálního způsobu oprav, obměn a doplňování tak, aby se počet objektů nebo výrobních zařízení neměnil, nebo se vyvíjel požadovaným směrem. Simulace – slouží pro analýzu složitých systémů. Napodobuje chování systému na počítači zpravidla ve zrychleném čase.
Základní pojmy lineárního programování
Matematické metody využívají při rozhodování matematických výrazových prostředků a výpočetních postupů. Praktické rozhodovací problémy mají obrovské množství variant řešení. Určit je všechny, popsat je a vybrat z nich optimální variantu běžnými prostředky je prakticky neúnosné. Navíc je slovní popis nepřesný, nejednoznačný a zdlouhavý.
Postup sestavení matematického modelu
Proto se rozhodovací situace popisují pouze zjednodušeně, pomocí vybraných charakteristik. Mluvíme o sestavení ekonomického modelu. Použitím matematiky můžeme tyto složité situace výstižně a přesně popsat. Říkáme tomu také matematické modelování. Sestavit matematický model nějakého jevu nebo situace znamená právě popsat příslušný jev pomocí matematických prostředků. Při řešení určitého problému je potřeba: a) sběr informací týkajícího se daného problému b) třídění informací – vyloučit ty, které daný problém neovlivňují c) hledání vztahů mezi jednotlivými údaji d) na základě vzájemných vztahů vytvořit matematický model e) podle typu matematického modelu zvolit metodu řešení f) určení optimálního řešení g) interpretace výsledků a formulace rozhodnutí h) na základě výsledků hledání nových možností řešení daného problému. Nejjednodušší a nejrozšířenější matematickou metodou užívanou při hospodářském rozhodování je lineární programování. Jde při něm o hledání optimálního řešení na množině přípustných řešení v těch případech, kdy množina přípustných řešení je matematicky jednoznačně vyjádřena soustavou lineárních nerovnic nebo soustavou lineárních rovnic a kritérium pro výběr nejvýhodnějšího řešení je vyjádřeno lineární funkcí. Obecnou úlohu lineárního programování můžeme definovat takto: Je třeba nalézt maximální, resp. minimální hodnotu lineární funkce n proměnných (x1, x2, …, xn) Z=c1x1 + c2x2 + … + cnxn při omezeních a11x1 + a12x2 +….+a1nxn ≤ b1 a21x1 + a22x2 +….+a2nxn ≤ b2 | | | | am1x1 + am2x2 +….+amnxn ≤bm x1,x2,…,xn ≥ 0 - 13 -
Obecný matematický model
Tento zápis budeme nazývat obecnou úlohou lineárního programování v rozepsaném tvaru. V této úloze jsou cj, aij, bi konstanty a xj strukturní proměnné (i= 1, 2, ..., m; j= 1, 2 .., n) Lineární funkci Z nazýváme účelovou funkcí, nerovnice nazýváme soustavou omezujících podmínek úlohy lineárního programování. Soustava je tvořena vlastními omezeními, a podmínkami nezápornosti. Jestliže je třeba v úloze vybrat taková x1, x2, …, xa, při kterých dosahuje účelová funkce maximální hodnotu, potom budeme tuto úlohu nazývat maximalizační úlohou, jestliže hledáme minimální hodnotu účelové funkce, nazýváme úlohu minimalizační úlohou. Mezi maximalizační a minimalizační úlohou lineárního programování existuje velmi úzký vztah. Libovolnou maximalizační úlohu lze převést na minimalizační úlohu a naopak. Stačí vynásobit koeficienty účelové funkce číslem -1. Optimální hodnoty obou účelových funkcí budou čísla opačná, tj. Zmax = -Zmin, resp. Zmin = -Zmax. Uvedeme obecnou úlohu lineárního programovaní: n
Z max(min) c j x j j 1
n
a x j1
ij j
xj 0
bi
(i = 1,2,….,m)
(j = 1, 2, ….., n)
Postup při matematické formulaci ekonomických úloh si ukážeme nejdříve na jednoduché úloze výrobního plánování: Příklad Máme navrhnout takový výrobní program, který zabezpečí nejvyšší zisk z výroby a prodeje výrobků A a B při omezeném využitelném disponibilním množství suroviny S (24 000 kg, při omezeném využitelném časovém fondu zařízení K (32 000 hodin) a při omezeném počtu pracovníků P (disponibilní časový fond je 12 000 hodin). Norma spotřeby surovin S činí 6 kg na jeden výrobek A, 4 kg na jeden výrobek B. Na zařízení K je jeden výrobek A opracováván 4 hodiny, jeden výrobek B 8 hodin. Souhrnná norma času pracovníků P na zhotovení jednoho výrobku A je 2 hodiny, stejně jako na zhotovení jednoho výrobku B. Zisk z jednoho výrobku A je 8,--Kč, z jednoho výrobku B je 10,-- Kč. Ostatních činitelů potřebných k výrobě má podnik dostatečné množství. Předpokládáme, že všechny výrobky prodáme. Vidíme, že tento ekonomický problém z hlediska matematického řešení je dosti nepřehledný. Proto je vhodné sestavit si tyto údaje do tabulky: Výrobní činitel Surovina kg Zařízení K hod. Pracovníci P hod Zisk Kč
Výrobek A 6 4 2 8
Výrobek B 4 8 2 10
- 14 -
Disponibilní množství 24000 32000 12000 Maximální
Tím se stává daný problém přehlednější. Aniž bychom znali matematický model lze se pokusit najít některá přípustná řešení a zjistit velikost zisku. Úkol: a) Určete tři přípustné výrobní programy, vypočtěte při nich dosažený zisk b) Určete velikost zisku, bude-li podnik vyrábět jen výrobky B c) Určete velikost zisku, bude-li vyrábět je výrobky A. Z hlediska cíle úlohy jde v úloze o přeměnu disponibilního množství suroviny S, kapacity zařízení K a fondu pracovníků P na maximální zisk. Celkový proces lze schematicky popsat takto: Spotřeba surovin Využití kapacity náklady Vynaložená práce
tržby výroba Výroba:
skladování Skladování
-
Prodej
Vstupy a výstupy
= zisk
Dochází k transformačnímu procesu, kdy činitelé suroviny, zařízení a pracovníci jsou v procesu přeměny vstupy procesu, zatímco zisk je výsledkem sledovaného procesu – jeho výstupem. Transformační proces lze schematicky v obecné podobě znázornit takto: Vstupy
Transformační proces
Výstupy
Tímto způsobem lze vyjádřit všechny procesy lineárního programování. V našem případě proces přeměny činitelů S,K,P na zisk Z při výrobě a prodeji jednoho výrobku A bude 6 kg suroviny S 4 hodiny K 2 hodiny P
8 Kč zisku
.
Úkol: Popište obdobným způsobem proces přeměny činitelů S,K,P na Z při výrobě a prodeji výrobku B. Popište stejným způsobem celkový transformační proces. Toto grafické znázornění je zdlouhavé. Názornější a z hlediska vytvoření matematického modelu je vhodnější záznam pomocí vektorů. Abychom i formálně odlišili vstupy od výstupů, budeme vstupy označovat kladně a výstupy záporně. To znamená, že: Výrobek A můžeme popsat vektorem a = (6, 4, 2, -8) Výrobek B b = ( 4, 8, 2, -10 ) Disponibilní množství c = (24 000,32 000,12 00,-Z) Popisujeme-li výrobky, říkáme, že jsme popsali jejich jednotkovou úroveň.
- 15 -
Transformační proces
Předpokládáme-li že výrobků A vyrobíme x1 a výrobků B vyrobíme x2 můžeme danou úlohu zapsat pomocí vektorové nerovnice ve tvaru: ax1 + bx2 < c .
Matematická model vektorové nerovnice
Vytvoříme-li z omezujících podmínek matici 24000 4 6 x1 32000 8 4 , X = , C= A= 2 12000 2 x2 Z 8 10 Můžeme matematicky zapsat v maticovém zápisu problém ve tvaru: AX C. Po provedení dané operace můžeme vyjádřit tuto úlohu jako soustavu lineárních nerovnic ve tvaru: 6x1 + 4x2 24 000 4x1 + 8x2 32 000 2x1 + 2x2 12 000 -8x1 – 10x2 = -Z (max).
Postup formulace úlohy
Přitom poslední rovnice nám vyjadřuje účelovou funkci. Je třeba si uvědomit, že matematický model není úplný, protože neznámé x1, x2 , že musí být buď kladná čísla nebo čísla přirozená nebo rovna nule. Celý postup při matematické formulaci úloh lineárního programování můžeme shrnout do několika kroků: 1. rozebereme obsah úlohy a popíšeme procesy úlohy při vhodně zvolené jednotkové úrovni 2. zavedeme neznámé a vymezíme jejich vlastnosti 3. matematicky zformulujeme omezení plynoucí z daného disponibilního množství činitelů 4. shrneme dosavadní výsledky a popíšeme tak množinu přípustných řešení 5. matematicky zformulujeme účelovou funkci 6. přistoupíme k celkové matematické formulaci úlohy. Omezení plynoucí z daného disponibilního množství činitelů jsme formulovali soustavou nerovnic. To není možnost jediná a z hlediska řešení úlohy ani možnost nejvýhodnější, protože pro matematické řešení by bylo výhodnější, kdybychom získali soustavu rovnic. Z hlediska ekonomického dané nerovnice vyjadřují, že všechny omezující činitelé nejsou využiti. Množství, které není u jednotlivých činitelů využito, označíme jako fiktivní (pomyslné) proměnné, budeme je označovat xi,´ a nazveme je přídatné proměnné Úloha Vysvětlete ekonomický obsah fiktivních (přídatných) neznámých v naší úloze. Celková matematická formulace úlohy se zavedením přídatných proměnných lze napsat takto:
- 16 -
Vypočtěte celá kladná čísla x1, x2 a čísla x1´, x2´, x3´ kladná nebo rovna nule a přitom byly splněny rovnice: 6x1 +4x2 + x1´ = 24 000 4x1 + 8x2 + x2´ = 32 000 2x1 + 2x2 + x3´ = 12 000 a aby účelová funkce 8x1 + 10x2 = Z dosáhla maximálně možné hodnoty Z. Z naší jednoduché úlohy vidíme, že výsledkem prvního i druhého procesu je zisk a přitom je zřejmé, že zisk z výrobků A lze sčítat se ziskem z výrobků B. Mluvíme pak o aditivitě neboli sčitatelnosti výsledků jednotlivých procesů.
1.7 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
1.8
Kontrolní otázky Co je podstatou rozhodování při řízení hospodářství? Co způsobuje rostoucí složitost a náročnost hospodářského rozhodování? Uveďte hlavní typy hospodářských rozhodovacích situací v podniku. Uveďte základní rysy rozhodovacího procesu. V čem je význam matematiky pro rozhodování? Vyjmenujte a charakterizujte etapy, kterými probíhá užití matematických metod při rozhodování. Co je podstatou lineárního programování? Co je společné všem procesům v úlohách lineárního programování? znázorněte schematicky transformační proces. Uveďte hlavní předpoklady užití lineárního programování. Vysvětlete, v čem je podstata linearity. Co rozumíme pod pojmem aditivita v úlohách lineárního programování. Co je to tzv. jednotková úroveň procesu? Kterou vlastnost mají neznámé v úlohách lineárního programování? Jak je matematicky popsána množina přípustných řešení? Jak je matematicky vyjádřeno kritérium úlohy? Co jsou fiktivní procesy a jaký je význam přídatných proměnných? Jaký je základní postup při matematické formulaci úloh lineárního programování?
Shrnutí
V této části jste se seznámili se základními pojmy programování, uvědomili jste si které úkoly budete řešit, jak probíhá výrobní proces. Víte, že při řešení konkrétního úkolu je třeba se nejdříve podrobně seznámit s celým procesem výroby, určit veličiny ovlivňující výrobu a vyloučit veličiny, které nám výrobu neovlivní a teprve je možné hledat vzájemné vztahy mezi veličinami a nahradit celý problém matematickým modelem.
- 17 -
- 18 -
2
Řešení úloh lineárního programování
Obsah kapitoly 2.1. 2.2. 2.3.
2.4. 2.5.
2.6.
2.7.
2.8.
Cílové znalosti a dovednosti Klíčová slova Typické úlohy lineárního programování 2.3.1. Úlohy výrobního plánování 2.3.2. Úlohy směšovací 2.3.3. Úlohy o minimalizaci odpadu při řezání 2.3.4. Distribuční úlohy Cvičení Grafické řešení úloh lineárního programování 2.5.1. Grafické vyjádření přímky a poloroviny 2.5.2. Vyjádření omezení plynoucí z úlohy v grafu 2.5.3. Popis přípustných řešení a grafické vyjádření účelové funkce 2.5.4. Shrnutí 2.5.5. Kontrolní otázky Simplexová metoda 2.6.1. Matematické základy 2.6.1.1. Řešení soustavy lineárních rovnic 2.6.1.2. Řešení soustavy lineárních nerovnic 2.6.2. Kontrolní otázky 2.6.3. Shrnutí 2.6.4. Jednofázová simplexová metoda 2.6.4.1. Test optimality pro maximalizační úlohy 2.6.4.2. Zlepšování výchozího řešení 2.6.4.3. Řešení úloh lineárního programování v simplexové tabulce 2.6.5. Dvoufázová metoda 2.6.6. Shrnutí 2.6.7. Kontrolní otázky Řešení úloh lineárního programování pomocí Řešitele 2.7.1. Cílové vlastnosti a dovednosti 2.7.2. Klíčová slova 2.7.3. Práce s příkazem Řešitel 2.7.4. Kontrolní otázky 2.7.5. Shrnutí Dopravní úlohy 2.8.1. Cílové vlastnosti a dovednosti 2.8.2. Klíčová slova 2.8.3. Formulace úlohy 2.8.4. Nalezení výchozího řešení 2.8.5. Výpočet optimálního řešení 2.8.6. Nevyrovnaná dopravní úloha 2.8.7. Kontrolní otázky 2.8.8. Shrnutí
- 19 -
2.1
Cílové znalosti a dovednosti
Cílem kapitoly je seznámit se s typy úloh lineárního programování a sestavení matematického modelu. V další části budou řešeny nejjednodušší úlohy graficky. Nejdříve budou zopakovány matematické základy grafického znázornění přímky, její vlastnosti, znázornění poloroviny, průnik polorovin a grafické řešení soustavy lineárních nerovnic. Ve třetí části bude vysvětlen princip jednofázové simplexové metody pro maximalizační úlohy a dvoufázové simplexové metody pro maximalizační i minimalizační úlohy. Poslední část bude zaměřena na řešení dopravních úloh a to sestavením matematického modelu, určením základního řešení metodou severozápadního rohu, indexní metodou, metodou Vogelovou aproximační metodou (VAM) a provedením optimalizace distribuční metodou.
2.2
Klíčová slova
Omezující podmínky, disponibilní množství, účelová funkce, přídatné proměnné, řezný plán, úlohy výrobního plánování, úlohy o polotovarech, směšovací úlohy, distribuční úlohy, kanonický tvar, základní neznámé, volné neznámé, klíčový řádek, klíčový sloupec, klíčový prvek.
2.3
Typické úlohy lineárního programování
V této kapitole si všimneme typických úloh z jednotlivých oborů řízení hospodářství a poukážeme na rozdíly při sestavování matematických modelů. S ohledem na rychlé sestavení matematického modelu jsou již potřebné informace setříděny a sestaveny do tabulek.
2.3.1
Úlohy výrobního plánování
Příklad Závod, který vyrábí tři druhy výrobků, jež zpracovává postupně ve dvou hospodářských střediscích, má minimalizovat spotřebu energie při pevně stanoveném zisku 40 000 Kč. Využitelný časový fond prvního hospodářského střediska je 72 000 hodin a druhého střediska 122 000 hodin. Pracnost výrobků je patrna z tabulky: Potřeba hodin na výrobek A 1.hospodářské 6 středisko 2.hospodářské 10 středisko Zisk 6 Spotřeba 11 energie na ks.
B
C
Disp. množ.
8
12
72 000h
14
16
122 000h
4
8
40 000kč
10
16
Minimum
Postup formulace této úlohy bude stejný jako u vzorové úlohy. Je zde však rozdíl v cíli úlohy. Podstatou procesu je sice opět přeměna činitelů na zisk ale s cílem - 20 -
dosáhnout nejnižší možné spotřeby energie. Kritériem není velikost výstupu, ale velikost vstupu úlohy. Sestavit matematický model není těžké. Máme nalézt minimum funkce z = 11x1 +10x2 + 16x3 na množině řešení soustavy rovnic 6x1 + 8x2 + 12x3 ≤ 72 000 10x1 + 14x2 + 16x3 ≤ 122 000 6x1 + 4x2 + 8x3 ≤ 40 000 za předpokladu, že x1 , x2 , x3 budou nezáporné. V tomto příkladu není třeba naznačovat transformační proces, vektorový, maticový ani matematický model pomocí soustavy nerovnic. Určitě je zvládnete sami. Proveďte. Příklad Podnik vyrábí tři výrobky. Rozsah plánované výroby je omezen nedostatkem kvalifikovaných pracovníků a surovin. Potřeba činitelů na 1 výrobek A Pracovní čas 6 Suroviny 8 Zisk 25
B 4 5 15
C 8 10 30
Disp. množ. 40 000h 80 000kg maximum
Podnik má možnost využít práce přesčas v rozsahu 5 000 hodin. Jsou s ní však spojeny větší náklady. Zisk z jednoho výrobku se proto sníží a bude činit z jednoho výrobku A 20 Kč, z jednoho výrobku B 12 Kč a z jednoho výrobku C 27 Kč. Sestavit matematický model původní úlohy není složitý a sami si ho vytvoříte. Chceme-li při výrobě využít práce přesčas, můžeme se na přesčasovou výrobu výrobků dívat jako na další, samostatné procesy, o které rozšíříme základní úlohu Práci přesčas považujeme za samostatného činitele a výrobu při využití práce přesčas považujeme za samostatné procesy. Rozšíříme-li původní tabulku při využívání práce přesčas bude mít matematický model tvar: Nalézt maximum funkce z = 25x1 + 15x2 + 30x3 +20x4 + 12x5 + 27x6 Na množině řešení soustavy nerovnic 6x1 + 4x2 + 8x3
6x4 +4x5 + 8x6 8x1 + 5x2 + 10x3 +8x4 +5x5 +10x6
≤ 40 000 ≤ 5 000 ≤ 80 000
při splnění podmínek nezápornosti xi ≥ 0. Při interpretaci nesmíme zapomenout, že plánovaná výroba výrobku A je x1 + x4 , výroba výrobku B je x2 + x5 a výroba výrobku C je x3 + x6 .
- 21 -
Příklad Zelinářská skupina zemědělské farmy má rozhodnout o využití 8 ha půdy, která zbývá po zajištění plánovaných úkolů. Má se rozhodnout o tom, zda pěstovat zelí nebo květák. Skupina má ve druhém čtvrtletí roku k dispozici 6 000 pracovních hodin, ve třetím čtvrtletí 8 000 pracovních hodin. Požaduje se, aby skupina vyprodukovala plodiny v hodnotě nejméně 96 000 Kč, při minimálních celkových nákladech. Činitel
Zelí
Květák
Pracovní hodiny na 1ha ve druhém čtvrtletí Pracovní hodiny na 1ha ve třetím čtvrtletí Plánovaná hrubá produkce z 1ha Plánované náklady na 1ha
1 200
600
Disponibilní požadované množství 6 000 hodin
500
1 000
8 000 hodin
12 000 15 000 8 000 8 000
nebo
96 000 Kč minimum
Je třeba si uvědomit, že problémem v rostlinné výrobě je požadavek optimálního využití půdy. Ve skutečnosti tyto úlohy jsou značně rozsáhlé, protože omezujících činitelů je podstatně více a počet druhů, které můžeme pěstovat také větší. Při sestavování transformačního procesu na jeden hektar vypěstovaného zelí je třeba si uvědomit, že vstupními veličinami jsou: 1 ha půdy hodiny ve 2. čtvrtletí hodiny ve 3. čtvrtletí plánované náklady v Kč. Výstupní veličinou je hrubá produkce v Kč. Naznačte si tento transformační proces jednak pro zelí a jednak pro květák. Matematicky tedy jde o určení nezáporných čísel x1, x2, takových, aby byla splněna soustava nerovnic: x2 ≤ 8 x1 + 600x2 ≤ 6 000 1 200x1 + 500x1 + 1 000x2 ≤ 8 000 12 000x1 + 15 000x2 ≥ 96 000 8 000x1 + 8 000 x2 = z a aby neznámá Z nabyla nejmenší hodnoty. Úkol: Převeďte soustavu nerovnic na soustavu rovnic zavedením přídatných proměnných. Jaké jsou pro ně podmínky? Příklad Máme stanovit výrobní program, který zabezpečí maximální odbyt v závodě vyrábějícím ve dvou provozech výrobky A a B. Výrobek A může být finálním výrobkem nebo polotovarem pro výrobu výrobku B. Máme-li k dispozici 12 000
- 22 -
jednotek nedostatkové suroviny S. Ostatních potřebných činitelů, máme-li dostatek. Podle smluv s odběrateli musíme vyrobit a dodat nejméně 400 kusů výrobku A Činitel úlohy
Výrobek A
Výrobek B
Surovina Polotovar Cena 1 kusu
3 kg
2 kg 2 ks 20 Kč
8 Kč
Dispon. množství 12 000 kg maximum
Omezení ve spotřebě suroviny můžeme bez problémů matematicky vyjádřit: 3x1 + 2x2 ≤ 12 000. K výrobě jednoho výrobku B musíme mít dva polotovary, na které spotřebujeme také surovinu. Protože nemáme žádné zásoby polotovarů, a máme smlouvu na dodávku 400 výrobků A, musí výroba výrobků A pokrýt jak spotřebu pro výrobu výrobků B, tak i smluvní dodávku. Proto musí platit, že x1 ≥ 2x2 + 400. Při formulaci účelové funkce si musíme uvědomit, že výrobků A budeme prodávat jen x1 - 2x2 . Účelová funkce se pak rovná: Z = 8(x1 - 2x2 ) + 20x2 Po úpravě z = 8x1 + 4x2. Úlohu vyřešíme nalezením maximální hodnoty z pro nezáporné x1 ,x2 soustavy
z této
8x1 + 4x2 = z 3x1 + 2x2 ≤ 12 000 x1 - 2x2 ≥ 400. Úloha Převeďte soustavu nerovnic na soustavu rovnic a určete opět podmínky pro přídatné proměnné Příklad Motocyklový závod vyrábí tři typy motocyklů A, B, C. Výroba jednoho typu může být po malých úpravách vystřídána výrobou jiného typu. Při stanovení výrobního programu se musí vzít v úvahu kapacita šesti provozů, jež je omezena. Ostatní zdroje potřebné k výrobě jsou v dostatečném množství. Kapacita různých provozů je udána počtem kusů každého typu, který by provoz mohl vyrobit, kdyby vyráběl motocykly toho jediného typu
- 23 -
Provoz Slévárna Úpravna odlitků Lisovna Montáž typu A Montáž typu B Montáž typu C
Denní kapacita provozů, vyrábí-li A B 100 125 150 125 125 100 75 80
C 75 100 100 80
Cena jednoho kusu typu A je 45 000 Kč typu B, 40 000 Kč, a typu C 60 000 Kč. Je třeba stanovit takový výrobní program, který by přinesl maximální hodnotu produkce v Kč. V tomto případě neznáme disponibilní množství omezujících podmínek, jenom množství vyrobených kusů jednotlivých druhů motocyklů za jednu směnu. Z toho můžeme zjistit pracnost jednotlivých druhů v porovnání s ostatními druhy. Abychom mohli snadno sestavit matematický model je nejvýhodnější zvolit si disponibilní množství jednotlivých omezujících činitelů a zpětně vypočítat množství hodin na výrobu jednoho kusu motocyklu určitého typu. Na příklad volíme-li, že slévárna má k dispozici na den 100 hodin, stejně tak i úpravna i lisovna, montáž A 75 hodin, montáž B 80 hodin, montáž C 80 hodin, bude mít tabulka tvar: Provoz Slévárna Úpravna odlitků Lisovna Montáž typu A Montáž typu B Montáž typu C Cena
Disp. množství
Počet hodin na výrobu typu A 100/100 100/150 100/125 1
B 100/125 100/125 100/100
C 100/75 100/100 100/100
1 45000
40000
1 60000
V tomto případě sestavení matematického modelu je již snadné. Volíme-li, že x1 je počet kusů typu A vyráběný za den x2 je počet kusů typu B vyráběný za den x3 je počet kusů typu C vyráběný za den, dostaneme matematický model: x1 + 4/5x2 + 4/3x3 ≤ 100 x3 ≤ 100 2/3x1 + 4/5x2 + 4/5x1 + x2 + x3 ≤ 100 x1 ≤ 75 x2 ≤ 80 x3 ≤ 80. Účelová funkce z = 45 000x1 + 40 000x2 + 60 000x3. Úkol:
- 24 -
100 100 100 75 80 80 maximum
Převeďte soustavu nerovnic na soustavu rovnic a vysvětlete ekonomickou funkci přídatných proměnných. Jaká je v tomto případě podmínka pro základní neznámé? Příklad V podniku jsou vyráběny tři druhy výrobků pěti různými technologickými postupy. Údaje charakterizující jednotlivé procesy a udávající spotřebu surovin, polotovarů a množství vyrobených výrobků při každém z pěti možných technologických procesů, jsou uvedeny v tabulce, přitom vstupy jsou kladné, výstupní hodnoty jsou označovány záporně Činitelé Surovina_1 Surovina_2 Polotovar_1 Polotovar 2 Výrobek_1 Výrobek_2 Výrobek_3
I 5 7 -1 -1 -5 0 -4
II 6 2 -2 2 -2 -3 -4
III 5 3 1 -4 -4 -2 -4
IV 4 5 0 -2 -2 0 -5
V 7 4 -2 0 0 -4 -3
Disp. množství 1000 1250 0 0 0 0 0
Výrobky 1, 2, 3 se dodávají pouze v souborech po třech kusech výrobku 1, dvou kusech výrobku 2 a pěti kusech výrobku 3. To znamená, že ty výrobky, které nelze do souborů o daném počtu výrobků zahrnout, jsou zbytečné. Podniku jde o to, aby maximalizoval výrobu kompletních souborů Z tabulky je zřejmé, že při prvním technologickém postupu vstupuje do transformačního procesu 5 jednotek Surovina_1, 7 jednotek Surovina_2 a z toho vyrobíme (výstup) 1 Polotovar_1, 1 Polotovar_2, 5 Výrobek_1 a 4 Výrobek_3. Při druhém technologickém postupu jsou vstupní veličiny Surovina_1 a Surovina_2 a Polotovar_2, výstupní veličiny jsou polotovar_1, výrobek_1, výrobek_2 a výrobek_3. Zvolíme-li za neznámé x1, x2, x3, x4, x5, kolikrát opakujeme jednotlivé technologické postupy, pak omezení v množství surovin se dá snadno vyjádřit: 5x1 + 6x2 + 5x3 + 4x4 + 7x5 ≤ 1 000 7x1 + 2x2 + 3x3 +5x4 +4x5 ≤ 1 250 Pokud jde o polotovary, nesmí jejich spotřeba překročit jejich výrobu. Vidíme, že Plotovar_1 se vyrábí v třetím technologickém procesu a spotřebovává se v 1., 2., a 5. technologickém procesu. Takže pro Polotovar_1 vyplývá omezení: x3 ≤ x1 + 2x2 + 2x5 Pro Polotovar_2 musí platit 2x2 ≤ x1 + 4x3 + 2x4 První výrobek se vyrábí v množství 5x + 2x + 4x + 2x Protože v souboru jsou 3 kusy Výrobku_1, lze z vyrobených kusů vytvořit
- 25 -
5 x1 2 x 2 4 x3 2 x 4 souborů. 3
Podobně výroba druhého výrobku stačí na
a výroba třetího výrobku na
3 x 2 2 x3 4 x5 souborů 2
4 x1 4 x 2 4 x3 5 x 4 3 x5 souborů. 5
Po úpravě jednotlivých nerovnic dostáváme matematický model, že kterého určujeme nezáporná řešení soustavy nerovnic: 5x1 7x1 -x1 -x1 5x1
+6x2 + 2x2 - 2x2 + 2x2 - 2x2 - 3x2 - 4x1 - 4x2
+ + + -
5x3 3x3 x3 4x3 4x3 2x3 4x3
+ 4x4 +7x5 ≤ 1000 + 5x4 +4x5 ≤ 1250 - 2x5 ≤ 0 - 2x4 ≤ 0 - 2x4 + 3z ≤ 0 -4x5 + 2z ≤ 0 - 5x4 -3x5 +5z ≤ 0,
takové, aby neznámá Z dosáhla maximální možné hodnoty. Z povahy úlohy ovšem vyplývá i další omezení, tj. že proměnné musí být celá čísla.
2.3.2
Úlohy směšovací
Tyto úlohy jsou zaměřené na sestavení nejvhodnější kombinace různých složek, z kterých máme utvořit požadovanou směs Příklad Pro výkrm dobytka potřebujeme na kus 2,5 krmných jednotek denně a 240 g bílkovin jako základních nutričních složek. Pro výkrm používáme pouze dvou krmiv, pokrutin a kukuřice, jejichž nutriční hodnoty a ceny jsou obsaženy v tabulce: V 1 kg krmiva je obsaženo Krmivo Pokrutiny Kukuřice
krmných jednotek 1 1,25
gramů bílkovin 400 80
Cena v Kč/1 kg 0,50 0,40
Podstatou procesů je přeměna činitelů (složek směsi) na směs s požadovanými vlastnostmi podle daného hlediska, jímž je nejnižší cena směsi.
- 26 -
Pokrutiny 11
1 kg pokrutin 0,50 Kč -400
1 kg krmných jednotek 400 g bílkovin
0,5 -1 -400
Stejným způsobem můžeme naznačit transformační proces u kukuřice. Zvolíme-li za neznámé x1 množství pokrutin, x2 množství kukuřice pro vytvoření dané směsi budou přípustná řešení popsána nezápornými neznámými x1 a x2, které vyhovují soustavě nerovnic x1 + 1,25x2 400x1 + 80x2
≥ 2,5 ≥ 240.
U těchto úloh se setkáváme s tím, že omezení úlohy nespočívají v daném disponibilním množství činitelů, ale jsou určena požadavky na složení směsi. To má vliv na tvar nerovnic, protože např. bílkovin má být alespoň 240 g denně. Tato skutečnost se projeví také na ekonomickém obsahu fiktivních procesů, které znamenají tentokrát nadbytečné množství činitelů. Účelová funkce 0,50x1 + 0,40x2 = Z, kde Z má být minimální. Příklad Denní jídelníček sestavený dle zásad racionální výživy je zapotřebí doplnit o 21 g tuků, nejvýše 57 g sacharidů a alespoň 35 g bílkovin a 2 mg vitamínu C. Jaké množství sójových bobů a nízko energetického jogurtu uspokojí tyto požadavky při minimálních výdajích? Podkladové údaje pro vyřešení tohoto problému jsou obsaženy v tabulce
Sójové boby Jogurt
Bílkoviny (g)
Tuky (g)
Sacharidy (g)
Vitamín C(mg)
Cena (Kč)
35
14
28
-
3
5
2
7
0,4
4
Zvolíme-li x1 množství sójových bobů (ve 100 g), x2 množství jogurtu (ve 100g), pak matematickým modelem pro nezáporná x1 a x2 bude účelová funkce 3x1 + 4x2 = z má být minimální Omezující podmínky: 14x1 + 2x2 = 21 nutriční požadavek tuků 28x1 + 7x2 ≥ 57 max. nutriční požadavek sacharidů 35x1 +5x2 ≥ 35 minimální nutriční požadavek bílkovin 0,4x2 ≥ 2 minimální nutriční požadavek vitamínů
- 27 -
2.3.3
Úlohy o minimalizaci odpadu při řezání
Při přípravě výroby je nutno z normalizovaných polotovarů (tyčí, desek apod.) nařezat, nastříhat, nebo vykrajovat materiál. Při takových úpravách materiálu vzniká odpad. Ze zásady hospodárnosti vyplývá snaha šetřit materiál, tzn. Minimalizovat odpad. Příklad Ve skladu máme trubky dlouhé 6 m. Výroba požaduje pro příští týden: 30 kusů délky 2 metry 100 kusů délky 2,2 metru 20 kusů délky 3 metry Máme stanovit takový způsob řezání šestimetrových trubek (tzv. řezný plán), aby odpad byl co nejmenší. Požadavky výroby na délky trubek se nemění, takže můžeme nařezané trubky uskladnit pro příští období. Za odpad považujeme kusy trubek rovné jednomu metru a kratší. Máme-li stanovit optimální způsob řezání trubek, musíme zjistit, jaké máme možnosti řezání šestimetrových trubek na požadované kusy a jaký bude odpad. Transformační proces můžeme znázornit: Trubky dlouhé 2 m Trubky dlouhé 2,5 m 1 trubka 6 m Trubky dlouhé 3 m odpad m Abychom mohli rychle sestavit matematický model, je třeba vytvořit řezný plán Trubky délky 6 metrů 2m 2,5 m 3m Odpad
I 1 3 0 0 0
Způsob řezání II III 1 1 0 0 0 1 2 1 0 0,5
IV 1 1 0 1 1
Požadavky Minimum 30 100 20 minimum
V tomto případě jsou dva požadavky na minimum. Ale tyto požadavky můžeme spojit dohromady, protože minimalizujeme-li odpad, zároveň minimalizujeme i spotřebu šesti metrových trubek. Zvolíme-li za neznámé počty šestimetrových trubek rozřezaných jednotlivými způsoby, pak omezující podmínky jsou: +x4 ≥ 30 3x1 ≥ 100 x3 2x2 + x3 + x4 ≥ 20. Účelová funkce v případě minimalizace spotřebovaných trubek je x1 + x2 +x3 + x4 =z Účelová funkce v případě minimálního odpadu je 0,5x3 + x4 = z.
- 28 -
Úloha. Danou soustavu nerovnic převeďte na soustavu rovnic. Co znamenají v tomto případě přídatné proměnné? Příklad Malovýrobce vyrábí květinové stěny, které se skládají z různého počtu dřevěných desek různé délky. Délka těchto desek a jejich potřeba na jednu stěnu: Délky desky (cm) Počet desek
25 6
60 4
120 2
Na příští den počítá s výrobou 10 stěn. Jak má řezat prkna délky 3 metry, aby získal požadovaný počet desek a) s minimálním odpadem b) při minimálním počtu rozřezaných prken c) při minimálním počtu řezů. Řezný plán: Způsob řezání Délka 25 cm Délka 60 cm Délka 120 cm Odpad (cm) Počet řezů
1 1 2 0 2
2 2 2 10 4
3 3 1 0 3
4 2 2 1 10 5
5 7 1 5 8
6 5 0 4
7 2 4 10 6
8 7 2 5 9
9 12 0 11
Volíme-li za neznámé x počet třímetrových prken podle j-té varianty, pak omezující podmínky jsou: + 2x4 + 7x5 + 2x7 + 7x8 + 12x9 2x2 x1 + 3x3 +2x4 +5x6 + 4x7 + 2x8 2x4 + 2x2 + x3 +x4 + x5 xi
≥ 60 ≥ 40 ≥ 20 ≥ 0
Účelové funkce v případě: a) A) 10x2 + 10x4 +5x5 + 10x7 + 5x8 = z - minimální odpad v cm +x7 + x8 + x9 = z – minimální počet b) B) x1 +x2 + x3 +x4 +x5 + x6 rozřezaných prken c) C) 2x1 + 4x2 +3x3 + 5x4 + 8x5 + 4x6 + 6x7 + 9x8 +11x9 = z – min. počet řezů
2.3.4
Distribuční úlohy
Tyto úlohy zahrnují úlohy dopravní, přiřazovací a další úlohy, které mají omezující podmínky typu dopravních úloh. Dopravní úlohy formulujeme za těchto předpokladů přepravujeme stejnorodý produkt od dodavatelů k odběratelům mezi každým dodavatelem a odběratelem je pouze jedna dopravní cesta - 29 -
Další typy úloh
po každé dopravní cestě lze převážet libovolné množství produktu náklady spojené s přepravou jsou přímo úměrné přepravovanému množství produktu.
Matematicky můžeme všechny uvedené požadavky formulovat takto: přepravujeme stejnorodý produkt od dodavatelů k odběratelům je uvažována mezi každým dodavatelem a odběratelem pouze jedna dopravní cesta po každé dopravní cestě lze převážet libovolné množství produktu náklady spojené s přepravou jsou přímo úměrné přepravovanému množství produktu. Předpokládáme, že je dáno m dodavatelů D1 , D2 , …. , Dm , kteří mají k dispozici a1, a2, …, am jednotek produktu. Tento produkt je třeba přepravit k n odběratelům S1, S2, …., Sn jejichž požadavky jsou b1, b2, …., bn jednotek produktu. Veličiny ai(i=1,2,…,m) a bj (j=1,2…,n) jsou vyjádřeny nezápornými reálnými čísly ve stejných měrných jednotkách. Dále jsou zadány náklady na přepravu jednotky produktu od i-tého dodavatele k j-tému odběrateli, které označíme symbolem cij. Přepravované množství produktu od i-tého dodavatele k j-tému odběrateli označíme xij. Veličiny cij nejčastěji představují vzdálenost mezi dodavateli a odběrateli v km. Hledané proměnné xij jsou vyjádřeny ve stejných měrných jednotkách jako veličiny ai a bj. Chceme organizovat přepravu produktu od dodavatelů k odběratelům tak, abychom plně uspokojili požadavky odběratelů na daný produkt a přitom aby celkové náklady na přepravu byly minimální. Matematicky můžeme všechny uvedené požadavky formulovat takto: Máme nalézt taková čísla xij při kterých bude Matematický model
Z
m
min
i 1
n
x j 1
ij
m
x i 1
ij
xij 0
n
c x j 1
ij
ij
a1 (i= 1, 2, …., m)
b j (j= 1, 2, …., n) (i= 1, 2, …., m; j= 1, 2, …., n).
Účelová funkce (Z) vyjadřuje závislost mezi strukturou přepravy a celkovými náklady. Soustava omezujících podmínek říká, že součet přepravovaného množství jednotek produktu od i-tého dodavatele (i=1, 2, …, m) ke všem odběratelům musí být menší nebo roven kapacitě tohoto i-tého dodavatele. Soustava omezujících podmínek udává, že součet přepravovaného množství jednotek produktu k j-tému odběrateli, přičemž xij ≥ 0. Soustava omezujících podmínek 5.4 zaručuje nezápornost přepravovaného množství jednotek produktu od i-tého dodavatele (i = 1, 2, …, m) k j-tému odběrateli (j = 1, 2, …, n).
- 30 -
Obecně můžeme tyto podmínky vyjádřit ve tvaru soustavy lineárních nerovnic: Zmin = c11x11 + c12x12 +…+ c1nx1n + c21x21 + c22x22 +…+ c2nx2n + … + cm1xm1 +…+ cm2xm2 + cmnxmn. x11 + x12 + x1n
≤ a1 x21 + x22 + … + x2n
≤ a2
.
.
xm1
+ xm2 + … + xmn
≤ am
x11
+ x21
+ xm1
= b1
x12
+ x22
+ xm2
= b2
.
x1n
.
+
x2n +
+ xmn
x11, x12, ……
, xmn
m
Jestliže
≥0
n
a b i 1
= bn
i
j 1
j
jedná se o vyrovnanou dopravní úlohu. V případě
nerovnosti nazýváme tuto úlohu nevyrovnanou Příklad Máme stanovit přepravní plán kamene ze dvou kamenolomů na tři stanoviště s minimálními přepravními náklady. Denní kapacity kamenolomů 1 a 2 jsou 400 Mg a 200 Mg stavebního kamene, na staveništi S1 350 Mg a na staveništi S2 150 Mg a na staveništi S3 100 Mg. Přepravní náklady jednoho Mg kamene jsou uvedeny v tabulce: S2 S3 S1 Kamenolom 1 120 40 65 Kamenolom 2 80 70 50 Jedná se o vyrovnanou dopravní úlohu. Zvolíme-li xij množství přepravovaného kamene od i-tého dodavatele k j-tému spotřebiteli, pak: x11 + x12 + x13 = 400 x21 + x22 + x23 = 200 x11 + x21 = 350 x12 + x22 = 150 x13 + x23 = 100. Účelová funkce má tvar: 120x11 + 40x12 + 65x13 + 80x21 + 70x22 + 50x23 = z (min).
2.4
Cvičení
Sestavte matematický model zadaných úloh a po prostudování dalších kapitol určete optimální řešení úlohy. 1. Výrobní družstvo vyrábí a prodává dva druhy výrobků. Rozsah výroby je závislý především na disponibilním množství surovin S1 a S2. Ostatních - 31 -
Maticový zápis
činitelů výroby má družstvo dostatečné množství. Předpokládáme, že všechny vyrobené výrobky prodáme. Navrhněte takový program, při kterém družstvo dosáhne maximální tržby. Podmínky výroby a její výsledky jsou zřejmé z následující tabulky: Potřeba na jeden výrobek Výrobní činitel Měrná jednotka Disponibilní mn. A B Surovina S1 (kg) 2 4 12000 Surovina S2 (kg) 6 3 18000 Tržba (Kč) 5 4 max. 2.
Závod má vyrobit v daném roce minimálně 80 souprav výrobků A a B. Jsou již uzavřeny smlouvy na 20 souprav výrobků A a na 40 souprav výrobku B. Výroba je omezena především disponibilním časovým fondem strojových zařízení K1 (2 400 hodin) a K2 (500 hodin).
Sestavte takový výrobní program, aby splnil plánovaný úkol s minimálními náklady. Potřebné údaje jsou uvedeny v tabulce: Výrobní činitel Zařízení K1 Zařízení K2 Náklady
Potřeba výrobek A 30 5 3000
Měrná jednotka (h) (h) (Kč)
na
jeden B
20 5 2000
Disponibilní mn. 2400 500 min
3.
V truhlárně nábytkářského podniku mají k dispozici prkna dlouhá 4 metry. Potřebují z nich nařezat: 100 prken dlouhých 2 m 150 prken dlouhých 1,5 m 80 prken dlouhých 1,2 m 400 prken dlouhých 0,8 m. Sestavte řezný plán a formulujte matematicky úlohu tak, aby byl odpad minimální.
4.
Doporučte vedení podniku takový výrobní program, který zabezpečí maximální tržbu. Můžeme vyrábět pět druhů výrobků, po nichž je tak velká poptávka, že přesahuje naše výrobní možnosti, takže všechny vyrobené výrobky prodáme. Omezující činitelé jsou uvedeni v tabulce:
Surovina S1 Surovina S2 Surovina S3
Měrná jednotka Mg Mg Mg
Potřeba na jeden výrobek A B C D 2 2 1 2 1 2 1 1 4 2 3 2
Cena 1 Mg
Tis. Kč
24
Činitel
15
- 32 -
18
15
1 1 1
Disponibilní mn. 500 400 800
8
Max.
E
5.
Firma, zabývající se strojírenskou výrobou vyrábí tři výrobky: válce, kotouče a pouzdra, na jejichž výrobě pracují tři druhy strojů: soustruhy, hoblovačky a svářecí stroje. Každý výrobek může být vyráběn několika způsoby, které se liší spotřebou strojového času, nikoliv však cenou výrobku a jeho vlastnostmi. Spotřeba strojového času v hodinách na kus výrobku je zadána v tabulce.
Válce 1. Soustruhy 0,4 Hoblovačky 0,4 Svař. stroje 0,4
2. 0,8 0,6
3. 1,2 0,2 0,2
Kotouče 1. 0,2 0,2 1,6
2. 0,4 2,0
Pouzdra 1. 0,2 1,2 0,8
2. 1,6 0,4
K dispozici je 236 hodin strojového času na soustruzích, 460 hodin na hoblovačkách a 612 na svářecích strojích. Odbytové ceny jsou 500 korun za jeden válec, 400 korun za jeden kotouč, a 600 korun za jedno pouzdro. a) Stanovte výrobní program tak, aby firma získala prodejem maximální tržbu. b) Firma je vázána smlouvou se zákazníkem, který odebírá výrobky v kompletech. Každý komplet obsahuje 10 válců, 20 kotoučů a 20 pouzder. Kromě zmíněných kompletů, které prodává za cenu 25 000 korun, může prodávat i samostatné výrobky jako náhradní díly za jejich odbytovou cenu. Jaký výrobní program zajistí firmě maximální tržbu? 6.
V chemickém závodě probíhají na dvou strojových zařízeních v nepřetržitém provozu 24 hodin denně dva technologické procesy T1 a T2. Výsledkem každého procesu jsou výrobky V1 a V2, které jsou vzájemně zastupitelné bez ohledu na to, kterým postupem prošly. Spotřeba strojového času v hodinách na zařízení Z1 a Z2 a počet vyrobených výrobků V1 a V2 (současně) za hodinu procesu v 1 000 kusech jsou uvedeny v tabulce. T1
T2
Z1(hod.)
4
3
Z2(hod.)
3
4
V1(ks)
2
1
V2(ks)
2
3
Výroba je dále omezena požadavky odbytu. Každého výrobku je možno prodat minimálně 1000 kusů a maximálně 5 000 kusů. Formulujte, řešte a ekonomicky interpretujte následující úlohy: a) maximalizujte počet 1 000 kusů výrobků dohromady b) maximalizujte celkový zisk, jestliže jednotkový zisk je 3 Kč za kus V1 a 2 Kč za kus V2 c) Maximalizujte tržbu, jestliže kus V1 stojí 4 Kč a kus V2 8 korun d) minimalizujte celkové náklady pro případ, kdy jednotkové náklady na výrobu 1 kusu V1 jsou 1 koruna a na kus V2 6 korun. 7.
Firma produkuje dětská autíčka s motorem a bez motoru, která jsou vyráběna ve dvou střediscích. V prvním středisku je pouze základní výroba, kde autíčko s motorem vyžaduje 5 hodin práce a autíčko bez motoru 2 hodiny práce. - 33 -
V druhém středisku jsou oba výrobky dokončeny. Oba typy autíček si zde vyžadují 3 hodiny práce. Výroba je omezena celkovým množstvím hodin práce – v prvním maximálně 200 hodin a ve druhém 210 hodin denně. Každé autíčko s motorem přinese výrobci zisk 300 Kč a každé autíčko bez motoru přinese zisk 200 Kč. Kolik autíček bez motoru a s motorem by měl výrobce vyprodukovat, aby maximalizoval zisk? Formulujte úlohu, sestavte matematický model a řešte úlohu graficky a také simplexovou metodou. 8.
Cementárny vyrábějí pytle cementu ze dvou složek. Kilogram složky A stojí 2,40 Kč a skládá se ze 4 jednotek kvalitního písku, 3 jednotek hrubého písku a 5 jednotek štěrku. Kilogram složky B stojí 4 Kč a skládá se z 3 jednotek kvalitního písku, 6 jednotek hrubého písku a 2 jednotek štěrku. Každý pytel musí obsahovat nejméně 120 jednotek kvalitního písku, 120 jednotek hrubého písku a 100 jednotek štěrku. Firma by ráda znala nejlepší kombinaci obou složek tak, aby minimalizovala náklady. Formulujte matematický model úlohy a nalezněte graficky optimální řešení. Výsledek si ověřte výpočtem simplexovou metodou.
9.
Při výrobě výrobků A, B, C jsou omezujícími činiteli spotřeba suroviny a strojového času. Na jeden kus výrobku A, B a C se postupně spotřebuje 2, 3 a 1 kg suroviny. Spotřeba strojového času je u všech výrobků stejná – 1 hodina na jeden kus. Suroviny je v uvažovaném období k dispozici 24 000 kg, strojového času 10 000 hodin. Zisk na jednotku výrobku A, B a C je postupně 50, 60, a 25 Kč. Naplánujte výrobní program tak, aby byl celkový zisk maximální. Formulujte model úlohy, vypočtěte a interpretujte optimální řešení.
10.
Při produkci čajových směsí A B se používají čínský a indický čaj. 1 kg směsi A se vyrábí z 0,5 kg indického čaje a z 0,5 kg čínského čaje. 1 kg směsi B se míchá z 0,25 kg čínského čaje a 0,75 kg indického čaje. Čínského čaje je k dispozici 12 000 kg, indického čaje 15 000 kg. Zisk vykalkulovaný na směs A je 200 Kč/kg, na směs B je 240 Kč/kg. Navrhněte strukturu výroby, maximalizující celkový zisk. Sestavte matematický model a najděte optimální řešení. Správnost výsledku zkontrolujte grafickou metodou.
11.
Banka plánuje poskytnout v běžném roce úvěry v určité maximální celkové výši. Poskytnuté úvěry jsou z hlediska rizikovosti klasifikovány do 3 základních skupin A, B, C. Úroková míra u úvěrů třídy A 12 %, u třídy B na 14 % a u třídy C na 17 %. Míra rizika je pro třída A, B a C ohodnocena koeficienty 1, 2 a 4. Zjistěte, kolik procent celkové částky bude určeno na úvěry ve skupinách A, B, C tak, aby byl maximalizován celkový očekávaný výnos. Dále je stanoveno, že ve třídě C by mělo být maximálně 15 % ze všech poskytnutých úvěrů, ve třídě A minimálně 20 %ze všech poskytnutých úvěrů a vážená míra rizika by měla být nižší než 2. Formulujte matematický model, řešte simplexovou metodou, výsledky interpretujte!
2.5
Grafické řešení úloh lineárního programování
Některé jednoduché úlohy lineárního programování lze řešit s využitím znalostí z grafického vyjádření lineárních rovnic a nerovnic o dvou neznámých.
- 34 -
2.5.1
Materiální základy
Grafické vyjádření přímky a poloroviny
Obecně lze napsat rovnici přímky ve tvaru ax1 + bx2 = c, kde x1, x2 jsou proměnné a, b, c jsou konstanty. Víme, že přímka je jednoznačně určena dvěma navzájem různými body. a) pokud konstanta c je různá od 0, pak je vhodné určovat body ležící na osách x1 a x2, to znamená, jestliže x2 = 0 potom x1 = c / a. Jestliže x1 = 0, potom x2 = c / b b) jestliže v rovnici ax1 + bx2 = c je b = 0, pak x1 = c / a a grafem je přímka rovnoběžná s osou x 2 ve vzdálenosti c / a c) jestliže a = 0, pak x2 = c / b a grafem je přímka rovnoběžná s osou x1 ve vzdálenosti c/b d) je-li konstanta c = 0 pak přímka o rovnici ax1 + bx2 = 0 prochází počátkem, proto stačí zvolit jen jeden další bod. Příklad: Nakreslete přímky dané rovnicemi: a) 2x1 + 3x2 = 6 b) 3x1 =9 c) 2x2 = 4 d) 2x1 + x2 = 0 Grafické řešení: a) 2x1 + 3x2 = 6. Sestavíme tabulku Body x1 x2
A 0 2
B 3 0
Při volbě vhodného měřítka má přímka tvar x2 2x1 + 3x2 = 6 A
B
x1
- 35 -
b) 3x1
= 9, takže x1 = 3 a graf má tvar x2
x1 = 3
x1
c)
2x2 = 4, takže x2 = 2 x2 x2 = 2
x1
d) 2x1 + x2 = 0 Volíme-li x1 = 0, pak je jasné, že i x2 = 0. Proto musíme za x1 nebo x2 volit číslo různé od 0, například volíme-li x1 = 1, pak x2 = -2 tzn., že přímka bude procházet bodem P=(0,0) a bodem A=(1,-2), pak přímka bude mít tvar: x2
x1 2x1 + x2 = 0
Poloha přímky závisí na konstantě c. Mějme 2 rovnice: ax1 + bx2 = c1 ax1 + bx2 = c2 jedná se o přímky rovnoběžné.
- 36 -
Úkol: Do jednoho grafu nakreslete přímky: 2x1 + 3x2 = 6 2x1 + 3x2 = 10. Z grafu jste zjistili, že přímky jsou rovnoběžné a můžeme zobecnit, že u obdobných zadání čím je konstanta c větší, tím je přímka více vzdálená od počátku. Tuto úvahu budeme potřebovat při grafickém řešení úloh lineárního programování. U matematických modelů lineárního programování se ale setkáváme se soustavou nerovnic. Musíme si uvědomit, že grafickým znázorněním nerovnice se dvěma neznámými je polorovina, jejíž hraniční přímkou je příslušná rovnice. Danou polorovinu určíme jednoduše tak, že si zvolíme libovolný bod, který neleží na hraniční přímce. Vyhovuje-li tento bod dané nerovnici, pak vyhovuje polorovina, ve které tento bod leží. Nevyhovuje-li tento bod dané nerovnici, pak vyhovuje opačná polorovina
2.5.2
Vyjádření omezení plynoucí z úlohy v grafu
Grafické řešení si znázorníme na zjednodušeném příkladu rozhodování o výrobním programu v podniku, který vyrábí pouze 2 druhy výrobků a je omezen jen množstvím surovin a výrobní kapacitou (ostatních potřebných činitelů má dostatečné množství). Snahou vedení podniku je dosáhnout maximálního zisku, předpoklady pro rozhodování vyplývají z tabulky. Výrobní činitel Měrná Potřeba činitelů na jeden jednotka výrobek A výrobek B Suroviny kg 2 4 Výrobní hodina 6 3 kapacity Zisk Kč 5 4 Matematický model této úlohy má tvar: 2x1 + 4x2 ≤ 12000 6x1+ 3x2 ≤ 18000 Účelová funkce má tvar Z = 5x1 + 4x2 Protože se jedná o počty vyrobených výrobků, musí být x1, x2 ≥ 0
Disponibilní množství 12000 18000 maximum
Všimněme si nejprve omezení daného disponibilním množstvím suroviny S (12 000 kg). Z 12 000 kg suroviny S můžeme vyrobit maximálně 12000 kg /2 kg, na jeden kus tj. 6000 kusů výrobků A, ale nemohli bychom vyrábět žádné výrobky B (výrobní program 6000 ks A; O ks B). Kdybychom naopak chtěli věnovat veškeré množství suroviny S výrobě výrobku B, pak bychom jich mohli vyrábět maximálně 12000 kg/ 4kg na jeden tj. 3 000 kusů, ale nevyráběli bychom žádné výrobky A (výrobní program O výrobku A; 3 000 výrobku B). V grafu jsou naše dva výrobní programy vyjádřeny body A (souřadnice O; 3 000) a B (souřadnice 6 000; 0).
- 37 -
Vlastní grafické znázornění přímky
4 3 x A 2 1
B
0
x 0
1
2
3
4
5
6
7
x1 v tisíci kusech
V obou výrobních programech jsme předpokládali plné využiti disponibilního množství suroviny S (2xl + 4x2 = 12 000). Z geometrie víte, že grafickým vyjádřením rovnice je přímka a že k jejímu sestrojení potřebujeme znát dva body. Ty již v našem grafu vyjádřeny máme. Jejich spojením získáváme přímku odpovídající rovnici 2xl + 4x2 = 12000, která rozdělila rovinu na dvě poloroviny, znázorňující nerovnici 2x1 + 4x2 > 12 000 a nerovnici 2x1 + 4x2 < 12 000. Vezmeme-li v úvahu, že disponibilní množství suroviny S1 = 12 000 kg nemusí být zce1a využito (muže platit vztah 2x1 + 4x2 = 12 000 nebo 2x1 + 4x2 < 12000) a že mají být splněny podmínky nezápornosti proměnných xl a x2, pak musíme v grafu vyjádřit všechny uvedené skutečnosti najednou, tj. 2x1 + 4x2 < 12 000 x1 ≥ 0; x2 ≥ 0
2x1 + 4x2 = 12000 Společná část (průnik) tří polorovin, odvozených z uvedených tří nerovností, je potom množinou přípustných řešení podle podmínek nezápornosti a podle podmínky dané disponibilním množstvím suroviny Sl
2xI + 4x2 = 12000 - 38 -
Souřadnice všech bodu trojúhe1níku PAB označují v našem příkladu přípustné výrobní programy podle podmínek nezápornosti a podle podmínky dané omezeným disponibilním množstvím suroviny Sl.
2.5.3
Popis přípustných řešení a grafické vyjádření účelové funkce
Zatím jsme posuzovali každé omezeni naši úlohy izolované. Nyní spojíme jednotlivá omezeni a vyjádříme v grafu všechna omezeni současně. V naší úloze to znamená xl ≥ 0 x2 ≥ 0 2x1+4x2<12000 6x1 + 3x2 < 18000
Z grafu vidíme, že omezení vyplývající z disponibilního množství suroviny S a výrobní kapacity K a z podmínky nezápornosti proměnných x1≥0, x2 ≥ 0 jsou vyjádřena čtyřmi polorovinami, jejichž průnikem je čtyřúhelník PABC. Čtyřúhelník PABC představuje v naší úloze množinu přípustných řešení (množinu přípustných výrobní ch programu). To znamená, že přípustnými řešeními jsou v naší úloze ta řešení, která jsou zobrazena body na ploše čtyřúhelníku PABC. Snadno zjistíme, že např. bod určený v grafu souřadnicemi (l 000; l 000) představuje přípustný výrobní program. V úlohách lineárního programování nejde jen o posouzení přípustnosti řešení. V těchto úlohách máme na množině přípustných řešení nalézt řešení optimální. K tomu potřebujeme v grafu vyjádřit i kritérium pro výběr optimálního řešení. V naší úloze je kritériem maximální tržba z výroby a prodeje výrobku A i B. Víme přitom, že tržba z jednoho výrobku A je Kč 5,-, tržba z jednoho výrobku B je Kč 4,-. Tržba za X1 výrobku A je pak 5xl a tržba za x2 výrobku B je 4x2, což znamená, že celková tržba bude 5x1 + 4x2. Součet 5xl + 4x2 má nabýt maximální možné velikosti. Dosadíme-li do účelové funkce z = 5x1 + 4x2 za z určité číslo, třeba 20 000, dostaneme rovnici 20000 = 5x1 + 4x2, a tu lze v grafu znázornit přímkou. Grafickým vyjádřením množiny přípustných řešení i kritéria jsme ukončili etapu formulace úlohy. Můžeme proto přejít ke grafickému řešeni úlohy.
- 39 -
Množina přístupných řešení
Optimalizace úlohy
Optimálním řešením je takové přípustné řešení, při kterém bude hodnota z v účelové funkci maximální (minimální). Přípustnost se v grafu projeví tak, že přímka vyjadřující účelovou funkci při zvoleném Z má alespoň jeden bod společný s množinou bodu znázorňujících přípustná řešení úlohy. Má-li to být řešení optimální, musí být tento společný bod vzdálen od počátku grafu co nejvíce (u úloh maximalizačních) nebo co nejméně (u úloh minimalizačních). V naší úloze je zakreslena účelová funkce pro Z = 20000. Z grafu je zřejmé, že tržba Kč 20000,- není v naší úloze dosažitelná (není přípustná) přímka vyjadřující účelovou funkci 5x1 + 4x2 = 20000 nemá ani jeden bod společný s množinou přípustných řešení. Velikost Z jsme volili odhadem, v odhadu můžeme pokračovat a dosazovat stále menší čísla, takže v grafu získáme postupně přímky, které jsou rovno běžné s přímkou znázorňující účelovou funkci při první dosazené hodnotě Z a které se přibližuji k počátku grafu. Tu z takto získaných přímek, která se poprvé alespoň jediným bodem dotkne množiny bodu znázorňujících přípustná řešení, prohlásíme za obraz maximální úrovně účelové funkce a bod, v němž se tak stane, za obraz optimálního řešeni. Kdybychom při prvním odhadu velikosti Z zvolili číslo příliš malé, byla by přímka vyjadřující účelovou funkci součástí množiny bodu znázorňujících přípustná řešení. V dalším bychom pak museli za Z postupně dosazovat čísla větší, takže přímky vyjadřující účelovou funkci by se od počátku vzdalovaly. Obrazem maximální úrovně účelové funkce by byla ta přímka, která má ještě alespoň jediný bod společný s množinou bodu vyjadřujících přípustná řešení. V našem příkladu je obrazem optimálního řešení bod B, souřadnicích (2 000; 2 000), který udává optimální výrobní program 2 000 výrobku A a 2 000 výrobku B. Jednoduchým propočtem můžeme v naší úloze snadno prokázat, že jde skutečně o řešení optimální:
Nejprve prokážeme, že jde o řešení přípustné, budeme-li vyrábět 2000 ks výrobků A a 2000 ks výrobku B. 1. Propočteme potřebu suroviny S S: 2 000 ks A. 2 kg (ks + 2 000 ks B. 4 kg /ks = 12000 kg. 2.Vypočteme využití kapacity K
- 40 -
K: 2 000 ks A 6 kg (ks + 2 000 ks B. 3 kg/ks = 18 000 kg. 3. Vypočteme velikost tržby v optimálním řešení. 2000 ks A. Kč 5,- za kus + 2000 ks B. Kč 4,- za kus = Kč 18 000,A Vypočteme velikost tržby pro některé další přípustné výrobní programy, které odvodíme z grafu, a tuto tržbu porovnáme s tržbou v optimálním řešení. Např. výrobní program žádné výrobky A a 3000 ks výrobku B zaručí tržbu 3000 ks A, tj. Kč 4,- = Kč 12000,-, což je méně než Kč 18000,-. Z propočtu tržby při jiných než optimálních přípustných řešeních vidíme, že tržba je v optimálním řešení naší úlohy (výrobní program 2000 kusu výrobku A a 2000 kusu výrobku B) vždy vyšší (Kč 18000,-). Vyřešili jsme tedy v grafu úlohu a musíme umět výsledky řešení matematicky i ekonomicky interpretovat. Podstatu naší úlohy jsme mohli matematicky formulovat tak, že šlo o výpočet nezáporných neznámých x1 a x2 na množině řešení soustavy lineárních nerovnic. 2x1 + 4x2 < 12 000 6x1 + 3x2 < 18 000 při zabezpečení maximální možné velikosti čísla Z v rovnici 5x1 + 4x2 = Z.
2.5.4
Shrnutí
Nejjednodušším způsobem řešení úloh se dvěma základními neznámými je grafické řešení. Je třeba si uvědomit, že řešením každé lineární nerovnice se dvěma neznámými je polorovina. Protože každá omezující podmínka řešení lze vyjádřit jako lineární nerovnici nebo rovnici, množinu přípustných řešení najdeme jako průnik polorovin. Z toho vyplývá také potup při řešení touto metodou: a) znázorníme poloroviny odpovídající omezením úlohy. To znamená, že u každé omezující podmínky určíme příslušnou hraniční přímku (místo znaménka nerovnice dáme rovnost – je to rovnice přímky). Přímka nám rozdělí rovinu na dvě poloroviny. Abychom zjistili, o kterou polorovinu se jedná, zvolíme v libovolné polorovině bod, jehož souřadnice známe a neleží na hraniční přímce. Pokud souřadnice bodu vyhovují dané nerovnici, vyhovuje jí celá polorovina, ve které bod leží. Tak postupujeme pro každou omezující podmínku. Výsledkem je průnik jednotlivých polorovin, což je množina přípustných řešení. b) Účelová funkce nám určí optimální řešení. Je třeba si uvědomit, že přímky lišící se jenom konstantou, jsou navzájem rovnoběžné. Proto si pro znázornění směru účelové funkce zvolíme nějakou hodnotu této funkce. Tuto přímku nakreslíme, je vhodné zvolit hodnotu tak, aby přímka procházela buď množinou přípustných řešení, nebo byla blízko ní. U maximalizačních úloh vedeme s touto přímkou přímku rovnoběžnou bodem, který je nejvíce vzdálen od počátku. Souřadnice tohoto bodu jsou optimálním řešením dané úlohy. U minimalizační úlohy vedeme s danou přímkou přímku rovnoběžnou bodem z množiny přípustných řešení, který je nejblíže počátku. c) Protože tento způsob řešení není přesný, je třeba určit přesné řešení tak, si určíme přímky, jejichž průsečíkem je optimální bod. Optimální hodnotu účelové funkce určíme dosazením těchto souřadnic do rovnice účelové funkce.
- 41 -
Příklad: Celé řešení si můžeme ukázat na praktickém úvodním příkladu, jehož matematický model je: ….f 6x1 + 4x2 24 000 4 x1 + 8 x2 32 000 …g 2 x1 + 2 x2 12 000 …h. Účelová funkce Z = 8 x1 + 10 x2. Zvolíme vždy dva body příslušné přímky, nejlépe na souřadných osách A = (0,6000), B = (4000, 0) jsou body přímky první omezující podmínky. Protože přímka, která spojuje tyto dva body neprochází počátkem, zvolíme si počátek jako bod, pomocí kterého určíme polorovinu, která naší nerovnici vyhovuje. Po dosazení 6.0 + 4. 0 = 0 je menší než 24 000. Proto vyhovuje polorovina obsahující počátek. Podobně postupujeme u ostatních dvou omezujících podmínek. Vždy musíme mít na paměti, že přípustným řešením jsou pouze kladná čísla. Takže k omezení patří ještě přímky x1, x2 jsou kladné. Pro směr účelové funkce si zvolíme Z = 40 000 Kč. Naznačíme si tuto přímku a s ní vedeme rovnoběžku bodem, který je nejvíce vzdálen od počátku, což je v našem případě bod, který vznikl průsečíkem přímek 6x1 + 4x2 = 24 000, 4x1 + 8 x2 = 32 000. Řešením této soustavy rovnic dostáváme x1 = 2 000, x2 = 3000, Z = 46 000. Řešením jsme dostali, že nejvýhodnější bude výroba 2000 kusů výrobků A a 3000 kusů výrobků B. Zisk bude 46 000 Kč. Přitom suroviny a strojové zařízení bude vyčerpáno. Nevyužito bude 2 000 hodin pracovníků. Z ekonomického hlediska je toto řešení dosti nevýhodné, bude třeba vedení navrhnout nějaké možné další řešení.
(1 dílek = 1000). Zabarven je průnik jednotlivých polorovin, což je množina přípustných řešení. Toto řešení můžeme provádět také na počítači v grafických systémech.
- 42 -
Řešení tohoto příkladu bude mít pak tvar: O správnosti tohoto řešení se přesvědčte výpočtem úloh zadaných ve cvičení, které jsou pro tuto metodu vhodné.
2.5.5 1. 2. 3. 4. 5.
2.5.6
Kontrolní otázky Jak postupujeme při vyjádření ekonomického obsahu úlohy lineárního programování v grafu? Jak postupujeme při hledání optimálního řešení u maximalizačních úloh? Jak postupujeme při hledání optimálního řešení u minimalizačních úloh? Vysvětlete, proč má smysl graficky řešit pouze úlohy o dvou procesech. Uveďte, jaké jsou nejčastější výsledky řešení úloh lineárního programování.
Cvičení
1.
Graficky vyřešte následující příklad. Stanovte výrobní program podniku vyrábějícího dva druhy výrobků A a B. Výrobní proces sestává ze tří operací (lití, lisování a montáž), přičemž výrobní kapacity podniku jsou následující: kapacita slévárny je 80 jednotek A nebo 100 jednotek B, kapacita lisovny je 200 jednotek A nebo 60 jednotek B, kapacita montážní linky je 60 jednotek A a zároveň 80 jednotek B. Zisk z obou typů výrobku je kalkulována na částku 28 000 Kč za jednotku. Pro zjednodušení příkladu neuvažujte některé další faktory: např. rozdílný zájem o výrobek A i B, rozdílné ceny surovin, dodací lhůty, záměry výzkumu a vývoje v podniku atd.
2.
Graficky vyřešte následující příklad. Balírny plánují na následující období výrobu dvou směsí A a B. Pro výrobu těchto směsí mají smluvně k dispozici od dodavatelů tři druhy komponent K1, K2, K3 o kapacitě 10, 12 a 15 tun lišící se kvalitou a nákupní cenou. Při výrobě obou směsí se musí dodržet poměr jednotlivých komponent (viz následující tabulka). Byl vykalkulován zisk, který činí 10 000 Kč za směs A a 8 000 Kč za směs B. Naplánujte výrobu s maximálním ziskem. Komponenta K1 Komponenta K2 Komponenta K3
3.
A 0,50 0,25 0,25
B 0,10 0,50 0,00
Kapacita 10,00 12,00 15,00
Graficky vyřešte následující příklad. Firma vyrábí dva druhy výrobků V1 a V2. Výrobky jsou vyráběny na dvou strojích ST1 a ST2, které mají omezenou kapacitu strojového času. Firma má stanovenou minimální produkci ve výši 10 000 EUR. Veškeré potřebné údaje jsou uvedeny v tabulce. Firma má snížit spotřebu elektrické energie. Spotřeba elektrické energie na jeden výrobek V1 je 8 kWh a 11 kWh na jeden výrobek V2. Úkolem je stanovit výrobu tak, aby z hlediska spotřeby elektrické energie byla optimální.
- 43 -
ST1 ST2 Cena za 1 ks v Kč
2.6
Simplexová metoda
2.6.1
Matematické základy
V1 5 2 25
V2 4 4 20
Kapacita stroj. času 3000 2400
Grafická metoda používaná pro řešení úloh lineárního programování lze použít pouze v případě, jedná-li se o úlohu o dvou procesech. A takových úloh je v praxi velmi málo. Je třeba pro řešení všech úloh použít obecnou metodu. 2.6.1.1 Řešení soustavy lineárních rovnic Obecný zápis soustavy lineárních rovnic
Uvědomíme-li si, že matematickým modelem je soustava lineárních nerovnic a tu lze velmi dobře převést pomocí přídatných proměnných na soustavu rovnic, lze s výhodou užít Gaussovy eliminační metody na řešení soustav lineárních rovnic ve tvaru: a11x1 + a12x2 + ….……… + a1nxn = b1 a21x1 + a22x2 + ………….+ a2nx2 = b2 ……………………………………. am1x1 + am2x2 + …………..amnxn = bm, kterou můžeme vyjádřit ve vektorovém tvaru jako lineární kombinaci vektorů: a1x1 + a2x2 + …………anxn = bn, kde ai = ( a1i, a2i, a3i, ……..ami) bi = ( b1, b2, b3, ……..bm) , kde xi je neznámé nebo v maticovém tvaru A X = B , kde
Je tak zvaná matice soustavy
matice neznámých
matice absolutních hodnot
Protože matice A je typu m.n, matice X je typu n.1 a matice B je typu m.1 je splněna podmínka pro násobení matic a rovnost matic. Podle Frobeniovy věty má soustava lineárních rovnic řešení, je-li hodnost matice A a rozšířené matice soustavy
- 44 -
sobě rovna. Je-li hodnost matice A rovna počtu neznámých, pak má soustava lineárních rovnic 1 řešení. Jestliže je hodnost matice soustavy menší než počet neznámých, pak má tato soustava nekonečně mnoho řešení, z nich můžeme určit všechna základní řešení. Postup si ukážeme na praktických příkladech. Příklad 1 Soustavu lineárních rovnic řešte Gaussovou eliminační metodou: 2 Matice soustavy
Rozšířená matice soustavy
Vypočteme hodnost matice soustavy dovolenými eliminačními úpravami:
A=
A=
A=
hodnost matice h(A) = 3
Vypočteme hodnost rozšířené matice soustavy:
hodnost matice = 3 Z předcházející podmínky plyne, že soustava lineárních rovnic má řešení. Protože hodnost matice soustavy je rovna počtu neznámých, má soustava lineárních rovnic jedno řešení. Využitím upravené rozšířené matice soustavy můžeme postupně vypočítat jednotlivé neznámé, protože každý sloupec matice vyjadřuje koeficienty u jednotlivých neznámých, takže soustavu lineárních rovnic můžeme přepsat ve tvaru: 5x2+4x3 = 18 3x3 = 6. Z poslední rovnice vypočítáme x3 = 2. Dosadíme-li do druhé rovnice za x3 dostáváme x2 = 2 a dosazením do 1. Rovnice vypočteme x1= 2. - 45 -
Řešení soustavy lineárních rovnic
O správnosti řešení se můžeme přesvědčit zkouškou. Úkol: Proveďte zkoušku! Obecné a partikulační řešení
Příklad 2 Určete základní řešení soustavy rovnic:
Rozšířená matice soustavy má tvar: . Vypočteme její hodnost: . Hodnost matice soustavy i rozšířené matice soustavy je 2, takže soustava má nekonečně mnoho řešení. Soustavu můžeme převést na tvar: . Vypočteme z druhé rovnice: x2 = (18 – 4x3)/5 Dosazením do 1 rovnice vypočteme: x1 = ( 12 – x3)/5. Vidíme, že neznámé x1, x2 jsou vyjádřeny pomocí neznámé x3. Tuto neznámou nazýváme volnou neznámou a x1,x2 základními neznámými. Volíme-li za x3 = 0, pak dostáváme základní řešení x1 = 12/5, x2 = 18/5. Upravíme-li rozšířenou matici soustavy dovolenými úpravami tak, aby v každé rovnici byla 1 neznámá, která není v ostatních rovnicích říkáme, že soustava je v kanonickém tvaru. Z ní můžeme velice rychle určit další základní řešení. Příklad Určete další základní řešení soustavy lineárních rovnic:
- 46 -
. Po vydělení 2. řádku 5 dostaneme:
. Opíšeme-li 2. řádek a odečteme-li jej od 1. řádku, dostaneme matici:
. Soustava rovnic má tvar:
. Vidíme, že v 1. rovnici je neznámá x1 a ve 2 rovnici x2. Tato soustava je v kanonickém tvaru. Základní neznámé jsou x1 a x2, volná neznámá je x3. Základní řešení z této matice přímo určíme. Samozřejmě můžeme převést tuto soustavu také na jiný kanonický tvar. Na příklad násobíme-li 1. Rovnici 5 a odstraníme-li a odečteme-li její čtyřnásobek od druhé rovnice obdržíme:
. V kanonickém tvaru jsou nyní x3 v první rovnici, ve druhé x2, volná neznámá je x1. Základní řešení má tvar: x1 = 0, x2 = -6.,x3 = 12. Úkol: Určete řešení se základními neznámými x1, x3. 2.6.1.2 Řešení soustavy lineárních nerovnic Soustava lineárních nerovnic má v maticovém vyjádření tvar: AX ≤ B. Tuto soustavu nerovnic můžeme převést na soustavu lineárních rovnic zavedením přídatných proměnných. Tím dostaneme soustavu, která je v kanonickém tvaru a my pak podle podmínek můžeme danou soustavu převádět na potřebný kanonický tvar. Postup řešení si ukážeme na praktickém příkladu:
- 47 -
Určení základního řešení
Řešte soustavu lineárních nerovnic: . Při čemž x1,x2,x3 ≥ 0. Zavedením přídatných proměnných x´1,x´2,x´3 ≥ 0 dostáváme soustavu lineárních rovnic 2x1 + 3x2 +x4 + x5 =6 x1 + x2 + 2x3 +x6 = 2 3x1 + 2x2 + x4 + x7 = 8 Rozšířená matice soustavy má pak tvar:
a je v kanonickém tvaru, ale nepřípustném ( x´2 = -2). Proto musíme přejít na jiný kanonický tvar: . Dostáváme nový kanonický tvar a jeho základní řešení je: x1 = 2,x2 = 0,x3= 0, x4 = 0. Přídatné proměnné jsou 2,0,2, čímž jsou splněny podmínky a toto řešení vyhovuje zadání. Úkol: a) dosazením do původního zadání se přesvědčte, že řešení vyhovuje b) do kanonického tvaru dejte neznámé x1, x2,x3.
2.6.2 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Kontrolní otázky V jakém tvaru lze zapsat soustavu lineárních rovnic? Co rozumíme maticí soustavy? Čím se liší matice soustavy od rozšířené matice soustavy? Jaké musí být splněny podmínky pro násobení matic? Kdy má soustava lineárních rovnic řešení? Jak určíme, že soustava lineárních rovnic má 1 řešení nebo nekonečně mnoho? Co rozumíme kanonickým tvarem soustavy lineárních rovnic? Určete rozdíl mezi základními a volnými neznámými? Co je to základní řešení? Jak postupujeme při řešení soustavy lineárních nerovnic? Co rozumíme přídatnými proměnnými?
- 48 -
2.6.3
Shrnutí
Zopakovali jste si řešení soustav lineárních rovnic Gaussovou eliminační metodou, která je nejvhodnější pro řešení daných ekonomických úloh a je dobře programovatelná. Zavedením přídatných proměnných řešíme touto metodou také soustavu lineárních nerovnic.
2.6.4
Jednofázová simplexová metoda
Podstatou simplexové metody je, že musíme vycházet z tak upravené soustavy lineárních rovnic, aby byla v přípustném kanonickém tvaru. To znamená, že se musí jednat o takové řešení, které má z ekonomického hlediska význam. Nejjednodušší případ je ten, že např. závod nebude vyrábět žádné výrobky a suroviny, strojový čas atd. budou nevyužity. Abychom dostali optimální řešení dané úlohy je třeba provést test optimality, který spočívá v posouzení přínosu procesů úlohy úrovni účelové funkce. Má-li být úroveň účelové funkce maximální, nemůže mít žádný z procesů v anulované účelové funkci záporné znaménko. Kdyby alespoň jeden proces měl v této rovnici koeficient se záporným znaménkem, potom by se jeho zařazením úroveň neznámé Z zvětšila, takže by nešlo o řešení optimální. Tento logický závěr lze považovat za obecné pravidlo pro určení optimality maximalizačních úloh. 2.6.4.1 Test optimality pro maximalizační úlohy a)
b)
Test optimality
jestliže v kanonickém tvaru soustavy lineárních rovnic je v anulované účelové funkci alespoň jeden záporný koeficient, pak základní řešení vyjádřené touto soustavou není optimální a je možno přejít na lepší řešení zařazením této neznámé mezi základní neznámé. Jestliže v účelové funkci není ani jeden záporný koeficient, pak řešení maximalizační úlohy už není možno zlepšit – řešení je optimální.
Test optimality u minimalizačních úloh bude zjišťovat, zda jsou všechny hodnoty účelové funkce záporné. Je-li alespoň jeden koeficient kladný není dané řešení optimální. Výsledkem testu optimality je rozhodnutí o tom, zda řešení je již optimální a můžeme řešení ukončit, nebo řešení optimální není a musíme hledat lepší řešení. 2.6.4.2 Zlepšování výchozího řešení
Vývojový graf
Pokud dané řešení není-li optimální, je třeba využít posloupnosti činností patřících do simplexového algoritmu. Jde v něm jednak o určení zařazované a vylučované proměnné, jednak o přechod na nový přípustný kanonický tvar soustavy lineárních rovnic. a) Za zařazovanou neznámou volíme u maximalizačních úloh tu z nezákladních neznámých, která má v rovnici představující účelovou funkci záporný koeficient o nejvyšší absolutní úrovni. To proto, že tak dosáhneme nejvyššího přírůstku účelové funkce, snažíme se zařadit zařazovanou neznámou v maximální přípustné výši b) Vylučovanou neznámou určuje to z omezení úlohy, která má tzv. nejostřejší - 49 -
podmínku, takže plně využijeme jeho disponibilní množství a jeho nevyužité množství bude tedy rovno nule. Fiktivní neznámá, vyjadřující proces nevyužití tohoto činitele, může být proto mezi nezákladními neznámými. Přechod na nový přípustný kanonický tvar soustavy lineárních rovnic je ryze matematickou záležitostí a provedeme jej některou ze známých metod řešení soustav lineárních rovnic, nejlépe metodou úplné eliminace. Souhrnně lze simplexový algoritmus vyjádřit vývojovým diagramem:
1. Výchozí řešení úlohy(soustava lineárnich rovnic v přípustném kanoickém tvaru)
Řešení je optimální
2. Test optimality
Konec výpočtu
Řešení není optimální 3. Určení zařazované a vylučované neznámé
4. Přechod na nový přípustný kanonický tvar soustavy lineárnich rovnic
2.6.4.3 Řešení úloh lineárního programování v simplexové tabulce Postup řešení
Pro usnadnění prací spojených s řešením úloh lineárního programování podle simplexového algoritmu je účelné řešit úlohy ve vhodně upravené tabulce
Krok
Řádek
Ceny Základní P1 základních neznámé x1 procesů
…
Pi
P1´
xi
x1´
…
Pj´ xj ´
P0
Celý postup si ukážeme na úvodním příkladu: Příklad 1 Příklady
Máme navrhnout takový výrobní program, který zabezpečí nejvyšší zisk z výroby a prodeje výrobků A a B při omezeném využitelném disponibilním množství suroviny S (24 000 kg, při omezeném využitelném časovém fondu zařízení K (32 000 hodin) a při omezeném počtu pracovníků P (disponibilní časový fond je 12 000 hodin). Norma spotřeby surovin S činí 6 kg na jeden výrobek A, 4 kg na jeden výrobek B. - 50 -
Na zařízení K je jeden výrobek A opracováván 4hodiny, jeden výrobek B 8 hodin. Souhrnná norma času pracovníků P na zhotovení jednoho výrobku A je 2 hodiny, stejně jako na zhotovení jednoho výrobku B. Zisk z jednoho výrobku A je 8,--Kč, z jednoho výrobku B je 10,-- Kč. Ostatních činitelů potřebných k výrobě má podnik dostatečné množství. Předpokládáme, že všechny výrobky prodáme. Vidíme, že tento ekonomický problém z hlediska matematického řešení je dosti nepřehledný. Proto je vhodné sestavit si tyto údaje do tabulky: Výrobní činitel
Výrobek A
Výrobek B
Surovina kg Zařízení K hod. Pracovníci P hod Zisk Kč
6 4 2 8
4 8 2 10
Disponibilní množství 24000 32000 12000 Maximální
Tím se stává daný problém přehlednější. Matematický model má po zavedení přídatných proměnných tvar: 6x1 +4x2 + x1´ = 24 000 4x1 + 8x2 + x2´ = 32 000 + x3´ = 12 000 2x1 + 2x2 a aby účelová funkce 8x1 + 10x2 = Z dosáhla maximálně možné hodnoty Z. Výchozí řešení naší úvodní úlohy je pak v tabulce zapsáno takto: Ceny Krok Řádek základních procesu 1. 1 0 2 0 3 0 4 5
P Základní 1 x1 neznámé 1 x‘1 6 x‘2 4 x‘3 2 z -8
P2 x2 2 4 8 2 -10
P‘1 x‘1 3 1 0 0 0
P‘2 x‘2 4 0 1 0 0
P‘3 x‘3 5 0 0 1 0
P0 24 000 32 000 12 000 0
V prvním kroku tabulky je soustava lineárních rovnic v kanonickém tvaru zapsána jako rozšířená matice této soustavy. Proměnná Z bude v úlohách lineárního programování patřit vždy mezi základní proměnné. Simplexová tabulka výrazně usnadňuje řešení úlohy. Abychom mohli snadno posoudit optimalitu řešení v jednotlivých krocích, budeme důsledně účelovou funkci zapisovat jako poslední a budeme ji oddělovat od ostatních rovnic i graficky - podtržením. V tabulce pak snadno a rychle zjistíme, má-li u maximalizační úlohy některý proces záporný koeficient v účelové funkci nebo ne, a vybereme záporný koeficient o nejvyšší absolutní úrovni, takže hned určíme zařazovanou neznámou. Sloupec, ve kterém je zařazovaná neznámá, je klíčovým sloupcem. V prvním kroku naší tabulky je jím sloupec druhý (zařazovaná neznámá x2 ), protože v něm záporný koeficient dosahuje nejnižší záporné hodnoty ( - 10). Toto řešení je přípustné. Abychom určili maximální přípustnou velikost zařazované neznámé a určili vyřazovanou neznámou, provedeme podíly disponibilního množství a kladných
- 51 -
koeficientů klíčového sloupce, které zapíšeme do sloupce tabulky označeného jako podíly. V našem případě to znamená: 24 000 : 4 = 6 000 32 000 : 8 = 4 000 12 000 : 2 = 6 000. Řádek s nejnižším podílem obsahuje vylučovanou neznámou (v našem případě 2 řádek) a je označován jako klíčový řádek. Koeficient u neznámé, který je v klíčovém řádku i klíčovém sloupci označíme jako klíčový prvek. Víme, že je to koeficient zařazované neznámé v rovnici neznámé vylučované. Nalezení tohoto klíčového prvku je cílem řešení úloh lineárního programování v simplexové tabulce. Určení Postup hledání klíčového prvku: klíčového řádku 1. určíme klíčový sloupec, a sloupce
2. 3. 4.
vypočteme podíly určíme klíčový řádek určíme klíčový prvek.
1.
2.
Řádek Ceny základních
Krok
Nalezením klíčového prvku jsme vytvořili předpoklady pro přeměnu rozšířené matice soustavy na jiný, ekvivalentní sousední kanonický tvar. Protože klíčový prvek bude v novém řešení koeficientem u zařazované neznámé, která má být základní neznámou, musí být u ní kladný jednotkový koeficient. Pokud tomu tak není, musíme vydělit klíčový řádek klíčovým prvkem. Protože všechny ostatní koeficienty v klíčovém sloupci mají být nulové, v dalším postupu eliminujeme z klíčového sloupce nenulové hodnoty.
1 2 3 4 5 6 7 8
0 0 0 0 10 0
P Základní 1 x1 neznámé 1 x’1 6 x’2 4 x’3 2 Z -8 x’1 4 x2 ½ x’3 1 Z -3
P2 x2 2 4 8 2 -10 0 1 0 0
P‘1 x‘1 3 1 0 0 0 -1 0 0 0
P‘2 x‘2 4 0 1 0 0 -½ 1/8 - 1/4 5/4
P‘3 x‘3 5 0 0 1 0 0 0 1 0
DM
Podíly
24 000 32 000 12 000 0 8 000 4 000 4 000 40 000
6 000 4 000 6 000
K eliminaci užíváme důsledně upraveného klíčového řádku. Součin upraveného klíčového řádku a koeficientu u neznámé v klíčovém sloupci odčítáme postupně od jednotlivých řádků simplexové tabulky. Dokončením eliminace získáváme v tabulce přeměněnou rozšířenou matici koeficientů soustavy rovnic v kanonickém tvaru, která je ekvivalentní soustavě původní. Eliminací jsme ukončili jeden krok řešení úlohy v simplexové tabulce. Nově získaná rozšířená matice koeficientů soustavy lineárních rovnic je výsledkem prvního kroku a zároveň výchozím bodem kroku druhého. Posloupnost operací zahrnovaných do simplexového algoritmu:
- 52 -
uskutečníme test optimality určíme klíčový sloupec, řádek, průsečíkem je klíčový prvek přejdeme na nové řešení P´1
P´2
P´3
X2 2
X´1 3
X´2 4
X´3 5
P0
Podíly
Ceny zakladních procesů Základní neznámé
P2
Řádek
P1
Krok
1. 2. 3.
X1 1
1.
1
0
x´1
6
4
1
0
0
24 000
6 000
2
0
x´2
4
8
0
1
0
32 000
4 000
3
0
x´3
2
2
0
0
1
12 000
6 000
z
-8
-10
0
0
0
0
x´1 x´2 x´3
4 1/2 1
0 1 0
1 0 0
-1/2 1/8 -1/4
0 0 1
8 000 4 000 4 000
Z
-3
0
0
5/4
0
40 000
x1 x2 x´3
1 0 0
0 1 0
1/4 -1/8 -1/4
-1/8 3/16 -1/8
0 0 1
2 000 3 000 2 000
z
0
0
3/4
7/8
0
46 000
4 2.
5 6 7
0 10 0
8 3.
9 10 11 12
8 10 0
2 000 8 000 4 000
V druhém kroku jsme přešli na jiné řešení: x1 = 0, x2 = 400, x1´ = 8 000, x2´= 0, x3´= 400, Z = 40 000 Kč. Z ekonomického hlediska budeme vyrábět 4 000 kusů výrobku B, zisk bude 40 000 Kč, zůstane nevyužito 8 000 kg suroviny a 4 000 hodin zaměstnanců. Z tabulky vidíme, že při druhém kroku není řešení ještě optimální, protože jeden koeficient v účelové funkci je záporný. Musíme provést ještě další krok. Ve třetím kroku simplexové tabulky je patrné, že jde o řešení optimální, takže můžeme výpočet ukončit. Z něho vidíme, že v kanonickém tvaru jsou neznámé x1, x2 a x3. Zbývající neznámé x1´ a x2´ jsou volné neznámé, mající nulovou hodnotu. Získali jsme základní přípustné řešení s takovou úrovní neznámých: x1´ = 0 z = 46 000 x1 = 2 000 x2 = 3 000 x2´ = 0 x3´ = 2 000
- 53 -
1. Sestavíme simplexovou tabulku (zapíšeme do tabulky rozšířenou maticí soustavy lineárních rovnic v kanonickém tvaru. )
2. Uskutečníme test optimality. Posoudíme koeficienty v účelové funkci:a) Není-li u maximalizačních úloh žádný záporný koeficient, zastavíme vypočet. b) Je-li u maximalizačních úloh alespoň jeden koeficient
3. Najdme klíčový prvek a) Určíme klíčový sloupec b) Vypočteme podíl c) Určíme klíčový řádek d) Určíme klíčový prvek
4. Přejdeme na jiný kanonický tvar soustavy rovnic a) Klíčový řádek dělíme klíčovým prvkem b) Eliminujeme z klíčového sloupce nenulové hodnoty
- 54 -
Konec Výpočtu
Optimálním výrobním programem bude výroba 2000 kusů výrobků A a 3 000 kusů výrobků B, jejichž prodejem dosáhneme zisku 46 000 Kč. Přitom plně využijeme disponibilní množství suroviny a využitelný časový fond zařízení K. Fiktivní neznámá x3´ = 2000 znamená, že nebude využito 2 000 hodin pracovníků P. Vidíme, že z tohoto výsledku se nabízí řada dalších možností jak změnit omezující podmínky abychom mohli více využívat hodiny pracovníků (nákup další suroviny – důsledky, jiný technologický postup, atd., což je úkol ekonomů). Celý postup (algoritmus) řešení úloh lineárního programování, které byly zformovány do přípustného kanonického tvaru soustavy lineárních rovnic, můžeme opět vyjádřit vývojovým diagramem. Zvláštní případy Při řešení mohou nastat také zvláštní případy: 1. Daná úloha má nekonečně mnoho optimálních řešení. Projeví se to tak, že v optimálním řešení je koeficient u některé nezákladní proměnné v účelové funkci nulový. 2. Úlohy degenerované. V tomto případě při určování klíčového řádku mají dva i více řádků stejné nejmenší hodnoty. To znamená, že zařazením jednoho řádku jako klíčového, u zbývajících dostaneme v disponibilním množství nulu. Tím získáváme rozdílné kanonické soustavy rovnic, z nichž však odvodíme stejné (jediné) základní řešení. 3. Nejednoznačné určení klíčového sloupce. Jsou-li v účelové funkci dvě nebo více stejných nejmenších záporných hodnot, pak je jedno, který sloupec si zvolíme za klíčový. Vždycky přijdeme k optimálnímu řešení, ale počet kroků nemusí být shodný. Tyto případy si ukážeme na konkrétních příkladech: Příklad 2 Úloha má větší počet optimálních řešení. Podniku po splnění závazných úkolů zbývá nevyužita kapacita 3 zařízení Z1 (800 hodin), Z2 (1720 hodin), Z3 (1000 hodin). Uvažuje se o zavedení doplňkové výroby, v níž lze vyrábět výrobky A, B, C, D po kterých je značná poptávka. Snahou vedení podniku je dosáhnout maximálního zisku. Údaje o potřebě na jeden metr výrobku a zisk z jednoho metru jsou uvedeny v tabulce: Zařízení
Potřeba hodin na 1 m výrobku V2 V3 V4 V1 5 4 2 1 2 2 4 4 1 2 2 4 180 250 200 150
Řádek
1.
1 2 3 4 5
2.
Ceny základních Základní neznámé
Krok
Z1 Z2 Z3 Zisk Kč
0 0 0 250
x´1 x´2 x´3 z x2
Nevyužitá kapacita 800 hodin 1 720 hodin 1 000 hodin maximum
P1 x1
P2 x2
P3 x3
P4 x4
P´1 x´1
P´2 x´2
P´3 x´3
1 5 2 1 -180 5/4
2 4 2 2 -250 1
3 2 4 2 -200 1/2
4 1 4 4 -150 1/4
5 1 0 0 0 1/4
6 0 1 0 0 0
7 0 0 1 0 0
- 55 -
P0
Podíl
800 1 720 1 000 0 200
200 860 500 800
3.
4.
5.
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
0 0 250 0 150 250 200 150 0 200 150
x´2 x´3 z x2 x´2 x4 z x2 x3 x4 z x´3 x3 x4 z
-1/2 -3/2 265/2 19/14 1 -3/7 95 8/7 1/2 -4/7 120 8 9/2 -4 120
0 0 0 1 0 0 0 1 0 0 0 7 7/2 -3 0
3 1 -75 3/7 2 2/7 -50 0 1 0 0 0 1 0 0
-1/2 -1/2 -175/2 0 0 1 0 0 0 1 0 0 0 1 0
-1/2 -1/2 -125/2 2/7 0 -1/7 50 2/7 0 -1/7 50 2 1 -1 50
1 0 0 0 1 0 0 -3/14 1/2 -1/7 25 -3/2 -1/4 1/2 25
0 1 0 -1/14 -1 2/7 25 1/7 -1/2 3/7 0 1 0 0 0
1320 600 50 000 1 100/7 720 1 200/7 65 000 20/7 360 480/7 83 000 20 370 60 83 000
2 640/7 1 200/7 1 100/3 360 600 20 160
Sestavení matematického modelu a převedení na soustavu lineárních rovnic není v tomto případě problém. Proto si jej ve vlastním zájmu vytvořte a porovnejte s prvním krokem. Celé řešení daného úkolu vidíme v následující tabulce. Z ní vyplývá, že ve čtvrtém kroku je již řešení optimální, protože žádný koeficient účelové funkce není záporný, zisk je 83 000 Kč. Nulová hodnota účelové funkce je ale také ve sloupci 7. Proto tento sloupec zvolíme jako klíčový. Zde děláme pouze dva podíly, protože jeden koeficient je záporný, v tomto případě podíl neděláme! V pátém kroku dostáváme nové řešení u něhož je zisk stejný. Výsledek si interpretujte sami. Příklad 3
1 2 3 4 5 6 7 8 9 10 11 12
2.
2.´
zákl. 1.
P1 x1
P2 x2
P3 x3
P4 x4
P´1 x´1
P´2 x´2
P´3 X´3
Ceny procesů Základní neznámé
Řádek
Degenerovaná úloha. Využijeme předcházejícího příkladu s tím rozdílem, že počet hodin k dispozici je u Z1 800 hodin, Z2 1600 hodin a Z3 je 1000 hodin. Zisk u výrobku B je 180 Kč. Ostatní údaje jsou stejné. Úkol: Vytvořte si tabulku a na základě ní sestavte matematický model, který převedete na soustavu lineárních rovnic. Z následující tabulky, kde je proveden výpočet, se můžeme přesvědčit o správném matematickém modelu.
Krok
Řešení degenerované úlohy
1
2
3
4
5
6
7
0 0 0
5 2 1 -180 5/2 -8 -4 320 9/2 -4 8 120
4 2 2 -180 2 -6 -2 220 7/2 -3 7 70
2 4 2 -200 1 0 0 0 1 0 0 0
1 4 4 -150 1/2 2 3 -50 0 1 0 0
1 0 0 0 1/2 -2 -1 100 1 -1 2 50
0 1 0 0 0 1 0 0 -1/4 1/2 -3/2 25
0 0 1 0 0 0 1 0 0 0 1 0
200 0 0 200 150 0
x´1 x´2 x´3 z x3 x´2 x´3 z x3 x4 x´3 z
P0
Podíl
800 1 600 1 000 0 400 0 200 80 000 400 0 200 80 000
400 400 500 800 0 200/3
Z prvního kroku vidíme, že řešení dané úlohy není optimální. Vybereme 3. sloupec - 56 -
a provedeme podíly. V 1. a 2. řádku jsou podíly stejné, nejmenší. Proto je jedno, který řádek volíme za klíčový. Zvolíme klíčový řádek první a dostali jsme ve druhém řádku v disponibilním množství 0. To znamená, že se jedná o degenerovanou úlohu protože, základní neznámá x2´= 0. Po druhém kroku dostáváme toto řešení: X1= 0, x2= 0, x3 = 400, x1´= 0, x2´= 0, x3´= 200, Z = 80 000 Interpretaci výsledku si můžete provést sami. Proveďte. Toto řešení není optimální, ve 4. Sloupci je hodnota účelové funkce – 50. Zařadímeli této sloupec do řešení, dostáváme konečné řešení. Úkol. Porovnejte výsledky a vysvětlete závěr Příklad 4 Nejednoznačné určení klíčového sloupce: Řešte úlohu danou matematickým Nejednoznačné řešení klíčového modelem: sloupce 6x1 + 8x2 ≤ 180 2x1 +2x2 ≤ 40 Účelová funkce Z = 10x1 +10x2
2
3
4
Základní neznámé
P4 x´2
Ceny základních procesů
P3 x´1
Řádek
P2 x2
1
Krok
P1 x1
1.
1 2
0 0
x´1 x´2
6 2
8 2
1 0
0 1
180 40
30 20
4 5 6
200 0
z x3 x´2
-10 0 1
-10 2 1
0 1 0
0 -3 1/2
0 60 20
30 20
z
0
0
0
5
200
x3 x4
-2 1
0 1
1 0
-4 1/2
20 20
z
0
0
0
5
200
2.
8 3.
9 10
200 150
12
P0
Podíl
V případě, že volíme 2. sloupec jako klíčový dostáváme
2
3
4
8 2
1 0
z
-10
-10
0
Základní neznámé
P4 x´2
Ceny základních procesů
P3 x´1
Řádek
P2 x2
1
Krok
P1 x1
1.
1 2
0 0
x´1 x´2
6 2
4
P0
Podíl
0 1
180 40
30 20
0
0
………………………………………………………….. 3.
9 10 12
200 150
x3 x4
-2 1
0 1
1 0
-4 1/2
20 20
z
0
0
0
5
200
- 57 -
V tomto případě je jedno, který sloupec volíme za klíčový. Všechny tyto úlohy byly takové, že matematickým modelem byla soustava nerovnic, u kterých levá strana byla menší nebo rovna pravé straně a jednalo se o maximalizační úlohu. Mluvíme o jednofázové simplexové metodě.
2.6.5 Princip dvoufázové metody
Dvoufázová metoda
V případě, že matematickým modelem je soustava nerovnic, z nichž některá mají omezení větší nebo rovnost, pak řešíme tyto úlohy tzv. dvoufázovou metodou, která spočívá v tom, že k získání kanonického tvaru používáme kromě přídatných proměnných pomocné proměnné, které zpravidla označujeme y. Celý postup si ukážeme na konkrétním příkladu daným matematickým modelem: Příklad 1 2x1 + 4x2 ≤ 800 3x1 +x2 ≤ 600 x1 ≥ 100 Účelová funkce Z = 8x1 + 4x2 (maximální). Zavedeme-li přídatné proměnné obdržíme soustavu rovnic: 2x1 + 4x2 + x1´= 800 3x1 +x2 + x2´= 600 x1 - x3´ = 100 Z - 8x1 - 4x2 = 0. Soustava je v kanonickém tvaru, ale není přípustný (x3´= -100). Proto zavedeme do 3 rovnice pomocnou proměnnou y, kterou musíme minimalizovat. Dostáváme: 2x1 + 4x2 + x1´= 800 3x1 +x2 + x2´= 600 X1 - x3´ + y = 100 Z - 8x1 - 4x2 = 0 Z´- y = 0. Po této úpravě už není soustava v kanonickém tvaru, protože proměnná y je také v účelové funkci Z´. Přičtením 3. rovnice k poslední rovnici už dostáváme soustavu, která je v kanonickém tvaru, kterou musíme nejdříve minimalizovat s ohledem na proměnnou y. Po splnění této podmínky budeme původní účelovou funkci maximalizovat. Soustava má tento tvar: 2x1 + 4x2 + x1´= 800 3x1 +x2 + x2´= 600 x1 - x3´ + y = 100 Z - 8x1 - 4x2 = 0
- 58 -
Z´ + x1 – x3 = 100 Řešení této úlohy je v tabulce: Řádek
Ceny základní ch Základn í á
Krok 1.
1 2 3 4
0 0 0
2.
5 6 7 8
200 0 0
3.
9 10 11 12 9 10 11 12
200 150 0
4.
P1 x1 1 2 3 1 -8 1 0 0 1 0 0 0 0 1 0 0 0 1 0
200 150 0
x´1 x´2 x´3 z z´ x3 x´2 x´3 z z´ x3 x4 x´3 z x3 x4 x´3 z
P2 x2 2 4 1 0 -4 0 4 1 0 -4 0 10/3 1/3 1/3 -4/3 1 0 0 0
P3 x´1 3 1 0 0 0 0 1 0 0 0 0 1 0 0 0 3/10 -1/10 -1/10 0,4
P4 x´2 4 0 1 0 0 0 0 1 0 0 0 -2/3 1/3 1/3 8/3 -1/5 6/15 6/15 12/5
P´1 x´3 5 0 0 -1 0 -1 2 3 -1 -8 0 0 1 0 0 0 1 0 0
P´2 y 6 0 0 1 0 0 -2 -3 1 8
P0 800 600 100 0 100 600 300 100 800 0 400 100 200 1600 120 60 160 1760
Podíl 400 200 100 300 100
120 300 600
Tím dostáváme soustavu v přípustném kanonickém tvaru a můžeme ji řešit dvoufázovou simplexovou metodou: nejdříve budeme minimalizovat pomocnou účelovou funkci. Klíčový sloupec určíme podle maximálního kladného koeficientu. Pak provedeme podíly stejně jako u maximalizační úlohy a klíčový řádek určíme také stejně. Převádíme na jiný kanonický tvar, až hodnota pomocné účelové funkce se rovná nule. Tím jsme splnili podmínku, že hodnota pomocných proměnných je rovna nule a proto můžeme sloupce obsahující pomocné proměnné a pomocnou účelovou funkci vyškrtnout. ve druhé fázi budeme naši původní účelovou funkci maximalizovat nebo minimalizovat jak je zadáno. Všechno vidíme z tabulky, kde je proveden výpočet. Ekonomickou aplikaci již není těžké provést.
- 59 -
1. Matematická formulace úloh
Soustava lineárních rovnic, která není v kanonickém tvaru 2. Metoda pomocných proměnných a) Zavedeme nezáporné pomocné (umělé) proměnné yk do rovnic, které nemají základní neznámé. b) Přidáme k soustavě pomocnou účelovou funkci
z´= y1 + y2 + …… +yk
c) Upravíme soustavu do kanonického tvaru (rovnici z´ anulovanou a vynásobenou (-1) sečteme s rovnicemi do kterých jsme přidali pomocné proměnné). d) Řešíme pomocnou úlohu pro minimální nezáporné z´.
Nemá
Má pomocná úloha z´ = 0 ? Pomocná úloha má z´ = 0. 3. Řešení původní úlohy (podle simplexového algoritmu)
Konec výpočtu
Původní úloha nemá připustné řešení
Konec výpočtu
V některých případech může jít o neřešitelné úlohy. To nastane tehdy, jestliže pomocná účelová funkce je optimální v případě hodnoty větší než nula. Samostatná práce studenta:
- 60 -
Příklad 2 Zemědělská farma rozhoduje o využití 800 ha půdy. Má možnost pěstovat čtyři různé plodiny (A, B, C, D) s různou potřebou dvou nedostatkových hnojiv na 1 ha plodiny. Hnojiva H má k dispozici 2400 jednotek. Na 1 ha plodin A 2 jednotky, B 6 jednotek, C 2 jednotky, D 4 jednotky. Hnojiva P 4000 jednotek (na A 4 jednotky, B 4 jednotky, C 6 jednotek, D 8 jednotek). Výnos v korunách z 1 ha plodiny A je 2000Kč, plodiny B je 4000 Kč, plodiny C 3000Kč a plodiny D 5000Kč. Představenstvo chce sestavit takový osevný plán, při kterém farma plně využije ornou půdu a dosáhne maximálního čistého peněžního výnosu. Při matematické formulaci nejdříve vyjádříme plné využití orné půdy: x1 + x2 + x3 + x4 = 800, kde neznámé xi představují osevní plochu jednotlivých plodin. Úkol: Sestavení další části matematického modelu není obtížné – sestavte. Doplněním přídatných proměnných, pomocné proměnné a úpravou nakonec dostáváme přípustný kanonický tvar úlohy, kterou musíme nejdříve minimalizovat s ohledem na pomocnou účelovou funkci a dál maximalizovat: X1 + x2 + x3 + x4 + y = 800 2x1 + 6x2 + 23 + 4x4 + x1´ = 2400 4x1 + 4x2 + 6x3 + 8x4 + x2 = 4000 -2000 x´1 – 4000 x2 - 3000 x3 - 5000 x4 + z = 0 X1 + x2 + x3 + x4 + z = 800 Úkol: Danou úlohu vyřešte a dokažte, že na 500 ha budeme pěstovat plodinu A, na 100 ha plodinu B, na 200 ha plodinu D, výnos bude 2 400 000 Kč.
2.6.6
Shrnutí
Podstata simplexové metody z hlediska matematického aparátu je velmi jednoduchá, ale při výpočtu se setkáváme s velkým počtem proměnných a koeficienty jsou zpravidla racionální čísla. Proto je možné používat při výpočtu programů na počítače. V těchto případech je potřeba správně sestavit matematický model a dále postupovat podle návodu daného programu. Zde byly předvedeny metody, které řeší tím nejjednodušším způsobem jednoduché úlohy lineárního programování. Pokud by student měl větší zájem o hlubší prostudování a řešení těchto úloh, může využít učebnic ze seznamu literatury.
2.6.7 1.
Kontrolní otázky Co tvoří matematickou podstatu simplexové metody?
- 61 -
2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
2.6.8 1.
Jak určujeme zařazovanou neznámou v maximalizačních úlohách lineárního programování? Vyslovte pravidlo testu optimality pro maximalizační úlohy. Vyslovte pravidlo testu optimality pro minimalizační úlohy. Co je to simplexový algoritmus? V jakém tvaru musí být soustava rovnic, z níž se odvozuje výchozí řešení a proč? V čem je podstata testu optimality a jak se provádí? Vysvětlete, jak určujeme zařazovanou neznámou v maximalizačních úlohách. Vysvětlete, jak poznáme, že soustava bude mít nekonečně mnoho řešení. V čem je podstata degenerace úloh lineárního programování a jak se projevuje? V čem spočívá funkce metody pomocných proměnných při řešení úloh lineárního programování? Vysvětlete, v čem je podstata metody pomocných proměnných. Charakterizujte algoritmus metody pomocných proměnných. Jaký může být výsledek řešení tzv. pomocné úlohy a jaké má důsledky? Které úlohy lineárního programování nevedou při formulaci k soustavě rovnic v kanonickém tvaru? Uveďte dvě etapy řešení úloh lineárního programování a charakterizujte jejich podstatu.
Cvičení Balírny plánují na následující období výrobu dvou směsí A a B. Pro výrobu těchto směsí mají smluvně k dispozici od dodavatelů tři druhy K1, K2, K3 o kapacitě 10, 12 a 15 tun lišící se kvalitou a nákupní cenou. Při výrobě obou směsí se musí dodržet předpis, jaké procento jednotlivých komponent bude použito při výrobě. Byl vykalkulován zisk, který činí 10 000 Kč za směs A a 8 000 Kč za směs B. Naplánujte výrobu s maximálním ziskem. Výpočet proveďte simplexovou metodou. Komponenta
Směs A 0,50 0,25 0,25
K1 K2 K3
2.
B 0,10 0,5
Kapacita (tuny) 10 12 15
Strojírenský závod vyrábí čtyři výrobky V1, V2, V3, V4. Má k dispozici omezené množství surovin S1 1200 kg, S2 1200 kg a omezenou kapacitu zařízení Z 800 hod. Normy spotřeby surovin jsou uvedeny v tabulce, včetně strojového času v hod. na 1 kg výrobku. Zisk z výrobků je 80, 60 100 a 30 Kč na 1 kg. Naplánujte výrobu s maximálním ziskem. Výpočet proveďte simplexovou metodou. S1 S2 Z
V1 4 0 2
V2 0 0 8
V3 6 8 4
- 62 -
V4 2 4 2
3.
Strojírenský závod vyrábí čtyři výrobky V1, V2, V3, V4. Při sestavování výrobního programu je potřeba počítat s omezenou kapacitou zařízení, která je 1 200 hodin čtvrtletně a s omezeným množstvím suroviny S, které je 1 400 tun čtvrtletně. Výrobky V1 a V2 jsou polotovary potřebné pro výrobu výrobků V2, V3 a V4 a mohou být též prodávány. Zisk z jednotlivých výrobků je 300, 600, 1000 a 3000 Kč na jednu tunu. Naplánujte výrobu s maximálním ziskem. Výpočet proveďte simplexovou metodou. V1 1,5 2 0 0
Z S V1 V2
4.
V2 0 1,5 0,5 0
V3 2 2 0 0,5
V4 2,5 0 1 2
Firma vyrábí čtyři výrobky V1, V2, V3, V4, které postupně procházejí třemi zařízeními Z1, Z2, Z3. Kapacita prvních dvou zařízení je 800 hodin, třetího 860 hodin. Čas v hodinách, po který prochází 1 tuna výrobků je uvedena v tabulce. Zařízení Z2 a Z3 musí být plně využito. Zisk z výrobků je 400, 500, 500 a 600 Kč na tunu. Úkolem je stanovit výrobní program, kterým firma dosáhne maximální hodnoty produkce. Výpočet proveďte simplexovou metodou. Z1 Z2 Z3
V1 2 6 0
V2 0 4 4
V3 4 2 4
V4 4 0 6
2.7
Řešení úloh lineárního programování pomocí Řešitele
2.7.1
Cílové vlastnosti a dovednosti
Po prostudování této kapitoly budete umět uložit vstupní data daného matematického modelu do tabulky Excelu, vyznačit operace v jednotlivých buňkách, a sestavit výchozí řešení a po spuštění programu zjistit optimální řešení problému.
2.7.2
Klíčová slova
Vstupní data, vlastní omezení, podmínky nezápornosti, nastavení buněk, účelová funkce, parametry řešitele, měněné buňky.
2.7.3
Práce s příkazem Řešitel
Řešitel je součástí sady příkazů, která se někdy nazývá nástroje citlivosti analýzy. Je Postup řešení to proces, při kterém se mění hodnoty v buňkách za účelem posouzení vlivu změn na výsledky vzorců v listu. Jedná se o funkci v programu MS Excel. Pomocí Řešitele můžeme nalézt optimální hodnotu pro vzorec v cílové buňce. Této metody můžeme - 63 -
použít při řešení optimalizačních problémů především v minimalizaci nákladů nebo maximalizaci zisku. Příkaz Řešitel je doplněk k programu sady Microsoft Office, který pro použití musíme nejdříve načíst: a) v nabídce nástroje klikněte na příkaz „Doplňky“ b) v seznamu „dostupné doplňky“ zaškrtněte políčko u položky „Řešitel“ a potvrďte. Do textového pole zadat koeficienty u jednotlivých neznámých a omezující podmínky. Dále dosadíme cenu a u řešení začínáme vstupními hodnotami „0,0“. Pro vlastní výpočet musíme nastavit parametry Řešitele
Do políčka „Nastavit buňku“ zapíšeme buňku, v níž je napsána účelová funkce. Například F7, dále musíme označit, zda se jedná o úlohu maximalizační nebo minimalizační. Omezující podmínky – určíme podle zadání matematického modelu (≤0, ≥0). Toto omezení se přidává pomocí tlačítka „Přidat“ a potvrdíme tlačítkem „Řešit“. Pro hodnoty proměnných musíme určit, zda výsledné neznámé mají být kladné, to zajistíme zaškrtnutím políčka s názvem „Nezáporná čísla“, v tabulce „Možnosti Řešitele“.
- 64 -
Výpočet úlohy se spustí stisknutím tlačítka „Řešit“. Celý postup si ukážeme na úvodním příkladu, který je zadán matematickým modelem: 6x1 +4x2 ≤ 24 000 4x1 + 8x2 ≤ 32 000 2x1 + 2x2 ≤ 12 000 a aby účelová funkce 8x1 + 10x2 = Z dosáhla maximálně možné hodnoty Z.
- 65 -
Po splnění všech příkazů dostáváme tabulku
Z ní můžeme určit, že závod bude vyrábět 2 000 výrobků A, 3 000 výrobků B, bude využito veškeré množství surovin a kapacita strojového času zůstane nevyužito 2 000 - 66 -
hodin pracovníků. Zisk je 46 000Kč. Úkol: Pomocí tohoto programu vyřešte úlohy, které byly vypočteny graficky nebo simplexovou metodou.
2.7.4
Kontrolní otázky
1. Co rozumíme pod pojmem Řešitel? 2. Jak postupujeme při přípravě použití Řešitele? 3. Co je to vlastní omezení úlohy, účelová funkce a podmínky nezápornosti? 4. Jak postupujeme při nastavení parametrů Řešitele? 5. Co zapíšeme do políčka omezující podmínky? 6. Jaké hodnoty nastavíme pro hledané proměnné? 7. Za jakých podmínek můžeme spustit řešení? 8. Co všechno můžeme vyčíst z výsledné tabulky?
2.7.5
Shrnutí
Užitím programu Řešitel můžeme rychle najít optimální řešení dané úlohy. Nutno ale pozorně vyplňovat jednotlivé buňky a správně určit operace s jednotlivými buňkami.
2.7.6 1.
Cvičení Za pomoci Řešitele vypočtěte následující příklad. Firma vyrábí dva druhy výrobků V1 a V2. Na výrobu těchto výrobků jsou potřeba dva druhy materiálů M1 a M2, kterého má k dispozici v omezeném množství. Všechny potřebné údaje jsou uvedeny v tabulce. Ostatní omezení neuvažujte. Úkolem je stanovit výrobní program firmy tak, aby z hlediska zisku byl maximální. M1 M2 Cena
2.
V1 30 10 2000
V2 50 10 3000
Disponibilní množství (kg) 1500 400
Za pomoci Řešitele vypočtěte následující příklad. Firma vyrábí dva druhy výrobků V1 a V2. Výrobky jsou vyráběny na dvou strojích ST1 a ST2, které mají omezenou kapacitu strojového času. Firma má stanovenou minimální produkci ve výši 10 000 EUR. Veškeré potřebné údaje jsou uvedeny v tabulce. Firma má snížit spotřebu elektrické energie. Spotřeba elektrické energie na jeden výrobek V1 je 8 kWh a 11 kWh na jeden výrobek V2. Úkolem je stanovit výrobu tak, aby z hlediska spotřeby elektrické energie byla optimální.
- 67 -
ST1 ST2 Cena
V1 5 2 25
V2 4 4 20
Disponibilní množství 3000 2400 10000
3.
Za pomoci Řešitele vypočtěte následující příklad. Stanovte výrobní program podniku vyrábějícího dva druhy výrobků A a B. Výrobní proces sestává ze tří operací (lití, lisování a montáž), přičemž výrobní kapacity podniku jsou následující: kapacita slévárny je 80 jednotek A nebo 100 jednotek B, kapacita lisovny je 200 jednotek A nebo 60 jednotek B, kapacita montážní linky je 60 jednotek A a zároveň 80 jednotek B. Zisk z obou typů výrobku je kalkulována na částku 28 000 Kč za jednotku. Pro zjednodušení příkladu neuvažujte některé další faktory: např. rozdílný zájem o výrobek A i B, rozdílné ceny surovin, dodací lhůty, záměry výzkumu a vývoje v podniku atd.
4.
Za pomoci Řešitele vypočtěte následující příklad. Balírny plánují nasledující období výrobu dvou směsí A a B. Pro výrobu těchto směsí mají smluvně k dispozici od dodavatelů tři druhy komponent K1, K2, K3 o kapacitě 10, 12 a 15 tun lišící se kvalitou a nákupní cenou. Při výrobě obou směsí se musí dodržet poměr jednotlivých komponent (viz následující tabulka). Byl vykalkulován zisk, který činí 10 000 Kč za směs A a 8 000 Kč za směs B. Naplánujte výrobu s maximálním ziskem. Komponenta K1 Komponenta K2 Komponenta K3
A 0,50 0,25 0,25
2.8
Dopravní úlohy
2.8.1
Cílové vlastnosti a dovednosti
B 0,10 0,50 0,00
Kapacita 10,00 12,00 15,00
V této části se seznámíte se speciálními metodami řešení distribučních metod pomocí tabulek. Naučíte se určit základní řešení dané dopravní úlohy, a provést její optimalizaci.
2.8.2
Klíčová slova
Kapacity dodavatelů, požadavky spotřebitelů, matice nákladů, vyrovnaná a nevyrovnaná dopravní úloha, základní řešení, metoda severozápadního rohu, indexní metoda, metoda VAM, degenerovaná dopravní úloha, přímé a nepřímé náklady, podmínka optimálního řešení.
Obecné formulace a sestavení úlohy
2.8.3
Formulace úlohy
Dopravní úloha byla jedním z prvních problémů, při jejichž řešení bylo úspěšně použito metod lineárního programování. Úlohu lze řešit simplexovou metodou, ale v - 68 -
praxi se užívá speciálních metod (distribuční metody nebo metody využívající algoritmus z teorie grafů - hledání nejlevnějšího toku v síti). V dopravní úloze jde o přepravu produktu od skupiny dodavatelů ke skupině odběratelů za nejnižší cenu (nebo po nejkratší cestě). Je dáno m dodavatelů s kapacitami a1, a2, ... , am a n spotřebitelů s požadavky b1, b2, ... ,bn. Přeprava jednotkového množství od i-tého dodavatele k j-tému spotřebiteli je spojena s náklady cij (nebo cij je odpovídající kilometrová vzdálenost). Úkolem je sestavit nejracionálnější přepravní plán, tj. určit množství xij, která se mají přepravit od i-tého dodavatele k j-tému spotřebiteli tak, aby byly splněny požadavky spotřebitelů a celkové přepravní náklady (nebo celkový objem přepravy v tzv. "tunokilometrech") byly minimální. Předpokládáme, že náklady cij jsou konstantní, tj. nezávisí na přepravovaném množství. Dále předpokládejme, že objem kapacit se rovná objemu požadavků tj.
(předpoklad není na újmu obecnosti), neboli půjde o tzv. vyrovnanou dopravní úlohu. Všechny údaje můžeme sestavit do přehledné tabulky: dodavatelé spotřebitelé 1 2 1 c11 c12 x11 x12 2 c21 c22 x21 x22 : : : m cm1 cm2 xm1 xm2 požadavky b1 b2
kapacity ... n ... c1n x1n ... c2n x2n : ... cmn xmn ... bn
a1 a2 : am
(Náklady cij jsou v pravém horním rohu každého políčka)
Matematický model: Nalézt minimum lineární funkce
při splnění podmínek
pro i = 1,2,...,m
- 69 -
xij
0
pro j = 1,2,...,n pro i = 1,2,...,m a pro j = 1,2,...,n
(Je zřejmé, že úlohu bychom mohli řešit jako úlohu lineárního programování s m. n proměnnými a m + n vlastními omezeními simplexovou metodou, ale řešení by bylo zbytečně pracné). Všechna omezení nejsou vzhledem k předpokladu, že se jedná o vyrovnanou dopravní úlohu nezávislá, jedno vyplývá z ostatních. Nezávislých omezení je m+n-1, tzn., že základní řešení má nejvýše m+n-1 kladných prvků. Dopravní úloha má vždy optimální řešení. Pro řešení použijeme tzv. distribuční metodu, která někdy bývá nazývána metodou řádkových a sloupcových čísel.
2.8.4
Nalezení výchozího řešení.
Jedná-li se o vyrovnanou dopravní úlohu je třeba najít nejdříve základní řešení, které Určení budeme postupně zlepšovat. Základního řešení můžeme určit několika metodami: základního řešení
a) Metoda severozápadního rohu Maximálním množstvím obsadíme políčko v levém horním rohu a postupně obsazujeme maximálním množstvím další políčka. Při této metodě zpravidla získané základní řešení je velmi vzdálené od optimálního řešení, protože nebyl brán zřetel na náklady. b) Indexní metoda Seřadíme cesty od dodavatele ke spotřebiteli, od nejnižších nákladů po nejvyšší a maximálním možným množstvím obsadíme políčko s nejnižšími náklady a postupně obsazujeme maximálním možným množstvím další políčka. c) Vogelova aproximační metoda (VAM) Jedná se o metodu, která při obsazování políček přihlíží k sazbám. Nejdříve si spočteme diference di pro i = 1, …, m, kde di je rozdíl mezi dvěma nejnižšími sazbami v i-tém řádku, potom spočítáme diference dj pro j = 1, …., n, kde dj je rozdíl mezi dvěma nejnižšími sazbami v j-tém sloupci. Při obsazování políček vybereme vždy nejvyšší diferenci (tím definuje obsazovaný sloupec nebo řádek) a nejnižší sazbu (čímž vybereme obsazovaný řádek nebo sloupec), dostáváme obsazované políčko, do kterého zapíšeme maximální přípustné množství. Sloupec nebo řádek, u kterého je splněna požadovaná podmínka označíme „x“ a znovu provedeme diference pro jednotlivé řádky a sloupce s výjimkou řádku nebo sloupce označeným „x“. To znamená, že při zaplňování políček musíme diference di a dj průběžně přepočítávat, protože nepočítáme se sazbami obsazených políček a se sazbami políček, která již nemohou být obsazena (kapacita dodavatele je vyčerpána nebo požadavek odběratele je plně uspokojen). Určení základního řešení si ukážeme na praktickém příkladu:
- 70 -
Příklad 1 Tři kamenolomy s kapacitami D1 = 500 tun, D2 = 700 tun, D3 = 900 tun, dodávají na 4 stavby požadovaný kámen. Stavba S1 požaduje 600t, S2 450t, S3 600t a S4 450t. Matice nákladů: . Najděte výchozí řešení a určete náklady na přepravu: Součet KD = 2100 t, součet PS = 2100t, jedná se o vyrovnanou dopravní úlohu. Můžeme proto najít výchozí řešení jednotlivými metodami. a) Metodou severozápadního rohu S1
S2 4
D1
500
D2
100
S3 7
6
KD 5 500
12
2 450
9
600
8
7 700
150 11
D3 PS
S4
450
10
10
450
450
600
450
900
Náklady na přepravu jsou: 4 . 500 + 12 . 100 + 8 . 150 + 10 . 450 + 10 . 450 =14 300 b) Indexní metoda – postupně obsazujeme políčka s nejnižšími náklady S2
S1 4 D1
S3 7
S4 6
KD 5 500
500 12
D2
2
8
450 9
D3
100
PS
600
700
250 11
450
7
10
10
600
200
600
450
- 71 -
900
Náklady: 4 . 500 + 2 . 450 + 7 . 250 + 9 . 100 + 10 . 600 + 10 . 200 = 13 550. Vidíme, že náklady jsou nižší. c) Vogelova aproximační metoda S2
S1 4 D1
S3
S4
7
6
KD
500
500 12
D2
2 450
9 D3
100
PS
600 5, 3, 3, x
1,x
5
8
5,5,1,1,x
7 700
250 11
10
1,1,1,1
10
350
450
450
600
450
5, 5, x
2, 2, 2, 2
2,2,2,2
900
Náklady na přepravu v tom případě jsou: 4 . 500 + 9 . 100 + 2 . 450 + 8 . 250 + 10 . 350 + 10 . 450 = 13 800 Vidíme, že při určování základního řešení jednotlivými metodami jsou náklady na přepravu různé. Porovnáním jednotlivých nákladů vidíme, že nejvýhodnější by bylo řešení indexní metodou (náklady 13550). Tím ale není dokázáno, že toto řešení je řešení optimální.
2.8.5 Optimalizace úlohy
Výpočet optimálního řešení
Optimální řešení dopravního problému určujeme nejčastěji pomocí modifikované distribuční metody (pomocí nepřímých nákladů). Počet obsazených cest musí být roven m + n – 1. Postup: 1. U některého dodavatele zvolíme jeho cenu rovnou nule – stínová cena. Tuto cenu budeme ve směru přepravy zvyšovat o přepravné a snižovat proti směru přepravy 2. Přitom platí rovnice Si,j = ci,j + Di,j, kde Si,j je cena spotřebitele, ci,j jsou přepravní náklady a Di,j je cena dodavatele 3. Pomocí této rovnice a zvolené stínové ceny ohodnotíme pomocí obsazených cest všechny zbývající dodavatele a spotřebitele
- 72 -
4.
5. 6. 7. 8. 9. 10. 11.
Na základě ohodnocení spotřebitelů a dodavatelů vypočteme nepřímé náklady cí,j u neobsazených cest podle rovnice cí,j´= Si,j – Di,j a napíšeme je do levého dolního rohu U těchto neobsazených cest vypočteme rozdíly ci,j´ - ci,j Pokud jsou všechny rozdíly rovny nule, je dané řešení optimální Je-li alespoň jeden rozdíl kladný, není toto řešení optimální, je třeba přejít na jiné řešení Vybereme políčko s nevětším rozdílem a toto chceme obsadit maximálním množstvím Vznikne okruh - jdeme po řádku a měníme směr na sloupec v místě osazené cesty, pak znovu na řádek až se dostaneme do vybraného políčka Po tomto okruhu přepravíme do našeho políčka maximální množství tak, aby se jedno obsazené políčko zrušilo Dostáváme nové řešení, u kterého provedeme opět test optimality.
Celý postup si ukážeme na základním řešení předcházející úlohy určené metodou VAM S1
S2 4
D1
S3 7
S4 6
5
500 -1 12
D2
5 2
450
500
0
700
-3
900
-5
5 8
7
250
7
8 9
D3
KD
11
100
10
10
350
450
4 PS
600
450
600
450
4
-1
5
5
Náklady na přepravu v tom případě jsou: 4 . 500 + 9 . 100 + 2 . 450 + 10 . 600 + 10 . 200 + 7.250 = 13 550
- 73 -
S1
S2 4
D1
S3
S4
7
6
KD 5
500 0 12
D2
5 8
450
250 11
100
PS
700
-2
900
-5
7
7 9
D3
0
5
2
6
500
10
10
600
200
600
5 450
600
450
4
0
5
5
Po prvním kroku dostáváme řešení D1, S1 500t, D2, S2 450t, D2, S4 250 t. D3, S1 100t, D3, S3 600t a D3, S4 200t. Náklady jsou 13550 Kč. Při provedení testu optimality jsme zjistili, že všechny nepřímé náklady u neobsazených cest jsou nižší, než náklady přímé s výjimkou cesty D1, S4, kde nepřímé a přímé náklady jsou stejné. To znamená., že tato úloha má více optimálních řešení (při stejných nákladech). Úkol: Obsaďte políčko D1S4, vytvořte okruh a dokažte, že při novém řešení dostáváte stejné náklady na přepravu.
Definice nevyrovnané dopravní úlohy
2.8.6
Nevyrovnaná dopravní úloha
1. V případě, že celková kapacita dodavatelů je větší než celková potřeba spotřebitelů. Najděte optimální řešení úlohy dané matematickým modelem.
Úlohu řešíme převedením na vyrovnanou dopravní úlohu tak, že zavedeme fiktivního spotřebitele, jehož náklady na přepravu jsou rovny nule. Příklad 1 Najděte optimální řešení úlohy dané matematickým modelem. - 74 -
Kapacita dodavatelů je 300, 700, 900 tun. Požadavky spotřebitelů jsou 600,650,600 tun Matice nákladů 4 7 6 12 2 8 9 11 10 Součet kapacit dodavatelů je 1 900 tun, součet kapacit spotřebitelů je 1 850 tun. Jedná se o nevyrovnanou dopravní úlohu. Zavedeme fiktivního spotřebitele s kapacitou 50 tun, nerovnosti odpovídající řádkovým omezením
( pro i = 1,2,...,m ) převedeme na rovnice přidáním přídatných proměnných, které odpovídají fiktivnímu spotřebiteli (příslušné dopravní sazby jsou nulové) a znamenají přebytečné kapacity. S1
S2 4
D1
S3 7
12
0
2
8
11
100
700
-2
700
0
2
7 9
5
0
50
7
500 5
5
650
D2
PS
6
KD
500 1
D3
F
10
10
550
50
600
4 650
600
50
9
4
10
0
Při určení základního řešení indexní metodou dostáváme náklady na přepravu 4.500 + 2.650 +8.50 +9.100 + 10. 550 +0.50 = 10100 Toto řešení je optimální po provedení testu optimality. 2. Podobně v případě, kdy celková potřeba převyšuje celkovou kapacitu, tj. nerovnosti odpovídající sloupcovým omezením
- 75 -
(pro j = 1,2,...,n ) převedeme na rovnice přidáním přídatných proměnných, které odpovídají fiktivnímu dodavateli (sazby opět nulové) a znamenají neuspokojené požadavky. Příklad 2 Řešte úlohu danou matematickým modelem Kapacity dodavatelů 900, 700 tun Požadavky spotřebitelů jsou 300, 450, 600, 450 tun Součet kapacit dodavatelů je 1 600 tun, součet požadavků spotřebitelů je 1 800 tun. Matice nákladů 4 7 6 5 12 2 8 7 Dosazením do tabulky dostáváme
S1
S2
S3
S4
KD
4 7 6 5 D1
300
150
450
0
5
5
900
0
700
‐2
200
6
12 2 8 7 D2
450
250
6
7
0 0 0 0
PS
‐ 2 350
‐ 6 450
600
‐ 1 450
4
0
6
5
F
200
Při určení základního řešení indexní metodou (není nutná metoda VAM, protože je málo dodavatelů a spotřebitelů) jsme dostali základní řešení s náklady 4x300 + 150x6 + 450x5 + 2x450 + 8x250 + 0x200 = 7250. Z optimalizace vychází, že nepřímé a přímé náklady u cesty D2S4 jsou stejné, to znamená, že úloha má větší počet optimálních řešení, zařadíme-li tuto cestu do řešení, vznikne nové řešení.
- 76 -
S1
S2 4
D1
S3 7
300 0 12
D2
6 200
5
5 8
450
KD 5
400 2
900
0
700
-2
200
6
7 250
6
7 9
11
D3 PS
S4
10
10
200 300
5 450
600
450
4
0
6
5
Úkol: Vypočtěte náklady tohoto řešení. Degenerace dopravní úlohy Je-li při určení základního řešení počet obsazených cest menší než součet dodavatelů Degenerační a spotřebitelů minus jedna, jedná se o degenerovanou úlohu. Abychom mohli provést úlohy optimalizaci, obsadíme nulovým množstvím tolik cest, abychom mohli provést optimalizaci. Příklad 3 Řešte dopravní úlohu danou matematickým modelem. Kapacita dodavatelů 800, 700, 500. Požadavky spotřebitelů 600, 700, 800. Matice nákladů 3 4 5 6 12 4 8 3 8. Jedná se o nevyrovnanou dopravní úlohu. Zavedeme fiktivního dodavatele s kapacitou 100. Základní řešení opět určíme indexní metodou.
- 77 -
S1
S2 3
D1
S3 4
5
6 200
1
0
12 0
8
4
3 800 3
0
700
-3
800
6
0
500 9 3
8
700
D3
600 6
6
PS
KD
600 9
D2
F
0 100
700
5 500
100
9
1
6
Náklady na přepravu jsou 3x600 + 6x200 + 4x500 + 3x700 + 0x100 = 7100. S1
S2 3
D1
S3 4
5
KD 0
600 9 6
D2
F
1
0
700
-3
800
-3
6
12
200
600
4 500
0 0
6 8
8
700
D3
PS
3
3 800 3
0 100
700
5 500
100
0
1
-3
Toto řešení je optimální, protože jsme po okruhu převáželi nulové množství, náklady jsou stejné 7100. Často je při výpočtu pomocí Vogelovy aproximační metody (VAM) používaný následující algoritmus (jedná se o nejčastěji používanou metodu v praxi, zejména pro její jednoduchost, rychlost nalezení řešení a pro její přesnost, která je pro praxi zcela postačující). - 78 -
Algoritmus VAM je následující: 1.
Postup určení
Nejprve stanovíme pro každý řádek a sloupec diferenci mezi nejmenší a základního druhou nejmenší sazbou v tomto řádku nebo sloupci (jsou-li dvě nejmenší řešení metod sazby stejné, pak je diference nula). Vybereme řadu (tj. řádek nebo sloupec) s VAM největší diferencí. V této řadě obsadíme největší možnou přepravou pole s nejmenší sazbou. Řadu s vyčerpanou kapacitou nebo požadavkem vyškrtneme a v dalším postupu s ní nepočítáme. Stanovíme znovu diferenci (pro sloupce, jestliže jsme škrtli řádek a naopak) a postupujeme dále stejným způsobem. Jestliže je největší diference stejná u více řad, hledáme v těchto řadách s největší diferencí "sedlový bod", tj. pole s nejmenší sazbou z hlediska řádku i sloupce. Pak obsazujeme "sedlový bod". Mezi několika "sedlovými body" se rozhodneme pro ten, u něhož je součet řádkové a sloupcové diference největší. Neexistuje-li v řadách s největší diferencí ani jeden sedlový bod, pak stanovíme pro tyto řady druhé diference. Druhá diference je rozdíl mezi druhou nejmenší sazbou v řadě a mezi nejmenší sazbou v řadě kolmé na původní. Vybereme řadu s největší druhou diferencí a v ní pak obsazujeme pole s nejmenší sazbou.
2.
3.
Příklad 4 Ci j D1 D2 D3 D4 bj
O1 4 12 11 6 100
O2 8 3 4 6 100
O3 12 9 11 3 100
O4 3 3 8 3 100
O5 10 6 2 4 100
ai 120 140 160 80 500/500
K tabulce sazeb připojíme další řádky a sloupce pro diference. Ve vlastním výpočtu nebude zapotřebí stanovit sedlové body ani druhé diference (viz dále), proto pro ně zde nezavedeme žádnou symboliku. V prvním kroku vybereme řadu s největší diferencí (tj. O3). Zde obsadíme největší možnou přepravou pole s nejmenší sazbou (tj. pole O3D4 - maximální možná přeprava je 80 jednotek, plně vyčerpáme dodavatele D4). Vyškrtneme řadu D4 a v dalším s ní nepočítáme. Stanovíme znovu diference na řádku (škrtli jsme řádek) a postupujeme dále obdobným způsobem. Ci j D1 D2 D3 D4
O1 4 12 11 6
O2 8 3 4 6
O3 12 9 11 3
O4 3 3 8 3
O5 10 6 2 4
Dif.
2 7
1 1 1
6 2 2
0 0 5
2 4 4
1 0 2 0
Diference 5 0 3 2 2
Po ukončení výpočtu obdržíme tabulku na optimální plán rozvozu.
- 79 -
6 7
xi j Di D2 D3 D4 bj
O1 100
100
O2
O3
40 60
20
O4 20 80
O5
100 80 100
100
100
100
ai 120 140 160 80 500
Tabulka: Vogelova metoda - výsledek Náklady na takto rozvrženou přepravu budou minimální a budou činit 1 680 Kč. (N = 100*4 + 20*3 + 40*3 + 20*9 + 80*3 +60*4 + 100*2 + 80*3 = 1680 Kč) Příklad 5 Ci j D1 D2 D3 D4 bj
O1 6 13 10 6 100
O2 9 2 4 6 100
O3 11 10 11 3 100
O4 3 4 8 1 100
O5 11 8 1 4 100
ai 110 120 130 140 500
Postup: K tabulce sazeb připojíme další řádky a sloupce pro diference a druhé diference (ty píšeme do závorky). Největší diferenci značíme kurzívou. Sedlové body značíme hvězdičkou. Ci j D1 D2 D3 D4 Difere nce
O1 6 13 10 6
O2 9 2 4 6
O3 11 10 11 3
O4 3 4 8 1*
O5 11 8 1* 4
0 4(6)
2 2 2
7
2 1 4(4)
3
3 2 3 2
Diference 3 3 2 2 4(5) 3 3 5
6 2 4(4)
V prvním kroku vybereme řadu s největší diferencí (tj. O3). Zde obsadíme největší možnou přepravou pole s nejmenší sazbou (tj. pole D4O3 - maximální možná přeprava je 100 jednotek, plně uspokojíme odběratele O3). Vyškrtneme sloupec O3 a v dalším s ním nepočítáme. Stanovíme znovu diference ve sloupci (škrtli jsme sloupec) a postupujeme dále stejným způsobem. xi j Di D2 D3 D4 bj
O1 100
O2
O3
70 30 100
100
O4 10 50
O5
100 100 100
40 100
100
ai 110 120 130 140 500
Ve výše uvedené tabulce vidíme optimální plán rozvozu. Náklady na takto rozvrženou přepravu budou minimální a budou činit 1 530 Kč. (N = 100*6 + 10*3 +
- 80 -
70*2 + 50*4 + 30*4 + 100*1 + 100*3 + 40*1 = 1 530 Kč) Dopravní problém, v němž se souhrn kapacit liší od souhrnu požadavků se řeší tím, že do dopravního problému přidáme jednoho nereálného (fiktivního) dodavatele nebo odběratele, dle aktuální potřeby. Příklad 6 Nevyrovnaný dopravní problém - fiktivní odběratel: Máme-li dopravní problém, jehož údaje jsou uvedeny v následující tabulce, jde o tzv. nevyrovnaný dopravní problém. Ci j D1 D2 D3 bj
O1 15 5 20 160
O2 45 30 40 130
O3 10 50 25 150
ai 150 150 200 440/500
Problém doplníme o fiktivního odběratele OF s požadavkem 60 jednotek. Tím dosáhneme vyrovnání součtu kapacit a součtu požadavků. Dopravní sazby ve čtvrtém sloupci jsou nulové, neboť jde o přepravu nereálnému odběrateli. Upravený dopravní problém pak řešíme metodou VAM. Ci j D1 D2 D3 bj
O1 15 5 20 160
O2 45 30 40 130
O3 10 50 25 150
OF 0 0 0 60
ai 150 150 200 500
Příklad 7 Nevyrovnaný dopravní problém - fiktivní dodavatel: Máme-li určit optimální rozvoz produktu od tří dodavatelů ke třem odběratelům, z nichž O1 musí být přednostně zásoben v plné výši požadavku. Sazby, kapacity a požadavky jsou uvedeny v následující tabulce. Ci j D1 D2 D3 bj
O1 22 5 16 220
O2 13 18 24 160
O3 35 31 21 200
ai 150 150 200 580/500
Kapacity vyrovnáme s požadavky zavedením fiktivního dodavatele DF. Pole DFO2 a DFO3 doplníme nulovými sazbami, neboť jde o nereálnou přepravu od fiktivního dodavatele, tedy o nedodané množství. Pole DFO1 doplníme o tzv. prohibitivní sazbu, tj. řádově vysokou sazbou, která zajišťuje, že v optimálním řešení nebude pole DFO1 obsazeno a současně zajišťuje, že prvnímu odběrateli budou dodávat jen reální dodavatelé. Upravený dopravní problém pak řešíme metodou VAM.
- 81 -
Ci j D1 D2 D3 DF bj
O1 22 5 16 M 220
O2 13 18 24 0 160
O3 35 31 21 0 200
ai 150 150 200 80 580/580
Příklad 8 Mezi závodová nákladní doprava koncernového podniku probíhá mezi 5 závody. Závody si označíme symboly – závod A, závod B, závod C, závod D, závod E. Využívají auta, které mají různou sazbu Kč/km. Křížová tabulka odběratelsko dodavatelských vztahů mezi závody s uvedením jejich vzdáleností, sazbou Kč/km (která je dána typem auta, jež jsou k dispozici) a četností dopravy je následující: Pozn.: Pro přehlednost použijeme malých písmenek pro odběratelské požadavky a velká písmena pro dodavatelské možnosti, i když jde o stejný závod. Ze závodu A B C D E
a
b 17/6,7/1
17/4,8/5 300/6,7/3 150/6,7/1 100/4,8/2
c 300/6,7/1
280/4,,8/1 130/6,7/1 60/6,7/1
d 160/6,7/3 180/6,7/2
Kapacity dodavatelských závodů jsou A = 55; B =15; C = 42,5; D = 16 a E = 14 tun. Odběratelské požadavky závodů jsou a = 53; b = 26,5; c = 23 a d = 40 tun. Úkolem je minimalizovat náklady na přepravu. Na základě údajů uvedených v tabulce vytvoříme tabulku dopravních sazeb. Dopravní sazba = vzdálenost v km * sazba Kč/kg * četnost dopravy. Doplníme-li tabulku o kapacity dodavatelských závodů (poslední sloupec) a o potřebách odběrních závodů (poslední řádek), dostaneme následující tabulku. Dopravní sazby A B C D E Požadavky (t)
a 408,6030,1005,960,53
b
c
d
113,9
2010,-
3216,-
1344,871,402,26,5
2412,-
23
40
Kapacity (t) 55 15 42,5 16 14 142,5/142,5
Tabulka: Dopravních sazeb mezi jednotlivými odběrateli a dodavateli K tabulce připojíme další řádky a sloupce pro diference. Ve vlastním výpočtu nebude zapotřebí stanovit sedlové body ani druhé diference (viz dále), proto pro ně zde nezavedeme žádnou symboliku. V prvním kroku řešení obsazujeme pole 2,1 (nalezneme řadu s největší diferencí a v této řadě obsazujeme pole s nejmenší sazbou), v tabulce řešení obsadíme pole 2,1 největší možnou přepravou (tj. 15 tun). Vyčerpali jsme kapacitu dodavatele B, vyškrtneme řadu 2 a provedeme nové (sloupcové) diference (diference ve zbývajících řadách se pochopitelně nemění). V dalším kroku výše popsaným - 82 -
způsobem obsadíme (přepravou 23 tun) podle 1,3. Vyškrtneme třetí sloupec (odběratele c, jehož požadavky plně kryjeme). Dále obsazujeme pole 1,2 nejvyšší možnou přepravou (z hlediska řádku i sloupce), tj. 26,5 tuny. Uspokojili jsme tedy požadavky odběratele b, škrtáme sloupec 2. Znova vypočteme diference (největší je v poslední řadě) a obsadíme pole nejnižší sazbou (tj. pole 5,1) nejvyšší nožnou přepravou (tj. 14 tun). Vyčerpali jsme kapacitu dodavatele E, vyškrtneme tedy poslední řádek tabulky. Nalezneme opět řadu s největší diferencí (4. řádek) a tam obsadíme pole s největší přepravou (tj. pole 4,1) objem 16 tun. Největší diferenci máme nyní v prvním řádku, obsadíme proto pole s nejnižší sazbou (tj. pole 1,4) maximální možnou přepravou (tj. 5,5 tuny) a tím zcela vyčerpáme dodavatele A (škrtáme 1. řádek). Zůstává nám neobsazeno pole 3,1 se sazbou 6030 a pole 3,4 se sazbou 2412. Obsadíme tedy pole s nejnižší sazbou za přepravu (tj. pole 3,4) tak, abychom plně uspokojili požadavky odběratele d – na pole 3,4 přiřadíme v tabulce řešení přepravovaný objem 3,5 tuny a škrtáme čtvrtý sloupec. V dalším kroku obsadíme poslední možné pole 3,1 přepravou 8 tun – tím plně uspokojíme odběratele a. Současně zcela vyčerpáme kapacity dodavatele C. Viz tabulka.
A B C D E Dif.
a M 408 6030 1005 960 552 45 5025 M-6030
Diference b c d 113,9 2010 3216 1896,1 3102,1 M-3216 M M M M-408 1344 M 2412 1068 1068 3618 871 M M 134 134 M-1005 402 M M 558 558 M-906 288,1 M-2010 804 288,1 M-2010 804 804 804
Takto se získá řešení daného problému – viz následující tabulka. a A B C D E Požadavky (t)
15 8 16 14 53
b 26,5
c 23
d 5,5 34,5
26,5
23
Kapacity (t) 55 15 42,5 16 14
40
Řešíme-li úlohu za pomoci simplexové metody provede se sestavení soustavy lineárních rovnic následujícím způsobem: Součet kapacity dodavatelů je roven součtu požadavků odběratelů, jedná se tedy o vyvážený dopravní problém. Označíme-li x11, x12, … x54 objemy přepravovaného produktu z dodavatelského závodu k odběrateli (první index odpovídá dodavateli a druhý index spotřebiteli), pak platí: x12 + x13 + x14
x21
x31 + x32 + x34
x41 + x42
- 83 -
x51 + x52
= 55 = 15 = 42,5 = 16 = 14
Požadavky odběratelských závodů musí být uspokojeny, proto můžeme psát: x21 + x31 + x41 + x51 = 53 32 x12 + x + x42 + x52= 26,5 x13 = 23 x14 + x34 = 40 Požadavky na nejlevnější týdenní celkovou přepravu (v Kč) vyjádříme účelovou funkcí: Z = 113,9 x12 + 2013 x13 + 3216 x14 + 408 x21 + 6030 x31 + 1344 x32 + +2412 x34 + 1005 x41 + 871 x42 + 960 x51 + 402 x52 ………….min. Řešením soustavy lineárních rovnic získáme stejné výsledky jako u metody VAM.
2.8.7 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
2.8.8
Kontrolní otázky V čem je podstata distribučních úloh? Popište postup formulace distribučních úloh. Jaký je obecný matematický model distribuční úlohy? Zdůvodněte, proč má základní řešení distribučních úloh m + n – 1 obsazených cest? Popište podstatu metody severozápadního rohu při určování základního řešení. Popište podstatu určování základního řešení indexní metodou. Jak postupujeme při určování základního řešení metodou VAM? Vysvětlete postup testu optimality. Popište postup přechodu na jiné přípustné řešení. Vysvětlete postup řešení při nevyrovnaných dopravních úlohách. V čem je podstata degenerace dopravních úloh? Popište postup odstraňování degenerace.
Shrnutí
Protože matematický model vyrovnaných dopravních úloh je dán soustavou lineárních rovnic, je řešení pomocí simplexové metody, pokud nepoužijeme počítače, zdlouhavé a proto volíme raději tabulkovou formu. Určíme základní řešení některou z metod, provedeme, zda je splněna podmínka pro optimalizaci této úlohy a provádíme optimalizaci pomocí nepřímých nákladů podle rovnice Si,j = ci,j + Di,j a ci,j´= Si,j – Di,j Nevyrovnané dopravní úlohy řešíme stejně jako vyrovnané dopravní úlohy zavedením fiktivního dodavatele nebo spotřebitele. U degenerovaných dopravních úloh obsadíme tolik cest nulovým množstvím, abychom mohli provést test optimality.
- 84 -
2.8.9 1.
Cvičení Určete pomocí Voglovy aproximační metody rozvoz od 3 dodavatelů k 5 odběratelům a vypočtěte náklady na dopravu. Údaje jsou uvedeny v tabulce: D1 D2 D3
2.
O1 55 35 40
O2 30 30 60
O3 40 100 95
O4 50 45 35
O5 40 60 30
Určete pomocí Voglovy aproximační metody rozvoz od 5 dodavatelů k 5 odběratelům a vypočtěte náklady na dopravu. Údaje jsou uvedeny v tabulce: D1 D2 D3 D4 D5
O1 4 12 11 6 0
O2 8 2 4 6 0
O3 12 9 11 3 0
- 85 -
O4 3 3 8 1 0
O5 10 6 1 4 0
- 86 -
3
Metody síťové analýzy
Obsah kapitoly 3.1. 3.2. 3.3.
3.4.
3.5. 3.6. 3.7. 3.8.
3.1
Cílové znalosti a dovednosti Klíčová slova Základní pojmy z oblasti síťové analýzy 3.3.1. Ohodnocení síťového grafu 3.3.2. Třídění síťových grafů 3.3.3. Znázornění síťových grafů Časová analýza hranově definovaného SG metodou kritické cesty CPM 3.4.1. Základní principy metody CPM 3.4.2. Vlastní časová analýza hranově definovaného SG metodou CPM 3.4.3. Časová analýza hranově definovaného SG typu CPM v tabulce Základní principy metody PERT Časová analýza uzlově definovaného síťového grafu Kontrolní otázky Závěr
Cílové znalosti a dovednosti
V této kapitole se studenti seznámí se základními pojmy teorie grafů, pochopí pojem uzlu a hrany a podstatu metody kritické cesty – CPM (Critical Path Method) a to v síťovém grafu i v tabulkové formě. Na závěr se seznámí s metodou PERT. Studenti budou moci využít metod síťové analýzy v hospodářské praxi (postup výstavby objektů, plánování, přípravy, konferencí, kontrola činností, atd.). Správnou formulací úlohy bude vytvořen model a sestavením procesu, skládajícího se z určitého počtu na sobě navazujících činností, tím vznikne projekt, který lze názorně řešit.
3.2
Klíčová slova
Graf, uzly, hrany, orientovaný graf, ohodnocený graf, souvislý graf, činnost, fiktivní činnost, formulace úlohy, model, projekt, rozhodující činnost, podstatné vazby, doba trvání vazeb, vstupní činnost, výstupní činnost, sestavení síťového grafu, kritická cesta, nejdříve možné počátky činností, doba trvání jednotlivých činností, nejdříve možný konec činností, doba potřebná k realizaci projektu, nejpozději přípustný konec činnosti, nejpozději přípustný počátek činnosti. Síťová analýza je souhrnný název pro metody, jejichž společný základ tvoří teorie grafů a teorie pravděpodobnosti. Těchto metod se široce používá pro plánování, koordinaci a kontrolu složitých úkolů a to v nejrůznějších oblastech národohospodářské činnosti, zejména: na úseku investiční výstavby (např. výstavba budov, výstavba výpočetních středisek, stavební úpravy a adaptace prodejen a výroben firem, atp.), v oblasti výzkumu a vývoje (např. řízení vývoje nového výrobku), v oblasti údržby základních fondů (generální opravy základního prostředku – např. jeřábu, turbíny v elektrárně, atp.), - při zajišťování složitějších administrativních úkolů – např. při sestavování plánů kontrol, při řízení
- 87 -
strojírenské výroby, plánování průběhu zkouškového období studenta, atd. Řízení projektů se stává novou disciplínou, kde nachází uplatnění řada nových metod z oblasti operační analýzy.
3.3 Základní pojmy
Základní pojmy z oblasti síťové analýzy
Projekt - je tvořen souborem činností, z nichž se skládá určitý pracovní proces. Pojem projekt budeme dále používat pro ty pracovní procesy, které mají charakter návazných procesů s různým stupněm složitosti; jejich jednotlivé činnosti musí následovat v předem stanoveném technologickém a organizačním sledu. Síťový graf (dále jen SG) - interpretujeme jej jako model projektu. SG je konečný, souvislý, orientovaný, acyklický, hranově nebo uzlově ohodnocený graf, který vyjadřuje závislosti jednotlivých činností projektu. Činnost - představuje určitou, předem vymezenou část projektu. Činnost je v podstatě určitou konkrétní prací, která začíná a končí v přesně definovaném časovém bodě. Činnost klade nároky na čas, popř. na zdroje a má dynamický charakter. Jednotlivé činnosti projektu nemůžeme provádět libovolně. Každá činnost může začít jen tehdy, je-li jiná činnost ukončena. Činnosti označujeme pomocí indexů výchozího (bezprostředně předcházejícího) a cílového (bezprostředně následujícího) stavu projektu (i,j). Činnost (i,j) nemůže nastat dříve, pokud není dosaženo stavu Ei.
Druhy síťových grafů
Síťové grafy dělíme podle toho, zda činnosti projektu jsou modelovány hranami nebo uzly, na hranově definované SG a uzlově definované SG. Na hranově definovaném SG je činnost projektu (i,j) modelována orientovanou hranou, směřující z uzlu i do uzlu j. Událost Ei (resp. Ej) je modelována uzlem i (resp.j.) – viz. následující obrázek a). U hranově definovaných SG se setkáme s pojmem fiktivní činnost (v SG je zobrazena přerušovanou čarou). Fiktivní činnosti neodpovídá v projektu žádná reálná činnost, časově je ohodnocena nulově a umožňuje nám oddělit souběžné činnosti činnostmi (např. předání dokladů pro kontrolní den na stavbě), popř. slouží k vytvoření jednoho počátečního uzlu SG atp. U uzlově definovaného SG je činnost projektu modelována uzlem grafu. Vazby mezi činnostmi jsou modelovány hranami grafu. Činnosti jsou znázorněny čtyřúhelníky (uzly), které jsou mezi sebou spojeny orientovanou hranou, znázorňující vazby mezi činnostmi – viz následující obrázek
- 88 -
3.3.1
Ohodnocení síťového grafu
SG můžeme ohodnotit jedním ze tří možných způsobů: a) časově - každé činnosti se přiřadí časové ohodnocení. V hranově definovaném SG značíme trvání činnosti (i,j) symbolem tij, v uzlově definovaném SG trvání činnosti i označíme ti. b) zdrojově - každé činnosti SG se přiřadí čísla, která vyjadřují potřebu jednotek určitých zdrojů (např. normohodin, materiálu, atp.). c) nákladově - každé činnosti SG přiřadíme potřebné objemy nákladů, které souvisí s její realizací.
Způsoby ohodnocení
Časové ohodnocení je základní pro všechny druhy modelů.
3.3.2
Třídění síťových grafů
SG jsme si podle interpretace hran grafu rozdělili na dvě velké skupiny, a to: a) hranově definované SG, kde hrana je modelem činnosti projektu, b) uzlově definované SG, kde modelem činnosti je uzel. Hrana zde znázorňuje pouze vazby mezi činnostmi. Hranově definovaný SG můžeme dále dělit do několika typů v závislosti na interpretaci jeho uzlů. Uzel hranově definovaného SG si rozdělíme na dvě fiktivní části - na vstup a výstup uzlu. Vstupem uzlu budeme rozumět fiktivní část uzlu, v níž končí činnosti vstupující do uzlu. Výstupem uzlu analogicky budeme rozumět část uzlu, z níž vystupují činnosti SG. Vstup uzlu si můžeme interpretovat jako událost, která představuje (podle dále určených zásad) realizaci jedné činnosti, několika činností nebo všech činností, jejichž hrany směřují do daného uzlu. Tuto událost nazýváme realizací uzlu. Z hlediska realizace uzlu rozdělujeme vstupy uzlu na: a) disjunktivní vstup uzlu b) inklusivní vstup uzlu
- 89 -
Třídní síťových grafů
c) konjunktivní vstup uzlu Disjunktivní vstup uzlu vyjadřuje, že se uzel realizuje, právě když se realizuje pouze jediná z činností, které do uzlu vstupují. Realizace této činnosti vylučuje realizaci ostatních činností, které v něm končí. Inkluzivní vstup vyjadřuje, že se uzel realizuje, jestliže se realizuje alespoň jedna (tj. jedna nebo několik) vstupních činností uzlu. Konjunktivní vstup vyjadřuje, že se uzel realizuje, právě když se realizují všechny vstupní činnosti. Realizace všech činností však nemusí proběhnout současně, uzel se realizuje po uskutečnění poslední ze všech vstupních činností. Výstup uzlu můžeme interpretovat jako událost, která představuje (podle dále uvedených zásad) realizaci všech nebo některých činností, vystupujících z daného uzlu. Realizace činností je podmíněna realizací uzlu, ze kterého vystupuje. Rozeznáváme dva typy výstupů uzlů: a) deterministický výstup uzlu - realizace uzlu vyvolá realizaci všech činností, které z něho vystupují, b) stochastický výstup uzlu - realizace uzlu vyvolává provedení jedné nebo několika výstupních činností. Vystupující činnosti jsou realizovány s podmíněnou pravděpodobností, která je každé činnosti přiřazena (součet pravděpodobností všech výstupních činností téhož uzlu je roven 1). Podle výše uvedené interpretace dělíme hranově definované SG na 1. SG s konjunktivně deterministickou interpretací uzlu - SG obsahuje pouze uzly s konjunktivními vstupy a deterministickými výstupy. 2. zobecněné SG, které obsahují alespoň jeden uzel s interpretací jinou než konjunktivně deterministickou.
3.3.3
Znázornění síťových grafů
Nejčastěji jsou znázorňovány SG následujícími způsoby: 1. graficky 2. tabulkově 3. incidenční maticí Grafické znázornění je nejčastějším způsobem formalizace SG v případě malých a středně velkých SG (do 300 až 500 činností). Příklad znázornění SG je uveden na následujícím obrázku.
- 90 -
Grafické znázornění
Tabulkové vyjádření poskytuje možnost zachytit další charakteristiky činností, jejichž uvádění v graficky znázorněném SG je prakticky velmi obtížné. Konkrétní tabulkové vyjádření SG je uvedeno v následující tabulce. V praxi se tabulkové vyjádření užívá souběžně s grafickým znázorněním u menších a středních rozsahů SG. U velkých SG se užívá tabulkové vyjádření jako jediné. SG můžeme vyjádřit ve tvaru incidenční matice. Užívají se tři druhy incidenčních matic: matice uzel - uzel matice uzel - činnost matice činnost – činnost. V incidenční matici uzel - uzel odpovídá každý řádek a každý sloupec matice jednomu uzlu SG. Pro SG, z předchozího obrázku, je incidenční matice v následující tabulce. Incidenční matice uzel - uzel je vyjádřena takto: je-li mezi dvěma uzly i a j hranově definovaného SG definována činnost (i,j), bude prvek aij incidenční matice A roven hodnotě trvání činnosti (i,j), tj. aij = tij. Pokud nám nezáleží na trvání činnosti, ale zajímáme se pouze o topologii SG, pokládáme prvek aij = 1; není-li mezi uzly i a j definována činnost, zůstává v matici obvykle příslušné pole prázdné. Incidenční matici uzel - uzel SG lze vždy vyjádřit jako matici, která má obsazena pouze pole nad hlavní diagonálou. Podmínkou je, že pro každou činnost musí být číslo počátečního uzlu menší než číslo koncového uzlu, tj. musí platit i < j pro všechna i a j. V incidenční matici uzel - činnost se znázorňuje hranově definovaný SG tak, že každému uzlu odpovídá jeden řádek a každé činnosti jeden sloupec matice. Pro činnost C u uzlu i do uzlu j platí: aic = 1 a ajc = -1. Incidenční matice činnost - činnost pro uzlově definovaný SG formálně odpovídá matici uzel - uzel hranově definovaného SG. Incidenční matice SG se využívají zejména v metodách síťové analýzy, které jsou implementovány na počítačích.
- 91 -
Tabulkové znázornění
3.4
Časová analýza hranově definovaného SG metodou kritické cesty (CPM)
Řešení cestou
Metoda kritické cesty (dále jen metoda CPM) pracuje s hranově definovanými SG s konjunktivně deterministickou interpretací uzlů. Předpokladem použití metody CPM je podmínka rozložení složité činnosti na několik dílčích činností, mezi nimiž existuje časová návaznost a podmíněnost (např. řízení investiční činnosti - stavby, instalace počítačové sítě, atd.). Tato metoda umožňuje řešení složitých časových následností s cílem dosáhnout maximálního zkrácení celkového průběžného času, který je potřebný na realizaci celého projektu. Dnes je známa celá řada modifikací metody CPM.
3.4.1 Postup CPM příklad
Základní principy metody CPM
Abychom si blíže objasnili základní myšlenku metody CPM, představme si tento jednoduchý „turistický projekt“. V místě A je skupina osmi turistů, kteří chtějí po skupinách projít místy B, C, D, E, F s cílem setkat se v místě G. Rozdělení tras a skupin si znázornili na následujícím obrázku. 4 turisté v B
2 turisté z B do F
4 turisté z A do B
8 turistů v A
2 turisté z A do C
2 turisté v C
2 turisté v F
2 turisté z B do E 2 turisté z C do E
2 turisté z F do G
4 turisté v E
4 turisté z E do G
8 turistů v G
2 turisté z A do D 2 turisté z D do G 2 turisté v D
Z A do B jdou společně první dvě skupiny po dvou turistech, z B do F pokračuje první skupina, kdežto do E jde druhá skupina. Třetí skupina se pohybuje po trase A, C, E, G a čtvrtá po trase A, D, G. Trasu z E do G vykonají druhá a třetí skupina společně. Tento poslední úsek cesty nelze tedy uskutečnit dříve, dokud se nespojí druhá a třetí skupina v místě E.
- 92 -
Předpokládají, že vzdálenost mezi jednotlivými místy urazí v těchto časech: trasa A-B A-C A-D B-F B-E
čas (hod) 3 C-E 2 D-G 1 E-G 2 F-G 5
trasa 4 6 1 1
čas (hod)
Zajímá nás odpověď na otázku, kdy se mohou nejdříve všichni setkat v místě G, resp. v jakém nejkratším čase je možno tuto turistickou akci zakončit. Grafický zápis situace
Uvedený projekt si můžeme jednoduše znázornit. Viz následující obrázek.
2
2 5
3 1
6
2
3
4
1
1 1
5 6
4 Místa jsme označili uzly, které jsme očíslovali a orientovanými úsečkami jsme opět znázornili trasy, po kterých jdou jednotlivé skupiny. Nad těmito úsečkami jsme zapsali čas v hodinách, který daná skupina potřebuje k pochodu z jednoho místa do druhého. Dílčí úkoly skupinek můžeme potom zapsat například takto: (2,6) .... 2 hod. Znamená to, že dva turisté urazí vzdálenost z místa B do F za dvě hodiny. K výše uvedenému obrázku. je třeba poznamenat, že nejde o mapu a že tedy umístění uzlů neodpovídá geometrickému tvaru krajiny, kterou skupina prochází. Rovněž délka úseček neodpovídá ani vzdálenostem mezi jednotlivými místy, ani spotřebě času; jde v podstatě jen o schématické znázornění úkolu, který si skupina dala, a o výpočet doby, během níž může být úkol realizován. Všimněme si zde znovu toho, co jsme již řekli; realizace „činnosti“ (5,7) - tj. pochod po trase z E do G - je závislá na realizaci dvou bezprostředně předcházejících činností (2,5) a (3,5), tj. na setkání druhé a třetí skupiny v místě E. K podstatným rysům této úlohy tedy patří, že místo společného cíle skupin je současně i společným východiskem dalšího pochodu. Nelze tedy uskutečnit pochod z E do G dříve, než se druhá a třetí skupina setkají v E. Podobně nelze považovat celý úkol za splněný dříve, pokud do G nedorazí všechny čtyři skupiny, resp. poslední z nich. Snadno poznáme, že v uvedeném grafu existují mezi místy A a G celkem čtyři cesty, po nichž skupiny jdou. Jsou to:
- 93 -
7
C1 : C2 : C3 : C4 :
1,2,6,7 1,2,5,7 1,3,5,7 1,4,7
resp. resp. resp. resp.
A-B-F-G A-B-E-G A-C-E-G A-D-G
Jednotlivým skupinám jdoucím po těchto cestách bude pochod z místa A do místa G trvat celkem: 6 hod (C1), 9 hod (C2), 7 hod (C3), 7 hod (C4). Nejdelší je tedy druhá cesta, která zároveň určuje celkovou dobu trvání tohoto turistického projektu. Činí 9 hodin. Nejdříve tedy po uplynutí 9 hodin od okamžiku, kdy skupiny vyšly z místa A, se mohou sejít v cílovém bodě G, Jestliže je tato doba stanovena jako závazný úkol, znamená to, že skupina jdoucí po cestě C2 si nemůže během pochodu dopřát odpočinek, ledaže by pochod zrychlila a tedy zvýšila výkon oproti výkonu, který byl při odhadu doby trvání předpokládán. Skupina jdoucí po cestě C1 si může naopak dopřát tří hodin odpočinku a poslední dvě skupiny po dvou hodinách odpočinku nebo mohou pochod v tomto rozsahu zpomalit a přesto splní úkol včas. Jednotlivá místa lze též chápat jako kontrolní body plnění celé akce, s nimiž spojíme určité termíny, v nichž můžeme nebo musíme pochod zahájit. Tak např. skupina, jdoucí po poslední cestě do místa D (uzel č. 4), může dorazit do tohoto místa již po uplynutí jedné hodiny. Může si však po cestě odpočinout, nebo pochod zvolnit tak, aby do místa D dorazila nejpozději po uplynutí tří hodin od startu z místa A. Jinými slovy, z místa D musí vyrazit nejpozději po uplynutí tří hodin od začátku akce, chceli svůj úkol splnit včas. Jestliže do místa D dorazila v nejdříve možném termínu (tj. po uplynutí 1 hodiny), zbývá jí dvouhodinová rezerva na poslední úsek cesty (tj. na úsek mezi místy D a G). Můžeme tak pro všechny trasy stanovit nejdříve možné i nejpozději přípustné termíny zahájení a ukončen pochodu (viz. následující tabulka). Tabulkový zápis situace
termín zahájení trasa doba trvání nejdříve možný
termín ukončení
nejpozději přípustný
nejdříve možný
nejpozději přípustný
rezerva
1,2
3
0
0
3
3
0
1,3
2
0
2
2
4
2
1,4
1
0
2
1
3
2
2,5
5
3
3
8
8
0
2,6
2
3
6
5
8
3
3,5
4
2
4
6
8
2
4,7
6
1
3
7
9
2
5,7 6,7
1 1
8 5
8 8
9 6
9 9
0 3
Vidíme tedy, že pouze druhá skupina, která jde po cestě C2: (uzel 1, 2, 5, 7) nemá žádnou časovou rezervu a musí svůj úkol splnit bez jakékoliv přestávky. Takový termínovaný rozpis úkolů poskytl jednotlivým skupinám možnost naplánovat si dílčí úkoly tak, aby je zavčas splnily a zabezpečily tak splnění celkového úkolu. Dále umožnil vedoucímu výpravy kontrolovat průběh celé akce a včas činit potřebná opatření k jejímu zdárnému ukončení. Včasné splnění projektu záviselo na splnění úkolu druhé skupiny, neboť ta se pohybovala na nejdelší trase a zdržení v pochodu této skupiny by znamenalo zdržení celého projektu. Proto tato (nejdelší) cesta je označena jako kritická (odtud též název metody) a činnosti, které ji vytvářejí, jsou nazývány činnostmi kritickými. Tyto - 94 -
činnosti nemají žádné časové rezervy. Uvedený „turistický projekt“ nám posloužil k objasnění principů grafického znázorňování a lhůtového plánování projektů, z něhož metoda CPM vychází.
3.4.2
Vlastní časová analýza hranově definovaného SG metodou CPM
Jak bylo již dříve uvedeno, metoda CPM pracuje v základním tvaru s hranově Základní pojmy definovanými SG, ohodnocenými deterministicky. Interpretace uzlů je konjunktivně CPM deterministická, tzn. uzel je realizován, jsou-li realizovány všechny činnosti, které v něm končí. Současně je realizace uzlu podmínkou pro zahájení realizace všech činností, které z uzlu vystupují. Každé činnosti je přiřazeno nezáporné číslo (obvykle celé), udávající počet zvolených časových jednotek, po které potrvá jejich realizace. Pro základní časové charakteristiky SG zavedeme následující symboly: Charakteristiky na úrovni SG: Tn ...............vypočtené trvání projektu Tp ...............plánované trvání projektu To ...............termín zahájení projektu Charakteristiky na úrovni činností SG: tij ...............trvání činnosti (i,j) ZMij ..........nejdříve možný počátek činnosti (i,j) KMij ..........nejdříve možný konec činnosti (i,j) ZPij ............nejpozději přípustný začátek činnosti (i,j) KPij ............nejpozději přípustný konec činnosti (i,j) RCij ............celková rezerva činnosti (i,j) RVij ............volná rezerva činnosti (i,j) RNij ............nezávislá rezerva činnosti (i,j) Charakteristiky na úrovni uzlů SG: Tj .................termín uzlu j TMj ..............nejdříve možný termín realizace uzlu j TPj ................nejpozději přípustný termín realizace uzlu j Rj ..................rezerva uzlu j Časová analýza SG metodou CPM předpokládá: a) b) c)
pro SG je znám termín zahájení projektu To, pro SG je znám plánovaný termín koncového uzlu Tk, tzn., známe plánované trvání projektu Tp, pro každou činnost je známo její trvání t ij.
Termín zahájení projektu To může být zadán absolutně (např. 1. 1. 2012) nebo relativně (termín 0). Ostatní časové charakteristiky rovněž se vyjadřují buď absolutně, nebo relativně.
- 95 -
Vyjádření jednotlivých časových charakteristik Před vlastním vyjádřením matematických vztahů pro výpočet jednotlivých charakteristik je důležité si uvědomit, že provádíme analýzu SG s konjunktivně deterministickou interpretací uzlů. Nejdříve možný začátek činnosti (i,j) - ZMij ZMij je dán nejdříve možným termínem uzlu i. Nejdříve možný termín uzlu i si stanovíme postupně od počátečního uzlu podle vztahů: TM1 = To TMi = max (TMh + thi ) (h,i) P
h1
T h T h
h2
pro i = 2,...k
h1,
t i
h2, ti
ti
i
j
j
T h thk, i
hk i-tý uzel bude realizován, budou-li realizovány všechny činnosti, které do uzlu i vstupují (uzel i má konjunktivní vstup). Příklad výpočtu nejdříve možného začátku činnosti (i,j): 7
10 2 1 1
5
2
5 4
7 3
8
8
3
Východiskem k výpočtu termínů TMi je termín uzlu 1, pro nějž platí TM1=To=0. Do uzlů 2, 3 vstupuje vždy jedna činnost tak, že termíny TM2 a TM3 budou dány součtem: TM2 = TM1 + t12 = To + t12 = 0+1 = 1 TM3 = TM1 + t13 = To + t13 = 0+5 = 5. Jestliže do uzlu i, pro nějž počítáme hodnotu termínu TM1, vstupuje jedna jediná činnost, potom termín nejdříve možného začátku činností (i,j) je roven termínu TMi.
- 96 -
9
Zajímavější je sledovat situaci v uzlu 5 (a následně i uzlu 8). Do uzlu 5 vstupují dvě činnosti, a to (2,5) a (3,5). Je tedy třeba pro výpočet termínu TM5 zhodnotit tyto dvě možnosti: TM2 + t25= 1 + 2 = 3 TM3 + t35= 5 + 7 =12. Uzel 5 má konjunktivní vstup - uzel je tedy realizován, jsou-li realizovány všechny činnosti, které do něj vstupují. Pro zahájení činnosti vystupujících z uzlu č. 5 tj. (5,7) a (5,8), je rozhodující ukončení obou činností předcházejících, z nichž činnost (2,5) může být ukončena nejdříve po uplynutí 3 časových jednotek a činnost (3,5) po uplynutí 12 časových jednotek od zahájení celé akce. Hodnota nejdříve možného termínu uzlu č. 5 (a tedy i hodnota nejdříve možného začátku činnosti, které z uzlu 5 vystupují) bude tedy dána: TM5 = max (3,12) = 12 (2,5) P (3,5) P. Analogicky lze psát pro hodnotu nejdříve možného termínu uzlu č. 8 - a tedy i pro hodnotu nejdříve možného začátku činnosti (8,9) - vztah: TM8 = max (12+4,5+8) = 16 (5,8) P (3,8) P. Nejdříve možný konec činnosti (i,j) - KMij Další charakteristikou činností je nejdříve možný konec činnosti (i,j), který označíme KMij. Nejdříve možný konec činnosti (i,j) je dán součtem nejdříve možného termínu zahájení činnosti (i,j) a doby jejího trvání tij KMij = ZMij + tij což lze vyjádřit i vztahem KMij = TMi + tij Termín nejdříve možný konec činnosti (i,j) KMij se nemusí vždy rovnat nejdříve možnému termínu uzlu j (TMj). K rovnosti obou termínů (KMij a TMj) dochází u té činnosti, která je realizována ze všech bezprostředně předcházejících činností nejpozději. Skutečnost, že některá z těchto činností je ukončena dříve, nic nemění na termínu TMj. Nejpozději přípustný konec činnosti (i,j) - KPij KPij je dán nejpozději přípustným termínem uzlu j. Pro libovolný uzel j se stanoví nejpozději přípustný termín postupně od koncového uzlu SG dle vztahu: TMk = Tp TPj = min (TPh - tjh) pro j = k-1,....,1 (j,h) P
- 97 -
i
(i,j)
(j,h1)
j
h1
TPh1
(j,h2) (j,hk)
hk
h2
TPh2
TPhk
Do okamžiku TPj musí skončit činnost (i,j), protože na výstupu uzlu j se objeví činnost (j,h) tak, že bude realizován uzel v nejpozdějším možném termínu. Uzel j má deterministický výstup, což znamená, že realizace uzlu j vyvolá realizaci všech činností, které z něj vystupují. Známe-li nejpozději přípustné termíny uzlů h1, h2,....., hk a známe-li doby trvání činností tj h1 ,...., tj hk, pak (vzhledem k deterministickému výstupu uzlu j) musí být nejpozději přípustný termín uzlu j roven minimální hodnotě z rozdílů TPh - tjh (přes všechny činnosti (i,j)). Nejpozději přípustný začátek činnosti (i,j) - ZPij. Další charakteristikou činností SG je nejpozději přípustný začátek činnosti (i,j), který označujeme ZPij. Nejpozději přípustný začátek činnosti (i,j) - ZPij - je nejpozdější termín, do kterého lze ještě zahájení činnosti odložit, aniž se tím ohrozí termín ukončení projektu. Tento termín určíme odečtením doby trvání činnosti tij od termínu nejpozději přípustného ukončení činnosti KPij : ZPij = KPij - tij což lze vyjádřit i vztahem ZPij = TPij - tij. Kritická cesta Libovolná činnost (i,j) má pro realizaci vymezen časový interval TPj - TMi. Pro každou činnost (i,j) musí tedy platit nerovnost tij TPj - TMi . Může nastat případ, kdy platí tij = TPj - TMi. V tomto případě nemáme zřejmě pro realizaci činnosti (i,j) žádnou časovou rezervu a o této hovoříme jako o kritické činnosti. Kritickou cestou pak nazýváme cestu složenou z kritických činností od počátečního ke koncovému uzlu grafu. Pro ty činnosti (i,j), u nichž platí tij < TPj - TMi, zavádíme tzv. celkovou rezervu činnosti (i,j) RCij = TPj - TMi - tij Kritická cesta (resp. činnost) má hodnotu RC = 0. Subkritickou činností rozumíme ty činnosti, které mají malé celkové rezervy a vytváří v grafu tzv. subkritické cesty.
- 98 -
Rezervy 1.
2. 3.
Druhy rezerv
Celková rezerva činnosti (i,j) RCi,j - udává počet časových jednotek, o který lze nejvýše zpozdit ukončení činnosti, aniž by se změnilo trvání celého projektu (tj. beze změny TPk). Jak jsme již uvedli, celkovou rezervu činnosti (i,j) vypočteme, známe-li údaje o době trvání činnosti tij a nejdříve možný termín uzlu TMi a nejpozději přípustný termín uzlu TPj, podle vztahu : RCij = TPj - TMi - tij. Celkovou rezervu činnosti (i,j) můžeme také vyjádřit rozdílem nejpozději přípustného konce činnosti KPij a nejdříve možného konce činnosti KMij, resp. rozdílem nejpozději přípustného začátku činnosti ZPij a nejdříve možného začátku činnosti ZMij: RCij = KPij - KMij respektive RCij = ZPij - ZMij. Kromě celkové rezervy činnosti se někdy využívají i další typy rezerv, a to volná a nezávislá. Volná časová rezerva RV ij činnosti (i,j): RVij = TMj - TMi - tij. Poněvadž platí TPJ TMj, pak z předcházejících vztahů plyne: RCij RVij. Nezávislá časová rezerva RNij činnosti (i,j) RNij = max (TMj - TPi - tij ; 0). Poněvadž platí TPi TMi, pak z předcházejících vztahů plyne: RVij RNij. Vztah mezi jednotlivými rezervami si můžeme vyjádřit na následujícím obrázku: TM i
TP i
TM j
t ij
RC ij = TP j - TM i - t ij
t ij
RV ij = TM j - TM i - t ij
t ij
RN ij = max (TM j - TP i - t ij ; 0)
= RVij = RNij. Je-li uzel i na kritické cestě, pak TMi = TPi Je-li uzel j na kritické cestě, pak TMj = TPj = RCij = RVij. Jsou-li uzly i a j na kritické cestě, pak platí TMi= TPi, TMj = TPj a současně tij = TPj - TMi; a dále platí RCij = RVij = RNij = 0. Příklad 1 Výpočet časových charakteristik SG.
- 99 -
TP j
1.Výpočet TMi 2
4
2
10
8
(11)
0
8
7
3 (13) 13
1
3
(14)
(8)
6
1
5
5
(6)
0
1
9 20 20
8
(8)
3
4
16 (16)
0
4
8
(13)
8
6
(5)
4
8
Stanovení nejdříve možných termínů uzlů je zřejmé z obrázku; pro ilustraci uvádíme výpočet TM8: TM8 = max (TM5 +t58;TM6 +t68; TM7 +t78) = max (8 +5; 8+8; 13+1) = 16 2. Výpočet TPj : TP9 = TM9 Např.: TP5 = min ( TP6 -t56 ; TP7 -t57 ; TP8 -t58) = min ( 8-0 ; 15-3 ;16-5) = 8 2
(10)
1
1
3
0
(12)
5
6
(2)
13 15
(8)
(0) 0 0
7
3
10 12
8 8
8
4
2
8 8
(3)
4
16 16
4 7
4
9 20 20
(8)
0 3
8
5
(11)
8 6
1
8 8
Po výpočtu termínů TPj vidíme, že pro uzly 1, 2, 5, 6, 8, 9 nemáme žádnou časovou rezervu (TPi= TMi). Pro činnosti (1,2), (2,5), (5,6), (6,8) a (8,9) platí TPj - TMi - tij = RCij = 0.
- 100 -
Tyto činnosti jsou kritické a vytváří nám kritickou cestu. Délka kritické cesty je 20 časových jednotek a je ze všech možných cest v SG nejdelší. Všechny ostatní činnosti mají kladnou celkovou časovou rezervu.
3.4.3
Časová analýza hranově definovaného SG typu CPM v tabulce
Nevýhodou této časové analýzy je (oproti předcházejícímu případu) menší názornost, touto analýzou však můžeme zachytit větší počet časových charakteristik než v grafu. Výpočet probíhá ve třech fázích. Při výpočtu charakteristik ZM a KM postupujeme od počátečního uzlu SG ke koncovému. Pro všechny činnosti, začínající v počátečním uzlu SG dosazujeme za ZM = To = 0. Hodnoty KM pro všechny činnosti stanovíme ze vztahu KMij = ZMij+tij. Hodnota charakteristiky ZM je dána vztahem ZMij = TMij, tedy nejdříve možným termínem počátečního uzlu činnosti. Tento termín stanovíme jako maximální hodnotu ve sloupci KM pro všechny činnosti, které končí uzlem j, tj. max (KMhi) = ZMij. Pro činnosti, začínající např. v uzlu 5 bude ZM5j = max (KM15;KM25) = max(6,8) = 8. Při výpočtu charakteristik ZP a KP postupujeme od koncového uzlu SG k počátečnímu uzlu. Pro všechny činnosti, které končí v koncovém uzlu SG, dosahujeme na KPi9 = Tn = TP9. Hodnoty ZP pro všechny činnosti SG stanovíme ze vztahu: ZPij = KPij - tij . Hodnota charakteristiky KP je dána vztahem: KPij = TPj, tedy nejpozději přípustným termínem koncového uzlu činnosti. Tento termín stanovíme jako minimální hodnotu ve sloupci ZP pro všechny činnosti, které začínají v uzlu j , tj. min(ZPjh) = KPij. Pro činnosti, končící v uzlu 5 je KPi5 = min (ZP56;ZP57;ZP58) = min(8; 12; 11) = 8. Celkovou rezervu činnosti RC tvoří rozdíl mezi intervalem, vymezeným pro realizaci činnosti TPj - TMi a trváním činnosti tij. Při výpočtu v tabulce je stanovujeme z rozdílu KPij - KMij, resp. z rozdílu ZPij - ZMij . Pro činnost (5,7) v SG je hodnota celkové rezervy: RC57 = KP57 - KM57 = 15 - 11 = 4 resp. RC57 = ZP57 - ZM57 = 12 - 8 = 4. Volná časová rezerva RVij činnosti (i,j) je dána vztahem: RVij = TMj - TMi - tij. Pro činnost (7,8) SG z příkladu 7.1 je např. hodnota volné časové rezervy RV78 = TM8 TM7 - t78 = 16 - 13 -1 = 2 Nezávislá časová rezerva činnosti RNij je dána vztahem: RNij = max (TMj - TPi - tij ; 0). Obecně časovou analýzu SG provádíme v následujících třech fázích: a) výpočet charakteristik ZM a KM (platí ZMij = TMi; KMij= ZMij+ + tij) b) výpočet charakteristik ZP a KP (platí KPij = TPj; ZPij = KPij- - tij) c) výpočet rezerv (např. RCij = TPj - ZMi - tij = KPij - KMij = = ZPij - ZMij). Na příkladu hranově definovaného SG, jehož časové charakteristiky jsme stanovili přímo v grafu, si ukážeme některé možnosti časové analýzy v tabulce. Volná rezerva může být nenulová pouze pro ty činnosti, končící v uzlu j, pomocí nichž nebyl určen nejdříve možný termín TMj tohoto uzlu. V případě uzlu 8 byl TM8 určen z činnosti (6,8). Pro činnost (6,8) musí být tedy RV68 = 0 a pro činnost (5,8) nebo (7,8) mohou být RV58 nebo RV78 nenulové.
- 101 -
Výpočet v tabulce
Pro činnost (5,8) v SG je např. RN58 = max (TM8 - TP5 - t58; 0) = = max (16-8-5; 0) = 3. Pro činnost (4,7) je RN47 = max (TM7 - TP4 - t47; 0) = = max (13 - 12 - 3; 0) = 0 činnost
trvání
nejdříve možný
nejpozději přístupný
rezervy
i
j
tij
začátek ZM
konec KM
začátek ZP
konec KP
RC
RV
RN
1 1 1 2 2 3 4 5 5 5 6 7 8
2 3 5 4 5 6 7 6 7 8 8 8 9
8 4 6 2 0 1 3 0 3 5 8 1 4
0 0 0 8 8 4 10 8 8 8 8 13 16
8 4 6 10 8 5 13 8 11 13 16 14 20
0 3 2 10 8 7 12 8 12 11 8 15 16
8 7 8 12 8 8 15 8 15 16 16 16 20
0 3 2 2 0 3 2 0 4 3 0 2 0
0 0 2 0 0 3 0 0 2 3 0 2 0
0 0 2 0 0 0 0 0 2 3 0 0 0
Příklad 2 Nalezněte kritickou cestu v SG, který je zadán tabulkou činností, jejich vazbami a trváním činností: činnost
trvání – tij
A B C D E F G H I J K L M
3 8 9 9 7 7 8 8 4 5 7 5 6
bezprostředně předcházející činnost A A B C B, E F F D H, I G, J
- 102 -
Nejdříve možné termíny uzlů jsou stanoveny takto: TM1 = T0 = 0 TM2 = TM1 + t1,2 = 0 + 3 =3 TM3 = TM1 + t1,3 = 0 + 8 =8 TM4 = TM1 + t1,4 = 0 + 9 =9 TM5 = max (TM2 + t25 ; TM3 + t35 ) = max (3 + 7 ; 8 + 0) = 10 TM6 = TM2 + t2,6 = 3 + 9 =12 TM7 = TM3 + t3,7 = 8 + 7 =15 TM8 = max (TM5 + t58 ; TM7 + t78 ) = max (10 + 8 ; 15 + 4) = 19 TM9 = max (TM4 + t49 ; TM7 + t79 ) = max ( 9 + 8 ; 15 + 5) = 20 TM10 = max (TM6 + t6,10 ; TM8 + t8,10 ; TM9 + t9,10 ) = max (12 + 7 ; 19 + 5 ;20 +6 ) = 26 Nejpozději přípustné termíny uzlů jsou stanoveny takto: TM10 = TP10 = 26 TP9 = TP10 - t9,10 = 26 - 6 = 20 TP8 = TP10 - t8,10 = 26 - 5 = 21 TP7 = min (TP9 - t79 ; TP8 - t78 ) = min (20 - 5 ; 21 - 4) = 15 TP6 = TP10 - t6,10 = 26 - 7 = 19 TP5 = TP8 - t5,8 = 21 - 8 = 13 TP4 = TP9 - t4,9 = 20 - 8 = 12 TP2 = min (TP6 - t26 ; TP5 - t25 ) = min (19 - 9 ; 13 - 7) = 6 TP1 = min (TP4 - t14 ; TP3 - t13 ; TP2 - t12 ) = min (12 - 9 ; 8 - 8 ; 6 -3 ) = 0 Řešení: Kritickou cestu tvoří činnosti (1,3), (3,7), (7,9), (9,10), resp. B, F, J, M. Příklad 3 Proveďte výpočet časové analýzy v tabulce pro SG z předchozího příkladu. Stanovte nejdříve možné začátky a konce jednotlivých činností, jakož i nejpozději přípustné začátky a konce, všechny rezervy činností a určete kritickou cestu.
- 103 -
Celkové rezervy činností jsou stanoveny takto: RCij = TPj TMi - tij = KPij - KMij = ZPij - ZMij RC12 = ZP12 ZM12 = 3 - 0 = 3 RC13 = ZP13 ZM13 = 0 - 0 = 0 . . RC6,10 = ZP6,10 ZM6,10 = 19 - 12 = 7 atd. Volné rezervy činností jsou stanoveny takto: RVij = TMj TMi - tij = ZMjk - ZMij - tij kde ZMjk je nejdříve možný začátek činností, které začínají v uzlu j. ZM12 - t12 =3-0-3 =0 RV12 = ZM2k RV13 = ZM3k ZM13 - t13 =8-0-8 =0 . . RV35 = ZM5k ZM35 - t35 = 10 - 8 - 0 = 2 . . RV58 = ZM8k ZM58 - t58 = 19 - 10 - 8 = 1 ZM6,10 - t6,10 = 26 - 12 - 7 = 7. RV6,10 = ZM10,k Nezávislé rezervy činností jsou stanoveny takto: RNij = max (TMj - TPi - tij ;0) = max (ZMjk - KPhi - tij ;0) kde KPhi je nejpozději přípustný konec činností, které končí v uzlu i. RN12 = max (ZM2k - KPhi - t12 ;0) = max ( 3 - 0 - 3 ; 0) = 0 . . RN26 = max (ZM6k - KPh2 - t26 ;0) = max (12 - 6 - 9 ; 0) = 0 RN35 = max (ZM5k - KPh3 - t35 ;0) = max (10 - 8 - 0 ; 0) = 2 atd. Nejdříve možné konce činností jsou stanoveny takto: KMij = ZMij + tij KM12 = ZM12 + t12 = 0 + 3 = 3 KM13 = ZM13 + t13 = 0 + 8 = 8 KM14 = ZM14 + t14 = 0 + 9 = 9 KM25 = KM25 + t25 = 3 + 7 = 10 atd.
- 104 -
Nejpozději přípustné začátky činností jsou stanoveny takto: ZPij = KPij - tij TP9,10 = KPi9,10 - t9,10 = 26 - 6 = 20 TP8,10 = TP8,10 - t8,10 = 26 - 5 = 21 TP7,9 = KP57,9 - t7,9 = 20 - 5 = 15 atd. Příklad: Určete kritickou cestu grafu, který je zadán tabulkou činností a trváním těchto činností, za předpokladu T0=0; Tp = Tk = (T9) činnost i
j
1 1 1 2 3 3
2 3 4 5 5 8
činnost
ti j 1 5 3 2 7 8
i
j
4 5 5 6 7 8
6 7 8 8 8 9
ti j 6 10 4 1 0 3
Výpočet v tabulce: činnost
trvání
nejdříve možný
nejpozději přístupný
rezervy
i
j
tij
začátek ZM
konec KM
začátek ZP
konec KP
RC
RV
RN
1 1 1 2 3 3 4 5 5 6 7 8
2 3 4 5 5 8 6 7 8 8 8 9
1 5 3 2 7 8 6 10 4 1 0 3
0 0 0 1 5 5 3 12 12 9 22 22
1 5 3 3 12 13 9 22 16 10 22 25
9 0 12 10 5 14 15 12 18 21 22 22
10 5 15 12 12 22 21 22 22 22 22 25
9 0 12 9 0 9 12 0 6 12 0 0
0 0 0 9 0 9 0 0 6 12 0 0
0 0 0 0 0 9 0 0 6 0 0 0
RCij = TPj - TMi - tij RVij = TMj - TMi - tij = ZMjk - ZMij - tij, kde ZMjk je nejdříve možný začátek činností, které začínají v uzlu j; RNij = max (TMj - TPi - tij; 0) = = max (ZMjk - KPhi - tij; 0), kde KPhi je nejpozději přípustný konec činností, které končí v uzlu i. Výsledek: Kritickou cestu tvoří činnosti (1,3), (3,5), (5,7), (7,8), (8,9).
3.5
Základní principy metody PERT
Metoda PERT (Program Evaluation and Review Technique) pracuje s hranově definovanými síťovými grafy. Trvání každé činnosti se považuje za náhodnou veličinu s určitým rozdělením pravděpodobnosti. Síťový graf je ohodnocen stochasticky - užívají se tři časové odhady: optimistický odhad trvání (značíme písmenem a), nejpravděpodobnější odhad trvání činnosti (m), pesimistický odhad trvání činnosti (b). Síťové grafy typu CPM používáme např. v investiční výstavbě (stavba budov,
- 105 -
Definice
instalace složitých zařízení atd.), při řízení generálních oprav, ve výrobě (např. při kusové výrobě složitých zařízení jako jsou turbíny atd.), při řízení složitých organizačních projektů a všude tam, kde činnosti lze jednoznačně časově ohodnotit (např. využít časové normy). Síťové grafy typu PERT používáme všude tam, kde jsou činnosti neopakovatelné a dobu trvání činnosti nelze změřit předem - uvedená metoda byla poprvé využita při řízení výzkumu raket Polaris. Nejčastěji se s uvedenou metodou setkáme při řízení vývoje nového zařízení. Časovou analýzu SG typu PERT můžeme v zásadě provádět dvěma postupy, a to užitím metody Monte Carlo a převodem na deterministický model. Při použití metody Monte Carlo zavádíme pojem tzv. realizace síťového grafu. Realizací síťového grafu typu PERT rozumíme síťový graf, který získáme, nahradíme-li původní časové ohodnocení každé hrany síťového grafu (3 časové odhady - pesimistický, optimistický, nejpravděpodobnější odhad trvání činnosti) novým ohodnocením (tj. trváním) činnosti, které je dáno náhodným výběrem z rozdělení činnosti v intervalu < a, b >. Pro takto vzniklý síťový graf stanovíme všechny potřebné časové charakteristiky obvyklými postupy metody CPM. Provedeme-li velký počet realizací síťového grafu a pro každou realizaci vždy výpočty časových charakteristik, je možné statistickými metodami odhadovat pravděpodobnostní parametry časových charakteristik síťového grafu. Podmínkou nutnou (nikoliv samozřejmě dostačující) pro řešení síťových grafů typu PERT metodou Monte Carlo je implementace generátoru náhodných čísel. Realizujme postup převodu síťového grafu typu PERT na deterministický model, kdy každé činnosti síťového grafu přiřadíme ohodnocení, které je dáno očekávaným trváním činnosti te:
te
a 4m b 6 .
Pro rozptyl trvání činnosti platí:
(b a) 2 D(t ij ) 36 . Směrodatná odchylka je dána vztahem:
D(t ij )
ba 6 .
Pro takto vzniklý deterministický model provedeme časovou analýzu běžnými postupy metody CPM. Na výsledky časové analýzy navážeme dalšími pravděpodobnostními výpočty, které vycházejí ze znalosti očekávaných trvání činnosti a jejich směrodatných odchylek. Příklad 1 Pro SG typu PERT stanovte pravděpodobnou kritickou cestu a vypočtěte odhad středního trvání projektu (jsou zadány časová ohodnocení a, m, b pro každou činnost SG – viz. následující tabulka):
- 106 -
činnost i j
a
1 1 1 2 2 2 3 4 4 5 6 6 7 8
5 2 4 0 2 5 3 5 2 1 0 7 2 3
2 3 4 3 6 7 6 5 6 8 8 9 9 9
ohodnocení m b 6 3 4 0 5 5 5 6 5 3 0 7 8 6
13 4 10 0 8 5 7 7 8 5 0 7 8 9
te
ZM
charakteristiky KM ZP KP
7 3 5 0 5 5 5 6 5 3 0 7 7 6
0 0 0 7 7 7 7 5 5 11 12 12 12 14
7 3 5 7 12 12 12 11 10 14 12 19 19 20
1 5 0 8 8 8 8 5 8 11 14 13 13 14
8 8 5 8 13 13 13 11 13 14 14 20 20 20
R
D(t)
1 5 0 1 1 1 1 0 3 0 2 1 1 0
16/9 1/9 1 0 1 0 4/9 1/9 1 4/9 0 0 1 1
Řešení: Zvolíme metodu převodu síťového grafu typu PERT na deterministický model. Nejprve určíme očekávané trvání činnosti te (pro všechny činnosti v grafu), pak vypočteme (dříve uvedeným způsobem) charakteristiky ZM, KM, ZP, KP a rezervu R pro každou činnost. Pravděpodobná kritická cesta prochází uzly 1 – 4 – 5 – 8 – 9. Odhad středního trvání projektu je roven trvání kritické cesty, tj. 5 + 6 + 3 + 6 = 20.
3.6
Časová analýza uzlově definovaného síťového grafu
V uzlově definovaném síťovém grafu je činnost modelována uzlem a vazby mezi činnostmi jsou modelovány hranicemi grafu. Poněvadž interpretace uzlu v uzlově definovaném SG je konjunktivně deterministická, nalezneme v časové analýze řadu nám již známých úvah. Časová analýza uzlově definovaných SG probíhá v těchto krocích: a) určení termínu činností b) určení časových rezerv c) určení kritické cesty Nejdříve možné termíny činnosti zjišťujeme výpočtem, který začíná od počáteční činnosti SG. Nejpozději přípustné termíny zjišťujeme výpočtem, který začíná od koncové činnosti SG. Výpočet nejdříve možných termínů: Předpokládáme, že platí: ZM1 = 0 KMi = ZMi + pro i = 2,3, … k) ZMi = max (KMj) j kde max (KMj) je maximální údaj z hodnot nejdříve možných konců bezprostředně předcházející činností KMj. - 107 -
Postup úlohy
Pro koncovou činnost platí KMk = KPk = Ta (pokud není zadáno plánované trvání činnosti). Výpočet nejpozději přípustných termínů: Předpokládáme, že platí: KPk = KMk a postupujeme dle vztahů: ZPi = KPi - ti KPi = min (ZPj) (i = 1,2 …, k=1) j kde min (ZPj) je minim. hodnota z nejdříve přípustných začátků bezprostředně následující ZPj. Příklad: Je zadán uzlově definovaný SG; v uzlu je vyznačeno číslo činnosti a doba trvání činnosti. Úkolem je vypočíst celkové rezervy a určit kritickou cestu. ZM
KM i ti
ZP
2
RC
5
3
KP
7
2
6
ZM 0 1
3
3
9
6
4
KM
0
3 1
4
KMi = ZMi + ti;
3
ZM
8
4
5 5
1. krok – výpočet ZM, KM
6
6 2
8 5
3
2
ZMi = max (KMj) j
10
16 7
(8)
6
(10 ) 3
(16 ) 18
10 3
3
20 9
7
(10 10 ) 3
14 6
4
8 4
2
7
5 5
(8)
- 108 -
14
18 8
4
(18 )
2
2. krok – výpočet ZP, KP
ZPi = KPi - ti
3
6 2
ZM 0
KM 3 1
0
8 5
3
7
10
3
10
10
16 7
2
10
12
6
12
18
(7) (3)
3
6
KPi = min (ZPj) j
3
3
7
3
10
3
8
(5) 4
18 (12 ) (10 )
20 9
10
14 6
14
18 8
4
10
14
2
18 ZP
20 KP
4
14
18
5 5
5
10
1. krok – výpočet rezervy (RCi = ZPi - ZMi ) 3
6 2
7 ZM
KM
0
3 1
0
0
3
10
7
2
12
4
16
12
6
18
2
18
10
0
10
14 6
3
8 4
20 9
7
RC
5
10
10 3
3
10
4
8 5
3
3
3
6
10
14 8
4
0
18
14
14
0
18
2
0
ZP
4
18
5 5
2
10
2. krok – určení kritické cesty (RC1 = 0) : 1, 3, 6, 8, 9
3.7 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Kontrolní otázky: Vysvětlete, co rozumíme pojmem projekt. Co je to síťový graf. Jaký je rozdíl mezi uzlem a hranou, jak je označujeme a jaké máme druhy. Vysvětlete pojem činnost. Jak dělíme síťové grafy, a naznačte tyto druhy. Popište rozdíly mezi ohodnocením síťového grafu časového, zdrojového a nákladového. Vyjmenujte druhy síťových grafů. Jak znázorňujeme síťové grafy? Jak je v teorii grafů definována cesta. Co rozumíme pojmy počáteční uzel, koncový uzel a cyklus. Jak provádíme tabulkové vyjádření síťového grafu?
- 109 -
20 KP
12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
3.8
Vysvětlete postup řešení pomocí incidenční matice. Vysvětlete význam a výpočet nejdříve možných počátků činnosti a nejdříve možných konců činnosti. Vysvětlete význam a výpočet nejpozději přípustných konců a nejpozději přípustných počátků činností. Které činnosti označujeme jako kritické a které jako nekritické? Uveďte, které údaje musí obsahovat model příkladu řešeného metodou kritické cesty. Vysvětlete, proč za kritické považujeme ty činnosti, které nemají časovou rezervu. Jaký je obsah tabulky, z níž kritickou cestu interpretujeme? Vysvětlete rozdíl mezi metodou CPM a PERT. Uveďte postup při stanovení nejdříve možných časů v metodě PERT. Uveďte postup při stanovení nejpozději přípustných časů v metodě PERT. V metodě PERT uveďte vztah pro odhad pravděpodobnosti, že bude dodržen plánovaný termín ukončení realizace projektu.
Shrnutí
V této kapitole jste se seznámili s pojmem síťová analýza a s jejími metodami, která patří do skupiny matematických metod. Úkolem bylo využití těchto metod při hledání postupu při řešení určitého úkolu. K tomu byla použita metoda kritické cesty CPM a metoda PERT v grafickém vyjádření a v tabulkové formě. Řešení metodou kritické cesty spočívá v tom, že celý úkol je rozdělen na jednotlivé činnosti, které na sebe budou navzájem navazovat, přitom známe doby trvání jednotlivých činností. Při řešení úlohy provádíme výpočty nejdříve možných počátků a konců činnosti, dále výpočty nejpozději přípustných konců a počátků činností a výpočet časových rezerv. Stejně jako u předešlých kapitol i zde je kladen důraz na interpretaci výsledků, které určují výběr kritických činností (mají nulovou časovou rezervu). Postup po této kritické cestě je řešením daného úkolu a součástí je vyhodnocení časových rezerv u jednotlivých činností.
3.8.1 1.
Cvičení Nakreslete graf CPM, vypočtěte ZM, KM, ZP, KP a RC pro všechny vazby. Určete kritickou cestu grafu. Zadána je tabulka vazeb a trvání těchto činností. i 1 1 1 2 3 3 4 5 5 6 7 8
j 2 3 4 5 5 8 6 7 8 8 8 9
tij 2 10 6 4 14 16 12 20 8 2 0 6
- 110 -
2.
Určete kritickou cestu grafu CPM, který je zadán tabulkou činností a trváním těchto činností. i 1 1 1 2 2 3 4 5 6 7
3.
tij 6 4 2 10 4 8 12 2 2 4
Nakreslete graf CPM, vypočtěte ZM, KM, ZP, KP a RC pro všechny vazby. Určete kritickou cestu grafu. Zadána je tabulka vazeb a trvání těchto činností. i 1 1 1 2 3 4 5 6 6 7 8
4.
j 2 3 4 5 6 5 7 7 7 8
j 2 3 4 5 5 6 7 7 8 9 9
tij 6 4 2 5 4 8 6 2 2 3 5
Nakreslete graf PERT, vypočtěte očekávanou dobu trvání t, ZM, KM, ZP, KP a RC pro všechny vazby. Určete kritickou cestu grafu. Zadána je tabulka vazeb a optimistický, nejpravděpodobnější a pesimistický odhad trvání činností. i 1 1 1 2 2 2 3 4 4 5 6 6 7 8
j 2 3 4 3 6 7 6 5 6 8 8 9 9 9
a 5 2 4 0 2 5 3 5 2 1 0 7 2 3
m 6 3 4 0 5 5 5 6 5 3 0 7 8 6
- 111 -
b 13 4 10 0 8 5 7 7 8 5 0 7 8 9
5.
Je zadán uzlově definovaný síťový graf, v uzlu je vyznačena doba trvání činnosti. Ve všech uzlech označte ZM, KM, ZP, KP , RC a určete kritickou cestu grafu. 5
2
7
9 1
3 6
8
4
6.
Je zadán uzlově definovaný síťový graf, v uzlu je vyznačena doba trvání činnosti. Ve všech uzlech označte ZM, KM, ZP, KP , RC a určete kritickou cestu grafu. 4
2
6
8 1 5
3
- 112 -
7
4
Základy finanční matematiky
Obsah kapitoly 4.1. 4.2. 4.3.
Cílové znalosti a dovednosti Klíčová slova Jednoduché úročení a diskontování 4.3.1. Základní pojmy 4.3.2. Základní rovnice pro jednoduché úročení 4.3.3. Diskontování 4.4. Cvičení 4.5. Složené úročení 4.5.1. Základní rovnice složeného úročení 4.5.2. Současná a budoucí hodnota při složeném úročení 4.5.3. Výpočet doby splatnosti 4.5.4. Výpočet úrokové sazby 4.5.5. Výpočet úroku 4.5.6. Kombinace složeného a jednoduchého úročení 4.5.7. Nominální úroková míra 4.5.8. Efektivní úroková míra 4.5.9. Reálná úroková míra 4.5.10. Úroková intenzita a spojité úročení 4.6. Cvičení 4.7. Spoření 4.7.1. Spoření předlhůtní krátkodobé 4.7.2. Spoření polhůtní krátkodobé 4.7.3. Dlouhodobé spoření 4.7.4. Cvičení 4.8. Důchody 4.9. Cvičení 4.10. Umořování dluhu 4.11. Cvičení
4.1
Cílové znalosti a dovednosti
Po prostudování této části si studenti zopakují základní pojmy finanční matematiky, budou znát rozdíl mezi úrokováním jednoduchým, složeným, využití diskontu. Seznámí se s druhy úrokovacích mír. Na praktických příkladech si ověří tyto základní pojmy, seznámí se s krátkodobým, dlouhodobým spořením a kombinací krátkodobého a dlouhodobého spoření. Rozeznají různé druhy důchodu bezprostředního, odloženého a věčného, budou umět sestavit umořovací plán a znát způsob splácení dluhu. Vše bude procvičeno na praktických příkladech tak, aby získané znalosti mohli použít v praktickém životě a při zpracování bakalářské práce.
4.2
Klíčová slova
Kapitál (jistina) původní, konečný, úrok, úroková míra, úrokovací období, jednoduché úročení, složené úročení, úrokovací období polhůtní nebo předlhůtní, úrokové číslo, úrokový dělitel, úroková míra, obchodní diskont, diskontní míra,
- 113 -
matematický diskont, standardy, efektivní úroková míra, nominální úroková míra, reálná úroková míra, míra inflace, úroková intenzita, krátkodobé, dlouhodobé spoření, důchodové období, současná hodnota důchodu, koncová hodnota důchodu, důchod bezprostřední, důchod odložený, důchod věčný, anuita, úmor, umořovací plán.
Úroky Úrokové sazby
4.3
Jednoduché úročení a diskontování
4.3.1
Základní pojmy
Každé hospodaření vyžaduje určitý kapitál. Podnikatel má svůj vlastní kapitál vlastní zdroje, nebo kapitál získaný ze svého okolí - cizí zdroje. Zpravidla jej získává od finančních institucí jako půjčku, ale ovšem za úplatu. Touto úplatou je právě úrok. Čili úrok obecně představuje cenu za zapůjčení peněz. Z pohledu dlužníka představuje cenu za získání půjčky, případně úvěru a z pohledu věřitele představuje odměnu za dočasné poskytnutí peněz. Výše úroku závisí na úrokové sazbě. V ekonomice však existuje mnoho různých úrokových sazeb, které je vždy potřeba definovat a použít jednu konkrétní úrokovou sazbu vhodnou pro náš případ. Úrokové sazby jsou v ekonomice velmi důležité, protože plní důležité funkce: 1. Napomáhají zaručovat příliv běžných úspor do investic a tím podporovat ekonomický růst podniku. 2. Zaručují rozdělení zápůjčního kapitálu tak, že všeobecně směřuje disponibilní prostředky do investic s nejvyšší očekávanou návratností 3. Uvádí do rovnováhy nabídku a poptávku po penězích. 4. Je to důležitý nástroj politiky státu. To jsou čtyři nejdůležitější vlastnosti úrokových sazeb. My se však nebudeme zaobírat teoriemi, ale konkrétními výpočty. Jestliže známe částku, ze které počítáme úrok a známe i dobu úročení a úrokovou sazbu, úrok vypočítáme snadno podle vzorce: kde: K = původní kapitál (peněžní částka) p =roční úroková sazba v procentech t = období, po které je kapitál úročen ve dnech i = úroková sazba vyjádřená jako desetinné číslo
Příklad 1 Jaké jsou úrokové náklady úvěru ve výši 200 000 Kč, jednorázově splatného za osm měsíců (240 dní) včetně úroku, je-li úroková sazba 9 % p.a.?
Standarty
Odpověď : Můžeme počítat s úrokem ve výši 12 000 Kč. Úročením rozumíme započítávání úroků k danému kapitálu. Úroková míra je úroková sazba vyjádřená jako desetinné číslo
- 114 -
Úrokovací období je období, po které je kapitál úročen. Při stanovení úrokovací období se využívá standardů. Nejčastěji používané standardy jsou: 30E/360 (německá či obchodní metoda), ACT/360 (francouzská či mezinárodní metoda) a ACT/365 (anglická metoda). Čísla ve zlomcích představují počty dní, např. 30E/360 počítá s 30 dny v měsíci a 360 dny v roce, ACT/365 počítá se skutečným počtem dní v měsíci a se skutečným počtem dní v roce. Úrokovou míru uvádíme, pokud není uvedeno jinak, za rok. Pokud chceme tuto skutečnost zdůraznit, přidáváme zkratku „p. a." (latinsky „per annum"). Je pochopitelné, že se v praxi mohou vyskytnout i kratší období pro úročení než roční, můžeme se setkat např. s pololetní úrokovou sazbou - „p. s." („per semestre"), s čtvrtletní - „p. q." („per quartale"), s měsíční „p. m." („per mensem"), s denní - „p. d." („per diem"). Typy úročení si můžeme rozdělit podle dvou základních hledisek - podle (ne)úročení úroků a podle doby, kdy dochází k placení úroků: Pokud se vyplácené úroky nepřipočítávají k vloženému kapitálu a dále se neúročí (úroky se počítají stále z původního kapitálu), mluvíme o jednoduchém úročení; jestliže se úroky připisují k vloženému kapitálu a spolu s ním se dále úročí („úroky z úroků"), mluvíme o složeném úročení. Úroky z vložené (půjčené) částky se mohou vyplácet na konci úrokového období -úročení polhůtní neboli dekursivní, nebo na začátku úrokového období - úročení předlhůtní neboli anticipativní. Při výpočtech se používá, pokud není uvedeno jinak, úroková míra v číselném vyjádření (v setinách), nikoliv v procentním. Stejně platí, že pokud není uvedeno jinak, používá se úročení polhůtní. Jestliže se denně mění ukládaná finanční částka, k výpočtu úroku je vhodné využít úrokového čísla a úrokového dělitele, protože výše úrokové míry zůstává stejná a mění se velikost finanční částky a úroková doba.
Jednoduché úročení
Úrokové číslo
Úrokové číslo (UC) se vypočte:
kde: UC = úrokové číslo K = výše kapitálu d = počet dní, po které byl kapitál ve výši K úročen. Úrokový dělitel
Úrokový dělitel (UD) je dán vztahem:
kde: UD = úrokový dělitel p = úroková míra vyjádřená v procentech ročně. Úrok se pak vypočítá jako podíl sumy úrokových čísel a úrokového dělitele:
- 115 -
Příklad: Jaký byl na konci roku 2010 připsán jednoduchý úrok, pokud běžný účet byl úročen úrokovou mírou 4% p. a.? Stav na běžném účtu se během roku 2010 vyvíjel podle následující tabulky: Zůstatek účtu 100 000 260 000 100 000 200 000 Součet
Počet dní 24 130 120 86 360
Úrokové číslo 24 000 338 000 120 000 172 000 654 000
Odpověď: Na konci roku 2010 byl k zůstatku na běžném účtu připsán úrok v celkové výši 7 266,70 Kč.
Vztah pro jednoduché úročení
4.3.2
Základní rovnice pro jednoduché úročení
Principem jednoduchého úročení je způsob připisování úroků - úroky jsou připisovány k počátečnímu kapitálu a dále se neúročí. Prakticky si můžeme jednoduché úročení představit tak, že na jednom účtu vedeme jistinu (vložený kapitál) a na jiném účtu úroky, přičemž úroky nepřevádíme na účet jistiny. A úroky počítáme pořád ze stejného základu - z jistiny. Rovnici pro jednoduché úročení používáme při výpočtech, kdy úrokovací období nepřesahuje jeden rok.
, kde: Kn = výše kapitálu v čase n (zúročený kapitál - budoucí hodnota) K0 = výše kapitálu v čase 0 (počáteční kapitál - současná hodnota) i = úroková míra n = úrokovací období. Příklad 1 Vypočtěte na jakou hodnotu se zvýší vklad 12 000 Kč po osmi měsících při úrokové sazbě 8% p.a.
Odpověď: Výše vkladu po šesti měsících bude 12 640 Kč. Známe-li konečnou hodnotu kapitálu, úrokovou míru a úrokovací dobu, původní
- 116 -
hodnotu kapitálu vypočteme ze základní rovnice . Příklad 2 Jaký počáteční vklad musíme uložit v případě, že náš vklad je úročen úrokovou sazbou 9% p. a. a za čtyři měsíce budeme potřebovat kapitál ve výši 20 000 Kč? . Odpověď: Abychom za čtyři měsíce při úrokové sazbě 9% p.a dostali částku 20 000 Kč, musíme uložit 19 417,47 Kč. Ze základní rovnice pro výpočet konečného kapitálu je úrokovací doba dána vztahem: . Příklad 3 Jak dlouho byl uložen vklad 3500 Kč, jestliže při 5% p.a. úrokování se jeho hodnota zvýšila na 3550 Kč. let, převedeme na dny. 0,2857. 360 = 102 dní. Odpověď: Kapitál byl uložen 102 dní. Ze základního vzorce vypočteme i:
Příklad 4 Při jaké úrokové míře vzrostl vklad 4000 Kč za 5 měsíců na 4050 Kč. , což je 3%. Odpověď: Vklad byl uložen na 3% úrok. Při ukládání kapitálu na účtu je potřeba počítat s tím, že je nutno vždy odečítat daň z úroku, nejčastěji 15 %. Příklad 5 Do banky jsme vložili 50 000 Kč s úrokovou mírou 9 % p.a. na 120 dní. a)
Kolik korun činí úrok? .
- 117 -
b)
Kolik korun činí úrok po zdanění?
Je-li daň z úroku 15% p.a., zdaňovací koeficient úrok po zdanění je:
c)
4.3.3 Obchodní diskont
, takže
Celková částka, na kterou vzroste kapitál:
Diskontování
S diskontem počítáme u směnek a obchodů s nimi. Přitom stanovení úroku je z konečného kapitálu (mluvíme o tzv. obchodním diskontu). Obchodní diskont vypočítáme podle vzorce: . kde: = obchodní diskont budoucí hodnota (výše kapitálu v čase n) d = diskontní míra n = doba do data splatnosti. Po srážce obchodního diskontu bude vyplacena částka
. Příklad 1 Vypočtěte výši obchodního diskontu u směnky o nominální hodnotě 500 000 Kč předložené bance 3 měsíce před datem splatnosti, je-li diskontní míra 8% p.a. . Odpověď: Diskont bude 10 000 Kč. Obdržená částka bude 500 000 – 10 000 = 490 000 Kč Vztah mezi diskontní a úrokovou sazbou
Vztah mezi polhůtní úrokovou sazbou a diskontní sazbou Když se zamyslíme nad postupem těchto výpočtů, zjistíme, že princip diskontu je shodný s placením úroku na počátku období, jedná se vlastně o předlhůtní úročení Můžeme si odvodit vztah mezi úrokovou mírou a diskontem. Při použití diskontu je současná hodnota, z toho budoucí hodnota
- 118 -
. Při použití jednoduchého úročení je: současná hodnota budoucí hodnota
.
Srovnáme-li současné hodnoty, pak po úpravách dostaneme vztah mezi diskontní sazbou a úrokovou mírou: d = i/(1 + in)
i = d / ( 1 – dn) je-li úrokovací doba 1 rok, pak
d = i/(1 + i)
i = d / ( 1 – d) .
Diskont lze počítat též ze současné hodnoty pohledávky. Tímto způsobem vypočtený diskont se označuje jako diskont matematický a v praxi se většinou nepoužívá Matematický diskont (Dmat) vypočítáme podle vzorce: .
Tento vztah můžeme přepsat následujícím způsobem:
, kde: Dmat = matematický diskont K = současná hodnota (výše kapitálu v čase 0) d = diskontní míra n = doba do data splatnosti. Příklad 2 Vypočtěte matematický diskont u směnky o nominální hodnotě 5000 000 Kč předloženého bance 3 měsíce před datem splatnosti, jestliže diskontní míra je 8% p.a. Po dosazení do vzorce dostáváme:
Odpověď: Matematický diskont bude 98 039,20 Kč. Obdrženou částku (Kob) vypočítáme jako:
- 119 -
. Odpověď: Obdržíme částku 4 901 960,8 Kč. Jednoduchým důkazem můžeme doložit následující vztah: . Příklad 3 Banka poskytuje roční půjčky úročené předlhůtně, to znamená s diskontní sazbou. Výše půjčky je 20 000 Kč a diskontní sazba je 15% p. a. Kolik dostane vyplaceno klient, který o takovou půjčku požádá na začátku roku a jaká je skutečná výše úrokové sazby? Dosazením diskontní sazby za úrokovou sazbu dostaneme a pak
. Odpověď: Klient dostane vyplaceno 17 000 Kč a skutečná, čili polhůtní úroková míra bude rovna 17,65% p. a.
4.4 1. 2. 3. 4. 5.
Cvičení Dne 15.3. 2010 jsme uložili do spořitelny 20 000 Kč na 4% p.a. Částku jsme vybrali 10.9.2010. Kolik korun činil úrok za tuto dobu a jakou částku jsme dostali vyplacenu, je-li srážena daň z úroku? Jaká byla roční úroková míra při vkladu 15 000 Kč, získáme-li na úrocích za 8 měsíců 200 Kč. Bankovní úřad nabízí klientovi úvěr. Klient si může vybrat, zda nechá svůj dluh úročit 8% p. a. polhůtně nebo stejnou úrokovou sazbou předlhůtně při jednoduchém úročení. Co je pro klienta výhodnější? Pan Smutný zažádal banku o úvěr 50 000 Kč na dobu 1 roku. Banka mu nabízí úročení buď 7% p.a. polhůtně nebo 6,8 % předlhůtně. Co je pro klienta výhodnější? (Předlhůtní úročení znamená diskont). Vypočítejte úrok pomocí úrokového čísla a úrokového dělitele, jestliže jsme uložili do banky 10.1. částku 6 000 Kč, 15.2. částku 5 400 Kč, 14.6. částku 4 200 Kč, 15.8. částku 2 500 Kč. Úroková sazba byla 5% p.a. Kolik korun získá klient na úrocích k 31.12., nedošlo-li na účtu již k žádné změně?
- 120 -
4.5
Složené úročení
4.5.1
Základní rovnice složeného úročení
Složené úročení používáme při výpočtech, jestliže úrokovací období je delší než jeden rok. Úroky se připočítávají k původnímu kapitálu a v následujícím období se tento kapitál bere jako základ pro další úročení. Zobecníme-li tento postup, pak po úpravách dostáváme základní rovnici ve tvaru: , kde: = výše kapitálu v čase n (zúročený kapitál - budoucí hodnota) = výše kapitálu v čase 0 (počáteční kapitál - současná hodnota) i = úroková míra i n = délka úrokovacího období (v letech) 1 + i = úročitel. Je třeba si uvědomit, že jednoduché úročení má lineární charakter, kdežto složené úročení exponenciální v závislosti na době splatnosti. Výraz pro výpočet konečné jistiny můžeme chápat jako n-tý člen geometrické posloupnosti, kde první člen se rovná Ko . (1 + i), kvocient q = (1 + i). Příklad: Na jakou hodnotu vzroste částka 20 000 Kč při složeném úročení za 4 roky při úrokové míře 10 % p.a.? . Odpověď : Za čtyři roky vzroste hodnota kapitálu na 29 282 Kč. Jestliže úročíme m-krát ročně (např. měsíčně), vzorec pro složené úročení má tvar: . Příklad 1 Na jakou částku vzroste 20 000 Kč při složeném úročení za 4 roky, jestliže úrokovací období je: a) půlroční b) čtvrtletní c) měsíční při úrokové sazbě 10% p.a. a) b) c)
.
- 121 -
Výpočet konečné hodnoty
Výpočet původní hodnoty
4.5.2
Současná a budoucí hodnota při složeném úročení
Známe-li konečnou hodnotu, úrokovací míru a úrokovací dobu, můžeme původní jistinu vypočítat ze základního vzorce, takže
Příklad 2 Jakou částku musíme uložit, abychom na konci šestého roku měli naspořeno 20 000 Kč při 10% p.a., jestliže: a) daň úroku se nesráží b) počítáme-li s daní z úroku a) b)
4.5.3 Výpočet doby splatnosti
.
Výpočet doby splatnosti
Dobu splatnosti vyjádříme ze základní rovnice pro složené úročení: Úročíme-li m-krát ročně, pak: Příklad 1 Jak dlouho byla uložena částka 50 000 Kč, jestliže při 15% p.a. a ročním složeném úročení se zvýšila na hodnotu 51 000 Kč?
. Odpověď: Částka byla uložena 51 dnů (0,14 . 360).
4.5.4 Výpočet úrokové míry
Výpočet úrokové sazby
Ze základní rovnice jednoduchými matematickými operacemi je úroková sazba . Při úročení m – krát
ročně je úroková sazba: .
- 122 -
Příklad: Vklad 20 000 Kč vzrostl za 5 let při ročním složeném úročení na 21 500 Kč. Určete úrokovou sazbu.
. Odpověď.: Úroková míra byla 1,4%.
4.5.5
Výpočet úroku
Úrok u složeného úročení můžeme vyjádřit jako rozdíl budoucí a současné hodnoty kapitálu:
Výpočet celkového úroku
. Příklad: Částka 50 000 Kč byla úročena 5 let úrokovou sazbou 10% při ročním složeném úročení. Jaký byl celkový úrok? . Odpověď: Celkový úrok za pět let bude 30 525,50 Kč.
4.5.6
Kombinace složeného a jednoduchého úročení
Jestliže úrokovací období není celý počet let, tzn. t = n +1 kde: n = počet úrokovacích období l = necelá část úrokovacího období (např. pokud t = 3,6 let, pak n = 3 a l = 0,6), pak výslednou hodnotu vypočteme jako kombinaci jednoduchého a složeného úročení.
. Je-li úročení m-krát ročně, pak:
.
- 123 -
Výpočet konečné sazby při necelém počtu let
Příklad 1 Vypočtěte, na jakou částku vzroste 1 000 Kč po třech letech a dvěstěšestnácti dnech, pokud počáteční vklad je úročen úrokovou sazbou 15% p.a. složeně za každý ukončený rok a jednoduše za zbývající část roku? . Odpověď : Po třech letech bude výše kapitálu 1 657,75 Kč.
Nominální úroková míra
4.5.7
Nominální úroková míra
Doposud jsme počítali pouze s nominálními úrokovými měrami. Nominální úrokové míry můžeme rozdělit na hrubé nominální úrokové míry a čisté nominální úrokové míry. Rozdíl mezi hrubou a čistou nominální mírou představuje příslušná daňová sazba. Potom musí platit vztah:
, kde: = čistá nominální úroková míra, = hrubá nominální úroková míra = sazba daně z příjmů. Příklad 1 Banka nabízí úrokovou míru 9,5% p.a. Jaká je skutečná míra zisku, jestliže daň z úroku je 15% ? . Odpověď: Skutečná míra zisku je 8,1%.
4.5.8 Efektivní úroková míra
Efektivní úroková míra
Efektivní úrokovou mírou rozumíme roční úrokovou míru, která odpovídá takové nominální úrokové sazbě, která nám dá za jeden rok stejnou výši kapitálu v případě, že s ní úročíme m-krát do roka.
. Příklad 1 Co je výhodnější při zhodnocení kapitálu při volbě: - 124 -
a) termínového vkladu úročeného pololetně úrokovou sazbou 8,5% b) termínový vklad úročený měsíčně sazbou 8%.
Odpověď: Zvolíme variantu a), protože efektivní úroková sazba je vyšší.
4.5.9
Reálná úroková míra
Reálná úroková míra je nominální úroková míra očištěná o míru inflace. Vypočítá se podle vzorce:
Reálná úroková míra
, kde: ir = reálná úroková míra, i = nominální úroková míra ii = míra inflace. Příklad 1 Jaká je reálná úroková míra, pokud nominální roční úroková míra je 10% a roční míra inflace se předpokládá na úrovni 5%? . Odpověď : Reálná úroková míra je asi 4,8% p.a. Pro velmi malé míry inflace můžeme použít odhad reálné úrokové míry jako rozdíl nominální úrokové míry a míry inflace.
4.5.10
Úroková intenzita a spojité úročení Použití
Úroková intenzita odpovídá takové úrokové míře, kdy počet úrokovacích období m spojitého (úročí se v každém okamžiku) a délka úrokovacího úročení se blíží k nekonečnu, m období t se blíží k nule, n 0. Na stejném principu je založeno tzv. spojité úročení. Praktický význam spojitého úročení však spočívá v oblasti ohodnocení cenných papírů a kapitálových investic, neboť umožňuje použít složitější matematické nástroje. Vzorec pro spojité úročení zapisujeme ve tvaru:
- 125 -
,kde: e = Eulerova konstanta, nebo-li základ přirozených logaritmů. Příklad 1 Akcie má kurz 9000 Kč, jaký bude její kurz za 10 let, pokud předpokládáme, že průměrná míra růstu jejího kurzu bude odpovídat úrokové intenzitě 5% p.a.? . Odpověď : Kurz za deset let by měl být přibližně 14 838 Kč. Důležitý poznatek pro vztah efektivní úrokové míry a úrokové intenzity:
4.6 1. 2. 3.
4. 5. 6.
4.7 Druhy spoření
Cvičení Pan Nový si uložil částku 20 000 Kč. Jaká bude výše této částky po pěti letech a osmi měsících při úrokové sazbě 5% p.a.? Pan Černý si dnes z banky vyzvedl 54 200 Kč, když původně uložil jen 50 000 Kč. Jak dlouho měl své peníze uloženy v bance, jestliže se úročily 3,5% p. a. a banka používala složené úročení? Máte možnost koupit si ojetý automobil. Je pro vás výhodnější zaplatit hotově 150 000 Kč nebo zvolit druhou možnost a po okamžité záloze 80 000 Kč doplatit 80 000 Kč až po roce a půl, když máte možnost peníze si uložit při čtvrtletním složeném úročení ve výši 7% p. a.? Částka 40 000 Kč vzrostla za 3 roky na 47 200 Kč. Jaká byla úrokovací sazba, jsou-li úroky připisovány ročně a dále úročeny? Jaký je reálný výnos, jestliže se úspory úročí 5% p.a., daň z příjmů je 15% a předpokládaná roční míra inflace je 3%? Investiční akce zhodnotí za 100 měsíců vklad 2 mil. Kč na 3,8 mil. Kč. Je výhodnější uložit částku 2 mil. Kč na stejně dlouhou dobu při 10% p.a. s měsíčním připisováním úroků?
Spoření
Pod pojmem spoření rozumíme ukládání stejných částek v pravidelných časových intervalech. Způsob spoření můžeme rozdělit: a) podle délky spoření: 1. krátkodobé - spoříme po dobu jednoho úrokového období (období, za které je připisován úrok, zpravidla 1 rok), 2. dlouhodobé - spoříme po dobu delší než jedno úrokové období a) podle okamžiku uložení spořené částky 3. předlhůtní - spořená částka je ukládána na začátku úrokového období 4. polhůtní - spořená částka je ukládána na konci úrokového období
- 126 -
Krátkodobé spoření Doba spoření je kratší než 1 rok. Je třeba si uvědomit, že součet úroků za jednotlivé období tvoří aritmetickou posloupnost, takže výslednou částku úroků můžeme určit jako součet aritmetické posloupnosti. Na základě této úvahy se dají jednoduše odvodit následující vzorce pro spoření předlhůtní krátkodobé a spoření polhůtné krátkodobé.
4.7.1
Spoření předlhůtní krátkodobé
U spoření krátkodobého předlhůtního ukládáme částku vždy na začátku určitého Vzorce období (m-tiny úrokového období či roku, na začátku měsíce, čtvrtletí apod.). krátkodobého spoření předlhůtního
, kde: = cílová částka x = výše úložky m = počet úložek za úrokové období i = úroková sazba. Příklad 1 Kolik si naspoří slečna Malá do konce roku, ukládá-li počátkem každého měsíce 500Kč při roční úrokové míře 8%? Dosadíme do vzorce: x = 500, m = 12, i = 0,08 a
=?
. Odpověď: Celkem na konci roku naspoříme 6 260 Kč včetně úroků. Příklad 2 Kolik musíme ukládat na začátku každého čtvrtletí, abychom za 1 rok našetřili 20 000 Kč při úrokové sazbě 8% p.a.? Z původního vzorce vypočteme x.
. Odpověď: Na začátku každého čtvrtletí musíme uložit 4 762 Kč. Příklad 3 Tohoto vzorce je možné využít například pro výpočet nejefektivnější měsíční úložky při spoření na stavebním spoření. Nejefektivnější měsíční úložka je taková, při které za rok naspoříme i s úroky 20.000 Kč, čímž maximalizujeme státní podporu, která je 15 % z roční úložky i s připsanými úroky, maximálně však 3000 Kč (tedy 15 % z - 127 -
20.000 Kč). Pokud bychom naspořili více než 20.000 Kč za rok, tak dostáváme stále pouze vrchní hranici státní podpory, což je zmiňovaných 3000 Kč za rok. Kolik tedy musíme na počátku každého měsíce spořit, abychom na konci prvního roku měli na účtu stavebního spoření 20.000 Kč, pokud budeme abstrahovat od poplatků a budeme kalkulovat úročení 2 % p.a.? Dosadíme do vzorce:
= 20000, m = 12, i = 0,02 a x = ?
. Odpověď: Na začátku každého měsíce musíme uložit 1648,80 Kč.
4.7.2 Polhůtní krátkodobé spoření
Spoření polhůtní krátkodobé
U spoření krátkodobého polhůtního spoříme částku vždy na konci určitého období (m-tiny úrokového období, roku, měsíce, čtvrtletí apod.). Oproti spoření předlhůtnímu je počet úrokových období o jedno období nižší. Poslední úložka není úročena a neplyne z ní tedy žádný úrok. První úložka u polhůtního spoření (uložena např. na konci ledna) je úročena stejně dlouho jako druhá úložka u předlhůtního spoření (uložena např. na počátku února). . kde: = cílová částka x = výše úložky m = počet úložek za úrokovací období i = úroková sazba. Příklad 1 Kolik si naspořila slečna Malá do konce roku, ukládala-li částku 500 Kč na konci každého měsíce při 8% p.a.? Dosadíme do vzorce: x = 500, m = 12, i = 0,08 a
= ?.
. Odpověď: Slečna Malá uspořila 6 220 Kč. Všimněme si vztahu mezi naspořenou částkou při polhůtním a předlhůtním úročení za jinak stejných podmínek. Jaký je rozdíl mezi úsporami slečny Malé? Příklad 2 Jakou částku musíme uložit na konci každého čtvrtletí, abychom za rok našetřili 20 000 Kč při roční úrokové sazbě 8%?
- 128 -
Dosadíme do vzorce:
= 20000, m = 4, i = 0,08 a x = ?
Odpověď : Na konci každého čtvrtletí musíme uložit 4 854,40 Kč. Základních vztahů pro výpočet naspořené částky lze využít při zjišťování úrokové míry, pokud známe velikost x a . Aritmetickými úpravami dostáváme výraz:
. Příklad 3 Koncem každého měsíce ukládáme 500 Kč. Za jeden rok naspoříme 6300 Kč. Jaká byla úroková sazba? Dosadíme do vzorce:
= 6 300, x = 500, m = 12, i = ? .
Odpověď: Úroková sazba je 11%. Krátkodobé spoření je možné využít pro výpočet velikosti pravidelných splátek půjčky, která je poskytnuta za podmínek krátkodobého spoření. Všechny uvedené vzorce je možné použít i pro výpočty při úrokovém období kratším než jeden rok. Zde je nutné mít na paměti správné upravení úrokové sazby pro dané období a počet úložek. Příklad 4 Pan Nový si půjčil 60 000 Kč. Jakou částku musí splácet koncem každého měsíce, chce-li dluh splatit za 8 měsíců při 5% p.a.? , tedy V tomto případě je úrokové období 8 měsíců. Nejprve musíme vypočítat kolik má dlužník zaplatit i s úroky. Pokud by se věřitel rozhodl při uvedené úrokové sazbě peníze uložit na termínovaný vklad, na konci období by získal částku, kterou zjistíme podle vztahu pro jednoduché úročení . Po uplynutí doby 8 měsíců by věřitel mohl získat 62 000 Kč. Stejnou částku by měl obdržet i od svého dlužníka. Velikost splátky, kterou dlužník bude splácet na konci každého měsíce zjistíme vyjádřením x z příslušného vzorce: . Odpověď: Dlužník musí splácet 7 584 Kč.po dobu osmi měsíců.
- 129 -
4.7.3
Dlouhodobé spoření
V případě dlouhodobého spoření ukládáme částku jednou ročně buď na začátku úrokovacího období nebo na konci úrokovacího období po dobu n let (úrokovacích období). Úroky z úložek za jednotlivé roky tvoří geometrickou posloupnost a výsledný úrok se rovná součtu geometrické posloupnosti, kde první člen posloupnosti je roven K . (1 + i) a kvocient je roven (1 + i). Spoření předlhůtní dlouhodobé Vzorec předlhůtního dlouhodobého spoření
Na počátku každého úrokového období, v našem případě na počátku každého roku, ukládáme částku K. Naším úkolem je zjistit, kolik činí úspory na konci n-tého období při úrokové sazbě r . kde: S´= cílová částka K = výše úložky n = počet úrokových období i = úroková sazba. Příklad 1 Kolik uspoří slečna Dobrá za 8 let, ukládá-li na počátku každého roku 5000 Kč při úrokové sazbě 6% p.a.? Dosadíme do vzorce: K = 5000, n = 8, i = 0,06 a S´ = ? . Odpověď: Slečna Dobrá si uspoří 52 457 Kč. Jednoduchou úpravou vzorce můžeme také vypočítat výši úložky K pro docílení dané naspořené částky S´. Spoření polhůtní dlouhodobé Spoříme-li dlouhodobě polhůtně, to znamená, že ukládáme-li na konci každého úrokovacího období částku K, pak za n let při určité úrokové sazbě je naspořená částka S:
Vzorec polhůtního dlouhodobého spoření
, kde: i = úroková sazba S= cílová částka K=výše úložky n=počet úrokových období Příklad 2 Kolik si naspořila za 8 let slečna Dobrá, ukládá-li na konci každého roku 5000 Kč při 6% p.a.?
- 130 -
Dosadíme do vzorce: K = 5000, n = 8, i = 0,06 a S = ? . Odpověď: Slečna Dobrá si naspořila za 8 let 49 487 Kč. Částku, kterou je nutno spořit na konci roku, lze snadno vypočítat z částky, kterou spoříme na počátku roku, a to tak, že ji vynásobíme faktorem (1 + i). Bude-li úrokové období kratší než jeden rok, tj. úroky budou připisovány častěji, např. dvakrát ročně při pololetním úrokovém období, čtyřikrát ročně při čtvrtletním úrokovém období atd., a budeme-li pravidelně ukládat částky jedenkrát za úrokového období (na začátku či konci), bude nutno přizpůsobit tomuto období úrokovou sazbu i a počet úrokovacích období n. Příklad 3 Kolik uspoříme včetně úroků do konce roku, ukládáme-li koncem každého měsíce 1000 Kč při úrokové sazbě 3 % p.a. a měsíčním připisování úroků? Dosadíme do vzorce: K = 1000, n = 12, i = 0,03/12 p.m. a S = ?. . Odpověď: Naspoříme Kč včetně úroků. Kombinace krátkodobého a dlouhodobého spoření Jestliže ukládáme m-krát za úrokovací období po dobu n-let, bude záležet, jestli se jedná o úrokování polhůtní nebo předlhůtní. Předlhůtní úročení: . Polhůtní úročení: . Příklad 4 Vypočtěte, jaký je rozdíl, budeme-li ukládat pravidelně za a) na začátku měsíce? b) na konci měsíce 500 Kč po dobu 7 let při 3 % pa. Dosadíme do vzorce: x = 500, n = 7, m = 12, i = 0,03 a Sx= ? . Odpověď : Naspoříme
Kč včetně úroků. - 131 -
Spoření krátkodobé a dlouhodobé spoření
Odpověď : Naspoříme
Kč včetně úroků.
VÝPOČET DOBY SPOŘENÍ Stejně jako v předchozích případech z těchto základních vztahů lze po úpravě logaritmování vypočítat dobu spoření n. Příklad 5 Za jak dlouho naspoříme 150 000 Kč budeme-li ukládat a) na začátku roku b) na konci roku 12000 Kč nebo 1000Kč c) na začátku měsíce d) na konci měsíce při 4% p.a. Dosadíme do vzorce: S = 150000,
= 7000, i = 0,04 a n = ? .
Odpověď: Uvedenou částku naspoříme přibližně za 10 roku. . Odpověď: Uvedenou částku naspoříme přibližně za 10,34 roku. V případě c) a d) vypočtěte dobu n dosazením do vztahů pro kombinace krátkodobého a dlouhodobého spoření. Předlhůtní úročení: . Polhůtní úročení: .
4.7.4 1. 2. 3. 4.
Cvičení Ukládáme-li na a) začátku b) na konci každého měsíce 2000 Kč, kolik naspoříme za jeden rok při 3% p.a.. Jak se změní tyto částky, budou-li úroky připisovány měsíčně? Jakou částku musíme ukládat každý měsíc, abychom si za rok mohli koupit ojeté auto za 160 000 Kč? Vyčíslete rozdíl při spoření polhůtním a předlhůtním při úrokové sazbě 14% p.a. Podnikatel si vypůjčil částku 1 000 000 Kč na dobu 6-ti měsíců. Jakou částku musí podnikatel splácet koncem každého měsíce, při úrokové sazbě 4% p.m.? Úroky jsou připsány ke konci období. Pan Ludvík uspořil za jeden rok 15 000 Kč. Při jaké úrokové míře spořil,
- 132 -
5.
6.
7. 8. 9. 10. 11.
4.8
pokud začátkem každého měsíce ukládal 1 100 Kč? Jakou částku naspoříme za 5 let, pokud budeme začátkem každého roku ukládat částku 18 000 Kč, při úrokové míře 14% p.a.? Jakou částku bychom naspořili, pokud bychom uvedenou částku ukládali koncem každého roku? Úroky se připisují jednou za rok. Pan Fidla chce koupit za čtyři roky 10 akcií PTS CZ. Podle uvedeného inzerátu se bude jedna akcie prodávat za nominální hodnotu, která má činit 100 000 Kč. Kolik musí pan Fidla uložit na začátku každého roku, aby za dobu 4 let naspořil potřebnou částku? Peněžní prostředky jsou ukládány na účet úročený sazbou 12% p.a., úroky jsou připisovány ročně. Jakou částku by pan Fidla musel spořit na začátku každého čtvrtletí při stejných podmínkách? Pan Špidla ukládá částku 80 000 Kč začátkem každého roku a na konci období získal částku 600 000Kč. Jak dlouhé bylo toto období? Uvažujte úrokovou sazbu 12% p.a. a roční připisování úroků. Jak dlouho je nutno ukládat částku 6 500 Kč na začátku každého měsíce, abychom na konci doby spoření měli částku 600 000 Kč? Úroková sazba je 12% p.a., úroky jsou připisovány ročně. Jakou částku naspoříme za 5 let, pokud spoříme na konci každého měsíce částku 500 Kč, při neměnné úrokové sazbě 12% p.a.? Předpokládejte: a) pololetní připisování úroků, b) čtvrtletní připisování úroků. Na účet jsme uložili částku 500 000 Kč. Jakou částku získáme za 3 roky, pokud budeme na začátku každého čtvrtletí ukládat 25 000 Kč? Úroková sazba činní 1,5% p.m. a úroky jsou připisovány čtvrtletně. Jakou částku získáme za 5 let, pokud jsme na začátku prvního roku uložili částku 100 000 Kč a na konci každého měsíce ukládáme 1 000 Kč? Úroková sazba činní 12% p.a. a úroky jsou připisovány měsíčně.
Důchody
Důchodem rozumíme pravidelně se opakující platby, které se v čase nemění. Částka zůstává po celou dobu výplaty důchodu stejná. Doba pobírání důchodu se označuje jako důchodové období a rovná se součtu všech výplatních období. Výplatním obdobím rozumíme období, během kterého je anuita vyplacena, např. u starobních důchodů jeden měsíc. Na problematiku důchodu můžeme pohlížet jako na spoření, pouze s tím rozdílem, že u spoření pravidelně ukládáme určitou částku, abychom naspořili stanovenou hodnotu kapitálu, zatímco u důchodu ukládáme určitou částku, aby nám přinesla pravidelný tok plateb (anuit). Při práci s důchody se budeme často setkávat s pojmy: Současná (počáteční) hodnota důchodu D, což je součet současných hodnot jednotlivých anuit, který nám udává, jakou částku si musíme dnes uložit, abychom si zajistili pravidelnou výplatu anuit při dané úrokové míře. Konečná (budoucí) hodnota důchodu S, což je součet všech výplat důchodu (anuit) přepočtených na hodnotu ke konci důchodového období. Konečná hodnota důchodu tedy udává, kolik bychom celkem získali ke konci posledního roku, kdybychom všechny výplaty důchodu okamžitě po jejich vyplacení při dané úrokové sazbě uložili (investovali se stejným úrokem). Konečná hodnota důchodu je tedy stejná jako naspořená částka. Vztah mezi současnou a konečnou hodnotou důchodu lze vyjádřit:
- 133 -
Základní pojmy
, kde: S - koncová hodnota důchodu D - současná hodnota důchodu i - úroková míra n - počet úrokových období. Druhy důchodů
Jednotlivé typy důchodu lze zjednodušeně rozdělit: 1. 2.
3.
podle okamžiku, kdy důchod začne být vyplácen o bezprostřední - anuity jsou vypláceny ihned o odložený - anuity jsou vypláceny po určitém období, např. za 10 let podle délky vyplácení důchodu o dočasný - dostaneme omezený počet anuit (důchod pobíráme časově omezenou dobu, např. 10 let) o věčný - anuity jsou vypláceny bez časového omezení podle okamžiku vyplácení částky důchodu v rámci jednoho výplatního období o předlhůtní - anuity dostáváme na začátku výplatního období o polhůtní - anuity dostáváme na konci výplatního období.
Důchod bezprostřední U důchodu bezprostředního začíná výplata hned v daném období. Podle toho, zde se budou jednotlivé výplaty důchodu vyplácet na počátku nebo na konci období, rozlišíme důchod bezprostřední předlhůtní a důchod bezprostřední polhůtní. Pro zjednodušení v následujících výpočtech budeme za výplatní období považovat roky. Vzorce pro výpočet důchodu
Důchod bezprostřední polhůtní Jedná se o důchod, při kterém je anuita vyplácena na konci výplatního období. Za n- let vzroste současná hodnota důchodu D na částku D*(1+i)n. Spoříme-li na konci každého roku částku a) naspoříme za n-let
. Po úpravě dostáváme vztah Nebo
- 134 -
, kde: D - současná hodnota důchodu polhůtního i - úroková míra n - počet úrokových období a - výše anuity - diskontní faktor =1/(1+i). Příklad 1 Jakou částku musíme složit v peněžním ústavu abychom měli nárok na bezprostřední polhůtní důchod ve výši 20000 Kč ročně po dobu 5 let při úrokové sazbě 9% p.a. vypláceným na konci roku. Dosadíme do vzorce: a = 20000, n = 5, i = 0,09 a D = ?
Odpověď : V bance musíme složit přibližně
Kč.
Příklad 2 Jakou částku budeme ochotni zaplatit za investici, jejíž životnost je patnáct let a koncem každého roku nám z ní plyne platba ve výši 20.000 Kč? Uvažujeme roční úrokovou sazbu 8 % p.a. V tomto případě se jedná v podstatě o stejný úkol. Dosadíme do vzorce: a = 20000, n = 15, i = 0,08 a D = ?.
. Odpověď: Chceme-li dosáhnout výnosu minimálně 8 %, tak jsme ochotni zaplatit za tuto investici maximálně
Kč.
Důchod bezprostřední předlhůtní Jedná se o důchod, při kterém je anuita vyplácena na začátku období. Znovu porovnáme hodnotu D za n-let a naspořenou anuitu na začátku roku. Počáteční hodnotu bezprostředního předlhůtního důchodu D/ spočítáme podle vzorce: . Po úpravě: . ¨ nebo .
- 135 -
Vztah mezi počáteční hodnotou důchodu předlhůtního a polhůtního je možné vyjádřit následovně: nebo . Příklad 3 Jakou částku musíme složit v bance, abychom měli nárok na bezprostřední předlhůtní důchod ve výši 20 000 Kč ročně po dobu pěti let, při úrokové sazbě 9% p.a.? Dosadíme do vzorce: a = 20 000, n = 5, r = 0,09 a D = ? . Odpověď: V bance musíme složit přibližně 84 794 Kč. Důchod bezprostřední vyplácený m-krát ročně V případě, že důchody ve výši a jsou vypláceny m-krát ročně, počáteční hodnotu důchodu vypočteme ve dvou krocích. Nejprve spočítáme hodnotu m anuit ke konci roku a tím dostaneme hodnotu anuity . Posléze můžeme přepočítat tyty hodnoty vzorcem pro výpočet počáteční hodnoty polhůtního důchodu. Pro výpočet hodnoty anuity a ke konci roku použijeme vzorce pro krátkodobé spoření. Předlhůtní:
Polhůtní:
kde: D - současná hodnota důchodu i - úroková míra n - počet úrokových období v - diskontní faktor a - výše anuity, vyplácené m-krát ročně m - počet částí úrokového období. Příklad 4 Kolik musíme mít uloženo v bance, abychom měli nárok na bezprostřední předlhůtní důchod ve výši 1 500 Kč měsíčně po dobu pěti let, při úrokové sazbě 9% p.a.? Dosadíme do vzorce: a = 1500, n = 5, m = 12, i = 0,09 a D = ? . Odpověď: V bance musíme složit přibližně
- 136 -
Kč.
Koncovou hodnotu důchodu S, který je vyplácen m-krát ročně můžeme vyjádřit: který je totožný se vzorcem pro výpočet cílové částky u kombinace spoření dlouhodobého a krátkodobého. Důchod odložený Předpokládejme, že jsem do banky složili částku D při úrokové míře i. Za k let chceme z této částky pobírat na konci každého roku částku a po dobu n let. Za k let částka D vzroste na D(1+i)k . Z této částky budeme pobírat důchod a na konci ntého roku bude platit:
Po úpravě dostáváme: , kde: D - současná hodnota důchodu polhůtního i - úroková míra n - počet úrokových období, kdy jsou anuity vypláceny k - počet úrokových období, kdy anuity nejsou vypláceny v - diskontní faktor a - výše anuity. Příklad 5 Paní Stará chce od roku 2015 pobírat důchod ve výši 1500 Kč po dobu 5 let. Kolik musela uložit do banky 2.1.2011, je-li úroková míra 9% p.a.? Dosadíme do vzorce: a = 1500, n = 5, k = 4 i = 0,09 a D = ?.
Kč.
Odpověď : V bance musíme složit Důchod odložený předlhůtní Je-li důchod vyplácen na začátku období, pak
Ze srovnání vzorců polhůtních a předlhůtních důchodů odložených je patrné, že pro vztah mezi nimi je stejný jako mezi důchody bezprostředními: D‘ = D (1 + i) Příklad 6 Jak se změnila částka z předchozího příkladu, kterou musíme složit v bance,
- 137 -
abychom pobírali důchod na začátku roku p.a.? Dosadíme do vzorce: a = 1500, n = 5, k = 4, i = 0,09 a D = ?
Odpověď: V bance musíme složit 4505,29 Kč. Důchod odložený vyplácený m-krát ročně V případě, že anuity ve výši jsou vypláceny m-krát ročně, budeme zjišťovat počáteční hodnotu odloženého důchodu podobně jako u důchodu bezprostředního. Nejprve spočítáme hodnotu anuit do konce roku, k čemuž využijeme vztahy pro krátkodobé spoření. Předlhůtní:
Polhůtní:
kde: D - současná hodnota důchodu i - úroková míra n - počet úrokových období, kdy jsou anuity vypláceny k - počet úrokových období, kdy anuity nejsou vypláceny v - diskontní faktor a - výše anuity, vyplácené m-krát ročně m - počet částí úrokového období. Koncové hodnoty se u odložených důchodů počítají podle stejných vzorců jako u důchodů bezprostředních. Příklad 7 Jak se změní částka uložená v bance z předchozího příkladu, chceme-li pobírat předlhůtně důchod 1500 čtvrtletně po dobu 5 let při úrokové sazbě 9% p.a.? Dosadíme do vzorce: a = 1500, n = 5, k = 4, i = 0,09, m = 4 a D = ?.
Odpověď: K zabezpečení žádaných výplat musíme do banky uložit
Kč.
Důchod věčný Důchod věčný nemá stanovenou délku důchodového (výplatního) období, předpokládá se, že bude vyplácen nekonečně dlouhou dobu (n = ∞). Z tohoto důvodu je zřejmé, že nemá ani žádnou koncovou hodnotu. Prakticky se s ním setkáme např. u - 138 -
věčné obligace (konzoly), u akcií (pravidelná výplata dividend) a případně u pronájmu na dobu neurčitou. Podle výplaty důchodu rozlišujeme důchod věčný polhůtní a předlhůtní. Důchod věčný polhůtní Počáteční hodnotu důchod věčného polhůtního vypočítáme jako limitu vztahu pro počáteční hodnotu důchodu bezprostředního polhůtního: , kde: D - současná hodnota důchodu i - úroková míra a - výše anuity. Pokud je důchod odložený o k let, upravíme vztah vynásobením diskontním faktorem, který je umocněn na k-tou: D=
,
kde: k - počet úrokových období, kdy anuity nejsou vypláceny v - diskontní faktor. Příklad 8 Kolik musíme složit v bance, abychom měli nárok na věčný polhůtní důchod ve výši 12 000 Kč ročně, při úrokové sazbě 8% p.a.? Dosadíme do vzorce: a = 12000, i = 0,08 a D = ?. D=
.
Odpověď : V bance musíme složit 150 000 Kč. Důchod věčný předlhůtní Počáteční hodnotu důchodu věčného předlhůtního vypočítáme obdobně jako limitu vztahu pro počáteční hodnotu důchodu bezprostředního: . Jestliže se jedná důchod odložený o k let, dostáváme vztah: D= . Věčný důchod vyplácený m-krát ročně V případě, že důchod je vyplácen m-krát ročně, pak počáteční hodnotu důchodu vypočteme podle vztahu:
- 139 -
Předlhůtní:
Polhůtní:
kde: D - současná hodnota důchodu i - úroková míra a - výše anuity, vyplácené m-krát ročně m - počet částí úrokového období. Obdobně dostáváme vztah pro počáteční hodnotu důchodu odloženého o k-let: Předlhůtní:
Polhůtní:
Příklad 9 Kolik musíme složit v bance aby nám a našim pozůstalým byl zajištěn čtvrtletní polhůtní věčný důchod ve výši 5000 Kč při neměnné roční úrokové sazbě 4 % p.a.? Dosadíme do vzorce: a = 5000, m = 4, r = 0,04 a D = ?. . Odpověď : Abychom získali daný důchod, musíme do banky vložit částku 507 500 Kč. Kombinace důchodu a spoření V praxi můžeme narazit na otázku, kolik musíme pravidelně ukládat u banky, abychom si v budoucnu zajistili pravidelný důchod. U tohoto problému porovnáváme současné a budoucí hodnoty pravidelných plateb. Řešením příkladu je rovnost budoucí hodnoty spoření a současné hodnoty důchodu (Kč = D). Příklad 10 Za deset let (ve věku pětašedesáti let) hodláme odejít do důchodu. Kolik musíme koncem každého měsíce ukládat na účet úročený 5 % p.a., abychom si zajistili až do osmdesáti let života jisté přilepšení ke starobnímu důchodu? Pravidelně si budeme koncem každého čtvrtletí vybírat z účtu částku 5000 Kč. Musíme porovnat hodnotu úspor, které získáme za deset let, s počáteční hodnotou důchodu vypláceného po příštích patnáct let.
- 140 -
Dosadíme do příslušného vzorce pro spoření: m = 12, n = 10, r = 0,05, Kč = D a K =?. Dosadíme do příslušného vzorce pro výpočet počáteční hodnoty důchodu: a = 5000, m = 4, n = 15, r = 0,05 a D = Kč.
, K = 1370. Odpověď: Musíme ukládat 1370 Kč.
4.9 1. 2.
3. 4.
5.
6. 7.
8. 9.
10.
Cvičení Kolik musí pan Nový uložit v bance, aby mu zajistila roční bezprostřední předlhůtní důchod ve výši 20 000 Kč, po dobu 10-ti let při úrokové sazbě 8% p.a.? Zjistěte rozdíl oproti důchodu polhůtnímu. Jakou částku musíme mít na kontě penzijního fondu, abychom mohli po dobu 10-ti let pobírat na začátku každého měsíce důchod ve výši 5 000 Kč, při úrokové míře 8% p.m.? Úroky jsou připisovány na konci každého roku. Jak se částka změní, pokud bychom důchod dostávali pouze jednou za čtvrt roku? Jakou částku musíme mít v bance, abychom mohli po dobu 20-ti let pobírat na začátku každého měsíce důchod ve výši 5 000 Kč, při úrokové míře 1% p.m.? Úrokové období předpokládejme pololetní. Pan Drobný má splatit kolegovi půjčku 150 000 Kč během 10-ti let 10-ti splátkami vždy na konci roku. Jak vysoké jsou tyto částky, při úrokové sazbě 10% p.a.? Věřitel mu nabízí kromě splátek i možnost vyrovnat závazek jednorázově na konci 10-tého roku při stejné úrokové sazbě. O kolik méně či více zaplatí pan Seman svému kolegovi při využití této možnosti? Prodejce aut nabízí zákazníkům různé možnosti plateb za os. automobil. Jednak jednorázově zaplatit 500 000 Kč nebo během 3 let vždy částku 200 000 Kč. Jaký způsob úhrady je pro něj výhodnější při uvažované úrokové sazbě 13% p.a.? Rodiče chtějí dceři za 10 let k 20-tým narozeninám vyplatit částku 100 000 Kč. Jakou částku musí spořit začátkem každého měsíce při úrokové sazbě 12% p.a.? Jakou částku musí rodiče jednorázově uložit do banky, aby jejich syn mohl za 10 let pobírat vždy na začátku každého roku, po dobu dalších deseti let částku 50 000 Kč, při neměnné úrokové sazbě 12% p.a.? Jak vysoká bude částka, kterou musí rodiče uložit, v případě, že syn bude dostávat 5 000 Kč na začátku každého měsíce? Jakou částku musí rodiče uložit synovi do banky, aby si mohl po dobu 4 let vybírat na konci roku částku 10 000 Kč a dále pak ještě další 2 roky částku 15 000 Kč? Úroková sazba činí 12% p.a. Rodiče mají k dispozici 100 000 Kč. Tuto částku uložili při neměnné roční úrokové míře 12 % a chtějí synovi po skončení gymnázia (za 4 roky) přispívat po dobu 2 let. Jak velkou částku syn obdrží na začátku každého měsíce? Jakou částku by obdržel při vyplácení na konci každého měsíce? 10.Jak velká finanční částka nám zajistí polhůtní věčný důchod ve výši 50 000 Kč, při neměnné úrokové sazbě 12% p.a.? Jak se změní finanční částka, pokud
- 141 -
11. 12. 13. 14. 15.
4.10 Základní pojmy
bude výplata důchodu odložena o 10 let? Předpokládáme roční připisování úroků. Jak velká finanční částka nám zajistí předlhůtní věčný důchod ve výši 4 000 Kč měsíčně, při neměnné úrokové sazbě 12% p.a.? Úrokové období je rok. Akcie zaručuje pravidelnou výplatu dividendy ve výši 8% z nominální hodnoty, která činí 100 Kč. Jaký kurz by měla tato akcie mít na kapitálovém trhu, při neměnné úrokové míře 10%? Kolik budeme ochotni zaplatit za investici, jejíž životnost je dvacet let a koncem každého roku nám z ní plyne platba ve výši 16 000 Kč? Uvažujeme roční úrokovou sazbu 5% p.a. Kolik budeme ochotni zaplatit za investici, z níž budeme mít ke konci každého čtvrtletí výnos 4000 Kč po dobu dvaceti let, požadujeme-li míru výnosnosti 5 % p.a. a předpokládáme-li roční úrokové období? Pan Seman se za 4 roku chystá na 5-letý pobyt v Austrálii. Předpokládá, že bude koncem každého čtvrtletí potřebovat 8000 Kč. Kolik musí nyní ukládat začátkem každého měsíce? Odhadovaná roční úroková sazba je 10 % pro první 4 roky, a pro další léta 9 % p.a.
Umořování dluhu
Umořováním dluhu rozumíme splácení dluhu (jak půjčky, tak úvěru) podle tzv. umořovacího plánu, který je předem odsouhlasen dlužníkem i věřitelem. Obecně máme dvě možnosti jak dluh splácet, a to stejnými splátkami - anuitami (analogicky s důchody) a nestejnými splátkami. Umořování anuitami se v praxi běžně využívá například u hypotečních úvěrů, zatímco umořování nestejnými splátkami se využívá u většiny ostatních bankovních úvěrů. Přehled výše jednotlivých splátek dluhu se pro názornost sestavuje do tzv. umořovacího plánu. Umořovací plány (splátkový kalendář) se budou lišit případ od případu, nejen že každá banka má svůj vlastní způsob jak umořovací plán sestavit, ale umořovací plán bude odvislý od doby splatnosti úvěru, výše úrokové míry, způsobu splácení a mnoha dalších faktorech. Každý umořovací plán by však měl pro všechna splátková období obsahovat: výši splátky (anuity), která je rovna součtu úroku a úmoru výši úmoru dluhu za dané splátkové období výši úroku z dluhu za dané splátkové období aktuální stav dluhu po splátce daného úmoru
Druhy umořovacích plánů
Umořovací plány se mohou lišit: 1) typem splátek a) polhůtné b) předlhůtné 2) způsobem úročení c) polhůtné d) předlhůtné 3) obdobím splátek e) stejné f) rozdílné 4) výší splátek
- 142 -
g) h)
stejné rozdílné.
V praxi je většinou v umořovacích plánech počítáno s polhůtným úročením a s polhůtnými splátkami ve stejných obdobích. Umořování dluhu nestejnými splátkami Umořování dluhu nestejnými splátkami je nejrozšířenější způsob splácení u běžně poskytovaných úvěrů. Charakterizuje ho stejná výše úmoru dluhu v jednotlivých splátkových obdobích. Klasický umořovací plán může vypadat následovně: Pořadí splátky 0 1 2 n Součet
Nesplacená část dluhu D D1 D2
Výše splátky
Úmor
Úrok
-
-
a2
d d
u2
an a1 + a2 + ... +an
d D
un u1 + u2 + ... + un
0
Příklad 1 Podnikatel zažádal u bankovního ústavu o úvěr na tři roky ve výši 300 000 Kč. Sestavte umořovací plán při polhůtných splátkách jednou ročně a úrokové míře 10% p.a. při polhůtném úročení. Pořadí
Výše
splátky
splátky
0
-
1
Úmor
Úrok
Nesplacená část dluhu
-
-
300 000
130 000
100000
30000
200 000
2
120 000
100000
20000
100 000
3
110 000
100000
10000
0
Součet
360 000
300000
60000
Umořování dluhu stejnými splátkami (anuitami) Umořování dluhu stejnými splátkami se využívá především v hypotečním bankovnictví. Pro sestavení umořovacího plánu je zapotřebí v prvé řadě vyjádřit výši anuity. Anuitu lze vyjádřit ze vzorce pro výpočet současné hodnoty polhůtného důchodu: .
- 143 -
Obecný umořovací plán se stejnými splátkami bude vypadat následovně: Pořadí splátky
Výše splátky
0
-
1
a
2
a
n-1
Úmor
Úrok
Nesplacená část dluhu
-
a(1 - v n )/i
a(1-vn)
a (1 - v n - 1 )/i
av11-1
a(1-vn-1)
a (1 - vn-2)/i
a
av2
a(1-v2)
a (1 - v )/i
n
a
av
a(1-v)
a (1 - v0 )/i
Součet
n•a
D
u1 + u2 + ... + un
-
Příklad 2 Klient má umořit svůj úvěr ve výši 50 000 $ polhůtnými anuitami za pět let při neměnné tříprocentní roční úrokové míře. Určete výši anuity a sestavte odpisový plán.
Pořadí splátky Výše splátky 0 1 10 917,8 2 3 4 5 Součet
Úrok -
Úmor -
1 500,0
9 417,8
1 217,5 9265 626,7 318, 3 4589,0
9 700,3 9 991,3 10 291,1 10 599,5 50000,0
10 917,8 10 917,8 10 917,8 10 917,8 54 589,0
Nesplacená část dluhu 50 000 40 582,2 30 881,9 20 890,6 10 599,5 0 -
Na výše uvedeném příkladu je názorně vidět nevýhoda splácení dluhu pomocí anuit, existuje velmi málo příkladů, kdy vypočtená anuita je rovna celému číslu. Jelikož počítání s desetinnými čísly zvyšuje pravděpodobnost odchylek především kvůli zaokrouhlování, v praxi se často anuita stanoví jako nejbližší 'kulaté' číslo a dopočítá se výše poslední anuity. Stanovení počtu anuit V našem případě máme dvě možnosti, stanovit anuitu na 10 000, případně na 11 000 $. Dejme tomu, že pro naše účely je vhodnější anuita ve výši 10 000 $. V první řadě musíme určit počet anuit ze vzorce pro výpočet současné hodnoty polhůtného důchodu:
, - 144 -
po dosazení za
z výsledku vyplývá, že úvěr budeme splácet šest let, přičemž pět let budeme splácet anuitu ve výši 10 000 $ a šestý (poslední) rok splatíme částku v jiné výši. Výši této poslední splátky můžeme vyjádřit z následujícího vzorce:
neboť současná hodnota dluhu se rovná současné hodnotě toku anuit plus současné hodnotě poslední splátky. Vyjádřit an lze i ze vztahu odpovídajícímu rovnosti mezi budoucí hodnotou důchodu a součtu budoucí hodnoty toku anuit a hodnoty poslední splátky. V našem případě dosadíme do upravené rovnice:
. poslední splátka úvěru bude ve výši 6611,26 Kč.
4.11 1. 2. 3.
4.12 1. 2. 3. 4. 5. 6. 7. 8. 9.
Cvičení Dluh 500 000 Kč má být umořen nestejnými splátkami při roční úrokové sazbě 12 %. Sestavte splátkový kalendář, když víte, že úmor v první splátce činí 60 000 Kč a každý další úmor bude vždy o 20 000 Kč vyšší než ten předchozí. Dluh 333 000 Kč má být umořen stejnými anuitami za 5 let při roční 15 % úrokové sazbě. Určete výši anuity a sestavte umořovací plán. Dluh 1 500 000 má být splácen 5 let při roční úrokové sazbě 14 %. Sestavte splátkový kalendář se stejným úmorem v každé splátce.
Kontrolní otázky Co rozumíme finanční matematikou? Vysvětlete pojmy: standardy, úrok, procento úrokování, úroková míra, úrokovací doba, počáteční a konečná jistina. Jaký je rozdíl mezi úrokováním jednoduchým a složeným? Co rozumíme diskontem a kde je používáme? Kdy využíváme kombinace jednoduchého a složeného úrokování? Jaké znáte druhy úrokových mír a jaké mezi nimi platí vztahy? Co rozumíme úrokovou intenzitou? Jaký je vztah mezi úrokovou mírou a diskontní mírou? Co rozumíme spořením a jaké jsou jeho druhy? - 145 -
10. 11. 12. 13.
4.13
Vysvětlete pojem důchodu, a jaké existují možnosti? Co je to důchod odložený a důchod věčný? Jaké jsou možnosti splácení dluhu? Vysvětlete postup sestavení umořovacího plán.
Shrnutí
V kapitole Finanční matematika jste se seznámili se základními pojmy používaných při práci s kapitálem. Uvědomili jste si rozdíl mezi jednoduchým a složeným úrokováním. Na základě odvozených vztahů jsou vypočítány vzorové příklady a s jejich pomocí můžete bez problému řešit obdobné příklady. Je třeba si stále uvědomovat rozdíl mezi počáteční jistinou a konečnou jistinou při hledání vhodné volby zhodnocování daných finančních prostředků. V částech spoření, důchody a umořování dluhu byly vysvětleny ty nejjednodušší případy kdy vklady, velikosti důchodů nebo splátky dluhu byly stejné. Na základně tohoto předpokladu jsou odvozeny vztahy, pomocí kterých byly vypočítány vzorové příklady.
- 146 -
Závěr Obsah studijního textu odpovídá standardům roku 2011. Cílem skript je pochopení uvedených ekonomicko-matematických metod, schopnost jejich aplikace v konkrétních rozhodovacích problémech, interpretovat získané výsledky, hledat nové způsoby řešení i snaha uvědomit si skutečnost, že mají jisté omezení použitelnosti. Po prostudování jednotlivých kapitol lze tyto poznatky kvalifikovaně využívat při řešení konkrétních ekonomických situací v praxi. Přitom je třeba navázat na zkušenosti a schopnosti logického uvažování. Je nutné si neustále prohlubovat poznatky dalším studiem literatury a používat počítačovou techniku.
- 147 -
- 148 -
Literatura [1]
ČÁMSKÝ, F. Finanční matematika. Brno: Masarykova univerzita, Ekonomicko-správní fakulta, 2005. ISBN 80-210-3479-3. [2] DOSTÁL, P.; RAIS, K.; DOSKOČIL, R. Ekonomicko-matematické metody. Kunovice: EPI, s.r.o., 2007. ISBN 978-80-7314-122-6. [3] EICHLER, B. Matematické metody. Praha: Státní pedagogické nakladatelství, 1987. SPN 75-61-32/1. [4] JABLONSKÝ, J. Operační výzkum, kvantitativní modely pro ekonomické rozhodování. Professional Publishing, 2006. ISBN 80-86419-42-8. [5] KŘIVKOVÁ, M. Operační analýza a modelování. Brno: Mendelova zemědělská a lesnická univerzita, 1997. ISBN 80-7157-124-5. [6] LAGOVÁ, M. Lineární modely v příkladech. Praha: Vysoká škola ekonomická, 2002. ISBN 80-245-0456-1. [7] RADOVÁ, J.; DVOŘÁK, P. Finanční matematika pro každého. Praha: GRADA Publishing, 2007. ISBN 978-80-247-2233-7. [8] RAŠOVSKÝ, M. Operační analýza a modelování. Brno: Mendelova zemědělská a lesnická univerzita, 1998. ISBN 80-7157-104-0. [9] RAŠOVSKÝ, M.; ŠIŠLÁKOVÁ, H. Ekonomicko-matematické metody. Brno: Mendelova zemědělská a lesnická univerzita, 1999. ISBN 80-7157-412-0. [10] SCHMIED, R. a kol. Základy finanční a pojistné matematiky. Brno: Mendelova zemědělská a lesnická univerzita, 1999. ISBN 80-7157-359-0.
- 149 -
- 150 -
Název: © Ekonomicko-matematické metody 2. aktualizované vydání Autoři: © prof. Ing. Petr Dostál, CSc. © Mgr. Věra Matuštíková © Mgr. Iva Jevčaková Vydavatel, vyrobil: © Evropský polytechnický institut, s.r.o. Osvobození 699, 686 04 Kunovice Náklad: Počet stran: Rok vydání:
30 ks 150 2011
ISBN: 978-80-7314-242-1