Introdução
• Modelagem:
– Forma especializada de representar processos e fenômenos a serem compreendidos;
– Modo de estudar a “realidade” de um ambiente; – modelagem e simulação complementam teoria e
experimentos, estas últimas sendo as formas mais
tradicionais de estudar a “realidade” com que convivemos.
• Simulação:
– Ferramentas disponibilizadas pela área de pesquisa operacional;
– geração de cenários (baseado em parâmetros técnicos);
• Orientam o processo de tomada de decisão; • Permitem análises e avaliações de sistemas; • Propõem soluções e procedimentos.
“Simulação é a imitação da operação de
processos do mundo real ou sistemas ao longo do tempo. Envolve a geração de um histórico artificial de um sistema e a observação deste histórico permite a inferência de características
de operações do sistema real que é representado.”
Histórico
• Anos 1960 e 1970:
– Oneroso
– Disponível apenas para grandes corporações; – Mão de obra especializada;
– Conhecimento técnico restrito.
• Anos 1980 (início):
– Popularização dos sistemas computacionais; – Simulação em linhas de montagens:
• Questões de segurança e otimização da linha de produção; • Popularização nos meios acadêmico e empresarial.
• Anos 1980 (fim):
– Potencial reconhecido pelas organizações;
– simulação torna-se um requisito para aprovação de investimentos;
Histórico
• Anos 1990:
– Década da maturidade;
– Adotada por organizações de diversas áreas e diferentes portes;
– Utilizada em projetos a partir dos estágios iniciais:
• Computadores mais rápidos e baratos; • Software de simulação;
• Ferramentas intuitivas.
• Anos 2000:
– Presente no cotidiano; – Efetiva em diversas áreas:
• Entretenimento; • Saúde;
• Aeronáutica; • Meio ambiente.
M&S: vantagens
• Tempo: experimentos executados sobre o sistema real podem consumir anos;
• Custo: apesar dos consumo de recursos, tais custos ficam muito abaixo à execução de experimentos sobre o sistema real;
• Restrições práticas: situações em que experimentações diretas no sistema real não podem ser realizadas por questões de segurança, de tempo, de acesso, ou ainda de inexistência (sistema em
construção);
• Visualização: computadores oferecem recursos que facilitam a visualização dos resultados de uma simulação (gráficos, tabelas, estado do sistema, entre outros)
• Repetição: depois de construído, um modelo de representação pode ser executado n vezes a um custo muito baixo;
• Interferência: modelos são mais flexíveis para a realização de mudanças se comparado a um sistema real → gera informações pertinentes à tomada de decisões.
M&S: desvantagens
• Construção do modelo requer treinamento: dois modelos de um mesmo sistema podem ter
semelhanças, mas serão diferentes;
• Dificuldade na interpretação de resultados: a observação dos resultados e a relação entre os sistemas pode não ser trivial;
• Simulação pode demorar/custar caro: um modelo pode ser insuficiente para uma determinada
tarefa;
• Uso inapropriado da simulação: para certas situações a simulação não reflete o sistema.
M&S: aplicações
• Avanços na área de informática (hardware, linguagens de programação e software de simulação) → aplicação em várias áreas do conhecimento:
– projetar e analisar sistemas industriais
– Avaliar desempenho de hardware e software em sistemas de computação;
– Desempenho e estratégia bélicos;
– determinar frequência de pedidos para recompor estoque;
– projetar e administrar sistemas de transportes; – configurar sistemas de atendimento.
M&S no contexto das engenharias
a) Prever resultados na execução de umadeterminada ação;
b) Reduzir riscos na tomada decisão;
c) Identificar problemas antes de suas ocorrências; d) Eliminar procedimentos
desnecessários/redundantes;
– redução de custos com o emprego de recursos (mão-de-obra, energia, água e estrutura física).
e) Revelar integridade e viabilidade de um
determinado projeto em termos técnicos e econômicos.
M&S: etapas básicas
• Problema: identificação de um problema apresentado pelo sistema em estudo, bem como das partes (sub-sistemas) que interferem no problema;
• Estudo do sistema: descrição do sistema em termos de componentes, atividades, entidades, eventos, restrições; • Modelo: construção do modelo de representação do
sistema em estudo;
• Solução: realizar experimentos sobre o modelo construído, e utilizar as informações resultantes para propor soluções ao problema detectado inicialmente;
• Operacionalizar solução: executar alterações no sistema real com base nos resultados de simulação;
• Realimentação: re-elaboração parcial do trabalho de acordo com resultados obtidos na interferência sobre o sistema real.
Exemplo de Simulação – Eventos
Tempo de chegada de alunos/atendimento
Aluno Tempo de chegada (min) Tempo atendimento (min)
1 6 9 2 24 7,5 3 26 10 4 35 6,5 5 44 6 6 52 5 7 58 9 8 70 7,5 9 77 6,5 10 89 11
Simulação manual
Aluno Tempo de chegada (min) Tempo atend. (min) Tempo de entrada em atend. Tempo de saída da sala Tempo de espera na fila Tempo Total gasto 1 6 9 6 15 0 9 2 24 7,5 24 31,5 0 7,5 3 26 10 31,5 41,5 5,5 15,5 4 35 6,5 41,5 48 6,5 13 5 44 6 48 54 4 10 6 52 5 54 59 2 7 7 58 9 59 68 1 10 8 70 7,5 70 77,5 0 7,5 9 77 6,5 77,5 84 0,5 7 10 89 11 89 100 0 11Classificação dos modelos
• Modelos classificados em função das
alterações nas variáveis de estado do sistema; • Tempo é a principal variável independente;
outras variáveis são dependentes;
• Termos discreto e contínuo referem-se ao comportamento destas variáveis
dependentes;
• Tempo de evento: qualquer ponto ou
Modelos
• Modelo de mudança discreta: variáveis dependentes variam discretamente em pontos específicos do tempo simulado.
• Modelo de mudança contínua: variáveis dependentes variam continuamente ao longo do tempo.
Modelos
Modelagem para simulação discreta
• Definições:
– Entidades: objetos do sistema;
– atributos: tipos de características;
– Arquivos ou conjuntos: grupos de entidades.
• Formulação de um modelo realizada por três formas: – Mudança nos estados em função do tempo;
– Descrição das atividades em que as entidades estão envolvidas;
– Descrição do processo através do qual as entidades fluem.
Relações entre os conceitos de
atividade, evento e processo
• Evento ocorre em ponto isolado do tempo, processo é uma sequencia ordenada de
Três enfoques de simulação discreta
• Modelagem orientada a: evento/exame da atividade/processo.
1. Evento: produzida pela execução lógica
associada a evento, em sequencia ordenada no tempo. Ex. chegada do aluno/fim atendimento:
Evento chegada de aluno Evento término de atendimento
Escalone a próxima chegada Se professor ocupado
Então Nr_alunos=Nr_alunos+1
Senão estado do professor=Ocupado Próximo fim de serviço para
tempo_corrente + tempo_de_serviço
Se Nr_alunos>0
Então Nr_alunos=Nr_alunos-1
Escalone próximo dim de serviço para tempo_corrente+tempo_serviço Senão estado_do_professor=Desocupado
Três enfoques de simulação discreta
2. exame da atividade: entidades do sistemaenvolvidas em atividades com início e fim
definidos. Avaliação determinada no decorrer do tempo: condições para determinar início/fim.
3. processo: modelada em função do fluxo das entidades no sistema. Ex:
Crie entidades chegando a cada T unidades de tempo Espere pelo professor
Avance o tempo simulado pelo tempo de serviço Libere o professor
Modelagem para simulação contínua
• Variáveis de estado mudam continuamente; • Construído pela definição das equações quedefinem as relações entre suas variáveis de estado;
• Comportamento dinâmico simula o sistema real;
• Linguagens são orientadas a equação (ou afirmação). Garantem flexibilidade.
Modelos Baseados em Redes de Filas
• Recursos: componentes de um sistema (cpu de um computador, enlace de uma rede, terminal de uma linha de montagem, etc);
• Usuários: fazem uso dos recursos. Um recurso em uso causará uma contenção, resultando em filas ou linhas de espera.
• Sem contenção, a análise do desempenho é trivial; • Sistemas reais apresentam algum grau de contenção:
jobs competindo pela CPU, dados competindo por
buffers, tarefas em uma linha de montagem
competindo por ferramentas • Estrutura: redes de filas.
Redes de Filas
• Entidades básicas:– Centro de serviços e usuários
• Centro de serviço
– um ou mais servidores → recursos do sistema modelado;
– Área de espera (fila)
– EX: CPU modelado como centro de recurso.
• Usuário
– Entidade que circula pelo sistema modelado → tarefas ou transações
Propriedades
• Modelo de rede de filas mais simples
corresponde a um único centro de serviço:
– Modelo simples, sistema complexo;
– Não capturam a complexidade dos sistemas reais.
– Ainda assim possuirá vários mecanismos relacionando os usuários com a área de espera e o servidor.
• Usuários chegam a área de espera e demandam serviço
(padrões de chegada/serviço);
• Algoritmos de escalonamento: determina qual usuário
entrará em serviço;
• Taxa de atendimento: constante ou dependente do
tamanho da fila;
Centro de Serviços
• Essencialmente recursos ativos → realizam os serviços;
• Recurso passivo → não realiza o serviço, mas são extensões importantes:
– Limite de itens de um recurso passivo que pode ser alocado a um usuário;
– Usuário detém tais recursos por um tempo → fichas; – Importante para a representação da posse simultânea
de mais de um recurso para executar alguma tarefa.
• Roteamento: decisão que determinará qual
centro o usuário deverá seguir ao deixar algum centro de serviço
Distribuição de Probabilidades
• Em estatística, a função densidade de probabilidade ou simplesmente função de densidade é uma função não negativa utilizada para representar a distribuição de probabilidade caso a variável aleatória seja
contínua.
• Definições
x=variável aleatória
f(x)=função de densidade de probabilidade de x F(x)=função distribuição de probabilidade x
a=mínimo; b=máximo; m=moda
μ=valor médio; σ=desvio padrão σ²=variância
Distribuição Uniforme
• probabilidade de se gerar qualquer ponto em um intervalo contido no espaço amostral é
proporcional ao tamanho do intervalo -> “um número finito de resultados com chances
Distribuição normal (Gauss/Gaussiana)
• Descrita por seus parâmetros de μ e σ, ou seja, conhecendo-se estes valores consegue-se determinar qualquer probabilidade em uma distribuição Normal.
• Teorema do Limite Central: "toda soma de variáveis aleatórias independentes de média finita e variância limitada é aproximadamente Normal, desde que o número de termos da
Distribuição normal (Gauss/Gaussiana)
• Este fato é conhecido como regra 68-95-99.7, ou a regra empírica, ou a regra dos 3-sigmas.
Algoritmos de escalonamento
• Usados para decidir que usuário deve entrar emserviço quando um servidor está disponível: • FCFS → First Come First Served
• LCFS → Last Come First Served • RR → Round Robin
• IS → Infinite Server
• PRTY → Nonpreemptive priority
Modelos Simples de Sistema
Modelos Simples de Sistema
• Sistema com carga de processamento por transação
Modelos Simples de Sistema
Medidas de Desempenho
• Utilização do servidor: ativo→ fração de tempo ocupado; passivo→ fração de tempo que as
fichas estão em uso;
• Vazão: medida da taxa que os usuários completam o trabalho;
• Tamanho médio da fila: número médio de usuários a espera e em serviço;
• Tempo médio no sistema: tempo médio que os usuários gastam esperando na fila E em serviço.
Dados
• Estatística descritiva
– Agrupamento de dados/Estimação de parâmetros. • Experimentos → indicadores de desempenho;
• Análise empírica → subjetiva
• Agrupamento de dados
– Tabelas de distribuição
• Frequência, frequência acumulada e distribuição de frequência acumulada.
– Considerando o exemplo de atendimento de alunos (slide 12), temos...
...de frequência
Tempo de espera nr alunos
0 → 10 8 10 → 20 14 20 → 30 11 30 → 40 11 40 → 50 8 50 → 60 7 > 60 5
...de frequência acumulada
T. de espera aluno, < que nr alunos
10 8 20 22 30 43 40 54 50 62 60 69 ∞ 74
...distribuição de frequência
acumulada
T. de espera aluno, < que nr alunos
10 0,108 20 0,297 30 0,581 40 0,730 50 0,838 60 0,932 ∞ 1
Inferência estatística
• Em estudos de simulação, inferências ou predições,
concernentes ao comportamento do sistema sobre estudo, devem ser realizadas, baseadas nos resultados
experimentais obtidos da simulação.
• Devido ao fato de que a simulação possui elementos aleatórios, as saídas de uma simulação são amostras observadas de variáveis aleatórias, e em consequência, qualquer assertiva que se fizer quanto à operação do
sistema, baseada em resultados de simulação, deve levar em consideração a variabilidade inerente destas saídas. • Esta variabilidade é levada em consideração pelo uso de
Inferência estatística: variabilidade
• Para a definição desta variabilidade, pode ser feita uma análise estatística detalhada (durante o processo de
obtenção de informação) sobre a precisão e sensibilidade do modelo.
• Basicamente, deve-se estudar que saída seria obtida caso a simulação fosse realizada novamente ou se tivesse tido um tempo de execução maior.
• Quando isto é feito, assume-se que o modelo de
simulação é estocástico e que os elementos aleatórios do modelo vão produzir saídas que são probabilísticas.
Definições sobre variáveis
aleatórias
• I : número de intervalos, iterações ou observações individuais;
• Ti : tempo de término do i-ésimo intervalo; • Ni: o número de observações no i-ésimo
intervalo;
• Xi(t): a variável aleatória X no tempo t, no i-ésimo intervalo;
• Xi(n): a variável aleatória X para a n-ésima observação no intervalo i.
Definições (cont)
• Processo estocástico: conjunto de variáveis aleatórias ordenadas;
• Realização: conjunto de caminhos de amostras assumidos pelo processo estocástico;
• Série temporal: realização finita de um processo estocástico.
– Assim, {Xi(t), t E [0, ∞]} e {Xi(n), n=1,2,3,.., ∞}, definidas anteriormente são processos estocásticos. Em termos de simulação, cada execução produz uma série temporal para cada processo estocástico de interesse;
– A média das amostras de várias execuções independentes também produz uma série temporal para cada processo de interesse.
Testes de hipóteses
• Testes de hipóteses
• têm como objetivo decidir, com base na informação
fornecida pelos dados de uma amostra, sobre a aceitação ou não de uma dada hipótese;
• hipótese: conjectura sobre aspectos desconhecidos da amostra.
• Testes de hipóteses paramétricas
• supõe-se conhecida (ou aproximadamente conhecida) a forma da distribuição. Aplica-se apenas em dados que constituem uma escala de intervalos, ou seja, têm entre si intervalos contínuos e iguais.
• Testes de hipóteses não paramétricas
• neste caso pretende-se estabelecer algo sobre a
distribuição ou então não se admite o conhecimento da distribuição para o estudo dos parâmetros.
Hipóteses
• A metodologia em um teste de hipóteses consiste em formular duas hipóteses:
• hipótese nula H0 → especifica-se o valor do parâmetro ou a distribuição a verificar;
• hipótese alternativa H1
• A resposta num teste de hipóteses é dada na forma rejeição ou não rejeição de H0
Exemplo
• Hipótese Nula– 1. O que deve ser testado
– 2. Tem sérias consequências se for tomada a decisão errada
– 3. É designada por H0
– Exemplo → H0: Gerador Uniformemente Distribuído
• Hipótese Alternativa
– 1. Oposta à Hipótese Nula – 2. É designada por H1
– Exemplo → H1: Gerador não é Uniformemente Distribuído
Erros de decisão
• 1. Erro do Tipo I
– Rejeitamos a Hipótese Nula, apesar de Verdadeira. – Implica em sérias consequências.
– A Probabilidade de ocorrência de erros do Tipo I é
α, Chamado Nível de Significância (tipicamente 0.01 ou 0.05).
• 2. Erro do Tipo II
– Não rejeitamos a falsa Hipótese Nula.
– A Probabilidade de ocorrência de erros do Tipo II é
β.
Testes de aleatoriedade
• Tentam encontrar evidências estatísticas contra a hipótese nula.
• Tipos:
• Uniformidade (chi quadrado, Kolmogorov-Smirnov);
• Independência (gap test, run test (teste de corrida).
Propriedades desejadas
• Propriedades desejadas nos números aleatórios:
• uniformidade • independência
• Para assegurar que estas propriedades sejam alcançadas, são realizados alguns testes.
• Normalmente, estes testes são realizados na maioria dos software comerciais de simulação. • Os testes podem ser separados em duas
categorias de acordo com o interesse na
Uniformidade
• As hipóteses testadas para uniformidade são as seguintes:
• H0: Ri = U [0,1] • H1: Ri ≠ U [0,1]
– A hipótese nula, H0, , significa que os números estão uniformemente distribuídos entre [0,1) – Falha na rejeição da hipótese nula significa que
não foi detectado, com base neste teste, uniformidade.
• Isto não implica que outros testes de uniformidade sejam desnecessários.
Independência
• As hipóteses testadas para independência são as seguintes:
• H0: Ri = independente • H1: Ri ≠ independente
– A hipótese nula, H0, significa que os números são independentes
– Falha na rejeição da hipótese nula significa que não foi detectado, com base neste teste, independência.
• Isto não implica que outros testes de independência sejam desnecessários.
Nível de significância
• Para cada teste, o nível de significância α deve ser estabelecido.
• O nível α é a probabilidade da rejeição da hipótese nula dado que a hipótese nula é verdadeira ou (Erro tipo I)
• α = P (rejeitar H0/H0 verdadeira)
• O valor de α deve ser atribuído para cada teste
• Frequentemente, atribui-se um valor de α de 0,01 ou 0,05
Nível de significância
• Costuma atribuir-se um valor muito baixo à probabilidade do erro de tipo 1
• Considerando um α de 0,01 ou 0,05
• Rejeitar H0 significa que os dados testemunham fortemente contra H0.
• a probabilidade de se observar um valor igual ou mais extremo do que o observado, se a
hipótese nula é verdadeira
Teste de frequência
• O teste de Frequência é um teste de
uniformidade → imparcialidade nos
resultados entende-se como estes apresentam uma aparência de geração aleatória
• O principal método de efetuar o teste é chamado de Chi-Square
• A Hipótese Nula H0 é que as amostras geradas pelo gerador estão uniformemente
Chi-Square - etapas
1. Dividir o intervalo [0, 1] em k sub-intervalos 2. Gerar n Amostras X1, X2, ..., Xn
3. Calcular o número de amostras contidas em cada um dos intervalos N1, N2, ..., Nk
4. Calcular o valor estatístico:
V é o valor chi-quadrado da sequência;
pi é a probabilidade, a priori, da ocorrência do elemento ai; npi é o número de ocorrências esperada para o elemento ai; Ni é o número de ocorrências observada para o elemento ai.
5. Recorrer à tabela de Chi-Square para retirar Vk-1, 1- α, e
comparar com V:
– Se V > Vk-1, 1- α então rejeita-se a hipótese nula;
Exemplo 1
• 12 lançamentos de um dado
• Um dado (k=6 v = 5) lançado 12 vezes (n=12) • 6 possibilidades por lançamento; distribuição
normal → 5 graus de liberdade • pi= 1/6 npi = 2
• S = {4, 1, 4, 2, 2, 3, 5, 2, 2, 4, 5, 6}
Exemplo 1
• Nível de significância α
→ P (rejeitar H0/H0 verdadeira)
• Vk-1, 1- α = V5, 0,95 = 11,0705 • 4 ≤ 11,0705 (V ≤ Vk-1, 1- α )
Exemplo 2
• Supor que um gerador de números aleatórios gerou as seguintes n=50 amostras:
0.018 0.219 0.372 0.479 0.802 0.020 0.247 0.405 0.580 0.846 0.036 0.255 0.417 0.618 0.853 0.048 0.289 0.430 0.632 0.856 0.074 0.302 0.433 0.633 0.863 0.127 0.327 0.433 0.670 0.881 0.168 0.354 0.454 0.694 0.884 0.171 0.364 0.458 0.706 0.903 0.175 0.368 0.459 0.709 0.936 0.215 0.372 0.469 0.711 0.959
• intervalo unitário dividido em k=5:
Exemplo 2
• Supor que um gerador de números aleatórios gerou as seguintes n=50 amostras:
0.018 0.219 0.372 0.479 0.802 0.020 0.247 0.405 0.580 0.846
0.036 0.255 0.417 0.618 0.853 0.048 0.289 0.430 0.632 0.856
0.074 0.302 0.433 0.633 0.863 0.127 0.327 0.433 0.670 0.881
0.168 0.354 0.454 0.694 0.884 0.171 0.364 0.458 0.706 0.903
0.175 0.368 0.459 0.709 0.936 0.215 0.372 0.469 0.711 0.959
• intervalo unitário dividido em k=5:
N1=9 N2=12 N3=11 N4=8 N5=10
V=[(9-10)²+(12-10)²+(11-10)²+(8-10)²+(10-10)²]/10 = 1
Exercício
• Supor a sequência gerada por um GNP:
0.34 0.90 0.25 0.89 0.87 0.44 0.12 0.21 0.46 0.67 0.83 0.76 0.79 0.64 0.70 0.81 0.94 0.74 0.22 0.74 0.96 0.99 0.77 0.67 0.56 0.41 0.52 0.73 0.99 0.02 0.47 0.30 0.17 0.82 0.56 0.05 0.45 0.31 0.78 0.05 0.79 0.71 0.23 0.19 0.82 0.93 0.65 0.37 0.39 0.42 0.99 0.17 0.99 0.46 0.05 0.66 0.10 0.42 0.18 0.49 0.37 0.51 0.54 0.01 0.81 0.28 0.69 0.34 0.75 0.49 0.72 0.43 0.56 0.97 0.30 0.94 0.96 0.58 0.73 0.05 0.06 0.39 0.84 0.24 0.40 0.64 0.40 0.19 0.79 0.62 0.18 0.26 0.97 0.88 0.64 0.47 0.60 0.11 0.29 0.78
• Considerar o nível de significância de 5% ou 0.05 e 9 graus de liberdade. • Determinar se a hipótese de que os números foram gerados
Solução
V9, 0,95 = 16,92
3,4 menor ou igual a 16,92
→ Hipótese nula não pode ser rejeitada → distribuição é uniforme.
Teste de sequência
• O teste de Sequência é um teste que examina a combinação de números, de forma a testar a hipótese de independência.
– Idealmente, um conjunto de números aleatórios não deverá ter muitas nem poucas sequências.
• Se considerarmos X como sendo o número de sequências num conjunto de N números
Teste de sequência
• O valor médio de X é dado por:• Sua variância é:
Testes de corrida (Run Test)
• Os testes de corrida examinam o arranjo dos números numa sequência para testar sua
independência.
– Os testes verificam as sequências nas corridas