Stokastiske processer og køteori 1. kursusgang Anders Gorst-Rasmussen Institut for Matematiske Fag Aalborg Universitet 1
PRAKTISK INFORMATION Hjemmeside: http://www.math.aau.dk/~gorst/vs7 Litteratur: 1. Andersen, KE (2001). Operationsanalytiske metoder i produktions- og lagerstyring. 2. Kopier og noter. Software: 1. Enterprise Dynamics 2. R (http://www.r-project.org). 3. Excel. PRAKTISK INFORMATION 2
Tentativ kursusform: 12.30-13.00: Repetition. 13.00-14.45: Opgavegning. 14.45-16.15: Forelæsning. Eksamen (!): Gruppevis mundtlig eksamen (karakterer efter binær skala) på baggrund af (skriftligt) miniprojekt. Afleveringsdato: 20. december 2006. Eksamensdato: 12. januar 2007. PRAKTISK INFORMATION 3
I DAG 1. Lidt overordnet om køteori og anvendelser. 2. Noget om kursets indhold. 3. Modeller for køsystemer, og hvorfor vi skal se på stokastiske (fremfor deterministiske) af slagsen. 4. Stokastiske processer definition og eksempler. 5. Markovprocesser definition og beregning. I DAG 4
KØTEORI LIDT PRAKTISK MOTIVATION Produktionssystemer. Hvor lang tid tager en ordre? Er der nok maskiner? Bør man ændre prioriteringen på ordrer? Supermarked. Ventetid ved kasselinie? Er der nok kasser åbne? Venteliste. Ventetid på operation? Er der allokeret tilstrækkelige ressourcer til behandlingsformen? Callcenter. Risiko for optaget? Ventetid på service? Skal der bruges flere operatører? Arrest-til-grundlovsforhør. Ventetid fra anholdelse til foretræde for domstol? Bemanding tilstrækkelig? Datakommunikation Sandsynlighed for pakketab? Forsinkelse på pakker? Skal bufferstørrelsen ændres? KØTEORI LIDT PRAKTISK MOTIVATION 5
KØSYSTEMER Tre hovedbestanddele: Kunde: Det/den, som afventer service. Kø: Mængden af kunder, som afventer service (evt. med et maksimalt antal pladser i køen). Server: Det/den, som udfører service. Generelt ikke kunde/server/kø i sædvanlig fysisk forstand. Målsætning: Sikr tilfredsstillende performance ved dimensionering: 1. Teoretisk baseret simulering af køsystem før implementation. 2. Empirisk baseret optimering efter implementation. KØSYSTEMER 6
MODELDANNELSE FOR KØSYSTEMER 1. Definér centrale karakteristika for køsystem. Pas på detaljeringsgrad; modeller kan let bliver uoverskuelige! Hold altid formålet for øje; hvad skal modellen bruges til? 2. Udvikl matematisk formulering. Deterministisk eller stokastisk model? Kan man bruge gængse, velstuderede modeltyper? Afvej nøje modelrealisme op imod formål. Gør ikke tingene unødigt komplicerede, men vær opmærksom på forsimplende antagelser. 3. Definér performancevariable (en del af 1+2). 4. Ideelt: Validér (dele af) modellen mod rigtige data. MODELDANNELSE FOR KØSYSTEMER 7
EKSEMPLER Kasselinie i den lokale kiosk (let eksempel): 1 server (kassen). System blokeret, når kunde ekspederes. Performancemål; f.eks. gennemsnitlig ventetid eller blokadesandsynlighed. Dimensionering; flere kasselinier? Hurtigere ekspedienter? Call-center (svært eksempel): Mange servere. System blokeret, når alle optaget. Tekniske overvejelser ang. matematisk model 1. Kunder, der bliver afvist kan ringe igen. 2. Kunder kan blive utålmodige og opgive før service. Performancemål/dimensionering? EKSEMPLER 8
KORT OM DETERMINISTISKE PRODUKTIONSSYSTEMER Antagelser: 1. Deterministiske ankomster (x enheder/time). 2. Deterministiske produktionstider. 3. Uendeligt mange køpladser per maskine. 4. Ligevægt ingen ophobning af enheder i system.... kan i så fald benytte fluid modeller: Produktionssystem som deterministisk fluid model Produkter strømmer gennem system med fast hastighed. Produktionslinier som rør, hvor Længden er et mål for produktionstiden Tykkelsen er et mål for maksimalt throughput. KORT OM DETERMINISTISKE PRODUKTIONSSYSTEMER 9
DETERMINISTISKE PRODUKTIONSSYSTEMER EKSEMPEL 40% forarbejdning i areal 2 & 3, 60% i areal 4 & 5. Produktionstider: Maskine 1 2 3 4 5 6 Tid (timer/enhed) 0.2 0.6 0.4 0.3 0.5 0.1 Hvad er maksimalt throughput λ (enheder/time)? Udnyttelsesgrad λ 1 0.4 0.6 2 4 3 5 6 λ Maskine 1: 0.2λ Maskine 2: 0.4 0.6λ = 0.24λ Maskine 3: 0.4 0.4λ = 0.16λ Maskine 4: 0.6 0.3λ = 0.18λ Maskine 5: 0.6 0.5λ = 0.30λ Maskine 6: 0.1λ Maskine 5 er flaskehalsen fuld udnyttelse når 0.30λ = 1 λ = 3.33/time. DETERMINISTISKE PRODUKTIONSSYSTEMER EKSEMPEL 10
FORDELE/ULEMPER VED DETERMINISTISKE MODELLER + Let at analysere komplicerede netværk af produktionslinier. + Fordrer kun begrænset kendskab til systemparametre. + Hurtige skøn af performance. - Gennemført determinisme sjældent realistisk. - Ufleksible. Vi skal arbejde med mere generelle stokastiske modeller eksempler på beregninger i det deterministiske setup vil blive givet ifm. opgaveregning. FORDELE/ULEMPER VED DETERMINISTISKE MODELLER 11
Køsystem: STOKASTISKE MODELLER FOR KØSYSTEMER Ankomstproces T 1, T 2,... (ankomsttid per kunde). Kødisciplin (rækkefølge for ekspedition). Vi vil normalt antage FIFO (first-in-first-out). Ekspeditionstidsproces S 1, S 2,... (ekspeditionstid per kunde). Kønetværk: Flere køsystemer sat sammen. Eks. Patienter på venteliste opereration/reoperation. Produktionssystem med kvalitetskontrol. STOKASTISKE MODELLER FOR KØSYSTEMER 12
ANKOMSTPROCESSER Bank. Kunder til pengeautomat. Hospital. Patienter på venteliste. Produktionssystem. Ordretilgang, råvaretilgang. Arrest-til-grundlovsforhør. Anholdte. Vi skal se på ankomstprocesser, som er fornyelsesprocesser: T n = n U i, U i uafhængige og identisk fordelte, n = 1, 2,... i=1 Yderpunkter i denne klasse: Fuldstændig tilfældige ankomster (Poissonproces). Deterministiske ankomster. ANKOMSTPROCESSER 13
Bank. Tid for transaktion. EKSPEDITIONSTIDSPROCESSER Hospital. Transport, narkose, operation, opvågning. Produktionssystem. Forarbejdningstid, transport, reparation/omstilling af maskiner, kvalitetskontrol, shipping. Arrest-til-grundlovsforhør. Tid til grundlovsforhør. Yderpunkter: Eksponentialfordelingen (ingen hukommelse). Deterministisk proces (konstant ekspeditionstid). EKSPEDITIONSTIDSPROCESSER 14
VI SKAL SE PÅ... Modeller for ankomst- og ekspeditionstidsproces. Simple stokastiske kømodeller som kan analyseres eksakt. Statistiske metoder til empirisk analyse af køsystemer. Performancemål og outputanalyse for simulationer. Køteori for produktionssystemer: Realistiske produktionssystemer: brug simulation! Kræver Empiriske metoder til bestemmelse af systemmodel. Kendskab til outputanalyse og performancemål. Hvorfor så vide noget om forsimplede eksakte modeller? Hvad kan man, og hvad kan man ikke regne på? Springbræt til studier af mere avanceret teori. VI SKAL SE PÅ... 15
STOKASTISKE PROCESSER (DEN TEKNISKE DEFINITION) Ω: Udfaldsrum. F: Mængde af delmængder af Ω (hændelser). I praksis er alle A Ω hændelser. P: Sandsynlighedsmål, funktion fra F til [0, 1]. Stokastisk variabel: Funktion X fra Ω til R så {ω : X(ω) t} F for alle t R. Fastlagt ved fordelingsfunktion F X (x) := P(X x), t R. Stokastisk proces: Samling af stok. var. {X(t) : t T [0, )}. Fastlagt (i dette kursus) via marginale fordelinger for n N P(X(t 1 ) x 1 X(t n ) x n ), (s 1,..., s n ),(t 1,..., t n ) R n. Heuristisk: Stokastisk proces = stokastisk variabel med værdier i klassen af funktioner T R. STOKASTISKE PROCESSER (DEN TEKNISKE DEFINITION) 16
Legetøjseksempel: Ω = {1,..., 6}. P(A) = 1 6 A for A Ω. HVAD BETYDER DET SÅ...? Stokastisk proces X(ω, t) = ωt, t [0, ) Algoritmisk fortolkning: 1. Kast en terning. Betegn udfald ω. 2. Vælg funktionen ωt som udfaldsfunktion for X. I dette kursus: Vi bekymrer os ikke om Ω og P. Konstruér stokastiske processer via algoritmiske beskrivelser. HVAD BETYDER DET SÅ...? 17
VIGTIGE BEGREBER Stokastisk proces {X(t) : t T [0, )} Indeksmængde. T. Udfaldsfunktion. X(ω, ). Tilstandsrum. Billedmængden for X(ω, ). Betegnes S. Udfald/tilstand. X(ω, t). Udfald Udfaldsfunktion 2 Udfaldsfunktion 1 2 4 6 8 10 Tid VIGTIGE BEGREBER 18
EKSEMPEL RANDOM WALK Definér X(0) := 0, X(n) := X(n 1) 1 med sandsynlighed 1/2 X(n 1) + 1 med sandsynlighed 1/2 Position 5 4 3 2 1 0 5 4 3 2 1 0 Position 0 5 10 15 20 Tid EKSEMPEL RANDOM WALK 19
... OG I 2 DIMENSIONER Random walk y 1 1 2 3 4 5 6 0 1 2 3 4 5 6 x... OG I 2 DIMENSIONER 20
EKSEMPEL BROWNSK BEVÆGELSE 1. X(0) = 0; 2. X(t) X(s) N(0, s t), t > s, uafh. af {X(u) : 0 u s}; 3. udfaldsfunktionerne for X er kontinuerte. 0.0 0.4 0.8 1.2 0.0 0.2 0.4 0.6 0.8 1.0 Tid Patologisk! X intetsteds differentiabel, uendelig længde osv. EKSEMPEL BROWNSK BEVÆGELSE 21
STOKASTISK PROCES FRA DEN VIRKELIGE VERDEN Ventetid på ekspedition i et callcenter. Matematisk model...? Ventetid 0 200 400 600 800 0 50 100 150 200 250 300 Kunde STOKASTISK PROCES FRA DEN VIRKELIGE VERDEN 22
VORES SETUP Vi skal næsten udelukkende beskæftige os med stokastiske processer med diskret tilstandsrum. Dvs. tilstandsrum S = {1,..., n} ell. S = N = {1, 2,...}. Eksempel antal kunder i et callcenter efter midnat: Antal kunder 0 10 20 30 40 8 10 12 14 16 18 20 22 Timer VORES SETUP 23
ET SIMPELT KØSYSTEM Afvisningssystem med 1 køplads: 1 server og ingen køplads (eksempelvis 1 badeværelse og ingen køplads). Model: Stokastisk proces {X(t) : t [0, )} hvor X(t) := 0 hvis system optaget til tid t, 1 ellers. Bemærk, X er fastlagt ved ankomst/ekspeditionstidsproces. X 0.0 0.5 1.0 1.5 X X X O X Modtaget ankomst Afvist ankomst 0 2 4 6 8 10 Tid ET SIMPELT KØSYSTEM 24
MARKOVPROCESSER MED DISKRET TILSTANDSRUMN X stokastisk proces på [0, ) med tilstandsrum S = {0,..., n} Tidsafhængig overgangssandsynlighed: p ij (s, t) := P(X(t) = j X(s) = i), 1 i, j n, t s. Da man altid befinder sig i en tilstand j {1,..., n} gælder n p ij (s, t) = 1. j=0 X kaldes en Markovproces, hvis X har Markovegenskaben: P(X(t) = j X(t 1 ) = x 1,..., X(t m ) = x m, X(s) = i) = p ij (s, t), for alle t 1 t m s t samt i, j S Heuristisk: P(fremtid fortid og nutid) = P(fremtid nutid). MARKOVPROCESSER MED DISKRET TILSTANDSRUMN 25
EKSEMPLER PÅ MARKOVPROCESSER Random walk X(0) := 0, X(n) := X(n 1) 1 med sandsynlighed 1/2 X(n 1) + 1 med sandsynlighed 1/2 Fornyelsesprocesser T n = n U i, i=1 U i uafhængige og identisk fordelte. De fleste afledte processer i køsystem med Markov ankomstproces (kølængde, ventetid etc). EKSEMPLER PÅ MARKOVPROCESSER 26
LIGEVÆGTSSANDSYNLIGHEDER FOR MARKOVPROCESSER Stokastisk proces X er en stationær/homogen Markovproces, hvis 1. X har Markovegenskaben, og 2. p ij (s, t) afhænger kun af t s. Antag stationaritet. Hvis der for alle i, j eksisterer t så p ij (t) > 0 (irreducibilitet) gælder lim p ij(t) = p j [0, 1]. (1) t Højresiden kaldes ligevægtssandsynligheden for tilstand j. Heuristisk: p j er brøkdelen af tid i tilstand j i det lange løb. Kan benyttes til beregning af udnyttelsesgrader, gennemsnitlig ventetid, brøkdel af kunder, som afvises osv. Hvis grænseværdien (1) eksisterer for alle i, j, taler man om et ligevægtssystem eller et ergodisk system. LIGEVÆGTSSANDSYNLIGHEDER FOR MARKOVPROCESSER 27
EKSEMPEL LIGEVÆGT FOR REFLEKTERET RANDOM WALK Udfaldsfunktion Overgang fra 0 til 1 X 1.0 0.5 0.0 0.5 1.0 Estimeret sandsynlighed 0.0 0.1 0.2 0.3 0.4 0 5 10 15 Tid 0 200 600 1000 Tid EKSEMPEL LIGEVÆGT FOR REFLEKTERET RANDOM WALK 28
MELLEMLANDINGSFORMLEN Hvordan kommer man fra tilstand i til tid s til tilstand j til tid t? F.eks. ved mellemlanding i tilstand l i }{{} tid s l }{{} tid u j }{{} tid t Loven om total sandsynlighed giver, s u t p ij (s, t) = = n P(X(t) = j X(u) = l, X(s) = i)p(x(u) = l X(s) = i) l=0 n p il (s, u)p lj (u, t) (af Markovegenskaben). l=0 Mellemlandingsformlen/Chapman-Kolmogorov s ligning. MELLEMLANDINGSFORMLEN 29
Antag at OVERGANGSINTENSITETER 1. p ij (t, t) = 0 for i j, samt p ii (t, t) = 1 for vilkårligt t; 2. p ij er differentiabel i andenkoordinaten. Så defineres overgangsintensiteten c ij som c ij (s) := t p ij(s, t). t=s Momentan tilbøjelighed til overgang fra i til j til tid s. Markovproces fastlagt af c ij, 1 i, j n. Tit er c ij kendte (vi kender ankomst/afgangsrate), og vi ønsker at bestemme overgangs/ligevægtssandsynligheder. Bemærk n j=0 c ij(s) = 0 (bevarelse af masse). OVERGANGSINTENSITETER 30
KOLMOGOROV S FREMADGÅENDE DIFF. LIGN. I Mellemlandingsformel: p ij (s, t) = n l=0 p il(s, u)p lj (u, t). Differentiér mht. t og lad u t t p ij(s, t) = n p il (s, t)c lj (t), l=0 0 s < t På matrixform: p 00 p 0n t. = p n0 p nn c 00 c 1n p 00 p 0n.. c n0 c nn p n0 p nn eller med matrixnotation, P t(s, t) = P(s, t)c(t). Matrixdifferentialligning: generelt vanskelig at løse analytisk. KOLMOGOROV S FREMADGÅENDE DIFF. LIGN. I 31
KOLMOGOROV S FREMADGÅENDE DIFF. LIGN. II Antag at X stationær Markovproces (p ij (s, t) afh. kun af t s). Så er overgangsintensiteterne uafhængige af s: t p p ij (t t + h) p ij (t t) ij(s, t) = lim t=s h 0 h p ij (h) p ij (0) = lim = c ij. h 0 h Dvs. C(t) C er en konstant matrix. Fremadgående diff. lign. bliver da: d dt p ij(t) = n p il (t)c lj P(t) = P(t)C. l=0 Kan løses både eksakt og mht. ligevægtsfordelingen. KOLMOGOROV S FREMADGÅENDE DIFF. LIGN. II 32
HVAD BETYDER KONSTANTE OVERGANGSINTENSITETER? Definér T i := tid i tilstand i (sojourn time ell. opholdstid). Sandsynligheden at blive i tilstand i i lille interval (t, t + h) 1 j i p ij (t + h) 1 i j c ij h = 1 c ii h. Inddel [0, t] i k lige store intervaller. Af Markovegenskaben P(T i > t) = lim k = lim k k 1 i=0 P(T i > (i + 1)/k T i > i/k) ( 1 c ii t/k) k = e c ii t. Dvs. fordelingsfkt. F Ti (t) = 1 e c iit (eksponentialfordeling). HVAD BETYDER KONSTANTE OVERGANGSINTENSITETER? 33
UDREGNING AF LIGEVÆGTSFORDELING Lad t. Så fås 0 = n l=0 p lc lj, j = 0,..., n. På vektorform, C p = 0, hvor p = [p 0,..., p n ]. Da n j=0 c ij = 0, har C rang højest n. Bestemmelse af n + 1 ligevægtssandsynligheder? Yderligere betingelse n i=0 p i = 1 (vektorform 1 p = 1). Ligevægtsfordelingen p for en stationær Markovproces med kendt intensitetsmatrix C kan bestemmes ved løsning af ligningssystemet 1 C p = 1, 0 hvor p = [p 0,..., p n ] m. p i ligevægtssandsynlighed for tilstand i. UDREGNING AF LIGEVÆGTSFORDELING 34
PÅ KOGEBOGSFORM 1. Lad C være en intensitetsmatrix. 2. Lad A være matricen, som fremkommer ved at udskifte øverste række i C med ettaller. 3. Lad a være vektoren [1, 0,..., 0]. 4. Ligevægtsfordelingen p for Markovkæden med intensitetsmatrix C er da givet ved p = A 1 a. PÅ KOGEBOGSFORM 35
EKSEMPEL SIMPELT AFVISNINGSSYSTEM I 1 server, 1 køplads. Tilstandsproces X(t) := 0 hvis system optaget til tid t 1 ellers. Hopdiagram: c 01 0 1 c 10 EKSEMPEL SIMPELT AFVISNINGSSYSTEM I 36
EKSEMPEL SIMPELT AFVISNINGSSYSTEM II Intensitet hvormed kunder ankommer: 15/time. c 01 = 15, hvoraf c 00 = 15 af massebevarelse. Intensitet hvormed kunder ekspederes c 10 = 10, hvoraf c 11 = 10 af massebevarelse. Intensitetsmatrix C = 2 3 15 4 15 5 10 10 Fjern øverste række, erstat med [1, 1]. Ligningssystem: 2 3 4 1 1 5 10 10 2 p 2 3 2 3 4 p 1 5 = 4 1 5 p = [0.4, 0.6]. 0 Dvs. system optaget 60% af tiden. Intuitivt! EKSEMPEL SIMPELT AFVISNINGSSYSTEM II 37
EKSAKTE (IKKE-LIGEVÆGT) BEREGNINGER I Lineært differentialligningssystem x (t) = Ax(t) for en kontinuert differentiabel vektorfunktion x, en matrix A. Generel løsning x(t) = i α i exp(λ i t)v i, hvor λ i : v i : α i : ite egenværdi for A ite egenvektor for A konstant, fastlægges ud fra begyndelsesbetingelser.. Fås ved gæt på løsning på form x(t) = e λt v for ikke-fastlagt vektor v og en konstant λ. EKSAKTE (IKKE-LIGEVÆGT) BEREGNINGER I 38
EKSAKTE (IKKE-LIGEVÆGT) BEREGNINGER II X stationær Markovproces; fremadg. diff. lign. P (t) = C P(t). Løs som n + 1 differentialligningssystemer. d dt 2 3 2 3 p i0 (t) p i0 (t) 6 4. 7 5 = C 6 4. 7 5, i = 0,..., n p in (t) p in (t) med begyndelsesbetingelsen P(0) = I. Da C har rang højest n er mindst én egenværdi 0. Heraf 2 3 2 p i0 (t) 6 4. 7 5 = 6 4 p in (t) p 0. p n 3 n 7 5 + α i e λit v i, i=0 indsvingning mod ligevægt er eksponentiel. α i kst. EKSAKTE (IKKE-LIGEVÆGT) BEREGNINGER II 39
EKSAKTE BEREGNINGER, SIMPELT AFVISNINGSSYSTEM Intensitetsmatrix C = 2 3 15 10 4 5. 15 10 Egenværdier 0, 25 med egenvektorer [1, 3/2], [ 1, 1]. Løsning (under begyndelsesbetingelser) er følgelig p 00(t) p 01 (t) 0.4 0.6 = 0.6e 25t 0.6e 25t. p 10 (t) p 11 (t) 0.4 0.6 0.4e 25t 0.4e 25t Ligevægt når e 25t 0 svarende til et kvarters tid... EKSAKTE BEREGNINGER, SIMPELT AFVISNINGSSYSTEM 40
OPSAMLING HVAD SKAL I KUNNE? Teori: Redegøre for hvad der forstås ved et køsystem. Definere en stokastisk proces (side 14) og skelne mellem begreberne på side 16. Definere en Markovproces og kende eksempler herpå; vide at Markovprocesser har eksponentialfordelte sojourn times. Definere overgangssandsynligheder, stationaritet, ligevægtssandsynligheder og overgangsintensiteter. Regneteknik: Udregne ligevægtsfordelingen for en stationær Markovproces. Udregne overgangssandsynlighederne for en stationær Markovproces. OPSAMLING HVAD SKAL I KUNNE? 41