22
1 OBSAH 6 MODELOVÁNÍ SYSTÉMŮ HROMADNÉ OBSLUHY ........................... 2 6.1 Obslužný systém ...................................................................................... 2 6.2 Kendallova klasifikace .............................................................................. 3 6.2.1 Vstupní tok .................................................................................................. 3 6.2.2 Délka obsluhy .............................................................................................. 4 6.2.3 Počet obslužných linek ................................................................................ 4 6.2.4 Kapacita zásobníku ..................................................................................... 4 6.2.5 Frontový režim............................................................................................. 4 6.3 Sledované charakteristiky systémů hromadné obsluhy ........................... 5 6.3.1 Vstupní parametry ....................................................................................... 5 6.3.2 Výstupní parametry ..................................................................................... 5 6.4 Systémy s poissonovským vstupem......................................................... 6 6.4.1 Littleho vztahy ............................................................................................. 7 6.4.2 Vlastnost PASTA ( Poisson Arrivals See Time Averages) .......................... 7 6.5 Metody teorie hromadné obsluhy ............................................................. 7 6.6 Analytické metody markovovských systémů M/M/n/r ............................... 8 Vstup zákazníků do systému M/M/n/r .................................................................. 9 Výstup zákazníků ze systému M/M/n/r ................................................................. 9 6.6.1 M/M/1/0 jednolinkový systém se ztrátami ............................................... 10 6.6.2 M/M/1/r ...................................................................................................... 12 6.6.3 M/M/1/..................................................................................................... 14 6.6.4 M/M/2/..................................................................................................... 16 6.6.5 M/M/n/..................................................................................................... 18 6.7 Výpočetní nástroje markovských systémů ............................................. 21

6 MODELOVÁNÍ SYSTÉMŮ HROMADNÉ OBSLUHY 2 - cvut.cz...poměr. To, jestli obsluha průměrně zvládá nápor zákazníků, s jakou pravděpodobností se tvoří fronty, nebo naopak

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 6 MODELOVÁNÍ SYSTÉMŮ HROMADNÉ OBSLUHY 2 - cvut.cz...poměr. To, jestli obsluha průměrně zvládá nápor zákazníků, s jakou pravděpodobností se tvoří fronty, nebo naopak

1

OBSAH

6 MODELOVÁNÍ SYSTÉMŮ HROMADNÉ OBSLUHY ........................... 2

6.1 Obslužný systém ...................................................................................... 2

6.2 Kendallova klasifikace .............................................................................. 3

6.2.1 Vstupní tok .................................................................................................. 3

6.2.2 Délka obsluhy .............................................................................................. 4

6.2.3 Počet obslužných linek ................................................................................ 4

6.2.4 Kapacita zásobníku ..................................................................................... 4

6.2.5 Frontový režim............................................................................................. 4

6.3 Sledované charakteristiky systémů hromadné obsluhy ........................... 5

6.3.1 Vstupní parametry ....................................................................................... 5

6.3.2 Výstupní parametry ..................................................................................... 5

6.4 Systémy s poissonovským vstupem ......................................................... 6

6.4.1 Littleho vztahy ............................................................................................. 7

6.4.2 Vlastnost PASTA ( Poisson Arrivals See Time Averages) .......................... 7

6.5 Metody teorie hromadné obsluhy ............................................................. 7

6.6 Analytické metody markovovských systémů M/M/n/r ............................... 8

Vstup zákazníků do systému M/M/n/r .................................................................. 9

Výstup zákazníků ze systému M/M/n/r ................................................................. 9

6.6.1 M/M/1/0 – jednolinkový systém se ztrátami ............................................... 10

6.6.2 M/M/1/r ...................................................................................................... 12

6.6.3 M/M/1/ ..................................................................................................... 14

6.6.4 M/M/2/ ..................................................................................................... 16

6.6.5 M/M/n/ ..................................................................................................... 18

6.7 Výpočetní nástroje markovských systémů ............................................. 21

Page 2: 6 MODELOVÁNÍ SYSTÉMŮ HROMADNÉ OBSLUHY 2 - cvut.cz...poměr. To, jestli obsluha průměrně zvládá nápor zákazníků, s jakou pravděpodobností se tvoří fronty, nebo naopak

2

6 MODELOVÁNÍ SYSTÉMŮ HROMADNÉ OBSLUHY

Teorie hromadné obsluhy je odvětví aplikované matematiky, které zkoumá činnost systémů, v

nichž se opakovaně vyskytují požadavky vykonat posloupnost operací, které jsou co do

vzniku a okamžiku výskytu zpravidla náhodné

Cílem teorie hromadné obsluhy je návrh a optimalizace systému nebo sítí systémů

hromadné obsluhy a v neposlední řadě analýza stávajících systémů a návrh jejich

optimalizace. Analytickými, nebo simulačními metodami získáme sledované charakteristiky,

jako např. průměrná délka fronty, ztracený čas zákazníků, kteří čekají ve frontě, průměrná

doba setrvání zákazníka v systému, vytíženost linky atd.

Obslužný systém je klasickým příkladem procesu, ve kterém se vyskytují

synchronizační komunikační a zdroje sdílející procesy, které je možné elegantně modelovat

nástroji Petřino sítí. Pro simulaci systému hromadné obsluhy lze s výhodou využít zobecněné

stochastické Petřino sítě (GSPN), nebo přímo frontové Petřino sítě (QPN).

6.1 Obslužný systém

Systémy hromadné obsluhy jsou schematicky znázorněny na Obr. 6.1. Do systému

přicházejí zákazníci opakovaně v čase (tedy ne nutně titíž) a buď jsou přijati do obslužného

systému a zařazeny do fronty, nebo jsou odmítnuti z důvodu naplnění kapacity zásobníku.

Systém obsahuje jednu či několik paralelních obslužných linek, ve kterých je obsluhováno

vždy pouze určité množství zákazníků. Způsob řazení do fronty a výběr zákazníků

k obsluze(tzv. frontový režim) může být různý.

Obr. 6.1:Schéma obslužného systému

Teorie hromadné obsluhy vychází především ze statistiky a teorie pravděpodobnosti.

Patří do odvětví operačního výzkumu, matematického modelování a optimalizace. Základní

jednotkou systémů hromadné obsluhy je obslužný systém. Ten je složen z trojice zákazník-

linka-obsluha.

• zákazník je subjekt, který požaduje vyřízení svého požadavku

• obslužná linka je místo, osoba, nebo zařízení, kde se zakázky zpracovávají

• obsluha je činnost vedoucí k uspokojení zakázky

Page 3: 6 MODELOVÁNÍ SYSTÉMŮ HROMADNÉ OBSLUHY 2 - cvut.cz...poměr. To, jestli obsluha průměrně zvládá nápor zákazníků, s jakou pravděpodobností se tvoří fronty, nebo naopak

3

zákazník linka obsluha

letadlo přistávací dráha přistání

kupující pokladna placení nákupu

telefonní účastník centrála spojení

stroj seřizovač seřízení

cestující autobus doprava

počítač tiskárna vytisknutí úlohy

automobil SSZ průjezd křižovatkou

6.2 Kendallova klasifikace

Pro roztřídění a jednotný systematický popis systémů hromadné obsluhy byla v roce 1951

vytvořena D.G. Kendallem1 klasifikace, která má ve zkratce zakódované základní informace o

systému hromadné obsluhy. Původně byla používaná ve formě tří uspořádaných znaků ale

postupně se ukázalo, že je to nedostatečné a klasifikace byla rozšířena na pět znaků.

A. Popis zákonitostí vzniku a příchodu požadavku do systému (vstupní tok)

B. Délka obsluhy zákazníka – délka obsluhy je většinou náhodná veličina zadaná distribuční

funkcí

C. Počet obslužných linek – počet zákazníků, kteří můžou být obsluhováni současně

D. Kapacita zásobníků – omezení délky fronty

E. Frontový režim

Při popisu reálných systémů mnohdy není třeba určovat všech pět charakteristik.

Zkoumáme-li např. systém z pohledu provozovatele a nezajímá-li nás pravděpodobnostní

funkce ztrátového času zákazníků, nemusíme specifikovat frontový režim. Můžeme tedy dle

konkrétní potřeby vynechat pátý, někdy i čtvrtý znak Kendallovy klasifikace.

6.2.1 Vstupní tok

Zákazníci přicházejí se svými požadavky do systému opakovaně. Okamžiky příchodu

zákazníků do systému mohou být deterministické nebo náhodné, závislé, či nezávislé, se

známým rozdělením pravděpodobnosti, nebo s rozdělením, které neznáme. Navíc zakázky

mohou být děleny do několika typů, lišících se jak v rozložení doby příchodů, tak i v dalších

parametrech. Okamžiky příchodů zákazníků tvoří posloupnost událostí, které nastávají

1 David Georgie Kendall (1918-2007) – britský statistik, jeden z průkopníků stochastické geometrie

Page 4: 6 MODELOVÁNÍ SYSTÉMŮ HROMADNÉ OBSLUHY 2 - cvut.cz...poměr. To, jestli obsluha průměrně zvládá nápor zákazníků, s jakou pravděpodobností se tvoří fronty, nebo naopak

4

náhodně v čase – tvoří stochastický proces. Příkladem mohou být příjezdy vozidel k celnici,

příchody cestujících do stanice metra, nebo porucha nějakého zařízení, která vyžaduje opravu.

Rozdělení intervalů mezi příchody označujeme jedním písmenem tabulka 1.

6.2.2 Délka obsluhy

Většinou předpokládáme, že trvání obsluhy jsou nezávislé náhodné proměnné, se stejným

rozdělením. Stejně jako u vstupního toku, rozdělení intervalů mezi příchody označujeme

jedním písmenem tabulka 1

A – Vstupní tok požadavků B – Hustota rozdělení délky obsluhy

M Poissonův proces příchodů Exponenciální rozložení doby obsluhy

Ek Erlangovo rozložení intervalů mezi příchody Erlangovo rozložení doby obsluhy (s

parametry a k)

Kn rozložení 2n intervalů mezi příchody rozložení 2

n doby obsluhy

D pravidelné deterministické příchody konstantní doba obsluhy

G obecné rozložení (žádné předpoklady o

procesu příchodů)

obecné, tj. jakékoliv rozložení doby

obsluhy

GI rekurentní proces příchodů

tabulka 1: Symboly používané v Kendallovu klasifikaci

6.2.3 Počet obslužných linek

Maximální počet požadavků, které se mohou v systému vyskytovat současně určuje třetí znak

Kendallovy notace. Většinou je určen přirozeným číslem udávající maximální počet

dostupných linek systému, ale obecně může nabývat i hodnoty ∞ pro neomezený počet

současně obsluhovaných zákazníků, nebo může být zadán pravděpodobnostní funkcí.

6.2.4 Kapacita zásobníku

Čtvrtým znakem je přirozené číslo udávající maximální počet zákazníků ve frontě.

V některých publikacích čtvrtý parametr udává celkovou kapacitu systému, tj maximální

počet zákazníku ve frontě sečtený s počtem obslužných linek.

Pokud jsou všechny linky obsazeny, jsou zákazníci řazeni dle frontového režimu do

fronty. Při naplnění kapacity fronty jsou další zákazníci odmítnuti a odcházejí ze systému

neobslouženi. Pokud je zásobník neomezen, tj. jeho kapacita je nekonečná, napíšeme na čtvrté

místo Kendallovy klasifikace znak .

6.2.5 Frontový režim

Frontový režim určuje popis osudu vstoupivších zákazníků v případě, že nemohou být hned

obslouženi. Frontový režim značíme zkratkou anglického názvu. V praxi mezi

nejpoužívanější frontové režimy patří:

• FIFO (First In – First Out) - Zákazníci se řadí do fronty v tom pořadí, v jakém do fronty

Page 5: 6 MODELOVÁNÍ SYSTÉMŮ HROMADNÉ OBSLUHY 2 - cvut.cz...poměr. To, jestli obsluha průměrně zvládá nápor zákazníků, s jakou pravděpodobností se tvoří fronty, nebo naopak

5

přišli a dle tohoto pořadí jsou i obslouženi.

• P-FIFO – frontový režim s předností. Zákazníky dělíme na dva, nebo více typů. Zákazníci

s prioritou se řadí na začátek fronty, obyčejní zákazníci přijdou na řadu jen v případě, že

je fronta zákazníků s vyšší prioritou prázdná

• LIFO (Last In – First Out) – Zákazníci jsou obsluhováni v opačném pořadí, než v jakém

do systému přicházeli. Praktické uplatnění má tento režim v teorii zásob

• SIRO (Search in Random Order) – Zákazníci jsou vybíráni náhodně. Tento režim je také

někdy označován zkratkou RS (Random Selection)

• SJF (Shortest Job First) – Nejdříve je obsluhován požadavek, jehož obsluha je

nejrychlejší.

I když označení systému pětiznakovou Kendallovou klasifikací poskytuje všechny

základní informace o systému, nepopisuje systém jednoznačně. Nejsou v něm zahrnuty

systémy s nastavitelnou trpělivostí zákazníků, systém s předbíhajícími zákazníky, systém

s proměnnou dostupností obsluhy, režim obsazování linek apod..

6.3 Sledované charakteristiky systémů hromadné obsluhy

Cílem teorie hromadné obsluhy je určit vztah mezi známými parametry systému a

charakteristikami ovlivňujícími kvantitu a kvalitu systému. Na základě těchto funkcí potom

můžeme systém analyzovat a navrhnout optimální řešení. Je účelné používat pro parametry

systémů jednotné značení. V následujících dvou kapitolách zavedeme značení běžně

používané (s mírnými odchylkami) ve většině českých i zahraničních publikací.

6.3.1 Vstupní parametry

Předpokládejme, že vstupní i výstupní tok požadavků je homogenní proces, intervaly mezi

příchody tvoří posloupnost náhodných veličin se stejným rozdělením pravděpodobnosti.

Trvání obsluhy, nechť jsou nezávislé náhodné proměnné se stejným rozdělením

pravděpodobnosti.

intenzita vstupního toku – střední hodnota počtu vstupujících zákazníků za

časovou jednotku

intenzita obsluhy – střední počet zákazníků obsloužených jednou linkou (pokud je

linka plně vytížená)

= intenzita provozu (Service utilization)

Zdá se, že zavedení další značky pro poměr intenzit je zbytečné plýtvání, ale když se

zamyslíme nad chováním systému, nahlédneme, že je toto označení velmi užitečné. Ve

skutečnosti nejsou důležité samotné hodnoty intenzit vstupu a obsluhy, ale jejich vzájemný

poměr. To, jestli obsluha průměrně zvládá nápor zákazníků, s jakou pravděpodobností se tvoří

fronty, nebo naopak je systém prázdný, to vše je určeno poměrem / = . Jak se později

ukáže, u většiny systémů má tento poměr velký význam, určuje totiž vytíženost systému.

6.3.2 Výstupní parametry

Stav systém hromadné obsluhy ohodnotíme aktuálním počtem zákazníků v systému. Počet

zákazníků v systému je součtem počtu zákazníků ve frontě a všech právě obsluhovaných

zákazníků. Zákazníci přicházejí většinou náhodně, délka intervalu mezi příchody je spojitá

Page 6: 6 MODELOVÁNÍ SYSTÉMŮ HROMADNÉ OBSLUHY 2 - cvut.cz...poměr. To, jestli obsluha průměrně zvládá nápor zákazníků, s jakou pravděpodobností se tvoří fronty, nebo naopak

6

náhodná veličina, stejně jako délka obsluhy. Jedná se tedy o stochastický proces spojitý v čase

a diskrétní v úrovni.

Obecně zkoumáme dynamiku procesu, tj. všechny náhodné veličiny jsou funkcí času t,

ale pro většinu praktických aplikací se spokojíme s výstupními hodnotami stabilizovaného

stavu (za předpokladu, že systém stabilizovaný je). Charakteristiky ve stabilizovaném

(ustáleném) stavu označíme stejným písmenem, jen s tím rozdílem, že je nebudeme psát jako

funkci času t. Zkoumání dynamiky je výpočetně náročné, pro rozsáhlé množiny stavů

většinou nemožné. My ji předvedeme v jediném příkladě, pro frontu M/M/1/0.

X(t) počet zákazníků v systému

pi(t) pst, že v čase t je v systému i zákazníků

pi pst , že v systému je i zákazníků – stabilizovaný stav lim ( )i it

p p t→

=

F(t) délka fronty v čase t

S(t) počet obsazených linek v čase t

WF doba čekání náhodného požadavku ve frontě

WX doba strávená náhodným požadavkem v systému

U všech systémů bude našim cílem určit ustálené rozdělení pravděpodobnosti počtu

zákazníků v systému pi. Samozřejmě musí platit, že součet pravděpodobností všech možných

stavů je 1.

1i

i

p = .

Většina sledovaných výstupních charakteristik se snadno odvozuje z ustáleného

rozdělení pi. Zajímá-li nás průměrný počet zákazníků v systému, určíme střední hodnotu

teoretického rozdělení pi přímo z definice.

[ ] i

i

E X i p=

Z rozdělení X odvodíme rozdělení náhodné veličiny F pro délku fronty (nepočítáme

zákazníka v lince) a náhodné veličiny S pro průměrný počet pracujících linek. Průměrné

ztrátové časy WX a WF získáme použitím Littleho vztahů.

Důležitými charakteristikami pro provozovatele obslužné linky je pravděpodobnost, že

linka nepracuje p0 vytíženost systému. Protože u většiny systémů je to přímo poměr intenzit

/ = , není třeba zavádět novou značku.

U jednolinkových systému je vytíženost dána pravděpodobností, že linka pracuje, u

vícelinkových je to průměrný počet pracujících linek vydělený celkovým počtem linek n.

[ ]Vytíženost

E S

n=

6.4 Systémy s poissonovským vstupem

Je zřejmé, že čím více informací o systému máme, tím konkrétnější a kvalitnější popis

zkoumaných charakteristik získáme. Jak je zjevné z tabulka 1, je možné zkoumat i systémy

hromadné obsluhy, u nichž neznáme hustotu pravděpodobnosti délky obsluhy ani intervalů

mezi vstupy.

Pro speciální třídy procesů můžeme s výhodou využít speciální vztahy mezi parametry

systému, které výrazně usnadní analýzu takovýchto procesů. Je třeba ale mít na paměti

předpoklady, za jakých je možné takovéto vztahy použít. V praxi lze většinou přijmout, za

jistých omezení, předpoklad poissonovského vstupního toku. Pro tyto systémy hromadné

obsluhy dokázal John Little tzv. Littleho vzorce a vlastnost PASTA

Page 7: 6 MODELOVÁNÍ SYSTÉMŮ HROMADNÉ OBSLUHY 2 - cvut.cz...poměr. To, jestli obsluha průměrně zvládá nápor zákazníků, s jakou pravděpodobností se tvoří fronty, nebo naopak

7

6.4.1 Littleho vztahy

Základní vztahy popisující vztah mezi vstupním tokem, střední hodnotou počtu

požadavků ve frontě a střední dobou strávenou požadavkem ve frontě formuloval v roce 1961

John Little2. Ve všech systémech s neomezeným zásobníkem a homogenním vstupem

zákazníků platí:

[ ] [ ]E F E W=

Intenzita vstupního toku

E[F] Střední počet požadavků ve frontě

E[W] Střední doba čekání ve frontě

Littleho vztahy jsme formulovali pro počet požadavků ve frontě, ale vztah platí obecně,

i pro střední počet požadavků v systému. Myšlenka je jednoduchá, intuitivně ji věříme –

průměrné čekání je třeba rozdělit mezi všechny přicházející zákazníky. Formální důkaz je

mnohem složitější, Littleho důkaz je rozepsán na deset stránek.

Platnost Littleho formule můžeme rozšířit i na ztrátové systémy. Místo vstupního toku

zákazníků s intenzitou budeme uvažovat jen ty, kteří neodešli, tj. Poissonův tok s intenzitou

(1–p0).

6.4.2 Vlastnost PASTA ( Poisson Arrivals See Time Averages)

Vlastnost PASTA platí jen pro systémy s poissonovským vstupem, tedy pro systémy, značené

v Kendallovu notaci jakýmkoliv řetězcem typu(M / . / . / . / .). Pro pochopení této vlastnosti je

nutné, abychom si uvědomili rozdílnost v různých způsobech pozorování systému. Pokud

popisujeme systém jako vnější, nezávislý pozorovatel obdržíme jiné hodnoty než vstupující

zákazník, který sám svým vstupem stav systému mění.

Ukažme si tento rozdíl na příkladě. Uvažujme systém D / D / 1. Do systému vstupují

zákazníci pravidelně po 1 minutě. Obsluha zákazníků trvá vždy přesně 30 sekund. Z pohledu

vstupujících zákazníků je pravděpodobnost, že systém bude prázdný rovna jedné, tj. 0 1p = .

Z pohledu provozovatele systému je pst, že linka nepracuje 50 %, tj. 0 0,5p = .

Pro systémy s poissonovským vstupním tokem není třeba tyto dva pohledy rozlišovat.

Vlastnost PASTA bychom mohli volně formulovat následovně: Procento zákazníků, kteří při

svém vstupu naleznou systém ve stavu A je stejné, jako procento času, v němž se systém ve

stavu A nachází.

Tedy, např. je-li p0 pst, že při náhodném vstupu zákazníka je systém prázdný, potom

100.p0 je procento prostoje systému.

6.5 Metody teorie hromadné obsluhy

Cílem THO je vyhledávání závislostí mezi charakterem vstupu požadavků,

produktivitou linek a efektivností obsluhy. Na základě těchto znalostí můžeme zlepšit činnost

systému pomocí účelných změn. Při optimalizaci systému stojí vždy proti sobě dva cíle: co

nejvyšší využití linky a minimalizace ztráty času zákazníků. Pokud známe závislost nastavení

systému a výsledných zkoumaných charakteristik, pak se z pohledu provozovatele, ale i

z pohledu zákazníka můžeme správně rozhodnout a optimalizovat své chování.

2 John. D. C. Little – profesor na Massachusetts Institute of Technology, USA, jeden z nejvýznamnějších

odborníků v oblasti operačního výzkumu

Page 8: 6 MODELOVÁNÍ SYSTÉMŮ HROMADNÉ OBSLUHY 2 - cvut.cz...poměr. To, jestli obsluha průměrně zvládá nápor zákazníků, s jakou pravděpodobností se tvoří fronty, nebo naopak

8

V zásadě existují dvě různé metody zkoumání systémů hromadné obsluhy:

1. Analytické metody – výsledkem je funkční závislost vstupních a výstupních požadavků.

Nevýhodou je, že analytické metody je možné použít pro úzkou třídu specifických

procesů. Pokud jsou významně narušeny předpoklady matematického modelu, je třeba

přistoupit k simulačním metodám.

2. Simulační metody – Systém nahradíme simulačním modelem se stejnými

pravděpodobnostními charakteristikami a chování mnohonásobně simulujeme na modelu.

Jednotlivé charakteristiky výstupu nahradíme bodovým odhadem, střední hodnotu

průměrem, pravděpodobnost stavu relativní četností atd. Simulační modely používáme pro

analýzu komplexních systémů

Výhody – Umožňují analýzu systémů, pro něž neexistují analytické modely, umožňují

modelovat neobvyklé situace, studovat dynamiku systémů. Modelování systémů může

pomoci porozumět skrytým procesům.

Nevýhody – Mohou existovat jednodušší techniky pro řešení daného problému, simulace

komplexních systémů vyžadují značné množství vstupních dat. Pro správné použití

simulačních programů musíme porozumět jejich principům a předpokladům.

Simulace může být buď orientovaná na čas – simulace s pevným časovým krokem,

nebo orientovaná na událost – simulace s proměnným časovým krokem. Pro jednoduché

modely volíme většinou simulaci orientovanou na událost, zatímco komplexnější modely se

spoustou nastavitelných parametrů jsou simulace s pevným (velmi malým) časovým krokem.

6.6 Analytické metody markovovských systémů M/M/n/r

Je-li vstupní tok je homogenní ordinární proces s nezávislými přírůstky – poissonovský

proces s intenzitou a je-li doba obsluhy exponenciální náhodná veličina s intenzitou obsluhy

, pak je stochastický proces popisující počet zákazníků v systému markovovský řetězec se

spojitým časem CTMC. Tyto třídy procesů jsou dobře popsány aparátem markovských

modelů a většinou je možné použít analytické metody. Mezi základní sledované ukazatele

efektivnosti systému hromadné obsluhy pro ustálený režim (stabilizovaný stav) patří kvalita

(rychlost) obsluhy měřená délkou čekání na obsluhu, případně časem stráveným v systému,

využití kanálů obsluhy, střední hodnota počtu volných kanálů, pravděpodobnost odmítnutí

zákazníka atd.

Podrobně popíšeme analytický postup a odvození stabilizovaného stavu pro

nejjednodušší systémy. Použijeme analýzu stochastických Petriho sítí, které popisují příslušný

Markovovský řetězec CTMC. Pro pochopení této kapitoly je vhodné nejprve prostudovat

kapitolu „Markovovské stochastické procesy“.

Připomeňme, že aby byl stochastický proces markovský, musí být doba setrvání

systému ve stavu vždy náhodná veličina s exponenciálním rozdělením, protože to je jediná

spojitá náhodná veličina bez paměti. Tuto vlastnost dokážeme jednoduše určením podmíněné

pravděpodobnosti, že v procesu nenastane v intervalu délky T = t+u žádná událost, víme-li že

od poslední změny už uplynul čas t.

( )P( ) e

P( / ) = = e = P( )P( ) e

t u

u

t

t ut u t u

t

− +

+ + =

Vidíme, že naše budoucí vyhlídky na změnu v intervalu délky u jsou zcela nezávislé na

uplynulém intervalu t, tedy na historii procesu. Možné změny mohou nastat jen příchodem

zákazníka nebo ukončením obsluhy zákazníka, který systém opouští a snižuje stav procesu.

Page 9: 6 MODELOVÁNÍ SYSTÉMŮ HROMADNÉ OBSLUHY 2 - cvut.cz...poměr. To, jestli obsluha průměrně zvládá nápor zákazníků, s jakou pravděpodobností se tvoří fronty, nebo naopak

9

Vstup zákazníků do systému M/M/n/r

Intervaly mezi příchody zákazníků jsou vždy náhodné veličiny s exponenciálním

rozdělením, tj. pro hustotu pravděpodobnosti f(t) a distribuční funkce F(t) platí vztah

( ) 1

( ) , F 1 ,t tf t e t e E t

− −= = − =

Je to rozdělení určené jediným parametrem který je roven převrácené hodnotě střední

délky intervalu E[t]. Střední hodnotu teoretického rozdělení odhadujeme aritmetickým

průměrem. Počet zákazníků N(t), kteří přijdou za pevný časový interval t je náhodná veličina

s Poissonovým rozdělením.

( )( ( ) )

!

k

tt

P N t k ek

= =

Abychom mohli určit graf diferenciálních přechodů CTMC, musíme uvažovat

nekonečně malé časové přírůstky t a možné změny. Pravděpodobnosti, které jsou menší než

druhé mocniny t zanedbáme, všechny zanedbané členy, jejichž hodnota je nekonečněkrát

menší než hodnota lineární funkce, nahradíme symbolem o(t). Exponenciální funkce

nahradíme lineárními, místo grafu funkce budeme uvažovat jeho tečnu v bodě t = 0.

Výsledkem infinitesimálních úvah je, že se možné změny stavů a jejich pravděpodobnosti

podstatně zjednoduší:

Pravděpodobnost, že v intervalu t nepřijde žádný zákazník:

( )( ) 0 e 1 ( )tP N t t o t − = = = − +

Pravděpodobnost, že v intervalu t přijde jeden zákazník:

( )( ) 1 e ( )tP N t t t o t − = = = +

Pravděpodobnost, že v intervalu t přijde víc než jeden zákazník

( )( ) 1 ( )P N t o t =

Za krátký časový interval t tedy může s nezanedbatelnou pravděpodobností jen přijít

jeden zákazník a tím se změní stav procesu na stav sousední. Podobně to platí i pro výstup

zákazníků ze systému, protože ten je dán exponenciální délkou obsluhy.

Výstup zákazníků ze systému M/M/n/r

Průměrný počet zákazníků obsloužených za časovou jednotku jednou linkou je intenzita

obsluhy . S nezanedbatelnou pravděpodobností je možná za čas t jediná změna stavu:

Pravděpodobnost, že během krátkého časového intervalu bude obsloužen jeden zákazník:

( ) ( )1 tP t e t o t − = − = +

S doplňkovou pravděpodobností obsluha ukončena nebude.

Oba dva právě odvozené vztahy použijeme ve všech markovských systémech M/M/n/r.

Pokuste se odvodit, jaká bude pravděpodobnost, že za krátký časový interval t přijde jeden

zákazník a současně bude ukončena jeho obsluha. Asi nikoho nepřekvapí, že vám vyjde

hodnota závislá na mocnině t, tedy zanedbatelná.

Page 10: 6 MODELOVÁNÍ SYSTÉMŮ HROMADNÉ OBSLUHY 2 - cvut.cz...poměr. To, jestli obsluha průměrně zvládá nápor zákazníků, s jakou pravděpodobností se tvoří fronty, nebo naopak

10

6.6.1 M/M/1/0 – jednolinkový systém se ztrátami

Systém s jednou linkou bez čekání, fronta se nevytváří, a proto také jsou možné pouze 2

stavy: M0 – systém je volný a M1 – v systému je jeden požadavek, který je právě obsluhován.

Příkladem tohoto systému je volání na telefonní linku, buď je linka volná a volající je spojen

anebo je obsazená a ke spojení hovoru nedojde. Je to nejjednodušší markovský model fronty,

proto si u něj podrobně popíšeme postup odvození vzorců pro rozdělení pravděpodobností

stavů i jejich časové změny, tzv. dynamiky systému. Zkoumat pravděpodobnosti v čase pi(t)

je u komplikovanějších stochastických procesů mnohdy nemožné, protože to vyžaduje

výpočet exponenciály exp(Qt) od matice intenzit Q, jejíž velikost je rovna počtu stavů.

Obr. 6.2

Na Obr. 6.2 je stochastická Petriho síť (SPN) systému M/M/1/0. Zpoždění

časovaného přechodu T1 je exponenciální náhodná veličina s intenzitou .

Stručně budeme zapisovat T1~exp(). Časovaný přechod T2 generuje dobu

obsluhy zákazníka. T2~exp(). Systém má dva stavy, buď je v lince P1

zákazník, linka pracuje a žádný další zákazník nemůže vstoupit do systému,

nebo je systém prázdný. Množina ohodnocení má tedy dva prvky M0=(0),

M1=(1). Stavový graf je izomorfní s grafem diferenciálních přechodů CTMC.

Vektor ohodnocení má jednu složku, protože Petriho síť má jedno

místo. Odpálením přechodu T1 přejdeme z počátečního ohodnocení

M0=(0) do ohodnocení M1=(1).

Obr. 6.3– Stavový graf

Matice intenzit je tvořena intenzitami přechodů T1, T2

Q

− =

Protože systém je jednoduchý, je možné zjistit i matici přechodu ( )( )( ) expP t Q t= a zkoumat

změnu pravděpodobnosti p(t) =p(0)P

:= P

+ e( )−( ) + t

+ −

( ) − e( )−( ) + t

1

+

− ( ) − e

( )−( ) + t1

+

+ e( )−( ) + t

+ Například, pokud v čase t=0 s jistotou víme, že je systém prázdný, tedy p(0) = (1,0),

bude pravděpodobnost prázdného systému začínat v jedničce a postupně konvergovat ke své

ustálené pravděpodobnosti (červená funkce na obrázku 6.4)

Page 11: 6 MODELOVÁNÍ SYSTÉMŮ HROMADNÉ OBSLUHY 2 - cvut.cz...poměr. To, jestli obsluha průměrně zvládá nápor zákazníků, s jakou pravděpodobností se tvoří fronty, nebo naopak

11

Obr. 6.4– Pravděpodobnost p0(t) pro různé počáteční stavy X = 0 červeně, X = 1 zeleně

Vyzkoušejte si nakreslit funkci p0(t)i pro jiné počáteční rozložení, např.(0,5; 0,5). Zjistíte, že

ať je počáteční stav jakýkoliv, vždy pravděpodobnost prázdného stavu konverguje k hodnotě

0

1lim ( )

1tp t

→= =

+ +

Podobně, pravděpodobnost, že linka je obsazena konverguje k doplňkové hodnotě.

1lim ( )1t

p t

→= =

+ +

Stabilizovaný stav. Pro tento systém jsme právě dokázali, že je stabilizovaný (ustálený),

ostatní markovské fronty mají větší matici intenzit i přechodu. Odkazuji na větu z teorie teorie

grafů, že pokud je stavový graf procesu silně souvislý bez absorpčních stavů, je systém

stabilizovaný.

Pokud víme, že systém stabilizovaný je, můžeme jeho limitní hodnoty vypočítat jednoduše ze

soustavy lineárních rovnic daných maticí intenzit Q. Pro stabilizovaný stav ( )0 1,p p p= platí

0 1; 1pQ o p p= + =

Řešením soustavy lineárních rovnic je vektor ,p

=

+ + . Tedy pravděpodobnost, že

je systém prázdný a zákazník je přijat do obsluhy 0p

=

+, doplňkem je pravděpodobnost,

že je linka obsazená a příchozí zákazník je odmítnut 1p

=

+. Z pravděpodobností stavů

systému odvodíme další sledované charakteristiky systému.

Pravděpodobnost odmítnutí nového požadavku ............................. p1

Pravděpodobnost přijetí požadavku................................................ p0

Absolutní kapacita – počet obsloužených za jednotku času ........... .p0

Vytíženost systému ......................................................................... p1.100%

Průměrná doba čekání .................................................................... 0

Střední hodnota počtu požadavků v systému ................................. [ ]E X

=

+

Úloha: Telefonní aparát v informačním středisku zaznamenává volání v průměru každých 12

minut, přičemž hovor trvá v průměru 6 min. Za předpokladu elementárního vstupního proudu

a exponenciálního času doby obsluhy je třeba určit:

• Jaké procento volání bude odbaveno (relativní kapacita)

Page 12: 6 MODELOVÁNÍ SYSTÉMŮ HROMADNÉ OBSLUHY 2 - cvut.cz...poměr. To, jestli obsluha průměrně zvládá nápor zákazníků, s jakou pravděpodobností se tvoří fronty, nebo naopak

12

• Kolik hovorů se uskuteční za hodinu (absolutní kapacita)

• Pravděpodobnost odmítnutí

Řešení: Za časovou jednotku zvolíme hodinu, pak 0,2 5; 10hod = = = . Dosazením

do vzorců pro ustálené pravděpodobnosti dostáváme

0 1

2 1;

3 3p p

= = = =

+ +.

Zákazník je odmítnut, pokud je systém plný, tedy s pravděpodobností p1. Relativní kapacita je

dána pravděpodobností, že bude zákazník přijat do obsluhy p0. Za hodinu přijde 5 zákazníků,

ale jen 2/3 z nich bude obslouženo, tedy absolutní kapacita je přibližně 3,33 zákazníků.

Úloha: Low speed CAN sběrnice z asistenčních systémů automobilu zpracovává data ze 4

řídících jednotek, každá řídící jednotka vysílá zprávu průměrně jednou za 20 ms. Přenesení

datového rámce u low speed sběrnice trvá přibližne 2 ms. Určete procento ztracených zpráv,

nemá-li sběrnice vyrovnávací paměť.

Řešení: Kendallova klasifikace systému: M/M/1/0, intenzita vstupu = 4/20, intenzita

obsluhy = 0,5, poměr intenzit . Pravděpodobnost ztráty datové zprávy

1

0.4 20.285

1 1.4 7p

= = = =

+

6.6.2 M/M/1/r

Číslem r označme počet zákazníků, kteří můžou stát ve frontě. Stav systému je definován jako

celkový počet zákazníků v systému. Pro plně obsazený systém máme jednoho zákazníka

v lince a r zákazníků ve frontě, celkem 2+r stavy. Každý stav je prezentován uzlem grafu

diferenciálních přechodů. Za krátký časový okamžik t s nezanedbatelnou pravděpodobností

t přijde jeden zákazník, nebo jeden zákazník odejde s pravděpodobností t. Existují tedy

jen hrany mezi sousedními uzly a smyčky pro setrvání v daném stavu.

Obr. 6.5 - Graf diferenciálních přechodů pro M/M/1/r

Matice intenzit Q je čtvercová, nad diagonálou jsou koeficienty pro příchod, pod diagonálou

jsou koeficienty pro odchod. Diagonální prvky jsou doplněny tak, aby byl řádkový součet 0.

0 ...

...

0 ...

...

0 0

Q

− − = − − −

Page 13: 6 MODELOVÁNÍ SYSTÉMŮ HROMADNÉ OBSLUHY 2 - cvut.cz...poměr. To, jestli obsluha průměrně zvládá nápor zákazníků, s jakou pravděpodobností se tvoří fronty, nebo naopak

13

Řešením soustavy p Q o = dostáváme r+2 lineárních rovnic pro neznámé p1, p2, …, pr+1.

0 1

0 1 2

1 1

1

0

( ) 0

...

( ) 0

0

r r r

r r

p p

p p p

p p p

p p

− +

+

− + =

− + + =

− + + =

− =

Když si pozorně prohlédnete rovnice ustálených pravděpodobností, vidíte, že mají stejnou

strukturu, liší se vždy jen zvýšeným indexem. Zavedeme substituce

1; 0k k kz p p k r += − + =

Dosazením okamžitě dostáváme, že všechny nové proměnné zk jsou rovny 0. Odtud

1 1 ; 0k k k kp p p p k r

+ += = =

Ve skutečnosti máme ještě o jednu rovnici navíc, nesmíme zapomenout na tzv. normalizační

podmínku, že součet všech pravděpodobností je jedna. Díky ní vypočítáme p0.

( )1

2 1

0 0 0 0

0 1 2

0

; ; ; ...;

1 1

1

k k

r

r ri

i

p p

p p p p p

p

+

+

+ +

=

=

=

−= =

Pro aplikaci právě odvozených vzorců si stačí pamatovat rekurentní vztah. Povšimněte

si, že všechny pk jsou vyjádřeny v závislosti na p0. Tak tomu bude ve všech markovských

frontách. Výpočet provádíme ve dvou krocích, nejprve vypočítáme koeficienty 2 11; ; ; ...; r + , převrácená hodnota jejich součtu je pravděpodobnost p0. Ve druhém kroku

vypočítáme zbývající pravděpodobnosti 0

k

kp p = . Pro kontrolu správného postupu použijte

kalkulačku na webskriptu, kapitola M/M/n/r. Applet zobrazí i pomocné koeficienty výpočtu,

aby vám usnadnil nalézt případnou chybu.

Mezi nejdůležitější charakteristiky systému sledované provozovatelem patří

pravděpodobnost ztráty zákazníka. Ta je dána pravděpodobností pr+1, že je fronta plně

obsazena. Je zřejmé, že čím větší je kapacita fronty, tím menší je pravděpodobnost odmítnutí

zákazníka. Překvapující je exponenciální závislost, s níž tato pravděpodobnost rychle klesá.

V případě M/M/1/r nemá smysl se snažit odvodit vzorce pro průměrnou délku fronty

E[F] nebo pro průměrný počet zákazníků v systému E[X]. Vzorce jsou komplikovanější než

přímý výpočet z definice střední hodnoty. Průměrné ztrátové časy Wx a WF získáme z Littleho

vzorců.

Z rozdělení pravděpodobnosti počtu zákazníků můžeme odvodit případné další náhodné

veličiny, jako jsou počet zákazníku ve frontě (F = X – 1), nebo počet pracujících linek S.

Využití systému neboli provozní zatížení je dáno pravděpodobností (1 – p0), že linka pracuje.

Page 14: 6 MODELOVÁNÍ SYSTÉMŮ HROMADNÉ OBSLUHY 2 - cvut.cz...poměr. To, jestli obsluha průměrně zvládá nápor zákazníků, s jakou pravděpodobností se tvoří fronty, nebo naopak

14

i Počet zákaz. P(X=i) Délka fronty P(F=i) Počet v obsluze P(S=i)

0 p0 p0 + p1 p0

1 p1 p2 p1 + p2 + …+ pr+1

r pr pr+1 …

r+1 pr+1 … …

Příklad: Telefonní aparát v informačním středisku zaznamenává volání v průměru každých 12

minut, přičemž hovor trvá v průměru 6 min. Je-li linka obsazena, můžou na spojení čekat

maximálně 2 zákazníci. Určete:

• Kolik hovorů se uskuteční za hodinu (absolutní kapacita)

• Pravděpodobnost odmítnutí

Řešení: Za časovou jednotku zvolíme hodinu, pak 0,2 5; 10; 1/ 2hod = = = = . Pro

výpočet ustálených pravděpodobností si připravíme tabulku. Každý řadek slouží pro výpočet

jednoho stavu. My máme celkem čtyři stavy 0,1,2,3. V prvním sloupci budou koeficienty qk

ve tvaru 2 11; ; ; ...; r + , ve druhém pravděpodobnosti pk. Převrácená hodnota ze součtu

prvního slouce je p0. Zbývající pravděpodobnosti vypočítáme vynásobením p0.qk.

0

80 1

15

1 41

2 15

1 22

4 15

1 13

8 15

k k

kk p p =

Zákazník je odmítnut, pokud je systém plný, tedy s pravděpodobností p3 = 0,067.

Relativní kapacita je pravděpodobnost, že bude zákazník přijat do obsluhy 1 – p3 = 0,93.

Za hodinu přijde 5 zákazníků, ale jen 93,3% z nich bude obslouženo, tedy absolutní kapacita

je přibližně 4,67 zákazníků.

6.6.3 M/M/1/

Jednolinkový systém s neomezenou délkou fronty můžeme modelovat Petriho sítí na Chyba!

Nenalezen zdroj odkazů.. Zpoždění časovaného přechodu vstup je exponenciální náhodná

veličina s intenzitou , tj. vstup~exp(). Časovaný přechod „obsluha“ generuje dobu obsluhy

zákazníka. obsluha~exp(). Systém má nekonečně mnoho stavů, množina ohodnocení je

nekonečná ( ) ( ) ( ) 0 10 , 1 , ,iM M M i= = = . Stavový graf je izomorfní s grafem

diferenciálních přechodů příslušného CTMC.

Page 15: 6 MODELOVÁNÍ SYSTÉMŮ HROMADNÉ OBSLUHY 2 - cvut.cz...poměr. To, jestli obsluha průměrně zvládá nápor zákazníků, s jakou pravděpodobností se tvoří fronty, nebo naopak

15

Obr. 6.6 - Graf diferenciálních přechodů pro M/M/1/∞

Stacionární stav ( )0 1, ,p p p= získáme jako řešení homogenní soustavy lineárních rovnic

pQ o= , kde Q je matice intenzit.

0

0

0 0

Q

− − = − −

0 1

0 1 2

1 1

0

( ) 0

( ) 0k k k

p p

p p p

p p p

− +

− + =

− + + =

− + + =

Substituce 1, 0,1,k k kz p p k += − + = dává řešení 0 1 0z z= = = , tedy přejdeme –li

k původním neznámým pi, dostáváme jednoduchý rekurentní vztah

1k kp p

+ = .

Využijeme-li, že podíl intenzit vstupu a obsluhy je dle definice intenzita provozu

= ,

dostáváme vektor pravděpodobností stavů systému ve tvaru.

( )2

0 0 0 0; ; ; ; ;...kp p p p p =

Pravděpodobnost p0 vypočítáme z normalizační podmínky 1

1i

i

p

=

= .

Po dosazení má platit, že součet nekonečné geometrické řady je jedna, tj

0

0

1i

i

p

=

= .

V případě všech nekonečných systémů musíme zkontrolovat, že fronta neporoste nade

všechny meze. K takovému závěru není třeba zdlouhavého odvozování, je zřejmé, že pokud

průměrně bude přicházet více zákazníků, než kolik je obsluha schopna zvládnout, fronta bude

s časem narůstat. Na rozdíl od reálné situace zde máme i nekonečně trpělivé zákazníky, kteří

ze systémy nikdy neodejdou, ať je fronta sebedelší.

Geometrická řada konverguje jen pro 1 . Pro intenzitu provozu menší než jedna je

systém stabilizovaný a pro jeho ustálený stavový vektor jsme právě odvodili nejznámější

vzorec teorie front.

(1 ) , pro 1k

kp

= − =

0 1 k … …

t t t

t t t t

t

1 t−

( )1 t − + ( )1 t − +

Page 16: 6 MODELOVÁNÍ SYSTÉMŮ HROMADNÉ OBSLUHY 2 - cvut.cz...poměr. To, jestli obsluha průměrně zvládá nápor zákazníků, s jakou pravděpodobností se tvoří fronty, nebo naopak

16

Pro intenzity provozu 1 je systém nestabilní, tedy nelze určit stabilizovaný stav a

naše úvahy je nutné omezit jen na možné zkoumání dynamiky procesu. Můžeme si klást

otázku, za jak dlouho bude fronta delší než 50, jaká bude průměrná doba čekání za dvě hodiny

apod.

Na obrázku níže jsou zobrazeny pravděpodobnosti p0, p1, …, p5 pro různé hodnoty

intenzit. Čím více se intenzita provozu blíží 1, tím pomaleji funkce pi , i = 1… 5 klesá.

Rozdělení pravděpodobnosti počtu zákazníků v systému

0

0,2

0,4

0,6

počet zákazníků

pra

vd

ěp

od

ob

no

st

0,4

0,9

0,99

0,4 0,6 0,24 0,096 0,0384 0,01536 0,006144

0,9 0,1 0,09 0,081 0,0729 0,06561 0,059049

0,99 0,01 0,0099 0,009801 0,009703 0,009606 0,0095099

p0 p1 p2 p3 p4 p5

Obr. 6.7- Stabilizovaný stav M/M/1/ pro různé intenzity provozu

Ze stabilizovaného vektoru jednoduše odvodíme základní charakteristiky systému M/M/1/.

Při výpočtech čekacích dob využijeme Littleho vzorce.

Střední hodnota počtu požadavků v systému ......... [ ]1

E X

= =

− −

Rozptyl počtu zákazníků v systému ....................... ( )

2[ ]

1D X

=

Průměrný počet zákazníků ve frontě ...................... 2

[ ]1

E F

=

Využití linky .......................................................... %

Průměrná čekací doba ............................................ ( )

[ ][ ]F

E FE W

= = =

− −

6.6.4 M/M/2/

Pro vícelinkové neomezené systémy bude mít Petriho síť více míst, tím pádem bude mít

stochastický proces více stavů a vzorce pro výpočet stabilizovaného stavu (pokud systém je

stabilní) budou komplikovanější. Podrobně budeme postupovat u dvoulinkového systému,

zobecnění pro n linek je pak už jen rutinní záležitost. Na Obr. 6.8 je Petriho síť GSPN

systému M/M/2/. Síť má dva typy přechodů – okamžité T1, T2 a časované T0~exp(),

T3~exp(), T4~exp(). Počáteční ohodnocení ( )0 0,0,0M = je skutečným stavem procesu,

ale všechny stavy typu ( ) ( ),0,1 , ,1,0 , 1k k k = jsou fiktivní. Síť popisuje

semimarkovovský proces, ale v našem případě bude jednoduché psát stavový graf jen pro

skutečné stavy.

Page 17: 6 MODELOVÁNÍ SYSTÉMŮ HROMADNÉ OBSLUHY 2 - cvut.cz...poměr. To, jestli obsluha průměrně zvládá nápor zákazníků, s jakou pravděpodobností se tvoří fronty, nebo naopak

17

Obr. 6.8-GSPN

Obr. 6.9-Stavový graf

Matice intenzit pro pořadí ohodnocení ( )0 0,0,0M = , ( )1 0,1,0M = , ( )1* 0,0,1M = ,

( )2 0,1,1M = , ( )3 1,1,1M = , ( )4 2,1,1M = , … ( )2,1,1kM k= − ,…

( )

( )

( )

( )

1 1

2 2

1 2 1 2

1 2 1 2

0 02 2

0 0

0 0

0 0

0 0 0

Q

− +

− +=

+ − + + + − + +

dává stacionární stav ( )0 1 1* 2 3, , , , ,p p p p p p= , který je řešením soustavy rovnic

( )

( )

( )

0 1 1 2 1*

0 1 1

0 2 1* 1 2 2

1 1* 1 2 2 1 2 3

1 2 1 1 2 2

0

( ) 02

( ) 02

( ) 0

( ) 0 2, 3...k k k

p p p

p p

p p p

p p p p

p p p k

+ +

− + + =

− + =

− + + + =

+ − + + + + =

− + + + + = =

Od páté rovnice soustavy už je struktura rovnic jednotná a dává řešení

2

22

k

kp p

=

z prvních čtyř rovnic můžeme vyjádřit 1 1* 2, ,p p p jako funkce p0. Pravděpodobnost prázdného

systémy vypočítáme nakonec z normalizační podmínky0

1i

i

p

=

= . Explicitní vzorce jsou

nepřehledné a nemá význam je na tomto místě uvádět. Pokusíme se popis systém zjednodušit.

Obslužnou linku obsazují zákazníci náhodně, zřejmě nás nezajímá pravděpodobnost, že bude

obsazena 1. linka, nebo 2. linka. Většinou se spokojíme s ohodnocením stavu systému počtem

zákazníků v systému. Potom splynou stavy ( )1 0,1,0M = a ( )1* 0,0,1M = a matice intenzit

odvozená z grafu diferenciálních přechodů Obr. 6.10 bude ve tvaru

Page 18: 6 MODELOVÁNÍ SYSTÉMŮ HROMADNÉ OBSLUHY 2 - cvut.cz...poměr. To, jestli obsluha průměrně zvládá nápor zákazníků, s jakou pravděpodobností se tvoří fronty, nebo naopak

18

( )

( )

( )

0 0

0

0 2 2

0 0 2 2

Q

− + = − +

− +

.

Vzorce pro pravděpodobnosti stavů ve stabilizovaném stavu ( )0 1 2 3, , , ,p p p p p= vyjádřené

v závislosti na p0. 2

01 0 2

0

2

2

2;

,2

pro 2

22

,2

k

k

k

k k

pp p

pp

p

k pp

= =

=

=

.

Nakonec vypočítáme z podmínky0

1i

i

p

=

= pravděpodobnost prázdného systému p0.

11

0

0 2

1 12

! 2

k kn

kk k

pk

−−

= =

= +

Podmínka stabilizace systému 2 1 22

=

Obr. 6.10 – Graf diferenciálních přechodů

6.6.5 M/M/n/

Přístup z předchozího příkladu můžeme zobecnit pro n linek. Výsledné vzorce nebudeme

odvozovat, protože postup je analogický postupu pro M/M/2/. Z grafu diferenciálních

přechodů systému M/M/ n/

Odvodíme vektor stabilizovaného stavu ( )0 1, ,..., ,np p p p= :

0 1 2 3 …

t

t t2

t t

t2

0 1 n+1 … 2 n …

t

t t2 n t n t n t

t t tt

Page 19: 6 MODELOVÁNÍ SYSTÉMŮ HROMADNÉ OBSLUHY 2 - cvut.cz...poměr. To, jestli obsluha průměrně zvládá nápor zákazníků, s jakou pravděpodobností se tvoří fronty, nebo naopak

19

1

0

0

0

1

1

0

0 ,

; ,

1 1

! !

;!

!

k

k

k

k k

kk

k n

k n

k knn

kk n

n

k

pp

k

p pn

np

pk n p

k

pn k p

n n

k n n

−−

= =

=

=

= +

=

=

Podmínka stabilizace systému 1n nn

= .

Výpočet je komplikovaný tím, že máme dva různé vzorce pro výpočet koeficientů. Zvlášť,

když pro stavy 0…n, kdy s přicházejícími zákazníky zapojujeme jednotlivé linky a zvyšujeme

pravděpodobnost ukončení obsluhy, a zvlášť pro zákazníky přicházející do fronty, protože ti

nám již intenzitu obsluhy neovlivňují. Je třeba udělat si ve výpočtech pořádek.

Pro aplikaci právě odvozených vzorců je nejpřehlednější použití rekurentního vztahu.

Porovnáme-li jejich zápisy, snadno odhalíme původ komplikovaných vzorců výše.

( )1

1

pro 0,1, , 11

pro 1, ,

k k

k k

p p k nk

p p k n nn

+

+

= = −+

= = −

Opět platí, že všechny pk jsou vyjádřeny v závislosti na p0. V prvním sloupci tabulky

zvlášť vypočítáme koeficienty pro stavy 0…n: ( )

0 11; pro 0,1, , 11

k kq q q k nk

+= = = −

+

a pro zbývajících nekonečně stavů: 1 pro 1, ,k kq q k n nn

+ = = −

Převrácená hodnota součtu všech koeficientů je pravděpodobnost p0. Jeden čitatel je

součet nekonečné geometrické řady. Buď použijeme vzorec, nebo se uchýlíme k přibližnému

odhadu. Vypočítáme dostatečné množství koeficientů, ty se s vyššími stavy zmenšují, až

prohlásíme další členy za zanedbatelné.

1

1

0

11

0

0

1 1 1

!!

! !

n

kn

k

k knn

kk k n

np

k n n

n

kn n

−−

= =

=

= + =

+ −

Ve druhém kroku vypočítáme zbývající pravděpodobnosti 0k kp p q= . Pro kontrolu

správného postupu použijte kalkulačku na webskriptu, kapitola M/M/n/r. Applet zobrazí i

pomocné koeficienty výpočtu, aby vám usnadnil nalézt případnou chybu.

Sledované charakteristiky systému

U nekonečných systému jsou pro nás vzorce důležitější, protože jinak jsme odkázáni na

přibližné odhady zanedbáním nekonečně mnoha malých hodnot. Pro M/M/n/∞ stojí za to si

zapsat průměrný počet pracujících linek E[S] a z něj odvozené využití systému.

Page 20: 6 MODELOVÁNÍ SYSTÉMŮ HROMADNÉ OBSLUHY 2 - cvut.cz...poměr. To, jestli obsluha průměrně zvládá nápor zákazníků, s jakou pravděpodobností se tvoří fronty, nebo naopak

20

Průměrný počet obsazených linek

1

0 0 0

0 1 1 1 0

[ ]! ! ! !

kk k n k k nn n n

k k

k k n k k n k k n

n nE S kp np p k p n p

k n k n n

− −

= = + = = + = =

= + = + = + = =

Využití systému

[ ]n

E S

n n n

= = =

Střední počet zákazníků ve frontě:

( )2

0 0 0

[ ]1

k

k n nn k n n n n

k k k n

pE F kp k p p k kde

n n

+

= = =

= = = = =

Úloha: K 5 pokladnám pro vjezd na dálnici přijíždí průměrně 15 vozidel za minutu. Střední

doba obsluhy je 10 sekund. Určete:

- průměrnou délku fronty,

- průměrný prostoj vozidla způsobený placením mýtného,

- pst, že náhodné vozidlo bude čekat na obsluhu

- vytížení systému

Řešení: Poměr intenzit 5

2

= = zaručuje pro n = 5 ustálený systém, a tedy má smysl

pokračovat. V tabulce vypočítáme zvlášť koeficienty pro stavy 0–5 a zvlášť pro následujících

6–15 stavů. Zbývající koeficienty jsou tak malé, že jsem se rozhodla je zanedbat. Jsou

vloženy řádky pro částečné součty sloupců (červeně).

Součet nekonečně členů q6 + q7 +, … = 1,628 je vypočítán vzorcem, přibližný součet členů q6

+ q7 +, …+ q15 je jenom 0,813.

k qk pk ES EF EX

0 1,000 0,0752 0,000 0,000 0,000

1 2,500 0,1880 0,188 0,000 0,188

2 3,125 0,2350 0,470 0,000 0,470

3 2,604 0,1958 0,587 0,000 0,587

4 1,628 0,1224 0,490 0,000 0,490

5 0,814 0,0612 0,306 0,000 0,306

11,671 0,878 2,041 2,041

6 0,407 0,0306 0,031 0,184

7 0,203 0,0153 0,038 0,107

8 0,102 0,0076 0,024 0,061

9 0,051 0,0038 0,010 0,034

10 0,025 0,0019 0,003 0,019

11 0,013 0,0010 0,001 0,011

12 0,006 0,0005 0,006 0,006

13 0,003 0,0002 0,000 0,003

14 0,002 0,0001 0,000 0,002

15 0,001 0,0001 0,000 0,001

S 1,628 0,0611 0,306 0,112 0,427

přibl. výsledky 0,9387 2,347 0,112 2,468

Náhodná veličina představující délku fronty má jiné rozdělení než celkový počet zákazníků

v systému. Fronta je prázdná s pravděpodobností p0 + p1 + … + p5, P(F = 1) = p6, atd.

Při výpočtu průměrná délky fronty ve sloupci EF vypočítáme nenulové členy sumy jako

součin (k–5).pk pro k > 5. Střední délka fronty je zde přibližně odhadnuta součtem 0,112,

skutečná hodnota se liší až na 4. des. místě. Zbývající hodnoty jistě sami zvládnete.

Page 21: 6 MODELOVÁNÍ SYSTÉMŮ HROMADNÉ OBSLUHY 2 - cvut.cz...poměr. To, jestli obsluha průměrně zvládá nápor zákazníků, s jakou pravděpodobností se tvoří fronty, nebo naopak

21

6.7 Výpočetní nástroje markovských systémů

Na trhu existuje celá řada online kalkulaček pro analýzu markovských front. Zatím se mi

nepodařilo najít jedinou, která by počítala alespoň přibližně správné výpočty, Tak nezbývá,

než doporučit online kalkulačku zakomponovanou do webskripta v kapitolách 7–10.

Neposkytuje všechny důležité sledované charakteristiky systému, pracuje jen s omezeným

počtem linek a vypisuje jen 12 hodnot ustáleného pravděpodobnostního rozdělení. Slouží

studentům ke kontrole, že jsou jejich procedury naprogramované správně, že pochopili

počítání rozdělení pravděpodobnosti počtu zákazníků v příslušném systému.

Všechny vzorce je velmi jednoduché naprogramovat v jakémkoliv jazyce.

Ukázku programového kódu v Matlabu můžete stáhnout jako m-file ze stránek

předmětu THO.

Ačkoliv tabulková metoda ručního výpočtu jen s pomocí kalkulačky přímo vybízí

k použití Excelu, musíme být obezřetní a zkontrolovat, zda jsou splněny podmínky

pro stabilní systém a zda je počet vypočítávaných hodnot přizpůsoben počtu stavů

dle příslušného zadání. Samotné zadávání vztahů v rekurentním tvaru je

bezproblémové, sešity pro jednolinkové systémy zvládnete připravit během několika minut.

U vícelinkových systémů je problém s různými vzorci pro prvních n stavů, kdy postupně

zvyšujeme intenzitu obsluhy a pro další stavy, kdy už přicházející zákazníci jen sedí ve frontě

a žádnou další linku nezapojujeme, protože ji prostě už nemáme. Při opětovném použití sešitu

pro jiný počet linek musíme změnit rozhraní mezi hodnotami počítanými různými vzorci.

Z profesionálních freeware doporučujeme Queueing Toolpack QTP. Má

naprogramované jedno i vícelinkové markovské systémy a umí vypočítat většinu důležitých

charakteristik.

Operativa: Queuing Theory, ALVAREZ technologies

Velmi jednoduchá aplikace vytvořená v roce 2017 pro operační systém Android

programátorem [email protected]. Ovládání je intuitivní, výpočty jsou rychlé, ale

ne ve všech systémech spolehlivé. Oproti frontovým systémům zkoumaným v předmětu

Teorie hromadné obsluhy vyhodnocuje navíc i systém s omezenou populací M/M/1/C a

M/M/S/C.

Na obrázku vlevo je úvodní menu s výběrem systému. Lze se

spolehnout na výsledky v modelech M/N/1 a M/M/S

s nekonečnou frontou. Písmeno S zde označuje počet linek

(Service). Aplikace vrací ustálené rozdělení pravděpodobnosti,

průměrný počet jednotek v systému i ve frontě, průměrnou dobu

čekání ve frontě a využití systému (Find the systém is busy).

Bohužel, už nekontroluje, zda systém stabilní je. I pokud

vstupuje průměrně více zákazníků, než kolik jsou schopny linky

obsloužit, dostáváme (nesmyslné) výsledky. Varovat nás může

jen závorka okolo čísel.

M/M/1/K – jednolinkový systém s omezenou frontou M/M/1/r.

Zadáváme pouze tři parametry intenzitu vstupu , intenzitu

obsluhy a celkový počet jednotek v systému K = 1+ r.

Bohužel, aplikace dává správné výsledky jen pro a vypočítá

i pravděpodobnosti neexistujících stavů. Dalším omezením je, že

celkový počet zákazníků nesmí být větší než 7.

M/M/S/K – Systém má S linek a maximálně K zákazníků. Aplikace vrací jen

Page 22: 6 MODELOVÁNÍ SYSTÉMŮ HROMADNÉ OBSLUHY 2 - cvut.cz...poměr. To, jestli obsluha průměrně zvládá nápor zákazníků, s jakou pravděpodobností se tvoří fronty, nebo naopak

22

pravděpodobnost p0, že je systém prázdný. Vzpomenete-li ale, jak pravděpodobnosti u tohoto

nejzáludnějšího systému počítáme, není to málo. Druhá vypočítaná hodnota v rozporu se

svým označením Find the systém is busy žádný význam nemá. U všech ostatních systému

ano, zde je přiřazení chybné.

Situace na trhu se vyvíjí velmi rychle, s rozvojem digitalizace výuky se dá očekávat, že další

aplikace přibydou. Pokud něco objevíte, prosím, dejte mi vědět ([email protected]).