spm0001_wachtrijtheorie_simulatie

Download Report

Transcript spm0001_wachtrijtheorie_simulatie

TB week 1: Wachtrijtheorie en Simulatie
Waarom duurt wachten lang en wat kunnen we er aan doen met simulatie
Prof.dr.ir. Alexander Verbraeck
Sectie Systeemkunde
Wachtrijen...
• Op de weg (net te laat weg, en dan loop je vast)
• In de supermarkt (en dan net de verkeerde rij kiezen)
• Bij het call-centrum via de telefoon (er zijn nog 68
wachtenden voor u...)
• In de kantine (door een nieuw kassasysteem...)
• In de fabriek (onderdelen die op verwerking liggen te
wachten)
• Op kantoor (stapels dossiers en lijsten met e-mails die
nog afgehandeld moeten worden)
• Vliegtuigen die rondcirkelen voordat ze kunnen landen
5 september 2012
2
Waarom wachtrijen?
• Waar komen de wachtrijen vandaan en waarom zijn ze
zo hardnekkig?
• Waarom zijn de wachtrijen vaak langer dan wat we op
grond van ons ‘gevoel’ zouden zeggen?
• Hoe goed kunnen we het optreden van wachtrijen
voorspellen?
• Er is theorie over wachtrijen
• We kunnen wachtrijen simuleren
• We kunnen de opgedane kennis toepassen
5 september 2012
3
Hoe goed snappen we wachten (1)?
• Stel dat we de tram met een frequentie volgens de
dienstregeling van eens per 10 minuten willen nemen,
maar we wonen halverwege het tracé, dus met alle
verstoringen gedraagt de tram zich alsof hij geheel
willekeurig aankomt. Gemiddeld komen er wel 6
trams per uur, maar soms zit er een groot gat, en
soms zitten er twee vlak achter elkaar.
• Stel ik kom op de halte aan, en ik zie daar iemand
staan die zegt dat zij al 10 minuten wacht. Hoe lang
moet ik dan gemiddeld nog wachten op de tram?
5 september 2012
4
Hoe goed snappen we wachten (2)?
• Stel dat we de tram met een frequentie volgens de
dienstregeling van eens per 10 minuten willen nemen,
maar we wonen halverwege het tracé, dus met alle
verstoringen gedraagt de tram zich alsof hij geheel
willekeurig aankomt. Gemiddeld komen er wel 6
trams per uur, maar soms zit er een groot gat, en
soms zitten er twee vlak achter elkaar.
• Stel ik kom op de halte aan, en ik zie daar iemand
staan die zegt dat zij al 10 minuten wacht. Hoe lang
moet ik dan gemiddeld nog wachten op de tram?
• Antwoord: gemiddeld 10 minuten...
5 september 2012
5
Hoe goed ‘snappen’ we wachten (3)?
• Stel, we hebben een balie met 5 medewerkers, die elk
10 mensen per uur kunnen helpen. Er komen
gemiddeld 48 mensen per uur binnen. Ze kunnen het
dus makkelijk aan. Hoe lang is:
de gemiddelde wachtrij?
de gemiddelde wachttijd?
komt de wachtrij wel eens boven de 20?
boven de 10?
boven de 5?
5 september 2012
6
Hoe goed ‘snappen’ we wachten (4)?
• Stel, we hebben een balie met 5 medewerkers, die elk
10 mensen per uur kunnen helpen. Er komen
gemiddeld 48 mensen per uur binnen. Ze kunnen het
dus makkelijk aan. Hoe lang is:
de gemiddelde wachtrij
de gemiddelde wachttijd
komt de wachtrij wel eens boven de 20
boven de 10
boven de 5
5 september 2012
12
15 min.
JA
VAAK
VAAK
7
Hoe goed ‘snappen’ we wachten (5)?
Uitgewerkt in simulatiepakket Simio
5 september 2012
8
Hoe goed ‘snappen’ we wachten (6)?
Gebaseerd
op een run
van 10 dagen
Max 1.2 uur
wachttijd!
5 september 2012
Simio uitvoer: "Results tab"
9
Wachten in één rij of meer rijen (1)
• Soms is er één wachtrij bij meer ‘loketten’, b.v.
veiligheidsscan op sommige luchthavens
• Soms heeft elk ‘loket’ een eigen wachtrij, b.v. kassa’s
bij de supermarkt
•
•
•
•
Maakt dat verschil?
Wat is ‘eerlijker’?
Verschilt de gemiddelde wachttijd?
Waarom?
5 september 2012
10
Wachten in één rij of meer rijen (2)
• Soms is er één wachtrij bij meer ‘loketten’, b.v.
veiligheidsscan op sommige luchthavens
• Soms heeft elk ‘loket’ een eigen wachtrij, b.v. kassa’s
bij de supermarkt
•
•
•
•
Maakt dat verschil?
JA
Wat is ‘eerlijker’? 1 rij
Verschilt de gemiddelde wachttijd?
Waarom? Lege rij
5 september 2012
JA
11
Wachten in één rij of meer rijen (3)
Uitgewerkt in simulatiepakket Simio
5 september 2012
12
Telefonische diensten (1)
• Als je een telefonische dienst belt, moet je vaak
keuzes maken met nummers voordat je iemand aan de
lijn krijgt.
• Waarom is dat?
• Maakt het verschil in de wachtrijen?
• Waarom?
5 september 2012
13
Telefonische diensten (2)
• Als je een telefonische dienst belt, moet je vaak
keuzes maken met nummers voordat je iemand aan de
lijn krijgt.
• Waarom is dat?
Specialisatie van taken
• Maakt het verschil in de wachtrijen?
Ja
• Waarom?
Meer “gelijke” taken per medewerker
5 september 2012
14
Telefonische diensten (3)
Uitgewerkt in simulatiepakket Simio
5 september 2012
15
Simulatie voor wachtrijproblemen
De simulatie
De praktijk
VSE, Virginia Tech / ORCA Computing
5 september 2012
16
Simulaties: wachten op luchthavens
5 september 2012
17
Model: ARC, Aken, Duitsland
Simulatie:
wachten
bij klaarmaken
vliegtuig
5 september 2012
18
Simulatie: Wachten bij instappen
Model: ARC, Aken, Duitsland
5 september 2012
19
Simulatie: wachten bij taxiën
Model: ARC, Aken, Duitsland
5 september 2012
20
Wachtrijsysteem
Doelgroep van
potentiële
klanten
wachtrij
server(s)
klanten
wachtrijsysteem
5 september 2012
21
Toestanden van het wachtrijsysteem
wachtrij
server(s)
klanten
Wachtrijsysteem
Leeg / Niet-leeg
5 september 2012
Welke
toestand is onmogelijk?
Onbezet / Bezet
22
Parameters van een wachtrijsysteem
Prestatie van het wachtrijsysteem is afhankelijk van:
•
•
•
•
•
Aankomstproces (l en verdeling tussentijd)
Bedieningsproces (m en verdeling bedieningstijd)
Aantal loketten
Capaciteit van wachtrij
Capaciteit van het systeem
+
Aantal servers
Omvang van de doelgroep
∞ of niet
5 september 2012
23
Voorbeeld bezettingsgraad
Bij de helpdesk van de faculteit:
• Gemiddeld arriveren er 4 klanten per uur met een
hulpvraag (Poisson)
• Gemiddeld kunnen 6 klanten per uur worden geholpen
(Poisson)
• Wat is de bezettingsgraad (Griekse letter rho) voor
• 1 helpdesk medewerker?
• 2 helpdesk medewerkers?
5 september 2012
24
Aankomstproces
• Aankomsttussentijden stochastisch of deterministisch?
• Eén voor één op groepsgewijs?
• Groepsgrootte stochastisch of deterministisch
• Meestal:
• Aantal klanten per tijdseenheid Poisson verdeeld
• Tussenaankomsttijden exponentieel verdeeld
zelfde!
• Eén voor één
• Aankomstintensiteit (aantal/tijdseenheid): λ
5 september 2012
25
Bedieningsproces
• Bedieningstijden stochastisch of deterministisch?
• Bijv. normaal verdeeld of exponentieel verdeeld?
• Volgorde van bediening
• Eerste eerst?
• Laatste eerst?
• Snelste eerst?
• Urgentste eerst?
• Bedieningsintensiteit (aantal/tijdseenheid): µ
5 september 2012
26
Aantal parallelle servers
• Ieder wachtrijsysteem heeft slechts één wachtrij
• Anders meerdere wachtrijsystemen
• Meerdere servers zijn wel mogelijk
• 1<#servers<, aantal servers: letter c
0
BEN C H 16
0
BEN C H 18
BEN C H 19
Total WIP:
5 september 2012
27
Capaciteit van het systeem
• Totale aantal klanten in de wachtrij en bij de loketten
• Bij eindige capaciteit
• Klanten gaan terug naar doelgroep als wachtrij vol
• Effectieve aankomsten  Werkelijke aankomsten
• Bijvoorbeeld
• Bellen van klantenservice (in gesprek bij volle rij)
• Numerus fixus voor studie geneeskunde
• Opslag in fietsenwinkel
5 september 2012
28
Omvang van de doelgroep
• Eindig of oneindig groot?
• Oneindig als groep potentiële klanten is groot
• Klanten in systeem verwaarloosbaar t.o.v.
doelgroep
• Restaurant, OV-reisinformatie, Postkantoor, etc.
• Eindige doelgroep
• Aantal aankomsten hangt af van aantal klanten in
systeem
• Computers te repareren door de helpdesk,
#patiënten op een ziekenhuisafdeling, etc.
5 september 2012
29
Notatie van Kendall
A/B/c/N/K waarin:
A
Verdeling aankomsttussentijd
B
Verdeling bedieningstijd
c
Aantal servers
N
Capaciteit van het systeem
K
Omvang van de doelgroep
Afkortingen verdelingen:
M
Exponentieel
D
Constant of deterministisch
Ek
Erlang
G
Random of algemeen
5 september 2012
30
Nu een beetje dieper

P0
P(L(t)  c )
L
w
wQ
LQ
LL Q
l
cm
 c 1 ( l / m ) n



n!
 n  0
 l  c  1   cm
    .
  m   c!   c m  l
 c 1 ( c  ) n 
1
c 1  

   c    .
 n  0 n!
 c!   1 

c
c
( l / m ) P0
( c  ) P0

c! (1 l / c m ) c! (1  )
c 
(c )
c 1
P0
c ( c! )( 1  )
2
c 
  
  
  
  
 

  
1
1
 P(L(t)  c )
1 
L
l
w
1
m
lw Q
l
m
(c )
c 1
P0
c ( c! )( 1  )
2

 P(L(t)  c )
1 
c
5 september 2012
31
Wet van Little
Behoudsvergelijking
T
N
 L t dt   W
0
i
i 1
Gemiddelde tijd in systeem
Gemiddeld aantal klanten
L  lw
Aankomstintensiteit
5 september 2012
32
Gemiddelde wachttijd: Wq
prestatiecriteria
Gemiddelde tijd in wachtrij
wQ 
Gemiddelde bedieningstijd
L
l

1
m
Gemiddelde tijd in systeem
5 september 2012
33
Gemiddelde # klanten in wachtrij: Lq
prestatiecriteria
Totaal # klanten in systeem
Bezettingsgraad server
LQ  l w Q  L 
l
m
Little’s vergelijking voor de wachtrij
5 september 2012
34
Gemiddeld # klanten in systeem
Prestatiecriteria M/M/1

L
w 
wQ 
LQ 
Pn
5 september 2012
l
L
1

l
w
m l
1
m
lwQ



m l
l
m (m l )
2
l
m (m l )
l l n
(1
m
)(
m
)
35
Oefening 1: Kantine met 1 kassa



Gemiddeld komt er één klant aan per minuut
(Poisson verdeeld)
Gemiddelde bedieningstijd is 40 seconde per klant
(exponentieel verdeeld)
Bepaal …
–
–
–
–
–
5 september 2012
Kendall notatie
Gemiddelde tijd in systeem?
Gemiddelde wachttijd?
Gemiddeld aantal klanten in de rij?
Kans dat er precies 5 klanten in systeem zijn?
36
Bedieningsproces
• Bedieningsvolgorde:
• FIFO
First In, First Out
• LIFO
Last In, First Out
• SIRO
Service In Random Order
• SPT
Shortest Processing Time first
• PR
Service according to Priority
Wie is er het
eerst aan de
beurt?
• Bedieningstijden stochastisch of deterministisch?
• Bijv. normaal verdeeld of exponentiëel verdeeld?
• m is de bedieningsintensiteit (bijv. 12 klanten/uur)
• 1/m is de gemiddelde bedieningstijd (5 minuten)
5 september 2012
37
Bedieningsvolgorde versus
Prestatie wachtrijsysteem
• Bedieningsvolgorde heeft geen invloed op
• Bezettinggraad
• Totale tijd in het systeem
• Gemiddelde wachttijd
• Totaal aantal klanten in het systeem
• Gemiddelde lengte wachtrij
• Bedieningsvolgorde heeft alleen invloed op
• Variantie van de wachttijd
5 september 2012
38
Oefening 2
• Wat is de klantenvolgorde als als bedieningsvolgorde “Shortest
processing time first” wordt gebruikt?
• Welke andere bedieningsvolgorde zou hetzelfde resultaat geven?
• Wat is de gemiddelde wachttijd? (Wq)
• Wat is het gemiddeld aantal klanten in de wachtrij? (Lq)
Klant
Aankomsttijd
Bedieningstijd
Prioriteit
1
0
2
3
2
1
1
2
3
1.5
0.75
4
4
1.75
0.5
5
5
2.75
0.5
1
5 september 2012
39
SPT
L = 2.6
Lq = 1.7
Voorbeeld
l = 4 (Poisson)
m = 6 (Poisson)
c=1
N = 50 Klanten
LIFO
L = 3.2
--Systeem
Lq = 2.9
--Wachtrij
--Server
5 september 2012
40
SPT
w = 31
wq = 20
Voorbeeld
l = 4 (Poisson)
m = 6 (Poisson)
c=1
N = 50 klanten
LIFO
w = 38
wq = 27
5 september 2012
--Tijd in systeem
--Tijd in wachtrij
--Bedieningstijd
41
Systeem met meer servers...

bezettingsgraad systeem

P0 kans op 0 klanten in systeem
Pn kans op n klanten in systeem
L
gem. aantal klanten in systeem
w
gemiddelde tijd dat klant in
systeem is
P0
P(L(t)  c )
L
wQ gemiddelde tijd in wachtrij
w
LQ gemiddelde lengte wachtrij
wQ
L-LQ gem. aantal bezette balies
LQ
LL Q
5 september 2012
l
cm
 c 1 ( l / m ) n



n!
 n  0
 l  c  1   cm
    .
  m   c!   c m  l
 c 1 ( c  ) n 
1
c 1  

   c    .
 n  0 n!
 c!   1 

c
c
( l / m ) P0
( c  ) P0

c! (1 l / c m ) c! (1  )
c 
(c )
c 1
P0
c ( c! )( 1  )
2
c 
  
  
  
  
 

  
 P(L(t)  c )
1 
L
l
w
1
m
lw Q
l
m
(c )
c 1
P0
c ( c! )( 1  )
2

 P(L(t)  c )
1 
c
42
1
1
Systeem met 4 servers: c=4
5 september 2012
43
Berekende waarden
4 balies, l=40/uur, m=12/uur
M/M/4

bezettingsgraad
0.83
P0
kans op 0 klanten in systeem
3%
L
gem. aantal klanten in systeem
5.5
w
gemiddelde tijd dat klant in systeem is
8.25 min
wQ
gemiddelde tijd in wachtrij
LQ
5.5/40 -1/12 = 0.054 uur =
3.25 min
gemiddelde lengte wachtrij
2.16
L-LQ gem. aantal bezette balies
5 september 2012
3.33
44
Het systeem met 4 balies in Simio
5 september 2012
45
Simulatie
•
Met b.v. wachttijdtheorie kunnen bepaalde problemen
analytisch worden opgelost maar wat als:
• het systeem zo complex is dat het ondoenlijk is de beste
oplossing analytisch te berekenen
• er veel oplossingen berekend moeten worden en het
berekenen veel tijd kost
• snel een oplossing nodig is en er geen tijd is voor
berekeningen
• inzicht verschaft moet worden aan een opdrachtgever over
de analyse en de oplossingen
•
Werkelijkheid TB-problemen is meestal zo complex
dat alleen simulatie gebruikt kan worden
5 september 2012
46
Handsimulatie
• Kunnen we een dergelijk proces in een
wachtrijsysteem ook met de hand uitvoeren?
• Laten we een voorbeeld uitproberen met de groep...
5 september 2012
47
Voorbeeld
Simulatie met de hand
Proces in b.v. postkantoor
Klanten komen uniform verdeeld aan:
• tussentijd discreet tussen 1 en 6 minuten
Klanten hebben een bedieningstijd:
• 1 op de 6 klanten 1 minuut,
• 1 op de 2 klanten 2 minuten,
• 1 op de 3 klanten 5 minuten
5 september 2012
48
Bouw van een simulatiemodel
• Veel soorten simulatietalen
• In 2e jaar: Simio uitgebreid behandeld
• Andere simulatietalen worden getoond
• Voorbeeld: hoe wordt een model van de
M/M/c wachtrij met 40 aankomsten per uur,
4 loketten en 5 minuten per bediening
gesimuleerd?
5 september 2012
49
Voorbeeld handsimulatie in Simio
5 september 2012
50
Simio model altijd 3D
5 september 2012
51
3D plaatjes uit Google 3D warehouse
5 september 2012
52
Interface Simio
5 september 2012
Project-bar
53
Gesimuleerde waarden M/M/4 model
40 aankomsten per uur, 4 loketten en 5 minuten per bediening
berekend
simulatie
 bezettingsgraad
0.83
3.36/4 = 0.84
P0 kans op 0 klanten in systeem
3%
-
L
5.5
2.24+3.36 = 5.6
8.25 min
8.47 min
3.25 min
3.39 min
LQ gemiddelde lengte wachtrij
2.16
2.24
L-LQ
3.33
3.36
gem. aantal klanten in systeem
w gemiddelde tijd klant in systeem
wQ gemiddelde tijd in wachtrij
5.5/40 -1/12 = 0.054 uur =
gem. aantal bezette balies
5 september 2012
54
Gesimuleerde waarden wachtrij
Zijn ze precies hetzelfde?
Zo nee, waarom niet?
Is de simulatie wel valide?
Hoe bepalen we dat?
Hoe lang moeten we draaien om een bepaalde
betrouwbaarheid te bereiken?
• Wat is de invloed van de lengte van de simulatie?
• Wat is de invloed van het “leeg starten”?
•
•
•
•
•
5 september 2012
55
Verkorten wachttijden
De theorie leert ons dat de wachttijd verkort kan
worden door het:
•
•
•
•
•
•
Reduceren aantal aankomsten per tijdseenheid
Reduceren bedieningstijd
Verhogen aantal servers
Verlagen spreiding in aankomsten
Verlagen spreiding in bedieningstijd
Veranderen van de volgorde voor helpen van klanten
5 september 2012
56
Conclusie wachtrijen en simulatie
Murphy heeft gelijk
Maar we kunnen er wel wat aan doen!
5 september 2012
57
Wanneer zit dit in het programma?
• Basis in het eerste jaar:
• analyse
• statistiek
• modelleertechnieken
• agent-gebaseerd modelleren (college en practicum)
• Colleges aan het begin van het 2e jaar
• discrete wiskunde
• simulatie (discreet en continu)
• Gebruik in 2e en 3e jaar
• project discreet modelleren
• Bachelor project
5 september 2012
58
Voorbeelden recente simulatiestudies
(Alle voorbeelden hieronder zijn afstudeerstages bij Systeemkunde 2010-2011)
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Verbeteren bagagesysteem E-kelder Schiphol
Plaatsing nieuwe remises voor trams bij de HTM
Doorrekenen logistiek nieuw schip voor pijpenleggen Heerema
Simulatie voor risicomanagement Heerema
Visualisatie en simulatie kosten gebruik van opvouwbare containers
Gedistribueerde simulatie en serious games voor ProRail
Simulaties voor kadeprocessen Maersk containerterminal Rotterdam
Doorrekenen wachtlijstproblematiek bij Jeugdzorg
Verbeteren doorlooptijd laboratorium Reinier de Graaf ziekenhuis
Verbeteren laad- en losprocessen Norfolkline terminal Vlaardingen
Personeelsdoorstroming verbeteren bij grote organisaties (Accenture)
Verbeteren voorraadposities bij Proctor & Gamble Pet Food
Just-in-Time voorraadstrategie voor KLM motorenonderhoud
Verbeteren prestaties fabricagelijn Ford in Engeland
5 september 2012
59
Uitgebreidere modellen: SEH
Straks beschikbaar om mee te oefenen
5 september 2012
60
Practicum
10.45 – 12.30 uur met halverwege 15 minuten pauze
5 opgaves
Achternaam A t/m K begint met opgave 1 & 2
Achternaam L t/m Z begint met opgaves 3 – 5
(namen zonder van, de, ter, etc.)
• Na de pauze wisselen
•
•
•
•
• Opgave 1 & 2: zaal D1 of D2, maak groepjes van 5
• Opgave 3 – 5: computerzaal A of studielandschap, maak
groepjes van 2
5 september 2012
61