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 para o futuro: alternativas, impacto
técnica de aprendizagem organizacional
10
Where (Onde) MANUFATURA
11
Where (Onde) SERVIÇOS
12
Where (Onde) LOGÍSTICA
13
Who
Quem? especialistas em modelagem especialistas no sistema especialistas em áreas complementares
usuários do sistema clientes do sistema
14
Who
você
15
Material
Básico: Apostila impressa Arquivos para download
http://www.producao.ufrgs.br/disciplinas.asp?cod_turma=86 demonstrativo de software Promodel: possui o demo, um
manual em pdf, um tutorial, exemplos
Complementar: livros artigos científicos
16
Material
Periódicos: Produção Gestão e Produção Produto & Produção Produção on line Pesquisa
Operacional
Congressos (anais): ENEGEP SIMPEP SBPO
17
Sites
http://www.abepro.org.br/ http://www.abepro.org.br/interna.asp?p=399&m=414
&s=1&c=395 http://www.sobrapo.org.br
HISTÓRIA 1908
Matemático A. K. ErlangCentral telefônica de CopenhagenDimensionar para não haver congestionamentosModelagem matemática
19
TEORIA DAS FILAS
Erlang desenvolveu modelos matemáticos que oferecem soluções analíticas
TEORIA DAS FILAS
Útil para: telefonia, malhas de transportes, redes de computadores, manufatura, serviços, logística
Útil para fenômenos que geram FILAS
20
FILA
21
FILA
22
FILA: resultado do descompasso entre chegadas e atendimento
EVENTO 1: chega uma demanda
EVENTO 2: atendimento
23
FILA
TERMINOLOGIA
25
Descreve a forma como os clientes chegam no sistema: um por vez ou grupos unidades ou lotes intervalos entre chegadas
constantes ou variáveis taxa de chegada
1 - Processo de chegada
26
Descreve a forma como os clientes são atendidos : um por vez ou em grupos unidades ou lotes um ou mais servidores disponíveis série ou paralelo atendimento com duração sempre
constante ou duração variável taxa de atendimento
2 - Processo de atendimento
27
Regra ou disciplina da fila
Descreve a ordem em que os clientes serão atendidos FIFO - primeiro a chegar é o primeiro a ser
atendido LIFO - último a chegar é o primeiro a ser
atendido aleatório em relação à chegada prioridades por categorias
28
População
Fonte infinita – chegadas independem do nro de clientes no sistema
Fonte finita – chegadas dependem do nro de clientes no sistema
população pequena a decisão de entrar na fila depende do tamanho
atual da fila
29
Notação Kendall-Lee
1/2/3/4/5/61 – processo de chegada2 – processo de atendimento3 – número de atendentes4 – regra da fila5 – número máximo de clientes no sistema6 – tamanho da população
30
exemplo:
M/M/11 – 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: 6 – tamanho da população:
31
EXERCÍCIOS 11. Desejo produzir 15 unidades hoje. Dada as três unidades produtivas (UPs) a
seguir, com seus respectivos tempos de processamento,considerando somente um produto sendo produzido (produção empurrada) e uma taxa de chegadas a UP1 que garante sempre haver peças disponíveis para trabalhar com lotes de até 15 unidades em UP1, se desejado. Responda:
a. Mantendo um fluxo unitário de produtos, qual será a situação após meia hora de produção? Determine o número de unidades produzidas e as quantidades nos estoques intermediários E12 e E23, que antecedem, respectivamente, UP2 e UP3.
b. O fluxo unitário é a melhor solução? Por que?c. Considerando que o transporte é feito por uma empilhadeira, e que o custo
estimado de cada transporte entre UPs é de R$ 1,00, calcule o custo de transporte total entre UPs (fabricação das 15 unidades) com um fluxo unitário. Calcule, também, para lotes de 15 unidades (dado que a empilhadeira comporta transportar esta quantidade em um deslocamento).
UP1 UP3UP2
2 min. 3 min. 1 min.
E12 E23
32
d. O lote de 15 unidades é uma solução melhor? Por que?e. Com o lote de transferência de 15 unidades, qual será a situação
após meia hora de produção? Determine o número de unidades produzidas e as quantidades nos estoques intermediários que antecedem UP2 e UP3.
f. Calcule, agora, qual será a situação após meia hora de produção dado um lote de transferência de 5 unidades. Determine o número de unidades produzidas e as quantidades nos estoques intermediários que antecedem UP2 e UP3.
g. Calcule o custo de transporte total para lote de transferência de 5 unidades.
h. Quais os impactos, para as filas, do fluxo acontecer em “unidades” ou “lotes”?
UP1 UP3UP2
2 min. 3 min. 1 min.
E12 E23
33
i. Para o exemplo do fluxo unitário, consideramos, até aqui, que o tempo de transporte era desprezível. Considere que a empilhadeira que usamos para fazer o transporte entre UP2 e UP3 passou a ser compartilhada. Agora, a empilhadeira é usada também para ajudar no setup de uma UP7 vizinha. Isso faz com que a chegada de uma peça que vai de UP2 para UP3 não ocorra mais em intervalos constantes. Foram feitas tomadas de tempo e os valores observados estão listados na tabela 1, a seguir, em minutos. Quantas peças foram produzidas em 30 min.? Quais as quantidades em processamento em UP1, UP2, UP3 e nos estoques E12 e E23?
1) 2 6) 2 11) 12) 2 7) 2 12) 23) 1 8) 1 13) 14) 2 9) 2 14) 15) 1 10) 1 15) 1
UP1 UP3UP2
2 min. 3 min. 1 min.
E12 E23
tempo tempo tempoTABELA 1
34
j. Considere, agora, um caso similar àquele apresentado na questão “i” (anterior). A empilhadeira entre UP2 e UP3 continua sendo compartilhada, com os tempos entre E12 e UP2 dados pela tabela 1. A empilhadeira usada para o transporte entre E23 e UP3 passou a apresentar problemas que fazem com que seus tempos sejam aqueles apresentados na tabela 2. Quais as quantidades em processamento em UP1, UP2, UP3 e nos estoques E12 e E23?
1) 3 6) 1 11) 32) 2 7) 2 12) 23) 3 8) 1 13) 24) 2 9) 3 14) 15) 2 10) 1 15) 1
UP1 UP3UP2
2 min. 3 min. 1 min.
E12 E23
tempo tempo tempoTABELA 2
k. Quais os efeitos do tempo de transporte na produção? Esses efeitos tem relação com a capacidade local das UPs?
Filas: dimensionamentos
36
FILAS
SISTEMACLIENTE NA FILA
CLIENTE SENDO ATENDIDO
chegada fila atendimento saída
IC TF NF TA NA sistemaTS NS
37
FILAS
- taxa de chegada - taxa de
atendimento
chegada fila atendimento saída
IC TF NF c TA NA sistemaTS 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
38
Fórmulas básicas
chegada fila atendimento saída
IC TF NF c TA NA sistemaTS NS
NS = NF + NATS = TF + TANA = / = TA/ICNS = NF + NA = NF + (/ ) = NF + (TA/IC)
intensidade de tráfego = /
39
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
40
Teoria das Filas aplicada a sistemas M/M/1sistemas 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
41
Modelagem dos tempos entre chegadas (IC=1/ )
Distribuição de probabilidade - Exponencial
x
a(x)= . e -x
. e -x
é a taxa de chegadasE(A)=1/ é a média dos tempos
entre de chegadas (ICs)
var(A)=1/ (2) é a variância dos tempos entre de chegadas
1/
63%
42
2
NFfilanaclientesdemédionúmero
NSsistemanoclientesdemédionúmero
TFfilanamédiotempo
n
nPsistemanoclientesnexistiremdeeobabilidad
1Pr
1TSsistemanomédiotempo
Propriedades de um sistema M/M/1/G/ /
43
EXERCÍCIOS 2
44
2.1. Filas – geral – quiosque do banco
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)?
45
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
46
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
47
Ao chegar ao quiosque, o que veremos será:
48
2. 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).
2.2. Filas – geral - lancheria
49
2.3. Fila M/M/1 – cabine telefônica
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?
b) Qual o tempo médio na fila?c) Qual ritmo de chegada de pessoas determinaria
um tempo médio na fila de 3 minutos?
50
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,01,0
33,01,011
00
0
P
51
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
52
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
53
2.4. Fila M/M/1 - ferramentaria
2.4. 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.
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)?
54
2.5. Fila – M/M/1 – manutenção e ferramentaria
2.5. 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.
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)?
55
Conservação dos fluxos
a.
b. CBA
56
Conservação dos fluxos
c.
d.
CA1 3 3
B23= 1+ 2
BA1
22
C
3
3 2= 1- 3
58
Situação:
Agora, desejo modelar as filas com que me deparo ao longo do dia...
59
Agenda
ACORDAR5:456:006:15
melhorintermediáriopior
CAFÉ5:55 0:106:20
0:206:45
0:30
melhorintermediáriopior
ABASTECER CARRO
melhorintermediáriopior
6:15 0:206:50
0:307:25
0:40
término duração
60
Agenda
IR ATÉ NOVO HAMBURGO
melhorintermediáriopior
VISITA EMPRESA A
melhorintermediáriopior
melhorintermediáriopior
REUNIÃO NA EMPRESA B
7:05 0:508:00
1:108:55
1:30 9:45 2:4010:50
2:5011:55
3:00 11:15 1:3012:30
1:4013:45 1:50
término duração
61
Agenda
ALMOÇOmelhorintermediáriopior
PALESTRAmelhorintermediáriopior
melhorintermediáriopior
VOLTAR A PORTO ALEGRE
12:05 0:5013:30
1:0014:45
1:10 14:05 2:0015:40
2:1017:25
2:30 15:35 1:3017:20
1:4019:15 1:50
término duração
62
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” ?
Devo ser cauteloso?
Devo ser otimista?
63
Perguntas:
1. Os eventos ocorrem sempre no momento planejado/esperado?2. Um mesmo tipo de evento tem sempre a mesma duração?
Modelos analíticos: simplificações nos pressupostos implica em solução inadequada
Simulação
64
Perguntas:
1. Os eventos ocorrem sempre no momento planejado/esperado?2. Um mesmo tipo de evento tem sempre a mesma duração?
- Modelos determinísticos não servem se quero considerar as chances de um evento ocorrer.- Modelos probabilísticos analíticos:
- muito complexos- simplificações para conseguir resolver, implicam em solução inadequada
65
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).
66
A simulação…
É uma metadisciplina
Existe com a finalidade de auxiliar outras áreas
Instrumento
67
Em que casos devemos usar simulação
ESTOCASTICIDADEESTOCASTICIDADE
COMPLEXIDADECOMPLEXIDADE
ALTA
PROBABILÍSTICODETERMINÍSTICO
BAIXA
68
Por que usar simulação?
69
cenários melhorintermediáriopior
horizonte longomédiocurto
Objetivo: ....
MODELOS pressupostos/sofisticação
70
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
71
Como posso estudar um sistema?
Sistema
72
Experimento com o sistema real
Sistema
Experimento com o sistema real
Fórmula I agricultura
zoologia
73
Experimento com o sistema real
Sistema
Experimento com o sistema real
destrutivo
Pode ser inviável:
não existe (fase de projeto)
74
Experimentos com modelos físicos
Sistema
Experimento com um modelo do sistema
Modelo físico
Maquetes arquitetônicas
Túnel de vento
75
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
76
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
77
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
78
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
79
Modelo matemático com simulação
Sistema
Experimento com um modelo do sistema
Modelo matemático
Simulação
80
Sintetizando (Law e Kelton):
Sistema
Experimento com o sistema real
Experimento com um modelo do sistema
Modelo físico
Modelo matemático
Solução analítica
Simulação
81
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
82
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%
83
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%
84
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
85
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
86
Razões para usar simulação - 4
• aproveita o conhecimento das pessoas envolvidas rotineiramente no processo
• consolida o conhecimento
• explicita
• permite compartilhamento
87
Razões para usar simulação - 5
• recupera a visão sistêmica dos processos
88
Razões para usar simulação - 6
• hardware: • capacidade de processamento • custo viável
• software: • acessíveis • amigáveis
89
Razões para usar simulação - 7
• Aprendizagem e inovação
• lápis e papel
• planilha eletrônica
Análises financeiras
Impacto gerencial
90
Razões para usar simulação - 8
• Cultura organizacional e comportamento
Perspectiva 1
91
92
93
94
95
96
O que foi possível aprender?
97
Razões para usar simulação - 8
Perspectiva 2
98
Razões para usar simulação - 8
• Cultura organizacional e comportamentoPerspectiva 2
99
Razões para usar simulação - 8
• Cultura organizacional e comportamentoPerspectiva 2
100
ONDE podemos usar simulação:
SERVIÇOS
101
Exemplo 1: Bancos
102
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
103
Exemplo 2: Hospitais
104
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
105
Exemplo 3: Manufatura
106
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
107
Exemplo 4: Logística
108
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
109
Atividade 3 – Na sua empresa...
1. Na sua empresa, há formação de filas? Onde? 2. Quais as causas de cada uma destas filas? 3. Quais ações deveriam ser tomadas para eliminar cada
uma dessas filas? 4. Todas as filas deveriam ser eliminadas? 5. Quais os processos de chegada que você percebe em
sua empresa? 6. Eles ocorrem a taxas constantes? 7. Faz diferença, caso as chegadas não ocorram a
intervalos ---
110
Atividade 3 – Na sua empresa...
8. Você deve modelar o funcionamento de toda a empresa?
9. Qual seria a primeira modelagem que você realizaria? Por que?
10. Quais processamentos deveriam ser considerados na sua modelagem? Por que?
11. Estes processamentos ocorrem sempre com a mesma duração?
12. Quais as variações apresentadas nos tempos de processamento?
13. Você deve medir essas variações? Por que?
111
Atividade 3 – Na sua empresa...
14. Havendo um processo A com variações no tempo de processamento da ordem de 10 unidades de medida, um processo B com variações da ordem de 5 unidades de medida e os processos C a H apresentarem variações nos tempos da ordem de 0,01 unidades de medida, todos os processos deverão ter sua variabilidade observada e medida?
15. Como você obterá os dados sobre o processo? 16. Quais pessoas você irá convidar a participarem? Por
que? 17. Qual o objetivo de sua modelagem? ----
Parte III
Modelagem de sistemas: SIMULAÇÃO
Conceitos básicos e Terminologia
113
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.
114
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.
115
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
116
• objeto de interesse Entidade
• propriedades de uma entidade Atributos
Ex.: BancoEntidade: cliente Atributo: profissão
Num sistema
117
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.
118
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.
119
Dinâmicos
Representam o sistema modificando-se no tempo.
simulação contínua simulação discreta ou de eventos discretos
120
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
121
Simulação contínua
Processos químicos, biológicos
Usam equações diferenciais – resolvidas com técnicas numéricas
122
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
123
Modelos de simulação
DETERMINÍSTICO
Valores exatos Simplificação
ESTOCÁSTICO
Valores estimados Variabilidade natural
do processo é modelada
124
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!
125
Os tempos de execução de uma atividade apresentam variabilidade...
Tempo medido
126
Tempo medido
127
Tempo medido
128
Tempo medido
129
Tempo medido
130
Tempo medido
131
O que esta figura lembra?
Tempo medido
132
Distribuição de probabilidade normal
133
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)!
134
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)
135
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
136
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
137
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
138
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
139
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
140
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
141
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
142
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
143
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
144
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
145
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
146
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 ?
sim1. 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
0Rotina 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
148
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
149
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?
150
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”.
151
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.
152
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
153
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%
154
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
155
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
156
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
157
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
158
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.
159
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