Você está na página 1de 30

Simulao a Eventos

Discretos

Fernando Nogueira Simulao 1


Introduo
Simulao no uma tcnica de otimizao: estima-se medidas de performance de
um sistema modelado.
Modelos Contnuos X Modelos Discretos
Modelos Contnuos: estado do sistema muda continuamente em funo do tempo.
Utiliza-se geralmente equaes diferenciais para descrever iteraes entre diferentes
elementos do sistema. Exemplo: crescimento de populaes, circuitos eletrnicos,
reaes qumicas, modelos economtricos,...
Modelos Discretos: estado do sistema muda somente no instante que ocorre um evento,
para todos os demais instantes de tempo, nada muda no sistema. Para isto, utiliza-se os
conceitos de Filas. Exemplo: sistemas que podem ser modelados como filas de espera.
Obs: este tipo de simulao conhecido como Simulao a Eventos Discretos.

Definio Genrica de Eventos


Toda Simulao a Eventos Discretos descreve, diretamente ou indiretamente, situaes
de fila, em que clientes chegam, aguardam em fila se necessrio e ento recebem
atendimento antes de deixar o sistema. Com isso, existem apenas dois eventos que
controlam a simulao: chegadas e atendimentos.
Fernando Nogueira Simulao 2
Exemplo: dois produtos so processados em duas mquinas em srie, as quais possuem
ampla rea de buffer. Os eventos so:
A11: o produto 1 chega na mquina 1. D11: o produto 1 deixa a mquina 1.
A21: o produto 2 chega na mquina 1. D21: o produto 2 deixa a mquina 1.
A12: o produto 1 chega na mquina 2. D12: o produto 1 deixa a mquina 2.
A22: o produto 2 chega na mquina 2. D22: o produto 2 deixa a mquina 2.
Nota-se que s existe 2 eventos: chegada (A) de um produto em uma mquina e sada
(D) de um produto de uma mquina. Os nmeros 1 e 2 so atributos que caracterizam
os eventos. obs: admitindo que um produto ao ser processado na mquina 1 vai direto
para a mquina 2, os eventos D11 e A12 so idnticos, assim como D21 e A22.

Amostragem a partir de Distribuies de Probabilidade


Quando o intervalo t entre sucessivos eventos probabilstico, faz-se necessrio gerar
amostra aleatrias a partir de uma distribuio de probabilidade f(t).
Mtodo Inverso seja F(x) = P{y x} a Funo de Distribuio de Probabilidade da
varivel aleatria x com Funo Densidade de Probabilidade f(x) (contnua ou discreta),
e R uma amostra aleatria a partir da Distribuio Uniforme (0,1), x = F-1(R).
Fernando Nogueira Simulao 3
F (x ) F (x )
c o n tn u a d isc re ta
1 1

R 1 R 1

0 x1 x 0 x1 x

Exemplo: Distribuio Exponencial


f (t ) = e t R = F(t )
t
1 1
F(t ) = e dx = 1 e
x t t = ln (1 R ) ou t = ln(R )
0

Amostras de t a partir de Exponencial (lambda = 1.5) Histograma
2500
7

6
2000

1500

Frequencia
4
t

3
1000

500
1

1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 0
0 1 2 3 4 5 6 7 8
Amostra
t

Fernando Nogueira Simulao 4


Gerao de Nmeros Aleatrios com Distribuio Uniforme
Como utilizar o computador digital, a mais precisa e determinstica mquina concebida
pelo homem, para produzir nmeros aleatrios ? Uma vez que qualquer programa vai
produzir uma sada inteiramente previsvel, a gerao de nmeros aleatrios em um
computador representa uma impossibilidade conceitual.
A nica maneira prtica consiste em utilizar operaes aritmticas. Tais nmeros no
so verdadeiramente aleatrios e por isso so denominados Nmeros Pseudo-
Aleatrios. O mtodo mais comum para gerar Nmeros Pseudo-Aleatrios :
Mtodo Congruente Multiplicativo
Dado os parmetros u0 (semente), b, c e m, um nmero pseudo-aleatrio Rn pode ser
gerado por: Exemplo :
u n = mod(( bu n 1 + c), m ), n = 1,2,... b = 9, c = 5, u 0 = 11, m = 12
un u1 = mod((9 11 + 5),12) = 8
Rn = , n = 1,2,...
m 8
R1 = = 0.6667
onde : 12
mod(x, y ) = x y * floor( x / y), para y 0 u 2 = mod((9 8 + 5),12) = 5
mod(x, y ) = x, para y = 0 5
R2 = = 0.4167
12
Fernando Nogueira Simulao 5
Simulao Monte Carlo
Estimar a rea de uma circunferncia com equao (x-1)2 + (y-2)2 = 25
Raio = 5, rea do quadrado = 100, rea exata da circunferncia = 78.5398
7 7

6 n=10 6 n=100
5 5

4
rea = 80% da rea 4
rea = 78% da rea do
3 do quadrado = 80 3 quadrado = 78
2 2

1 1

0 0

-1 -1

-2 -2

-3 -3
-4 -2 0 2 4 6 -4 -2 0 2 4 6

6
n=1000
5
rea = 78.4% da rea
4
do quadrado = 78.4
3

-1

-2

-3
-4 -2 0 2 4 6

Fernando Nogueira Simulao 6


Mecanismo da Simulao a Eventos Discretos
Evento Chegada
1. Gerar e armazenar cronologicamente o tempo de chegada do prximo cliente
(=tempo corrente + tempo entre chegadas).
2. Se a instalao de atendimento est ociosa
a) Comear o atendimento e declarar a instalao de atendimento ocupada.
Atualizar as estatsticas de utilizao da instalao de atendimento.
b) Gerar e armazenar cronologicamente o tempo de sada (trmino do atendimento)
do cliente (=tempo corrente + tempo de atendimento).
3. Se a instalao de atendimento est ocupada, colocar o cliente na fila e atualizar as
estatsticas da fila.
Evento Sada (Atendimento)
1. Se a fila est vazia, declarar a instalao de atendimento ociosa. Atualize as
estatsticas da instalao de atendimento.
2. Se a fila no est vazia
a) Selecionar um cliente a partir da fila e coloca-lo na instalao de atendimento.
Atualizar a fila e as estatsticas da instalao de atendimento.
b) Gerar e armazenar cronologicamente o tempo de sada dos cliente. (=tempo
corrente + tempo de atendimento).
Fernando Nogueira Simulao 7
Exemplo:
O intervalo de tempo entre chegadas em uma barbearia exponencial com mdia de 15
minutos e existe um nico barbeiro que gasta entre 10 e 15 minutos uniformemente
distribudos para fazer uma barba. A disciplina da fila FIFO e deseja-se 1)estimar a
utilizao mdia da barbearia, 2) o nmero mdio de clientes no sistema e 3) o tempo
mdio que um cliente aguarda na fila.
Seja p e q amostras aleatrias dos tempos entre chegadas e de atendimento,
respectivamente, ento:
p = 15 ln(R ) em min . 0 R 1
q = 10 + 5R em min . 0 R 1
Chegada do Cliente 1 em T = 0
Gerar chegada do cliente 2 em T = 0 + p1 = 0 + [-15ln(.0589)] = 42.48 min.
Instalao de atendimento est ociosa em T = 0, cliente 1 comea a ser atendido. O
tempo de sada T = 0 + q1 = 0 + (10 + 5 x .6733) = 13.37 min.
A lista cronolgica :
T Evento
13.37 sada do cliente 1
42.48 chegada do cliente 2

Fernando Nogueira Simulao 8


Sada do Cliente 1 em T = 13.37
Porque fila est vazia, instalao declarada ociosa. Declarar que a instalao de
atendimento esteve ocupada entre T = 0 e T = 13.37 min. Atualizar a lista cronolgica:
T Evento
42.48 chegada do cliente 2
Chegada do Cliente 2 em T = 42.48
Gerar chegada do cliente 3 em T = 42.48 + p2 = 42.48 + [-15ln(.4799)] = 53.49 min.
Instalao de atendimento est ociosa em T = 42.48, cliente 2 comea a ser atendido e
instalao declara ocupada. O tempo de sada T = 42.48 + q2 = 42.48 + (10 + 5 x
.9486) = 57.22 min. Atualizar a lista cronolgica:
T Evento
53.49 chegada do cliente 3
57.22 sada do cliente 2
Chegada do Cliente 3 em T = 53.49
Gerar chegada do cliente 4 em T = 53.49 + p3 = 53.49 + [-15ln(.6139)] = 60.81 min.
Instalao de atendimento est ocupada (at T = 57.22), cliente 3 colocado na fila em
T = 53.49 Atualizar a lista cronolgica:
T Evento
57.22 sada do cliente 2
60.81 chegada do cliente 4
Fernando Nogueira Simulao 9
Sada do Cliente 2 em T = 57.22
Cliente 3 retirado da fila para comear atendimento. O tempo aguardado W3 = 57.22
53.49 = 3.73 min. O tempo de sada T = 57.22 + (10 + 5 x .5933) = 70.19 min.
Atualizar a lista cronolgica:
T Evento
60.81 chegada do cliente 4
70.19 sada do cliente 3
Chegada do Cliente 4 em T = 60.81
Gerar chegada do cliente 5 em T = 60.81 + p4 = 60.81 + [-15ln(. 9341)] = 61.83 min.
Instalao de atendimento est ocupada (at T = 70.19), cliente 4 colocado na fila.
Atualizar a lista cronolgica:
T Evento
61.83 chegada do cliente 5
70.19 sada do cliente 3
Chegada do Cliente 5 em T = 61.83
Simulao limitada para 5 chegadas, chegada do cliente 6 no gerada. A instalao
de atendimento est ocupada e ento cliente colocado na fila em T = 61.83. Atualizar
a lista cronolgica:
T Evento
70.19 sada do cliente 3

Fernando Nogueira Simulao 10


Sada do Cliente 3 em T = 70.19
Cliente 4 retirado da fila para comear atendimento. O tempo aguardado W4 = 70.19
60.81 = 9.38 min. O tempo de sada T = 70.19 + (10 + 5 x .1782) = 81.08 min.
Atualizar a lista cronolgica:
T Evento
81.08 sada do cliente 4
Sada do Cliente 4 em T = 81.08
Cliente 5 retirado da fila para comear atendimento. O tempo aguardado W5 = 81.08
61.83 = 19.25 min. O tempo de sada T = 81.08 + (10 + 5 x .3473) = 92.82 min.
Atualizar a lista cronolgica:
T Evento
92.82 sada do cliente 5
Sada do Cliente 5 em T = 92.82
No h mais clientes no sistema (fila e instalao de atendimento) e a simulao
termina.

Fernando Nogueira Simulao 11


Lq
W4
W5 A1 + A 2
2
Lq =
92 .82
32 .36
1
W3
A2=28.63
= = .349 clientes
A1=3.73 92 .82

10 20 30 40 50 60 70 80 90 T
Utilizao
instalao Utilizao A 3 + A 4
q1
=
q2 q3 q4 q5
instalao 92 .82
1
63 .71
A3=13.37 A4=50.34 = = 0.686 barbeiros
92 .82
10 20 30 40 50 60 70 80 90 T

W1 + W2 + W3 + W4 + W5 0 + 0 + 3 .73 + 9 .38 + 19 .25 32 .36


Wq = = = = 6 .47 min
5 5 5
Fernando Nogueira Simulao 12
Distribuio Triangular

2 (x a )
(b a )(c a ) , a x c

2(b x )
f ( x a , b, c ) = , c x b
(b a )(b c )
0, c.c.

(x a )2
, a x c
(b a )(c a )
( b x)
2
F ( x a , b, c ) = 1 , c x b
(b a )(b c )
0, c.c.

Fernando Nogueira Simulao 13


Estatstica

Em Probabilidade os modelos matemticos de


processos e sistemas so afetados por chances.
Em Estatstica estes modelos so checados
contra a realidade.

14
Distribuies Empricas

Como dados amostrados so convertidos para


funes de probabilidade? Os passos a se seguir
so:
1)Armazenar os dados na forma de um
histograma de freqncia e determinar a funo
de probabilidade emprica associada.
2)Utilizar um teste estatstico a fim de verificar
se a funo de probabilidade emprica
amostrada a partir de alguma funo de
probabilidade terica. 15
Histograma de Freqncias

Um histograma de freqncia construdo como o nmero de amostras


que esto dentro de um determinado intervalo de uma srie de intervalos
no superpostos de valores possveis (ou no mnimo coerentes) que as
amostras podem assumir.

16
Exemplo

Suponha que um comerciante de laranjas pese todas as 100 caixas de


laranjas que comprou de um produtor.

17
58.6482 60.7688 57.9416 58.8650 60.5505 61.5079 58.4430 59.1439 59.7513 61.7646

59.1022 59.2938 61.8068 59.9236 60.1800 58.6753 60.9961 59.1470 61.2076 61.0790

61.0359 60.7524 59.0461 61.1086 59.8184 61.2934 61.4001 61.2937 57.3782 61.2049

59.7765 60.8209 61.2855 60.8319 59.7009 60.2464 60.4145 60.6598 58.7840 60.1347

59.0217 60.4803 61.0445 59.5986 60.3876 58.8829 60.0900 58.7793 59.5580 59.3169

58.7369 59.1403 58.7313 59.2234 59.4756 58.3702 59.6124 57.7219 60.3160 59.2787

59.5117 59.6192 60.1209 59.5806 58.7161 60.3290 59.2428 60.6603 59.2318 59.8816

60.7025 59.7575 60.6408 58.7476 59.0084 61.8732 60.0859 60.2366 59.0289 59.2829

60.0155 59.1466 58.4206 60.2357 59.9757 60.2416 60.0236 58.1723 59.7747 60.5153

59.7560 60.7227 58.9124 60.7652 57.3110 60.6493 60.1931 59.9564 61.2574 18 61.2378
Os valores mnimo e mximo nesta tabela so 57.3110
e 61.8732, respectivamente.
Isto significa que todas as amostras podem ser
classificadas no intervalo [57,62], escolhido
arbitrariamente.
Arbitrariamente escolhem-se o nmero de intervalos
para dividir o intervalo [57,62]. Escolhendo-se 5
intervalos, pode-se montar a seguinte tabela:

19
I Intervalo Freqncia Freqncia Freqncia Relativa
Observada Oi Relativa fi Acumulada Fi

1 [57,58] 4 0.04 0.04

2 [58,59] 15 0.15 0.19

3 [59,60] 34 0.34 0.53

4 [60,61] 31 0.31 0.84

5 [61,62] 16 0.16 1

total 100 1

20
Histograma de Freqncia Observada
35

30

25
Freqncia

20

15

10

0
58 59 60 61 62
21
pesos (kg)
Histograma de Freqncia Relativa e Acumulada
1

0.9

0.8

0.7
Freqncia Relativa

0.6

0.5

0.4

0.3

0.2

0.1

0
58 59 60 61 62
22
pesos (kg)
N N
p = pifi
2
p (
s = pi p fi )2

i =1 i =1

p = 0.04 57.5 + 0.15 58.5 + 0.34 59.5 + 0.31 60.5 + 0.16 61.5 = 59.9 kg

s 2p = 0.04 (57.5 59.9) + 0.15 (58.5 59.9) + 0.34 (59.5 59.9) +


2 2 2

0.31 (60.5 59.9) + 0.16 (61.5 59.9) = 1.1 kg 2


2 2

23
Teste da Qualidade do Ajustamento

Este teste utilizado para avaliar se as amostras


utilizadas na determinao da distribuio emprica
so oriundas de uma distribuio terica especifica.

Com os valores estimados de mdia e varincia no


exemplo anterior possvel comparar a distribuio
emprica com uma Distribuio Normal, por exemplo,
com parmetros
=p 2
= sp

24
Distribuio Relativa e Acumulada Emprica e Terica
1

0.9

0.8
Freqncia Relativa ou probabilidade

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
58 59 60 61 62
25
pesos (kg)
Teste de Qui-Quadrado

Ii

n i = n f (x )dx = n (F(I i ) F(I i1 ))


Ii 1

=
2
N
(O i n i )
2

i =1 ni

26
27
2
=
(4 3.236) (15 15.974) (34 34.494) (31 31.331) (16 12.464)
2
+
2
+
2
+
2
+
2
= 1.2534
3.236 15.974 34.494 31.331 12.464

Teste de Hiptese

H0: amostras so oriundas da distribuio terica


H1: amostras no so oriundas da distribuio terica

A hiptese bsica (H0) aceita, ao nvel de


significncia , se:
2 < 2 ,1

= N k 1 = 5 2 1 = 2
28
Para um nvel de significncia de 5%, por exemplo, o
2 2
valor tabelado ,1 2,10.05 = 5.99
=

Como 2 = 1.2534 ,pode-se dizer que a hiptese nula H0


aceita, ou seja, para um nvel de confiana de 95%,
as amostras so oriundas de uma populao com
Distribuio Normal.

29
Tabela A2 - Percentis da Distribuio de Qui-Quadrado

2,1 P 0,005 0,01 0,025 0,05 0,1 0,25 0,75 0,9 0,95 0,975 0,99 0,995

1 0,00 0,00 0,00 0,00 0,02 0,10 1,32 2,71 3,84 5,02 6,63 7,88
2 0,01 0,02 0,05 0,10 0,21 0,58 2,77 4,61 5,99 7,38 9,21 10,60
3 0,07 0,11 0,22 0,35 0,58 1,21 4,11 6,25 7,81 9,35 11,34 12,84
4 0,21 0,30 0,48 0,71 1,06 1,92 5,39 7,78 9,49 11,14 13,28 14,86
5 0,41 0,55 0,83 1,15 1,61 2,67 6,63 9,24 11,07 12,83 15,09 16,75
6 0,68 0,87 1,24 1,64 2,20 3,45 7,84 10,64 12,59 14,45 16,81 18,55
7 0,99 1,24 1,69 2,17 2,83 4,25 9,04 12,02 14,07 16,01 18,48 20,28
8 1,34 1,65 2,18 2,73 3,49 5,07 10,22 13,36 15,51 17,53 20,09 21,95
9 1,73 2,09 2,70 3,33 4,17 5,90 11,39 14,68 16,92 19,02 21,67 23,59
10 2,16 2,56 3,25 3,94 4,87 6,74 12,55 15,99 18,31 20,48 23,21 25,19
11 2,60 3,05 3,82 4,57 5,58 7,58 13,70 17,28 19,68 21,92 24,73 26,76
12 3,07 3,57 4,40 5,23 6,30 8,44 14,85 18,55 21,03 23,34 26,22 28,30
13 3,57 4,11 5,01 5,89 7,04 9,30 15,98 19,81 22,36 24,74 27,69 29,82
14 4,07 4,66 5,63 6,57 7,79 10,17 17,12 21,06 23,68 26,12 29,14 31,32
15 4,60 5,23 6,26 7,26 8,55 11,04 18,25 22,31 25,00 27,49 30,58 32,80
16 5,14 5,81 6,91 7,96 9,31 11,91 19,37 23,54 26,30 28,85 32,00 34,27
17 5,70 6,41 7,56 8,67 10,09 12,79 20,49 24,77 27,59 30,19 33,41 35,72
18 6,26 7,01 8,23 9,39 10,86 13,68 21,60 25,99 28,87 31,53 34,81 37,16
19 6,84 7,63 8,91 10,12 11,65 14,56 22,72 27,20 30,14 32,85 36,19 38,58
20 7,43 8,26 9,59 10,85 12,44 15,45 23,83 28,41 31,41 34,17 37,57 40,00
21 8,03 8,90 10,28 11,59 13,24 16,34 24,93 29,62 32,67 35,48 38,93 41,40
22 8,64 9,54 10,98 12,34 14,04 17,24 26,04 30,81 33,92 36,78 40,29 42,80
23 9,26 10,20 11,69 13,09 14,85 18,14 27,14 32,01 35,17 38,08 41,64 44,18
24 9,89 10,86 12,40 13,85 15,66 19,04 28,24 33,20 36,42 39,36 42,98 45,56
25 10,52 11,52 13,12 14,61 16,47 19,94 29,34 34,38 37,65 40,65 44,31 46,93
26 11,16 12,20 13,84 15,38 17,29 20,84 30,43 35,56 38,89 41,92 45,64 48,29
27 11,81 12,88 14,57 16,15 18,11 21,75 31,53 36,74 40,11 43,19 46,96 49,65
28 12,46 13,56 15,31 16,93 18,94 22,66 32,62 37,92 41,34 44,46 48,28 50,99
29 13,12 14,26 16,05 17,71 19,77 23,57 33,71 39,09 42,56 45,72 49,59 52,34
30 13,79 14,95 16,79 18,49 20,60 24,48 34,80 40,26 43,77 46,98 50,89 53,67
35 17,19 18,51 20,57 22,47 24,80 29,05 40,22 46,06 49,80 53,20 57,34 60,27
40 20,71 22,16 24,43 26,51 29,05 33,66 45,62 51,81 55,76 59,34 63,69 66,77
45 24,31 25,90 28,37 30,61 33,35 38,29 50,98 57,51 61,66 65,41 69,96 73,17
50 27,99 29,71 32,36 34,76 37,69 42,94 56,33 63,17 67,50 71,42 76,15 79,49
55 31,73 33,57 36,40 38,96 42,06 47,61 61,67 68,80 73,31 77,38 82,29 85,75
60 35,53 37,48 40,48 43,19 46,46 52,29 66,98 74,40 79,08 83,30 88,38 91,95
65 39,38 41,44 44,60 47,45 50,88 56,99 72,28 79,97 84,82 89,18 94,42 98,10
70 43,28 45,44 48,76 51,74 55,33 61,70 77,58 85,53 90,53 95,02 100,43 104,21
75 47,21 49,48 52,94 56,05 59,79 66,42 82,86 91,06 96,22 100,84 106,39 110,29
80 51,17 53,54 57,15 60,39 64,28 71,14 88,13 96,58 101,88 106,63 112,33 116,32
85 55,17 57,63 61,39 64,75 68,78 75,88 93,39 102,08 107,52 112,39 118,24 122,32
90 59,20 61,75 65,65 69,13 73,29 80,62 98,65 107,57 113,15 118,14 124,12 128,30
95 63,25 65,90 69,92 73,52 77,82 85,38 103,90 113,04 118,75 123,86 129,97 134,25
100 67,33 70,06 74,22 77,93 82,36 90,13 109,14 118,50 124,34 129,56 135,81 140,17
110 75,55 78,46 82,87 86,79 91,47 99,67 119,61 129,39 135,48 140,92 147,41 151,95
120 83,85 86,92 91,57 95,70 100,62 109,22 130,05 140,23 146,57 152,21 158,95 163,65
130 92,22 95,45 100,33 104,66 109,81 118,79 140,48 151,05 157,61 163,45 170,42 175,28
140 100,65 104,03 109,14 113,66 119,03 128,38 150,89 161,83 168,61 174,65 181,84 186,85
150 109,14 112,67 117,98 122,69 128,28 137,98 161,29 172,58 179,58 185,80 193,21 198,36
160 117,68 121,35 126,87 131,76 137,55 147,60 171,68 183,31 190,52 196,92 204,53 209,82
170 126,26 130,06 135,79 140,85 146,84 157,23 182,05 194,02 201,42 208,00 215,81 221,24
180 134,88 138,82 144,74 149,97 156,15 166,87 192,41 204,70 212,30 219,04 227,06 232,62
190 143,55 147,61 153,72 159,11 165,49 176,51 202,76 215,37 223,16 230,06 238,27 243,96
200 152,24 156,43 162,73 168,28 174,84 186,17 213,10 226,02 233,99 241,06 249,45 255,26
300 240,66 245,97 253,91 260,88 269,07 283,14 316,14 331,79 341,40 349,87 359,91 366,84
400 330,90 337,16 346,48 354,64 364,21 380,58 418,70 436,65 447,63 457,31 468,72 476,61
500 422,30 429,39 439,94 449,15 459,93 478,32 520,95 540,93 553,13 563,85 576,49 585,21
600 514,53 522,37 534,02 544,18 556,06 576,29 622,99 644,80 658,09 669,77 683,52 692,98
700 607,38 615,91 628,58 639,61 652,50 674,41 724,86 748,36 762,66 775,21 789,97 800,13
800 700,73 709,90 723,51 735,36 749,19 772,67 826,60 851,67 866,91 880,28 895,98 906,79
900 794,48 804,25 818,76 831,37 846,07 871,03 928,24 954,78 970,90 985,03 1001,63 1013,04

Fernando Nogueira Simulao 30

Você também pode gostar