Teoria de Filas

Marcelo Salles Olinger


Dados coletados:


In [1]:
import pandas
df = pandas.read_csv('C:\\Users\\user\\Desktop\\TRABALHO-4.csv', sep=';')
df


Out[1]:
ENTRADA (h) SAIDA (h) SAIDA-ENTRADA (min)
0 0.000000 0.014167 0.850000
1 0.006389 0.035833 1.766667
2 0.008333 0.037500 1.750000
3 0.048056 0.075278 1.633333
4 0.052222 0.080278 1.683333
5 0.064167 0.099167 2.100000
6 0.083333 0.135000 3.100000
7 0.104167 0.136111 1.916667
8 0.113056 0.156667 2.616667
9 0.126667 0.162222 2.133333
10 0.153056 0.165278 0.733333
11 0.212222 0.246944 2.083333
12 0.230000 0.250278 1.216667
13 0.243611 0.304167 3.633333
14 0.286667 0.338611 3.116667
15 0.292500 0.383333 5.450000
16 0.370278 0.403889 2.016667
17 0.381389 0.427222 2.750000
18 0.436667 0.451111 0.866667
19 0.454722 0.499444 2.683333
20 0.495000 0.511944 1.016667
21 0.510556 0.521389 0.650000
22 0.527500 0.559444 1.916667
23 0.566389 0.602778 2.183333
24 0.597222 0.633056 2.150000
25 0.673889 0.723889 3.000000
26 0.715278 0.754444 2.350000
27 0.723056 0.755833 1.966667
28 1.010278 1.028611 1.100000
29 1.139167 1.155833 1.000000

Respostas:

a) O levantamento dos dados foi feito no domingo, dia 14/6/2016, no Cinespaço Beiramar, cinema do Beiramar Shopping. O início dos levantamentos foi às 19:47h, e durou 1:09h.

b) No local havia 3 atendentes. $$S = 3$$

c) 30 pessoas chegaram à fila durante o levantamento de 1 hora, 9 minutos e 21 segundos (1.1558 horas):


In [2]:
tempo_medio = 1.1558 / 30
print("O tempo médio entre as chegadas à fila é", tempo_medio*60, "minutos.")


O tempo médio entre as chegadas à fila é 2.3116 minutos.

d) A taxa de chegada de usuários no sistema:


In [3]:
taxa_de_chegada = 1 / tempo_medio
print(taxa_de_chegada)


25.956047759127877
$$\Lambda = 25.956\ clientes/hora$$

e) O tempo médio de atendimento de cada cliente foi 2,0478 minutos:


In [4]:
pandas.DataFrame.mean(df['SAIDA-ENTRADA (min)'])


Out[4]:
2.0477777777777777

f) A taxa de atendimento dos usuários (μ):


In [5]:
taxa_de_atendimento = 60 / 2.0478
print(taxa_de_atendimento)


29.299736302373276
$$\mu = 29.300\ clientes/hora$$

Função:

Após definir os valores de S, lambda e μ, foi desenvolvida uma função em linguagem Python para encontrar os valores das outras variáveis:


In [6]:
import math
from IPython.display import display, Math, Latex

In [7]:
def teoriafilas(lam, u, s=1):
    
    #calculo do \rho:
    rho = lam/(u*s) 
    
    #calculo do Pzero:
    pzero = 0
    for n in range (s):
        pzero += (((lam/u)**n)/math.factorial(n))+(((lam/u)**s)/(math.factorial(s)*(1-(lam/(s*u)))))
    pzero = pzero**(-1)
    
    #calculo do P:
    p = (((lam/u)**s)/(math.factorial(s)*(1-(lam/(s*u)))))*pzero
    
    #calculo do Lq:
    Lq = ((((lam/u)**s)*lam*u*s)/(math.factorial(s)*((u*s-lam)**2)))*pzero
    
    #calculo do L:
    L= Lq+(lam/u)
    
    #calculo do tempo medio:
    Wq = Lq/lam
    
    #calculo do tempo provavel:
    W = L/lam
    
    return (rho, pzero, p, Lq, L, Wq*60, W*60)

Para os valores de S, lambda e μ obtidos:


In [8]:
teoriafilas(25.956047759127877, 29.299736302373276, 3)


Out[8]:
(0.2952933033396782,
 0.360809821830732,
 0.059325753228791855,
 0.02485927510986699,
 0.9107391851289015,
 0.057464700343968535,
 2.1052647003439686)

Com a taxa de chamada duplicada:


In [9]:
teoriafilas(25.956047759127877*2, 29.299736302373276, 3)


Out[9]:
(0.5905866066793564,
 0.08981728398791707,
 0.20335795577352092,
 0.29334771895816864,
 2.0651075389962377,
 0.3390512935718513,
 2.3868512935718513)

g) A ocupação do sistema: $$\rho = 29,53\ \% $$

h) A probabilidade de o sistema estar vazio: $$P_{0} = 0,3608$$

i) A probabilidade de todos os servidores estarem ocupados: $$P = 0,0593$$

j) O número esperado de usuários no sistema: $$L = 0,91$$

k) O número esperado de usuários na fila: $$L_{q} = 0,02$$

l) O tempo médio dos usuários na fila: $$W_{q} = 0,06\ min$$

m) O tempo provável dos usuários no sistema: $$W = 2,11\ min$$

n) Se a taxa de chamadas duplicasse, o que aconteceria com o sistema? E quais as providências que deveriam ser tomadas.

Caso a taxa de chamadas duplicasse, os seguintes valores teriam sido obtidos:
$$\rho = 55,06\ \%$$$$P_{0} = 0,0898$$$$P = 0,2034$$$$L = 2,07$$$$L_{q} = 0,29$$$$W_{q} = 0,34\ min$$$$W = 2,37\ min$$
Mesmo nesse caso o sistema ainda estaria com capacidade de atender bem os usuários.
No local ainda havia outros guichês fechados, que poderiam funcionar em dias de maior demanda.
No dia do levantamento, ocorreram duas sessões no cinema às 9 horas. 
Provavelmente o motivo da taxa de ocupação do sistema estar tão baixa é porque as salas de cinema não encheram.