Escolar Documentos
Profissional Documentos
Cultura Documentos
Programa
1. Modelação de sistemas através da simulação
2. Software de simulação
3. Validade e credibilidade de modelos
4. Selecção de distribuições de probabilidade para os dados
5. Análise de resultados
Bibliografia
• Law, Averill and Kelton, W.David (2000). Simulation Modeling and
Analysis (3rd ed), McGraw-Hill, USA. (Caps. 1, 3, 5, 6.1-6.2, 13)
• Elder, Mark. Simulation Course Handbook, University of Strathclyde, UK.
• Simulação é uma ferramenta estatística para analisar sistemas reais, que imita o
funcionamento lógico do sistema ao longo do tempo num modelo de computador
• A simulação permite analisar sistemas complexos que não é possível tratar com
modelos matemáticos que se possam resolver analiticamente
• A simulação não permite optimizar os parâmetros de um sistema e obter
respostas exactas
• A simulação tem inúmeras aplicações práticas
– produção ou serviços
– nível estratégico ou nível operacional
• Utilizar a simulação na prática requer:
– competências técnicas de simulação, estatística, programação, modelação de sistemas
– seguir uma metodologia de análise do sistema real
• Nesta disciplina:
– introdução à simulação discreta, modelação de sistemas, e análise de resultados
– aprendizagem tutorial de um software de simulação (SIMUL8)
– não são cobertos tópicos de cursos avançados de simulação:
geração de números aleatórios, redução de variância, planeamento de experiências
1
1. MODELAÇÃO DE SISTEMAS POR SIMULAÇÃO
1.1 Natureza da simulação
2
O que é (e o que não é) a simulação
3
Modos de estudar um sistema
Sistema
Modelo Modelo
físico matemático
Solução
Simulação
analítica
Vantagens e desvantagens
dos vários modos de estudar um sistema
Vantagens e desvantagens Aplicabilidade
utilizar o sistema real • resultados do estudo são válidos quando é possível alterar
• experiências são dispendiosas fisicamente o sistema e
observar os resultados
modelar o sistema • estudo não interfere com o quando o sistema real não
funcionamento do sistema real existe; ou não pode ser
• modelo pode não capturar a perturbado com experiências;
realidade do sistema e as ou é muito dispendioso fazê-lo
conclusões do estudo não serem
válidas
modelo físico • reproduz realidade à escala, em sistemas em que se estuda a
laboratório tecnologia (desenvolvimento,
• não é fácil fazer muitas engenharia)
modificações e estudar várias
configurações
modelo matemático • modelo pode ser manipulado e sistemas em que se estuda a
alterado facilmente organização lógica das
• alguns aspectos da realidade são operações (investigação
simplificados e aproximados operacional, gestão)
8
4
Vantagens e desvantagens
dos vários modos de estudar um sistema
10
5
1.3 Simulação discreta
12
6
Métodos de avanço de tempo
tempo
0 e1 ∆t 2∆t e2 e3 3∆t e4 4∆t
tempo
e1 e2 e3 e4
0
13
e1 e2 e3 e4 e5
tempo
t1 t2 c1 t3 c2
0
A3
A1 A2
S1 S2
14
7
Implementação de um modelo de simulação discreta:
componentes e organização
• Componentes de um modelo de simulação discreta:
Variáveis: Rotinas:
– ESTADO DO SISTEMA: conjunto – rotina de inicialização: subprograma que inicializa
de variáveis que descrevem o o estado do sistema no instante 0
estado do sistema num instante de – rotina de gestão de tempo: subprograma que
tempo determina o próximo evento da lista de eventos e
avança o relógio de simulação
– RELÓGIO DE SIMULAÇÃO: – rotinas dos eventos: subprogramas (um por tipo de
variável que regista o instante evento) que actualizam o estado do sistema quando
actual do tempo simulado ocorre um evento
– LISTA DE EVENTOS: lista com o – biblioteca de rotinas: conjunto de subprogramas
próximo instante de tempo em que que geram observações aleatórias das distribuições
de probabilidade que são utilizadas pelo modelo
cada tipo de evento vai ocorrer
– gerador de relatórios: subprograma que calcula no
– contadores estatísticos: variáveis fim da simulação (a partir dos contadores
que guardam informação estatísticos) medidas de desempenho do sistema e
estatística, recolhida ao longo da produz um relatório
simulação, sobre o desempenho do – programa principal: subprograma que chama a
sistema rotina de gestão de tempo e passa o controlo para a
correspondente rotina do evento; este programa
também verifica as condições de paragem e chama
o gerador de relatórios no fim da simulação
15
Início
Rotina de inicialização Programa principal
Simulação Não
terminada?
Sim
Gerador de relatórios
Fim 16
8
Notas sobre modelos de simulação discreta
• Entidades e atributos:
– o sistema é compostos por um conjunto de entidades
• ex: pessoas, peças, máquinas, veículos
– as entidades são caracterizadas por atributos
• atributos são informações individuais das entidades
• os atributos são também variáveis de estado
• ex: tempo de chegada do cliente ao sistema, tipo de cliente, tamanho da peça
17
18
9
Exemplo 1
Serviço de atendimento de clientes com um servidor
saída de
clientes do
sistema
19
Exemplo 1
8 26.3 2.1
• Começar por:
– identificar variáveis de estado 9 32.1 2.5
– identificar eventos 10 36.6 3.4
20
10
evento evento
CHEGADA PARTIDA
Subtrai 1 ao
Sim Servidor Não número na fila
ocupado?
Regista tempo de Calcula o tempo de
espera=0 para este espera do cliente que
cliente inicia o serviço
Adiciona 1 ao servidor=livre
número na fila Adiciona 1 ao número Adiciona 1 ao número
de clientes que de clientes que
passaram na fila passaram na fila
Guarda tempo de
chegada deste cliente Marca evento de
servidor=ocupado
partida deste cliente
Desloca clientes na
Marca evento de
fila uma posição para
partida deste cliente
a frente
Exemplo 2
Serviço de atendimento de clientes com dois servidores
22
11
Exemplo 2
• Pedido:
– simular manualmente este sistema até 10 clientes completarem o serviço
– calcular as seguintes medidas de desempenho:
• taxa de ocupação de tempo dos dois agentes Cliente Tempo entre Instante de Tempo de
nº chegadas chegada serviço
• tempo médio de espera dos clientes
1 – 0.00 1.90
• tempo médio de permanência dos clientes no sistema
2 3.53 3.53 2.76
• número médio de clientes na fila de espera 3 1.14 4.67 1.88
• número médio de clientes no sistema ... ... ... ...
• Sugestões: 13
23
Exemplo 3
Sequenciamento de tarefas num job-shop
12
1.5 Passos num estudo de simulação
25
• Tipos de simulação
– Simulação por eventos discretos
– Simulação contínua
– Simulação discreta e contínua combinadas
– Simulação de Monte Carlo
• Simulação contínua
– modelação da evolução de um sistema no tempo, em que as variáveis de
estado mudam continuamente no tempo
– habitualmente o modelo envolve equações diferenciais que definem as
taxas de variação das variáveis de estado com o tempo
– técnicas de integração numérica de equações intratáveis analiticamente:
método de Euler, método de Runge-Kutta
26
13
Simulação discreta e contínua combinada
• Vantagens da simulação
– é a única via de análise possível de sistemas reais complexos e com
elementos estocásticos, que não são fielmente descritos por modelos
matemáticos que se possam avaliar analiticamente
– permite estimar o desempenho de um sistema existente com condições de
funcionamento diferentes
– permite comparar configurações alternativas de um dado sistema, para
verificar qual cumpre melhor os objectivos estipulados (análise what if)
– permite manter melhor controlo das experiências a realizar do que seria
possível se se alterasse o próprio sistema real
– permite estudar o funcionamento do sistema ao longo de um horizonte
temporal extenso em “tempo comprimido”
• lembrar: relógio de simulação ≠ relógio de tempo real
28
14
Desvantagens da simulação
29
Armadilhas da simulação
30
15
2. SOFTWARE DE SIMULAÇÃO
2.1 Software simulação vs Linguagens programação
• Vantagens de software específico para simulação:
– redução de tempo e de custo de programação porque as rotinas e componentes
básicos necessários para construir um modelo de simulação já estão incluídos
– a sintaxe da linguagem de programação está adaptada à simulação
– os modelos de simulação são mais fáceis de modificar no futuro
– detecção automática de erros comuns de programação
31
16
Componentes de modelos
incluídos habitualmente no software de simulação
• As entidades,
– são criadas (chegam ao sistema), interagem com outras entidades ao atravessar parte
do sistema, e depois são depois destruídas (saem do sistema)
– distinguem-se pelos seus atributos, que são elementos de informação que todas
possuem
– requisitam recursos (entidades permanentes) para algum serviço ou processamento
– ficam retidas em filas de espera enquanto os recursos estão ocupados com outras
entidades
33
17
2.4 Exemplos de software de simulação
• Software genérico
36
18
Programa em linguagem de simulação (SLAM)
1 GEN,OREILLY,TV INSP. AND ADJUST.,,1;
2 LIMITS,2,2,50;
3 NETWORK;
7 CREATE,UNFRM(3.5,7.5),,1;
8 ACTIVITY;
9
10
INSP QUEUE(1);
ACT(2)/1,UNFRM(6.,12.);INSPECTION
Modelo em linguagem gráfica (Awesim)
11 GOON;
12 ACT,,.85,DPRT;85 DEPART
13 ACT,,.15,ADJT;15 ARE RE-A
14 DPRT COLCT,INT(1),TIME IN SYSTEM;
15 ACTIVITY;
16 TERM;
17 ADJT QUEUE(2);
18 ACT/2,UNFRM(20.,40.),,INSP;ADJUSTMENT
19 END;
20 INIT,0,480;
21 MONTR,TRACE,0,60,ATRIB(1),NNQ(1),NNQ(2);
22 FIN;
37
Validação +
Credibilização Verificação Validação Credibilização
Resultados
Programa
Modelo Resultados usados na
Sistema de
1, 2, 3 conceptual 4 simulação 5, 6, 7 “correctos” tomada de
8, 9 Vender decisão
resultados
à Gestão
38
19
3.2 Nível de detalhe de modelos de simulação
39
40
20
Exemplos de modelos com diferentes níveis de detalhe
41
42
21
4. SELECÇÃO DE DISTRIBUIÇÕES DE
PROBABILIDADE PARA OS DADOS
• O comportamento aleatório do sistema é recriado no modelo com a
caracterização dos dados com distribuições de probabilidade
• Tipos de distribuições de probabilidade
– distribuições teóricas
– distribuições empíricas
• Fontes de aleatoriedade:
Tipo de sistema Fontes de aleatoriedade
Produção tempos de processamento
tempo entre falhas de uma máquina
tempo de reparação de máquinas
tamanho de lotes de encomenda
proporção de defeitos
Comunicações tempo entre chegadas de mensagens
tipo de mensagem
tamanho da mensagem
Transportes tempo de carga de navios
tempo entre chegadas de passageiros ao metro
43
22
4.1 Distribuições teóricas úteis para a simulação
f(x) f(x)
σ=µ (elevada variabilidade)
x µ x
a µ b
valores equiprováveis tempo entre chegadas
entre a e b independentes
23
4.2 Distribuições empíricas
• Exemplo:
– fizeram-se n observações do tempo de serviço: X1, X2, …, Xn
– as observações foram agrupadas em 4 intervalos intervalos: (ai-1, ai]
Densidade de
probabilidade
Weibull (1.5, 6) exemplo
x
u
Densidade de
F(x)
probabilidade
1 1
1
U (0, 1)
Distribuição de
probabilidade
nos aleatórios
Weibull (1.5, 6)
g(u)
x
0
1
2 amostras aleatórias
48
24
O perigo de substituir uma distribuição pela sua média
PELA TEORIA DAS FILAS DE ESPERA EXEMPLO: Sistema com 1 servidor e 1 fila
• num sistema do tipo M/G/1 com
– tempo entre chegadas C, que segue uma
distribuição exponencial negativa com valor 1. Versão probabilística
esperado 1/λ • tempo entre chegadas:
– tempo de serviço S, que segue uma qualquer C ~ ExpNeg (1.00, 1.002)
distribuição de probabilidade, com valor 1/λ = E(C) =1.00 min
esperado E(S) e variância Var(S)
– apenas 1 servidor e 1 fila de espera • tempo de serviço
S ~ ExpNeg (0.99, 0.992)
E(S) = 0.99 min
• o tempo médio de espera dos clientes na Var(S) = 0.992 min2
fila é dado por:
Æ TME=98.01 minutos
λ(Var(S) + [E(S)]2 )
TME =
2[1 - λE(S)] 2. Versão determinística
• C=1.00 determinístico
• interpretação: tanto o valor esperado como
a variância afectam o TME • S=0.99 determinístico
– TME aumenta se E(S) aumentar (é intuitivo) Æ o tempo de espera é obviamente zero!
– TME aumenta se Var(S) aumentar
(como S>0, uma Var(S) elevada significa que Substituir uma variável probabilística pelo
é relativamente grande a probabilidade de valor determinístico do seu valor esperado
ocorrerem tempos de serviço elevados!)
pode conduzir a resultados errados!
49
5. ANÁLISE DE RESULTADOS
50
25
5.1 Medidas de desempenho típicas
• número médio de entidades na fila de espera (ou tamanho médio da fila)
• número máximo de entidades na fila de espera
• tempo médio de espera das entidades na fila
• proporção de tempo em que houve pelo menos n clientes na fila
SISTEMA
51
na fila q(n ) = ∑ i ⋅ pi qˆ (n ) = i =0
qˆ 2 (n ) = k =0
i =0 T (n ) K
Taxa de ocupação do S
servidor u(n ) uˆ (n ) =
T (n )
52
26
Níveis de variabilidade dos resultados da simulação
53
27
5.2 Análise de resultados de um sistema
modelação análise
CORRIDA DA SIMULAÇÃO
do sistema de resultados
Parâmetros de entrada sd
x ± t(n) ⋅
caracterizados n
por distribuições de
probabilidade
Resultados independentes
Cadeias independentes
EXECUÇÃO DO MODELO
Nº entidades
...
processadas
warm-up
...
56
28
Selecção dos parâmetros de recolha de resultados
warm-up
Tamanho da fila
Tempo no sistema
etc
time
57
58
29
Nº peças produzidas por semana
Corrida Cenário 1 Cenário 2 EXEMPLO – Comparação de Layouts
1 293 261
2 274 264
3 196 230
4 254 287 • Como estimar a quantidade de produção semanal?
5 203 287 – dois cenários: dois layouts propostos para a fábrica
6 228 316
7 234 285
– 30 corridas independentes com duração=1 semana+warm-up
8 228 257 – os resultados variam entre corridas:
9 300 273
10 210 334 Min Max Média DP
11 234 242 Cenário 1 189 315 245.8 33.1
12 216 320
13 218 301 Cenário 2 188 334 270.5 33.3
14 315 292
15 239 288 – o Desvio Padrão mede a variabilidade dos resultados
16 246 271 individuais entre corridas
17 189 274
18 220 285
19 229 253 • Qual a segurança de adoptar a média observada como
20 259 265
21 273 239 estimativa da produção semanal?
22 265 298 – intervalo de confiança para a Média, com 95% de confiança:
23 248 223
24 280 319
– Média ± 2.DP/√n
25 232 235 DP/√n Intervalo de Confiança
26 212 260
27 238 225 Cenário 1 33.1/√30 = 6.0 245.8±12.0 = [233.8, 257.8]
28 300 188 Cenário 2 33.3/√30 = 6.1 270.5±12.2 = [258.3, 282.7]
29 287 246
30 254 298 59
a) b)
60
30