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 TUK 0,4 0,3 KAKAO 0,05 0,2 0,1 CUKR 0,1 0,2 0,2
V4 0,6 0,1 0,1
V5 0,6 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žší.
Alfa Beta Gama Požadavky (v tis.Kč)
Brno Praha km Kč* km Kč* 122 390,4 114 364,8 146 467,2 136 435,2 162 518,4 42 134,4 50
44
Olomouc km Kč* 350 1120 162 518,4 168 537,6
Znojmo km Kč* 216 691,2 270 864 286 915,2
48
40
Ostrava Kapacity km Kč* (v tis. ks) 142 454,4 78 54 172,8 46 84 268,8 110 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 A B C D E F G H I J
Popis činnosti Doba trvání (týdny) Výběr a nákup objektu 6 Zpracování projektu 4 Obsazení pozice 3 managera Výběr personálu 3 Rekonstrukce a 8 vybavení objektu Školení personálu 2 Výběr sortimentu 2 zboží Uzavření smluv 5 s dodavateli Nákup zboží 3 Reklama 2
Předchozí činnosti A A B,C B D B,C G E, F, H 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 1 2 3 4 5 6 7 8 9 10
Jméno činnosti A B C D E F G H I J
Předchůdce A A B B C C D, F E G, I
Optimistický čas 0,5 2 3 2 0,5 0,5 2 2 0,5 2
Normální čas 1 4 5 3 1,5 1,5 3,5 2,5 1 4
Pesimistický čas 1,5 6 7 4 2,5 2,5 5 3 1,5 6
Ř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 Tf = 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 Nf = λ * Tf = 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 p0 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