1
© UNESP 6 Agosto 2008
Autor: Anibal Tavares de Azevedo
Limeira, 03 de Setembro 2014
SIMULAÇÃO DE SISTEMAS
AULA 1
2
© UNESP 6 Agosto 2008
SIMULAÇÃO DE SISTEMAS
Autopsicografia O poeta é um fingidor. Finge tão completamente Que chega a fingir que é dor
A dor que deveras sente. E os que lêem o que escreve,
Na dor lida sentem bem, Não as duas que ele teve, Mas só a que eles não têm. E assim nas calhas de roda
Gira, a entreter a razão, Esse comboio de corda Que se chama coração.
3
© UNESP 6 Agosto 2008
ALGUMAS DEFINIÇÕES
Problema: Simular o funcionamento de um rôbo em um labirinto
E
S
Labirinto
robô
4
ALGUMAS DEFINIÇÕES
Labirinto robô
SISTEMA: Coleção de entidades que agem e interagem de acordo com algum princípio lógico.
Ações Interações
Colisão !
E S
Entrou !
5
© UNESP 6 Agosto 2008
ALGUMAS DEFINIÇÕES
ESTADO DO SISTEMA: Coleção de variáveis necessárias para descrever o estado do sistema em qualquer tempo.
Variáveis
Coordenadas (x,y) do robô
Coordenadas (x,y) dos obstáculos Localização das paredes
Dimensões do robô
Localização da saída e da entrada Labirinto
robô Entidades
6
© UNESP 6 Agosto 2008
ALGUMAS DEFINIÇÕES
SISTEMA DISCRETO: é aquele no qual as variáveis de estado são modificadas em tempos discretos ou contáveis.
E
S E
S
T = 1
(x,y) = (9,9)
7
© UNESP 6 Agosto 2008
PROBLEMA REAL
8
9
© UNESP 6 Agosto 2008
SIMULADOR
3
2
1 4
5 6
7 8 9
(xc,yc)
Limites do ambiente
Obstáculos Veículo
Radar
10
© UNESP 6 Agosto 2008
v
c1
11
© UNESP 6 Agosto 2008
v
c1 1 0 0 0 0 0 0 0 0
Informação do radar
Decisão
1
2
SIMULADOR
12
v
c0
1 1 0 0 0 0 0 0 0 0
Informação do radar
Decisão
1
2
1 2
3
13
© UNESP 6 Agosto 2008
SIMULADOR
14
© UNESP 6 Agosto 2008
0 0 0 0 0 0 0 0 1 Extração de informação do radar
15
© UNESP 6 Agosto 2008
0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 1
Extração de informação do radar
0 0 0 0 0 0 0 0 1
Comparando a informação com as regras armazenadas no banco de dados
0 0 0 0 1 0 0 0 0 1 0
…
SIMULADOR
16
0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 1
Extração de informação do radar
Comparando a informação com as regras armazenadas no banco de dados
17
© UNESP 6 Agosto 2008
0 100 200 300 400 500 600 700 0
100 200 300 400 500 600 700
fixo
variável
SIMULADOR
18
© UNESP 6 Agosto 2008
R1 R1
19
© UNESP 6 Agosto 2008
R1 R1
SIMULADOR
20
R1 R1
R2
21
© UNESP 6 Agosto 2008
R1 R1
R2 R1 R1
SIMULADOR
22
© UNESP 6 Agosto 2008
R1 R1
R2 R1 R1
23
© UNESP 6 Agosto 2008
R1 R1
R2 R1 R1
R3 R1
SIMULADOR
24
R1 R1
R2 R1 R1
R3 R1
Detecta Parede !
25
© UNESP 6 Agosto 2008
R1 R1
R2 R1 R1 R3
SIMULADOR
26
© UNESP 6 Agosto 2008
R1 R1
R2 R1 R1
R3 R1
R2
27
© UNESP 6 Agosto 2008
R1 R1
R2 R1 R1 R3
Colisão !
R1
R2
R1
R1
R1
SIMULADOR
28
R1 R1
R2 R1 R1 R3
Evolução das regras:
••••Número de passos
••••Últimas regras usadas
Colisão !
R1
R2
R1
R1
R1
29
© UNESP 6 Agosto 2008
SIMULADOR
30
© UNESP 6 Agosto 2008
31
© UNESP 6 Agosto 2008
ALGUMAS DEFINIÇÕES
SISTEMA CONTÍNUO: é aquele no qual as variáveis de estado são modificadas continuadamente no tempo.
32
ALGUMAS DEFINIÇÕES
Número de presas
33
© UNESP 6 Agosto 2008
ALGUMAS DEFINIÇÕES
Variação do número de presas
Número de presas
Número de presas
34
© UNESP 6 Agosto 2008
ALGUMAS DEFINIÇÕES
SISTEMA CONTÍNUO: é aquele no qual as variáveis de estado são modificadas continuadamente no tempo.
onde:
y – número de predadores x – números de presas t – variável do tempo
Demais parâmetros indicam a interação presa-predador Modelos que usam equações
35
© UNESP 6 Agosto 2008
ALGUMAS DEFINIÇÕES
Modelo estático de simulação
Modelo dinâmico de simulação
Simulação de Monte Carlo
Representação do sistema para um ponto particular do tempo
Representação do sistema ao longo de um dado período de tempo
36
Simulação de Monte Carlo - Exemplo
Um padeiro deve decidir quanto deverá produzir de pães supondo que:
(i)A produção de pães é em múltiplos de 12.
(ii) A demanda também é em múltiplos de 12.
(iii)O custo de cada pão é de R$ 0.25.
(iv) O preço normal de venda é de R$ 0.40, o promocional de R$ 0.10 e o preço de não atender a demanda é R$ 0.15.
(v)A demanda, de acordo com um histórico, pode ocorrer em 3 níveis: alta, média e baixa com probabilidades de 0.30, 0.45 e 0.25. A Tabela 1 fornece a distribuição da demanda por nível.
37
© UNESP 6 Agosto 2008
Função de Distribuição de Probabilidade
Demanda Alta Média Baixa
36 .05 .10 .15
48 .10 .20 .25
60 .25 .30 .35
72 .30 .25 .15
84 .20 .10 .05
96 .10 .05 .05
0.30 0.45 0.25
Probabilidade de ocorrência de cada nível:
Simulação de Monte Carlo - Exemplo
38
© UNESP 6 Agosto 2008
Simulação de Monte Carlo - Exemplo
Criar um programa que realize a simulação das 6 políticas listadas na Tabela dada a seguir. Os valores da Tabela foram obtidos após 10000 avaliações de demanda.
Política Número de
pães produzidos por dia Lucro obtido por Simulação
A 36 R$ 1.273
B 48 R$ 4.349
C 60 R$ 6.436
D 72 R$ 6.915
E 84 R$ 6.104
39
© UNESP 6 Agosto 2008
Estudo de Caso
REVISTA EXAME, EDIÇÃO 1001, ANO 45, NO. 18, PP. 60-64, 05/10/2011
40
Estudo de Caso
41
© UNESP 6 Agosto 2008
ALGUMAS DEFINIÇÕES
Modelo determinístico
de simulação É tal que não emprega variáveis aleatórias.
42
© UNESP 6 Agosto 2008
ALGUMAS DEFINIÇÕES
Modelo determinístico
de simulação É tal que não emprega variáveis aleatórias.
1
43
© UNESP 6 Agosto 2008
ALGUMAS DEFINIÇÕES
Modelo estocástico
de simulação É tal que emprega uma ou mais variáveis aleatórias.
Tempo de descarregamento pode ser variável em [11,13]
Pode existir a probabilidade de uma máquina quebrar.
44
ESTUDOS NA DISCIPLINA
Estudar modelos estocásticos discretos, também chamados de modelos de simulação por eventos discretos. Nestes modelos o sistema é modificado ao longo do tempo e as variáveis de estado são modificadas apenas em alguns instantes de tempo.
45
© UNESP 6 Agosto 2008
ESTUDOS NA DISCIPLINA
46
© UNESP 6 Agosto 2008
47
© UNESP 6 Agosto 2008
1
2
3
4
5
PLANEJAMENTO INTEGRADO DO PORTO
48
49
© UNESP 6 Agosto 2008
Teoria de Filas - Resumo
Fila de Navios
Atendimento no Porto
Posto de Gasolina Lanchonete
50
© UNESP 6 Agosto 2008
TEORIA DE FILAS
Estudo de caso real
51
© UNESP 6 Agosto 2008
Modelo de Fila M/M/s/GD/∞∞∞∞/∞∞∞∞:
Neste modelo existem s servidores em paralelo:
TEORIA DE FILAS
Balcão 3 atendentes
µµµµ = [3,5] min
Fila com 37 clientes Você está
aqui
λλλλ = 2 min
Qual o tempo de espera para ser atendido?
52
Teoria de Filas - Resumo
Fila de Aviões
53
© UNESP 6 Agosto 2008
Teoria de Filas - Resumo
REVISTA EXAME, EDIÇÃO 969, ANO 44, NO. 10, PP. 42-45, 02/06/2010
54
© UNESP 6 Agosto 2008
Teoria de Filas - Resumo
Chegada A
A Supõe a chegada de apenas um usuário por instante. O tempo para ocorrer uma chegada é função de prob.
Atendimento C1
C Pode ter servidores em paralelo (C2) ou em série (C1). O tempo de serviço é associado a função de distrib.
C2
C Fila
B
55
© UNESP 6 Agosto 2008
Teoria de Filas - Resumo
Média de pessoas na fila
Tempo médio de espera Tempo de atendimento
Taxa de chegada
56
57
© UNESP 6 Agosto 2008
PROBLEMA REAL
58
© UNESP 6 Agosto 2008
Fila x Simulação Discreta por Evento
Chegada
A Atendimento
C1 C
Teoria de Filas
Função de distribuição de probabilidade Exponencial
012345678910 0 0.05 0. 1 0.15 0. 2 0.25 0. 3 0.35 0. 4 0.45 0. 5 a(t)= λ e-λ t t
Gráfico de a(t )=λe-λt para λ = 0.5
012345678910 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 a(t)= λ e-λ t t
Gráfico de a(t)=λe-λt para λ = 0.5
59
© UNESP 6 Agosto 2008
Filas x Simulação Discreta por Evento
Chegada
A Atendimento
C1 C
Teoria de Filas
Função de distribuição de probabilidade empírica !!!
012345678910 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 a(t)= λ e-λ t t
Gráfico de a(t)=λe-λt para λ = 0.5
Modelos M/M/1
Simulação pode lidar com qualquer função de distribuição para o tempo entre as chegadas = Mais flexível, porém mais cara computacionalmente !
60
Ferramenta de Simulação
Duas mulheres operando o ENIAC (fotografia pertencente ao Exército
dos Estados Unidos (U.S. Army) em Fevereiro de 1946.
Alguns dados:
•Peso de cerca de 30 toneladas
•Ocupava 270m2
•Capacidade de processamento: 5x103FLOPS/s
Alguns dados de um Laptop:
•Peso de cerca de 3 quilos
•Ocupa 30 cm2
61
© UNESP 6 Agosto 2008
O que é um Algoritmo?
É uma sequência finita de passos que resolve um dado problema ! Um bom exemplo de algoritmo é uma receita de bolo, pois a ordem
dos passos pode mudar o resultado final!
ALGORITMO
+
+
+
+
=
62
© UNESP 6 Agosto 2008
V Início Ler A,B; Se A>B Escreva(B) Escreva(A) Final F
USANDO O COMANDO SE/IF
Sejam duas variáveis A e B com valores
diferentes. Como imprimir o maior
valor?
Problema
Variaveis A, B; Inicio
1. Ler(A,B); 2. Se (A > B)
entao imprimir A; Senao imprimir B; Fim
Algoritmo
63
© UNESP 6 Agosto 2008
Simulação Discreta por Evento
Eventos mudam o estado (das entidades) do Sistema
Chegada Eventos Saída
Entidades
Cliente Fila Servidor
64
Simulação Discreta por Evento
Eventos mudam o estado (das entidades) do Sistema
Chegada Eventos Saída
Entidades Cliente
65
© UNESP 6 Agosto 2008
Simulação Discreta por Evento
Eventos mudam o estado (das entidades) do Sistema
Chegada Eventos Saída
Entidades Cliente Servidor
Estados Fila/Atendimento Ocioso/Ocupado Cliente
66
© UNESP 6 Agosto 2008
Simulação Discreta por Evento
Eventos mudam o estado (das entidades) do Sistema
Chegada Eventos Saída
Entidades Cliente Servidor
Fila
67
© UNESP 6 Agosto 2008
Simulação Discreta por Evento
Chegada
Eventos mudam o estado do Sistema – 1 Servidor
68
Simulação Discreta por Evento
Chegada Atendimento
Se servidorocioso, então, clienteentra em serviço
69
© UNESP 6 Agosto 2008
Simulação Discreta por Evento
Chegada
Eventos mudam o estado do Sistema – 1 Servidor
70
© UNESP 6 Agosto 2008
Simulação Discreta por Evento
Chegada Fila
Se servidorocupado, então, clienteentra na fila
71
© UNESP 6 Agosto 2008
Simulação Discreta por Evento
t = 0
Chegada
Tempo da simulação
Usar fluxograma 1
Chegada
Estado servidor Cliente entra
em serviço Cliente entrana fila
Vazio Cheio
Fluxograma 1
72
Simulação Discreta por Evento
Atendimento Saída
73
© UNESP 6 Agosto 2008
Simulação Discreta por Evento
Atendimento
Se filavazia, então, servidorfica vazio
Saída
Eventos mudam o estado do Sistema – 1 Servidor
74
© UNESP 6 Agosto 2008
Simulação Discreta por Evento
Atendimento Saída
75
© UNESP 6 Agosto 2008
Simulação Discreta por Evento
Atendimento
Sefilanão-vazia, então,servidorfaz novoatendimentoefila
éreduzida
Saída
Eventos mudam o estado do Sistema – 1 Servidor
76
Simulação Discreta por Evento
t = T1 Saída
Tempo da simulação
Usar fluxograma 2
Partida
Fila Vazia? Remover cliente da fila
e começar serviço Mudar estado p/servidor ocioso
Não Sim
Fluxograma 2
77
© UNESP 6 Agosto 2008
Simulação Discreta por Evento
Inicializar as variáveis de estado 1
< ? 2
Processar uma chegada.
Sim 3
Processar uma saída.
4
Tempo atual < Tempo Total?
Não
Sim
Imprima resultados e pare.
Não
5
78
© UNESP 6 Agosto 2008
Simulação Discreta por Evento
Inicializar as variáveis de estado 1
< ? 2
Processar uma chegada.
Sim 3
Processar uma saída.
4
Tempo atual < Tempo Total?
Não
Sim
Imprima resultados e pare.
Não
79
© UNESP 6 Agosto 2008
Simulação Discreta por Evento
Inicializar as variáveis de estado 1
< ? 2
Processar uma chegada.
Sim 3
Processar uma saída.
4 Não
t = 0
Chegada Tempo da simulação
t = 10 Saída
80
Simulação Discreta por Evento
Inicializar as variáveis de estado 1
< ? 2
Processar uma chegada.
Sim 3
Processar uma saída.
4 Não
t = 0
Chegada Tempo da simulação
81
© UNESP 6 Agosto 2008
Simulação Discreta por Evento
Inicializar as variáveis de estado 1
< ? 2
Processar uma chegada.
Sim 3
Processar uma saída.
4 Não
Tempo da simulação
t = 10 Saída
t = 12 Chegada
82
© UNESP 6 Agosto 2008
Simulação Discreta por Evento
Inicializar as variáveis de estado 1
< ? 2
Processar uma chegada.
Sim 3
Processar uma saída.
4 Não
Tempo da simulação
t = 10 Saída
83
© UNESP 6 Agosto 2008
Simulação Discreta por Evento
Inicializar as variáveis de estado 1
< ? 2
Processar uma chegada.
Sim 3
Processar uma saída.
4
Tempo atual < Tempo Total?
Não
Sim
Imprima resultados e pare.
Não
5
84
Simulação Discreta por Evento
Chegada Saída
Lista de Eventos
Evento | Tempo
Tempo em que cada evento ocorre
Variável Tempo do
85
© UNESP 6 Agosto 2008
Tempo entre as chegadas
...
Máquina I Fila CENÁRIO 1 Tempo entre as chegadas...
Máquina I Fila CENÁRIO 10Simulação Discreta por Evento
86
© UNESP 6 Agosto 2008
Tempo entre as chegadas
...
Máquina I Fila CENÁRIO 1 Tempo entre as chegadas...
Máquina I Fila CENÁRIO 10Simulação Discreta por Evento
Valores aleatórios
87
© UNESP 6 Agosto 2008
VARIÁVEIS ALEATÓRIAS
1, 2, 3
4, 5, 6, 7, 8
9, 10
30% homem
50% mulher
20% criança
1 2 3 4 5 6 7 8 9 10
30% 50% 20%
88
VARIÁVEIS ALEATÓRIAS
[0, 3)
[3,8)
[8,10]
30% homem
50% mulher
20% criança
30% 50% 20%
89
© UNESP 6 Agosto 2008
Simulação - Passeio Aleatório 1D
+1
-1
O passeio aleatório é a formalização matemática de um caminho que é construído por meio de uma sucessão de passos aleatórios. Pode ser associado a uma cadeia de
Markov !! p =1/2
p =1/2
90
© UNESP 6 Agosto 2008
Simulação - Passeio Aleatório 2D
91
© UNESP 6 Agosto 2008
Simulação em Sala de Aula
Neste livro o protagonista resolve tomar decisões empregando o resultado da jogada de um dado !
92
Simulação em Sala de Aula
Usar a dinâmica do passeio aleatório 2D em sala de aula para conhecer seus colegas de sala de aula. Siga o algoritmo:
p =1/4 Passo 1
1
2
3
93
© UNESP 6 Agosto 2008
Simulação em Sala de Aula
Usar a dinâmica do passeio aleatório 2D em sala de aula para conhecer seus colegas de sala de aula. Siga o algoritmo:
Passo 2
Fazer as seguintes perguntas: (1) Nome.
(2) Curso de graduação.
(3) Motivo pelo qual está fazendo a disciplina.
94
© UNESP 6 Agosto 2008
Simulação em Sala de Aula
Usar a dinâmica do passeio aleatório 2D em sala de aula para conhecer seus colegas de sala de aula. Siga o algoritmo:
Passo 3
95
© UNESP 6 Agosto 2008
O que é estatística?
96
97
© UNESP 6 Agosto 2008
Dados de Séries Temporais
Experimento inspirado no texto do livro “O andar do bêbado” de Leonard Mlodinow. Tente adivinhar as próximas cores da seguinte sequência:
1 2 3 4 5 6 7 8 9 10 11 12
1 2 3 4 5 6 7 8 9 10 11 12
Coloque sua sugestão de sequência
O que é estatística?
98
© UNESP 6 Agosto 2008
Dados de Séries Temporais
Experimento inspirado no texto do livro “O andar do bêbado” de Leonard Mlodinow. Tente adivinhar as próximas cores da seguinte sequência:
1 2 3 4 5 6 7 8 9 10 11 12
1 2 3 4 5 6 7 8 9 10 11 12
Mas, a sequência que ocorreu foi ...
99
© UNESP 6 Agosto 2008
Dados de Séries Temporais
Experimento inspirado no texto do livro “O andar do bêbado” de Leonard Mlodinow. Tente adivinhar as próximas cores da seguinte sequência:
1 2 3 4 5 6 7 8 9 10 11 12
1 2 3 4 5 6 7 8 9 10 11 12
Estratégia preferida de coelhos 75%
O que é estatística?
100
1 2 3 4 5 6 7 8 9 10 11 12
1 2 3 4 5 6 7 8 9 10 11 12
Sequência de coelhos Sequência realizada
Sequência repetida
1 2 3 4 5 6 7 8 9 10 11 12
75% de acertos 50% de acertos
101
© UNESP 6 Agosto 2008