Prof.dr.ir. Alexander Verbraeck Sectie Systeemkunde

Preview:

DESCRIPTION

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) - PowerPoint PPT Presentation

Citation preview

TB week 1: Wachtrijtheorie en SimulatieWaarom duurt wachten lang en wat kunnen we er aan doen met simulatie

Prof.dr.ir. Alexander VerbraeckSectie Systeemkunde

5 september 2012 2

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 3

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 4

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 5

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 6

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 7

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 12de gemiddelde wachttijd15 min.komt de wachtrij wel eens boven de 20 JAboven de 10 VAAKboven de 5 VAAK

5 september 2012 8

Hoe goed ‘snappen’ we wachten (5)?Uitgewerkt in simulatiepakket Simio

Hoe goed ‘snappen’ we wachten (6)?

5 september 2012 9

Max 1.2 uurwachttijd!

Gebaseerdop een runvan 10 dagen

Simio uitvoer: "Results tab"

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? JA• Waarom? Lege rij

5 september 2012 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

5 september 2012 16

Simulatie voor wachtrijproblemen

De praktijk

De simulatie

VSE, Virginia Tech / ORCA Computing

5 september 2012 17

Simulaties: wachten op luchthavens

5 september 2012 18

Simulatie: wachten bij klaar-maken vliegtuig

Model: ARC, Aken, Duitsland

5 september 2012 19

Simulatie: Wachten bij instappen

Model: ARC, Aken, Duitsland

5 september 2012 20

Simulatie: wachten bij taxiën

Model: ARC, Aken, Duitsland

5 september 2012 21

Wachtrijsysteem

Doelgroep van potentiële klanten klanten

wachtrij server(s)

wachtrijsysteem

5 september 2012 22

Toestanden van het wachtrijsysteem

klanten

wachtrij server(s)

Wachtrijsysteem

Leeg / Niet-leeg Onbezet / Bezet

Welke toestand is onmogelijk?

5 september 2012 23

Parameters van een wachtrijsysteem

Prestatie van het wachtrijsysteem is afhankelijk van:

• Aankomstproces ( en verdeling tussentijd)• Bedieningsproces ( en verdeling

bedieningstijd)• Aantal loketten• Capaciteit van het systeem• Omvang van de doelgroep

∞ of niet

Capaciteit van wachtrij+

Aantal servers

5 september 2012 24

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 25

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• Eén voor één

• Aankomstintensiteit (aantal/tijdseenheid): λ

zelfde!

5 september 2012 26

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 27

Aantal parallelle servers

• Ieder wachtrijsysteem heeft slechts één wachtrij• Anders meerdere wachtrijsystemen

• Meerdere servers zijn wel mogelijk • 1<#servers<, aantal servers: letter c

BEN C H 16

BEN C H 18 BEN C H 19

Total WIP:

0 0

5 september 2012 28

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 29

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 30

Notatie van Kendall

A/B/c/N/K waarin:A Verdeling aankomsttussentijdB Verdeling bedieningstijdc Aantal serversN Capaciteit van het systeemK Omvang van de doelgroep

Afkortingen verdelingen:M ExponentieelD Constant of deterministischEk Erlang

G Random of algemeen

5 september 2012 31

Nu een beetje dieper

c

c

cc

c

w

L

cc

cc

cc

c

c

ccc

cc

c

c

c

c

c

c

c

cc

c

c

Q

20

1

QQ

Q

20

1

00

11c

0n

n

11c

0n

n

0

LL

1

)P(L(t)

)1)(!(

P)(wL

1w

w

1

)P(L(t)

)1)(!(

P)(L

)1(!

P)(

)/1(!

P)/()P(L(t)

1

1.

!

1

n!

)(

.!

1

n!

)/(

P

5 september 2012 32

Wet van LittleBehoudsvergelijking

L wAankomstintensiteit

Gemiddelde tijd in systeem

N

ii

T

WdttL10

Gemiddeld aantal klanten

5 september 2012 33

Gemiddelde wachttijd: Wqprestatiecriteria

1Q

Lw

Gemiddelde tijd in systeem

Gemiddelde bedieningstijdGemiddelde tijd in wachtrij

5 september 2012 34

Gemiddelde # klanten in wachtrij: Lqprestatiecriteria

Q QL w L

Little’s vergelijking voor de wachtrij

Totaal # klanten in systeemBezettingsgraad server

5 september 2012 35

Gemiddeld # klanten in systeemPrestatiecriteria M/M/1

nn

QQ

Q

P

wL

ww

Lw

L

))(1(

)(

)(

1

1

2

5 september 2012 36

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 …– Kendall notatie– Gemiddelde tijd in systeem?– Gemiddelde wachttijd?– Gemiddeld aantal klanten in de rij?– Kans dat er precies 5 klanten in systeem zijn?

5 september 2012 37

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

• Bedieningstijden stochastisch of deterministisch?• Bijv. normaal verdeeld of exponentiëel verdeeld?

• is de bedieningsintensiteit (bijv. 12 klanten/uur)• 1/ is de gemiddelde bedieningstijd (5 minuten)

Wie is er het eerst aan de beurt?

5 september 2012 38

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 39

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 40

LIFO

SPT

Voorbeeld = 4 (Poisson) = 6 (Poisson)c = 1

N = 50 Klanten

L = 2.6

Lq = 1.7

L = 3.2

Lq = 2.9

--Systeem

--Wachtrij

--Server

5 september 2012 41

LIFO

SPT

w = 38

wq = 27

w = 31

wq = 20

--Tijd in systeem

--Tijd in wachtrij

--Bedieningstijd

Voorbeeld = 4 (Poisson) = 6 (Poisson)c = 1

N = 50 klanten

5 september 2012 42

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

wQ gemiddelde tijd in wachtrij

LQ gemiddelde lengte wachtrij

L-LQ gem. aantal bezette balies

c

c

cc

c

w

L

cc

cc

cc

c

c

ccc

cc

c

c

c

c

c

c

c

cc

c

c

Q

20

1

QQ

Q

20

1

00

11c

0n

n

11c

0n

n

0

LL

1

)P(L(t)

)1)(!(

P)(wL

1w

w

1

)P(L(t)

)1)(!(

P)(L

)1(!

P)(

)/1(!

P)/()P(L(t)

1

1.

!

1

n!

)(

.!

1

n!

)/(

P

5 september 2012 43

Systeem met 4 servers: c=4

5 september 2012 44

Berekende waarden

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

5.5/40 -1/12 = 0.054 uur = 3.25 min

LQ gemiddelde lengte wachtrij 2.16

L-LQ gem. aantal bezette balies 3.33

4 balies, =40/uur, =12/uur

M/M/4

5 september 2012 45

Het systeem met 4 balies in Simio

5 september 2012 46

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 47

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 48

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 49

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 50

Voorbeeld handsimulatie in Simio

5 september 2012 51

Simio model altijd 3D

5 september 2012 52

3D plaatjes uit Google 3D warehouse

5 september 2012 53

Interface Simio

Project-bar

5 september 2012 54

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 gem. aantal klanten in systeem 5.5 2.24+3.36 = 5.6

w gemiddelde tijd klant in systeem 8.25 min8.47 min

wQ gemiddelde tijd in wachtrij

5.5/40 -1/12 = 0.054 uur = 3.25 min 3.39 min

LQ gemiddelde lengte wachtrij 2.16 2.24

L-LQ gem. aantal bezette balies 3.33 3.36

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

5 september 2012 56

Verkorten wachttijden

De theorie leert ons dat de wachttijd verkort kanworden 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 57

Conclusie wachtrijen en simulatie

Murphy heeft gelijkMaar we kunnen er wel wat aan doen!

5 september 2012 58

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

59

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

Uitgebreidere modellen: SEHStraks 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

Recommended