SlideShare uma empresa Scribd logo
1 de 66
PRO910 PLANEJAMENTO E GESTÃO
DA PRODUÇÃO
AULA 07
Prof. Davi das Chagas Neves
Profa. Irce Fernandes Gomes Guimarães
“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
Teoria das Filas: sequenciamento de processos
Simulando Filas
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.
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
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
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?
Teoria das Filas: sequenciamento de processos
Teoria das Filas: sequenciamento de processos
Teoria das Filas: sequenciamento de processos
➢ λ, μ e ρ são parâmetros fundamentais na teoria das filas.
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).
4 3 2 1
Teoria das Filas: sequenciamento de processos
Teoria das Filas: sequenciamento de processos
Teoria das Filas: sequenciamento de processos
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
Teoria das Filas: sequenciamento de processos
4 3 2 1
4321
Teoria das Filas: sequenciamento de processos
1
2
Teoria das Filas: sequenciamento de processos
Teoria das Filas: sequenciamento de processos
Teoria das Filas: sequenciamento de processos
EXERCÍCIO 1 EXERCÍCIO 2
Semente: 1876
Teoria das Filas: sequenciamento de processos
EXERCÍCIO 1
Teoria das Filas: sequenciamento de processos
EXERCÍCIO 1
Teoria das Filas: sequenciamento de processos
EXERCÍCIO 1
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
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.
Teoria das Filas: sequenciamento de processos
queueing
❖ Em R esta teoria é suportada pela biblioteca:
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
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:
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:
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:
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.
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.
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 (ρ).
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.
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
Teoria das Filas: sequenciamento de processos
SIMMER
❖ Para simular filas no R utilizaremos a biblioteca:
Teoria das Filas: sequenciamento de processos
❑ Um exemplo simples:
Pedágio
Capítulos:
4, 5, 6 e 7.
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
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
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.
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.
Teoria das Filas: sequenciamento de processos Pedágio
R
Teoria das Filas: sequenciamento de processos Pedágio
R
50L - Print()
51L - Print()
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.
Teoria das Filas: sequenciamento de processos Pedágio
R
SOFTWARE FILA MAX.
ARENA 22
SIMER 24
Teoria das Filas: sequenciamento de processos
+1
EXEMPLO
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.
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()
Teoria das Filas: sequenciamento de processos
1234
SEED
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.
WAITING
Teoria das Filas: sequenciamento de processos
Explore as
funções
aggregate() e
cbind()
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
Teoria das Filas: sequenciamento de processos
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.
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.
Teoria das Filas: sequenciamento de processos
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).
➢ 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
Teoria das Filas: sequenciamento de processos
GLOSSÁRIO
PEQUENO
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)
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)
https://r-simmer.org/reference/index.html
https://r-simmer.org/articles/

Mais conteúdo relacionado

Semelhante a P910Aula07

Aula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdf
Aula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdfAula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdf
Aula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdfMatheusNS1
 
Uso Do Arena Em Simulacao
Uso Do Arena Em SimulacaoUso Do Arena Em Simulacao
Uso Do Arena Em SimulacaoPrydigo
 
Trabalho métodos de ordenação
Trabalho métodos de ordenaçãoTrabalho métodos de ordenação
Trabalho métodos de ordenaçãoDaiana de Ávila
 
Tutorial aed iii 005 - algoritmo de ordenação quicksort
Tutorial aed iii   005 - algoritmo de ordenação quicksortTutorial aed iii   005 - algoritmo de ordenação quicksort
Tutorial aed iii 005 - algoritmo de ordenação quicksortFlávio Freitas
 
[PRJ32][Christopher] Aula 14 – controle
[PRJ32][Christopher] Aula 14 – controle[PRJ32][Christopher] Aula 14 – controle
[PRJ32][Christopher] Aula 14 – controleChristopher Cerqueira
 
Análise de desempenho de algoritmos de ordenação
Análise de desempenho de algoritmos de ordenaçãoAnálise de desempenho de algoritmos de ordenação
Análise de desempenho de algoritmos de ordenaçãoGustavo Carvalho
 

Semelhante a P910Aula07 (9)

Aula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdf
Aula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdfAula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdf
Aula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdf
 
MFV - Instrucional.pptx
MFV - Instrucional.pptxMFV - Instrucional.pptx
MFV - Instrucional.pptx
 
PO - aula 1.pptx
PO - aula 1.pptxPO - aula 1.pptx
PO - aula 1.pptx
 
Uso Do Arena Em Simulacao
Uso Do Arena Em SimulacaoUso Do Arena Em Simulacao
Uso Do Arena Em Simulacao
 
Trabalho métodos de ordenação
Trabalho métodos de ordenaçãoTrabalho métodos de ordenação
Trabalho métodos de ordenação
 
Tutorial aed iii 005 - algoritmo de ordenação quicksort
Tutorial aed iii   005 - algoritmo de ordenação quicksortTutorial aed iii   005 - algoritmo de ordenação quicksort
Tutorial aed iii 005 - algoritmo de ordenação quicksort
 
[PRJ32][Christopher] Aula 14 – controle
[PRJ32][Christopher] Aula 14 – controle[PRJ32][Christopher] Aula 14 – controle
[PRJ32][Christopher] Aula 14 – controle
 
Análise de desempenho de algoritmos de ordenação
Análise de desempenho de algoritmos de ordenaçãoAnálise de desempenho de algoritmos de ordenação
Análise de desempenho de algoritmos de ordenação
 
P910Aula06
P910Aula06P910Aula06
P910Aula06
 

Mais de Davi Neves (18)

P566Aula10
P566Aula10P566Aula10
P566Aula10
 
P566Aula09
P566Aula09P566Aula09
P566Aula09
 
P566Aula08
P566Aula08P566Aula08
P566Aula08
 
P566Aula07
P566Aula07P566Aula07
P566Aula07
 
P566Aula06
P566Aula06P566Aula06
P566Aula06
 
P566Aula05
P566Aula05P566Aula05
P566Aula05
 
P566Aula04
P566Aula04P566Aula04
P566Aula04
 
P566Aula03
P566Aula03P566Aula03
P566Aula03
 
P566Aula02
P566Aula02P566Aula02
P566Aula02
 
P566Aula01
P566Aula01P566Aula01
P566Aula01
 
P910Aula10
P910Aula10P910Aula10
P910Aula10
 
P910Aula09
P910Aula09P910Aula09
P910Aula09
 
P910Aula08
P910Aula08P910Aula08
P910Aula08
 
P910Aula05
P910Aula05P910Aula05
P910Aula05
 
P910Aula04
P910Aula04P910Aula04
P910Aula04
 
P910Aula03
P910Aula03P910Aula03
P910Aula03
 
P910Aula02
P910Aula02P910Aula02
P910Aula02
 
P910Aula01
P910Aula01P910Aula01
P910Aula01
 

P910Aula07

  • 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
  • 3. Teoria das Filas: sequenciamento de processos Simulando Filas
  • 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?
  • 8. Teoria das Filas: sequenciamento de processos
  • 9. Teoria das Filas: sequenciamento de processos
  • 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).
  • 12. 4 3 2 1
  • 13. Teoria das Filas: sequenciamento de processos
  • 14. Teoria das Filas: sequenciamento de processos
  • 15. Teoria das Filas: sequenciamento de processos
  • 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
  • 17. Teoria das Filas: sequenciamento de processos 4 3 2 1 4321
  • 18. Teoria das Filas: sequenciamento de processos 1 2
  • 19. Teoria das Filas: sequenciamento de processos
  • 20. Teoria das Filas: sequenciamento de processos
  • 21. Teoria das Filas: sequenciamento de processos EXERCÍCIO 1 EXERCÍCIO 2 Semente: 1876
  • 22. Teoria das Filas: sequenciamento de processos EXERCÍCIO 1
  • 23. Teoria das Filas: sequenciamento de processos EXERCÍCIO 1
  • 24. Teoria das Filas: sequenciamento de processos EXERCÍCIO 1
  • 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.
  • 43. Teoria das Filas: sequenciamento de processos Pedágio R
  • 44.
  • 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
  • 48. Teoria das Filas: sequenciamento de processos +1 EXEMPLO
  • 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()
  • 51. Teoria das Filas: sequenciamento de processos 1234 SEED
  • 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
  • 56. Teoria das Filas: sequenciamento de processos
  • 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.
  • 60. Teoria das Filas: sequenciamento de processos
  • 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
  • 63. Teoria das Filas: sequenciamento de processos GLOSSÁRIO PEQUENO
  • 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)