INTRODUÇÃO À
SIMULAÇÃO
MB-761 – Prof. Anderson Ribeiro Correia
Introdução
• Modelagem e simulação são ferramentas empregadas na
análise de sistemas complexos. O processo envolve a:
• Criação de uma representação (modelo) do sistema em estudo;
• Experimentação com o modelo do sistema guiado por um conjunto
de objetivos, tais como: melhorias de projeto, análise custobenefício, análise de sensibilidade dos parâmetros, etc.
• A experimentação produz um histórico do comportamento do
sistema ao longo do tempo, assim como estatísticas deste
comportamento.
CONCEITOS
Formas de Estudo de Sistemas
Sistema
Avaliação com
o Sistema Real
Avaliação com o
Modelo do
Sistema
Modelo
Físico
Modelo
Matemático
Solução
Analítica
Numérica
(Simulação)
CONCEITOS
Modelo
Um Modelo é a representação de um sistema real, sob um
determinado conjunto de condições operacionais
e
hipóteses simplificadoras que retratam a estrutura e o
comportamento do sistema correspondente (Law, A. M.,
2007).
Modelos Analíticos x Modelos de
Simulação
As diferenças entre modelos analíticos e modelos de
simulação estão na natureza de suas soluções:
• Analítico: obtenção da solução para um problema
matemático por meio de algoritmos. As soluções
encontradas são usadas como medidas de desempenho
do sistema.
• Simulação: a solução é obtida por meio da execução de
um programa (modelo) que produz amostras do
comportamento do sistema. As estatísticas obtidas destas
amostras são usadas como medidas do desempenho do
sistema.
CONCEITOS
Simulação de sistemas
• “Simulação implica na modelagem de um processo ou sistema, de
tal forma que o modelo imite as respostas do sistema real numa
sucessão de eventos que ocorrem ao longo do tempo”, Thomas
Schireber (1974).
• “Simulação é o processo de projetar um modelo computacional de
um sistema real e conduzir experimentos com este modelo com o
propósito de entender seu comportamento e/ou avaliar estratégias
para sua operação”, Dennis Pegden (1991).
• “Simulação é a aplicação de uma metodologia que permite
descrever o comportamento de um sistema usando um modelo
matemático ou um modelo simbólico”, John Sokolowski (2009).
SIMULAÇÃO E ENGENHARIA DE PRODUÇÃO
Processo e Conteúdo da Simulação
• A resolução e a análise dos problemas devem ir além de
critérios técnicos de simulação apenas, deve-se
considerar os impactos reais na organização.
• O sucesso do estudo envolvendo modelagem e
simulação dependem da correta implantação do:
• Processo de planejamento, condução e conclusão do estudo de
modo a conectar o mundo técnico do analista com o mundo real da
organização;
• Conteúdo e conhecimento relacionado ao sistema em investigação
e às ferramentas de simulação utilizadas.
CONCEITOS
SIMULAÇÃO
Vantagens
 Estudos de sistemas reais sem modificá-los;
 Possibilita melhor compreensão de quais variáveis são mais importantes
em relação a performance e como estas interagem entre si e com os
outros elementos do sistema;
 Facilita a identificação de “gargalos”;
 Permite análise do tipo “o que aconteceria se…”;
 Permite replicações precisas;
 Análise de condições extremas com segurança;
CONCEITOS
SIMULAÇÃO
Desvantagens
 Construção do modelo: treinamento e experiência
 Resultados: podem ser de difícil e complexa interpretação
 Resultado ótimo: podem ser necessárias inúmeras replicações e testes
 Modelagem consome tempo, especialmente para sistemas muito
complexos
PROCESSO DE
DESENVOLVIMENTO
DA SIMULAÇÃO
MODELO DE SIMULAÇÃO
Simulação de Eventos Discretos
• Os modelos de simulação computacional atuais executam,
sequencialmente e de maneira repetitiva, um conjunto de
instruções.
• Na medida em que as instruções são executadas, os
valores que determinadas variáveis podem assumir são
alterados, uma vez que se modificam as condições que
influenciam o comportamento do modelo.
MODELO DE SIMULAÇÃO
Simulação de Eventos Discretos
• Simulação de eventos discretos é utilizada para modelar sistemas que
mudam o seu estado em pontos discretos no tempo.
CHWIF, Leonardo. 1999.
TERMINOLOGIA
Terminologia Básica Utilizada
• Entidades e Atributos
• Recursos
• Variáveis de Estado
• Eventos e Atividades
TERMINOLOGIA
Entidades e Atributos
• Entidades: objetos que constituem o modelo, que se
movimentam através do sistema e seu comportamento é
rastreado.
• Exemplos: Pacientes em um hospital, aeronaves em um aeroporto,
máquinas em uma fábrica.
• Atributos: características pertencentes a cada entidade. Usado
para controlar o comportamento de uma entidade, e para
distingui-las entre si.
• Exemplos: Nome ou tipo de peça, cliente ou tarefa.
TERMINOLOGIA
Recursos
• Recursos são também objetos individuais do sistema,
mas são contáveis e fornecem serviços às entidades.
• Podem ter vários estados. Ocupado, livre, bloqueado, falhado,
indisponível, etc.
• Pode servir uma ou mais entidades ao mesmo tempo.
• Uma entidade pode operar com mais de uma unidade de recurso
ao mesmo tempo, ou com diferentes recursos ao mesmo tempo.
TERMINOLOGIA
TERMINOLOGIA
Variáveis de Estado
• Determinam o estado de um sistema num particular
momento.
• Constituem o conjunto de informações necessárias que
descrevem a evolução do sistema ao longo do tempo.
• Exemplo:
• Linha de Produção: o número de peças esperando para serem
processadas na máquinas (fila da máquina);
• Banco: número de caixas ocupados, número de clientes
esperando na fila do caixa, horário de chegada de cada cliente ao
banco.
TERMINOLOGIA
Eventos e Atividades
• Eventos são acontecimentos, ocorrências, que provocam mudança
de estado em um sistema.
• Toda mudança de estado é provocada pela ocorrência de um evento.
• Exemplos:
• Chegada ou saída de uma entidade (ex. Passageiro, cliente, aeronave) em um
processo.
• Início ou término de alguma operação.
• Atividades são operações e procedimentos com duração
predeterminada. Todo início e final de uma atividade é causada por
um evento (mudança de estado).
• Exemplo:
• Processamento por uma máquina.
PROCESSO DE SIMULAÇÃO
Escolher qual melhor: esse ou slide19
PROCESSO DE SIMULAÇÃO
Etapas da simulação
PLANEJAMENTO
• Formulação e análise do problema (objetivos)
• Planejamento do projeto (recursos necessários)
• Formulação do modelo conceitual (esboço do sistema)
• Coleta de macro-informações (ex: qual fonte de dado?)
MODELAGEM
• Coleta de dados
• Tradução do modelo (linguagem de simulação)
• Verificação e Validação (modelo ok?)
EXPERIMENTOS
• Projeto experimental (criar cenários)
• Experimentação (executar simulação: cenários)
• Análise dos resultados (estatística, análise desempenho)
CONCLUSÃO
• Comparação e identificação das melhores soluções
• Documentação e apresentação dos resultados
• Implementação
PLANEJAMENTO
Construção Modelo Conceitual
• Para construção do modelo conceitual é necessário o
entendimento claro do sistema a ser simulado e os objetivos
do estudo.
• Deve-se decidir com clareza qual será o escopo do modelo,
suas hipóteses e seu nível de detalhamento.
Capturar os fatores essenciais do sistema para elaboração do modelo
conceitual.
”a compreensão do sistema e a identificação de seus elementos mais
significativos dependem do conhecimento, da experiência e da
habilidade do modelador” Sakurada, N; Miyake, D. I. (2009)
MODELAGEM
Dados de entrada
• Coleta dos dados de entrada adequados para o modelo
(“Garbage In, Garbage Out”).
• O modelo é que deve dirigir a coleta de dados.
• Modelagem de dados de entrada:
Coleta de dados
Tratamento dos dados
Arquivos históricos,
Técnicas para
observações do
descrever dados
sistema, oriundos de
levantados (estatística
sistemas similares
descritiva)
Importante: A amostra
Existem outliers? (Erro
deve ser representativa na coleta? Evento raro?
do fenômeno
Retirar da amostra?)
Inferência
Qual distribuição de
probabilidade
representa o
fenômeno?
(exponencial, normal,
triangular, gama, etc.)
EXPERIMENTAÇÃO
Variabilidade dos Sistemas
• A utilização dos dados para o emprego em simulação
está em:
• Compreender o comportamento dinâmico e aleatório das variáveis,
com a intenção de incorporá-lo ao modelo.
• Diferentemente da solução analítica, que é:
• Determinar valores que representam o comportamento médio das
variáveis do sistema;
MODELAGEM
Implementação computacional
• Modelo conceitual é convertido em um modelo computacional:
codificação dos dados e relações previamente levantados por
meio de um software de simulação apropriado ou uma
linguagem de programação.
• Esta etapa deve ser combinada com a verificação do modelo:
• Comparar o modelo computacional frente ao modelo conceitual –
verificar se modelo computacional atende ao que foi estabelecido na
fase de concepção;
• Verificar erros de programação.
MODELAGEM
Validação
• Processo aonde o analista e cliente avaliam se o modelo
computacional implementado está de acordo com as
suposições iniciais e se está válido para utilização.
• Testes estatísticos (dados reais vs. resultados da simulação);
• Duplicação de modelos (duas equipes construindo mesmo
modelo);
• Comparação com modelos anteriores (se houver);
• Análise de Sensibilidade (alterar parâmetros de entrada).
EXPERIMENTAÇÃO
Experimentação
Razão final pela qual se constrói modelos de simulação:
Executar experimentos e modelar cenários alternativos.
• São efetuadas várias “rodadas” do modelo, observando-
se o sistema em determinadas condições.
• Determina-se estatisticamente quais fatores são
causadores de quais efeitos, possibilitando a construção
de conclusões apropriadas.
Obs: O alcance de significância estatística dos resultados
depende de quanto tempo o experimento é executado.
EXPERIMENTAÇÃO
Esquema: Modelagem e Experimentação
EXPERIMENTAÇÃO
Exemplo: Linha de Produção
Ex.: Componentes na
linha de produção de
fábrica
Ex.: Aumentar número
de funcionários,
aumentar maquinário.
Ex.: Tempo de
processamento, %
utilização máquinas e
funcionários,
identificação de
gargalos.
Modelos de Simulação de Monte Carlo
• Métodos numéricos que utilizam amostragem aleatória a
partir de uma função de distribuição de probabilidade.
• Os dados são artificialmente gerados empregando-se um gerador
de números aleatórios (GNA)
• Utiliza-se uma distribuição de frequências da variável de interesse.
• Estes são dois pontos fundamentais no uso desta técnica
e na sua posterior aplicação em programas de simulação.
Gerador de Números Aleatórios
• Algoritmos matemáticos capazes de produzir valores aleatórios
independentes e uniformemente distribuídos (todos com a
mesma probabilidade de ocorrência) no intervalo de 0 a 1.
• O aprimoramento pleno de algoritmos geradores de números
aleatórios deu-se com o advento dos primeiros computadores
digitais
• Por serem gerados artificialmente, os valores aleatórios
obtidos são conhecidos como números pseudo-aleatórios.
• A sequência de números produzidos por um destes algoritmos
é reproduzível e, portanto, não aleatória no sentido estrito do
termo.
VALIDAÇÃO DE
MODELOS DE
SIMULAÇÃO
Introdução
Durante o desenvolvimento de um modelo de
simulação é preciso estar seguro de que o
mesmo esteja sendo corretamente implementado.
VERIFICAÇÃO
VALIDAÇÃO
Verificar erros de
sintaxe e/ou de
lógica
Verificar se está
representativo do
sistema real ou
projetado
Verificação
• Avaliar se suposições e simplificações do modelo
conceitual foram corretamente implementadas no modelo
computacional.
• A verificação de modelos de simulação é equivalente a
retirar os “bugs” do programa (debugging).
Técnicas de Verificação
• Implementação Modular/ Verificação Modular
• Valores constantes/simplificados + cálculos manuais
• Variações dos dados de entrada
• Utilização do “Debugger”
• Animação Gráfica
• Revisão em grupo
O problema da Validação
Modelo de simulação
representação do mundo real
Apesar do grande esforço para descobrir os fatores
importantes do sistema, ...
...o modelo reflete os pontos de
vista de um indivíduo ou grupo
sobre o que deveria ser incluído.
O problema da Validação
• Na maioria das análises, constrói-se um modelo para que
este atue sob condições (operacionais ou gerenciais)
diferentes da realidade.
• Por isso, são poucas as possibilidades para a realização
de comparações detalhadas para fins de validação.
Um modelo de simulação totalmente correto é impossível,
porém, sua validação é medida pela proximidade entre os
resultados obtidos pelo modelo e aqueles originados do
sistema real.
Técnicas de Validação
• Teste de Turing ou validação black-box
Computador
Pessoa
Especialista
Técnicas de Validação
• Duplicação de modelos
• Comparação com modelos anteriores
• Análise de sensibilidade
• Validação “face a face”
Considerações Finais
Download

Aula 1: Introdução à Simulação