Post on 07-Apr-2016
1
Dia 16 de outubro
Introdução à simulação
PROFa. Giovana Savitri Pasa giovanapasa@producao.ufrgs.br 2012-2
SISTEMAS PRODUTIVOS II ENG 09014
2
Empresas que aplicam simulação:
3
saúde
4
definições
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.
Agenda
IR ATÉ NOVO HAMBURGO
melhorintermediáriopior
REUNIÃO NA EMPRESA A
0:551:101:15
melhorintermediáriopior
1:001:301:40
melhorintermediáriopior
0:300:350:50
REUNIÃO NA EMPRESA B
ACORDAR5:456:006:15
melhorintermediáriopior
CAFÉ0:070:090:11
melhorintermediáriopior
ABASTECER CARRO
0:120:150:18
melhorintermediáriopior
CAFÉ-Reuniãomelhorintermediáriopior
PALESTRA2:002:203:00
melhorintermediáriopior
0:400:501:00
melhorintermediáriopior
0:501:302:00
VOLTAR A PORTO ALEGRE
melhor intermediário pior
ACORDAR 05:45 06:00 06:15CAFÉ 00:07 00:09 00:11ABASTECER 00:12 00:15 00:18IR A NH 00:30 00:35 00:50REUNIÃO A 00:55 01:10 01:15REUNIÃO B 01:00 01:30 01:40ALMOÇO 00:50 01:30 02:00PALESTRA 02:00 02:20 03:00VOLTAR 00:40 00:50 01:00TOTAL 06:14 08:19 10:14CHEGADA 11:59 14:19 16:29
CAFÉ-Reunião
6
Por que usar simulação?
7
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
Adequação da simulação
8
complexidade
estocasticidade
Programação linear simulação
Teoria das filas
9
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
10
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%
11
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%
12
• recupera a visão sistêmica dos processos
13
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
14
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
15
Exemplo 3: Manufatura
16
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
17
18
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
19
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.
20
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
21
• objeto de interesse Entidade
• propriedades de uma entidade Atributos
Ex.: BancoEntidade: cliente Atributo: profissão
Num sistema
22
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.
23
Dinâmicos
Representam o sistema modificando-se no tempo.
simulação contínuasimulação discreta ou de eventos discretos
24
Simulação contínua
Processos químicos, biológicos
Usam equações diferenciais – resolvidas com técnicas numéricas
25
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
26
Modelos de simulaçãoDETERMINÍSTICO
Valores exatosSimplificação
ESTOCÁSTICO
Valores estimadosVariabilidade natural
do processo é modelada
27
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!
28
Os tempos de execução de uma atividade apresentam variabilidade...
Tempo medido
29
Tempo medido
30
Tempo medido
31
Tempo medido
32
Tempo medido
33
Tempo medido
34
O que esta figura lembra?
Tempo medido
35
Distribuição de probabilidade normal
36
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)!
37
Para estimar o tempo médio na fila, você precisa das variáveis de estado:status do servidor: ocupado ou ociosonúmero de clientes na filainstante 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
38
Eventos do exemplo:
1 - chegada de um clienteou 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 atendimentoou 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
39
Mecanismos de avanço no tempo
simulation clock: é a variável que fornece o valor atual do tempo da simulação
incremento fixoavanço no próximo evento
40
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
41
Relógio é inicializado em zero: e0=0Status do servidor: ociosoUsamos 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
42
Avançamos o relógio para: e1= t1
O cliente 1 que chegou em t1 encontrou o servidor ociosoO seu atendimento iniciou sem que ele ficasse em fila: tf1 = 0Status do servidor passou a ocupadoUsamos 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
43
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
44
O cliente 2 encontrou o servidor ocupado, então vai para a filaA variável nro de clientes na fila é incrementada de 1 e anotamos o
instante de entrada na filaUsamos 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
45
O cliente 2 que estava na fila tem seu atendimento iniciadoO tempo de fila é calculado: tf2 = ts1 - t2 A variável nro de clientes na fila é decrementada de 1Usamos 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
46
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
47
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
48
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çõeschama rotina de timing para determinar próximo eventotransfere controle para rotina de evento atualizar variáveis de estadoverifica finalizaçãochama 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
50
exemplo
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
51
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?
52
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”.
53
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.
54
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
55
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%
56
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
57
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
58
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
59
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
60
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.
61
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
62
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
63
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)
64
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.
65
3 – Número de atendentes
um atendente vários
66
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
67
5 – Número máximo de clientes no sistema
limitado infinito
68
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
69
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:
70
Notação Kendall-Lee
1/2/3/4/5/6
1 – 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
71
exemplo:
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: 6 – tamanho da população:
72
FILAS
SISTEMACLIENTE NA FILA
CLIENTE SENDO ATENDIDO
chegada fila atendimento saída
IC TF NF TA NA sistemaTS NS