86_sim_giovanapasa_2012abr16
Download
Report
Transcript 86_sim_giovanapasa_2012abr16
MODELAGEM DE SISTEMAS
SIMULAÇÃO
Parte I
Profa. Giovana Pasa, Dra.
[email protected]
Universidade Federal do Rio Grande do Sul
Escola de Engenharia
Programa de Pós Graduação em Engenharia de Produção
Ponto de partida
I keep six honest serving-men
(They taught me all I knew);
Their names What and Why, When
And How and Where and Who”.
Rudyard Kipling apud Carnegie (1956)
2
What
O que precisamos fazer em nosso trabalho?
3
What
gerenciar
decidir
resolver problemas
aprender
domínio da situação
4
Why
Por que?
5
Why
sermos a referência
competitividade
melhores resultados
sobrevivência
benchmark*
marco geodésico,
referência de nível
* http://www.merriam-webster.com/dictionary/benchmark
6
When
Quando?
7
When
futuro
hoje
8
How
Como?
Simulando:
realidade existente: cenários, decisões
projetos futuros: alternativas, impacto
técnica de aprendizagem organizacional
9
Where (Onde) MANUFATURA
10
Where (Onde) MANUFATURA
11
Where (Onde) SERVIÇOS
12
Where
Onde?
Logística
13
14
Who
Quem?
especialistas em modelagem
usuários do sistema
clientes do sistema
especialistas em áreas complementares
vocês
15
INICIANDO O ESTUDO
História:
1908
matemático A. K. Erlang
central telefônica de Copenhagen
objetivo: ligações prontamente atendidas
problema: dimensionar para não haver
congestionamentos
solução: MODELAGEM
16
Modelagem matemática de Erlang
Erlang desenvolveu um modelo para o sistema
da central telefônica
chamadas chegam aleatoriamente na central
produzem ou não conexão, dependendo da
disponibilidade de linhas
havendo linha, a ligação é imediata
não havendo, usuário recebe sinal de ocupado
e ligação é perdida
deverá tentar posteriormente
17
Modelagem matemática
Erlang desenvolveu um modelo para o sistema
SISTEMA:
“Conjunto de entidades que interagem com o objetivo de
atingir algum fim lógico.”
MODELO:
Para estudar um sistema é preciso estabelecer
pressupostos a respeito de seu funcionamento.
Esses tomam a forma de expressões matemáticas ou
lógicas que constituem o modelo.
18
TEORIA DAS FILAS
Erlang desenvolveu modelos matemáticos que oferecem
soluções analíticas
TEORIA DAS FILAS
Útil para: malhas de transportes, redes de
computadores, manufatura, serviços,…
19
Terminologia em TEORIA DAS FILAS
1 - Processo de chegada
processo de chegada
(arrival ou input
process)
Descreve a
forma como
os clientes
chegam no
sistema.
•um cliente por vez
•grupos
20
2 - Processo de atendimento
processo de
atendimento
descreve a forma como
os clientes são
atendidos
distribuição do tempo
de atendimento
um ou mais servidores
série ou paralelo
(service or output
process)
21
Para modelarmos os processos de
chegada e atendimento...
... podemos ter uma modelagem determinística (D)
ou podemos ter as distribuições de probabilidade
(ddp). Algumas delas são:
M – exponencial
U - Uniforme
G – geral ou arbitrária
Mais adiante serão estudadas em detalhe.
22
3 – Número de atendentes
um atendente
vários
23
4 - Regra ou disciplina da fila
descreve a ordem em que os clientes serão
atendidos
primeiro a chegar é o primeiro a ser atendido
último a chegar é o primeiro a ser atendido
FCFS – first come, first served
LCFS – last come, first served
aleatório em relação à chegada
prioridades por categorias
24
5 – Número máximo de clientes no sistema
limitado
infinito
25
6 - População
Fonte infinita –
chegadas independem do nro
de clientes no sistema
Fonte finita – dependem
- população
pequena
- desistem em
função do
tamanho da fila
26
FILAS: elementos básicos
Os elementos básicos das filas são os seis
apresentados, especialmente:
- taxa de chegada
- taxa de atendimento
A notação de Kendall- Lee organiza estes
elementos da seguinte forma:
27
Notação Kendall-Lee
1/2/3/4/5/6
1 – processo de chegada
2 – processo de atendimento
3 – número de atendentes
4 – regra da fila
5 – número máximo de clientes no sistema
6 – tamanho da população
28
exemplo:
M/M/1
1 – processo de chegada exponencial
2 – processo de atendimento exponencial
3 – número de atendentes = 1
4 – regra da fila: geral
5 – número máximo de clientes no sistema:
6 – tamanho da população:
29
FILAS
CLIENTE NA FILA
CLIENTE SENDO ATENDIDO
SISTEMA
chegada
IC
fila
atendimento
TF NF
TA NA
sistema
TS NS
saída
30
FILAS
- taxa de chegada
- taxa de
atendimento
chegada
IC
IC – tempo médio entre chegadas IC=1/
TF - tempo médio na fila
NF – número médio de clientes na fila
TA - tempo médio de atendimento TA=1/
NA – número médio de clientes em atendimento
TS - tempo médio no sistema
NS – número médio de clientes no sistema
fila
atendimento
TF NF
c TA NA
sistema
TS NS
saída
31
Fórmulas básicas
NS = NF + NA
TS = TF + TA
NA = / = TA/IC
NS = NF + NA = NF + (/ ) = NF + (TA/IC)
intensidade de tráfego = /
chegada
IC
fila
atendimento
TF NF
c TA NA
sistema
TS NS
saída
32
Fórmulas de Little
Aplicáveis a sistemas estáveis:
intensidade de tráfego < 1, ou seja, <
- taxa média de chegada constante
- taxa média de atendimento constante
NF = . TF
NS = . TS
NA = . TA
33
Exemplo
1. Precisamos retirar dinheiro no quiosque de caixas automáticos.
Sabemos que:
chegam = 20 clientes por hora
a taxa de atendimento é = 25 clientes por hora
o tempo médio que cada cliente gasta no sistema é TS = 0,3
horas (18 min.)
a) Qual a intensidade de tráfego ()?
b) Qual o tamanho médio da fila que vamos encontrar (NF)?
c) Qual o número médio de clientes no quiosque (NS)?
d) Qual o número médio de clientes sendo atendidos (NA)?
34
chegam = 20 clientes por hora
a taxa de atendimento é = 25 clientes por hora
o tempo que cada cliente gasta no sistema é TS = 0,3 horas (18 min.)
a) Qual a intensidade de tráfego ()?
= /
=20/25=0,8
b) NF=?
NF = . TF = 20. TF
TS = TF + TA ou
TF = TS – TA
TA = 1/ = 1/25 = 0,04 h
Substituindo:
TF = 0,3 – 0,04 = 0,26 h
NF = . TF = 20. 0,26 = 5,2 clientes
35
chegam = 20 clientes por hora
a taxa de atendimento é = 25 clientes por hora
o tempo que cada cliente gasta no sistema é TS = 0,3 horas (18 min.)
c) NS = . TS
NS = 20. 0,3 = 6 clientes
d) NA = . TA
TA = 1/ = 1/25 = 0,04
NA = 20. 0,04 = 0,8 clientes
36
Ao chegar ao quiosque, o que veremos será:
37
atividade 1 - lancheria
A1. Na hora do intervalo, cada aluno desloca-se até o balcão de
lanches. Verificou-se que:
cada atendente é capaz de alcançar os lanches aos alunos a
uma taxa de =9 lanches/min);
a taxa de chegada de alunos no balcão é de = 4 alunos/min.
a) Qual a intensidade de tráfego ?
b) Qual o tempo médio de atendimento (TA)?
c) Observando-se que a fila tem em média 10 alunos, determine o
tempo que o aluno permanece na fila (TF).
d) Considerando a informação do item c, calcule o tempo médio
de permanência de um aluno na lancheria (TS).
38
Teoria das Filas aplicada a sistemas M/M/1
Lembrando M/M/1:
1 – processo de chegada exponencial
2 – processo de atendimento exponencial
3 – número de atendentes = 1
4 – regra da fila: geral
5 – número máximo de clientes no sistema: infinito
6 – tamanho da população: infinito
Solução analítica:
fórmulas matemáticas
usa o conhecimento sobre o
comportamento das distribuições
39
Propriedades de um sistema M/M/1/G/ /
2
númeromédio de clientes na fila NF
núm ero m édio de clientesno sistem a NS
tem po m édio na fila TF
tem po m édio no sistem a TS
1
Pr obabilidad e de existirem n clientes no sistema Pn 1
n
40
Modelagem
Distribuição de probabilidade - Exponencial
a(x)= . e -x
.
e -x
E(A)=1/
é a taxa de chegadas
é a média dos tempos
entre de chegadas
var(A)=1/ (2) é a variância dos tempos
entre de chegadas
63%
1/
x
41
Exemplo de um sistema M/M/1/G/ /
A cabine telefônica:
as chegadas ocorrem de acordo com uma
distribuição exponencial com taxa = 0,1
pessoas/min;
a duração média dos telefonemas é de TA = 3
minutos e também segue uma distribuição
exponencial.
a) Qual a probabilidade de uma pessoa chegar à
cabine e não precisar esperar?
Pr obabilidad e de existirem n clientes no sistema Pn 1
n
42
A cabine telefônica:
= 0,1 pessoas/min.
TA = 3 minutos ou =0,33 telefonemas/min.
a) Qual a probabilidade de uma pessoa chegar à cabine e não
precisar esperar?
0
0,1 0,1
P0 1 1
1 0,3 0,7
0,33 0,33
0
A probabilidade de encontrar a cabine disponível é de 70%.
43
A cabine telefônica:
= 0,1 pessoas/min.
TA = 3 minutos ou =0,33 telefonemas/min.
b) Qual o tempo médio na fila?
0,1
TF
1,28
1 / 31 / 3 0,1
O tempo médio na fila é de 1,28 min.
44
A cabine telefônica:
= 0,1 pessoas/min.
TA = 3 minutos ou =0,33 telefonemas/min.
c) Qual ritmo de chegada de pessoas determinaria um
tempo médio na fila de 3 minutos?
TF
3 1 / 31 / 3
3
1 / 31 / 3
1/ 6 0,16 clientes/ min
O tempo médio na fila seria de 3 min. se o ritmo de
chegada fosse de 0,16 clientes/minuto.
45
atividade 2 - ferramentaria
A2. Os operários da fábrica, para realizarem as atividades
diárias, precisam recorrer ao auxílio da ferramentaria.
Observou-se que o ritmo de chegada de solicitações à
ferramentaria segue uma distribuição exponencial com
ritmo de chegada de =1 solicitação/min. O ritmo de
atendimento da ferramentaria também segue uma
exponencial com =12 atendimentos/min.
46
atividade 2 - ferramentaria
ritmo de chegada de =1 solicitação/min.
ritmo de atendimento =12 atendimentos/min.
Pergunta-se:
a) Qual a probabilidade de um operário chegar à ferramentaria e
não precisar esperar?
b) Qual o tempo médio de espera do operário na fila (TF)?
c) Qual o tempo médio de atendimento do operário (TA)?
d) Qual o tempo médio do operário na ferramentaria (TS)?
e) Quantos operários em média estão na fila (NF)?
f) Quantos operários em média estão na ferramentaria (NS)?
47
atividade 3 – manutenção e ferramentaria
A3. O gerente geral recebeu uma solicitação de reduzir custos
com os setores de apoio à produção. Uma idéia testada em
outras filiais foi alocar a um mesmo setor as atividades de
ferramentaria e as atividades de manutenção básica.
Antes de estudar mais detalhadamente a proposta, o gerente
resolveu fazer uma análise dos impactos que esta mudança
provocaria.
Observou-se que o ritmo de chegada de solicitações
somando-se as demandas da ferramentaria e da manutenção
segue uma distribuição exponencial com ritmo de chegada
de =8 solicitações/min. O ritmo de atendimento do novo
setor ainda seguiria uma exponencial mas cairia para =10
atendimentos/min devido ao aumento da complexidade.
48
atividade 3 – manutenção e ferramentaria
ritmo de chegada de =8 solicitações/min.
ritmo de atendimento =10 atendimentos/min.
Pergunta-se:
a) Qual a probabilidade de um operário chegar à ferramentaria e
precisar esperar?
b) Qual o tempo médio de espera do operário na fila (TF)?
c) Qual o tempo médio de atendimento do operário (TA)?
d) Qual o tempo médio do operário no setor (TS)?
e) Quantos operários em média estarão na fila (NF)?
f) Quantos operários em média estarão no setor (NS)?
49
Dinâmica em grupo: Conservação dos fluxos
a.
b.
A
B
C
50
Conservação dos fluxos
c.
1
1
3
C
2
d.
3
A
3= 1+ 2
B
A
3
2
B
2
2= 1- 3
C
3
51
Modelagem de sistemas: SIMULAÇÃO
Parte II
Profa. Giovana Pasa, Dra.
[email protected]
Situação:
Agora, desejo modelar as filas com que me deparo ao longo
do dia...
53
Agenda
ACORDAR
CAFÉ
ABASTECER
CARRO
5:45
6:00
6:15
0:07
0:09
0:11
melhor
intermediário
pior
0:12
0:15
0:18
melhor
intermediário
pior
melhor
intermediário
pior
54
Agenda
IR ATÉ NOVO
HAMBURGO
REUNIÃO NA
EMPRESA A
REUNIÃO NA
EMPRESA B
0:30
0:35
0:50
0:55
1:10
1:15
melhor
intermediário
pior
1:00
1:30
1:40
melhor
intermediário
pior
melhor
intermediário
pior
55
Agenda
CAFÉ-Reunião
PALESTRA
VOLTAR A
PORTO ALEGRE
0:50
1:30
2:00
2:00
2:20
3:00
melhor
intermediário
pior
0:40
0:50
1:00
melhor
intermediário
pior
melhor
intermediário
pior
56
ACORDAR
CAFÉ
ABASTECER
CARRO
CAFÉ-Reunião
PALESTRA
VOLTAR A
PORTO ALEGRE
5:45
6:00
6:15
0:07
0:09
0:11
melhor
intermediário
pior
melhor
intermediário
pior
Agenda
0:12
0:15
0:18
melhor
intermediário
pior
melhor
0:50
1:30
2:00
2:00
2:20
3:00
melhor
intermediário
pior
0:40
0:50
1:00
melhor
intermediário
pior
melhor
intermediário
pior
intermediário
pior
ACORDAR
05:45
06:00
06:15
CAFÉ
00:07
00:09
00:11
ABASTECER
00:12
00:15
00:18
IR A NH
00:30
00:35
00:50
REUNIÃO A
00:55
01:10
01:15
REUNIÃO B
01:00
01:30
01:40
ALMOÇO
CAFÉ-Reunião
00:50
01:30
02:00
PALESTRA
02:00
02:20
03:00
VOLTAR
00:40
00:50
01:00
TOTAL
CHEGADA
06:14
11:59
08:19
14:19
10:14
16:29
Observe!
Agenda
melhor
Trabalhamos com os cenários ACORDAR
CAFÉ
MELHOR, PIOR e
ABASTECER
IR A NH
INTERMEDIÁRIO.
REUNIÃO A
Mas, qual a chance de cada um REUNIÃO B
ALMOÇO
CAFÉ-Reunião
deles ocorrer?
PALESTRA
VOLTAR
Quais as implicações de
TOTAL
CHEGADA
desconsiderarmos estas
“chances” ?
intermediário
pior
05:45
06:00
06:15
00:07
00:09
00:11
00:12
00:15
00:18
00:30
00:35
00:50
00:55
01:10
01:15
01:00
01:30
01:40
00:50
01:30
02:00
02:00
02:20
03:00
00:40
00:50
01:00
06:14
11:59
08:19
14:19
10:14
16:29
58
Fatos sobre teoria das filas:
Modelos analíticos:
simplificações nos pressupostos
implica em solução inadequada
Pressupostos – sistemas estáveis:
taxas estacionárias
passado não afeta o futuro
não há sobreposição de chegadas
Simulação
59
Definição de Simulação
São técnicas que usam computadores para
“imitar” ou simular diversos tipos de
operações ou processos do mundo real
(Law e Kelton, 1994).
60
A simulação…
É uma metadisciplina
Existe com a finalidade de auxiliar outras áreas
Instrumento
61
Por que usar simulação?
62
Objetivo: ....
MODELOS
pressupostos/
sofisticação
cenários
melhor
intermediário
pior
horizonte
longo
médio
curto
63
Fato: Existe um sistema real a ser estudado!
Sistema
Macro-sistema:
- Banco
micro sistema:
- Hospital
- atendimento nos caixas
- Montadora de automóveis
- emergência
- Universidade
- linha de pintura
- Restaurante
- processo de matrícula
- cozinha
64
Como posso estudar um sistema?
Sistema
65
Experimento com o sistema real
Sistema
Experimento
com o
sistema real
Fórmula I
zoologia
agricultura
66
Experimento com o sistema real
Sistema
Experimento
com o
sistema real
destrutivo
Pode ser inviável:
não existe (fase de projeto)
67
Experimentos com modelos físicos
Sistema
Experimento
com um modelo
do sistema
Maquetes arquitetônicas
Modelo
físico
Túnel de vento
68
Experimentos com modelos físicos
Dificuldade de construir
Sistema
Experimento
com um modelo
do sistema
Caro
Dificuldade de realizar
experimentos sem destruí-lo
Modelo
físico
69
Experimentos com modelos matemáticos
Sistema
Experimento
com um modelo
do sistema
Modelo
matemático
Funções matemáticas:
i=V/R
Funções lógicas:
Se A=B e B=C, então A=C
70
Modelo matemático com solução analítica
Sistema
Cálculos estequiométricos
Experimento
com um modelo
do sistema
Trajetória do robô
Modelo
matemático
Equações de MRUV
Solução
analítica
71
Modelo matemático com solução analítica
Terminal portuário
Sistema
Experimento
com um modelo
do sistema
Relação custo-benefício não
justifica o esforço
Modelo
matemático
clima
Solução analítica
é muito difícil ou
inexiste
Solução
analítica
Ex.:
Teoria das filas
72
Modelo matemático com simulação
Sistema
Experimento
com um modelo
do sistema
Modelo
matemático
Simulação
73
Sintetizando:
Sistema
Experimento
com o
sistema real
Experimento
com um modelo
do sistema
Modelo
físico
Modelo
matemático
Solução
analítica
Simulação
74
Razões para usar simulação - 1
Testar:
configurações diferentes do sistema
• layout funcional, layout em linha
Funcional
A
A
C C
C
Linha
B
E
E
D
D
E
E
A
B
C
D
E
75
Razões para usar simulação - 1
Testar:
para uma configuração, condições alternativas
• capacidades de máquinas
A
B
D
D
C
E
E
C
A A
B
C C
C
E
E
D
D
E
E
•mix produtivos
30%
40%
20%
60%
50%
76
Razões para usar simulação - 1
Avaliar desempenho
• lead time ou tempo de atravessamento
108 min
95 min
A
C
C
B
D
D
E
E
A A
C C
C
B
E
E
D
D
E
E
•índice de retrabalho
25%
33%
77
Razões para usar simulação - 2
• controle das experiências antes
de alterar o sistema real
• estudar ao longo de um horizonte temporal extenso...
2007
2008
2009
2010
2011
78
Razões para usar simulação - 3
Ferramenta para tomada de decisão
Aprender sobre o processo
Testar modelos mentais
Senso de equipe/comando
Reações sob pressão
79
Razões para usar simulação - 4
• aproveita o conhecimento das pessoas
envolvidas rotineiramente no processo
• explicita
• permite compartilhamento
• consolida o conhecimento
80
Razões para usar simulação - 5
• recupera a visão sistêmica dos
processos
81
Razões para usar simulação - 6
• hardware:
• capacidade de processamento
• custo viável
• software:
• acessíveis
• amigáveis
82
Razões para usar simulação - 7
• Aprendizagem e inovação
• lápis e papel
Análises financeiras
• planilha eletrônica
Impacto gerencial
83
Razões para usar simulação - 8
• Cultura organizacional e comportamento
Perspectiva 1
84
85
86
87
88
89
O que foi possível aprender?
90
Razões para usar simulação - 8
Perspectiva 2
91
Razões para usar simulação - 8
• Cultura organizacional e comportamento
Perspectiva 2
92
Razões para usar simulação - 8
• Cultura organizacional e comportamento
Perspectiva 2
93
ONDE podemos usar simulação:
SERVIÇOS
94
Exemplo 1: Bancos
95
Simulação – bancos
Nro de caixas automáticos
Tipos de funcionalidades nos caixas automáticos
Arranjo físico
Alocação de funcionários por turno
Horários de atendimento
Tempos de espera na fila
96
Exemplo 2: Hospitais
97
Simulação - hospitais
Nro de leitos por setor
Nro de médicos por tipo de especialidade em
plantões de emergência
Distribuição de medicamentos e material
Alocação de leitos compartilhados por
hospitais de modo a reduzir transferências
98
Exemplo 3: Manufatura
99
Simulação da manufatura
Lead time
Layout
Estoques intermediários
Dimensionamento de
Turnos de trabalho
capacidade
Alocação de operadores
Mix de produção
Balanceamento da linha
Substituição de
Fluxo de pessoas
equipamentos
Fluxo de materiais
Manutenção
100
Exemplo 4: Logística
101
Simulação da logística
Localização dos CDs
Roteiros de coleta
Tipos de veículos
Alocação de cargas
Lead times
Composição das cargas
Equipamentos de movimentação de cargas
102
Atividade 4
Aplicações
103
Modelagem de sistemas: SIMULAÇÃO
Conceitos básicos e Terminologia
Parte III
Terminologia em Simulação
Estado de um sistema
• conjunto de variáveis necessárias
para descrever o seu status em dado
momento no tempo
Ex.:
Em um banco, na medida em que os clientes chegam, são
atendidos ou partem o status do sistema muda.
105
Mudanças no Status
Para descrever cada mudança possível no estado
do sistema,
necessitamos de um conjunto de variáveis
chamadas de variáveis de estado.
Ex.:
nº de atendentes ocupados
nº de clientes no banco
momento de chegada do próximo cliente
momento de partida do cliente em atendimento
106
Num sistema
• objeto de interesse
Entidade
• propriedades de uma entidade Atributos
Ex.:
Banco
Entidade: cliente
Atributo: profissão
107
Modelos de simulação
ESTÁTICOS
Representam o sistema
num momento
particular do tempo
Monte Carlo
DINÂMICOS
Representam o sistema
modificando-se no
tempo.
108
Estáticos: Simulação de Monte Carlo
Law e Kelton (1991) definem:
técnica que usa números aleatórios e variáveis
aleatórias para resolver problemas em que a
passagem do tempo não exerce um papel
significativo.
Então, geralmente trata-se de simulações estáticas.
Ex.: Resolver integrais e conjuntos de integrais não
passíveis de serem resolvidos analiticamente.
P.S. Há autores que usam a denominação Monte Carlo de
forma mais ampla, abrangendo qualquer simulação que
use números aleatórios.
109
Dinâmicos
Representam o sistema modificando-se no tempo.
simulação contínua
simulação discreta ou de eventos discretos
110
Simulação
Contínua
Variáveis de
estado mudam
continuamente ao
longo do tempo
Discreta
Variáveis de estado
mudam somente devido
à ocorrência de eventos
mudam em pontos do
tempo discretos, ou seja,
aqueles pontos em que
ocorreu um evento
111
Simulação contínua
Processos químicos, biológicos
Usam equações diferenciais – resolvidas com técnicas
numéricas
112
Simulação discreta
Num banco:
Evento
cliente tem o seu atendimento iniciado
cliente tem o seu atendimento concluído
variável de estado é atualizada
Relógio ou clock é atualizado 10:00 10:15
113
Modelos de simulação
DETERMINÍSTICO
Valores exatos
Simplificação
ESTOCÁSTICO
Valores estimados
Variabilidade natural
do processo é
modelada
114
Modelagem ESTOCÁSTICA
lembrando:
os tempos entre chegadas de clientes...
os tempos entre chegadas de peças a serem
processadas...
a duração dos atendimentos dos clientes...
a duração dos processamentos nas máquinas...
as tarefas feitas pelas pessoas...
... apresentam variabilidade natural!
Por isso usamos Distribuições de Probabilidade!
115
Os tempos de execução de uma atividade
apresentam variabilidade...
Tempo medido
116
Tempo medido
117
Tempo medido
118
Tempo medido
119
Tempo medido
120
Tempo medido
121
O que esta figura lembra?
Tempo medido
122
Distribuição de probabilidade normal
123
Simulação de eventos discretos
Estática
Dinâmica
Estuda sistemas
estocásticos que mudam
com o passar do tempo
Contínua
Discreta
As mudanças ocorrem
em momentos discretos
do tempo (eventos)
Determinística
Estocástica
O evento muda o
estado do sistema instantaneamente
(variáveis de
estado são atualizadas)! 124
Considere uma instalação com um único
servidor:
atendente do banco
Você deseja estimar o tempo de espera na
fila (tempo desde que chegou à fila até
iniciar o atendimento)
125
Para estimar o tempo médio na fila, você precisa das
variáveis de estado:
status do servidor: ocupado ou ocioso
número de clientes na fila
instante de chegada de cada cliente na fila
O status do servidor é necessário para determinar se o
cliente que chegou vai ser atendido imediatamente ou vai
entrar na fila
O número de clientes na fila é necessário para saber se,
ao terminar o atendimento atual, o servidor ficará ocioso
ou ocupado com alguém que estava na fila
O instante de chegada é necessário para calcular o tempo
gasto na fila: = tempo de início do atendimento menos
instante de chegada
126
Eventos do exemplo:
1 - chegada de um cliente
ou muda a variável de estado status do servidor de
ocioso para ocupado
ou incrementa 1 na variável de estado número de
clientes na fila
2 - finalização de um atendimento
ou muda a variável de estado status do servidor de
ocupado para ocioso
ou decrementa 1 na variável de estado número de
clientes na fila
127
Mecanismos de avanço no tempo
simulation clock:
é a variável que fornece o valor atual do
tempo da simulação
incremento fixo
avanço no próximo evento
128
Avanço no próximo evento
e2 e3
e0
e1
0
t2
t1
A1
A2
ts1
e4
e5
t3
ts2
tempo
A3
S1
ei – instante de ocorrência do evento i
ti – instante de chegada do cliente i
S2
Ai – tempo entre chegada dos
clientes i-1 e i
tfi – tempo que o cliente i fica na fila
Ai = ti – ti-1
tsi – instante em que o cliente i tem seu
Si – tempo gasto atendendo o cliente i
atendimento concluído e sai
tsi = ti + tfi + Si
129
e0
e1
e2
e3
e4
e5
0
t1
t2
ts1
t3
ts2
A1
A2
A3
S1
S2
tempo
e0=0
Relógio é inicializado em zero: e0=0
Status do servidor: ocioso
Usamos distribuição de probabilidade (ddp) para
gerar o valor de A1 (tempo entre chegadas)
Então, primeiro cliente chegará em t1 = 0 + A1
130
e0
e1
e2
e3
e4
e5
0
t1
t2
ts1
t3
ts2
A1
A2
A3
S1
S2
tempo
e1 = t1
Avançamos o relógio para: e1= t1
O cliente 1 que chegou em t1 encontrou o servidor ocioso
O seu atendimento iniciou sem que ele ficasse em fila: tf1 = 0
Status do servidor passou a ocupado
Usamos ddp para gerar o valor de S1 (tempo de atendimento
do cliente 1)
Então, o primeiro cliente sairá em ts1 = t1 + tf1 + S1
131
e0
e1
e2
e3
e4
e5
0
t1
t2
ts1
t3
ts2
A1
A2
A3
S1
S2
tempo
e1 = t1
Usamos ddp para gerar o valor de A2 (tempo entre chegadas
para cliente 2)
Então, segundo cliente chegará em t2 = t1 + A2
Como t2 < ts1 , o cliente 2 chega enquanto o cliente 1 ainda
está sendo atendido e o relógio é avançado para e2= t2
(Se t2 ≥ ts1 , o relógio avançaria para e2= ts1)
132
e0
e1
e2
e3
e4
e5
0
t1
t2
ts1
t3
ts2
A1
A2
A3
S1
S2
tempo
e2 = t2
O cliente 2 encontrou o servidor ocupado, então vai para a
fila
A variável nro de clientes na fila é incrementada de 1 e
anotamos o instante de entrada na fila
Usamos ddp para gerar o valor de A3 (tempo entre chegadas
para cliente 3)
Então, cliente 3 chegará em t3 = t2 + A3
Como ts1 < t3 , o relógio é avançado para e3= ts1 e o cliente 1
sai
133
e0
e1
e2
e3
e4
e5
0
t1
t2
ts1
t3
ts2
A1
A2
A3
S1
S2
tempo
e3= ts1
O cliente 2 que estava na fila tem seu atendimento iniciado
O tempo de fila é calculado: tf2 = ts1 - t2
A variável nro de clientes na fila é decrementada de 1
Usamos ddp para gerar o valor de S2 (tempo atendimento do
cliente 2)
Então, cliente 2 sairá em ts2 = ts1 + S2
Como t3 < ts2 , o relógio é avançado para e4= t3 , etc.
Precisamos criar um critério de finalização
134
Sintetizando:
Componentes e organização do modelo
Estado do sistema: conjunto de variáveis para
descrever o sistema em dado instante
Relógio ou clock: variável que fornece o valor
atual do tempo de simulação
Lista de eventos: registra o próximo instante em
que cada tipo de evento irá ocorrer
Contadores estatísticos: armazenam indicadores
de desempenho do sistema simulado
135
Componentes e organização do modelo
Rotina de inicialização: subprograma que inicializa o
sistema no instante zero
Rotina de timing: subprograma que determina qual o
próximo evento da lista e atualiza o relógio para o
instante de ocorrência deste evento
Rotina de evento: subprograma que atualiza o estado do
sistema quando um determinado tipo de evento ocorreu
(cada tipo de evento tem sua própria rotina)
Biblioteca de rotinas: conjunto de subprogramas para
gerar valores a partir das ddp
136
Componentes e organização do modelo
Gerador de relatório: subprograma que calcula as
estimativas dos indicadores de desempenho do modelo
Programa principal: controla o fluxo das ações
chama rotina de timing para determinar próximo
evento
transfere controle para rotina de evento atualizar
variáveis de estado
verifica finalização
chama gerador de relatório.
137
FLUXO DE CONTROLE
Rotina inicialização
1. Relógio é
zerado
2. Inicializa
estado do sistema
e contadores
3. Inicializa lista
de eventos
início
Rotina timing
Programa principal
0
0. Chama rotina inicialização
1
1. Chama rotina timing
2. Chama rotina evento i Repetidamente
i
2
Rotina evento i
Biblioteca de rotinas
1. Atualiza o estado do sistema
2. Atualiza os contadores estatísticos
3. Gera eventos futuros e adiciona à lista
de eventos
Simulação
concluída ?
sim
Gerador relatórios
1. Calcula estimativas
2. Gera relatórios
Fim
1. Determina o
tipo do próximo
evento i
2. Avança relógio
não
Gerador de
variáveis
aleatórias
ATIVIDADE DE FIXAÇÃO
Objetivo da simulação:
Quais entidades devem ser consideradas?
dimensionar o setor de manutenção com relação ao
número de funcionários para reduzir o tempo médio de
atendimento das solicitações de serviço de manutenção.
solicitação de serviço de manutenção.
Há a necessidade de diferenciar as entidades
através de atributos?
sim
139
manutenção
Entidade: solicitação de serviço de
manutenção
Atributo: tipo de manutenção
corretiva
preventiva
Preciso de outro atributo para distinguir as
solicitações de serviço?
140
manutenção
SIM, o tipo de máquina que vai sofrer manutenção
MAS: Haverá diversos tipos de máquinas! Será que preciso
criar tantos valores para o atributo máquina?!
Faça rapidamente um pareto ou use o seu conhecimento e
escolha os 3 tipos de máquinas que ocupam o maior
percentual de tempo do setor de manutenção. Inicie criando
estes 3 possíveis valores para o atributo “máquina que vai
sofrer manutenção”.
141
Como ficou até aqui:
Entidade: solicitação de serviço
Atributo 1: tipo de manutenção
corretiva Att1=1
preventiva Att1=2
Atributo: máquina que vai sofrer manutenção
m1 Att2=1
m2 Att2=2
m3 Att2=3
Os atributos auxiliam a distinguir. Isto permite
saber que ação tomar em relação àquela entidade
específica.
142
Quais os recursos utilizados na manutenção?
Precisamos listar todos os recursos a serem
utilizados na manutenção?
Inicialmente, liste os recursos mais nobres (gargalos):
Funcionários
Quais os locais envolvidos na modelagem?
chegada de solicitações de manutenção
setor de manutenção
saída
143
continuação:
Como é o processo de chegada?
Neste ponto, precisamos obter dados para as freqüências de
chegadas de solicitações de serviço dos tipos corretiva e
preventiva para as máquinas m1, m2 e m3.
Att1
Corretiva
1
40%
m1
m2 m3
1
2
3
Preventiva
2
60%
m1
m2
m3
1
2
3
8%
24% 24% 12%
Att2
Nro de
16% 16%
solicit.
144
continuação:
Como é o tempo de atendimento?
Neste ponto, precisamos obter dados para os tempos de
atendimento em cada serviço dos tipos corretiva e
preventiva para as máquinas m1, m2 e m3. Vamos
iniciar com valores determinísticos para obtermos
domínio sobre o modelo.
Corretiva
Preventiva
Att1
1
2
Att2
Tempo
de
atend.
m1
1
m2
2
m3
3
m1
1
m2
2
m3
3
10
20
50
60
70
80
145
continuação:
Quais eventos precisam ser modelados?
1 - chegada de uma solicitação de serviço
2 - finalização de uma manutenção
Quais as variáveis de estado necessárias para
descrever os possíveis estados desencadeados pelos
eventos?
status do funcionário: ocupado ou ocioso
número de solicitações na fila
instante de chegada de cada solicitação na fila
146
Status
1 - chegada de uma solicitação de serviço
ou muda a variável de estado status do funcionário de
ocioso para ocupado
ou incrementa 1 na variável de estado número de
solicitações na fila
2 - finalização de uma manutenção
ou muda a variável de estado status do funcionário de
ocupado para ocioso
ou decrementa 1 na variável de estado número de
solicitações na fila
147
medições
Quais as variáveis nos auxiliarão a determinar se estamos
nos aproximando do objetivo da simulação?
tempo de fila
tempo de atendimento
tempo no sistema (=tempo fila+tempo atendimento)
nível de ocupação dos funcionários
148
medições incrementando variáveis
As variáveis (tempo de fila, tempo de atendimento,
tempo no sistema, nível de ocupação dos
funcionários) que nos auxiliarão a determinar se
estamos nos aproximando do objetivo da simulação
serão incrementadas ou decrementadas na medida
em que os eventos ocorrerem.
149
pressupostos
Quais pressupostos assumimos
inicialmente?
modelagem das manutenções de maior
impacto na ocupação do setor
simplificação nos locais
simplificação na qualificação dos
funcionários
Regime: permanente
150
Atividade 5
151
Modelagem de sistemas: SIMULAÇÃO
Etapas da simulação
Parte IV
Passos de uma simulação:
Objetivos do estudo
1. Formular o problema
e planejar o estudo
determinar o impacto do tempo de atendimento do
caixa sobre o tamanho da fila
Aspectos específicos de interesse
tempo de atendimento
tempo de espera na fila
tamanho da fila
Foco/detalhamento
exploratório – clientes em geral; caixa multifuncional
153
1.
Formular o problema
e planejar o estudo
Havendo sistemas alternativos a serem estudados
critérios para avaliar alternativas
Ex.: Alternativa A: atendente usa software de apoio
Alternativa B: atendente usa somente calculadora
critério: relação entre a redução do tempo de fila e o
investimento feito; relação entre redução do tempo de
fila e perda de flexibilidade
Recursos:
pessoas envolvidas
custo
tempo
restrições
154
Passos de uma simulação:
1.
Formular o problema
e planejar o estudo
2.
Coletar dados e
definir um modelo
155
2.
Coletar dados e
definir um modelo
Obter dados e informações existentes
Procedimentos operacionais
Tempos de atendimento
Tempos entre chegadas
Tempos de espera em filas
Distribuições de probabilidade
156
2.
Coletar dados e
definir um modelo
DICA:
Na definição do modelo:
Comece com um modelo moderadamente detalhado
Aumente a sofisticação do modelo somente se
necessário
157
2.
Coletar dados e
definir um modelo
M/M/1
chegada
IC
fila
atendimento
TF NF
TA NA
saída
sistema
TS NS
158
Como modelar os tempos entre
chegadas?
Qual a distribuição de probabilidade adequada para
representar os tempos entre chegadas?
159
Modelagem de tempos entre chegadas (T)
t1=3s
t2=8s
A1=5s
t3=15s
A2=7s
Usamos a variável aleatória A para representar os tempos entre chegadas
160
Modelagem de tempos entre chegadas
Distribuição de probabilidade - Exponencial
a(x)= . e -x
. e -x
E(A)=1/
é a taxa de chegadas
é a média dos tempos
entre de chegadas
var(A)=1/ (2) é a variância dos tempos
entre de chegadas
x
161
Tempo de atendimento
O tempo de atendimento também pode ser modelado
como uma exponencial.
Outras distribuições de probabilidade:
Law e Kelton (1991)
Prado (2004)
Harrel et al. (2002)
162
2.
Coletar dados e
definir um modelo
M/M/1
Chegada:
exponencial
com IC = 1min
Atendimento:
c=1 atendente
exponencial
NA=1
com TA = 0,5 min
e =2 atendimentos /min
e =1chegada /min
IC
fila
atendimento
TF NF
c TA NA
sistema
TS NS
saída
163
Passos de uma simulação:
1.
Formular o problema
e planejar o estudo
2.
Coletar dados e
definir um modelo
3.
O modelo é
válido?
não
sim
164
3.
O modelo é
válido?
Determinar o quanto o
modelo conceitual é uma
representação razoável
do sistema real que está
sendo modelado
165
O modelo é
válido?
3.
Antes de expor
o modelo,
o analista
deve se
perguntar:
O modelo é:
correto?
completo?
consistente?
166
Na seqüência, perguntar: o modelo parece razoável
àqueles que lidam com o sistema?
Envolver pessoas familiarizadas com a
operação
Interagir com os futuros usuários
167
O modelo parece razoável àqueles que lidam
com o sistema?
conversar com os “experts” no sistema
gerentes de planta
operadores de máquina
vendedores
engenheiros
além das informações objetivas:
motivação e comprometimento
168
Outras fontes:
analisar teorias existentes
literatura, artigos, dissertações, etc
resultados de estudos similares
outras empresas da corporação
169
Experiência e intuição:
revalidar os objetivos!
realimentação!
continuamente!
Um excelente modelo
com objetivos mal
definidos
não terá nenhum uso!
Estudar o tamanho da fila (espaço) ou o tempo na
fila (satisfação do cliente)?
Manter indicadores de requisitos mínimos, se for o
caso!
170
3.
O modelo é
válido?
Testar distribuições de probabilidade
TESTAR OS PRESSUPOSTOS NA PRÁTICA!
Análise de sensibilidade a:
parâmetro de entrada
distribuição de probabilidade
nível de detalhamento
171
Passos de uma simulação:
1.
Formular o problema
e planejar o estudo
2.
Coletar dados e
definir um modelo
3.
O modelo é
válido?
4.
Construir um
programa
computacional e
verificar
não
sim
172
4.
Construir um programa
computacional e verificar
Codificação ou programação do modelo
Transcrição: modelo comunicativo para
programa escrito em linguagem de programação
O programa deve ser testado; depuração do
código do programa
173
4.
Construir um programa
computacional e verificar
Tipos de linguagens
174
Linguagens de programação em geral
FORTRAN, C, PASCAL
esforço para
construção de
modelos
conhecimentos
profundos de
programação
maior flexibilidade
175
Linguagens específicas de simulação
GPSS, SIMSCRIPT, SIMAN, SLAM
facilitam a tarefa do desenvolvedor
rotinas de simulação prontas
blocos de código são similares a comandos
facilmente reutilizáveis
programas menores de forma rápida
176
Softwares de simulação específicos
ARENA, AUTOMOD, PROMODEL
construção de modelos através de uma forma
gráfica e de fácil manuseio
menor flexibilidade do que as linguagens de
programação
177
Características desejáveis num software:
Gerais:
Flexibilidade
Fácil desenvolvimento do modelo
ex.: tipos de atributos aplicáveis às
entidades
verificação de consistência e avisos
ajuda on line
sugestões de alterações
Rápida execução
178
Características desejáveis num software:
Gerais:
Máximo tamanho e complexidade
nro de entidades, nro de
atributos, relacionamentos, etc.
Compatibilidade com vários tipos de
hardware
Capacidade de “conversar” com
outros softwares
179
Animação:
Compreensão visual
Conhecimentos compartilhados
Treinamentos
180
Capacidade Estatística:
variedade de distribuições probabilísticas
Exponencial, Normal, Triangular, etc
Gerador de números aleatórios
Replicações usando diferentes números
aleatórios
Determinação de tempo de warm up
181
Relatórios de saída - documentação:
pacote com indicadores estatísticos
comumente usados: utilizacão, tempo de fila,
etc
possibilidade de personalizar e ampliar os
relatórios
visualizações gráficas
exportar dados
182
Passos de uma simulação:
1.
2.
Formular o problema
e planejar o estudo
Coletar dados e
definir um modelo
4.
Construir um programa
computacional e verificar
5.
Rodar simulações piloto
6.
Modelo
é válido?
sim
3.
O modelo é
válido?
sim
não
não
5.
Rodar simulações piloto
6.
Modelo
é válido?
não
sim
Esta segunda etapa de validação vem testar
quantitativamente os pressupostos assumidos
1. ANÁLISE DE SENSIBILIDADE
Variar parâmetro de entrada
Observar a saída
184
5.
Rodar simulações piloto
6.
Modelo
é válido?
não
sim
2. REPRESENTATIVIDADE
Saída esperada do processo real
Observar a saída simulada
Sobreposição:
Modelo 1 – processo existente – validação
Sobrepõe-se a modificação
Modelo 2 – processo a ser simulado
185
5.
Rodar simulações piloto
6.
Modelo
é válido?
não
sim
3. TESTE Turing
Saída esperada do processo real
Saída simulada
Especialistas conseguem diferenciar?
186
5.
Rodar simulações piloto
6.
Modelo
é válido?
não
sim
4. TESTES de CAMPO
Modelo de simulação
Testes de campo/
cenários específicos
Há convergência?
187
Passos de uma simulação:
1.
2.
Formular o problema
e planejar o estudo
Coletar dados e
definir um modelo
4.
Construir um programa
computacional e verificar
5.
Rodar simulações piloto
6.
Modelo
é válido?
não
sim
3.
O modelo é
válido?
não
7.
Projetos de Experimentos
8.
Rodar as simulações
9.
Analisar saídas
10.
Documentar/ apresentar
resultados
sim
7.
Projetos de Experimentos
É uma técnica desenvolvida para auxiliar no planejamento de
experimentos, que apóia-se fortemente na teoria
estatística.
Os experimentos tradicionais, quando querem investigar o
efeito de um fator (temperatura, pressão, tipo de
material) sobre uma determinada resposta (resistência da
barra):
- variam um fator por vez (temperatura), mantendo os
demais fixos (pressão e tipo de material);
- medem as mudanças na resposta (resistência).
189
7.
Projetos de Experimentos
Os Projetos de Experimentos conseguem, variando mais de
um fator por vez, medir os seus efeitos sobre a resposta.
Vantagens em relação aos experimentos tradicionais:
- menor número de ensaios
- confiança estatística determinada
- identificação de interações entre os efeitos!
Em simulação, ainda auxilia a economizar tempo
computacional. Então, permitem comparar cenários
diferentes com economia!
190
7.
Projetos de Experimentos
Exemplo: Desejamos investigar o efeito do tipo de fila e
do gênero de atendente sobre o tempo médio de
atendimento.
fator B
Gênero do atendente
homem
mulher
fator A
tipo de
Fila
única
múltipla
191
Como funcionam os Projetos de
Experimentos?
1. Ao medir os tempos de atendimento para cada uma das
combinações, observo os seguintes valores:
fator B
Gênero do atendente
homem
mulher
fator A
tipo de
Fila
única
20 min.
30 min.
múltipla
40 min.
52 min.
192
fator B
Gênero do atendente
Estudo os efeitos:
homem
mulher
fator A
tipo de
Fila
única
20 min.
30 min.
múltipla
40 min.
52 min.
Observando o efeito do tipo de fila:
t múltipla – t única =
40 52 20 30
2
2
= 21 min.
Observando o efeito do gênero do atendente:
t mulher – t homem =
30 52 20 40
2
2
= 11 min.
193
E posso descobrir interações!
VEJAMOS OUTRO EXEMPLO: Desejamos investigar
o efeito da idade e do gênero do atendente sobre o tempo
médio de atendimento.
fator B
gênero do atendente
homem
fator A
idade do
atendente
mulher
adulto
jovem
20
40
terceira
idade
50
12
194
fator B
gênero do atendente
Interações:
homem
fator A
idade do
atendente
mulher
adulto
jovem
20
40
terceira
idade
50
12
terceira idade - adulto jovem = 50 12 20 40 1 min .
2
2
mulher - homem =
40 12 20 50
9 min .
2
2
Porém:
195
fator B
gênero do atendente
Interações:
homem
fator A
idade do
atendente
mulher
adulto
jovem
20
40
terceira
idade
50
12
terceira idade - adulto jovem = 50 12 20 40 1 min .
2
2
mulher - homem =
40 12 20 50
9 min .
2
2
Poderia parecer que a idade não afeta o tempo de atendimento.
Porém, o que acontece é que a idade tem efeitos fortes MAS diferentes
para homens e mulheres.
196
fator B
gênero do atendente
Interações:
homem
fator A
idade do
atendente
mulher
adulto
jovem
20
40
terceira
idade
50
12
Observe:
Para mulheres:
terceira idade – adulto jovem = 12 – 40 = -28 min.
Para homens:
terceira idade – adulto jovem = 50 - 20 = 30 min.
Isso significa que há uma interação entre idade e gênero; ou seja, o
efeito da idade sobre o tempo atendimento é diferente para os
197
diferentes gêneros.
Lembre:
PARÂMETROS DO PROCESSO: aqueles que podemos
variar no processo
FATORES CONTROLÁVEIS: aqueles que vamos variar e
cujos efeitos vamos estudar
FATORES FIXOS – aqueles que manteremos constantes
RUÍDOS – não temos domínio; apenas registramos
198
Exemplos de fatores cujos efeitos costumamos
estudar:
Na linha de produção:
Fatores
Número de máquinas (capacidade)
Disciplina da fila
Tamanho dos estoques intermediários
Posição dos estoques intermediários
Velocidade das esteiras
Regras de priorização de peças/clientes
Respostas
Ritmo de produção
Tempo de atravessamento
Utilização dos recursos
Percentual de refugos
Estrutura de hardware:
Fatores
Número de terminais
Capacidade dos discos rígidos
Velocidade da CPU
Velocidade dos drives de acesso
Respostas
Tempo de resposta aos usuários
Utilização da CPU
Utilização do disco
Confiabilidade do sistema (tempos entre falhas)
199
Aspectos a considerar:
1. ORTOGONALIDADE
2. SIMETRIA
3. TESTAR EXTREMOS
4. VARIABILIDADE NATURAL DO PROCESSO
5. VARIÁVEIS DE RESPOSTA DE INTERESSE e
6. MONITORAMENTO DE VARIÁVEIS DE RESPOSTA
REQUERIDAS
200
ATIVIDADE 6:
Esboçando o seu Projeto de experimento:
Escolher o processo.
Listar possibilidades de:
Parâmetros de processo:
Fatores controláveis:
Fatores constantes ou fixos:
Ruídos:
Faça um esboço de experimento similar àquele dos
exemplos, para o seu caso. Determinar níveis a ser
ensaiados.
201
Passos de uma simulação:
1.
2.
Formular o problema
e planejar o estudo
Coletar dados e
definir um modelo
4.
Construir um programa
computacional e verificar
5.
Rodar simulações piloto
6.
Modelo
é válido?
não
sim
3.
O modelo é
válido?
não
7.
Projetos de Experimentos
8.
Rodar as simulações
9.
Analisar saídas
10.
Documentar/ apresentar
resultados
sim
202
Ainda é preciso definir:
As condições iniciais da simulação:
São os valores das variáveis de estado e dos
medidores estatísticos no início da simulação.
Elas geram impactos sobre o resultado final.
Veja o caso:
Desejamos estimar o tempo médio de espera
dos clientes num banco, no horário do meiodia às 13h.
203
Condições iniciais da simulação:
O que ocorre se???
Damos a partida nesta simulação considerando
que a variável “número de clientes no sistema”
está zerada e...
definimos como hora de início da simulação
“meio-dia”?
As nossas estimativas serão tendenciosas para
menos!
204
O que fazer então?
Abordagem 1 Damos a partida na simulação considerando que
a variável “número de clientes no sistema” está
zerada, mas iniciamos a simulação com o relógio
marcando 9h da manhã (abertura do banco).
Como estamos interessados nos tempos de
espera somente entre meio-dia e 13h, somente as
esperas dos clientes atendidos neste período
serão contabilizadas.
205
Desvantagem da abordagem 1:
Estaremos rodando a simulação durante 4 horas
(tempo computacional proporcional)
Mas, somente uma hora servirá para estimarmos os
atrasos
Usaremos 3 horas de simulação somente para o
“warm up” do sistema
Desperdício de tempo computacional!
206
Abordagem 2:
Coletar dados sobre o número de clientes
presentes no banco ao meio-dia (durante vários
dias)
Será modelada a distribuição de probabilidade
Assume-se que os clientes presentes no banco
iniciaram seu atendimento ao meio-dia
Embora alguns já houvessem iniciado o seu
atendimento, o erro ficará diluído ao longo de
uma hora de simulação e será desprezível.
207
Como definir o tempo de warm up:
Técnicas e algoritmos
Graficamente
Através do acompanhamento numérico da estabilização
das estimativas
Através da observação de um comportamento conhecido
Regras:
capaz de abranger, por várias vezes, a ocorrência dos tipos de
variações que ocorrerão no ambiente (ex.: quebra de máquina)
208
Número de rodadas
Rodadas são necessárias para capturar a aleatoriedade
Decisão em função da variabilidade presente na modelagem
do fenômeno
Validação através de comportamentos conhecidos
209
Duração de cada rodada
A duração de cada rodada deve ser
suficientemente grande para que, mesmo os
fenômenos com menor probabilidade (nas
distribuições) tenham chance de ocorrer.
210
ATIVIDADE 7 -
Para o seu experimento, analise:
Qual o tempo de warm up?
Qual a duração de cada rodada?
211
8.
Rodar as simulações
9.
Analisar saídas
10.
Documentar/ apresentar
resultados
As simulações geram os dados de desempenho
do sistema
Técnicas estatísticas são utilizadas para analisar
os dados de saída
Documentar as premissas do modelo e da
programação computacional pois haverá mais de
uma simulação
212
Aspectos da simulação que requerem cuidados!
Desenvolver modelos para
sistemas complexos:
Caro
Demorado
213
Armadilhas a evitar em simulação:
Utilizar a simulação
quando outra técnica é a
mais adequada
Definir pouco claramente os objetivos no início do
estudo
Nível de detalhamento do modelo inadequado
214
Armadilhas a evitar em simulação:
• falhas de comunicação com
os gestores durante o estudo
• má compreensão da
simulação por parte dos
gestores
215
Armadilhas a evitar em simulação:
• Olhar o estudo de simulação
como um exercício de utilização
de software em computador
• Não incluir na equipe pessoas com
conhecimento de estatística e metodologia da
simulação
216
Armadilhas a evitar em simulação:
• adotar software
• usar inadvertidamente um
de simulação
inadequado
software dada a facilidade
de interação e por não
requerer programação
• não recolher dados de
boa qualidade no sistema
real
217
Armadilhas a evitar em simulação:
• não incorporar
corretamente as fontes de
aleatoriedade do sistema
real
• escolher arbitrariamente
distribuições de probabilidade para
os dados
218
Atenção!
Modelo não validado
Resultados conduzem a erros !
219
Aspectos da aleatoridade que requerem
atenção !
Cada rodada de um modelo estocástico
de simulação produz apenas
estimativas
São necessárias várias rodadas para
gerar estimativas razoáveis!!
220
Atenção!
Relatórios com resultados numéricos
Modelo animado
Confiar
incondicionalmente
???!
221
Atividade 8
222
Modelagem de sistemas: SIMULAÇÃO
Construindo modelos
Parte V
Mapeamento da produção
foco 1 da produção – O QUE É FEITO
foco 2 da produção – QUEM FAZ
Melhoria com foco 1 - O QUE É FEITO - conduz a melhores
resultados!
Porque:
- está diretamente associada ao objetivo da produção
- está associada ao fluxo da produção
lead time
tempo de resposta
identificação dos gargalos
224
Em serviços:
Atenção!!!
Em serviços, o foco 1 da produção – O QUE É FEITO é um ser humano.
O ser humano “sofre” processamentos.
Foco principal, em serviços, é a pessoa que está sendo
atendida.
225
Fluxograma de processo
Categoria
Símbolo
Descrição
Processamento
o produto sofre modificação: usinagem, furação, solda, etc
Contato com o
Uma ocasião de interação entre o servidor e o cliente
cliente
Transporte
Os produtos ou serviços ou informações percorrem uma distância
Espera do processo
o lote inteiro espera para ser processado
ou entre processos
Espera pelo
enquanto uma peça do lote de 100 está sendo processada, as 99 demais
tamanho do lote
Inspeção
esperam
Inspeção
226
M/M/1:
Distância
Tempo
em
em
metros
minutos
6
Descrição do Processo
0,4
Cliente vai até a fila
17
Cliente espera na fila
0,1
Cliente vai até o caixa
14
Cliente é atendido
10
0,5
Cliente sai
20
32
4
Totais
Símbolos gráficos
1
3
1
44 % do tempo foi gasto em atendimento
56 % do tempo foi gasto em espera e deslocamentos
227
Outras representações:
Davis, Chase e Aquilano
Atividades
ou operações
A
pesar
empacotar
espera
Filas ou
esperas
Qualidade A ou B?
fritar
salgar
pesar
empacotar
B
Nó de decisão
Fluxo de
materiais/cliente
228
Quanto às representações:
mostram o fluxo da produção
incluem as esperas
omitem as esperas
relacionam ao layout e aos deslocamentos
não relacionam ao layout e aos deslocamentos
Quanto aos elementos que fluem:
unidades
lotes
sofrem agrupamento
sofrem desagrupamento
229
Quanto aos recursos:
capacidades
utilizações (quebras, tempos de manutenção, etc)
aplicabilidade e prioridades de uso, se houver
requisitos de operação (equipamentos e pessoas que provém
assistência)
Quanto aos tempos:
há facilidade de observação e coleta?
a variabilidade precisa ser modelada ou posso usar médias?
turnos de trabalho?
dias úteis?
230
_______________________________________
_______________________________________
_______________________________________
_______________________________________
_______________________________________
_______________________________________
_______________________________________
_______________________________________
_______________________________________
_______________________________________
231
Atividade 9
232
Modelagem de sistemas: SIMULAÇÃO
Usando um software
Elementos básicos
Parte VI
233
Promodel – Elementos básicos
Usaremos o software Promodel exclusivamente
com o intuito de ilustrar e exercitar a aplicação
dos conceitos teóricos apresentados
Lembre: os conceitos são aplicáveis utilizando-se
qualquer recurso de simulação
234
MÓDULO 1 – M1_FILA
1. Precisamos retirar dinheiro no quiosque de caixas automáticos.
Sabemos que:
chegam = 20 clientes por hora
a taxa de atendimento é = 25 clientes por hora (TA=2,4 min)
o tempo médio que cada cliente gasta no sistema é TS = 0,3 horas
(18 min.)
a) Qual a intensidade de tráfego ()? = 0,8
b) Qual o tamanho médio da fila que vamos encontrar (NF)? NF = 5,2
clientes
c) Qual o número médio de clientes no quiosque (NS)? NS = 6 clientes
d) Qual o número médio de clientes sendo atendidos (NA)? NA = 0,8 clientes
235
1. Criando um novo arquivo:
Selecionar File
Selecionar New
Abre-se a janela
General
Information
Em Title, digite o
nome do arquivo:
M1_FILA
OK
236
2. Construindo os LOCAIS ou LOCATIONS
Locais ou locations representam os
lugares para onde as entidades são
encaminhadas para serem
processadas ou armazenadas (ou
outras atividades, tomadas de
decisão).
Ex.: locais de entrega, locais para
armazenagem, locais de
processamento
237
O editor de LOCAIS consiste de 3 janelas
Janela Graphics
Tabela Edit
Janela de layout
238
Observe que:
Quando selecionado insere novos locais
Desmarcado acrescenta uma associação destes
objetos aos locais selecionados
Count - contador
Gauge/Tank - Medidor ou reservatório
Conveyor/Queue - Fila ou esteira transp.
Label - Rótulo
Status light – muda de cor confome status
Entity Spot – plataforma
Region -região
Criando LOCAIS
Na janela Graphics, clicar com o botão da
esquerda do mouse no ícone desejado
A seguir, clicar com o mesmo botão na
janela Layout
Automaticamente surgirá um registro na
tabela Edit
Obs.: Posso usar o botão EDIT na janela
Graphics para modificar o ícone
240
Criando o LOCAL de chegada
Botão da
esquerda
do mouse
241
LOCAIS
Icon –ícone gráfico
Name – nome do local
Cap – representa o número de entidades que o local é capaz de processar
por vez
Unit – um local pode ser do tipo multi-local, ou seja, vários locais com as
mesmas características
Dts – define tempos de paradas, setup, etc
Stats – especifica o tipo de estatística que será coletado para o local
None - nenhuma
Basic – apenas tempo médio no local e utilização
Time series – coleta estatísticas básicas e, também, rastreamento dos dados
coletados no local ao longo do tempo
Regras – define: a) de que modo o local selecionará a próxima entidade a
entrar; b) como múltiplas entidades se enfileiram para sair; c) como uma
entidade entrante escolhe entre multi-locais.
Notes - comentários.
242
Criando uma FILA
•Botão da esquerda
do mouse em
Graphics e depois
em Layout
•Arrasta do ponto
de início até o
ponto de fim da
fila e então duplo
click
243
Criando uma FILA
Com o mouse
sobre a fila,
clicar no botão
da direita, e
abre a janela a
seguir...
244
Criando uma FILA
• Com o mouse sobre a
fila, clicar no botão da
direita, e abre a janela
a seguir...
• Selecionar Queue e
OK
245
Criando o LOCAL mesa (para o atendente)
246
3. Construindo ENTIDADES ou ENTITIES
Tudo o que é processado no
modelo é chamado de
ENTIDADE
Ex.: pessoas sendo atendidas,
chamados telefônicos, peças, etc.
Em nosso exemplo da fila, os
clientes são entidades.
247
3. Construindo a ENTIDADE cliente
Clicar (na janela Entity
Graphics) sobre o ícone
desejado
O ícone vai aparecer
pequeno
Arraste a barra para
cima e ele será
ampliado
248
Editando a ENTIDADE cliente
Você arrastou a
barra para cima e
o ícone foi
ampliado
Agora clicar em
EDIT para
modificar o ícone
249
Editando a ENTIDADE cliente
Ao clicar em EDIT para
modificar o ícone, abriu a janela
Library Graphic
Clicar em girar para fazer o
cliente olhar na direção da mesa
Clicar em OK
A ENTIDADE cliente somente
irá aparecer na janela Layout ao
rodar a simulação
250
5. Criando RECURSOS
Um RECURSO pode ser uma
pessoa, um equipamento ou qualquer
outro dispositivo usado para uma ou
mais das seguintes funções:
trasnportar entidades
auxiliar na realização de operações
sobre as entidades num dado local
realizar manutenções em outros
recursos
Podem ser estáticos ou dinâmicos
251
5. Criando RECURSOS
Selecione um
ÍCONE na
janela Resource
Graphics
Amplie e edite
do mesmo
modo que fez
com a entidade
Em seguida
clique em ADD
e clique na
janela Layout
6. Criando PROCESSAMENTOS
Os PROCESSAMENTOS definem o
roteamento das entidades através do sistema
e as operações que sofrerão em cada local.
Uma vez que as entidades são introduzidas
no sistema pelas CHEGADAS
(ARRIVALS), tudo o que irá acontecer a
elas enquanto existirem será especificado no
PROCESSAMENTO (PROCESSING)
253
Quatro janelas serão usadas para criar PROCESSAMENTOS:
Process, Routing, Tools e Layout
Primeiro passo: vamos ligar a chegada à fila; com a caixa New
Process selecionada, clicamos na chegada e arrastamos até a fila.
A janela Process define o que será feito:
A entidade cliente que está no Local Chegada não sofrerá nenhuma
operação neste local
255
A janela Routing define o que deve ser atendido para que o
cliente se mova da chegada para a fila:
A entidade cliente saiu (do Local Chegada).
O seu destino é o Local fila.
Aparece a regra default de escolha de rota: FIRST 1. Esta regra
seria necessária se houvesse mais de um local para onde a entidade
pudesse ser destinada.
Move Logic: MOVE FOR 0 (apenas para ele não gastar tempo no
deslocamento); (obs.: neste caso ele faria automaticamente);
Na fila:
257
Da fila para a mesa:
Para que o cliente passe da fila para a mesa, a condição é que o
atendente esteja ocioso:
Move logic: IF atendente = 0 THEN {MOVE FOR 0}
258
Da mesa para a saída!
Clicar sobre a mesa e arrastar até ROUTE TO EXIT
259
Processamento na mesa: USE atendente FOR 2.4
Para rotear o cliente para a saída: MOVE FOR 0
cliente
260
7. Criar CHEGADAS ou ARRIVALS
Especificam como as entidades
entram no sistema
261
7. Criar CHEGADAS ou ARRIVALS
Entity: cliente
Location: chegada
Qty Each: nro de entidades que entram por vez
First time: instante da primeira chegada
Ocurrences: total de chegadas
Frequency: intervalo entre chegadas
Logic: serve para diferenciar as entidades por
atributos quando for o caso
Disable: serve para desabilitar a entrada, simulando a
interrupção da chegada de clientes
262
8. Rodando a simulação
Menu: Simulation
Selecione: Options
Selecione: Time Only
Determine a precisão
Não selecione warm up
Marque 1 hora de
simulação
Escolha 1 replicação
Run
263
Observe:
Arrastando esta
barra você consegue
acelerar ou retardar
a velocidade da
simulação
O relógio da
simulação é
visível
Selecione Yes
para ver os
resultados
Resultados: sem warm up – 1h simulação – 1 rodada
Locations:
mostra
estatísticas
sobre os
locais
Compare com
os resultados
analíticos
General: mostra data em
que foi rodada a
simulação, nome do
modelo e nome do
arquivo
265
Resultados: com warm up=1h
1h simulação – 1 rodada
Resultados: com warm up=1h - 4h simulação – 1 rodada
266
Resultados: com warm up=1h
50 h simulação – 1 rodada
Resultados: com warm up=1h - 100 h simulação – 1 rodada
267
MÓDULO 2 – M2_TELEFONE
Exemplo de um sistema M/M/1/G/ /
A cabine telefônica:
as chegadas ocorrem de acordo com uma distribuição
exponencial com taxa = 0,1 pessoas/min;
a duração média dos telefonemas é de TA = 3
minutos e também segue uma distribuição
exponencial.
Qual a probabilidade de uma pessoa chegar à cabine
e não precisar esperar? 70%
b) Qual o tempo médio na fila? 1,28 min
c) Qual seria o tempo médio na fila se a taxa de
chegadas fosse = 0,16 pessoas/min?
Aproximadamente 3 min.
a)
268
MÓDULO 2 – M2_TELEFONE
Exemplo de um sistema M/M/1/G/ /
d) Calcule o nro médio de clientes na fila (formulário
p.34) e compare com o resultado encontrado. Quanto
tempo de simulação foi necessário para convergirem
os valores?
e) Faça o mesmo para o tempo médio no sistema.
269
SIMULAÇÃO:
Distribuições de Probabilidade
Profa. Giovana Pasa, Dra.
[email protected]
Abordagem 1: Ajustar uma distribuição teórica
É a abordagem mais favorável:
distribuições conhecidas
bem comportadas
permite gerar estimativas (estender um pouco
além dos dados originais)
suaviza os ruídos
sustentada por conhecimento do fenômeno
físico
sintetiza a informação vinda dos dados
271
Distribuições
Parâmetros:
de localização ()
1
2
272
Distribuições
Parâmetros:
de escala ()
1
2
273
Distribuições
Parâmetros:
de forma ()
Weibull
=0,5
=1
Weibull
=1
=1
Weibull
=2
=1
274
Distribuições úteis nas modelagens
Uniforme:
usada para gerar outras distribuições
f(x)
1/(b-a)
a
b
275
Distribuições úteis para modelagem:
Exponencial ():
tempos entre chegadas
de clientes num
sistema (quando estas
ocorrem em uma taxa
constante)
f(x)
=1
x
276
Gama (, )
tempo para completar
uma tarefa
(atendimento de um
cliente; reparo de uma
máquina)
f(x)
=2
=1
x
277
Weibull (, )
tempo para completar
uma tarefa;
tempo até a falha de
um equipamento
f(x)
=2
=1
x
278
Normal (,)
erros de vários tipos,
por exemplo, na
execução de uma peça
com dadas
especificações
dimensionais;
quantidades que
resultam da soma de
outras quantidades
(teorema do limite
central); distribuição de
médias
f(x)
x
279
Lognormal (,2)
tempo para completar
uma tarefa;
quantidades que são o
produto de um grande
número de outras
quantidades
f(x)
x
280
Outras distribuições contínuas:
Beta (1, 2):
usada como aproximação inicial na ausência de
dados;
proporção de itens defeituosos num embarque;
tempo para completar uma tarefa
Pearson tipo V (, ):
tempo para completar uma tarefa
Pearson tipo VI (1, 2, ):
tempo para completar uma tarefa
281
Outras distribuições contínuas:
Triangular (a, b, c):
usada como aproximação inicial na ausência de
dados
f(x)
2/(b-a)
a
c
b
x
282
Distribuições discretas:
Bernoulli (p):
Ocorrência aleatória com duas saídas possíveis
p(x) = 1-p se x=0
p(x) = p
se x=1
p(x) = 0
em qualquer outra situação
Binomial (t,p)
número de itens defeituosos em um lote de tamanho t
número de itens que compõem lotes de tamanhos
aleatórios (tamanhos dos grupos de pessoas num evento)
número de itens demandados de um estoque
283
Distribuições discretas:
Geométrica (p):
Número de itens inspecionados antes de encontrar
o primeiro defeituoso
Número de itens que compõem lotes de tamanhos
aleatórios
número de itens demandados de um estoque
Binomial negativa (s,p)
número de itens bons inspecionados antes de
encontrar o s-ésimo item defeituoso
número de itens que compõem lotes de tamanhos
aleatórios
número de itens demandados de um estoque
284
Poisson com parâmetro t
Modelagem do número de chegadas Nt
é a taxa de chegadas
E(Nt)=t
é a média do número de chegadas no intervalo t
var(Nt)= t
é a variância do número de chegadas no intervalo t
P ( N t n)
e
t
t
n!
n
(n=0,1,2,…)
285
Abordagem 2: Ajustar uma distribuição
empírica
Aplicação:
Há situações para as quais nenhuma distribuição
teórica se ajusta bem!!!
Aspectos críticos a considerar:
apresenta irregularidades de comportamento,
associadas principalmente a situações em que
dispomos de poucos dados
não permitem extrapolar os limites da observação;
isto é crítico, pois estimativas em simulação
dependem também da chance de ocorrência de
eventos extremos
286
Bibliografia
Law, Averill e Kelton, W. Simulation modeling and
analysis. New York: MacGraw Hill, 1991.
Winston, Wayne. Introduction to probability models.
Belmont: Thomson, 2004.
Winston, Wayne. Operations research. Belmont:
Thomson, 1994.
Harrel, Charles R. Simulação: otimizando os sitemas.
São Paulo: IMAM, 2002.
Prado, Darci. Teoria das filas e da simulação. BH:
INDG, 2004.
287
AVALIAÇÃO
288
Aplicação
1) Delimite a extensão do sistema que você vai estudar.
2) Descreva o sistema (como ele ocorre na empresa).
3) Enuncie o objetivo prático da simulação.
4) Cite os eventos que você irá considerar na modelagem e o grau de detalhamento.
5) Explicite os pressupostos da sua modelagem.
6) Liste todos os elementos que você irá considerar no modelo (locais, entidades,
recursos, atributos, processamentos) e descreva a modelagem de cada um. Faça
considerações sobre as simplificações e pressupostos sobre cada um deles.
7) Sobre a coleta de dados:
i)
Quais as fontes usadas?
ii)
Qual o horizonte de tempo que você considerou na coleta? Ele é suficiente?
Contempla mesmo os eventos mais raros?
iii)
De quanto em quanto tempo ocorrem estes eventos mais raros? Quais são eles?
8) Sobre a validação?
i)
Descreva, passo a passo, o que você fez para validar o seu modelo.
ii)
Quem foi consultado?
289
9) Qual o tempo que você propõe para as rodadas? Por que?
10) Qual o tempo de warm up? Por que?
11) Observar a variabilidade natural do seu sistema. Fale a respeito dela em
relação a cada um dos elementos que você usou no sistema.
12) Quais medidores estatísticos você vai usar? Por que? De que modo eles
contribuem para alcançar o objetivo proposto.
13) Foi necessário reavaliar o objetivo da simulação, ao longo do caminho?
Sim? Não? Por que? O que foi modificado.
14) Você aprendeu algo a respeito do seu sistema, ao longo do esforço de
modelagem? Caso sim, o que aprendeu e em que passo(s) da simulação
isso ocorreu.
15) Faça um exercício de criatividade e imagine um ponto do seu sistema
onde você muda drasticamente uma característica (velocidade, tempo de
execução, tempo de atendimento, capacidade do recurso, número de
recursos, taxa de chegadas, etc). Proponha algo que seja impossível hoje,
tecnologicamente. Analise os resultados. O que você observou?
290
291