MODELAGEM DE SISTEMAS SIMULAÇÃO Profa. Giovana Pasa, Dra. [email protected] Parte I...
Transcript of MODELAGEM DE SISTEMAS SIMULAÇÃO Profa. Giovana Pasa, Dra. [email protected] Parte I...
MODELAGEM DE SISTEMAS MODELAGEM DE SISTEMAS
SIMULAÇÃOSIMULAÇÃO
Profa. Giovana Pasa, [email protected]
Parte I
Universidade Federal do Rio Grande do Sul
Programa de Pós Graduação em Engenharia de ProduçãoEscola de Engenharia
2
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)
3
What
O que precisamos fazer em nosso trabalho?
4
What
gerenciar decidir resolver problemas aprender domínio da situação
5
Why
Por que?
6
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
7
When
Quando?
8
When
hoje
futuro
9
How
Como?
Simulando:
realidade existente: cenários, decisões
projetos futuros: alternativas, impacto
técnica de aprendizagem organizacional
10
Where (Onde) MANUFATURA
11
Where (Onde) MANUFATURA
12
Where (Onde) SERVIÇOS
13
Where
Onde? Logística
14
15
Who
Quem? especialistas em modelagem usuários do sistema clientes do sistema especialistas em áreas complementares vocês
16
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
17
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
18
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.
19
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,…
20
Terminologia em TEORIA DAS FILAS
Descreve a forma como os clientes chegam no sistema.
processo de chegada
(arrival ou input process)
1 - Processo de chegada
•um cliente por vez•grupos
21
2 - 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
processo de atendimento
(service or output process)
22
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 – exponencialU - UniformeG – geral ou arbitrária
Mais adiante serão estudadas em detalhe.
23
3 – Número de atendentes
um atendente vários
24
4 - Regra ou disciplina da fila
descreve a ordem em que os clientes serão atendidos primeiro a chegar é o primeiro a ser atendido
FCFS – first come, first served
último a chegar é o primeiro a ser atendido LCFS – last come, first served
aleatório em relação à chegada prioridades por categorias
25
5 – Número máximo de clientes no sistema
limitado infinito
26
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
27
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:
28
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
29
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:
30
FILAS
SISTEMA
CLIENTE NA FILACLIENTE SENDO ATENDIDO
chegada fila atendimento saída
IC TF NF TA NA sistema
TS NS
31
FILAS
- taxa de chegada - taxa de
atendimento
chegada fila atendimento saída
IC TF NF c TA NA sistema
TS NS
IC – tempo médio entre chegadas IC=1/ TF - tempo médio na filaNF – número médio de clientes na filaTA - tempo médio de atendimento TA=1/NA – número médio de clientes em atendimentoTS - tempo médio no sistemaNS – número médio de clientes no sistema
32
Fórmulas básicas
chegada fila atendimento saída
IC TF NF c TA NA sistema
TS NS
NS = NF + NATS = TF + TANA = / = TA/ICNS = NF + NA = NF + (/ ) = NF + (TA/IC)
intensidade de tráfego = /
33
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 = . TSNA = . TA
34
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)?
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.)
a) Qual a intensidade de tráfego ()? = / =20/25=0,8
b) NF=?NF = . TF = 20. TF
TS = TF + TA ou TF = TS – TATA = 1/ = 1/25 = 0,04 hSubstituindo:TF = 0,3 – 0,04 = 0,26 h NF = . TF = 20. 0,26 = 5,2 clientes
36
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 = . TSNS = 20. 0,3 = 6 clientes
d) NA = . TATA = 1/ = 1/25 = 0,04NA = 20. 0,04 = 0,8 clientes
37
Ao chegar ao quiosque, o que veremos será:
38
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).
atividade 1 - lancheria
39
Teoria das Filas aplicada a sistemas M/M/1
Lembrando M/M/1:1 – processo de chegada exponencial2 – processo de atendimento exponencial3 – número de atendentes = 14 – regra da fila: geral5 – número máximo de clientes no sistema: infinito6 – tamanho da população: infinito
Solução analítica: fórmulas matemáticas usa o conhecimento sobre o
comportamento das distribuições
40
Propriedades de um sistema M/M/1/G/ /
2
NFfilanaclientesdemédionúmero
NSsistemanoclientesdemédionúmero
TFfilanamédiotempo
n
nPsistemanoclientesnexistiremdeeobabilidad
1Pr
1TSsistemanomédiotempo
41
Modelagem
Distribuição de probabilidade - Exponencial
x
a(x)= . e -x
. e -x
é a taxa de chegadas
E(A)=1/ é a média dos tempos entre de chegadas
var(A)=1/ (2) é a variância dos tempos entre de chegadas
1/
63%
42
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?
n
nPsistemanoclientesnexistiremdeeobabilidad
1Pr
43
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?
A probabilidade de encontrar a cabine disponível é de 70%.
7,03,0133,0
1,0
33,0
1,011
00
0
P
44
A cabine telefônica:
= 0,1 pessoas/min. TA = 3 minutos ou =0,33 telefonemas/min.
b) Qual o tempo médio na fila?
O tempo médio na fila é de 1,28 min.
28,11,03/13/1
1,0
TF
45
A cabine telefônica:
3/13/13TF
= 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?
O tempo médio na fila seria de 3 min. se o ritmo de chegada fosse de 0,16 clientes/minuto.
min/16,06/13/13/13 clientes
46
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.
47
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)?
48
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.
49
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)?
50
Dinâmica em grupo: Conservação dos fluxos
a.
b. CBA
51
Conservação dos fluxos
c.
d.
C
A1 3 3
B23= 1+ 2
BA12
2
C
3
3 2= 1- 3
53
Situação:
Agora, desejo modelar as filas com que me deparo ao longo do dia...
54
Agenda
ACORDAR5:45
6:00
6:15
melhor
intermediário
pior
CAFÉ0:07
0:09
0:11
melhor
intermediário
pior
ABASTECER CARRO0:12
0:15
0:18
melhor
intermediário
pior
55
Agenda
IR ATÉ NOVO HAMBURGO
melhor
intermediário
pior
REUNIÃO NA EMPRESA A
0:55
1:10
1:15
melhor
intermediário
pior
1:00
1:30
1:40
melhor
intermediário
pior
0:30
0:35
0:50
REUNIÃO NA EMPRESA B
56
Agenda
CAFÉ-Reuniãomelhor
intermediário
pior
PALESTRA2:00
2:20
3:00
melhor
intermediário
pior
0:40
0:50
1:00
melhor
intermediário
pior
0:50
1:30
2:00
VOLTAR A
PORTO ALEGRE
Agenda
IR ATÉ NOVO HAMBURGO
melhor
intermediário
pior
REUNIÃO NA EMPRESA A
0:55
1:10
1:15
melhor
intermediário
pior
1:00
1:30
1:40
melhor
intermediário
pior
0:30
0:35
0:50
REUNIÃO NA EMPRESA B
ACORDAR5:45
6:00
6:15
melhor
intermediário
pior
CAFÉ0:07
0:09
0:11
melhor
intermediário
pior
ABASTECER CARRO
0:12
0:15
0:18
melhor
intermediário
pior
CAFÉ-Reuniãomelhor
intermediário
pior
PALESTRA2:00
2:20
3:00
melhor
intermediário
pior
0:40
0:50
1:00
melhor
intermediário
pior
0:50
1:30
2:00
VOLTAR A
PORTO ALEGRE
melhor 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 00:50 01:30 02:00
PALESTRA 02:00 02:20 03:00
VOLTAR 00:40 00:50 01:00
TOTAL 06:14 08:19 10:14
CHEGADA 11:59 14:19 16:29
CAFÉ-Reunião
58
Observe!
Trabalhamos com os cenários MELHOR, PIOR e INTERMEDIÁRIO.
Mas, qual a chance de cada um deles ocorrer?
Quais as implicações de desconsiderarmos estas “chances” ?
Agenda melhor 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 00:50 01:30 02:00
PALESTRA 02:00 02:20 03:00
VOLTAR 00:40 00:50 01:00
TOTAL 06:14 08:19 10:14
CHEGADA 11:59 14:19 16:29
CAFÉ-Reunião
melhor 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 00:50 01:30 02:00
PALESTRA 02:00 02:20 03:00
VOLTAR 00:40 00:50 01:00
TOTAL 06:14 08:19 10:14
CHEGADA 11:59 14:19 16:29
CAFÉ-Reunião
59
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
60
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).
61
A simulação…
É uma metadisciplina
Existe com a finalidade de auxiliar outras áreas
Instrumento
62
Por que usar simulação?
63
cenários melhor
intermediário
pior
horizonte longo
médio
curto
Objetivo: ....
MODELOS pressupostos/sofisticação
64
Fato: Existe um sistema real a ser estudado!Existe um sistema real a ser estudado!
Sistema
Macro-sistema:
- Banco
- Hospital
- Montadora de automóveis
- Universidade
- Restaurante
micro sistema:
- atendimento nos caixas
- emergência
- linha de pintura
- processo de matrícula
- cozinha
65
Como posso estudar um sistema?
Sistema
66
Experimento com o sistema real
Sistema
Experimento com o sistema real
Fórmula I agricultura
zoologia
67
Experimento com o sistema real
Sistema
Experimento com o sistema real
destrutivo
Pode ser inviável:
não existe (fase de projeto)
68
Experimentos com modelos físicos
Sistema
Experimento com um modelo do sistema
Modelo físico
Maquetes arquitetônicas
Túnel de vento
69
Experimentos com modelos físicos
Sistema
Experimento com um modelo do sistema
Modelo físico
Dificuldade de construir
Caro
Dificuldade de realizar experimentos sem destruí-lo
70
Sistema
Experimento com um modelo do sistema
Modelo matemático
Experimentos com modelos matemáticos
Funções lógicas:Se A=B e B=C, então A=C
Funções matemáticas:i=V/R
71
Modelo matemático com solução analítica
Sistema
Experimento com um modelo do sistema
Modelo matemático
Solução analítica
Equações de MRUV
Trajetória do robôCálculos estequiométricos
72
Modelo matemático com solução analítica
Sistema
Experimento com um modelo do sistema
Modelo matemático
Solução analítica
Solução analíticaé muito difícil ouinexiste
Relação custo-benefício não justifica o esforço
clima
Terminal portuário
Ex.:Teoria das filas
73
Modelo matemático com simulação
Sistema
Experimento com um modelo do sistema
Modelo matemático
Simulação
74
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
75
Razões para usar simulação - 1
Testar:
configurações diferentes do sistema
• layout funcional, layout em linha
A A B
CC
CDD
EE
EE
Funcional Linha
A B C D E
76
Razões para usar simulação - 1
Testar:
para uma configuração, condições alternativas
• capacidades de máquinas
•mix produtivos
A B
CC
DD
EE
A A B
CC
CDD
EE
EE
40%
60%
30%
50%
20%
77
Razões para usar simulação - 1
Avaliar desempenho
• lead time ou tempo de atravessamento
•índice de retrabalho
A B
CC
DD
EE
A A B
CC
CDD
EE
EE
95 min 108 min
25%33%
78
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
79
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
80
Razões para usar simulação - 4
• aproveita o conhecimento das pessoas envolvidas rotineiramente no processo
• consolida o conhecimento
• explicita
• permite compartilhamento
81
Razões para usar simulação - 5
• recupera a visão sistêmica dos processos
82
Razões para usar simulação - 6
• hardware: • capacidade de processamento
• custo viável
• software: • acessíveis
• amigáveis
83
Razões para usar simulação - 7
• Aprendizagem e inovação
• lápis e papel
• planilha eletrônica
Análises financeiras
Impacto gerencial
84
Razões para usar simulação - 8
• Cultura organizacional e comportamento
Perspectiva 1
85
86
87
88
89
90
O que foi possível aprender?
91
Razões para usar simulação - 8
Perspectiva 2
92
Razões para usar simulação - 8
• Cultura organizacional e comportamento
Perspectiva 2
93
Razões para usar simulação - 8
• Cultura organizacional e comportamento
Perspectiva 2
94
ONDE podemos usar simulação:
SERVIÇOS
95
Exemplo 1: Bancos
96
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
97
Exemplo 2: Hospitais
98
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
99
Exemplo 3: Manufatura
100
Lead time
Estoques intermediários
Turnos de trabalho
Alocação de operadores
Balanceamento da linha
Fluxo de pessoas
Fluxo de materiais
Layout
Dimensionamento de
capacidade
Mix de produção
Substituição de
equipamentos
Manutenção
Simulação da manufatura
101
Exemplo 4: Logística
102
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
103
Atividade 4
Aplicações
Parte III
Modelagem de sistemas: SIMULAÇÃO
Conceitos básicos e Terminologia
105
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.
106
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
107
• objeto de interesse Entidade
• propriedades de uma entidade Atributos
Ex.: BancoEntidade: cliente Atributo: profissão
Num sistema
108
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.
109
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.
110
Dinâmicos
Representam o sistema modificando-se no tempo.
simulação contínua simulação discreta ou de eventos discretos
111
Contínua
Variáveis de estado mudam continuamente ao longo do tempo
Simulação
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
112
Simulação contínua
Processos químicos, biológicos
Usam equações diferenciais – resolvidas com técnicas numéricas
113
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
114
Modelos de simulação
DETERMINÍSTICO
Valores exatos Simplificação
ESTOCÁSTICO
Valores estimados Variabilidade natural
do processo é modelada
115
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!
116
Os tempos de execução de uma atividade apresentam variabilidade...
Tempo medido
117
Tempo medido
118
Tempo medido
119
Tempo medido
120
Tempo medido
121
Tempo medido
122
O que esta figura lembra?
Tempo medido
123
Distribuição de probabilidade normal
124
Simulação de eventos discretos
EstáticaDinâmica
Contínua Discreta
Determinística Estocástica
Estuda sistemas estocásticos que mudamcom o passar do tempo
As mudanças ocorrem em momentos discretosdo tempo (eventos)
O evento muda o estado do sistema instantaneamente(variáveis de estado são atualizadas)!
125
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)
126
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
127
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
128
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
129
Avanço no próximo evento
ei – instante de ocorrência do evento i
ti – instante de chegada do cliente i
tfi – tempo que o cliente i fica na fila
tsi – instante em que o cliente i tem seu
atendimento concluído e sai
e0 e1 e2 e3 e4 e5tempo
0 t1 t2 ts1 t3 ts2
A1 A2 A3
S1 S2
Ai – tempo entre chegada dos clientes
i-1 e i
Ai = ti – ti-1
Si – tempo gasto atendendo o cliente i
tsi = ti + tfi + Si
130
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
e0 e1 e2 e3 e4 e5tempo
0 t1 t2 ts1 t3 ts2
A1 A2 A3
S1 S2
e0=0
131
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
e0 e1 e2 e3 e4 e5tempo
0 t1 t2 ts1 t3 ts2
A1 A2 A3
S1 S2
e1= t1
132
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)
e0 e1 e2 e3 e4 e5tempo
0 t1 t2 ts1 t3 ts2
A1 A2 A3
S1 S2
e1= t1
133
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
e0 e1 e2 e3 e4 e5tempo
0 t1 t2 ts1 t3 ts2
A1 A2 A3
S1 S2
e2= t2
134
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
e0 e1 e2 e3 e4 e5tempo
0 t1 t2 ts1 t3 ts2
A1 A2 A3
S1 S2
e3= ts1
135
Sintetizando: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
136
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
137
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.
início
0. Chama rotina inicialização
1. Chama rotina timing2. Chama rotina evento i Repetidamente
Programa principal
Rotina evento i
1. Atualiza o estado do sistema2. Atualiza os contadores estatísticos3. Gera eventos futuros e adiciona à lista de eventos
Simulaçãoconcluída ?
sim
1. Calcula estimativas2. Gera relatórios
Fim
Gerador relatórios
1. Determina o tipo do próximoevento i2. Avança relógio
Rotina timing
1
i
0
Rotina inicialização
2
não
1. Relógio ézerado2. Inicializa estado do sistema e contadores3. Inicializa listade eventos
FLUXO DE CONTROLE
Gerador de variáveis aleatórias
Biblioteca de rotinas
139
ATIVIDADE DE FIXAÇÃO
Objetivo da simulação: 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.
Quais entidades devem ser consideradas? solicitação de serviço de manutenção.
Há a necessidade de diferenciar as entidades através de atributos? sim
140
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?
141
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”.
142
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.
143
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
144
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.
Corretiva Preventiva Att1 1 2 40% 60% m1 m2 m3 m1 m2 m3 Att2 1 2 3 1 2 3 Nro de solicit.
16% 16% 8% 24% 24% 12%
145
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 m1 m2 m3 m1 m2 m3 Att2 1 2 3 1 2 3 Tempo de atend.
10 20 50 60 70 80
146
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
147
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
148
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
149
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.
150
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
151
Atividade 5
Parte IV
Modelagem de sistemas: SIMULAÇÃO
Etapas da simulação
153
Passos de uma simulação:1.
Objetivos do 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
Formular o problema e planejar o estudo
154
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
Formular o problema e planejar o estudo
1.
155
Formular o problema e planejar o estudo
1.
Coletar dados edefinir um modelo
2.
Passos de uma simulação:
156
Obter dados e informações existentes Procedimentos operacionais Tempos de atendimento Tempos entre chegadas Tempos de espera em filas
Distribuições de probabilidade
Coletar dados edefinir um modelo
2.
157
DICA:
Na definição do modelo: Comece com um modelo moderadamente detalhado
Aumente a sofisticação do modelo somente se necessário
Coletar dados edefinir um modelo
2.
158
Coletar dados edefinir um modelo
2.
chegada fila atendimento saída
IC TF NF TA NA
sistema
TS NS
M/M/1
159
Como modelar os tempos entre chegadas?
Qual a distribuição de probabilidade adequada para representar os tempos entre chegadas?
160
Modelagem de tempos entre chegadas (T)
t1=3s t2=8s t3=15s
A1=5s A2=7s
Usamos a variável aleatória A para representar os tempos entre chegadas
161
Modelagem de tempos entre chegadas
Distribuição de probabilidade - Exponencial
x
a(x)= . e -x
. e -x
é a taxa de chegadas
E(A)=1/ é a média dos tempos entre de chegadas
var(A)=1/ (2) é a variância dos tempos entre de chegadas
162
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)
163
Coletar dados edefinir um modelo
2.
Chegada:exponencialcom IC = 1min
e =1chegada /min
fila atendimento saída
IC TF NF c TA NA sistema
TS NS
M/M/1
Atendimento: c=1 atendenteexponencial NA=1com TA = 0,5 min
e =2 atendimentos /min
164
Formular o problema e planejar o estudo
1.
Coletar dados edefinir um modelo
2.
Passos de uma simulação:
3. O modelo é válido?
sim
não
165
3.O modelo é válido?
Determinar o quanto o
modelo conceitual é uma
representação razoável
do sistema real que está
sendo modelado
166
3.O modelo é válido?
O modelo é:
correto?
completo?
consistente?
Antes de exporo modelo, o analista deve se perguntar:
167
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
168
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
169
Outras fontes:
analisar teorias existentes literatura, artigos, dissertações, etc
resultados de estudos similares outras empresas da corporação
170
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!
171
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
3.O modelo é válido?
172
Passos de uma simulação:Passos de uma simulação:
Formular o problema e planejar o estudo
1.
Coletar dados edefinir um modelo
2.
3. O modelo éválido?
sim
não
Construir um programa
computacional e verificar
4.
173
Construir um programa computacional e verificar
4.
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
174
Tipos de linguagens
Construir um programa computacional e verificar
4.
175
FORTRAN, C, PASCAL
esforço para construção de modelos
conhecimentos profundos de programação
maior flexibilidade
Linguagens de programação em geral
176
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
177
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
178
Características desejáveis num software:
Gerais:
Flexibilidade ex.: tipos de atributos aplicáveis às entidades
Fácil desenvolvimento do modelo verificação de consistência e avisos ajuda on line sugestões de alterações
Rápida execução
179
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
180
Animação:
Compreensão visual Conhecimentos compartilhados Treinamentos
181
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
182
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
Passos de uma simulação:
Formular o problema e planejar o estudo
1.
Coletar dados edefinir um modelo
2.
3. O modelo éválido?
sim
não
Construir um programa computacional e verificar4.
5. Rodar simulações piloto
6.
Modelo é válido?
sim
não
184
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
Rodar simulações piloto
Modelo é válido?
sim
não
5.
6.
Rodar simulações piloto
Modelo é válido?
sim
não
5.
6.
185
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
Rodar simulações piloto
Modelo é válido?
sim
não
5.
6.
Rodar simulações piloto
Modelo é válido?
sim
não
5.
6.
186
3. TESTE Turing
Saída esperada do processo real Saída simulada
Especialistas conseguem diferenciar?
Rodar simulações piloto
Modelo é válido?
sim
não
5.
6.
Rodar simulações piloto
Modelo é válido?
sim
não
5.
6.
187
4. TESTES de CAMPO
Modelo de simulação Testes de campo/ cenários
específicos
Há convergência?
Rodar simulações piloto
Modelo é válido?
sim
não
5.
6.
Rodar simulações piloto
Modelo é válido?
sim
não
5.
6.
Passos de uma simulação:
Formular o problema e planejar o estudo
1.
Coletar dados edefinir um modelo
2.
3. O modelo éválido?
sim
não
Construir um programa computacional e verificar4.
5. Rodar simulações piloto
6.
Modelo é válido?
sim
não
7. Projetos de Experimentos
8. Rodar as simulações
9. Analisar saídas
10. Documentar/ apresentar resultados
189
É 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).
7. Projetos de Experimentos
190
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!
7. Projetos de Experimentos
191
Exemplo: Desejamos investigar o efeito do tipo de fila e do gênero de atendente sobre o tempo médio de atendimento.
7. Projetos de Experimentos
Gênero do atendente
homem mulher
tipo deFila
única
múltipla
fator A
fator B
192
Como funcionam os Projetos de Experimentos?
1. Ao medir os tempos de atendimento para cada uma das combinações, observo os seguintes valores:
Gênero do atendente
homem mulher
tipo deFila
única
múltipla
fator B
20 min. 30 min.
40 min. 52 min.
fator A
193
Estudo os efeitos:
2
3020
2
5240
2
4020
2
5230
Observando o efeito do tipo de fila:
t múltipla – t única = = 21 min.
Observando o efeito do gênero do atendente:
t mulher – t homem = = 11 min.
Gênero do atendente
homem mulher
tipo deFila
única
múltipla
fator B
20 min. 30 min.
40 min. 52 min.
fator A
Gênero do atendente
homem mulher
tipo deFila
única
múltipla
fator B
20 min. 30 min.
40 min. 52 min.
fator A
194
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.
gênero do atendente
homem mulher
idade doatendente
adulto jovem
terceira idade
fator A
fator B
20 40
50 12
195
Interações:
terceira idade - adulto jovem = .min12
4020
2
1250
gênero do atendente
homem mulher
idade doatendente
adulto jovem
terceira idade
fator A
fator B
20 40
50 12
gênero do atendente
homem mulher
idade doatendente
adulto jovem
terceira idade
fator A
fator B
20 40
50 12
mulher - homem = .min92
5020
2
1240
Porém:
196
Interações:
terceira idade - adulto jovem = .min12
4020
2
1250
gênero do atendente
homem mulher
idade doatendente
adulto jovem
terceira idade
fator A
fator B
20 40
50 12
gênero do atendente
homem mulher
idade doatendente
adulto jovem
terceira idade
fator A
fator B
20 40
50 12
mulher - homem = .min92
5020
2
1240
Poderia parecer que a idade não afeta o tempo de atendimento.Porém, o que acontece é que a idade tem efeitos fortes MAS diferentespara homens e mulheres.
197
Interações:
gênero do atendente
homem mulher
idade doatendente
adulto jovem
terceira idade
fator A
fator B
20 40
50 12
gênero do atendente
homem mulher
idade doatendente
adulto jovem
terceira idade
fator A
fator B
20 40
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 diferentes gêneros.
198
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
199
Exemplos de fatores cujos efeitos costumamos estudar:
Na linha de produção: Fatores Respostas 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
Ritmo de produção Tempo de atravessamento Utilização dos recursos Percentual de refugos
Estrutura de hardware:
Fatores Respostas Número de terminais Capacidade dos discos rígidos Velocidade da CPU Velocidade dos drives de acesso
Tempo de resposta aos usuários Utilização da CPU Utilização do disco Confiabilidade do sistema (tempos entre falhas)
200
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
201
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.
202
Passos de uma simulação:
Formular o problema e planejar o estudo
1.
Coletar dados edefinir um modelo
2.
3. O modelo éválido?
sim
não
Construir um programa computacional e verificar4.
5. Rodar simulações piloto
6.
Modelo é válido?
sim
não
7. Projetos de Experimentos
8. Rodar as simulações
9. Analisar saídas
10. Documentar/ apresentar resultados
203
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 meio-dia às 13h.
Ainda é preciso definir:
204
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!
Condições iniciais da simulação:
205
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.
O que fazer então?
206
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!
Desvantagem da abordagem 1:
207
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.
208
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)
209
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
210
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.
211
ATIVIDADE 7 -
Para o seu experimento, analise:
Qual o tempo de warm up?
Qual a duração de cada rodada?
212
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
8. Rodar as simulações
9. Analisar saídas
10. Documentar/ apresentar resultados
213
Aspectos da simulação que requerem cuidados!
Desenvolver modelos para sistemas complexos:
Caro
Demorado
214
Utilizar a simulação quando outra técnica é a mais adequada
Armadilhas a evitar em simulação:
Definir pouco claramente os objetivos no início do estudo
Nível de detalhamento do modelo inadequado
215
• falhas de comunicação com os gestores durante o estudo
• má compreensão da simulação por parte dos gestores
Armadilhas a evitar em simulação:
216
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
217
Armadilhas a evitar em simulação:
• adotar software de simulação inadequado
• usar inadvertidamente um software dada a facilidade de interação e por não requerer programação
• não recolher dados de boa qualidade no sistema real
218
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
219
Atenção!
Modelo não validado
Resultados conduzem a erros !
220
Aspectos da aleatoridade que requerem atenção !
São necessárias várias rodadas para gerar estimativas razoáveis!!
Cada rodada de um modelo estocástico de simulação produz apenas estimativas
221
Atenção!
Relatórios com resultados numéricos
Modelo animado
Confiar incondicionalmente ???!
222
Atividade 8
Parte V
Modelagem de sistemas: SIMULAÇÃO
Construindo modelos
224
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 timetempo de respostaidentificação dos gargalos
225
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.
226
Fluxograma de processo
227
M/M/1:
Totais
Cliente vai até a fila
Cliente espera na fila
Cliente vai até o caixa
Cliente é atendido
Cliente sai
1 3 1
0,4
0,1
0,5
14
17
10
6
4
20 32
44 % do tempo foi gasto em atendimento56 % do tempo foi gasto em espera e deslocamentos
228
Outras representações:
fritar salgar
espera
Qualidade A ou B?
A pesar
pesar
B
empacotar
empacotar
Davis, Chase e Aquilano
Atividades ou operações
Filas ou esperas
Nó de decisão
Fluxo de materiais/clientes
229
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
230
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?
231
_______________________________________ _______________________________________ _______________________________________ _______________________________________ _______________________________________ _______________________________________ _______________________________________ _______________________________________ _______________________________________ _______________________________________
232
Atividade 9
233
Parte VI
Modelagem de sistemas: SIMULAÇÃO
Usando um software Elementos básicos
234
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
235
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
clientesc) Qual o número médio de clientes no quiosque (NS)? NS = 6 clientesd) Qual o número médio de clientes sendo atendidos (NA)? NA = 0,8
clientes
236
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
237
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
238
O editor de LOCAIS consiste de 3 janelas
Janela Graphics Tabela Edit
Janela de layout
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.
Status light – muda de cor confome status
Label - Rótulo
Entity Spot – plataforma
Region -região
240
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
241
Criando o LOCAL de chegada
Botão da esquerdado mouse
242
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.
243
Criando uma FILA
•Botão da esquerdado mouse em Graphics e depoisem Layout•Arrasta do pontode início até oponto de fim da fila e então duploclick
244
Criando uma FILA
Com o mouse sobre a fila, clicar no botão da direita, e abre a janela a seguir...
245
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
246
Criando o LOCAL mesa (para o atendente)
247
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.
248
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
249
Editando a ENTIDADE cliente
Você arrastou a barra para cima e o ícone foi ampliado
Agora clicar em EDIT para modificar o ícone
250
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
251
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
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
253
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)
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.
255
A janela Process define o que será feito:
A entidade cliente que está no Local Chegada não sofrerá nenhuma operação neste local
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);
257
Na fila:
258
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}
259
Clicar sobre a mesa e arrastar até ROUTE TO EXIT
Da mesa para a saída!
260
Processamento na mesa: USE atendente FOR 2.4
Para rotear o cliente para a saída: MOVE FOR 0
cliente
261
Especificam como as entidades entram no sistema
7. Criar CHEGADAS ou ARRIVALS
262
7. Criar CHEGADAS ou ARRIVALS
Entity: cliente Location: chegada
Qty Each: nro de entidades que entram por vezFirst time: instante da primeira chegadaOcurrences: total de chegadasFrequency: intervalo entre chegadasLogic: serve para diferenciar as entidades por atributos quando for o casoDisable: serve para desabilitar a entrada, simulando a interrupção da chegada de clientes
263
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
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
265
Resultados: sem warm up – 1h simulação – 1 rodada
General: mostra data em que foi rodada a simulação, nome do modelo e nome do arquivo
Locations: mostra estatísticas sobre os locais
Compare com os resultados analíticos
266
Resultados: com warm up=1h 1h simulação – 1 rodada
Resultados: com warm up=1h - 4h simulação – 1 rodada
267
Resultados: com warm up=1h 50 h simulação – 1 rodada
Resultados: com warm up=1h - 100 h simulação – 1 rodada
268
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.
a) Qual a probabilidade de uma pessoa chegar à cabine e não precisar esperar? 70%
b) Qual o tempo médio na fila? 1,28 minc) Qual seria o tempo médio na fila se a taxa de
chegadas fosse = 0,16 pessoas/min? Aproximadamente 3 min.
269
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.
SIMULAÇÃO: Distribuições de Probabilidade
Profa. Giovana Pasa, [email protected]
271
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
272
Distribuições
Parâmetros: de localização ()
1 2
273
Distribuições
Parâmetros: de escala ()
1 2
274
Distribuições
Parâmetros: de forma ()
Weibull=0,5=1
Weibull=1=1
Weibull=2=1
275
Distribuições úteis nas modelagens
Uniforme: usada para gerar outras distribuições
f(x)
a b
1/(b-a)
276
Distribuições úteis para modelagem:
Exponencial (): tempos entre chegadas
de clientes num sistema (quando estas ocorrem em uma taxa constante)
f(x)
x
=1
277
Gama (, )
tempo para completar uma tarefa (atendimento de um cliente; reparo de uma máquina)
f(x)
x
=2=1
278
Weibull (, )
tempo para completar uma tarefa;
tempo até a falha de um equipamento
f(x)
x
=2=1
279
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
280
Lognormal (,2)
tempo para completar uma tarefa;
quantidades que são o produto de um grande número de outras quantidades
f(x)
x
281
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
282
Outras distribuições contínuas:
Triangular (a, b, c): usada como aproximação inicial na ausência de dados
f(x)
a b
2/(b-a)
xc
283
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
284
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
285
Modelagem do número de chegadas Nt
Poisson com parâmetro t
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
é a taxa de chegadas
!
)(n
tenNP
nt
t
(n=0,1,2,…)
286
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
287
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.
288
AVALIAÇÃO
289
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?
Aplicação
290
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?
291