En överblick Kösystem – teori, statistik, slumptal Att läsa inför föreläsningen Simuleringens statistiska metoder, Kap 3, s 45-53. Kjartan Halvorsen Systemteknik Inst för IT Queueing, Kap 4 s 59-81. På föreläsningen Sannolikhetsfördelninger Ankomst- och betjäningstider Uppsala Universitet Köteori prestandamått, analys av steady-state Statistik Konfidensintervall 2011-11-16 Pseudo-slumptal Deterministisk serie tal med slumptalsegenskaper Det kumulative ködiagrammet, igen Prestandamått Från kundens perspektiv Tid i kö Att stå i kö är tråkigt. Bundet kapital. Från betjänarens perspektiv Utnyttjandegrad Hur stor andel av tiden arbetar betjänaren? Genomströmning Hur många kunder kan betjänas på en dag? Omsättning. balk, renege Kunder som avviker. Förlorad omsättning. /W 12 /TW 10 : 8 &$W &'TW :T 6 4 &'W 2 0 0 $ 100 200 Notera att /TW 10 Kunder A(n) D(n) Dq (n) CA(t) CD(t) CDq (t) W (n) Wq (n) L(t) Lq (t) /W 12 300 ' 400 Tid 'T 500 Tid in kund n Tid ut kund n Tid ur kö kund n Akum ankomster tid t Akum avgånger tid t Akum avgånger ur kö t Tid i sys kund n Kötid kund n Antal kunder i sys tid t Antal kunder i kön tid t 600 Littles sats 14 : 8 &$W 4 &'TW 200 PN 300 ' 400 Tid 'T Medeltid i systemet W = N1 n=1 W (n) P Medeltid i kön Wq = N1 Nn=1 Wq (n) R tb 1 Medelkölängd Lq = t −t Lq (t)dt ta a b tb ta Lq (t)dt, Littles sats 2 $ 100 Wq (n) = Z därför att det är två sätt att beräkna samma gråa area i diagrammet ovan. &'W 0 N X n=1 :T 6 0 14 Kunder Tid i systemet Tid är penger. Gäller båda om “kunden” är en människa eller ett föremål. 500 600 Wq N = N X n=1 Lq = Wq (n) = Z tb ta Lq (t)dt = Lq (tb − ta ) N Wq = λWq , tb − ta där λ = N/(tb − ta ) är medelankomstfrekvensen Ankomstprocessen Exponentialfördelningens egenskaper Ofta antas att tiden mellan ankomster är exponentialfördelat f (t) = λe−λt . Låt T ∼ Exp(λ), Ti ∼ Exp(λi ) 1 Är det ett rimligt antagande? 2 0.1 0.08 3 Observationer/s Observerade ankomster till Pressbyrån på Centralstationen under 10 minuter en tidig eftermiddag. 0.06 0.04 4 Minneslös: P T < s + t | T > s = P T < t Minimum av två oberoende exponentialfördelade slumpvariabler är också exponentialfördelad: min(T1 , T2 ) ∼ Exp(λ1 + λ2 ). 1 P T1 < T2 = λ1λ+λ 2 Summan av k slumpvariabler som är oberoende och Exp(λ) har en Gamma-fördelning: f (t) = 0.02 0 5 10 15 20 25 30 35 40 45 50 55 Tid mellan ankomster (s) Poisson-processen En stokastisk process {A(t); t > 0} kallas en Poisson-process om 1 A(0) = 0 2 A(s + t) ≥ A(t) 4 Vad med betjäningstiderna? Antag att Definition 3 1 λk t k −1 e−λt . (k − 1)! Processen har oberoende inkrement Antal händelser inom ett interval t är Poisson-fördelad: P (λt)n A(s + t) − A(s) = n = e−λt n! Tiden mellan händelserna i Poisson-processen är Exp(λ). Väntevärdet för antal händelser inom ett interval t är λt. Kendalls notation för kösystem Betjäningen är uppdelat i k stycken steg, och tiden som varje steg tar är oberoende av varandra, och har alla samma fördelning Exp(λ). T = T1 + T2 + · · · + Tk 1 T har Gamma-fördelning, i kösamanhang även kallat Erlang-fördelning med täthetsfunktionen 0.8 0.6 k=1 0.4 k=2 0 f (t) = k=3 0.2 0 1 2 3 4 Tid 5 6 X1 /X2 /c 0 där λ c – antal parallella betj.processer Vanligt förekommande M = Markovian (exponentialförd.) D = Deterministisk Ek = Erlang G = Generell λ n−1 1 µ X2 – betjäningsprocessen 8 M/M/1 i steady-state λ X1 – ankomstprocessen 7 1 λk t k −1 e−λt . (k − 1)! µ n µ λ µ. Låt ρ = I stationärt tillstånd (limt→∞ ) gäller: Sannolikheten att det är n kunder i systemet: πn = P N = n = ρn (1 − ρ) Medelvärdet av antal kunder i systemet: ∞ ∞ X X L= nπn = n(1 − ρ)ρn = n=0 n=0 Medeltiden i systemet för en kund: 1 ρ W = L/λ = λ 1−ρ ρ 1−ρ Centrala gränsvärdessatsen Stokastiska system Definition Källor till slumpmässighet Slumpmässiga tider mellan ankomster Tiden det tar att betjäna en kund är slumpmässig Konsekvens Observationer av systemet, och utfall av simuleringar av systemet är slumpvariabler. P När N → ∞ kommer fördelningen för ZN = N1 N i=1 Xi gå mot en normalfördelning med medelvärde µ och √ standarddeviation σ/ N. Kärnan i slumptalsserier som datorn ger är en algoritm för att genererera Antag att talserier (y1 , y2 , . . .) med egenskaper som slumptal likformigt fördelade X1 , X2 , . . . , XN är utfall (t.ex totala väntetiden) ur N stycken simuleringer av samma system, fast med olika slumptalsserier. Beräkna ur samplet 1 N PN q mellan 0 och 1. Multiplikativa kongruensgeneratorn xn+1 ≡ kxn + c mod m xn yn = . m i=1 Xi Standarddeviationen s = 1 N−1 PN i=1 (Xi − X̄ )2 Konfidensintervall för det skattade medelvärdet P Centrala gränsvärdessatsen Slumptal – eller “vad är fröet?” Konfidensinterval Medelvärdet X̄ = Låt X1 , X2 , . . . , XN vara oberoende, likafördelade slumpvariabler (iid), med väntevärde µ och standarddeviation σ. √ √ X̄ − 1.96s/ N < µ < X̄ + 1.96s/ N = 0.95 Algoritmen initieras med x0 , vilken kallas fröet. I python: Mersenne Twister Standard i flera programspråk: R, Maple, Matlab, Ruby Väldig lång periodicitet: 219937 − 1 Passerar många tester på slumpmässighet