Transcript or-week4dl2

Operations Research
Hoorcollege week 4
Deel 2
Inleiding wachtrijsystemen
De klassificatie van Kendall
Het M/M/1-model
R.B.J. Pijlgroms
Instituut Informatica en Elektrotechniek
Hogeschool van Amsterdam
Wachtrijsystemen
2
Kenmerken van Wachtrijen
 verdeling van aankomsttijd

ook: inter arrival time
 verdeling van bedieningstijd

ook: service time
 aantal servers of loketten
#
servers
aankomsten
bedieningen
3
Kenmerken van Wachtrijen (VERVOLG)
 Verdeling van aankomst- resp. bedieningstijden
 Notatie:



M : de tussenaankomsttijd is negatief exponentiëel
verdeeld
D : de tussenaankomsttijd is constant
G : de tussenaankomsttijd is willekeurig verdeeld
4
Kenmerken van Wachtrijen (VERVOLG)
 maximaal aantal toegestane klanten in
het systeem

of ook: systeem-capaciteit
 omvang van de gehele populatie van
mogelijke klanten
 protocol van bediening van de wachtrij
5
Kenmerken van Wachtrijen (VERVOLG)
 Systeem-capaciteit:


oneindig: ‘iedereen’ kan zich als klant melden
eindig: bijv. de wachtruimte is beperkt!
(vergelijk de printbuffer of het geheugen,
beperkte ruimte in kapsalon.)
6
Kenmerken van Wachtrijen (VERVOLG)
 De populatie (dit is iets anders dan de
systeem-capaciteit)


veelal oneindig (‘iedereen’ kan zich als klant
melden)
soms eindig (vergelijk bijv. kapotte machines
die zich ‘melden’)
7
Kenmerken van Wachtrijen (VERVOLG)
 Protocol: volgorde waarin de wachtrij wordt
bediend






FIFO
- First In First Out
 FCFS - First Come First Served
LIFO - Last In First Out
 LCFS - Last Come First Served
SJN
- Shortest Job Next
SIRO - Service In Random Order
SPT
- Shortest Processing Time first
PR
- according to PRriority
8
De Kendall-notatie
 de genoemde kenmerken worden afgekort
volgens Kendall, bijv.:

M/M/1/FIFO






negatief exponentieel verdeelde aankomsttijd
negatief exponentieel verdeelde bedieningstijd
één server
systeem-capaciteit (= oneindige wachtruimte + 1 = )
oneindige populatie
First In First Out bedieningsvolgorde
9
De Kendall-notatie (vervolg)
 dit wordt afgekort tot M/M/1
 voortaan meestal korte notatie


dus capaciteit en populatie worden dan oneindig
verondersteld en volgorde is FIFO. Zoniet, dan de
lange notatie.
Enkele voorbeelden
M/M/4
 M/G/1
 D/M/2/4

M/D/3/8
M/M/4/4
M/M/2/5/5
10
Notatie van Kendall
A/B/s/N/K met:
A = verdeling aankomsttussentijd
B = verdeling bedieningstijd
s = aantal servers
afkortingen verdelingen
(d.w.z. A, B):
N = capaciteit van het systeem
K = omvang van de ‘doelgroep’ M = exponentieel
D = constant/deterministisch
G = algemeen
(Ek = Erlang)
11
Parameters wachtrijsysteem
Resumerend
gedrag wachtrij-systeem afhankelijk van






aankomstproces (l en verdeling tussentijd)
bedieningsproces (m en verdeling bedientijd)
aantal loketten
capaciteit van het systeem
omvang van de doelgroep
bedienings-protocol
12
Kendall notatie
oefeningen
 kapsalon met 3 knipstoelen en 5
wachtstoelen
 6 machines die onderhouden worden en 1
monteur met Poisson-verdeelde
bedieningsintensiteit
 vliegtuigen die landen op 1 landingsbaan
 Wachtrij in kantine met exponentieel
verdeelde tussenaankomsttijden en
constante bedieningstijden
13
Interessante afgeleide systeemvariabelen
 r = bezettingsgraad (server utilization,
percentage van de tijd dat een server bezig is
waarbij s = aantal parallelle servers)
 Pn = kans op n klanten in het systeem
 Nq = gemiddeld aantal klanten in het systeem
(bediening en wachtrij)
 Nw = gemiddeld aantal klanten in de wachtrij
 Tq = gemiddelde tijd dat een klant in het
systeem aanwezig is (bediening en wachtrij)
 Tw = gemiddelde tijd dat een klant in de wachtrij
14
Overgangs- en stationair gedrag
 overgangsgedrag (vanaf t = 0)
prestatie indicatoren als gemiddelde wachttijd Tw en
gem. aantal klanten in de wachtrij Nw afhankelijk
van de tijd d.w.z. Tw(t), Nw(t)
 stationair gedrag ( t => )
prestatie-indicatoren als gemiddelde wachttijd niet
meer afhankelijk van de tijd (d.w.z. de
waarschijnlijkheid dat systeem zich in gegeven
toestand bevindt is niet tijdsafhankelijk)
15
Overgangsgedrag
 geschiedenis aantal klanten in systeem =
grafiek aantal klanten tegen tijd
 Kan ook in tabel
 Je moet het wachtrij-protocol kennen





FIFO (first in first out)
LIFO (last in first out)
SIRO (service in random order)
SPT (shortest processing time first)
PR (according to priority)
16
Geschiedenis
oefening
Nq
•
•
•
•
aantal bezoeken afgelegd door verpleger (N) ?
voor alle N bezoeken de begintijd ?
voor alle bezoeken de door patient in systeem doorgebrachte tijd ?
voor alle bezoeken de door patient in rij doorgebrachte tijd ?
17
Het M/M/1// - model
18
Het M/M/1// - model
 Negatief-exponentieel verdeelde tussenaankomsttijden
( gemiddelde aankomstintensiteit = l [klanten/sec],
gem. tussenaankomsttijd = l-1 [sec] )
(N.B.: l-1 =1/ l)
 Negatief-exponentieel verdeelde bedieningstijden
(gemiddelde bedieningsintensiteit = m [klanten/sec],
gem. bedieningstijd Ts=m-1 [sec])
 aantal loketten s = 1
 Systeemcapaciteit is oneindig
 Populatiegrootte is oneindig
19
De Markov-keten en de
evenwichtsvergelijkingen: M/M/1
…
- Markov-keten.
- Cirkels geven toestanden aan waarin het systeem kan verkeren.
- Overganskansen i.h.a. niet constant.
20
Het M/M/1-model
 In het M/M/1-model is:
 het
aankomstproces een Poisson-proces met
gemiddeld l aankomsten per tijdseenheid
 de tijd tussen het afronden van twee bedieningen
negatief exp. verdeeld met gemiddeld m bedieningen
per tijdseenheid
 het aantal servers = loketten gelijk aan 1
 Dus parameters ln en mn hangen niet van n
af!!
21
Het M/M/1-model (vervolg)
 Dus ln = l voor alle n = 0, 1, 2, ...
 En mn = m voor alle n = 1, 2, 3, ...
 Wel moet gelden : l < m

anders loopt het systeem “vol”
 De grootheid l  r ( r  1)
m
wordt de bezettingsgraad van het systeem
genoemd
 De evenwichtsvergelijkingen worden :
22
Het M/M/1-model (vervolg)
l
0
l
1
m
l
… n-1
m
l
2
l Pn  m Pn1 (n  0,1, 2,...)
3
…
Dus :
l
mP1  lP0  P1  P0  rP0
m
m
m
l
l
l
mP2  lP1  P2  P1  rP1  r 2 P0
m
n
n+1
n+2 …
l
mP3  lP2  P3  P2  rP2  r 3 P0
m
m
m
.Dus : Pn  r n P0 ( voor n  0,1, 2, ...)
23
Het M/M/1-model (vervolg)
 Bovendien is de som van alle kansen 1

 Pn  1 
n 0

n
r
 P0  1 
n 0
P0 (1  r  r 2  r 3  ...)  1  ( N.B.: r  1 !!)
1
P0 
 1  P0  1 - r
1- r
Dus : Pn  r n (1 - r ) (n  0, 1, 2, ...)
24
Het M/M/1-model (vervolg)
VOORBEELD


Er komen op een netwerkserver gemiddeld 10 berichten
per minuut binnen.
De gemiddelde verwerkingstijd voor een bericht is 4
seconden.
1.
2.
3.
wat is de kans op een ‘idle server’?
wat is de kans op 1, 2 resp. 3 berichten in het systeem?
wat is de kans op minstens 4 berichten in het systeem?
25
Het M/M/1-model(vervolg)
ANTWOORD
Eerst: l is natuurlijk 10 (berichten per minuut)
 En: m is 15 !! (berichten per minuut)

 Dus de bezettingsgraad r = 10/15 = 2/3
 De kans op een ‘idle server’ = de kans op 0
berichten in het systeem: P0 dus.
26
Het M/M/1-model
(vervolg)
We vonden:
2
2 1
r
dus P0  1 -   0.333
3
3 3
2
2
2
P1  r (1 - r )  (1 - )   0.222
3
3
9
Pn = rn (1-r)
2
2
4
 2
P2  r (1 - r )    (1 - ) 
 0.148
 3
3
27
2
3
2
8
 2
P3  r (1 - r )    (1 - ) 
 0.099
 3
3
81
3
De kans op 4 of meer :1-0.333-0.222-0.148-0.099=0.198
27
Nogmaals de notaties voor
afgeleide systeemvariabelen
 We definieren een aantal stochasten:


Ns = het aantal klanten dat bediend wordt
Tq = de tijd die een klant in het systeem
doorbrengt





(ook wel de doorlooptijd genoemd)
Tw = de tijd die een klant in de rij staat
Ts = de tijd die nodig is voor de bediening van een klant
Nq = het aantal klanten in het systeem
Nw = het aantal klanten in de wachtrij
28
Little’s Result
We nemen voortaan aan dat alle genoemde
stochasten niet afhangen van de tijd
 Er geldt :

Nq = Nw + Ns
Tq = Tw + Ts
 Bovendien geldt Little’s result:
E(Nq) = l E(Tq)
E(Nw) = l E(Tw) en
E(Ns) = l E(Ts)
29
Little’s Result
(vervolg)
 Zoals aldoor is l het gemiddeld aantal
aankomsten per tijdseenheid
 Little heeft bewezen dat dit resultaat geldig is
onafhankelijk van de aankomstverdeling !!
 Het bewijs is abstract, het resultaat
eenvoudig en aannemelijk.
30
De verwachting van Nq
(M/M/1-model)
help!
E(Nq ) 

 k  P( N
k 0
q
 k) 


k 0
k 0
k
k

P

k

r
(1 - r ) 
 k 

(1 - r )   k  r k
k 0
31
wiskunde trucs!!!

k
2
3
4
k

x

x

2
x

3
x

4
x
 ..... 

k 0
x(1  2 x  3 x 2  4 x 3  ...)
Met f ( x)  1  x  x 2  x 3  x 4  ... is
f ' ( x)  1  2 x  3 x 2  4 x 3  ....
1
Maar f ( x) 
voor x  1
(1 - x)
1
Dus f ' ( x) 
voor x  1
2
(1 - x)

x
Dus  k  x 
2
(
1
x
)
k 0
k
De verwachting van Nq en Tq
Uit het voorgaande volgt dus:
(bedenk dat r  lm < 1 )
l
r
r
l
m
E ( N q )  (1 - r ) 



(1- r )2 (1 - r ) (1 - lm ) m - l
En dan volgt met het Result van Little:
1
1
l
1
E (Tq )  E ( N q )  

l
l m -l m -l
33
het gemiddelde aantal klanten in het systeem
als functie van de bezettingsgraad r
20
Nq
15
10
5
0
0
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
1
bezettingsgraad r
De verwachting van Nw en Tw
 De verwachte wachttijd is :

de verwachte totale tijd in het systeem minus de
verwachte bedieningsduur
E (Tw )  E (Tq ) - E (Ts )
1
1 m - (m - l )
l

- 

en dus :
m -l m
m (m - l ) m (m - l )
l2
E ( N w )  l  E (Tw ) 
m (m - l )
35
The End