Difference between revisions of "Queueing theory/cs"
(→Exponenciální model M/M/c) |
(→Optimalizace modelu M/M/c) |
||
(46 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | =Teorie hromadné obsluhy (Teorie front)= | + | =Teorie hromadné obsluhy (Teorie front) <ref>JABLONSKÝ, Josef. Operační výzkum: kvantitativní modely pro ekonomické rozhodování. 1. vyd. Praha: Professional Publishing, 2002, 323 s. ISBN 80-864-1923-1.</ref>= |
Jednou z podskupin diskrétních simulací je teorie hromadné obsluhy, v češtině často nazývaná jako "Teorie front". | Jednou z podskupin diskrétních simulací je teorie hromadné obsluhy, v češtině často nazývaná jako "Teorie front". | ||
Line 39: | Line 39: | ||
Intervaly mezi příchody požadavků jsou fixní hodnoty. | Intervaly mezi příchody požadavků jsou fixní hodnoty. | ||
*Stochastický | *Stochastický | ||
− | Intervaly příchodů jsou proměnlivé, a proto bývají definovány pomocí pravděpodobnostních rozdělení. Toto rozdělení zjistíme analýzou empirických dat. Pro většinu případů lze využít rozdělení exponenciální [http://www.simulace.info/index.php/Probability_distributions/cs] a využívá parametr <math>\lambda</math> pro označení intenzity příchodů. Střední hodnota tohoto rozdělení je určena jako: <math>E(X) = (\frac{1}{\lambda})</math>. | + | Intervaly příchodů jsou proměnlivé, a proto bývají definovány pomocí pravděpodobnostních rozdělení. Toto rozdělení zjistíme analýzou empirických dat. Pro většinu případů lze využít rozdělení exponenciální [http://www.simulace.info/index.php/Probability_distributions/cs] a využívá parametr <math>\lambda</math> pro označení intenzity příchodů. Střední hodnota tohoto rozdělení je určena jako: |
+ | <math>E(X) = (\frac{1}{\lambda})</math>. | ||
Převrácená hodnota <math>\lambda</math> - tedy střední hodnota (<math>\frac{1}{\lambda}</math>) vyjadřuje průměrnou dobu mezi příchody požadavků do systému. | Převrácená hodnota <math>\lambda</math> - tedy střední hodnota (<math>\frac{1}{\lambda}</math>) vyjadřuje průměrnou dobu mezi příchody požadavků do systému. | ||
====Doba trvání obsluhy==== | ====Doba trvání obsluhy==== | ||
− | Stejně jako při deklaraci intenzity vstupů se využívají popisy deterministické nebo pravděpobobnostní. Nejčastější je opět rozdělení exponenciální, nyní s parametrem <math>\mu</math>, který označuje intenzitu obsluhy. Střední doba trvání obsluhy dostaneme jako: <math>E(X) = (\frac{1}{\mu})</math> | + | Stejně jako při deklaraci intenzity vstupů se využívají popisy deterministické nebo pravděpobobnostní. Nejčastější je opět rozdělení exponenciální, nyní s parametrem <math>\mu</math>, který označuje intenzitu obsluhy. Střední doba trvání obsluhy dostaneme jako: |
+ | <math>E(X) = (\frac{1}{\mu})</math> | ||
Pokud je v systému zahrnuto více obslužných systémů, mohou se zapojovat sériově nebo paralelně do sítí. Tím se zvýší množství vyřízených požadavků při stejném časovém úseku. U paralelně zapojených systému se klade důraz na jejich zaměření (ne všechny mohou poskytovat stejné služby). | Pokud je v systému zahrnuto více obslužných systémů, mohou se zapojovat sériově nebo paralelně do sítí. Tím se zvýší množství vyřízených požadavků při stejném časovém úseku. U paralelně zapojených systému se klade důraz na jejich zaměření (ne všechny mohou poskytovat stejné služby). | ||
Line 127: | Line 129: | ||
Průměrnou dobu, kterou střáví požadavek v systému <math>(T)</math> je suma průměrné doby strávené ve frontě <math>T_f</math> a průměrné doby trvání obsluhy <math>(\frac{1}{\mu})</math>, tedy: | Průměrnou dobu, kterou střáví požadavek v systému <math>(T)</math> je suma průměrné doby strávené ve frontě <math>T_f</math> a průměrné doby trvání obsluhy <math>(\frac{1}{\mu})</math>, tedy: | ||
− | <math>T = T_f + (\frac{1}{\mu})</math> | + | <math>T = T_f + (\frac{1}{\mu})</math>. |
====Charakteristiky týkající se počtu požadavků==== | ====Charakteristiky týkající se počtu požadavků==== | ||
Line 133: | Line 135: | ||
V jednodušších modelech se najde přímý vztah mezi průměrným počtem požadavků v systému (ve frontě) je roven průměrnému času, který požadavek stráví v systému (ve frontě), vynásobenému hodnotou <math>\lambda</math>, tedy: | V jednodušších modelech se najde přímý vztah mezi průměrným počtem požadavků v systému (ve frontě) je roven průměrnému času, který požadavek stráví v systému (ve frontě), vynásobenému hodnotou <math>\lambda</math>, tedy: | ||
− | <math>N = \lambda T</math>, | + | <math>N = \lambda T</math>, |
− | <math>N_t = \lambda T_f</math>. | + | <math>N_t = \lambda T_f</math>. |
====Pravděpodobnostní charakteristiky==== | ====Pravděpodobnostní charakteristiky==== | ||
Z hlediska optimalizace a matematických analýz jsou velmi důležité matematické charakteristiky. Mezi ty nejdůležitější se řadí pravděpodobnost, že: | Z hlediska optimalizace a matematických analýz jsou velmi důležité matematické charakteristiky. Mezi ty nejdůležitější se řadí pravděpodobnost, že: | ||
− | + | *Systém nepracuje (že není využit) nebo naopak, že pracuje | |
− | + | *Nově příchozí požadavek bude muset čekat ve frontě | |
− | + | *V systému je <math> \eta </math> požadavků | |
− | + | *Požadavek nebude moci přistoupit k obsluze (systém s omezenou kapacitou míst ve frontě) | |
====Nákladové charakteristiky==== | ====Nákladové charakteristiky==== | ||
Pokud jsme schopni vyjádři náklady na čekání požadavků, prostoje nebo využití obslužných linek, je možné nákladově zefektivnit chod systému | Pokud jsme schopni vyjádři náklady na čekání požadavků, prostoje nebo využití obslužných linek, je možné nákladově zefektivnit chod systému | ||
− | + | *Minimální náklady na provoz za určitý čas | |
− | + | *Optimální počet obslužných linek v provozu | |
====Analytické vs. simulační řešení==== | ====Analytické vs. simulační řešení==== | ||
Line 155: | Line 157: | ||
Pro případy modelů <math>M/M/1</math> a <math>M/M/c</math> se využívá systémových simulací. Napodobuje se chování reálného systému - výhoda je v tom, že výsledky, které bychom normálně sledovali i několik měsíců jsou k dispozici během pár minut. Tímto způsobem se testují téměř všechny navrhované systémy hromadné obsluhy. | Pro případy modelů <math>M/M/1</math> a <math>M/M/c</math> se využívá systémových simulací. Napodobuje se chování reálného systému - výhoda je v tom, že výsledky, které bychom normálně sledovali i několik měsíců jsou k dispozici během pár minut. Tímto způsobem se testují téměř všechny navrhované systémy hromadné obsluhy. | ||
− | + | ==Exponenciální model <math>M/M/1</math>== | |
+ | Je sobota odpoledne, odpočíváte po náročném pracovním týdnu a rozhodnete se, že si zlepšíte svou fyzickou kondici a vyrazíte na večerní projížďku na kole. Cestou ale spadnete a musíte navštívit místní pohotovost. Na výběr máte dvě pohotovosti v sousedství, ale o víkendu na obou pohotovostech ordinuje pouze jeden lékař. Víte, že pacienti přicházejí na pohotovost A každých 8 minut (intervaly mezi příchody jsou exponenciálně rozdělené), na pohotovost B každých 10 minut (se stejným rozdělením). Průměrná doba ošetření je v nemocnici A 6 minut, v nemocnici B 5 minut. Průměrná doba rozdělení je náhodná veličina s exponenciálním rozdělením. Pacienti jsou na obou pohotovostech přijímáni v tom pořadím, ve kterém do nemocnice přišli. Kterou pohotovost si vyberete? | ||
+ | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
− | |+ Předpoklady | + | |+ Předpoklady<ref>JABLONSKÝ, Josef. <i>Operační výzkum: kvantitativní modely pro ekonomické rozhodování</i>. 1. vyd. Praha: Professional Publishing, 2002, 323 s. ISBN 80-864-1923-1.</ref> |
− | |- | + | |- |
− | | | + | | Pouze jedna obslužná linka |
− | |- | + | |- |
− | | | + | | Intervaly mezi příchody mají exponenciální rozdělení s parametrem <math>\lambda</math> |
− | |- | + | |- |
− | | | + | | Doba trvání obsluhy je náhodná veličina s exponenciálním rozdělením s parametrem <math>\mu</math> |
− | |- | + | |- |
− | | | + | | Neomezená kapacita systému |
− | |- | + | |- |
− | | | + | | Neomezený zdroj požadavků |
− | |- | + | |- |
− | | | + | | Režim fronty FIFO |
|} | |} | ||
− | + | Pro optimalizaci a stabilizaci systému je důležité, aby byla splněna základní podmínka, a to, že intenzita příchodů <math>\lambda</math> je nižší než intenzita obsluhy <math>\mu</math>, tedy intenzita provozu <math>\rho > 1</math>. | |
Systém má dva parametry - intenzitu příchodů <math>\lambda</math> a intenzitu obsluhy <math>\mu</math>. | Systém má dva parametry - intenzitu příchodů <math>\lambda</math> a intenzitu obsluhy <math>\mu</math>. | ||
Pravděpodobnost, že v systému není žádný požadavek (=obslužný systém není v provozu): | Pravděpodobnost, že v systému není žádný požadavek (=obslužný systém není v provozu): | ||
− | <math>p_0 = 1 - \frac{\lambda}{\mu}</math>. | + | <math>p_0 = 1 - \frac{\lambda}{\mu}</math>. |
Tedy pravděpodobnost, že v systému je alespoň 1 požadavek (=obslužný systém je v provozu): | Tedy pravděpodobnost, že v systému je alespoň 1 požadavek (=obslužný systém je v provozu): | ||
− | <math>\rho = \frac{\lambda}{\mu}</math> | + | <math>\rho = \frac{\lambda}{\mu}</math> |
Prvek <math>\rho</math> označuje intenzitu provozu systému hromadné obsluhy. Tato hodnota udává zároveň pravděpodbobnost, že nově příchozí požadavek do systému bude muset čekat ve frontě. | Prvek <math>\rho</math> označuje intenzitu provozu systému hromadné obsluhy. Tato hodnota udává zároveň pravděpodbobnost, že nově příchozí požadavek do systému bude muset čekat ve frontě. | ||
Line 187: | Line 191: | ||
Pravděpodobnost, že v systému je <math>n</math> požadavků a <math>(n-1)</math> požadavků čeká ve frontě: | Pravděpodobnost, že v systému je <math>n</math> požadavků a <math>(n-1)</math> požadavků čeká ve frontě: | ||
− | <math>p_n = p_0 \rho^n = (1- \rho)\rho^n</math> | + | <math>p_n = p_0 \rho^n = (1- \rho)\rho^n</math> |
Průměrná doba, kterou požadavek stráví v systému a ve frontě je <math> T = \frac{1}{\mu - \lambda}</math>, tedy | Průměrná doba, kterou požadavek stráví v systému a ve frontě je <math> T = \frac{1}{\mu - \lambda}</math>, tedy | ||
− | <math> T_f = T - \frac{1}{\mu} = \frac{\lambda}{\mu(\mu - \lambda)}</math> | + | <math> T_f = T - \frac{1}{\mu} = \frac{\lambda}{\mu(\mu - \lambda)}</math>. |
Průměrný počet požadavků v systému <math>(N)</math>, a ve frontě <math>(N_f)</math>: | Průměrný počet požadavků v systému <math>(N)</math>, a ve frontě <math>(N_f)</math>: | ||
− | <math> N = \lambda T = \frac{\lambda}{\mu-\lambda}</math>, | + | <math> N = \lambda T = \frac{\lambda}{\mu-\lambda}</math>, |
+ | |||
+ | odtud | ||
+ | <math> N_f = \lambda T_f = \frac{\lambda^2}{\mu(\mu-\lambda)} </math>. | ||
+ | |||
+ | Nyní se vrátíme k našemu příkladu, jak si vybrat lepší pohotovost? Pokud dosadíme hodnoty do vzorečků, získáme rychlou odpověď. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! proměnná !! Pohotovost A !! Pohotovost B | ||
+ | |- | ||
+ | | <math>\lambda</math>, intenzita příchodů (1 hod) || 60/8=7,5 || 60/10=6 | ||
+ | |- | ||
+ | | <math>\mu</math>, intenzita obsluhy (1 hod) || 60/6=10 || 60/5=12 | ||
+ | |- | ||
+ | | <math>\rho</math>, intenzita provozu || 7,5/10=0,75 || 6/12 = 0,5 | ||
+ | |- | ||
+ | |} | ||
+ | S pravděpodobností 75% bude na pohotovosti A alespoň jeden pacient, na pohotovosti B 50%. Naopak na pohotovosti A s pravděpodobností 25% (1-0,75) nebude v čekárně nikdo čekat, v pohotovosti B s pravděpodobností 50%. | ||
+ | |||
+ | ===Ukládání na single server s frontou <ref>COHEN, Jacob Willem, O BOXMA a R SYSKI. <i>Queueing theory and its applications: liber amicorum for J.W. Cohen</i>. New York, N.Y., U.S.A.: Sole distributors for U.S.A. and Canada, Elsevier Science, 1988, xxii, 446 p. ISBN 04-447-0497-3.</ref>=== | ||
+ | |||
+ | {| class="wikitable" align=right width="225" | ||
+ | ! scope="col" width="50px" | Queueing Theory and its Applications <ref>COHEN, Jacob Willem, O BOXMA a R SYSKI. Queueing theory and its applications: liber amicorum for J.W. Cohen. New York, N.Y., U.S.A.: Sole distributors for U.S.A. and Canada, Elsevier Science, 1988, xxii, 446 p. ISBN 04-447-0497-3.</ref> | ||
+ | Liber Amicorum for J. W. Cohen | ||
+ | [[File:Wblal26_Cohen_Wim.jpeg]] | ||
+ | |- | ||
+ | | | ||
+ | Sbírka výzkumných prací k výročí 65. narozenin | ||
+ | Části knihy | ||
+ | *Single server fronty | ||
+ | *Analytické metody v teorii front | ||
+ | *Sítě a počítače | ||
+ | *Modely front a příbuzné obory | ||
+ | |||
+ | |} | ||
+ | |||
+ | Efektivní ukládání a maintanence front je základním prvkem počítačových věd. V následující studii od E. G. Coffmana Jr. a I. Mitraniho ze společností AT&T Bell Laboratiories zpracovávají stochastické modely lineárních úložných zařízení s frontou M/M/1, jako skrytým procesem příchodů a odchodů požadavků. Dále se zabývají nevyužitým prostorem při využití FIFO fronty, procesorově sdílenými službami a přísnými alokačními pravidly. | ||
+ | *Představení problému | ||
+ | V aplikacích teorie front existuje mnoho obsáhlých studií zaměřených ne pouze na výkonost a počet front a čekacích časů, ale i na analýzu zdrojů a řazení položek do front. V této výzkumné práci platí následující omezení: | ||
− | + | a) fronta může být nekonečná a ukládání probíhá do lineárního pole, | |
− | Pro | + | b) požadavek je umístěn do buňky, kde zůstává až do jeho vyřízení |
+ | |||
+ | Model má určenou politiku ukládání. Což znamená pravidlo, které rozhoduje, do které z prázdných buněk ve frontě budou příchozí požadavky ukládány. Pro ukládání využíváme FIFO službu a nové přírůstky do fronty rozšiřují frontu doprava, pokud je fronta prázdná, uloží se příchozí požadavek co nejvíc doleva. | ||
+ | Proměnné: | ||
+ | |||
+ | <math>Q_t</math> délka fronty v čase <math>t</math>, | ||
+ | |||
+ | <math>R_t</math> index poslední obsazené buňky v čase <math>t</math> | ||
+ | |||
+ | <math>W_t=R_t - Q_t</math> počet prázdných buněk směrem doleva (zbytečně volných buněk) | ||
+ | |||
+ | Zároveň definujeme <math>W_t = R_t = 0</math>, pokud <math>Q_t=0</math>. | ||
+ | |||
+ | Pokud je <math>Q_t</math> Markovův proces, tak R ani W nejsou Markovým řetězcem. Primárně předpokládáme stacionární chování, a pokud opomeneme index <math>t</math> z našeho procesu, odkážeme se na náhodnou veličinu se stacionárním rozdělením. Definujme <math>\{p_i\}</math> a <math>\{q_i\}</math> jako distribuce <math>W</math> a <math>Q</math> a složenou distribuci <math>(W,Q)</math> určenou pomocí <math>\{p_{ij}\}</math>. Zároveň definujeme generující funkci: | ||
+ | |||
+ | <math>F(u,v) = \sum\limits_{i &\ge& 0}</math> <math>\sum\limits_{j &\ge& 0}p_{ij}u^iv^j</math> | ||
+ | |||
+ | <math>F(u,1)</math> a <math>F(1,v)</math> generují <math>p_i</math> a <math>q_i</math>. Klasické modely dokazují, že pokud je <math>\rho = (\frac{\lambda}{\mu})<1</math>. Proto v případě <math>Q</math> dostaneme: | ||
+ | |||
+ | <math>q_i = (1-p)p^1, i &\ge&0</math> | ||
+ | Je vhodné rozšířit naši pravděpdobnostní notaci pro negativní hodnoty indexu (ale definujeme je jako nulové), proto: <math>p_i\equiv0, q_i \equiv 0</math>, pokud <math>i>1</math> a <math>p_{ij}\equiv0</math>, pokud je <math>i<0</math> nebo <math>j<0</math>. | ||
+ | *FIFO Fronta | ||
+ | Nové příchody jsou umístěny do prázdných buněk, za poslední obsazenou (nebo do první buňky, pokud je fronta prázdná). Primárním cílem je nalézt distribuci <math>W</math>: <math>\{p_i\}</math> | ||
+ | |||
+ | [[File:Xblal26_FIFO.png]] | ||
+ | |||
+ | Jelikož <math>W_t</math> není Markovův proces, můžeme ho analyzovat jako okraj bivariačního Markovova procesu <math>(W_t,Q_t)</math> se stacionární pravděpodobností <math>P_{ij}</math>. Z definice modelu dostáváme <math>Q_t = 0</math>, to ovlivňuje <math>W_t = 0</math>, následně dosadíme: | ||
+ | |||
+ | (2.1) <math>P_{00} = q_0 = (1-p), P_{i0} = 0, i &\ne& 0 </math>. | ||
+ | |||
+ | Obecná generující funkce (2.2): <math>P_{ij} = \fra{1}{1+p}q_{i-1, j+1} + \frac{p}{1+p} P_{i,j-1}, j &\ne& 0 </math>. | ||
+ | |||
+ | Pokud dosadíme do naší, získáme (2.3): <math>F(u,v) = (1-p) \frac{u-(1+p)v+uvK(u)}{pv^2 -(1+p)v+u}</math>, kde | ||
+ | |||
+ | <math>K(u)=\frac{1}{1-p}\sum\limits_{i&\ge&0}p_{i1} u^i </math> je neznámou funkcí. | ||
+ | |||
+ | Nyní je <math>F(u,v)</math> analytické pro <math>u</math> a <math>v</math>, kdykoliv jmenovatel dosáhne kořenu musí i čitatel. Pro každé <math>u</math> v jednotce disku je přesně jedno <math>v</math>, pro které jmenovatel zmizí a tato hodnota je dána (2.4): | ||
+ | |||
+ | <math>v(u) = \frac{1+p-&\sqrt{(1+p)^2-4pu}&}{2p}</math>, | ||
+ | |||
+ | následnou substitucí (2.4) a dosazením do čitatele (2.3) dostaneme (2.5): | ||
+ | |||
+ | <math>K(u) = \frac{(1+p)v(u)-u}{uv(u)}</math>. | ||
+ | |||
+ | Další substitucí (2.5) do (2.3) a nastavením <math>v=1</math>, dostaneme požadovanou generující funkci <math>p_i</math> (2.6): | ||
+ | |||
+ | <math>F(u,1)=(1-p) \frac{u(1-v(u))}{(1-u)v(u)}</math>. | ||
+ | |||
+ | Nyní jsme se dostali k momentu, kde použijeme klasické řešení - například: <math>E(W)=(\frac{p}{(1-p)})^2</math>. | ||
+ | |||
+ | Studie dále pokračuje výpočtem horních hranic modelu, dolní hranicí procesorově-sdíleným modelem a asymptotickými odhady. | ||
− | + | ==Exponenciální model <math>M/M/c</math>== | |
+ | Na úvod si opět uveďme jednoduchý příklad. Česká pošta modernizuje svou pobočku v nejmenovaném městě. Rozhodla se, že pro listovní operace vyhradí 3 přepážky. Obyvatelé, potenciální zákazníci, si po příchodu berou pořadové číslo a zařadí se do fronty. Podle těchto čísel jsou voláni k volné přepážce. Následně bylo odpozorováno, že po rekonstrukci přicházejí zákazníci s průměrnou intenzitou 68 za hodinu s tím, že intervaly mezi příchody mají exponenciální rozdělení. Každý klient stráví u přepážky různě dlouhou dobu (náhodná veličina) s exponenciálním rozdělením se střední hodnout 2,4 minuty (za hodinu je každá přepážka schopná odbavit 25 klientů (=60/2,4). Úkolem je zjistit, průměrnou dobu čekání na odbavení (ve frontě) a průměrnou dobu obsluhy včetně obsluhy. | ||
− | {| class="wikitable" | + | Podmínkou pro optimalizaci je intenzita celého provozu systému <math>\rho = \frac{\lambda}{c \mu} <1</math> |
− | |+ | + | {| class="wikitable" border="1" |
− | + | |+ Předpoklady <math>M/M/c</math> <ref>JABLONSKÝ, Josef. <i>Operační výzkum: kvantitativní modely pro ekonomické rozhodování</i>. 1. vyd. Praha: Professional Publishing, 2002, 323 s. ISBN 80-864-1923-1.</ref> | |
|- | |- | ||
− | | | + | |<math>c</math> identických obslužných jednotek v systému |
|- | |- | ||
− | | | + | | Intervaly mezi příchody požadavků mají exponenciální rozdělení s parametrem <math>\lambda</math> |
|- | |- | ||
− | | | + | | Doba obsluhy na každé z linek je náhodná veličina s exponenciálním rozdělením s parametrem <math>\mu</math> |
|- | |- | ||
− | | | + | | Neomezená kapacita systému |
|- | |- | ||
− | | | + | | Neomezený zdroj požadavků |
|- | |- | ||
− | | | + | | Režim fronty FIFO |
+ | |} | ||
+ | |||
+ | Systém má tři parametry - počet obslužných linek <math>c</math>, intenzitu příchodů <math>\lambda</math> a intenzitu obsluhy <math>\mu</math> u každé z obslužných linek. | ||
+ | |||
+ | Intenzita obsluhy je u každé z linek vlastní, a proto je výsledek celého systému roven součinu <math>c</math> a <math>\mu</math>. | ||
+ | |||
+ | Základní proměnné: | ||
+ | |||
+ | poměr intenzity příchodů a individuální intenzity obsluhy <math>r = \frac{\lambda}{\mu}</math> | ||
+ | |||
+ | intenzita provozu celého systému <math>\rho = \frac{\lambda}{c\mu}</math> (=průměrné využití všech obslužných linek systému) | ||
+ | |||
+ | |||
+ | Pravděpodobnost, že v systému není žádný požadavek (=obslužný systém není v provozu): | ||
+ | |||
+ | <math>p_0 = [(\sum\limits_{k=0}^{c-1}\frac{r^k}{k!}) + \frac{cr^c}{(c-r)c!}]^{-1}</math>. | ||
+ | |||
+ | Tedy pravděpodobnost, že v systému je alespoň n požadavků, <math>n&\le&c</math> (=obslužný systém je v provozu): | ||
+ | |||
+ | <math>p_n = \frac{r^n}{n!}p_0, n&\le&c</math>. | ||
+ | |||
+ | Pravděpodobnost, že v systému je <math>n</math> požadavků (<math>n>c</math>), všechny systémy jsou tedy v provozu: | ||
+ | |||
+ | <math>p_n = \frac{r^n}{c!c^{n/c}}p_0, n>c</math>. | ||
+ | |||
+ | |||
+ | Průměrná doba, kterou požadavek stráví v systému <math>(T)</math> a ve frontě je <math>(T_f)</math>: | ||
+ | |||
+ | <math> T_f = \frac{r^c \mu}{(c-1)!(c\mu-\lambda)^2}p_0, n>c </math>, | ||
+ | tedy | ||
+ | |||
+ | <math> T = T_f + \frac{1}{\mu}</math>. | ||
+ | |||
+ | Průměrný počet požadavků v systému <math>(N)</math>, a ve frontě <math>(N_f)</math>: | ||
+ | |||
+ | <math> N = \lambda T</math>, | ||
+ | |||
+ | odtud | ||
+ | <math> N_f = \lambda T_f </math>. | ||
+ | |||
+ | Pravděpodobnost, že nově příchozí požadavek bude zařazen do fronty, | ||
+ | |||
+ | <math>P_f = \frac{r^c c}{c!(c-r)}p_0</math>. | ||
+ | |||
+ | Zpět k našemu příkladu. Máme uvedno, že v systému jsou 3 přepážky vyřizující listovní služby - tedy <math>c=4</math>. Intenzita příchodů požadavků je průměrně 68 za hodinu a intenzita obsluhy je 25 klientů za hodiny | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! proměnná !! hodnota | ||
+ | |- | ||
+ | | <math>\lambda</math>, intenzita příchodů (1 hod) || 68 | ||
+ | |- | ||
+ | | <math>\mu</math>, intenzita obsluhy (1 hod) || 25 | ||
+ | |- | ||
+ | | <math>\rho</math>, intenzita provozu celého systému || 68/75 = 0,9067 | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | Podmínka stabilizace je splněna (<math>\rho<1</math>). Nejprve vypočteme pravděpodobnost, že v systému není žádný požadavek: | ||
+ | |||
+ | <math>p_0 = [\frac{2,72^0}{0!}+\frac{2,72^1}{1!}+\frac{2,72^2}{2!}+\frac{2,72^3}{3!} = \frac{1}{1+2,72+3,699+35,935} = 0,0231]</math>. | ||
+ | |||
+ | |||
+ | Pravděpodobnost je tedy 2,31%. | ||
+ | |||
+ | |||
+ | Časové charakteristiky a informace o počtu požadavků získame při použití rovnic na výpočet <math>T_f, T, N_f</math> a <math>N</math>. | ||
+ | |||
+ | <math>T_f = \frac{2,72^3 25}{(3-1)!(75-68)^2}p_0 = \frac{503,1}{98}0,231 = 0,1184 hod = 7,1 min</math> | ||
+ | |||
+ | <math>T = 0,1184 + \frac{1}{25}= = 0,1584 hod = 9,5 min </math> | ||
+ | |||
+ | <math>N_t = 68(0,1184)=8,05 </math> zákazníka , | ||
+ | |||
+ | <math>N = 68(0,1584)=10,77 </math>zákazníka. | ||
+ | |||
+ | Průměrná doba čekání ve frontě je tedy 7,1 minuty, průměrná doba včetně obsluhy potom 9,5 minuty. Ve frontě je průměrně více jak 8 zákazníků a v celém systému 10, 77. | ||
+ | |||
+ | |||
+ | ====Optimalizace modelu <math>M/M/c</math>==== | ||
+ | Optimalizace probíhá na úrovni nalezení konkrétní hodnoty <math>c</math>, tak aby byly minimalizovány náklady na provoz celého systému. | ||
+ | Proměnné: | ||
+ | |||
+ | <math>k_1</math> náklady na pobyt jednoho požadavku v systému za jednotku času | ||
+ | |||
+ | <math>k_2</math> náklady na provoz jedné obslužné linky v systému za jednotku času | ||
+ | |||
+ | <math>N</math> průměrný počet jednotek v systému | ||
+ | |||
+ | <math>c</math> počet paralelně řazených obslužných linek | ||
+ | |||
+ | Nákladovou funkci definujeme: | ||
+ | |||
+ | <math>NF(c) = K_1 N + K_2 c</math>. | ||
+ | Rovnice se skládá ze dvou částí: <math>K_1N</math> a <math>K_2 c</math>. První část (<math>K_1N</math>) značí náklady na pobyt požadavku v systému za určitý čas a druhá část (<math>K_2 c</math>) charakterizuje náklady na provoz všech obslužných linek za časovou jednotku. | ||
+ | Při navýšení obslužných systémů dojde ke zvýšení nákladů a sníží se průměrný počet požadavků v systému a naopak. | ||
+ | |||
+ | Pokud použijeme příklad pošty, doplníme náklady - například, pokud náklady na pobyt jednoho zákazníka v systému jsou 200 Kč (<math>K_1</math>, náklady na provoz přepážky jsou 500 Kč <math>K_2</math>. | ||
+ | Při celkovém počtu <math>c=3</math> přepážek, které jsme uvažovali, byl průměrný systém <math>N = 10,77</math>. | ||
+ | |||
+ | Po dosazení do nákladové funkce dostaneme výslednou částku: | ||
+ | |||
+ | <math>NF(3)=200/(10,77)+500(3)= 3654</math> Kč. | ||
+ | |||
+ | Pro nalezení optimálního poměru mezi počtem obslužných linek a náklady použijeme vypočtenou tabulku: | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! počet linek !! N pobyt klientů !! N provoz !! N celkem | ||
+ | |- | ||
+ | | 2 || <math>\infty</math> || 1000 || <math>\infty</math> | ||
+ | |- | ||
+ | | 3 || 2154 || 1500 || 3654 | ||
+ | |- | ||
+ | | 4 || 714 || 2000 || 2714 | ||
+ | |- | ||
+ | | 5 || 586 || 2500 || 3086 | ||
+ | |- | ||
+ | | 6 || 556 || 3000 || 3556 | ||
|} | |} | ||
+ | |||
+ | Z této tabulky můžeme vybrat pro nás nejlepší poměr mezi náklady na pobyt v systému a na provoz. (např. nyní pro nás nejlépe vycházejí 4 obslužné linky, 3 jsou nejdražší). | ||
==Reference== | ==Reference== | ||
<references /> | <references /> |
Latest revision as of 20:02, 18 June 2015
Contents
- 1 Teorie hromadné obsluhy (Teorie front) [1]
- 1.1 Úvod
- 1.2 Analýza systému hromadné obsluhy
- 1.3 Exponenciální model Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle M/M/1}
- 1.4 Exponenciální model Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle M/M/c}
- 1.5 Reference
Teorie hromadné obsluhy (Teorie front) [1]
Jednou z podskupin diskrétních simulací je teorie hromadné obsluhy, v češtině často nazývaná jako "Teorie front".
Úvod
Teorie front zkoumá systémy, na které opakovaně přicházejí sekvence požadavků a jejich výskyt je náhodný. Zjišťujeme tak například potřebnou kapacitu zdrojů, nebo optimální využití výrobních linek. Tato chování se dají nasimulovat do tzv. stochastických modelů. Cílem těchto modelů je analýza stávajících systémů a nalezení nejvhodnějšího způsobu optimalizace. Zároveň se musí optimalizovat množství lidí čekajících ve frontě a vytížení obslužných linek. Pro simulování frontových systémů potřebujeme informace o vstupním toku (např. jak často přijde nový požadavek na server), o frontovém systému, který se vytvoří, pokud požadavek nemůže být ihned vyřízen a organizace obsluhy - počet volných jednotek vykonávající proces obsluhy a jejich popis. Pokud mluvíme o vstupu jako o zákazníkovi, nejedná se o zákazníka v striktním slova smyslu, ale může to být proces, služba, člověk ale i jakýkoliv požadavek čekající na vyřízení.
systém | obslužné linky | požadavky |
---|---|---|
banka | úředníci u přepážky | klienti |
výrobní linka | místa na výrobní lince | výrobky |
ordinace u lékaře | lékař | pacienti |
lyžařské středisko | vleky | lyžaři |
benzínová pumpa | čerpací stojany | vozidla |
samoobsluha | pokladny, nákupní vozíky | zákazníci |
Schéma teorie front
- Objekty vyžadující obsluhu (zákazníci, jednotky, požadavky)
- Množina jednotek přicházející v úvahu pro hromadnou obsluhu
- Časová posloupnost vstupu jednotek
- Množina jednotek čekajících na obsluhu
- Systém realizující obsluhu
- Časová posloupnost výstupu
Základní informace nutné k řešení
Pro analýzu a návrh/optimalizaci systémů hromadné obsluhy je nutné znát základní parametry:
Vstupní tok
Zdroj požadavků, hraje velmi důležitou roli při analýze systémů hromadné obsluhy. I přesto, že v reálném světě jsou všechny vstupy konečné, při analýze systémů hromadné obsluhy se je lze považovat za nekonečné. "Zákazníci" mohou do systému vstupovat jednotlivě nebo hromadně - popis těchto příchodů probíhá pomocí intenzity příchodů (počet požadavků, které do systému přijdou za časovou jednotku), nebo pomocí intervalů mezi příchody. Např. za hodinu přijde průměrně 8 požadavků za hodinu, potom je interval mezi příchody 1/8 hodiny.
- Deterministický příchod požadavků
Intervaly mezi příchody požadavků jsou fixní hodnoty.
- Stochastický
Intervaly příchodů jsou proměnlivé, a proto bývají definovány pomocí pravděpodobnostních rozdělení. Toto rozdělení zjistíme analýzou empirických dat. Pro většinu případů lze využít rozdělení exponenciální [1] a využívá parametr Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \lambda} pro označení intenzity příchodů. Střední hodnota tohoto rozdělení je určena jako:
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle E(X) = (\frac{1}{\lambda})} .
Převrácená hodnota Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \lambda} - tedy střední hodnota (Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \frac{1}{\lambda}} ) vyjadřuje průměrnou dobu mezi příchody požadavků do systému.
Doba trvání obsluhy
Stejně jako při deklaraci intenzity vstupů se využívají popisy deterministické nebo pravděpobobnostní. Nejčastější je opět rozdělení exponenciální, nyní s parametrem Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \mu} , který označuje intenzitu obsluhy. Střední doba trvání obsluhy dostaneme jako:
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle E(X) = (\frac{1}{\mu})}
Pokud je v systému zahrnuto více obslužných systémů, mohou se zapojovat sériově nebo paralelně do sítí. Tím se zvýší množství vyřízených požadavků při stejném časovém úseku. U paralelně zapojených systému se klade důraz na jejich zaměření (ne všechny mohou poskytovat stejné služby).
Převrácená hodnota Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \mu} - tedy střední hodnota Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle (\frac{1}{\mu})} označuje průměrnou délku doby trvání obsluhy.
Frontový režim
Ne vždy jsou všechny požadavky hned vyřízeny a z tohoto důvodu se u obslužných linek mohou tvořit fronty "zákazníků" čekajících na vyřízení. Řád fronty určuje, jak probíhá práce s požadavky ve frontě čekajícími. U paralelně zapojených systémů se rozlišují dva typy fronty - jedním typem je fronta, ze které odchází požadavky ke všem obslužným linkám postupně a druhý, kde se před každým obslužným systémem vytváří fronta vlastní.
- FIFO (First-in / First-out)
Požadavky přistupují k obsluze ve stejném pořadí, ve kterém přišly
- LIFO (Last-in / First-out) = LCFS (Last-come / first-served)
Fronta kdy jdou jako první na řadu ty požadavky, které přišly jako poslední
- SIRO (Service in Random Order)
Náhodný způsob výběru
- PRI (Priority queue)
Požadavky přicházejí s předem definovanými prioritami. Pokud se ve frontě sejde víc požadavků se stejnou prioritou, pokračuje podle klasicky definovaného způsobu (např. FIFO, LIFO, SIRO)
Kendallova klasifikace
D.G. Kendall byl anglický statistik a matematik, v 50. letech zavedl notaci pro jednotnou charakteristiku systémů hromadné obsluhy. Jelikož jsou systémy hromadné obsluhy velmi komplexní, je nutné standardizovat jejich značení pro zjednodušení následných výpočtů.
Profesor David George Kendall [3]
15 January 1918 – 23 October 2007 člen the Royal Society (1964) |
---|
Anglický statistik a matematik Zasadil se o rozvoj teorie pravděpodobnosti, statistické analýzy tvarů a vzhledu Vyučoval v Oxfordu a Cambridge Ocenění * Royal Statistical Society 1955 the Guy Medal in Silver, 1981 the Guy Medal in Gold * London Mathematical Society 1980 Senior Whitehead Prize, 1989 De Morgan Medal |
Jelikož tyto informace nejsou v praxi dostačující, rozšířil se model o další 3 klasifikační třídy.
Na jednotlivé pozice se do modelu dosazují kódy (výsledný model může mít až šestimístný kód - A/B/C/D/E/F)[4]
- A
Pravděpodobností rozdělení intervalů mezi příchody požadavků, nejčastěji:
M - exponenciální rozdělení
D - konstantní interval mezi příchody
G - obecné rozdělení se střední hodnotou a směrodatnou odchylkou
- B
Pravděpodobnostní rozdělení doby obsluhy, stejné jako A (M,D,G)
- C
Počet paralelně zapojených obslužných linek
- D
Kapacita obslužného systému (neuvedeno = Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \infty} )
- E
Zdroje požadavků (neuvedeno = Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \infty} )
- F
Systém fronty (FIFO, LIFO, ...)
Např. zápis systému M/M/1/ Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \infty} / Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \infty} /FIFO se zjednodušeně zapíše M/M/1
Analýza systému hromadné obsluhy
Teorie front se v praxi využívá k určení optimální kapacity obslužných systémů. Pokud jdeme například k lékaři na magnetickou rezonanci, musíme se objednávat dlouho dopředu. Rezonance má své časové limity pro obsloužení jednotlivých pacientů (časové náklady aj.), frontu můžeme urychlit, pokud například přidáme další převlékací místnost - jeden pacient je na MRI, druhý pacient se může připravit, po skončení první pacient rovnou odchází do převlékárny, druhý ho střídá. Pomocí teorie front můžeme určit, jak se zrychlí objednávání pacientů, pokud přidáme další přístroj, jaký by měl být minimální časový rozestup v objednávání pacientů aj.
Časové charakteristiky týkající se požadavků
Zjišťujeme především průměrnou dobu požadavků strávenou ve frontě před obsluhou, označujeme symbolem Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle T_f} a průměrnou dobu strávenou v systému (celkově) Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle T} . Průměrnou dobu, kterou střáví požadavek v systému Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle (T)} je suma průměrné doby strávené ve frontě Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle T_f} a průměrné doby trvání obsluhy Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle (\frac{1}{\mu})} , tedy:
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle T = T_f + (\frac{1}{\mu})} .
Charakteristiky týkající se počtu požadavků
Zjišťujeme půrměrnou délku fronty Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle N_t} nebo průměrný počet požadavků v systému Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle N} . V jednodušších modelech se najde přímý vztah mezi průměrným počtem požadavků v systému (ve frontě) je roven průměrnému času, který požadavek stráví v systému (ve frontě), vynásobenému hodnotou Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \lambda} , tedy:
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle N = \lambda T} ,
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle N_t = \lambda T_f} .
Pravděpodobnostní charakteristiky
Z hlediska optimalizace a matematických analýz jsou velmi důležité matematické charakteristiky. Mezi ty nejdůležitější se řadí pravděpodobnost, že:
- Systém nepracuje (že není využit) nebo naopak, že pracuje
- Nově příchozí požadavek bude muset čekat ve frontě
- V systému je Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \eta } požadavků
- Požadavek nebude moci přistoupit k obsluze (systém s omezenou kapacitou míst ve frontě)
Nákladové charakteristiky
Pokud jsme schopni vyjádři náklady na čekání požadavků, prostoje nebo využití obslužných linek, je možné nákladově zefektivnit chod systému
- Minimální náklady na provoz za určitý čas
- Optimální počet obslužných linek v provozu
Analytické vs. simulační řešení
Analytické řešení se zabývá odvozením charakteristik systému a nalezení vzorců, které se pak používají stále dokola. Například počet obslužných linek Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle c} , intenzita příchodů Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \lambda} , nebo intenzita obsluhy Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \mu} . Analytické řešení bývá velmi uživatelsky příjemné. Výsledky jsou k dispozici velmi rychle, ale dají se použít pouze pro ty jednodužší případy. Tedy není vhodné pro sériově řazené obslužné linky, stejně jako modely s například omezenou trpělivostí požadavků, systém s PRI systémem fronty aj.
Pro případy modelů Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle M/M/1} a Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle M/M/c} se využívá systémových simulací. Napodobuje se chování reálného systému - výhoda je v tom, že výsledky, které bychom normálně sledovali i několik měsíců jsou k dispozici během pár minut. Tímto způsobem se testují téměř všechny navrhované systémy hromadné obsluhy.
Exponenciální model Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle M/M/1}
Je sobota odpoledne, odpočíváte po náročném pracovním týdnu a rozhodnete se, že si zlepšíte svou fyzickou kondici a vyrazíte na večerní projížďku na kole. Cestou ale spadnete a musíte navštívit místní pohotovost. Na výběr máte dvě pohotovosti v sousedství, ale o víkendu na obou pohotovostech ordinuje pouze jeden lékař. Víte, že pacienti přicházejí na pohotovost A každých 8 minut (intervaly mezi příchody jsou exponenciálně rozdělené), na pohotovost B každých 10 minut (se stejným rozdělením). Průměrná doba ošetření je v nemocnici A 6 minut, v nemocnici B 5 minut. Průměrná doba rozdělení je náhodná veličina s exponenciálním rozdělením. Pacienti jsou na obou pohotovostech přijímáni v tom pořadím, ve kterém do nemocnice přišli. Kterou pohotovost si vyberete?
Pouze jedna obslužná linka |
Intervaly mezi příchody mají exponenciální rozdělení s parametrem Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \lambda} |
Doba trvání obsluhy je náhodná veličina s exponenciálním rozdělením s parametrem Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \mu} |
Neomezená kapacita systému |
Neomezený zdroj požadavků |
Režim fronty FIFO |
Pro optimalizaci a stabilizaci systému je důležité, aby byla splněna základní podmínka, a to, že intenzita příchodů Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \lambda} je nižší než intenzita obsluhy Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \mu} , tedy intenzita provozu Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rho > 1} .
Systém má dva parametry - intenzitu příchodů Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \lambda} a intenzitu obsluhy Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \mu} . Pravděpodobnost, že v systému není žádný požadavek (=obslužný systém není v provozu):
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle p_0 = 1 - \frac{\lambda}{\mu}} .
Tedy pravděpodobnost, že v systému je alespoň 1 požadavek (=obslužný systém je v provozu):
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rho = \frac{\lambda}{\mu}}
Prvek Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rho} označuje intenzitu provozu systému hromadné obsluhy. Tato hodnota udává zároveň pravděpodbobnost, že nově příchozí požadavek do systému bude muset čekat ve frontě.
Pravděpodobnost, že v systému je Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle n} požadavků a Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle (n-1)} požadavků čeká ve frontě:
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle p_n = p_0 \rho^n = (1- \rho)\rho^n}
Průměrná doba, kterou požadavek stráví v systému a ve frontě je Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle T = \frac{1}{\mu - \lambda}} , tedy
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle T_f = T - \frac{1}{\mu} = \frac{\lambda}{\mu(\mu - \lambda)}} .
Průměrný počet požadavků v systému Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle (N)} , a ve frontě Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle (N_f)} :
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle N = \lambda T = \frac{\lambda}{\mu-\lambda}} ,
odtud
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle N_f = \lambda T_f = \frac{\lambda^2}{\mu(\mu-\lambda)} } .
Nyní se vrátíme k našemu příkladu, jak si vybrat lepší pohotovost? Pokud dosadíme hodnoty do vzorečků, získáme rychlou odpověď.
proměnná | Pohotovost A | Pohotovost B |
---|---|---|
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \lambda} , intenzita příchodů (1 hod) | 60/8=7,5 | 60/10=6 |
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \mu} , intenzita obsluhy (1 hod) | 60/6=10 | 60/5=12 |
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rho} , intenzita provozu | 7,5/10=0,75 | 6/12 = 0,5 |
S pravděpodobností 75% bude na pohotovosti A alespoň jeden pacient, na pohotovosti B 50%. Naopak na pohotovosti A s pravděpodobností 25% (1-0,75) nebude v čekárně nikdo čekat, v pohotovosti B s pravděpodobností 50%.
Ukládání na single server s frontou [6]
Queueing Theory and its Applications [7] |
---|
Sbírka výzkumných prací k výročí 65. narozenin Části knihy
|
Efektivní ukládání a maintanence front je základním prvkem počítačových věd. V následující studii od E. G. Coffmana Jr. a I. Mitraniho ze společností AT&T Bell Laboratiories zpracovávají stochastické modely lineárních úložných zařízení s frontou M/M/1, jako skrytým procesem příchodů a odchodů požadavků. Dále se zabývají nevyužitým prostorem při využití FIFO fronty, procesorově sdílenými službami a přísnými alokačními pravidly.
- Představení problému
V aplikacích teorie front existuje mnoho obsáhlých studií zaměřených ne pouze na výkonost a počet front a čekacích časů, ale i na analýzu zdrojů a řazení položek do front. V této výzkumné práci platí následující omezení:
a) fronta může být nekonečná a ukládání probíhá do lineárního pole,
b) požadavek je umístěn do buňky, kde zůstává až do jeho vyřízení
Model má určenou politiku ukládání. Což znamená pravidlo, které rozhoduje, do které z prázdných buněk ve frontě budou příchozí požadavky ukládány. Pro ukládání využíváme FIFO službu a nové přírůstky do fronty rozšiřují frontu doprava, pokud je fronta prázdná, uloží se příchozí požadavek co nejvíc doleva. Proměnné:
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle Q_t} délka fronty v čase Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle t} ,
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle R_t} index poslední obsazené buňky v čase Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle t}
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle W_t=R_t - Q_t} počet prázdných buněk směrem doleva (zbytečně volných buněk)
Zároveň definujeme Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle W_t = R_t = 0} , pokud Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle Q_t=0} .
Pokud je Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle Q_t} Markovův proces, tak R ani W nejsou Markovým řetězcem. Primárně předpokládáme stacionární chování, a pokud opomeneme index Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle t} z našeho procesu, odkážeme se na náhodnou veličinu se stacionárním rozdělením. Definujme Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \{p_i\}} a Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \{q_i\}} jako distribuce Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle W} a Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle Q} a složenou distribuci Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle (W,Q)} určenou pomocí Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \{p_{ij}\}} . Zároveň definujeme generující funkci:
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle F(u,v) = \sum\limits_{i &\ge& 0}} Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \sum\limits_{j &\ge& 0}p_{ij}u^iv^j}
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle F(u,1)} a Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle F(1,v)} generují Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle p_i} a Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle q_i} . Klasické modely dokazují, že pokud je Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rho = (\frac{\lambda}{\mu})<1} . Proto v případě Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle Q} dostaneme:
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle q_i = (1-p)p^1, i &\ge&0} Je vhodné rozšířit naši pravděpdobnostní notaci pro negativní hodnoty indexu (ale definujeme je jako nulové), proto: Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle p_i\equiv0, q_i \equiv 0} , pokud Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle i>1} a Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle p_{ij}\equiv0} , pokud je Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle i<0} nebo Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle j<0} .
- FIFO Fronta
Nové příchody jsou umístěny do prázdných buněk, za poslední obsazenou (nebo do první buňky, pokud je fronta prázdná). Primárním cílem je nalézt distribuci Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle W} : Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \{p_i\}}
Jelikož Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle W_t} není Markovův proces, můžeme ho analyzovat jako okraj bivariačního Markovova procesu Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle (W_t,Q_t)} se stacionární pravděpodobností Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle P_{ij}} . Z definice modelu dostáváme Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle Q_t = 0} , to ovlivňuje Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle W_t = 0} , následně dosadíme:
(2.1) Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle P_{00} = q_0 = (1-p), P_{i0} = 0, i &\ne& 0 } .
Obecná generující funkce (2.2): Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle P_{ij} = \fra{1}{1+p}q_{i-1, j+1} + \frac{p}{1+p} P_{i,j-1}, j &\ne& 0 } .
Pokud dosadíme do naší, získáme (2.3): Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle F(u,v) = (1-p) \frac{u-(1+p)v+uvK(u)}{pv^2 -(1+p)v+u}} , kde
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle K(u)=\frac{1}{1-p}\sum\limits_{i&\ge&0}p_{i1} u^i } je neznámou funkcí.
Nyní je Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle F(u,v)} analytické pro Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle u} a Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle v} , kdykoliv jmenovatel dosáhne kořenu musí i čitatel. Pro každé Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle u} v jednotce disku je přesně jedno Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle v} , pro které jmenovatel zmizí a tato hodnota je dána (2.4):
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle v(u) = \frac{1+p-&\sqrt{(1+p)^2-4pu}&}{2p}} ,
následnou substitucí (2.4) a dosazením do čitatele (2.3) dostaneme (2.5):
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle K(u) = \frac{(1+p)v(u)-u}{uv(u)}} .
Další substitucí (2.5) do (2.3) a nastavením Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle v=1} , dostaneme požadovanou generující funkci Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle p_i} (2.6):
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle F(u,1)=(1-p) \frac{u(1-v(u))}{(1-u)v(u)}} .
Nyní jsme se dostali k momentu, kde použijeme klasické řešení - například: Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle E(W)=(\frac{p}{(1-p)})^2} .
Studie dále pokračuje výpočtem horních hranic modelu, dolní hranicí procesorově-sdíleným modelem a asymptotickými odhady.
Exponenciální model Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle M/M/c}
Na úvod si opět uveďme jednoduchý příklad. Česká pošta modernizuje svou pobočku v nejmenovaném městě. Rozhodla se, že pro listovní operace vyhradí 3 přepážky. Obyvatelé, potenciální zákazníci, si po příchodu berou pořadové číslo a zařadí se do fronty. Podle těchto čísel jsou voláni k volné přepážce. Následně bylo odpozorováno, že po rekonstrukci přicházejí zákazníci s průměrnou intenzitou 68 za hodinu s tím, že intervaly mezi příchody mají exponenciální rozdělení. Každý klient stráví u přepážky různě dlouhou dobu (náhodná veličina) s exponenciálním rozdělením se střední hodnout 2,4 minuty (za hodinu je každá přepážka schopná odbavit 25 klientů (=60/2,4). Úkolem je zjistit, průměrnou dobu čekání na odbavení (ve frontě) a průměrnou dobu obsluhy včetně obsluhy.
Podmínkou pro optimalizaci je intenzita celého provozu systému Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rho = \frac{\lambda}{c \mu} <1}
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle c} identických obslužných jednotek v systému |
Intervaly mezi příchody požadavků mají exponenciální rozdělení s parametrem Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \lambda} |
Doba obsluhy na každé z linek je náhodná veličina s exponenciálním rozdělením s parametrem Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \mu} |
Neomezená kapacita systému |
Neomezený zdroj požadavků |
Režim fronty FIFO |
Systém má tři parametry - počet obslužných linek Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle c} , intenzitu příchodů Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \lambda} a intenzitu obsluhy Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \mu} u každé z obslužných linek.
Intenzita obsluhy je u každé z linek vlastní, a proto je výsledek celého systému roven součinu Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle c} a Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \mu} .
Základní proměnné:
poměr intenzity příchodů a individuální intenzity obsluhy Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle r = \frac{\lambda}{\mu}}
intenzita provozu celého systému Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rho = \frac{\lambda}{c\mu}} (=průměrné využití všech obslužných linek systému)
Pravděpodobnost, že v systému není žádný požadavek (=obslužný systém není v provozu):
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle p_0 = [(\sum\limits_{k=0}^{c-1}\frac{r^k}{k!}) + \frac{cr^c}{(c-r)c!}]^{-1}} .
Tedy pravděpodobnost, že v systému je alespoň n požadavků, Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle n&\le&c} (=obslužný systém je v provozu):
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle p_n = \frac{r^n}{n!}p_0, n&\le&c} .
Pravděpodobnost, že v systému je Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle n} požadavků (Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle n>c} ), všechny systémy jsou tedy v provozu:
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle p_n = \frac{r^n}{c!c^{n/c}}p_0, n>c} .
Průměrná doba, kterou požadavek stráví v systému Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle (T)}
a ve frontě je Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle (T_f)}
:
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle T_f = \frac{r^c \mu}{(c-1)!(c\mu-\lambda)^2}p_0, n>c } ,
tedy
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle T = T_f + \frac{1}{\mu}} .
Průměrný počet požadavků v systému Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle (N)} , a ve frontě Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle (N_f)} :
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle N = \lambda T} ,
odtud
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle N_f = \lambda T_f } .
Pravděpodobnost, že nově příchozí požadavek bude zařazen do fronty,
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle P_f = \frac{r^c c}{c!(c-r)}p_0} .
Zpět k našemu příkladu. Máme uvedno, že v systému jsou 3 přepážky vyřizující listovní služby - tedy Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle c=4} . Intenzita příchodů požadavků je průměrně 68 za hodinu a intenzita obsluhy je 25 klientů za hodiny
proměnná | hodnota |
---|---|
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \lambda} , intenzita příchodů (1 hod) | 68 |
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \mu} , intenzita obsluhy (1 hod) | 25 |
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rho} , intenzita provozu celého systému | 68/75 = 0,9067 |
Podmínka stabilizace je splněna (Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \rho<1} ). Nejprve vypočteme pravděpodobnost, že v systému není žádný požadavek:
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle p_0 = [\frac{2,72^0}{0!}+\frac{2,72^1}{1!}+\frac{2,72^2}{2!}+\frac{2,72^3}{3!} = \frac{1}{1+2,72+3,699+35,935} = 0,0231]} .
Pravděpodobnost je tedy 2,31%.
Časové charakteristiky a informace o počtu požadavků získame při použití rovnic na výpočet Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle T_f, T, N_f}
a Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle N}
.
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle T_f = \frac{2,72^3 25}{(3-1)!(75-68)^2}p_0 = \frac{503,1}{98}0,231 = 0,1184 hod = 7,1 min}
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle T = 0,1184 + \frac{1}{25}= = 0,1584 hod = 9,5 min }
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle N_t = 68(0,1184)=8,05 } zákazníka ,
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle N = 68(0,1584)=10,77 } zákazníka.
Průměrná doba čekání ve frontě je tedy 7,1 minuty, průměrná doba včetně obsluhy potom 9,5 minuty. Ve frontě je průměrně více jak 8 zákazníků a v celém systému 10, 77.
Optimalizace modelu Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle M/M/c}
Optimalizace probíhá na úrovni nalezení konkrétní hodnoty Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle c} , tak aby byly minimalizovány náklady na provoz celého systému. Proměnné:
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle k_1} náklady na pobyt jednoho požadavku v systému za jednotku času
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle k_2} náklady na provoz jedné obslužné linky v systému za jednotku času
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle N} průměrný počet jednotek v systému
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle c} počet paralelně řazených obslužných linek
Nákladovou funkci definujeme:
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle NF(c) = K_1 N + K_2 c} .
Rovnice se skládá ze dvou částí: Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle K_1N} a Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle K_2 c} . První část (Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle K_1N} ) značí náklady na pobyt požadavku v systému za určitý čas a druhá část (Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle K_2 c} ) charakterizuje náklady na provoz všech obslužných linek za časovou jednotku. Při navýšení obslužných systémů dojde ke zvýšení nákladů a sníží se průměrný počet požadavků v systému a naopak.
Pokud použijeme příklad pošty, doplníme náklady - například, pokud náklady na pobyt jednoho zákazníka v systému jsou 200 Kč (Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle K_1} , náklady na provoz přepážky jsou 500 Kč Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle K_2} . Při celkovém počtu Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle c=3} přepážek, které jsme uvažovali, byl průměrný systém Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle N = 10,77} .
Po dosazení do nákladové funkce dostaneme výslednou částku:
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle NF(3)=200/(10,77)+500(3)= 3654} Kč.
Pro nalezení optimálního poměru mezi počtem obslužných linek a náklady použijeme vypočtenou tabulku:
počet linek | N pobyt klientů | N provoz | N celkem |
---|---|---|---|
2 | Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \infty} | 1000 | Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \infty} |
3 | 2154 | 1500 | 3654 |
4 | 714 | 2000 | 2714 |
5 | 586 | 2500 | 3086 |
6 | 556 | 3000 | 3556 |
Z této tabulky můžeme vybrat pro nás nejlepší poměr mezi náklady na pobyt v systému a na provoz. (např. nyní pro nás nejlépe vycházejí 4 obslužné linky, 3 jsou nejdražší).
Reference
- ↑ JABLONSKÝ, Josef. Operační výzkum: kvantitativní modely pro ekonomické rozhodování. 1. vyd. Praha: Professional Publishing, 2002, 323 s. ISBN 80-864-1923-1.
- ↑ JABLONSKÝ, Josef. Operační výzkum: kvantitativní modely pro ekonomické rozhodování. 1. vyd. Praha: Professional Publishing, 2002, 323 s. ISBN 80-864-1923-1.
- ↑ Divergiendo: 23 de octubre: David Kendall. Divergiendo [online]. 2012 [cit. 2015-06-16]. Dostupné z: https://divergiendo.wordpress.com/2012/10/23/23-de-octubre-david-kendall/
- ↑ JABLONSKÝ, Josef. Operační výzkum: kvantitativní modely pro ekonomické rozhodování. 1. vyd. Praha: Professional Publishing, 2002, 323 s. ISBN 80-864-1923-1.
- ↑ JABLONSKÝ, Josef. Operační výzkum: kvantitativní modely pro ekonomické rozhodování. 1. vyd. Praha: Professional Publishing, 2002, 323 s. ISBN 80-864-1923-1.
- ↑ COHEN, Jacob Willem, O BOXMA a R SYSKI. Queueing theory and its applications: liber amicorum for J.W. Cohen. New York, N.Y., U.S.A.: Sole distributors for U.S.A. and Canada, Elsevier Science, 1988, xxii, 446 p. ISBN 04-447-0497-3.
- ↑ COHEN, Jacob Willem, O BOXMA a R SYSKI. Queueing theory and its applications: liber amicorum for J.W. Cohen. New York, N.Y., U.S.A.: Sole distributors for U.S.A. and Canada, Elsevier Science, 1988, xxii, 446 p. ISBN 04-447-0497-3.
- ↑ JABLONSKÝ, Josef. Operační výzkum: kvantitativní modely pro ekonomické rozhodování. 1. vyd. Praha: Professional Publishing, 2002, 323 s. ISBN 80-864-1923-1.