Você está na página 1de 60

ER701 - SIMULAÇÃO DE SISTEMAS

Aula 4

Carla Ghidini
Teoria de Filas
Teoria de Filas
Teoria de Filas


Introdução
Filas de espera fazem parte da nossa vida e aparecem
em variados sistemas de serviços, tais como:

Balcão de check-in em um aeroporto.

Caixas automáticos.

Restaurantes self-service.

Espera numa ligação 0800.

Cabines de pedágio.

Chamados a polícia, bombeiro ou empresas presta-
doras de serviços.

Entre outros
Teoria de Filas

Em geral, os usuários vão até os servidores para obterem


algum serviço.

Exemplos: caixas de atendimento, máquinas, etc.

Existem sistemas em que os servidores vão até os


usuários. Nesse caso, as filas ficam dispersas ao invés de
concentradas na frente dos servidores.

Exemplos: ambulância, bombeiros, caminhões de coleta


de lixo, entregadores de alimentos e remédios, etc.
Teoria de Filas

A Teoria de Filas estuda as relações entre as


demandas em um sistema e os atrasos sofridos
pelos usuários desse sistema.

A formação de filas ocorre se a demanda excede a


capacidade do sistema fornecer o serviço em um
certo período.
Teoria de Filas

Nomenclatura dos Processos das Filas

Entrada: Processo de chegada

Mais de uma chegada


em um instante:
chegada em massa

Usuários
Teoria de Filas

Nomenclatura dos Processos das Filas

Saída: Processo de atendimento

Atendimento
(processo de
serviço)
em paralelo
Teoria de Filas

Nomenclatura dos Processos das Filas

Saída: Processo de atendimento

Atendimento
(processo de
serviço)
em série

Linha de
montagem
Teoria de Filas
A Chegada B Atendimento
C
C1

C2

A Processo de chegada (Fonte de usuários).

B Disciplina ou organização da fila.

C Processo de serviço (atendimento).


Teoria de Filas
A Chegada B Atendimento
C
C1

C2

Processo de chegada: Supõe a chegada de apenas um usuário


A por instante. Não varia ao longo do tempo. O tempo para ocorrer
uma chegada é associado a função de distribuição.
Teoria de Filas
A Chegada B Atendimento
C
C1

C2

B Disciplina da fila:
(1) 1o a entrar, 1o a ser servido (FCFS).
(2) último a chegar, 1o a ser servido (LCFS) (Ex.: elevador cheio).
(3) serviço em ordem aleatória (Ex.: plataforma de metrô).
(4) seleção com base em alguma ordem de prioridade (Ex.: priorizar
tarefas com menor tempo de processamento).
Teoria de Filas
A Chegada B Atendimento
C
C1

C2

C Processo de serviço: Pode ter servidores em paralelo (C2) ou


em série (C1). Não varia com o tempo. O tempo de serviço é
associado a função de distribuição.
Teoria de Filas
Notação de Kendall- Lee

Modelo de Fila A/B/m/F/K/N 1 / 2 / 3 / 4 / 5 / 6

1 A: Natureza do processo de chegada. Ex.: A = M – variá-


veis aleatórias iid como fç de distribuição exponencial.

2 B: Natureza do processo de serviço. Ex.: B = M – variá-


veis aleatórias iid como fç de distribuição exponencial.
3 m: Número de servidores em paralelo.

4 F: Organização da fila: F = GD – Disciplina genérica.


Ex.: FCFS ou LCFS.

5 K: Número máximo de clientes no sistema (clientes na


fila + atendimento). Pode ser finito ou infinito.
6 N: Tamanho da população de clientes (finito ou infinito).
Teoria de Filas
Modelo de Fila M/M/1/GD//: 1 / 2 / 3 / 4 / 5 / 6

1 A = M – intervalo de tempo entre chegadas com distri-


buição exponencial.

2 B = M – tempo de serviço com distribuição exponencial.

3 m = 1 – o sistema tem somente um servidor.

4 F = GD – Disciplina genérica (FCFS).

5 K =  - capacidade infinita de clientes no sistema.

6 N =  - Tamanho infinito da população de clientes.


Teoria de Filas

Modelando o Processo de Chegada

Sejam ti o tempo que o i-ésimo cliente chega e Ti = ti+1 – ti o


i-ésimo intervalo entre chegadas.

Na modelagem do processo de chegada, Ti é variável aleatória


contínua e independente, descrita pela variável aleatória A.
A independência diz que o valor de T1 não afeta o valor de T2,
T2 não afeta o valor de T3 e assim por diante.
Teoria de Filas
Na maioria das aplicações, uma questão importante é escolher A
de modo a refletir a realidade e ser computacionalmente tratável.
A escolha mais comum para A é a função de distribuição
exponencial.

Uma função distribuição exponencial com parâmetro  tem uma


função densidade a(t) = e-t.
Gráfico de a(t)=  e- t para  = 0.5
0.5

: a taxa de chegada 0.45

0.4
(número chegadas/hora). 0.35

0.3

O gráfico mostra que a(t) de- a(t)=e-t


0.25

cresce rápido para t pequeno 0.2

indicando que tempos entre


0.15

0.1

chegadas muito longos são 0.05

improváveis. 0
0 1 2 3 4 5 6 7 8 9 10
t
Teoria de Filas

O principal motivo para escolha da exponencial para modelar


os tempos entre as chegadas é devido a propriedade de que
ela não tem memória.

Matematicamente, se o intervalo entre as chegadas são


variáveis aleatórias, contínuas e independentes descritas pela
variável aleatória A, então:

P(A > t + h | A  t) = P (A > h).

Assim, para determinar a próxima chegada basta saber


quanto tempo se passou desde a última chegada (h) e não
quando isto ocorreu (t).
Teoria de Filas

Relação entre Exponencial e Poisson

Se o tempo entre as chegadas é segue uma função de


distribuição exponencial, a função de distribuição de
probabilidade do número de chegadas que ocorre em qualquer
intervalo de tempo de tamanho t é Poisson.

TEOREMA 1: O tempo entre as chegadas é exponencial com


parâmetro l se e somente se o número de chegadas que
ocorre em um intervalo de tamanho t seguir uma função de
distribuição de probabilidade Poisson com parâmetro lt.
Teoria de Filas

Uma variável aleatória discreta N segue a distribuição de


Poisson com parâmetro l se, para n = 0, 1, 2,...,

e   n
P ( N  n) 
n!

Se N é uma variável aleatória de Poisson então pode ser


provado que E(N) = var(N) = .
Teoria de Filas

Definindo Nt como o número de chegadas que ocorre durante o


intervalo de tamanho t então pelo Teorema 1:

 t
e ( t ) n
P ( Nt  n)  para n = 0, 1, 2,...,
n!

Se Nt é Poisson com parâmetro t então ocorre uma média de t


chegadas durante o intervalo de tempo de tamanho t e  é o
número médio de chegadas por unidade de tempo ou a taxa de
chegada.
Teoria de Filas

TEOREMA 2: Para que Nt siga uma distribuição de Poisson com


parâmetro t e o tempo entre as chegadas seja uma exponencial
com parâmetro , as seguintes condições devem ser satisfeitas:

(1) As chegadas definidas em intervalos de tempo que não se


sobrepõem são independentes.
Por exemplo, o número de chegadas em [1, 10] não fornece
nenhuma informação para [30, 50].

(2) Para t pequeno e t qualquer, a probabilidade de que ocorra


uma chegada em [t, t+t] é t + O(t), a probabilidade de não
ocorrer chegada em [t, t+t] é 1 - (t + O(t)) e a probabili-
dade de que mais de uma chegada ocorra em [t, t+t] é O(t).
Teoria de Filas

Exemplo 1
O número pedidos de copos de cerveja por hora no bar do
Zé segue uma distribuição de Poisson com média de 30
pedidos por hora.

(a) Encontrar a probabilidade de que exatamente 60


cervejas sejam pedidas entre 22:00 e 24:00.

(b) Encontrar a média e o desvio padrão do número de


pedidos entre 21:00 e 1:00.

(c) Encontrar a probabilidade de que o tempo entre dois


pedidos esteja entre 1 e 3 minutos.
Teoria de Filas

Exemplo 1
O número pedidos de copos de cerveja por hora no bar do
Zé segue uma distribuição de Poisson com média de 30
pedidos por hora.

(a) Encontrar a probabilidade de que exatamente 60


cervejas sejam pedidas entre 22:00 e 24:00.
Teoria de Filas

Exemplo 1
O número pedidos de copos de cerveja por hora no bar do
Zé segue uma distribuição de Poisson com média de 30
pedidos por hora.

(a) Encontrar a probabilidade de que exatamente 60


cervejas sejam pedidas entre 22:00 e 24:00.

e  t ( t ) n Achar Poisson com parâmetro:


P ( Nt  n) 
n! *t = 30*2 = 60

e 60 ( 60 ) 60
P ( N t  60 )   0 .051
60!
Teoria de Filas


Exemplo 1
O número pedidos de copos de cerveja por hora no bar do
Zé segue uma distribuição de Poisson com média de 30
pedidos por hora.

(b) Encontrar a média e o desvio padrão do número de


pedidos entre 21:00 e 1:00.
Teoria de Filas


Exemplo 1
O número pedidos de copos de cerveja por hora no bar do
Zé segue uma distribuição de Poisson com média de 30
pedidos por hora.

(b) Encontrar a média e o desvio padrão do número de


pedidos entre 21:00 e 1:00.

Se  = 30 pedidos por hora e t = 4 horas, então a média é


*t = 30*4 = 120 pedidos.

O desvio padrão é: (120)1/2 = 10.98.


Teoria de Filas


Exemplo 1
O número pedidos de copos de cerveja por hora no bar do
Zé segue uma distribuição de Poisson com média de 30
pedidos por hora.

(c) Encontrar a probabilidade de que o tempo entre dois


pedidos esteja entre 1 e 3 minutos.
Teoria de Filas

Exemplo 1
O número pedidos de copos de cerveja por hora no bar do
Zé segue uma distribuição de Poisson com média de 30
pedidos por hora.

(c) Encontrar a probabilidade de que o tempo entre dois


pedidos esteja entre 1 e 3 minutos.

Seja X o tempo (em minutos) entre pedidos sucessivos.


A média de pedidos por minuto é exponencial com
parâmetro 30/60 = 0,5. Assim, a função de probabilidade
do tempo entre dois pedidos é: 0,5e-0,5t. Assim:
3
P (1  X  3)   (0.5e 0.5t )dt  e 0.5  e 1.5  0.38
1
Teoria de Filas


Exercício 1
O número pedidos de copos de cerveja por hora no bar do
Zé segue uma distribuição de Poisson com média de 30
pedidos por hora.

(a) Encontrar a probabilidade de que exatamente 61


cervejas sejam pedidas entre 21:00 e 23:00.
Teoria de Filas


Exercício 1
O número pedidos de copos de cerveja por hora no bar do
Zé segue uma distribuição de Poisson com média de 30
pedidos por hora.

(a) Encontrar a probabilidade de que exatamente 61


cervejas sejam pedidas entre 21:00 e 23:00.

e  t ( t ) n Achar Poisson com parâmetro:


P ( Nt  n) 
n! *t = 30*2 = 60
−60 61
e (60)
P( N t =61)= =0. 050589
61!
Teoria de Filas


Processo de nascimento-morte

O estado do sistema de fila no tempo t é o número de


pessoas presentes em um sistema de fila no tempo t.

Em t = 0, o estado do sistema é o número de pessoas


presentes no sistema.

Pij(t) fornece a probabilidade de que j pessoas estejam


presentes no sistema no tempo t, dado que em t = 0,
i pessoas estavam presentes.
Teoria de Filas

Assim, determinar Pij(t) é análogo a obter a probabilidade de


transição em n passos Pij(n) de uma Cadeia de Markov.

Conforme o valor de t torna-se suficientemente grande, Pij(t)


se aproxima de j, denominada de probabilidade de estado
estacionário do estado j, que independe do estado inicial i.

Em problemas de filas j pode ser entendido como:

(1) A probabilidade de que existam j clientes no sistema.

(2) A fração de tempo na qual j clientes estão no sistema.


Teoria de Filas

Em muitos sistemas de filas, o valor de Pij(t) para t pequeno


depende do estado inicial i (número inicial de clientes).
Por exemplo, é esperado que P50,1(t) e P1,1(t) sejam bem diferentes.

Porém, no estado estacionário, para t grande, P50,1(t) = P1,1(t) = 1.

O comportamento de Pij(t) antes de atingir o estado estacionário é


denominado de transiente.

Por enquanto, será considerado que os sistemas de filas estão


em estado estacionário (j pode ser utilizado no lugar de Pij(t)).
Teoria de Filas


Processo de nascimento-morte

Um processo de nascimento-morte é um processo


estocástico, contínuo no tempo, tal que o estado do
sistema é um valor inteiro, não-negativo e pode ser
observado em qualquer instante de tempo e não apenas
em instantes discretos de tempo.

Se o processo de nascimento-morte estiver no estado j


no tempo t então ele é governado por 3 leis.
Teoria de Filas

Lei 1: Com probabilidade ljDt + o(Dt), um nascimento ocorre


entre t e t+Dt.

ljDt + o(Dt)

j j+1

Obs: O termo o(t) é tal que lim t0 O(t)/t = 0.


Teoria de Filas

Lei 1: Com probabilidade ljDt + o(Dt), um nascimento ocorre


entre t e t+Dt.
Um nascimento aumenta o estado do sistema por 1 unidade.

ljDt + o(Dt)

j j+1

j é chamada de taxa de nascimento no estado j.

Na maioria dos sistemas de filas, um nascimento é uma


chegada.
Teoria de Filas

Lei 2: Com probabilidade mjt + o(t), uma morte ocorre


entre t e t+t.

j-1 j

mjt + o(t)

Obs: O termo o(t) é tal que lim t0 O(t)/t = 0.


Teoria de Filas

Lei 2: Com probabilidade mjt + o(t), uma morte ocorre


entre t e t+t.
Uma morte reduz o estado do sistema por 1.

j-1 j

mjt + o(t)

mj é chamada de taxa de morte no estado j.

Na maioria dos sistemas de filas, uma morte é uma saída.


Teoria de Filas

Lei 3: Os nascimentos e as mortes são independentes


entre si.

ljt + o(t)

j j+1

j-1 j

mjt + o(t)
Teoria de Filas


Processo de nascimento-morte

OBS: As leis de 1 à 3 podem ser usadas para mostrar


que a probabilidade de que mais de um evento ocorra
(nascimento ou morte) em [t , t+t] é igual a O(t).

Note que qualquer processo de nascimento-morte é


completamente definido com o conhecimento das taxas
j e j.

Desde que um estado negativo não ocorre, então para


qualquer processo de nascimento-morte 0= 0.
Teoria de Filas

A maioria dos sistemas de filas em que o intervalo entre


chegadas e o serviço de atendimento seguem uma
distribuição exponencial podem ser modelados por
processos de nascimento-morte.

Nascimento (chegada)
   

0 ... j-1 j j+1 ...


   

Morte (serviço completado)


Teoria de Filas

Relação da Distribuição Exponencial e
Processo de nascimento-morte

Suponha que o processo de chegada em um sistema de


filas seja descrito quantitativamente pela função de
distribuição exponencial com parâmetro . Então a probabili-
dade de ocorrer uma chegada (nascimento) em [t, t+t] é
dada por:
t


 t  t
 e dt  1  e
0
Teoria de Filas

Usando expansão por série de Taylor, temos:

t
e  t  1  t  o(t )  dt  t  o(t )
 t
 e
0

Isto significa que a probabilidade de ocorrer uma chegada em


[t, t+t] é t + o(t), ou seja, a taxa de nascimento no estado
j é simplesmente a taxa de chegada .
Teoria de Filas

Suponha que o processo de serviço em um sistema seja


dado por uma distribuição exponencial com parâmetro m.
Então a probabilidade de ocorrer uma saída (morte) em
[t, t+t] é dada por:

Δt

∫μe −μt
dt=1−e−μΔt
=μΔto Δt 
0

Isto significa que a probabilidade de ocorrer uma saída em


[t, t+t] é mt + o(t), ou seja, a taxa de morte no estado j é
simplesmente a taxa de saída m.
Teoria de Filas

Probabilidades de Estado Estacionário em
Processos de Nascimento-Morte

Para determinar as j’s, a ideia é relacionar, para t


pequeno, Pij(t+t) a Pij(t).

Para isso, é preciso notar que existem 4 caminhos para


o estado ser j no tempo t + t.

Possíveis estados iniciais para j em t: j-1, j+1, j e outros


estados
Teoria de Filas

Para j  1, a probabilidade de que o sistema esteja em um


estado inicial j-1 no tempo t e j no tempo t+t é dada por:

Pi,j-1(t) j-1t+O(t)

(I)
j-1 j

Tempo t Tempo t+t


Teoria de Filas

Para j  1, a probabilidade de que o sistema esteja em um


estado inicial j+1 no tempo t e j no tempo t+t é dada por:

(II) j j+1

j+1t+O(t) Pi,j+1(t)

Tempo t+t Tempo t


Teoria de Filas

Para j  1, a probabilidade de que o sistema esteja em um


estado inicial j nos tempos t e t+t é dada por:

Pi,j(t)

(III)
j 1-(j-1t+O(t))-(j+1t+O(t))

Tempo t Tempo t+t


Teoria de Filas

Para j  1, a probabilidade de que o sistema esteja em um


estado inicial em outros estados (j-2, j+2, ….) no tempo t e j
no tempo t+t é dada por:

O(t)
j-2
 j
(IV)
j+2

Tempo t Tempo t+t


Teoria de Filas

Assim:

Pij(t+t) = Pi,j-1(t) .(j-1t + O(t)) + Pi,j+1(t).(mj+1t + O(t)) +

+ Pij(t).(1 - mjt - jt + 2O(t)) + O(t).

Pij(t+t) = Pij(t) + t.(j-1Pi,j-1(t) + j+1Pi,j+1(t) - jPij(t) - jPij(t)) +

+ O(t).(Pi,j-1(t) + Pi,j+1(t) + 1 – 2Pij(t)).

Obs: O termo em negrito pode ser escrito como O(t).


Teoria de Filas

Logo:

Pij(t+t) = Pij(t) + t.(j-1Pi,j-1(t) + j+1Pi,j+1(t) - jPij(t) - jPij(t)) + O(t).

(Pij(t+t) -- Pij(t) )/t = (j-1Pi,j-1(t) + j+1Pi,j+1(t) - jPi,j(t) - jPi,j(t)) + O(t).

Fazendo t → 0, temos que para todo i e j ≥ 1:


P'ij(t) = lim t 0 (Pi,j(t+t) - Pi,j(t) )/t = j-1Pi,j-1(t) + j+1Pi,j+1(t) - jPij(t) - jPij(t).

Dado que para j = 0, Pi,j-1(t) = 0 e j = 0 então


P'i0(t) = 1Pi1(t) - 0Pi0(t).
Teoria de Filas

Como queremos analisar os sistemas de filas em estado


estacionário para t suficientemente grande temos:

limtPij(t) = j.

Então, P'ij(t) = 0.

Assim, para todo i e j ≥ 1:

P'ij(t) = j-1Pi,j-1(t) + j+1Pi,j+1(t) - jPij(t) - jPij(t)

j-1j-1 + j+1j+1 = j(j + j)


Teoria de Filas

Equações de balanço ou conservação de fluxo

Portanto, as equações de balanço ou conservação de fluxo


são dadas por:

j: (j + j)j = j-1j-1+ j+1j+1

j = 0: 00 = 11

j = 1: (1 + 1)1 = 00+ 22 (1)

j = 2: (2 + 2)2 = 11+ 33

...
Teoria de Filas

Resolvendo as equações de balanço ou
conservação de fluxo
A resolução de (1) consiste em expressar os j's em termos de 0.

j = 0: 00 = 11
1=(00)/1
Teoria de Filas

Resolvendo as equações de balanço ou
conservação de fluxo
A resolução de (1) consiste em expressar os j's em termos de 0.

j = 0: 00 = 11
1=(00)/1

j = 1: (1 + 1)1 = 00+ 22


22 = (l1 + 1)1 - 00
22 = 11 + 11 - 00
22 = 1(00)/1 + 1(00)/1 - 00
2 = (01)0/(12)
Teoria de Filas

Pode-se mostrar que, por indução, a probabilidade de estado


estacionário do j-ésimo estado é dado por:

j = 0cj (2)

em que, cj= (0 1 … j-1)/(1 2 … j).


Teoria de Filas

Para qualquer instante de tempo a soma das probabilidades


de estado estacionário é 1, ou seja,

∑πj=1 (3)
j=0

Aplicando j = 0cj em (3) tem-se:

  
 0 1   c j   1 (4)
 j 1 
Teoria de Filas


Considerando que c
j 1
j (5) é finito, então:

1
0  (6)
  
1   c j 
 
 j 1 

Portanto, j = 0cj pode ser usada para determinar 1, 2, ....

OBS: Pode-se mostrar que se (5) for infinito, então não existe
uma distribuição de estado estacionário. Este tipo de situação
ocorre quando a taxa de chegada for pelo menos tão grande
quanto a taxa máxima com que os clientes podem ser atendidos.
Teoria de Filas

A partir da próxima aula, aplicaremos a teoria de processos


nascimento-morte para determinar as probabilidades de
estado estacionário para uma variedade de sistemas de
filas.

Além disso, veremos como utilizar essas probabilidades de


estado estacionário para determinar outras métricas do
sistema de fila, tais como, número médio de clientes no
sistema, tempo médio de clientes esperando na fila, entre
outros.

Você também pode gostar