1. PRO910 PLANEJAMENTO E GESTÃO
DA PRODUÇÃO
AULA 07
Prof. Davi das Chagas Neves
Profa. Irce Fernandes Gomes Guimarães
2. “A essência da autodisciplina é fazer o importante
e não o urgente, portanto, para que o importante
não se torne urgente, planeje-se!”
Barry Werner
Locutor americano
Teoria das Filas: sequenciamento de processos
4. Teoria das Filas: sequenciamento de processos
Séries
Temporais
➢ Nas últimas aulas abordamos diversos estudos referentes às séries temporais,
que remetem ao planejamento e controle de estoques, vendas, suprimentos,
manutenção, etc. A partir desta aula, abordaremos estudos relativos aos
métodos de optimização dos processos de produção.
5. Teoria das Filas: sequenciamento de processos
➢ Vamos iniciar esta abordagem pela teoria das filas, uma metodologia
estatística que estuda o sequenciamento de atividades e processos
num sistema de manufatura. Para elaborar esta discussão foram
utilizadas as seguintes bibliografias:
Darci PradoDarci Prado
6. Teoria das Filas: sequenciamento de processos
➢ Analisando um exemplo simples: descarregamento de minério no estoque da
Gerdau. Abaixo está uma tabela com as anotações do estagiário para quinze (15)
caminhões entre 7 e 9 horas da manhã, no dia 17 de Abril de 2018:
➢ Na tabela acima o primeiro caminhão chegou às 7:10h, foi direto para o setor de descarga e
terminou o serviço às 7:15h, o segundo caminhão chegou às 7:12h, esperou por 3 minutos, pois o
setor de descarga só foi desocupado às 7:15h e este segundo caminhão saiu às 7:21h; é assim
que devemos analisar esta tabela.
Caminhão 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
Chegada 7:10 7:12 7:25 7:32 7:34 7:42 7:50 7:58 8:08 8:17 8:18 8:32 8:46 8:47 8:57
Descarga 7:10 7:15 7:25 7:32 7:38 7:44 7:52 7:58 8:08 8:18 8:23 8:32 8:46 8:55 8:59
Saída 7:15 7:21 7:29 7:38 7:44 7:52 7:55 8:04 8:18 8:23 8:25 8:42 8:55 8:59 9:03
7. Teoria das Filas: sequenciamento de processos
➢ Observando a tabela anterior podemos elaborar as seguintes questões:
1) Qual é o intervalo de chegada dos caminhões?
2) Quantos caminhões chegaram por minuto?
3) Qual é o tempo gasto em cada descarregamento?
4) Quantos caminhões descarregam por minuto?
5) Quanto tempo cada caminhão ficou esperando?
6) Quanto tempo cada caminhão ficou na Gerdau?
7) Quanto tempo o estagiário ficou navegando na internet?
10. Teoria das Filas: sequenciamento de processos
➢ λ, μ e ρ são parâmetros fundamentais na teoria das filas.
11. Teoria das Filas: sequenciamento de processos
CAM – CAMINHÕES.
CHE – CHEGADAS.
DES – DESCARREGAMENTO.
SAI – SAÍDA.
IC – INTERVALO DE CHEGADAS.
TA – TEMPO DE ATENDIMENTO (DESCARREGAMENTO).
TF – TEMPO NA FILA.
TS – TEMPO TOTAL NO SISTEMA (GERDAU).
16. Teoria das Filas: sequenciamento de processos
➢ No livro do Darci Prado (Vol. 2) foi proposto uma redistribuição nos intervalos de
chegada e nos tempos de descarregamento, o que modificará as anotações do
estagiário, porém, os parâmetros destacados (λ, μ e ρ) não se alteram.
4 3 2 1
3 1 4 2EXERCÍCIO 1
EXERCÍCIO 2
25. Teoria das Filas: sequenciamento de processos
EXERCÍCIO 1
Tempo Médio na Fila:
1,8 minutos
Tempo Médio na Gerdau:
7,7 minutos
Tempo Médio na Fila:
4,5 minutos
Tempo Médio na Gerdau:
10,4 minutos
26. Teoria das Filas: sequenciamento de processos
CONCLUSÕES:
❑ Notamos que a redistribuição dos intervalos de chegada e dos tempos de descarga produziu uma
fila diferente; este cenário poderia ter ocorrido no dia anterior, 16 de Abril de 2018.
❑ Observamos também que o tempo médio dos caminhoneiros na fila e na empresa aumentaram,
reduzindo assim a eficiência do setor, mas isto não foi culpa do estagiário.
❑ A ociosidade do estagiário permaneceu em 30 minutos. Na verdade, se continuarmos executando
este segundo programa, cenários distintos serão produzidos, porém, o estagiário sempre vai ficar
30 minutos na internet, 25% do tempo, poderia até ler um livro. Fica a dica!
❑ Em 1909, Agner K. Erlang, observando filas como estas chegou a mesma conclusão: em filas
distintas podemos encontrar padrões de comportamento, que são elucidados pelos parâmetros
salientados anteriormente. Assim surgiu a teoria das filas.
27. Teoria das Filas: sequenciamento de processos
queueing
❖ Em R esta teoria é suportada pela biblioteca:
28. Teoria das Filas: sequenciamento de processos
➢ Neste curso não iremos elucidar completamente a teoria das filas, mas para utilizar a
biblioteca queueing é pertinente apresentar a notação de David G. Kendall (1953):
▪ A – descreve a distribuição dos intervalos de chegadas.
▪ B – descreve a distribuição dos tempos gastos no serviço (descarga) da fila.
▪ c – descreve a quantidade de servidores no sistema (na Gerdau).
▪ K – descreve a capacidade máxima do sistema.
▪ m – descreve o tamanho da população da qual provém as entidades (caminhões).
▪ Z – descreve a disciplina da fila: FIFO, primeiro que chega é o primeiro que sai.
A / B / c / K / m / Z
29. Teoria das Filas: sequenciamento de processos
➢ O modelo mais trivial:
▪ M – os intervalos de chegadas são descritos por uma distribuição de Poisson.
▪ M – os tempos gastos no serviço são descritos por uma distribuição exponencial.
▪ 1 – haverá apenas um servidor.
▪ Neste caso a capacidade do sistema será considerada infinita e a população também
será considerada infinita. A disciplina da fila é a FIFO.
M / M / 1
Markov
Distribuição de Poisson: Distribuição Exponencial Negativa:
30. Teoria das Filas: sequenciamento de processos
❑ Exemplo 6.4) Considere uma linda de produção com atividades sequenciais distribuídas conforme
ilustrado na figura abaixo. Determine as filas deste sistema.
Modelo:
Solução:
31. Teoria das Filas: sequenciamento de processos
Copie e cole esta parte do
código, ajuste e elabore a
resposta em um data.frame().
➢ Complete o código! Tudo que você precisa saber está aqui:
32. Teoria das Filas: sequenciamento de processos
➢ No slide anterior utilizamos seis funções da biblioteca queueing:
1) NewInput.MM1(λ, μ) – Define a entrada para um modelo de fila do tipo M/M/1.
2) QueueingModel() – Realiza os cálculos relativos ao modelo definido pelo comando anterior.
3) L() – Determina o valor médio de entidades no sistema.
4) Lq() – Determina o valor médio de entidade na fila.
5) W() – Determina o tempo médio que uma entidade permanece no sistema.
6) Wq() – Determina o tempo médio que uma entidade permanece na fila.
▪ Note que a resposta do livro para a produção está errada.
33. Teoria das Filas: sequenciamento de processos
❑ Exemplo 7.5) Considere que nesta mesma linda de produção o ritmo de chegada (λ) aumentou
para 25. Determine o número de servidores necessários em cada setor, antes e depois deste
aumento, tal que o tamanho da fila seja menor que um (NF<1).
➢ No código ao lado L=4, RO() determina o rendimento do setor.
Abaixo segue a solução do código que você deve completar;
podemos observar que depois do aumento de λ, na produção
devemos ter 3 servidores, na inspeção 2 e no reparo 1.
34. Teoria das Filas: sequenciamento de processos
✓ Considerações: No livro do Darci Prado a solução deste problema foi realizada utilizando o gráfico abaixo, no
qual o tamanho da fila (NF) é plotado versus o fator de utilização, que também é denominado como
rendimento, definido pela equação seguinte:
λ=25
λ=5
Modelo:
Solução:
✓ Note que na solução do Darci Prado, assim como no nosso programa, os cálculos para a produção não são realizados para c=1,
pois nestas condições ρ > 1, o que torna a teoria das filas inviável para análise, pois as filas neste caso tendem ao infinito.
✓ Devemos salientar que a melhor configuração para um sistema é aquela que minimiza NF e maximiza o fator de utilização (ρ).
35. Teoria das Filas: sequenciamento de processos
➢ A biblioteca queueing possibilita muitas
outras análises, conforme ilustramos na
figura ao lado, mas nesta aula não é
possível abordar todo o conteúdo de
um curso de filas, pretendemos apenas
elucidar a utilização deste tema no
planejamento e no controle de uma
produção. No entanto, esperamos que
você explore estas possibilidades.
➢ Desafio: procure um exemplo que utiliza
a função
Lk().
▪ Esta função calcula o tamanho da fila
em nós de uma rede.
36. Teoria das Filas: sequenciamento de processos
➢ A teoria das filas muitas vezes não pode ser utilizada para analisar sistemas reais,
nestes casos devemos recorrer à simulação computacional, utilizando softwares
como Arena ou a biblioteca SIMMER.
9h 12h 15h 18h 21h
SUPERMERCADO
37. Teoria das Filas: sequenciamento de processos
SIMMER
❖ Para simular filas no R utilizaremos a biblioteca:
38. Teoria das Filas: sequenciamento de processos
❑ Um exemplo simples:
Pedágio
Capítulos:
4, 5, 6 e 7.
39. Teoria das Filas: sequenciamento de processos Pedágio
➢ No ARENA:
CHEGADA SAIDAATENDIMENTO
Estatística da CHEGADA:
Type: Random (expo)
Value: 30
Units: Seconds
Entities per Arrivals: 1
Max Arrivals: Infinite
First Creation: 0
Configuração do ATENDIMENTO:
Type: Standard
Action: Seize, Delay, Release
Priority: Medium (2)
Resources: CAIXA, 1
Delay Type: Expression
Units: 0
Allocation: Value Added
Expression: EXP(20)
ADD
Seize – ocupar o recurso.
Delay – aguardar o processo.
Release – liberar o recurso
Configuração de
Resources
Type: Resource
Name: CAIXA
Quantity: 1
(X) Record Entities Statistic
CREATE PROCESS DISPOSE
M/M/1
FILA
40. Teoria das Filas: sequenciamento de processos Pedágio
➢ No ARENA:
➢ RESULTADOS:
❑ O pedágio descrito anteriormente apresenta
os seguintes parâmetros:
IC = 30 segundos e TA = 20 segundos,
logo:
λ = 2 carros/minuto
μ = 3 carros/minuto
ρ = 2/3 = 67%
ENTÃO
RESULTADOS
PARÂMETRO TEORIA SIMULAÇÃO
NF 1,33 1,81
TF 40 s 51 s
41. Teoria das Filas: sequenciamento de processos Pedágio
➢ No ARENA:
➢ Os resultados apresentados anteriormente não indica que a teoria está errada, apenas
que ela possui limites de atuação, como qualquer outra teoria. No livro do Darci Prado
esta discussão é realizada:
➢ A tabela acima (7.1) ilustra o aumento do tempo de simulação, mostrando que para
durações muito grandes (360.000) os parâmetros estabilizam e se aproximam dos
valores teóricos.
➢ Este simples exemplo elucida muito bem a pertinência de uma simulação computacional.
Mas, como fazer isso no R?
A duração da simulação no
ARENA é definida no campo
Replication Lenght.
42. Teoria das Filas: sequenciamento de processos
➢ Antes de utilizar a biblioteca Simmer é importante apresentarmos alguns conceitos:
▪ Ambiente – o ambiente de simulação é composto por um conjunto de objetos orientados
e adequados às práticas elaboradas nos programas.
▪ Entidades – são os objetos que no ambiente de simulação realizam as requisições dos
serviços. Exemplos de entidades: caminhões, produtos, clientes, e-mails, etc.
▪ Recursos – são os objetos que representam a realização do serviço requisitado pelas
entidades; nos programas anteriores foram descritos como os servidores.
▪ Atividades – é a ação de esperar, ocupar e liberar um recurso do sistema.
▪ Trajetória – é o conjunto de atividades realizadas pelas entidades.
➢ Leia os comentários dos programas seguintes para compreender melhor estas
definições.
45. Teoria das Filas: sequenciamento de processos Pedágio
R
50L - Print()
51L - Print()
46. Teoria das Filas: sequenciamento de processos Pedágio
R
RESULTADOS
VALOR TEORIA ARENA SIMMER
NF 1,33 1,81 1,43
TF 40 s 51 s 43 s
Com a semente
randômica da Escola
de Minas (1876),
obtivemos um resultado
muito bom, próximo da
teoria, embora esse
não seja o objetivo da
simulação – o objetivo
é avaliar cenários
distintos.
47. Teoria das Filas: sequenciamento de processos Pedágio
R
SOFTWARE FILA MAX.
ARENA 22
SIMER 24
49. Teoria das Filas: sequenciamento de processos
➢ RESUMO
▪ Na oficina de uma fábrica há 10
tornos que realizam diversos (jobs)
serviços (RUNNING), mas de
tempos em tempos (random) estas
máquinas devem ser reparadas
(RETOOL) e em seguida resetadas
(RESET) pelos 5 operadores (tec.) da
oficina, que esporadicamente podem
estar longe (AWAY), executando
outras atividades (pessoais), em vista
disso, algumas vezes um torno pode
ficar esperando (WAITING) até que
algum operador esteja disponível para
reparar e resetar o mesmo.
▪ Os círculos representam os estados
dos tornos e os retângulos as ações
dos tornos ou dos operadores.
50. Teoria das Filas: sequenciamento de processos
➢ Esquema:
RESET RUNNINGPART PRODUCT MAR
KET
SERVICEABLE
S
T
O
P
RETOOL
WORN
WAITINGOK AWAY
Reinicie o Torno
Coloque
a Peça no
Torno
Se o operador Técnico
estiver Ocupado,
Espere!
Produto
pronto para
o Mercado
Realizando a
Manufatura
Após cada
Manufatura
PARE o torno
Se o torno estiver DESGASTADO
encaminhe-o para o reparo
Se o torno estiver
HABILITADO para um
novo serviço, apenas
reinicie-o
Após reparar o
torno, se estiver
tudo OK,
reinicie-o
Repare o Torno
No código: branch()
52. Teoria das Filas: sequenciamento de processos
✓ A primeira trajetória na oficina representa manufatura do produto. Neste código chamamos
esta trajetória de serviço – o serviço de usinagem a ser realizado.
✓ A segunda trajetória no código acima representa a ramificação referente a reparação dos
tornos, que se faz necessária com uma probabilidade de aproximadamente 20%.
✓ A ultima trajetória é necessária para representar as atividades extras (pessoais) dos operários,
ocupando-os por algum tempo, como foi definido na linha 13 do código.
54. Teoria das Filas: sequenciamento de processos
Explore as
funções
aggregate() e
cbind()
55. Teoria das Filas: sequenciamento de processos
➢ Antes de analisar os resultados devemos salientar que no código anterior os recursos
adicionados foram: 5 Operadores (humanos) e 10 Tornos (máquinas).
➢ As entidades que percorrem as trajetórias durante a simulação são: Produtos (peças) e
Atividades (tarefas). Isto acarreta em dois sistemas de filas que serão agregados na
apresentação dos resultados:
➢ Os resultados apresentados no artigo são diferentes dos que apresentamos acima, estes últimos foram gerados por
um código copiado integralmente como o que foi apresentado no artigo, portanto os resultados acima são os exatos.
Fontes: Resultados do Artigo Nosso Código
Valores: Servidor Fila Servidor Fila
Torno 7,63 0,56 7,63 0,56
Operador 3,39 0,34 3,39 0,34
57. Teoria das Filas: sequenciamento de processos
➢ O número total de processos é aproximadamente igual ao tempo limite vezes o número de tornos no sistema;
na figura a seguir observamos o número de serviços na fila dos tornos. Devemos salientar que uma grande
parte destes serviços não esperam na fila (NF=0) e o valor máximo neste caso é igual a 13.
58.
59. Teoria das Filas: sequenciamento de processos
➢ Note que mais de 8.000 serviços não esperam na fila, em torno de 80%,
e o valor médio é de 0,56 serviços/torno.
61. Teoria das Filas: sequenciamento de processos
➢ O decaimento exponencial desta distribuição remete ao modelo exponencial adotado neste
código (AWAY), mas cabe salientar que o tempo máximo de espera é 2,1 minutos e mais
de 400 serviços esperam menos que 6 segundos (0,1 minutos).
62. ➢ Para casa:
1) Explore EXEMPLOS do SIMMER na internet.
2) Me envie pelo menos um destes EXEMPLOS,
com seus comentários.
Até a próxima pessoal!
Teoria das Filas: sequenciamento de processos
UTILIDADE
64. Função Descrição
branch()
Insere uma trajetória ramificação (traj_ramif) em uma trajetória principal (traj_main)
conforme uma probabilidade (prob_ramif).
Sintaxe: branch(traj_main, option=prob_ramif, continue=T, traj_ramif)
rollback()
Faz uma atividade ser repetida N vezes para uma quantidade X de chegadas.
Sintaxe: rollback(trajetória, amount=X, times=N)
leave()
Faz uma entidade sair de uma trajetória conforme uma certa probabilidade.
Sintaxe: leave(trajetória, prob=probabilidade)
65. Função Descrição
batch()
Comando utilizado pra agrupar N chegadas por um dado TEMPO em uma trajetória,
que será desagregado se o argumento permanent=FALSE, se for TRUE o
agrupamento permanece até um certo tamanho.
Sintaxe: batch(trajetória, N, timeout=TEMPO, permanente=F)
separate()
Complementa a função batch(), separando o que foi agregado.
Sintaxe: separate(trajetória)
join()
Concatena trajetórias distintas, complementando as funções anteriores.
Sintaxe: join(trajetória1, trajetoria2)