Kapitel 3 §3.2 Markov-Modelle mit unendlicher Population Das M/M/m Modell Dabei handelt es sich um ein System mit m gleichartigen Servern. Bei m>1 Bedienern ist die Zeit bis zur nächsten Ankunft bzw. dem nächsten Abgang wieder exponentiell verteilt, damit liegt auch hier ein GTP vor. ln =ln n+1 = l ergibt sich wie oben. Die m Bediener seien identisch und unabhängig, jeweils mit Bedienrate m. Im Zustand i (d.h. i Jobs im System) ergibt sich die Zahl n der aktiven Benutzer als n=min{i,m}. Ein Übergang in den Zustand i-1 geschieht also hier, wenn keine Ankunft stattfindet und genau einer der Bediener einen Job abschließt: ln n-1 = mn = limDtØ0 = limDtØ0 ln n-1 = mn = : n J1-e-mD t N Je-mD t Nn-1 e-lD t 1 n m e-mD t 1 1 Dt =n·m n ÿ m falls 1 § n § m mÿ m falls n ¥ m Als Generatormatrix ergibt sich daher: −λ λ 0 ... µ −λ − µ λ 0 0 2µ −λ − 2 µ λ ... 0 3µ −λ − 3 µ L= ª ª ... 0 mµ ... 0 ª ª ... 0 λ − λ − mµ mµ ... 0 λ −λ − mµ ... 0 λ ... 0 ... Wir haben schon auf M/M/1 eingegangen. Andere Systeme wie M/M/m, M/M/¶, M/M/1/k oder M/M/k/k können ähnlich behandelt werden und werden als Übungsaufgaben gestellt. Die Gleichgewichtsverteilung ln pn = : ergibt sich aus der Formel pn = mn n! p0 ln p0 mn m! mn-m l p0 ¤ni=1 i-1 für den mi falls 1 § n § m falls n ¥ m GTP, was sich für l<mm normieren läßt mit 3.2_Modelle_mit_unendlicher_Population_ger.nb 12 ¤ i -1 n m-1 l ⁄n=0 n m n! p0 = + lm mm m! 1- l mm Für die erwartete Länge der Warteschlange gilt Lq = lm+1 mmm+1 m! 1- p0 l 2 mm Daraus können nun mittels der allgemeinen Resultate L, Wq , W berechnet werden. Auch für das M/M/m Modell im Gleichgewicht kann die Verteilung der (Zufallsvariable) Wartezeit Qq eines (virtuellen) Kunden, der zum Zeitpunkt 0 eintrifft, durch folgende Überlegungen gewonnen werden. Satz: Die Verteilung der Wartezeit eines Kunden besitzt die folgende Verteilungsfunktion Qq HtL = AQq § tE = 1 - l m -Hmm-lL t m l m! 1mm p0 Beweis: Wegen der Gedächtnislosigkeit der Exponentialverteilung gilt für n œ 0 bei einer FCFS Strategie 1 für n < m -mmt Hmm tLk AQq § t N = nE = : e n-m 1 - ⁄k=0 für n ¥ m k! Daraus folgt mit dem Satz von der totalen Wahrscheinlichkeit AQq § tE=⁄¶ n=0 AQq § t N = nE pn n-m =1-⁄¶ n=m K⁄k=0 n-m =1-⁄¶ n=m K⁄k=0 =1=1- e-mm t mm m! e-mm t mm m! e-mmt Hmm tLk k! e-mmt Hmm tLk k! p0 ⁄¶ k=0 Hmm tLk k! Hmm tLk p0 ⁄¶ k=0 k! e-mm t l m K O p0 ⁄¶ k=0 l m m! 1mm l m -Hmm-lL t e m =1p0 l m! 1mm =1- O pn O ln n m m! mn-m K⁄¶ n=m+k p0 ln O n m mn l m+k mm l 1mm Hl tLk k! ______________________________________________________________________________ λ = 0.8; µ = 0.2; t = 5.5; −1 λ p0@m_D := SumB µ n! , 8n, 0, m − 1<F + λm µm m! J1 − λ mµ N ; m J N p0@mD λ pQ@m_D := 1 − n µ m! J1 − λ mµ N Exp@−Hm µ − λL tD; Table@pQ@mD, 8m, 5, 10<D 80.726684, 0.928271, 0.983428, 0.996819, 0.999499, 0.999933< Interessant ist auch die bedingte Wahrscheinlichkeit 3.2_Modelle_mit_unendlicher_Population_ger.nb AQq > t Qq > 0E = AQq >t,Qq >0E AQq >0E = AQq >tE AQq >0E 13 = -Hmm-lL t Ein Kunde muss also mit Wahrscheinlichkeit 1- l m m l m! 1mm p0 gar nicht warten und, wenn er warten muss, so muss er eine exponentialverteilte Zeit mit Mittelwert 1 mm-l Die Wahrscheinlichkeit dafür, daß ein Kunde warten muss, kann man wie folgt bestimmen ¶ [Kunde muss warten in der Warteschlange]=⁄¶ k=m pk =⁄k=m = Hm rLm m! lk k m m! mk-m p0 1 1-r Hm rLk Hm rLm B⁄m-1 k=0 k! + m! 1 F 1-r , wobei r= l mm l Diese Formula heißt Erlang C Formula, kurz C(m, ) m λ = 0.8; µ = 0.2; m = 5; −1 p0 = SumB λ pN = pW = λ n µ n! J N 1 λ m! µ µm m! J1 − λ mµ N ; m µ m! J1 − , 8n, 0, m − 1<F + λm λ mµ m N p0 1 1− λ p0 mµ 0.821085 0.821085 Bemerkung: Man beachte, dass alle Formeln für das M/M/m Modell für m=1 in die entsprechenden Formeln für das M/M/1 Modell übergehen. Satz (Satz von Burke für M/M/m-Systeme): Für jedes M/M/m-System im Gleichgewicht stimmen Ankunfts- und Abgangsprozeß stochastisch übereit. Zusammenfassung (Leistungsmerkmale bei M/M/m): Betrachte ein M/M/m-System mit Ankunftsrate l, m gleichartigen Servern, Bedienrate m, 3.2_Modelle_mit_unendlicher_Population_ger.nb 14 , m gleichartigen Servern, Bedienrate , -1 p0 = n m-1 l ⁄n=0 mn n! lm + mm m! 1- l mm Dann gilt ä mittlere Anzahl von Kunden in der Warteschlange: Lq = ANq E = lm+1 mmm+1 m! 1- p0 l 2 mm ä mittlere Wartezeit Wq = AQq E = Lq l = lm l 2 m+1 mm m! 1mm p0 ä mittlere Systemzeit W = @QD = Wq + @BD = lm l 2 m+1 mm m! 1mm p0 + 1 m ä mittlere Anzahl von Kunden im System: l lm+1 m l 2 mmm+1 m! 1mm L = @ND = Wl = lIWq + @BDM = Lq + = p0 + l m ä die Verteilungsfunktion der Wartezeit eines Kunden Qq HtL = AQq § tE = 1 - l m -Hmm-lL t e m l m! 1mm p0 λ = 0.3; µ = 0.5; m = 2; −1 p0 = SumB λ n µ n! , 8n, 0, m − 1<F + λm m µm+1 m! J1 − p0 + λ mµ N 2 λm µm m! J1 − λ mµ N ; 1 µ 2.1978 Das M/M/m/K Modell Dabei handelt es sich um ein System mit m gleichartigen Servern mit einer Systemkapazität K, d.h. Kunden, die bereits K Kunden im System vorfinden, werden abgewiesen. Ein Mathematische Model ist ein Geburts- und Todesprozess mit den Raten l falls 0 § n < K ln,n+1 = ln = : 0 falls n ¥ K n m falls 1 § n § m ln n-1 = mn = : m m falls n ¥ m Dieser Prozess hat nur die Zustände I={0,1,...,K}. 3.2_Modelle_mit_unendlicher_Population_ger.nb 15 Dieser Prozess hat nur die Zustände I={0,1,...,K}. Wenn m=1, dann ergibt sich als Generatormatrix für K=6 −λ µ 0 L= 0 0 0 0 λ −Hλ + µL µ 0 0 0 0 0 λ −Hλ + µL µ 0 0 0 0 0 λ −Hλ + µL µ 0 0 0 0 0 λ −Hλ + µL µ 0 0 0 0 0 λ −Hλ + µL µ 0 0 0 0 0 λ −µ Die Gleichgewichtsverteilung ln pn = : mn n! p0 falls 1 § n § m ln n m m! mn-m p0 falls m § n § K ergibt sich wieder aus der Formel pn = p0 ¤ni=1 p0 = n m-1 l ⁄n=0 n m n! m-1 p0 = K⁄n=0 ln mn n! + + li-1 mi für den GTP. Sie existiert in jedem Fall, wobei l K-m+1 lm 1mm l mm m! 1mm lm mm m! -1 HK - m + 1LO für l∫m m bzw. -1 für l=m m. Man beachte, dass die Formel für Kض in die betreffende Formel für das M/M/m Modell übergeht. Die Formel für die erwartete Länge der Warteschlange lautet für l∫m m Lq = l K-m+1 l l K-m lm+1 p0 1- 1HK-m+1L mm mm mm l 2 mmm+1 m! 1mm Die entsprechende Formel für l=m m wird durch die Regel von de L'Hospital gewonnen. Die erwarteten Wartezeiten werden wieder über die Formel von Little berechnet, allerdings muss man beachtet, dass die mittlere Anzahl von eintreffenden Kunden je Zeiteinheit hier gleich lH1 - p K L ist, weil ja nicht jeder eintreffende Kunde tatsächlich in das System eintritt. Wir erhalten daher 3.2_Modelle_mit_unendlicher_Population_ger.nb 16 Wq = Lq lI1- p K M 1 und W = Wq + @BD = Wq + , m sowie L = @ND = WlH1 - p K L = Lq + lI1- p K M m . Auch in diesem Fall kann die Verteilung der Wartezeit berechnet werden. Die Wahrscheinliechkeit dafür, daß ein Kunde abgewiesen wird (Blokierwahrscheinlichkeit), kann für System M/M/1/K wie folgt bestimmen werden [ein Kunde wird verloren]= p K =: l K l K+1 m m l K+1 1m 1 K+1 falls l m falls ∫1 l m =1 3.2_Modelle_mit_unendlicher_Population_ger.nb 17 Beispiel 16. Um die Auswirkung eines begrenzten Speichers abzuschätzen, berechnen Sie ab welcher Anzahl von Pakete n im System die Wahrscheinlichkeit das noch eines hinzukommt 1% oder weniger beträgt. Lösung: Die Wahrscheinlichkeit, dass sich mehr als n Pakete im System befinden, lässt sich als totale Wahrscheinlichkeit ausdrücken: l k @N > nD ¥ p0 ⁄¶ k=n+1 K O m Günstiger ist es jedoch, dass durch die etsprechende Gegenwahrscheinlichkeit auszudrücken: l k n @N > nD ¥ 1 - p0 ⁄k=0 K O m l mit r= , p0 = 1 - r, @N > nD = 0.01 m und der endlichen geometrischen Reihe ⁄nk=0 qk = folgt qn+1 -1 q-1 0.01 ¥ 1 - H1 - rL ⁄nk=0 rk ¥ 1 - H1 - rL rn+1 -1 r-1 ¥ 1 - H1 - rL H-1L ¥ 1 - I1 - rn+1 M ¥ rn+1 umstellen nach n log 0.01 ¥ Hn + 1Llog r n¥ log 0.01 log r -1 ¥2.3219º3 I1-rn+1 M H-1L H1-rL 3.2_Modelle_mit_unendlicher_Population_ger.nb 18 2.3219 3 D.h. mit einer Wahrscheinlichkeit von unter 1% befinden sich mehr als drei Pakete im System. Beispiel 17. Berechnen Sie für eine M/M/1/5 - Warteschlange die Blokierwahrscheinlichkeit für (a) r = l (b) r = l m m = 0.25 bzw. = 1. Lösung: Für eine M/M/1/K Warteschlange (Systemkapazität K) ist die Blockierwahrscheinlichkeit p B = @N > KD = Hfalls N > K die new hinzukommenden Paket werden verworfen, daher können sich nie mehr als K Pakete im System aufhaltenL = @N = KD = p K =: r K -r K+1 1-r K+1 1 K+1 falls r ∫ 1 sonst Damit ist (a) p B = 0.255 -0.256 1-0.256 º 0.73 ÿ10-3 für r=0.25, und (b) p B = 1 ê 6 für r=1. Beispiel 18. Vergleichen Sie drei Alternativen: 1. M/M/1 Modell mit Bedienungsrate 2m; 2. M/M/2 Modell mit gemeinsamer Warteschlange und Bedienungsraten m für jedes Server. 3. Zwei getrennte Warteschlange M/M/1 mit Bedienungsraten m. Hinweis: Benutzen Sie als Maß für die Leistungsfähigkeit den Erwartungswert für die Anzahl der Pakete, die versendet werden bzw. auf ihren Versand warten. Lösung: Um die drei Alternativen vergleichen zu können, sei r in diesem Fall definiert als r= 1. 2m M/M/1 @ND= r 1-r 2. M/M/2 l 2m mit 3.2_Modelle_mit_unendlicher_Population_ger.nb 19 2. M/M/2 In diesem Fall m=2, -1 m-1 p0 = ⁄n=0 ln mn n! + lm l mm m! 1mm @ND = = K1 + 2 r + 2 r2 lm+1 l 2 mmm+1 m! 1mm 1 H1-rL l 2 r3 m H1-rL2 p0 + = K O -1 1-r 1+r = 1-r 1+r O + 2 r= 2r 1-r2 3. Zwei M/M/1 Systeme, für jede der beiden Bedienstationen gilt für die mittlere Anzahl von Aufträgen: H1ê2L l m H1ê2L l 1m = r 1-r Für das Gesamtsystem folgt deshalb: r @ND =2 1-r In der folgenden Abbildung ist für die drei Alternativen die mittlere Anzahl an Aufträgen im System abhängig von der Auslastung r des Systems dargestellt (setze r=rho) 3.2_Modelle_mit_unendlicher_Population_ger.nb 20 Auslastung des Systems dargestellt (setze =rho) Die durchgezogene Linie steht für die Alternative 1, die kurz gestrichelte Linie steht für die Alternative 2, und die lang gestrichelte Linie steht für die Alternative 3. ρ EN1@ρ_D := 1−ρ ; 2ρ ; 1 − ρ2 ρ EN3@ρ_D := 2 ; 1−ρ Plot@8EN1@ρD, EN2@ρD, EN3@ρD<, 8ρ, 0, 0.95<, PlotLegend → 8"Model 1", "Model 2", "Model 3"<, LegendPosition → 80.8, − 0.8<D EN2@ρ_D := 3.2_Modelle_mit_unendlicher_Population_ger.nb 21 10 8 6 4 2 0.2 0.4 0.6 0.8 Das M/M/m/m Modell Dieses Model wurde bereits 1917 von Erlang (Agner Krarup Erlang, 1878-1929, dänischer Ingenieur und Mathematiker) für eine Telefonvermittlung verwendet. Dabei werden die ankommenden Telefongespräche durch einen Poisson-Prozess modeliert und die Sprechzeiten als exponentialverteilt angenommen. Das mathematische Modell ist ein Geburts- und Todesprozess mit den Raten l falls 0 § n < m ln,n+1 = ln = : 0 falls n ¥ m ln n-1 = mn = n m, 1 § n § m Die Gleichgewichtsverteilung 3.2_Modelle_mit_unendlicher_Population_ger.nb 22 Die Gleichgewichtsverteilung pn = : ln mn n! p0 falls 1 § n § m , falls n > m 0 wobei m p0 = K⁄n=0 ln -1 O mn n! Die von Erlang hergeleiteten Formeln dienten dazu, die Telefonzentrale richtig zu dimensionieren. Seine sogenannten Erlangschen Verlustformeln lauten pm = lm m m m! m K⁄n=0 ln -1 O mn n! l und heißen Erlang B formula, kurz B(m, ). m Mit Wahrscheinlichkeit pm geht der Kunder verloren, weil er keine freie Telefonleitung vorfindet. Die große Bedeutung dieser Formeln liegt darin, daß sie sogar für ein M/G/m/m Modell gelten, in dem die mittlere Bedienungszeit 1 m ist. Erlang nahm bei seinem Untersuchungen die Bedienungszeit als konstant an, sein Beweis für die Formeln war aber nicht ganz korrekt. Das M/M/• Modell (unendlich viel Servern) In diesem Modell wird jeder Kunde sofort bedient, oft ist es gut geeignet, um eine Selbstbedienungsanlage zu beschreiben. Mathematisch handelt es sich um einen Geburts- und Todesprozess mit ln n+1 = ln = l, n = 0, 1, 2, ... ln n-1 = mn = n m, n = 1, 2, 3, ... Damit gilt pn = ln mn n! e - l m . Die Anzahl der Kunden im System ist Poisson-verteilt mit Parameter l m . Auch diese Formel gild sogar für ein M/G/1 Modell. l L=[N]= und m L 1 l m W=[Q]=(Formel von Little) = Zustandsabhängiges Service Kunden treffen nach einem Poisson-Prozess mit Rate l in ein System mit einem Server ein, der negative exponential verteilt mit unterschiedlicher Intensität arbeitet. Sind weniger als k Kunden im System, so erbeitet der Server langsam mit Rate ml . Bei mindestens k Kunden arbeitet er schnell mit Rate ms . Die Kapazität des System sei unbeschränkt. Wir 3.2_Modelle_mit_unendlicher_Population_ger.nb 23 mit Rate l . Bei mindestens k Kunden arbeitet er schnell mit Rate s . Die Kapazität des System sei unbeschränkt. Wir erhalten die Raten ln n+1 = ln = l, ml falls 1 § n < k . ln n-1 = mn = : ms falls n ¥ k Im Fall l ms < 1 existiert die Gleichgewichtsverteilung und für sie gilt pn = : ln mnl falls 1 § n < k p0 ln k-1 ml mn-k+1 s p0 falls n ¥ k mit 1-Ilëml Mk p0 = : 1-lëml Kk + + lêms 1-lêms O Ilëml Mk-1 lêms -1 1-lêms falls l ml -1 falls ∫1 . l ml =1 Verallgemeinerungen dieses Modells liegen nahe und sind genauso zu behandeln: Man kann statt einem m Server einsetzen, diese Können je nach Anzahl der vorhandenen Kunden (Aufträge) mehrere verschiedene Arbeitsintensitäten aufweisen. Man kann auch bei Vorhandensein von k1 , k2 , ... Kunden einen 2.,3., ... Server einsetzen. Ungedultige Kunden Zumindest drei Typen von ungedultigen Kunden sind denkbar. æ Solche, die sich bei einer gewissen Länge der Warteschlange nur ungern anstellen (balking), d.h. für jeden Systemzustand n gibt es eine Warte wahrscheinlichkeit wn , mit der ein eintrefender Kunde in das System eintritt. æ Ein nächster Typ von ungeduldigen Kunden stellt sich zuerst an, verläßt aber, wenn zu lange warten muss, das System ohne Bedienung. Diese Art von Ungeduld (reneging) kann man dadurch modellieren, dass in jedem Systemzustand n jeder Kunde mi Rate rn das System verläßt. æ Wenn es für jeden Server eine eigene Warteschlange gibt, tritt eine dritte Art von Ungedult auf, nämlich dasWechseln den Warteschlangen (jockeying).