Matematický ústav v Opavě Studijní text k předmětu Softwarová podpora matematických metod v ekonomice Zpracoval: Ing. Josef Vícha Opava 2008
Úvod: V rámci realizace projektu FRVŠ 2008 byl zaveden do výuky na Matematickém ústavu Slezské univerzity v Opavě předmět Softwarová podpora matematických metod v ekonomice. Součástí tohoto předmětu je také práce s programem WinQSB, vzhledem k nedostatku literatury, týkající se tohoto softwaru, vznikl během zimního semestru akademického roku 2008/2009, kdy byl předmět poprvé vyučován, tento studijní text. Studijní text se tedy zabývá popisem práce se softwarem WinQSB pro účel jeho využití v ekonomice. 2
Obsah: 1. Lineární programování... 4 Řešení pomocí programu WinQSB... 4 2. Síťové modely... 7 2.1. Dopravní úloha... 7 Řešení pomocí programu WinQSB... 7 2.2. Přiřazovací problém... 10 Řešení pomocí programu WinQSB... 10 2.3. Problém obchodního cestujícího... 11 Řešení pomocí programu WinQSB... 11 3. Dynamické programování... 13 Řešení pomocí programu WinQSB... 13 4. Síťový graf... 15 4.1. CPM... 15 Řešení pomocí programu WinQSB... 15 4.2. PERT... 17 Řešení pomocí programu WinQSB... 17 5. Teorie front... 19 Řešení pomocí programu WinQSB... 20 6. Teorie zásob... 22 Řešení pomocí programu WinQSB... 22 7. Předvídání... 28 3
1. Lineární programování Příklad pro kapacitní úlohu: Čokoládovna vyrábí 5 druhů výrobků. Spotřebovává 3 základní suroviny: tuk, kakao a cukr, jež jsou k dispozici v omezeném množství : 1500 kg, 300 kg, a 450 kg na den. Kapacita strojového zařízení je dostatečná, stejně tak energie, pracovní síly i další zdroje jsou k dispozici v dostatečném množství. Spotřeba surovin na výrobky je uvedena v tabulce. Tab.: Koeficienty spotřeby surovin v kg na 1kg výrobku : V1 V2 V3 V4 V5 TUK 0,4 0,3 0,6 0,6 KAKAO 0,05 0,2 0,1 0,1 CUKR 0,1 0,2 0,2 0,1 0,2 Odbytové ceny v Kč / 1 kg jsou: V1 20 Kč V2 120 Kč V3 100 Kč V4 140 Kč V5 40 Kč. Stanovte denní výrobní program takový, aby hodnota výroby v Kč byla maximální. Řešení pomocí programu WinQSB Start Programy WinQSB Linear and Integer programing New Problem 4
Pojmenujeme si jednotlivé proměnné a omezení: Edit Variable Names Edit Constrain Names 5
Zadávací matice: Poté zadáme do matice hodnoty z matematického modelu. Řešení: Solve and Analyze: Solve the problem ukáže konečné řešení pomocí simplexové metody. Solve and Analyze: Solve and Display Steps - zobrazuje jednotlivé iterace simplexové metody. Solve and Analyze: Graphic Metod řeší problém graficky, ale pouze pro 2 proměnné. 6
2. Síťové modely 2.1. Dopravní úloha Příklad: Firma zabývající se výrobou obývacích stěn má 3 výrobní závody zvané Alfa, Beta a Gama, které mají měsíční výrobní kapacitu uvedenou v následující tabulce.tyto obývací stěny jsou distribuovány odběratelům v Brně, Praze, Olomouci, Znojmě a Ostravě, kteří požadují dodat množství uvedené v následující tabulce. Náklady na přepravu jedné obývací stěny v Kč mezi výrobními závody a odběrateli ukazuje též následující tabulka. Úkolem je najít takové rozložení dodávek z výrobních závodů k jednotlivým odběratelům, aby celkové náklady na přepravu byly co nejnižší. Brno Praha Olomouc Znojmo Ostrava Kapacity km Kč* km Kč* km Kč* km Kč* km Kč* (v tis. ks) Alfa 122 390,4 114 364,8 350 1120 216 691,2 142 454,4 78 Beta 146 467,2 136 435,2 162 518,4 270 864 54 172,8 46 Gama 162 518,4 42 134,4 168 537,6 286 915,2 84 268,8 110 Požadavky (v tis.kč) 50 44 48 40 52 234 * sazba za 1 km je 3,20 Kč Řešení pomocí programu WinQSB Start Programy WinQSB NetworkModeling New Problem 7
Pojmenujeme si dodavatele a odběratele: Edit Node Names Zadávací matice: Zadáme náklady na dopravu mezi jednotlivými dodavateli a odběrateli a také jejich kapacity: Řešení: Solve and Analyze: Solve the problem provede řešení. Solve and Display Steps Network (Tableau) Zobrazuje jednotlivé kroky řešení graficky (tabulkou). Select initial solution Metod možnost výběru metody, k nalezení výchozího stavu k řešení: 8
Řešení: 9
2.2. Přiřazovací problém Příklad: Firma CPM má 3 zaměstnance, Tomáše, Jana a Petru pracující jako designéři. Tomáš potřebuje 4 dny na design židle, 4 dny na design stolu a 3 dny k designu nového produktu. Jan potřebuje 8 dní na design židle, 7 dní na design stolu a 6 dní k designu nového produktu. Petra potřebuje 2 dny na design židle, 3 dny na design stolu a 1 dny k designu nového produktu. Vedení CPM chce mít design všech tří produktů v co nejkratším čase. Úkolem je tedy rozhodnout, kdo z pracovníků bude pracovat na designu daného výrobku. Řešení pomocí programu WinQSB Start Programy WinQSB NetworkModeling New Problem Zadávací matice: Řešení: 10
2.3. Problém obchodního cestujícího Příklad: Firma CPM má obchodního zástupce, který cestuje mezi vedením, továrnami, a zákazníky. Svou cestu začíná v sídle firmy a musí navštívit všechny uvedené lokality, aniž by jednu z nich navštívil dvakrát a vrátit se do sídla firmy. Na obrázku 2.1 jsou zobrazeny jednotlivé lokace, které musí navštívit. Řešení pomocí programu WinQSB Start Programy WinQSB NetworkModeling New Problem Zadávací matice: Zadáme vzdálenosti jednotlivých měst. 11
Řešení: Solve and Analyze: Solve the problem objeví se tabulka s jednotlivými metodami, kterými se tento problém dá řešit. Dále v Result je možno vybrat grafické zobrazení řešení. 12
3. Dynamické programování Dynamické programování řeší problémy typu problém dostavníku (nejkratší cesty), problém kapacity úložného prostoru (Knapsack problem) a Plánování produkce a zásob. V tomto cvičení se budeme pouze zabývat prvním problémem. Příklad: Kamiony firmy CPM jezdí mezi sídlem firmy a jejími továrnami v Neshvillu a Atlantě a obchody v Dallasu, Miami a New Yorku viz obrázek 2.1. Vedení chce znát nejkratší trasu z Nashvillu do Miami. Řešení pomocí programu WinQSB Start Programy WinQSB Dynamic Programing New Problem Zadávací matice: Zadáme vzdálenosti jednotlivých měst. 13
Řešení: Solve and Analyze: Solve the problem objeví se tabulka s jednotlivými městy, v levém sloupci vybereme začátek a v pravém konec cesty. Řešení: 14
4. Síťový graf 4.1. CPM Příklad: Obchodní společnost Q-Mark a. s. se rozhodla otevřít nové obchodní středisko v Hradci Králové. V rámci uvedeného projektu definoval její project manager následující činnosti a současně odhadl, na základě zkušeností z obdobných akcí, jejich dobu trvání v týdnech. Všechny potřebné informace jsou uvedeny v tabulce. Sestrojte síťový graf a vypočítejte nejkratší dobu realizace projektu. Tabulka Rozpis, doba trvání a činnosti, které musí předcházet. Činnost Popis činnosti Doba trvání (týdny) Předchozí činnosti A Výběr a nákup objektu 6 - B Zpracování projektu 4 A C Obsazení pozice 3 A managera D Výběr personálu 3 B,C E Rekonstrukce a 8 B vybavení objektu F Školení personálu 2 D G Výběr sortimentu 2 B,C zboží H Uzavření smluv 5 G s dodavateli I Nákup zboží 3 E, F, H J Reklama 2 H Řešení pomocí programu WinQSB Start Programy WinQSB PERT_CPM New Problem 15
Zadávací matice: Zadáme předchůdce a doby trvání jednotlivých aktivit. Řešení: Solve and Analyze: Solve Critical Path Vypíše tabulkové řešení Results: Graphic Activity analysis Zobrazí graf. Dále je možno zobrazit pouze činnosti na kritické cestě a nebo Ganttogram. 16
4.2. PERT Příklad: Firma CPM pracuje na designu nové židle. Vývoj obsahuje 10 činností, jejich následnost a jednotlivé časy jsou vedeny v tabulce: Číslo činnosti Jméno činnosti Předchůdce Optimistický čas Normální čas 1 A 0,5 1 1,5 2 B A 2 4 6 3 C A 3 5 7 4 D B 2 3 4 5 E B 0,5 1,5 2,5 6 F C 0,5 1,5 2,5 7 G C 2 3,5 5 8 H D, F 2 2,5 3 9 I E 0,5 1 1,5 10 J G, I 2 4 6 Pesimistický čas Řešení pomocí programu WinQSB Start Programy WinQSB PERT_CPM New Problem 17
Zadávací matice: Zadáme předchůdce a doby trvání jednotlivých aktivit. Řešení: Solve and Analyze: Solve Critical Path Vypíše tabulkové řešení Dále je možno zobrazit, síťový graf, pouze činnosti na kritické cestě a nebo Ganttogram. Lze také provést analýzu pravděpodobnosti splnění projektu v předpokládaném čase: Results: Probability Analysis, do políčka Desired completion time zapíšeme předpokládaný čas. 18
5. Teorie front Příklad: Úkolem je určit základní charakteristiky systému hromadné obsluhy celnice určitého státu s jedním celníkem pro osobní automobily. Intervaly mezi příjezdy občanů na celnici jsou nezávislé hodnoty exponenciálního rozdělení se střední hodnotou 5 minut. Doby nutné pro nezbytnou kontrolu občana při příjezdu na celnici jsou hodnoty exponenciálního rozdělení se střední hodnotou 1 minuta. Úkolem je vypočítat průměrný počet čekajících občanů, průměrnou dobu čekání a pravděpodobnost, že v době příjezdu občana bude celník volný. metodický postup Jedná se o charakteristiky systému M/M/1. řešení Nejprve určíme hodnoty λ, µ a ρ. 1 / λ = 1/12 hod. λ = 12 (průměrný počet občanů přijíždějících na celnici je roven 12 občanů za 1 hodinu) 1 / µ = 1 / 60 hodiny µ = 60 ρ = λ / µ = 12/60 = 1/5 < 1 existuje stabilizované chování systému (průměrný počet odbavených občanů je roven 60 občanů za 1 hodinu) časové charakteristiky T = 1 / (60 12) = 1/48 = 0,02083 hodiny = 1,25 minuty T f = T (1/ µ) = 1/48 1/60 = 1/240 hodiny = 0,25 minuty charakteristiky týkající se počtu požadavků N = λ * T = 12 * 1/48 = ¼ = 0,25 N f = λ * T f = 12 * 1/240 = 1/20 = 0,05 pravděpodobnostní charakteristiky pravděpodobnost, že při příjezdu občana na celnici bude celník volný, tj. systém HO bude ve stavu p 0 je: 1 ρ = 1 1/5 = 4/5 = 0,8 tzn. že v průměru 80 občanů ze 100 nebude muset na celnici čekat na odbavení. 19
výsledek: Celková doba, kterou občan stráví na celnici bude 1,25 minuty, z toho 0,25 minuty bude na odbavení čekat na celnici a 1 minutu bude odbavován. V celém systému bude 0,25 občanů za 1 hodinu, ve frontě 0,05 občanů za hodinu. Pravděpodobnost, že celník bude při příjezdu občana na celnici volný je 80 %. Pravděpodobnost, že bude muset na odbavení čekat je (100 80) %. Řešení pomocí programu WinQSB Start Programy WinQSB Queuing Analysis New Problem Zadávací matice: Zadáme předchůdce a doby trvání jednotlivých aktivit. 20
Řešení: Solve and Analyze: Solve the Performance Vypíše tabulkové řešení Dále je možno spustit simulaci dané situace (Simulation) a provést jednotlivé analýzy (analýza citlivosti a kapacity). řešení úlohy Průměrná doba, kterou občan stráví na celnici, než bude odbaven je 0,0208 hodiny (řádek 10), z toho 0,0042 hodiny bude na odbavení čekat ve frontě. V celém systému bude průměrný počet občanů 0,025 za 1 hodinu (řádek 7), ve frontě 0,05 občanů za 1 hodinu (řádek 8). Pravděpodobnost, že je systém prázdný, tzn. že na celnici nikdo nečeká na odbavení, je 80 % (řádek 13). 21
6. Teorie zásob Teorie: Modul teorie zásob a systémy řeší a vyhodnocuje problémy spojené s kontrolou zásob. Zásoby jsou investovaný kapitál. Může to být materiál, součástky, nedokončené nebo dokončené produkty. U zásoby jsou vždy dvě hlavní otázky, kolik a kdy nakoupit zásob. Tento modul řeší následující problémy: EOQ (ekonomic order quantity ekonomické plánování množství) problém EOQ s množstevní slevou (quantity discount) Jedno periodní pravděpodobnostní problém Problém dynamických velikostí dodávek s využitím 10 alternativních metod Řešení, vyhodnocování a simulace systémů zásob (s,q), (s,s), (R,S) a (R,s,S) Příklad: Nábytkářská firma CPM používá třešňové dřevo na výrobu židlí, každoroční spotřeba činí 3600 jednotek. Účetní oddělení vypočítalo, že cena přípravy dodávky je $200. Cena udržování jednotky dřeva je 25 USD na den. Cena dřeva je 100 USD na jednotku. Řešení pomocí programu WinQSB Start Programy WinQSB Inventory and System New Problem EOQ 22
Zadávací matice: Řešení: Solve and Analyze: Solve the Problem Vypíše tabulkové řešení Z tabulkového řešení je patrné: Fa CPM by měla objednávat 240 jednotek třešňového dřeva v čase, roční náklady na zásoby (cena za skladování a objednávku) je 6 000 USD. 23
Předpokládejme, že CPM chce prozkoumat zásoby i pomocí jiného model, protože není splněn předpoklad klasického EOQ modelu. Požadavek je 3600 jednotek na rok, ale to je normální rozdělení s odchylkou 50 jednotek. Náklady na dodávku jsou 200 USD za objednávku, cena jednotky je 100 USD a náklady na skladování jsou 25 USD na rok. CPM má stochastické požadavky, 100% z nedostatku je opětovně dodáno a cena opětovné dodávky je 20 USD. Vyzkoušejme spojitý revizní systém s pevnou velikostí dodávky (Continuous Review Fixed-Order-Quantity Systém) (s, Q) k nalezení řešení. New Problem (s, Q) Systém Zadávací matice: Solve and Analyze: Solve: Solve the optimal 24
Z tohoto pak plyne: optimální znovu dodávka je 215,9491 jednotek, optimální velikost dodávky je 245,3235 jednotek, optimální náklady jsou 6540,297 USD, úroveň služeb je 91,4818% (100 8,5182) během sledované doby. Management CPM myslí, že úroveň služeb by měla být 98%. Solve and Analyze: Solve: Solve with desired service level a zadejme 98 Dostaneme následující: Z čehož plyne: znovu dodávka je 224,0063 jednotek, celkové náklady jsou 6630,892 USD. 25
Grafické řešení vypadá následovně: Result: Grafic inventory profile!! POZOR!! JAKO DESETINÁ ČÁRKA JE V ZADÁVÁNÍ NUTNÉ POUŽÍT TEČKU. 26
27
7. Předvídání Tento programový modul vykonává předvídání časových řad, jednoduchou lineární regresy a vícenásobnou lineární regresy. Pro předvídání využívá těchto metod: aritmetický průměr klouzavý průměr vážený klouzavý průměr klouzavý průměr s lineárním vývojem (with linear trend) exponenciální vyrovnávání exponenciální vyrovnávání s lineárním vývojem dvojité exponenciální vyrovnávání dvojité exponenciální vyrovnávání s lineárním vývojem lineární regrese Holt-Wintrův aditivní (additive) algoritmus Holt-Wintrův multiplikativní algoritmus Příklad: CPM chce předpovědět poptávku po jejich nábytku založenou na příjmu rodiny. Byla sesbírán data na přípravnou studii. Start Programy WinQSB Forecasting New Problem Linear Regression Zadáme počet proměnných a počet sledování a klikneme na OK: 28
Zadávací matice: Solve and Analyze: Perform linear regression, zvolíme poptávku jako závislou proměnou (dependent) a ostatní jako nezávislou (independent) Z výsledné tabulky je patrná rovnice: poptávka=91,5821 + 0,0011*příjem. R-čtverec je 96,12%. 29
K zobrazení tabulky ANOVA klikneme na result a vybereme show ANOVA, podobně korelační analýza: CPM chce předvídat poptávku po jejich nábytku pro rodiny jejichž příjem je 45 000 USD. Solve and Analyze: Perform estimation and prediction, jako hladinu významnosti zvolíme 5 % a klikneme na enter value for independent variable, zadáme hodnotu a klineme na OK. Výsledek: CPM chce předpovědět poptávku po jednom z jejich stolů. Během posledních pěti týdnů byl prodej 120, 150, 200, 250 a 100 kusů. Oddělení prodeje chce vědět jaký prodej těchto stolů mohou očekávat příští víkend. Použijeme modely aritmetický průměr a exponenciální vyrovnávání: 30
Forecasting New Problem Time Series Forecasting Zadáme název, jednotku týdny, a počet (5) a následně vyplníme zadávací matici. Solve and Analyze: Je zde 12 technik, vybereme metodu (SA) a počet period pro předvídání stanovíme na 1. 31
Výsledek: Předpokládaná poptávka bude 164. Kliknutím na Show forecasting in graph se zobrazí grafické řešení. Použití druhé metody: 32
33