MASARYKOVA UNIVERZITA Přírodovědecká fakulta
Diplomová práce Bc. Jitka Holubová Matematické modelování v ekonomii Vedoucí práce doc. RNDr. Zdeněk Pospíšil, Dr.
Studijní program: Aplikovaná matematika Studijní obor: Matematika – ekonomie
Brno 2012
Děkuji doc. RNDr. Zdeňku Pospíšilovi, Dr. za odborné vedení mé diplomové práce, za jeho cenné rady, připomínky a čas, který mi věnoval.
Prohlašuji, že jsem svou diplomovou práci napsala samostatně a výhradně s použitím citovaných pramenů. V Brně dne . . . . . . . . . . . . . . . . . . . . . .
...................... Bc. Jitka Holubová
Název práce: Matematické modelování v ekonomii Autor: Bc. Jitka Holubová Ústav matematiky a statistiky Přírodovědecké fakulty, MU Vedoucí diplomové práce: doc. RNDr. Zdeněk Pospíšil, Dr. Abstrakt: Předmětem diplomové práce „Matematické modelování v ekonomii“ je popis a analýza deterministických modelů v ekonomii. Popsané modely pocházejí z operačního výzkumu konkrétně z oblasti teorie zásob. U deterministických modelů jsou uvedeny čtyři základní typy modelů, přičemž u každého z nich je uveden aspoň jeden názorný příklad, který je následně realizován v počítačovém programu Maple. V závěru práce jsou stručně popsány stochastické modely z teorie zásob bez uvedení příkladů. Klíčová slova: matematické modelování, zásoby, deterministické modely
Title: Mathematical modeling in economics Author: Bc. Jitka Holubová Department of Mathematics and Statistics, Faculty of Science, MU Supervisor: doc. RNDr. Zdeněk Pospíšil, Dr. Abstract: The diploma thesis "Mathematical modeling in economics"describes and analyses deterministic models in economics. Described models come from the operations research conretely from the field of inventory theory. By deterministic models there are shown four basic types of these models. Each of them is provided with at least one illustrative example, which are than realized in a Maple system. At the end of this work are briefly described stochastic models of inventory theory without examples. Keywords: mathematical modelling, inventories, deterministic models
Obsah Úvod
6
1 Základní pojmy 1.1 Model . . . . 1.2 Modelování . 1.3 Simulace . . . 1.4 Maple . . . .
7 7 7 8 8
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
2 Teorie zásob 2.1 Deterministické modely zásob . . . . . . . . . . . . . . . . . . . . Model 1 Optimální velikost objednávky . . . . . . . . . . . . . . . Model 2 Přechodné neuspokojení poptávky . . . . . . . . . . . . . Model 3 Víceproduktový model . . . . . . . . . . . . . . . . . . . . Model 4 Produkční model . . . . . . . . . . . . . . . . . . . . . . . 2.2 Stochastické modely zásob . . . . . . . . . . . . . . . . . . . . . . Model 5 Optimalizace jednorázově vytvářené zásoby v případě nespojité poptávky . . . . . . . . . . . . . . . . . . . . . . . . Model 6 Stochastická spojitá poptávka . . . . . . . . . . . . . . . .
9 11 11 19 27 31 37
Závěr
38
Literatura
39
Seznam obrázků
41
Seznam grafů
41
Seznam tabulek
41
–5–
37 37
Úvod Ekonomie je velmi rozsáhlá vědní disciplína. Je úzce propojena s celou řadou dalších oborů, mezi které patří například matematika, ekonometrie, účetnictví, politologie, marketing, právo a další. Zkoumání ekonomických zákonitostí při využití aparátu ekonomické teorie a matematiky se věnuje vědní disciplína nazvaná matematická ekonomie. Základní metodou matematické ekonomie je vytváření modelů ekonomických jevů tzv. matematické modelování. V modelování přináší matematizace především objektivní obecný pohled na zkoumané jevy. Ve svých důsledcích vede k formalizaci poznatků a k rozpracování nových teorií, čímž významným způsobem ovlivňuje rozvoj oborů. Jednou z výhod používání matematiky v ekonomii je skutečnost, že matematika je srozumitelná lidem hovořícím různým národním jazykem. Nevýhodou využití matematiky v ekonomii je nebezpečí, že převáží matematický pohled nad ekonomickým. Z široké škály deterministických modelů použitých v ekonomii jsem se v mojí diplomové práci zaměřila na modely z oblasti operačního výzkumu, konkrétně z oblasti teorie zásob. Operační výzkum můžeme charakterizovat jako soubor relativně samostatných disciplín, které jsou zaměřeny na analýzu různých typů rozhodovacích problémů. Teorie zásob je potom jedním odvětvím z operačního výzkumu. Diplomová práce je rozdělena do dvou kapitol. V první kapitole jsou definovány základní pojmy, které se vztahují k tématu probíranému v této práci. Druhá kapitola je jádrem této práce. V úvodu kapitoly je nejdříve definovaný samotný pojem teorie zásob, poté jsou podrobněji popsány druhy zásob a další pojmy související s touto oblastí. Následně jsou modely z teorie zásob rozděleny do dvou skupin na modely deterministické a stochastické. Deterministické modely jsou analyzovány podrobně, zatímco u stochastických modelů je uveden pouze stručný popis a odkaz na literaturu, kde se lze o těchto modelech dozvědět více informací. V závěru práce je uveden seznam použité literatury a seznam obrázků (převzatých z literatury) a grafů vytvořených v programu Maple. Cílem diplomové práce je podrobně matematicky analyzovat deterministické modely a následně na konkrétním příkladě ukázat, jak se dají tyto modely realizovat v matematickém programu Maple.
–6–
1
Základní pojmy
V této kapitole si definujeme základní pojmy, které souvisí s probíranou tématikou a které budeme případně používat v následujícím výkladu. U některých pojmů uvedeme i jejich možná rozdělení.
1.1
Model
Obecně se modelem rozumí zjednodušený obraz reálné situace, příp. jevu. V této práci je důraz kladen na modely z oblasti teorie zásob, hovoříme tedy o modelech ekonomických. Všeobecně je tvorba modelů objektivně vynucena složitostí jevu. Často může být velmi složité detailně popsat ekonomický jev při využití dostupných teoretických prostředků. Proto jsou do modelů zahrnuty pouze ty rysy, které jsou z hlediska zkoumání jevu podstatné. [1] Podle charakteru modelovaného systému můžeme rozdělit modely na dvě skupiny. Jedná se o modely abstraktní (formální, ideové) a fyzické (předmětové, materiální, realizační). Abstraktní modely jsou tvořeny nehmotným systémem (např. představou, znakovým nebo grafickým vyjádřením apod.), který popisuje zkoumaný systém. Informace o modelu se získávají na základě procesu odvozování. Mezi abstraktní modely řadíme především matematické modely a modely vyjádřené programovacími jazyky, vývojovými diagramy a podobně. Fyzické modely jsou tvořeny přirozeným nebo umělým hmotným systémem. K získávání informací o modelu dochází především na základě procesu experimentování. [2]
1.2
Modelování
Modelováním se rozumí proces vytváření modelů. Jde o zjednodušené zobrazování vnějšího světa a zkoumání v něm existujících objektivních zákonitostí. Pokud nahrazujeme realitu matematickou strukturou a matematickými symboly a znaky, hovoříme o matematickém modelování. Proces zkoumání systému začíná monitoringem a sběrem dat o systému, pokračuje jejich vstupem do matematického modelu a na základě analýzy výsledků řešení modelu (porozumění, predikce a kontrola jeho chování), je provedena případná úprava modelu a přizpůsobení sběru dat. Pokud to nevede k uspokojivému řešení, provedou se na zkoumaném systému nové experimenty, případně se modifikuje matematický model. [3] Modely můžeme rozdělit podle různých hledisek do několika skupin [4]: • podle účelu – demonstrativní a explikativní • podle vztahu k času – statické (popis a analýza systému bez ohledu na jeho časový vývoj) a dynamické (popis a analýza systému v průběhu času)
–7–
• podle vztahu k okolí – autonomní (nezávislé na „okolí“ ) a neautonomní (explicitně závislé na nějaké vnější proměnné) • podle náhodnosti – deterministické (všechny proměnné, parametry a funkce užité v modelu jsou nenáhodné veličiny nebo funkce) a stochastické (v modelu je obsažena aspoň jedna proměnná, parametr nebo funkce, která je náhodná) Při modelování vystupují faktory (dále též proměnné) dvojího typu [1]: • endogenní – jsou určeny v rámci modelu. Do modelu jsou zahrnuty a mohou se měnit. • exogenní – jsou určeny mimo model. Nejsou zahrnuty do modelu, nicméně se s nimi potenciálně počítá a považují se za konstantní.
1.3
Simulace
„Základní myšlenka simulace je vlastně prostá: když nejde problém řešit analyticky, tak napodobíme daný systém pomocí počítačového modelu a poté pozorujeme, co se děje.“ 1 [5] Simulaci můžeme definovat jako techniku, která napodobuje činnost systému reálného světa a jeho vývoj v čase pomocí tvorby simulačního modelu. Ten má obvykle podobu souboru předpokladů o fungování systému, vyjádřeného matematickými nebo logickými vztahy mezi objekty zájmu v systému. [6] Cílem simulace je popsat a analyzovat zkoumaný systém, odhadnout jeho budoucí chování a navrhnout strukturu systému. K simulaci se využívají počítačové programy, mezi které patří např. MapleSim, Powersim apod.
1.4
Maple
Maple je systém počítačové algebry, který slouží pro výuku a využití matematiky v přírodovědných, technických a ekonomických oborech. Počátek jeho vývoje sahá do devadesátých let minulého století a v současnosti je k dispozici 15. verze tohoto systému. Maple provádí symbolické i numerické výpočty a slouží k vytváření grafů, speciálních dokumentů, prezentací a interaktivních výpočetních modulů. Více informací nejen o nejnovější verzi Maple 15, ve které došlo k řadě vylepšení, lze nalézt v uvedených odkazech [7] popř. [8].
1
Citace [5], str. 5
–8–
V následujícím textu se zaměříme na podrobnější rozbor některých deterministických modelů z oblasti teorie zásob a na stručný popis stochastických modelů ze stejné ekonomické oblasti. U každého deterministického modelu je uveden alespoň jeden příklad řešený pomocí programu Maple. Stochastické modely jsou popsány pouze teoreticky bez uvedení příkladů.
2
Teorie zásob
Logistika jako filozofie řízení materiálového a informačního toku je velmi rychle se rozvíjejícím oborem. V logistice se využívá velké množství metod (metody exaktní, metody sloužící k analýze logistických procesů, statistické metody, metody operační analýzy, simulační metody, metody teorie grafů, prognostické metody apod.) Z těchto metod se budeme podrobněji věnovat pouze metodám operační analýzy (o ostatních metodách se lze dočíst blíže např. v literatuře [9]). Pod pojmem metody operační analýzy rozumíme souhrn metod, které pomocí různých matematických disciplín modelují určité stavy technologických nebo rozhodovacích procesů. Do operační analýzy zahrnujeme metody teorie zásob, teorie obnovy, teorie front a částečně metody lineárního programování. [9] „Teorie zásob (modely řízení zásob) je odvětví operačního výzkumu, které se zabývá strategií řízení zásobovacího procesu a optimalizací objemu skladovaných zásob s ohledem především na minimalizaci nákladů, případně ztrát, které souvisejí s udržováním, objednáváním a vydáváním zásob ze skladu.“ 2 Teorii zásob můžeme charakterizovat jako souhrn matematických metod, které se používají k modelování a optimalizaci procesů vytváření zásob různých položek s cílem zabezpečit plynulý chod podniku. Zásobami chápeme tu část užitných hodnot, které byly vyrobeny a ještě nebyly spotřebovány. Nejedná se pouze o hotové výrobky, ale jde také o zásoby surovin, základních a pomocných materiálů, paliva, polotovarů, nářadí, náhradních dílů, obalů a rozpracované výroby. [11] Zásoby se vytvářejí z různých důvodů, proto rozlišujeme několik druhů zásob: • obratová (provozní) – vytváří se kvůli časovému nebo místnímu nesouladu mezi výrobou a spotřebou • pojistná – vytváří se záměrně, aby nedocházelo k narušení plynulosti zásobovacího procesu a aby se čelilo náhodným poruchám nebo neočekávanému vývoji ve výrobě nebo ve spotřebě • zásoba pro předzásobení – vytváří se záměrně, aby vyrovnala předpokládané větší výkyvy na vstupu nebo na výstupu. Na rozdíl od pojistné zásoby pod2
Citace [10], str. 15
–9–
nik o výkyvu ví předem (jedná se především o výrobky sezónního charakteru spotřeby) • vyrovnávací zásoba – zachycuje nepředvídatelné okamžité výkyvy mezi navazujícími dílčími procesy v krátkodobém cyklu • strategická (havarijní) zásoba – cílem je zajištění fungování podniku při nepředvídatelných událostech (např. stávky u dodavatelů) Nejčastějším typem modelů řízení zásob jsou nákladově orientované modely, které sledují dva základní cíle – minimalizovat náklady spojené s pořízením zásob a s jejich skladováním a minimalizovat ztráty vzniklé z nedostatku zásob. Stejně jako v ostatních oblastech ekonomie rozlišujeme i v teorii zásob náklady na fixní (pevně dané) a variabilní (proměnlivé). Fixní náklady jsou na velikosti zásoby nezávislé, proto pokud roste zásoba, velikost fixních nákladů na jednotku skladované produkce klesá. Naopak variabilní náklady se mění úměrně s výší zásoby. Z věcného hlediska rozlišujeme tři druhy nákladů [12]: • Náklady na vytváření popř. doplňování zásob – jsou fixní i variabilní. Jde o náklady na objednání a příjem zboží, na vystavení, likvidaci a na zaplacení faktury, náklady na dopravu zboží vlastními dopravními prostředky apod. • Náklady na udržování zásob – jejich výše je přímo úměrná průměrnému stavu zásob a době jejich skladování. Základními složkami těchto nákladů jsou úroky z oběžných prostředků vázaných v zásobách, vlastní náklady skladování včetně administrativních nákladů na evidenci zásob, ztráty v důsledku přirozeného úbytku nebo zastarávání zásob a náklady na pojištění zásob a skladů. • Náklady (ztráty) v důsledku nedostatku zásob – mohou vznikat tehdy, nejsou-li poptávka popř. potřeba pokryty nebo jsou uspokojeny opožděně či v neodpovídající kvalitě. Někdy je lze jen s obtížemi odhadnout nebo zjistit. Patří sem penále, náklady z dodatečných urychlených objednávek a dodávek a ztráty zisku při trvale neuspokojené poptávce popř. potřebě. Mezi další důležité pojmy v teorii zásob patří pořizovací lhůta dodávky a poptávka. Pořizovací lhůta dodávky je čas, který uplyne od vystavení a odeslání objednávky do okamžiku, kdy zásoba skutečně přijde na sklad. Velikost poptávky může být buď přesně známá, nebo může představovat náhodnou veličinu se známým rozdělením pravděpodobnosti. V závislosti na charakteru poptávky a pořizovací lhůty dodávky rozlišujeme dva druhy modelů. Jedná se o modely deterministické a modely stochastické. Jsou založené na použití metod matematické analýzy, zejména jde o hledání volných, méně často vázaných, extrémů zpravidla nákladové funkce.
– 10 –
O stochastických modelech se zmíníme jen okrajově na konci práce, větší pozornost budeme klást na modely deterministické. Při popisu modelů budeme vycházet především z literatury [12], [13] a [14].
2.1
Deterministické modely zásob
Následující označení, které si nyní zavedeme, budeme používat u všech typů modelů zásob: 𝑇 . . . doba, po kterou sledujeme zásobovací proces (zpravidla jeden rok) 𝑡. . . délka dodacího cyklu (interval mezi dvěma po sobě jdoucími dodávkami) 𝑄. . . celková poptávka po zboží během jednoho roku 𝑞. . . velikost jedné objednávky 𝑄/𝑞 . . . počet
dodávek za rok
𝜏 . . . předstih objednávky 𝑟0 . . . bod znovuobjednávky (velikost zásoby, při které je nutné vystavit objednávku) 𝑐1 . . . náklady skladování jednotky množství určitého zboží po dobu celého roku 𝑐2 . . . fixní náklady na pořízení jedné objednávky o velikosti 𝑞 Jak již bylo řečeno, deterministické modely zásob vycházejí z předpokladů, že velikost poptávky i pořizovací lhůta dodávky jsou předem dány. Můžeme je dále rozdělit na modely statické (potřeba se v čase nemění) a dynamické (potřeba se v čase mění předem známým způsobem). Nyní se zmíníme o základních typech optimalizačních modelů zásob, které lze při splnění nepříliš složitých předpokladů aplikovat v řízení, regulaci, popř. při normování zásob v ekonomické praxi. Model 1 Optimální velikost objednávky Za pomoci tohoto modelu chceme zjistit optimální velikost dodávky 𝑞0 , pro kterou jsou minimalizovány celkové náklady a při které dochází k nepřetržitému uspokojování zákazníků. Předpoklady modelu: • spojitá potřeba nebo poptávka jsou v čase konstantní (čerpání zásob je rovnoměrné) • zboží přichází pravidelně na sklad v dodávkách o stejné velikosti 𝑞 v okamžiku, kdy hodnota zásob klesne na nulu
– 11 –
Obrázek 1: Dodávkové cykly v modelu 1. Zdroj [15]. • nedochází k poruchám v dodávkách zboží, proto uvažujeme pouze skladovací a pořizovací náklady Dodávkové cykly jsou zobrazeny na obrázku 1. Z obrázku je patrné, že cykly se opakují pravidelně. V každém cyklu se objevují dvě fáze – fáze čerpání zásob a fáze doplňování zásob. Nyní přejdeme k matematickému vyjádření tohoto modelu. Nejprve si vyjádříme celkové roční náklady. Pokud není připuštěna možnost neuspokojení spotřeby, zahrnujeme do celkových ročních nákladů na pořízení a udržování zásob (𝑁 ) závislých na velikosti 𝑞 pouze náklady pořizovací a skladovací. Mají tedy tvar 𝑞 𝑄 𝑁 (𝑞) = 𝑐1 + 𝑐2 2 𝑞
(1)
kde 𝑞/2 je průměrná roční výše zásoby. Průběh nákladové funkce je zobrazen na obrázku 2. Hledáme optimální velikost dodávky, tedy takové pro které bude rovnice (1) minimalizována. Musíme ji proto derivovat podle 𝑞 a položit první derivaci rovnu nule: d𝑁 𝑐1 𝑄𝑐2 = − 2 =0 d𝑞 2 𝑞
(2)
Řešením rovnice (2) dostaneme hledané 𝑞0 √︃
𝑞0 =
2𝑄𝑐2 𝑐1
– 12 –
(3)
Obrázek 2: Průběh nákladové funkce. Zdroj [14], str. 110. Druhá derivace funkce 𝑁 (𝑞) v bodě 𝑞 je kladná, jak se snadno můžeme přesvědčit, proto 𝑁 (𝑞) má v tomto bodě minimum. Optimální hodnotu celkových nákladů dostaneme dosazením 𝑞0 do rovnice (1) 𝑁0 =
√︁
2𝑄𝑐1 𝑐2
(4)
Délka dodacího cyklu je 𝑡 = 1/𝑄/𝑞 = 𝑞/𝑄, a tedy optimální délku dodacího cyklu vyjádříme následovně 𝑞0 = 𝑡0 = 𝑄
√︃
2𝑐2 𝑄𝑐1
(5)
Bod znovuobjednávky 𝑟0 nám říká, kdy musíme vystavit objednávku tak, aby byl sklad doplněn v momentě vyčerpání zásoby. Předpokládejme nezávislost předstihu objednávky 𝜏 na její velikosti a uvažujme, že 𝑚 představující počet dodávek, které jsou v momentě vystavení objednávky na cestě, je největší celé číslo menší nebo rovno 𝜏/𝑡0 . Pro 𝑟0 tedy platí 𝑟0 = 𝑄(𝜏 − 𝑚𝜏0 ) = 𝜇 − 𝑚𝑞0
(6)
kde 𝜇 = 𝑄𝜏 je tzv. předstih potřeby neboli počet požadavků od okamžiku zadání objednávky do jejího příchodu a 𝑚𝑞0 je zboží na cestě. Průměrnou výši zásob při popsané optimální strategii můžeme zapsat následovně 𝑞0 = 2
√︃
𝑄𝑐2 2𝑐1
– 13 –
(7)
Příklad 1 Zadání ([13], str. 88) Předpokládejme, že firma má zajistit pro tuzemský trh 18 000 ks určitého náhradního dílu ročně. Máme stanovit optimální velikost dodávky a bod znovuobjednávky, činí-li fixní náklady na jednu dodávku libovolné velikosti 1 000 c.j. a náklady na skladování jednoho kusu náhradního dílu 1 c.j. za rok. Průměrný předstih dodávky 𝜏 je 2 měsíce. Řešení s využitím programu Maple: Uvedenou úlohu nejprve vyřeším zadáním sekvence příkazů a potom vytvořím dvě procedury. První z nich bude řešit podobné typy úloh automaticky po zadání vstupních dat, druhá vykreslí graf dodávkových cyklů. Výpočet v Maplu pomocí příkazů: Nejdříve uložím do proměnných 𝑄, 𝑐1 , 𝑐2 a 𝜏 hodnoty uvedené v zadání příkladu. Potom do proměnných 𝑞0 a 𝑡0 uložím vztahy (3) a (5) a vypočítám jejich hodnotu. Dále do proměnné 𝑚 uložím odpovídající vztah (s využitím příkazu „floor“ , který udává největší celé číslo menší nebo rovno dané hodnotě). Nakonec do proměnné 𝑟0 uložím vztah (6) a vypočítám bod znovuobjednávky. Příkazové řádky v systému Maple budou vypadat následovně: > Q := 18000; > c1 := 1; > c2 := 1000; > tau := 2*(1/12); > q0 := sqrt(2*Q*c2/c1); 6000 > t0 := q0/Q; 1/3 > m := floor(tau/t0); 0 > r0 := Q*(tau-m*t0); 3000 Na základě výpočtů v Maplu tedy vidíme, že optimální velikost jedné dodávky na sklad je 6 000 ks náhradního dílu. Bod znovuobjednávky je roven 3 000 kusů,
– 14 –
tedy při dosažení tohoto množství kusů na skladě musí dojít k provedení nové objednávky. Automatické řešení úlohy: Vytvořím proceduru, která po zadání vstupních hodnot (celková roční potřeba, skladovací náklady, fixní pořizovací náklady a předstih objednávky) poskytne jako výstupní hodnotu optimální velikost jedné dodávky a předstih objednávky. Uvedená procedura bude v Maplu vypadat následovně: > zasoby1 := proc (Q, c1, c2, tau) local q0, r0; q0 := sqrt(2*Q*c2/c1); r0 := Q*(tau-floor(tau*Q/q0)*q0/Q); return q0, r0 end proc; > zasoby1(18000, 1, 1000, 2*(1/12)); 6000, 3000 Vidíme, že po definování odpovídající procedury a zadání hodnot z našeho příkladu do veličiny zasoby1 nám Maple vrátí stejné výsledné hodnoty, jako v předchozím případě, kdy jsme jednotlivé příkazy zadávali postupně. Grafické řešení úlohy: Nyní vytvořím proceduru, jejímž výstupem bude vykreslení grafu dodávkových cyklů. Nejprve načtením balíčku „plots“ zobrazím jeho dostupné příkazy (v následujících úlohách již dostupné příkazy zobrazovat nebudu). Následně do příkazového řádku definuji proceduru, která vykreslí požadovaný graf. Pro ilustraci použiji zadané hodnoty v příkladě 1. > with(plots);
– 15 –
> zasobygraf1 := proc (Q, c1, c2, tau) local q0, r0, M, i; q0 := sqrt(2*Q*c2/c1); r0 := Q*(tau-floor(tau*Q/q0)*q0/Q); with(plots); M := {pointplot([[0, 0], [0, q0], [12*q0/Q, 0]], style = line), pointplot([[12*q0/Q-12*tau, 0], [12*q0/Q-12*tau, r0]], style = line, linestyle = dash)}; for i from 2 to ceil(Q/q0) do M := ‘union‘(M, {pointplot([[12*q0*(i-1)/Q, 0], [12*q0*(i-1)/Q, q0], [12*q0*i/Q, 0]], style = line), pointplot([[12*q0*i/Q-12*tau, 0], [12*q0*i/Q-12*tau, r0]], style = line, linestyle = dash)}) end do; M := ‘union‘(M, {pointplot([[12*q0*ceil(Q/q0)/Q-12*tau, r0], [0, r0]], style = line, linestyle = dash)}); display(M, labels = ["čas (měsíce)", "zásoby"]) end proc; > zasobygraf1(18000, 1, 1000, 2*(1/12));
Graf 1: Dodávkové cykly v příkladě 1.
– 16 –
Z výše uvedeného grafu 1 je ihned vidět, že během jednoho roku se dodávkový cyklus opakuje celkem třikrát. Délka jednoho cyklu je tedy čtyři měsíce a za předpokladu, že k nové objednávce musí vždy dojít s dvouměsíčním předstihem, objednávají se náhradní díly ve druhém, čtvrtém a desátém měsíci. Příklad 2 Zadání ([16], str. 44) V prodejně stavebnin se za rok prodají 2 000 000 cihel. Poptávka po cihlách je po dobu celého roku rovnoměrná. Náklady spojené s pořízením jedné dodávky cihel jsou 1 000 Kč bez ohledu na velikost dodávky. Náklady spojené se skladováním cihel činí 5 haléřů na cihlu a den. Spočítejte optimální velikost dodávky a optimální časový interval mezi jednotlivými dodávkami. Řešení s využitím programu Maple: Ze zadání příkladu známe hodnoty 𝑄 = 2000000 ks a 𝑐2 = 1000 Kč. Skladovací náklady 𝑐1 musíme vyjádřit v počtu korun za rok, tedy za předpokladu, že měsíc má 30 dní dostáváme hodnotu 𝑐1 = 18 Kč. > Q := 2000000; > c1 := (1/100)*(360*5); > c2 := 1000; > q0 := sqrt(2*Q*c2/c1); > evalf(q0); 14907.11985 > t0 := q0/Q; > evalf(t0); 0.007453559923
Nyní musíme v Maplu načíst proceduru definovanou v příkladě 1. Proceduru zde již nebudu uvádět. Jako výsledek dostaneme následující graf.
– 17 –
> zasobygraf1(2000000, 18, 1000, 0.745e-2);
Graf 2: Dodávkové cykly v příkladě 2.
– 18 –
Optimální velikost jedné dodávky je 14 907 cihel a optimální časový interval mezi jednotlivými dodávkami je 2,7 dne. Tento časový interval je velmi malý, proto bude vhodnější vykreslit graf 2 ve zvětšené podobě. Ze zvětšeného grafu můžeme snadněji spočítat, kolik objednávek má být provedeno během jednoho měsíce. Model 2 Přechodné neuspokojení poptávky Na rozdíl od prvního modelu zde uvažujeme přechodný nedostatek zásoby ve skladu, ostatní předpoklady zůstávají stejné jako u předchozího modelu. Dodávkový cyklus se rozdělí na dva intervaly 𝑡1 a 𝑡2 , kde 𝑡1 značí období, při kterém je zásoba na dostatečné úrovni a dochází k jejímu čerpání a 𝑡2 značí období, v němž jsou veškeré zásoby vyčerpány, přičemž poptávka je kladná, tedy není uspokojená. Do modelu musíme zahrnout další nákladovou položku, označíme ji 𝑐2 , která udává velikost ztráty vzniklé při přechodném nedostatku zásoby. Celkové náklady mají nyní tři složky. Pro určení optimální strategie musíme opět minimalizovat celkové náklady. Na obrázku 3 je zobrazen průběh dodávkových cyklů. Z obrázku je zřejmé, že v průběhu času 𝑡1 je možné uspokojit poptávku. 𝑠 je výše zásoby na skladě. V průběhu času 𝑡2 není poptávka o velikosti (𝑞 − 𝑠) uspokojena. Jakmile přijde na sklad nová zásoba, ihned dochází k uspokojení poptávky.
Obrázek 3: Dodávkové cykly v modelu 3. Zdroj [14], str. 114. Z obrázku můžeme odvodit platnost následujících vztahů 𝑡1 𝑠 = 𝑡 𝑞
a
𝑡2 𝑞−𝑠 = , 𝑡 𝑞
tedy 𝑡1 = 𝑡
𝑠 𝑞
a 𝑡2 = 𝑡
– 19 –
𝑞−𝑠 𝑞
(8)
Nyní vyjádříme nákladovou funkci, která se skládá, jak již bylo řečeno, ze tří složek. Nejprve vyjádříme nákladovou funkci v rámci jednoho dodávkového cyklu, potom v rámci období 𝑇 . Náklady na skladování budou ve tvaru 𝑠 𝑐1 𝑡1 , 2 kde 𝑠/2 značí průměrnou zásobu jednoho cyklu. Fixní náklady v jednom cyklu mají velikost 𝑐2 a velikost nákladů z nedostatku zásob lze vyjádřit jako součin 𝑐3
𝑞−𝑠 𝑡2 . 2
Celkové náklady jednoho cyklu jsou tedy součtem uvedených složek. Z poznatku, že během jednoho období proběhne 𝑄/𝑞 dodávek za rok dostáváme nákladovou funkci 𝑄 𝑠 𝑞−𝑠 𝑁 (𝑞, 𝑠) = 𝑐1 𝑡 1 + 𝑐2 + 𝑐3 𝑡2 𝑞 2 2 (︂
)︂
(9)
Dosazením (8) do (9) získáme výsledný tvar nákladové funkce
𝑁 (𝑞, 𝑠) =
𝑠2 𝑐1 𝑄𝑐2 (𝑞 − 𝑠)2 𝑐3 + + 2𝑞 𝑞 2𝑞
(10)
Provedením parciálních derivací této funkce podle proměnných 𝑠 a 𝑞, položením získaných rovnic rovných nule a řešením dané soustavy, získáme optimální hodnoty 𝑞0 a 𝑠0 . Postupně tedy 𝜕𝑁 𝑠𝑐1 (𝑞 − 𝑠)𝑐3 = − =0 𝜕𝑠 𝑞 𝑞 a 𝜕𝑁 𝑠2 𝑐1 𝑄𝑐2 𝑠2 = − + 1 − 𝜕𝑞 2𝑞 2 𝑞2 𝑞2 (︃
Řešením soustavy dostáváme optimální hodnoty √︃
𝑞0 =
2𝑄𝐶2 𝑐1 + 𝑐3 𝑐1 𝑐3
– 20 –
)︃
𝑐3 =0 2
√︃
𝑠0 =
2𝑄𝑐2 𝑐3 𝑐1 𝑐1 + 𝑐3
Zavedeme si nové označení ve vztazích (8). Nechť 𝛼 vyjadřuje poměr 𝑡1/𝑡, tedy pravděpodobnost uspokojení požadavku a 𝛽 poměr 𝑡2/𝑡, tedy pravděpodobnost, že požadavek musí na uspokojení počkat, dokud nepřijde nová dodávka. Platí, že 𝛼 + 𝛽 = 1. Hodnoty 𝛼 a 𝛽 pomocí již vyjádřených vztahů 𝑞0 a 𝑠0 jsou 𝛼=
𝑠0 𝑐3 = 𝑞0 𝑐1 + 𝑐3
𝛽 =1−𝛼=
𝑐1 𝑐1 + 𝑐3
Celkové minimální náklady získáme dosazením 𝑞0 a 𝑠0 do rovnice celkových ročních nákladů (10) √︃
𝑁0 =
2𝑄𝑐1 𝑐2
𝑐3 𝑐1 + 𝑐3
a optimální délka dodacího cyklu bude ve tvaru √︃
𝑡0 =
2𝑐2 𝑐1 + 𝑐3 𝑄𝑐1 𝑐3
Ještě nám zbývá určit bod znovuobjednávky, který bude na rozdíl od prvního modelu zmenšený o objem neuspokojené poptávky 𝑟0 = 𝜇 − 𝑚𝑞0 − (𝑞0 − 𝑠0 ) = 𝜇 + 𝑠0 − 𝑞0 (𝑚 + 1) 𝑟0 může být i záporné. K objednání nové zásoby dochází v momentě, kdy jsou zásoby nulové, proto 𝑟0 udává počet přechodně neuspokojených požadavků. Příklad 3 Zadání ([13], str. 90) Vyjděme z příkladu 1 s tím, že předem připustíme, aby roční náklady 𝑐3 (ztráty) na jeden neuspokojený požadavek z důvodů přechodného nedostatku zásob činily 15 c.j. Ostatní vstupní parametry jsou stejné jako v prvním příkladě.
– 21 –
Řešení s využitím programu Maple: Podobně jako u prvního příkladu nejprve úlohu vyřeším zadáním příkazů do systému Maple a potom vytvořím proceduru, která nám vykreslí graf s dodávkovými cykly v tomto typu modelu. Ze zadání znám hodnoty pro celkovou roční poptávku po náhradních dílech, jejich roční skladovací náklady, pořizovací fixní náklady jedné dodávky a ztrátu při přechodném nedostatku zásoby, které uložím do odpovídajících proměnných. Dále na základě vztahů pro optimální množství jedné dodávky, maximální výši čisté zásoby na skladě, optimální hodnotu celkových nákladů, optimální délku zásobovacího cyklu, pravděpodobnost předčasného vyčerpání zásob a bod znovuobjednávky, určím příslušné výsledky. Výpočet v Maplu pomocí příkazů: > Q := 18000; > c1 := 1; > c2 := 1000; > tau := 2*(1/12); > c3 := 15; > q0 := sqrt(2*Q*c2*(c1+c3)/(c1*c3)); > evalf(q0); 6196.773354 > s0 := sqrt(2*Q*c2*c3/(c1*(c1+c3))); > evalf(s0); 5809.475019 > alpha := s0/q0; > evalf(alpha); 0.9375000000 > beta := 1-alpha; > evalf(beta); 0.06250000000 > N0 := sqrt(2*Q*c1*c2*c3/(c1+c3)); > evalf(N0); 5809.475019 > t0 := sqrt(2*c2*(c1+c3)/(Q*c1*c3)); > evalf(t0); 0.3442651863 > t1 := t0*s0/q0;
– 22 –
> evalf(t1); 0.3227486122 > m := floor(tau/t0); > r0 := Q*(tau-m*t0)-q0+s0; > evalf(r0); 2612.701665 V tomto případě je velikost optimálního množství jedné dodávky 6 197 ks náhradních dílů (tedy o 197 ks více než v předchozím modelu). Maximální výše čisté zásoby je 5 809 ks. K vyčerpání zásob v průběhu dodávkového cyklu dojde s pravděpodobností 6,2 %. S pravděpodobností téměř 94 % dojde k plynulému uspokojení poptávky ze skladových zásob. Výše optimálních nákladů je oproti předchozímu případu nižší o 191 c.j. Při dané velikosti ztráty z přechodného nedostatku zásoby se proto vyplatí připustit její přechodné vyčerpání. Optimální délka dodávkového cyklu je 0,3443 roku, tedy přibližně 4,1 měsíce. Předpokládejme, že má jeden kalendářní měsíc 30 dní. Pak k plynulému uspokojení poptávky dochází 3 měsíce a 24 dnů. Zbývajících 6 dnů není poptávka uspokojena. Objednávku nových dílů je třeba provést, když stávající zásoba na skladě klesne na hodnotu 2 613 kusů. Grafické řešení úlohy: Pomocí následující procedury opět vykreslím graf dodávkových cyklů. > with(plots); > zasobygraf2 := proc (Q, c1, c2, c3, tau) local q0, r0, s0, t0, M, i; q0 := sqrt(2*Q*c2*(c1+c3)/(c1*c3)); s0 := sqrt(2*Q*c2*c3/(c1*(c1+c3))); t0 := sqrt(2*c2*(c1+c3)/(Q*c1*c3)); r0 := Q*(tau-floor(tau/t0)*t0)-q0+s0; with(plots); M := {pointplot([[0, 0], [0, s0], [12*t0, -q0+s0]], style = line), pointplot([[12*t0-12*tau, 0], [12*t0-12*tau, r0]], style = line, linestyle = dash)}; for i from 2 to ceil(Q/q0) do M := ‘union‘(M, {pointplot([[12*t0*(i-1), -q0+s0], [12*t0*(i-1), s0], [12*t0*i, -q0+s0]], style = line), pointplot([[12*t0*i-12*tau, 0], [12*t0*i-12*tau, r0]], style = line, linestyle = dash)}) end do; M := ‘union‘(M, {pointplot([[12*q0*ceil(Q/q0)/Q-12*tau, r0], [0, r0]], style = line, linestyle = dash)}); display(M, labels = ["čas (měsíce)", "zásoby"]); end proc;
– 23 –
> zasobygraf2(18000, 1, 1000, 15, 2*(1/12));
Graf 3: Dodávkové cykly v příkladě 3. Použitím hodnot ze zadání příkladu obdržíme graf 3. Na první pohled tedy vidíme, že v jednom roce dojde ke třem dodávkám náhradních dílů. Bod znovuobjednávky podle grafu určíme pouze přibližně – hodnota se bude pohybovat kolem 2 600 kusů (přesný počet jsme určili výpočtem) a dodání nových náhradních dílů se bude objednávat začátkem druhého, šestého a desátého měsíce. Příklad 4 Zadání ([16], str. 46) V prodejně stavebnin uvedené v příkladě 2 na str. 17 se rozhodli řešit přechodný nedostatek zásob půjčkou materiálu z přilehlého velkoskladu. Náklady na zapůjčení jedné cihly na jeden den jsou 50 haléřů. Jak se změní optimální velikost objednávky za tohoto předpokladu?
– 24 –
Řešení s využitím programu Maple: Ze zadání příkladu 2 známe hodnoty 𝑄, 𝑐1 , 𝑐2 . Náklady 𝑐3 musíme převést na stejné jednotky. Potom výpočty v Maplu získáme následující výsledky a graf (bez opakovaného vypisování procedury): > Q := 2000000; > c1 := (1/100)*(360*5); > c2 := 1000; > c3 := (1/100)*(360*50); > q0 := sqrt(2*Q*c2*(c1+c3)/(c1*c3)); > evalf(q0); 15634.71920 > s0 := sqrt(2*Q*c2*c3/(c1*(c1+c3))); > evalf(s0); 14213.38109 > t0 := sqrt(2*c2*(c1+c3)/(Q*c1*c3)); > evalf(t0); 0.007817359602
> 𝑧𝑎𝑠𝑜𝑏𝑦𝑔𝑟𝑎𝑓 2(2000000, 18, 1000, 180, 0.782𝑒 − 2); Při následujících podmínkách a předpokladech vzroste hodnota optimální velikosti jedné dodávky na 15 635 kusů cihel. Maximální výše čisté zásoby je 14 213 kusů cihel a optimální dodací doba je 2,8 dne. I v tomto případě je vhodnější využít při zobrazení grafu jeho zvětšení, neboť ze zvětšeného grafu je lépe čitelné, kolik dodávek má proběhnout během jednoho měsíce. Můžeme tedy jednoduše spočítat, že během prvního měsíce proběhne 10 dodávek, přičemž 11. dodávka proběhne na samém začátku dalšího kalendářního měsíce.
– 25 –
Graf 4: Dodávkové cykly v příkladě 4. – 26 –
Model 3 Víceproduktový model Tento model vychází z předpokladu, že dochází k doplňování zásob více druhů zboží současně. Pro správnou interpretaci modelu tedy musíme zavést nová označení. Nechť je: 𝑄𝑖 . . . roční potřeba 𝑖-tého zboží 𝑐1𝑖 . . . roční skladovací náklady jedné jednotky 𝑖-tého zboží 𝑐2𝑖 . . . fixní náklady jedné objednávky 𝑞𝑖 . . . neměnná velikost dodávky 𝑖-tého zboží Předpokládejme, že náklady jedné dodávky nezávisí na počtu druhů současně objednávaného zboží, tudíž i délka dodávkového cyklu 𝑡 je stejná pro všechna zboží. Počet dodávkových cyklů vyjádříme jako 𝑇 1 𝑄𝑖 = = , 𝑇 = 1, 𝑖 = 1, 2, . . . , 𝑛 𝑞𝑖 𝑡 𝑡 a tedy 𝑞𝑖 = 𝑄𝑖 𝑡, 𝑖 = 1, 2, . . . , 𝑛
(11)
Vidíme tedy, že velikost dodávky 𝑖-tého zboží závisí na jeho roční poptávce a délce dodávkového cyklu. Nyní vyjádříme celkové roční náklady (pořizovací a skladovací) všech druhů zboží jako funkci dodávkového cyklu 𝑡 ∑︀𝑛
𝑁 (𝑡) =
𝑖=1 𝑄𝑖 𝑡𝑐1𝑖
2
+
𝑐2 𝑡
(12)
Hledáme minimum rovnice (12). Provedeme derivaci podle 𝑡 a položíme ji rovnu nule. Zjistíme tak optimální délku dodacího cyklu √︃
𝑡0 =
2𝑐2 𝑖=1 𝑄𝑖 𝑐1𝑖
∑︀𝑛
(13)
Optimální velikost dodávky 𝑖-tého zboží získáme dosazením rovnice (13) do (11) √︃
2𝑐2 𝑖=1 𝑄𝑖 𝑐1𝑖
𝑞𝑖0 = 𝑄𝑖 ∑︀𝑛
– 27 –
Velikost minimálních ročních celkových nákladů za podmínky dodržení optimální délky jednotného dodávkového cyklu bude rovna
𝑁0 =
⎯ ⎸ 𝑛 ∑︁ ⎸ ⎷2𝑐2 𝑄𝑖 𝑐1𝑖 𝑖=1
Příklad 5 Zadání ([14], str. 124) Firma skladuje 4 druhy zboží. Roční poptávka 𝑄𝑖 po každém druhu zboží a náklady na skladování jednoho kusu zboží 𝑐1𝑖 za rok jsou následující: 𝑄𝑖
𝑐1𝑖
10000
0,1
100000 0,01 75000
0,02
5000
0,3
Tabulka 1: Poptávka a skladovací náklady Náklady spojené s jednou dodávkou 𝑐2 činí 50 peněžních jednotek. Úkolem je stanovit optimální interval mezi dvěma dodávkami 𝑡0 , optimální velikost dodávky jednotlivých druhů zboží a optimální velikost celkových nákladů. Řešení s využitím programu Maple: Opět prvně vyřeším uvedenou úlohu pomocí zadání příkazů do systému Maple. Potom definuji proceduru k řešení toho typu úloh a nakonec definuji proceduru, která nám vykreslí odpovídající graf. Výpočet v Maplu pomocí příkazů: > Q := [10000, 100000, 75000, 5000]; > c1 := [.1, 0.1e-1, 0.2e-1, .3]; > c2 := 50; > t0 := sqrt(2*c2/(sum(Q[i]*c1[i], i = 1 .. add(1, m = Q)))); 0.1414213562 > q0 := Q*t0;
– 28 –
[1414.213562, 14142.13562, 10606.60172, 707.1067810] > N0 := sqrt(2*c2*(sum(Q[i]*c1[i], i = 1 .. add(1, m = Q)))); 707.1067812 Znovu předpokládejme, že délka kalendářního měsíce je 30 dní. Pak optimální interval mezi dvěma dodávkami bude 1,7 měsíce (51 dní). Optimální velikost jednotlivých druhů zboží je následující: u prvního druhu zboží je optimum 1 414 ks, pro druhý druh zboží je optimální 14 142 ks, pro třetí druh je to 10 606 ks a pro čtvrtý druh 707 ks. Optimální velikost celkových nákladů je 707,1 peněžních jednotek. Automatické řešení úloh: > zasoby3 := proc (Q, c1, c2) local t0, q0, N0; t0 := sqrt(2*c2/(sum(Q[i]*c1[i], i = 1 .. add(1, m = Q)))); q0 := Q*t0; N0 := sqrt(2*c2*(sum(Q[i]*c1[i], i = 1 .. add(1, m = Q)))); return t0, N0, q0 end proc; > zasoby3([10000, 100000, 75000, 5000], [.1, 0.1e-1, 0.2e-1, .3], 50);
Pro výpočet optimálních hodnot stačí nejprve definovat uvedenou proceduru v programu Maple a zadat požadované údaje do proměnné zasoby3 a Maple nám vrátí výsledné hodnoty. Zkontrolovat výsledek si můžeme s výše uvedeným postupným zadáváním jednotlivých příkazů. Grafické řešení: Grafické podoba naší úlohy je zobrazena v grafu 3. K jeho vykreslení použijeme následující proceduru > with(plots);
– 29 –
> zasobygraf3 := proc (Q, c1, c2 local t0, q0, N0, M, i, j, col; t0 := sqrt(2*c2/(sum(Q[i]*c1[i], i = 1 .. add(1, m = Q)))); q0 := Q*t0; N0 := sqrt(2*c2*(sum(Q[i]*c1[i], i = 1 .. add(1, m = Q)))); M := ; col := Q; for i to add(1, m = Q) do col[i] := COLOR(RGB, (1/1000000000000)*rand(), (1/1000000000000)*rand(), (1/1000000000000)*rand()); end do; for i to ceil(1/t0) do for j to add(1, m = Q) do M := ‘union‘(M, {pointplot([[12*t0*(i-1), 0], [12*t0*(i-1), q0[j]], [12*t0*i, 0]], style = line, color = col[j])}) end do end do display(M, labels = ["čas (měsíce)", "zásoby"]); end proc; > zasobygraf3([10000, 100000, 75000, 5000], [.1, 0.1e-1, 0.2e-1, .3], 50);
Graf 5: Dodávkové cykly v příkladě 5.
– 30 –
Pro přehlednost jsou jednotlivé druhy zboží kresleny náhodně vybranou barvou. Podle grafu během jednoho roku dojde v našem případě k sedmi dodávkovým cyklům. Tuto proceduru pro vykreslení grafu dodávkových cyklů můžeme použít pro libovolné množství druhů zboží. Model 4 Produkční model Poslední deterministický model, který si uvedeme je produkční model. V tomto modelu rozdělujeme dodávkový cyklus (o délce 𝑡) na dvě části (viz obr. 4). Zásoby jsou doplňovány plynule (jedná se především o sklady výrobních podniků), ne v časových intervalech jako u předchozích modelů. První část dodávkového cyklu tvoří výrobní cyklus, který má délku 𝑡1 a v němž dochází jak k rovnoměrnému doplňování skladových zásob, tak i k jejich čerpání. Předpokládáme, že intenzita produkce přesahuje intenzitu spotřeby. Druhou částí dodávkového cyklu je spotřební cyklus o délce 𝑡2 . V tomto cyklu dochází jenom k čerpání zásob. Jakmile dojde k nulové úrovni zásob ve skladu, dodávkový cyklus začíná od začátku.
Obrázek 4: Výrobní a spotřební cykly v modelu 4. Zdroj [14], str. 119. Předpokládejme tedy, že v průběhu intervalu 𝑡1 se vyrobí 𝑞 jednotek daného výrobku a v průběhu této doby dochází současně k doplňování skladu i čerpání ze skladu. Dále předpokládejme, že je roční spotřeba (o velikosti 𝑄) rovnoměrná a spojitá a intenzita výroby (o velikosti 𝐾) je rovněž rovnoměrná a platí, že 𝐾 > 𝑄. Není tedy nutné vyrábět celoročně. Optimální množství 𝑞0 , 𝑡10 a 𝑡20 při minimálních celkových ročních nákladech určíme následujícím způsobem. V intervalu 𝑡1 se sklady doplňují množstvím 𝐾−𝑄 a platí
– 31 –
𝑡1 =
𝑞 𝐾
(14)
Maximální výše zásob po dokončení výroby jedné série lze vyjádřit jako 𝑄 𝑡1 (𝐾 − 𝑄) = 𝑞 1 − 𝐾 (︂
)︂
V intervalu 𝑡2 dochází k čerpání zásoby, což můžeme vyjádřit jako součin 𝑞 𝑄 𝑡2 = 1− 𝑄 𝐾 (︂
)︂
(15)
Součtem jednotlivých částí cyklu dostaneme celkovou délku jednoho cyklu, tedy 𝑡 = 𝑡1 + 𝑡2 =
𝑞 𝑄
Průměrná roční výše zásoby na skladě je 𝑄 𝑞 = 1− 2 𝐾 (︂
)︂
Celkové roční náklady závisející na množství 𝑞 jsou dány výrazem 𝑄 𝑞 1− 𝑁 (𝑞) = 𝑐1 2 𝐾 (︂
)︂
+ 𝑐2
𝑄 𝑞
(16)
Pro získání optimální hodnoty 𝑞0 tedy funkci celkových ročních nákladů opět derivujeme podle 𝑞 a položíme rovnu nule. Takže dostáváme d𝑁 𝑐1 𝑄 = 1− d𝑞 2 𝐾 (︂
)︂
−
𝑐2 𝑄 =0 𝑞2
a tedy √︃
𝑞0 =
2𝑄𝑐2 𝐾 𝑐1 𝐾 − 𝑄
(17)
Nyní můžeme vyjádřit minimální celkové roční náklady dosazením (17) do (16), takže dostáváme
– 32 –
√︃
𝑁0 =
2𝑄𝑐1 𝑐2
𝐾 −𝑄 𝐾
Pokud platí, že 𝑄 = 𝐾, musí se vyrábět celý rok, aby byla uspokojena potřeba. Pokud je 𝐾 < 𝑄, poptávka převyšuje vyrobené množství a tedy není plně uspokojena. Na závěr vyjádříme optimální délku jednotlivých časových intervalů. Dosazením (17) do (14) a (15) tedy dostáváme, že 𝑡10 =
𝑞0 𝐾
𝑞0 𝑄 1− 𝑄 𝐾 (︂
a 𝑡20 =
)︂
Příklad 6 Zadání ([14], str. 121) Potřeba přípravku určeného k výrobní spotřebě je rovnoměrná během celého roku a činí 9 000 ks ročně. Intenzita výroby dosahuje 360 ks za týden, přičemž v roce je 50 týdnů. Pořizovací lhůta zásob je zanedbatelná, náklady skladování jednotky zásob jsou 4 peněžní jednotky ročně a pevné náklady jedné výrobní dávky představují 40 peněžních jednotek. Máme stanovit optimální množství přípravku vyrobené v jedné dávce, odpovídající počet výrobních cyklů za rok a minimální výši celkových ročních nákladů zásob při optimální strategii. Řešení s využitím programu Maple: Postupuji stejně jako v předešlých úlohách. Nejprve tedy vyřeším úlohu zadáním sekvence jednotlivých příkazů, dále vytvořím proceduru pro automatické řešení tohoto typu úloh a nakonec opět pomocí procedury vykreslím graf. Výpočet v Maplu pomocí příkazů: > Q := 9000; > K := 360*50; > c1 := 4; > c2 := 40; > q0 := sqrt(2*Q*c2*K/(c1*(K-Q))); 600 > t10 := q0/K;
– 33 –
1/30 > t20 := q0*(1-Q/K)/Q; 1/30 > pocet := 1/(t10+t20); 15 > N0 := sqrt(2*Q*c1*c2*(K-Q)/K); 1200 Ze vztahu (17) vypočteme, že optimální množství přípravku v jedné dávce je 600 ks. Délky výrobního a spotřebního cyklu jsou si rovny. Vyrábí se jenom v intervalu 𝑡1 , v následující polovině cyklu dochází pouze k čerpání zásoby ze skladu. 15 cyklů za rok je optimálním řešením naší úlohy. Minimální celkové roční náklady jsou rovny 1 200 peněžních jednotek. Automatické řešení úloh: > zasoby4 := proc (Q, K, c1, c2) local q0, poc, N0; q0 := sqrt(2*Q*c2*K/(c1*(K-Q))); poc := 1/(q0/K+q0*(1-Q/K)/Q); N0 := sqrt(2*Q*c1*c2*(K-Q)/K); return q0, poc, N0; end proc; > zasoby4(9000, 360*50, 4, 40); 600, 15, 1200 Grafické řešení: Pomocí uvedené procedury vykreslíme graf odpovídající požadavkům zadání úlohy. > with(plots);
– 34 –
> zasobygraf4 := proc (Q, K, c1, c2) local q0, t1, t2, p, M, i; q0 := sqrt(2*Q*c2*K/(c1*(K-Q))); t1 := q0/K; t2 := q0*(1-Q/K)/Q; p := q0*(K-Q)/K; M := {pointplot([[0, 0], [12*t1, p], [12*t1+12*t2, 0]], style = line), pointplot([[12*t1, 0], [12*t1, p]], style = line, linestyle = dash)}; for i from 2 to ceil(1/(t1+t2)) do M := ‘union‘(M, {pointplot([[(12*t1+12*t2)*(i-1), 0], (12*t1+12*t2)*(i-1)+12*t1, p],[[12*i*(t1+t2), 0]], style = line), pointplot([[(12*t1+12*t2)*(i-1)+12*t1, 0], [(12*t1+12*t2)*(i-1)+12*t1, p]],}),style = line, linestyle = dash) end do; display(M, labels = ["čas (měsíce)", "zásoby"]) end proc; > zasobygraf4(9000, 360*50, 4, 40);
Graf 6: Dodávkové cykly v příkladě 6.
– 35 –
Příklady k samostatnému řešení 1. Společnost Sunshine používá 840 000 sáčků hnojiva ročně ke hnojení pomerančovníků. Jedna objednávka 100 dolarů a 50 centů při ročním skladování jednoho sáčku hnojiva. Kolik dodávek hnojiva měsíčně a v jakém množství je pro firmu optimální objednat? (Zdroj [17], str. 601) 2. Firma zabývající se výrobou televizorů (TV) produkuje pro tyto TV vlastní reproduktory. Za jeden měsíc firma vyrobí 8 000 TV, přičemž každá TV obsahuje právě jeden reproduktor. Reproduktory se vyrábějí nepravidelně po sériích. V krátké době může být vyrobeno relativně velké množství reproduktorů. Reproduktory se umisťují do zásob, dokud nejsou potřeba k dalšímu použití. Firma chce určit, kdy má vyrábět novou sérii reproduktorů a jakou velikost by měla mít optimální série. Firma uvažuje následující náklady: • V každém okamžiku výroby nové série jsou náklady na pořízení 12 000 dolarů. Jsou zde zahrnuty náklady na materiál, administrativní náklady apod. • Náklady na výrobu jednoho reproduktoru jsou 10 dolarů nezávisle na velikosti série. (Všeobecně náklady na jednotku produkce nemusejí být konstantní a mohou klesat s růstem objemu série). • Výroba reproduktorů ve velkých sériích vede k velkým zásobám. Odhadované náklady z držení reproduktorů ve skladě jsou 0,3 dolarů za měsíc. Tyto náklady zahrnují skladovací prostory, pojištění, daně atd. • Firemní politika zakazuje záměrné plánování z důvodu nedostatku komponent. Nicméně se občas projeví nedostatek reproduktorů a odhaduje se, že ztráty z každého reproduktoru, který není k dispozici v požadované době, přináší ztrátu 1,1 dolarů. (Zdroj [18], str. 757) 3. Výrobce několika druhů zubních past rozhoduje o velikosti výrobních dávek podle produkčního modelu. U typu Extra White je současná velikost výrobní dávky 5 000 ks a délka výrobního cyklu je 10 dní. Vzhledem k nedostatku surovin pro výrobu této pasty oznámil dodavatel této suroviny, že zvyšuje její cenu. To se projeví zvýšením výrobních nákladů u tohoto výrobku o 23,5 % (skladovací náklady se počítají procentem z výrobních nákladů). Jaký bude mít dopad zvýšení výrobních nákladů na velikost výrobní dávky? (Zdroj [10] str. 236) Pozn.: Další příklady lze nalézt například v literatuře [10], [18] a [19].
– 36 –
2.2
Stochastické modely zásob
U stochastických modelů vycházíme z předpokladu, že poptávka i délka pořizovací lhůty zásob jsou náhodné veličiny. Charakteristiky pravděpodobnostních rozdělení (střední hodnota a směrodatná odchylka), které se používají k popisu stochastické poptávky (nebo předstihu poptávky), mohou být buď konstantní v čase, nebo se mohou v čase měnit. Podobně je tomu i u deterministických modelů. V prvním případě se průměrná výše poptávky v čase nemění, naopak ve druhém případě je průměrná výše poptávky funkcí času. Pokud jsou pořizovací lhůty zásob a tedy i předstih poptávky náhodnými veličinami, náhodnou proměnnou bude i výše zásob v momentě příchodu dodávky na sklad. K vystižení poptávky jako náhodné veličiny je v modelech zásob nejčastěji využíváno normální a exponenciální rozdělení. Pokud je poptávka nespojitá, využívá se Poissonovo rozdělení nebo empirické rozdělení. Model 5 Optimalizace jednorázově vytvářené zásoby v případě nespojité poptávky Tento typ modelu je využíván především při vytváření jednorázových zásob u zboží, které po určité době zastarává např. sezónní a módní zboží, ovoce, pečivo, noviny, řezané květiny apod. V případě, že skutečná poptávka bude v daném období nižší než vytvořená zásoba, potom lze zbylé zboží prodat pouze za zůstatkovou hodnotu a dochází tedy ke ztrátám z prodeje. V opačném případě, při převisu poptávky, dochází ke ztrátám způsobeným nedostatkem zásoby. Cílem je vytvoření takového množství počáteční zásoby, která povede k minimalizaci nákladů, které souvisejí s pořizováním a prodejem daného zboží. [20] V tomto modelu bychom tedy měli znát prodejní a nákupní cenu, zůstatkovou hodnotu a náklady (ztráty) způsobené nedostatkem zásoby. Na základě těchto údajů můžeme určit tzv. úroveň obsluhy, což je pravděpodobnost, že dojde k plnému uspokojení všech požadavků na danou jednotku zásoby. Podrobnější matematickou analýzu tohoto modelu lze nalézt např. v literatuře [10] a [18]. Model 6 Stochastická spojitá poptávka V tomto případě se jedná o dynamický stochastický model, kde pravděpodobnostní charakter poptávky způsobuje kolísání ve spotřebě zásob, které je citelné obzvláště v delším časovém období. Většinou se předpokládá, že průběh poptávky může být aproximován s dostatečnou přesností normálním rozdělením. Nedostatek pohotové zásoby je zajišťován tím, že je zásoba odpovídající očekávané průměrné spotřebě během určité doby zvyšována o určité množství pojistné zásoby. Matematicky je model analyzován v literatuře [14] a [16].
– 37 –
Závěr V diplomové práci jsme popsala jednu z oblastí operačního výzkumu – teorii zásob. Nejprve jsem uvedla definici a možná rozdělení zásob. Na základě teoretického popisu by se dalo říci, že řízení procesů, vytváření, doplňování, udržování a čerpání zásob na různých úrovních národního hospodářství a v jeho jednotlivých oblastech poskytuje značné možnosti využívání ekonomicko-matematických modelů optimalizace zásob a skladů. Potom jsem se zaměřila na deterministické modely zásob, které tvoří hlavní část této diplomové práce. Zmínila jsem se o čtyřech deterministických modelech z teorie zásob, u kterých jsem uvedla předpoklady, ze kterých modely vycházejí. Zásobovací úlohy deterministického typu jsou v praxi těžko uplatnitelné především proto, že je velmi obtížné určit přesnou hodnotu poptávky, nicméně se používají jako aproximativní úlohy. Následně jsem modely analyzovala matematicky. Za každým modelem jsem uvedla konkrétní příklad převzatý z citované literatury. Existuje spousta odborných knih, ve kterých se dají příklady najít. V textu jsou uvedeny odkazy na některé z nich. Příklady jsem realizovala v programovém prostředí Maple. Postupovala jsem ve třech krocích. Nejprve jsem příklady řešila zadáním jednotlivých příkazů, pak jsem vytvořila proceduru, která po zadání požadovaných vstupních hodnot vrátí výsledek, a nakonec jsem definovala proceduru, která po zadání vstupních hodnot vykreslí graf dodávkových cyklů. Na uvedených grafech je patrné, že pokud je optimální interval dodávkového cyklu krátký (v rámci několika dnů), je obtížné z grafu spočítat přesný počet dodávek. Lze si pomoci tím, že graf zvětším, načež je ze zvětšeného grafu lépe počitatelný optimální počet dodávkových cyklů. V závěru práce jsou stručně popsány stochastické modely zásobovacích úloh s odkazem na literaturu, ve které můžeme najít podrobnou matematickou analýzu těchto modelů. Přínosem této diplomové práce by měly být především příklady řešené pomocí programového systému Maple. Procedury k řešení těchto typů úloh, které jsem vytvořila, by mohly při splnění uvedených předpokladů zjednodušit práci podnikům, které řeší problémy se zásobováním.
– 38 –
Literatura [1] Mezník, Ivan. Úvod do matematické ekonomie pro ekonomy. Vyd. 1. Brno: VUT, 2011. 189 s. ISBN 9788021442399. [2] Kuneš, Josef – Vavroch, Otakar – Franta, Václav. Základy modelování. 1. vyd. Praha: Státní nakladatelství technické literatury, 1989. 263 s. ISBN 8003001471. [3] Hřebíček, Jiří – Pospíšil, Zdeněk – Urbánek, Jaroslav. Úvod do matematického modelování s využitím Maple. Vyd. 1. Brno: Akademické nakladatelství CERM, 2010. 120 s. ISBN 978-80-7204-691-1. [4] Dynamické systémy a systémová dynamika. Studijní materiály předmětu Seminář z matematického modelování, M8115. Elektronické materiály. Dostupné z: https://is.muni.cz/auth/el/1431/jaro2010/M8115/um/DynSys_SysDyn.pdf [5] Fiala, Petr. Operační výzkum: nové trendy. 1. vyd. Praha: Professional publishing, 2010. 239 s. ISBN 9788074310362. [6] Winston, Wayne L. Operations Research: Applications and Algorithms. Fourth Edition. Belmont: Brooks/Cole – Thomson Learning, 2004. 1418 s. ISBN 0-534-42362-0. [7] Oficiální webové stránky výrobce programu Maple: http://www.maplesoft.com/ [8] Česká verze webových stránek programu Maple: http://www.maplesoft.cz/titulni [9] Sixta, Josef – Žižka, Miroslav. Logistika: metody používané pro řešení logistických projektů. 1. vyd. Brno: Computer Press, 2009. 238 s. ISBN 9788025125632. [10] Jablonský, Josef. Operační výzkum: kvantitativní modely pro ekonomické rozhodování. 1. vyd. Praha: Professional Publishing, 2002. 323 s. ISBN 8086419428. [11] Kuncová, M. Možnosti využití kvantitativních metod a simulací při řízení zásob v dodavatelských řetězcích. Vysoká škola ekonomická v Praze. Praha. http://panda.hyperlink.cz/cestapdf/pdf06c4/kuncova.pdf [12] Havelka, Stanislav – Kořenář, Václav – Lagová, Milada. Matematické modely v ekonomii. Ústí nad Labem: Univerzita J. E. Purkyně – Ústí nad Labem, 1994. 103 s. ISBN 8070440961.
– 39 –
[13] Havelka, Stanislav – Walterová, Libuše – Kořenář, Václav. Sbírka příkladů k bakalářské zkoušce z operačního výzkumu. Vyd. 1. Praha: Vysoká škola ekonomická v Praze, 1996. 129 s. ISBN 8070793678. [14] Kořenář, Václav. Stochastické procesy. 2. přeprac. vyd. Praha: Vysoká škola ekonomická v Praze, 2010. 227 s. ISBN 9788024516462. [15] Modely řízení zásob. Dostupné z: http://www2.ef.jcu.cz/ jfrieb/rmp/data/teorie_oa/ZASOBY.pdf [16] Kučerová, Jana. Příklady z operačního výzkumu. 1. vyd. Praha: České vysoké učení technické, 1995. 92 s. ISBN 8001012921. [17] Turban, Efraim – Meredith, Jack R. Fundamentals of management science. 4. ed. Plano: Business Publications, 1988. 915 s. ISBN 0256062560. [18] Hillier, Frederick S – Lieberman, Gerald J. Introduction to operations research. 6th ed. New York: McGraw-Hill, 1995. 998 s. ISBN 0071139893. [19] Anderson, David Ray – Sweeney, Dennis J – Williams, Thomas Arthur. An introduction to management science: quantitative approaches to decision making. 5. ed. St. Paul: West, 1988. 20 812 s. ISBN 0314629696. [20] Lauber, Josef – Jablonský, Josef. Programy pro matematické modelování. 1. vyd. Praha: Vysoká škola ekonomická v Praze, 1993. 316 s. ISBN 8070790881.
– 40 –
Seznam obrázků 1 2 3 4
Dodávkové cykly v modelu 1. . . . Průběh nákladové funkce. . . . . . Dodávkové cykly v modelu 3. . . . Výrobní a spotřební cykly v modelu
. . . . . . 4.
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
12 13 19 31
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
16 18 24 26 30 35
Poptávka a skladovací náklady . . . . . . . . . . . . . . . . . . . . . .
28
Seznam grafů 1 2 3 4 5 6
Dodávkové Dodávkové Dodávkové Dodávkové Dodávkové Dodávkové
cykly cykly cykly cykly cykly cykly
v v v v v v
příkladě příkladě příkladě příkladě příkladě příkladě
1. 2. 3. 4. 5. 6.
. . . . . .
. . . . . .
. . . . . .
. . . . . .
Seznam tabulek 1
– 41 –