Muitos dos meus colegas no passado pensavam que a simulação era uma ferramenta, um exercício ou uma animação. Mas a simulação de eventos discretos é, na verdade, muito mais do que isso. A simulação de eventos discretos é um processo. Sua execução deve seguir um modelo de procedimento. É por isso que, neste artigo, apresentarei um modelo de procedimento de simulação de eventos discretos.
Escolher um modelo de procedimento não é tão simples quanto você imagina. Por exemplo, modelos de procedimentos baseados em kanban e prototipagem rápida são modelos de procedimentos populares entre engenheiros de software. No entanto, embora a modelagem de simulação esteja intimamente relacionada ao desenvolvimento de software (envolve muita modelagem conceitual e codificação), aconselho fortemente a não usar esses tipos de procedimentos para executar um estudo de simulação. Em vez disso, proponho um modelo de procedimento sequencial que se move em fases.
Neste artigo vou explicar o meu modelo de procedimento. Sublinharei a motivação para a aplicação de um modelo de procedimento deste tipo. Meu modelo de procedimento se move de fase em fase, da definição do problema à modelagem, execução e, eventualmente, interpretação e documentação.
Benefícios do modelo de procedimento de simulação de eventos discretos
Os estudos de simulação são empreendimentos complexos e precisam de orientação estruturada. É aí que entram os modelos de procedimentos. A complexidade nos estudos de simulação se origina do próprio sistema subjacente, seus processos e dados, bem como da tarefa de modelá-lo virtualmente. Isso pode envolver muita modelagem lógica e, portanto, também muita codificação.
Os modelos de procedimento buscam reduzir a complexidade fornecendo uma estratégia estruturada de como proceder. Aqui listo algumas alavancas que utilizo para reduzir a complexidade:
- Formulo o problema em um nível de abstração mais alto. Isso ajuda a reduzir a complexidade
- Eu desenho os limites do sistema. Isso ajuda a excluir a complexidade do modeloI $
- Eu defino KPIs relevantes. Isso ajuda a focar no que realmente é mais importante
- Formulo uma descrição clara do problema
- Eu defino uma pergunta ou objetivo de pesquisa claro
- Eu desenvolvo um plano de experimento que fornece uma estratégia clara para a execução da simulação
- Desenvolver um modelo conceitual antes da codificação real auxilia na implementação do modelo real
Meu modelo de procedimento de simulação de eventos discretos
Eu exponho meu modelo de procedimento de simulação de eventos discretos na figura abaixo. Este modelo de procedimento é uma estrutura e uma diretriz. Não representa um conjunto de regras fixas. No entanto, usar essa estrutura como orientação proporcionará muitas das vantagens apontadas no meu parágrafo anterior.
Nas seções a seguir, explico meu modelo de procedimento de simulação de eventos discretos com mais detalhes. Aproveito a inspiração que coletei nos seguintes papéis:
- Link: Melhorando o rigor da simulação de eventos discretos
- Link (alemão): Methode zur Durchführung betrieblicher Simulationen
Definição do problema da situação atual
Durante as etapas iniciais de um estudo de simulação, é preciso entender o problema em questão. Este é o passo mais importante. É uma etapa fundamental que fornece uma base para a parte restante do estudo de simulação. Sem uma compreensão adequada do problema e do sistema em mãos, não se pode desenvolver um bom modelo de simulação.
Bons modelos de simulação são conduzidos de propósito. Com isso quero dizer que um bom modelo responde a uma questão de pesquisa específica. Como engenheiro de simulação, sou responsável por definir questões de pesquisa específicas. Devo primeiro derivá-los de uma definição de problema bem escrita. Eu também sou responsável por entregar essa definição de problema bem escrita.
Os principais passos executados durante esta fase são os seguintes:
- Entenda os processos e mapeie-os usando fluxogramas
- Entenda as principais entidades envolvidas
- Revise dados relevantes e entenda-os
- Identifique as partes interessadas relevantes e inclua-as
- Desenhe um limite relevante do sistema, definindo o que é e o que não faz parte do estudo de simulação
- Formule uma definição de problema
- Concordar com as principais métricas de desempenho relevantes para medir o sistema durante as execuções de simulação
- Desenvolva um plano de experimento de simulação
- Planeje como analisar os resultados da simulação
Desenvolvimento e implementação do modelo
Neste ponto eu já entendi o problema. Também já formulei uma
estratégia de como resolver o problema. Ou seja, desenvolvi um plano de como desenvolver um modelo de simulação e como executar o estudo de simulação de uma forma que me permita responder à questão de pesquisa. Posso, assim, prosseguir com a próxima fase do modelo de procedimento de simulação de eventos discretos. Esta fase é a fase de desenvolvimento do modelo.
Eu desenvolvo e implemento o modelo de simulação ao longo desta fase. É muito importante executar esta fase em duas etapas separadas. Em uma primeira etapa, desenvolvo um modelo conceitual. Em uma segunda etapa, implemento o modelo conceitual na estrutura de modelagem escolhida. Isso indica outro passo que pode ser relevante, a escolha de um bom framework de modelagem. A estrutura de modelagem deve ser adequada ao propósito. A estrutura deve ser capaz de abrigar modelos de simulação apropriados. Em outras palavras, escolho a estrutura de modelagem com base no problema em questão. Além disso, o modelo de simulação que desenvolvo depende do framework de modelagem escolhido.
Um engenheiro de simulação experiente escolherá primeiro uma ferramenta de simulação, depois desenvolverá um modelo conceitual e, eventualmente, o implementará.
A modelagem conceitual pode incluir atividades como mapeamento de processos e fluxogramas. Os diagramas de transição de estado são outra técnica de modelagem eficaz para modelagem conceitual. Em seguida, a implementação do modelo seguinte consistirá principalmente em configurar o banco de dados, desenvolver os modelos de visualização e
animação e construir a lógica do modelo de simulação por meio de, por exemplo, programação orientada a objetos. A implementação do modelo também deve considerar as estatísticas e implementá-las diretamente no modelo.
A coleta apropriada de dados de saída de simulação é importante. Dessa forma, sou capaz de realizar análises de dados de resultados de simulação em fases posteriores do modelo de procedimento de simulação de eventos discretos.
Verificação e validação do modelo
Eu tenho que testar todos os modelos de simulação totalmente implementados antes de iniciar a execução do experimento. Testes relevantes buscam verificar e validar o modelo. Nesta fase procuro garantir que a simulação esteja funcionando corretamente. Aqui, eu distingo entre dois termos: Verificação e validação.
A verificação do modelo de simulação visa verificar se o modelo funciona como pretendido. Ou seja, a verificação responde à pergunta se “o modelo funciona conforme definido no modelo conceitual”.
A validação do modelo de simulação é realizada uma vez que o modelo de simulação tenha sido totalmente verificado. A validação visa testar se o modelo de simulação representa os processos do mundo real com precisão suficiente. Por exemplo, o lead time de produtos em uma fábrica pode ser usado para validar se o modelo de simulação reflete corretamente os processos de fabricação relevantes do mundo real.
Execução de simulações e experimentos
Tendo um modelo de simulação totalmente verificado e validado disponível até agora, a quarta fase do meu modelo de procedimento de simulação de eventos discretos consiste principalmente na execução. Ou seja execução do plano de experimentos definido durante a primeira fase do modelo de procedimento de simulação a eventos discretos.
A execução pode ser demorada. Há duas razões para isso:
- Cada execução de simulação pode envolver a implementação de ajustes de modelo, o que pode exigir interação manual do engenheiro de simulação. Esses ajustes de modelo podem ser caros. Para evitá-los, muitas vezes tento desenvolver um modelo de simulação parametrizado nos estágios iniciais do modelo de procedimento.
- O cálculo de cada simulação pode levar muito tempo. Ou seja, poder computacional pode ser um gargalo. Em projetos que envolvem grandes modelos de simulação e/ou execuções de simulação, uso uma ferramenta de simulação que me permite compilar o modelo de simulação em código de máquina real. Isso ajuda a computação rápida.
Análise dos resultados da simulação
Eu analiso os resultados de simulação de execuções de simulação anteriores nesta fase do modelo de procedimento de simulação de eventos discretos. Isso pode resultar em execuções de simulação adicionais. Refiro-me a essas execuções de simulação adicionais como execuções de otimização. Eles geralmente procuram responder a perguntas muito específicas ou testar potenciais de melhoria específicos identificados durante a análise dos resultados da simulação.
Além disso, frequentemente aplico testes de sensibilidade neste ponto do modelo de procedimento. Eu já terei especificado isso no plano do experimento durante os estágios anteriores do modelo de procedimento de simulação de eventos discretos. Eu uso testes de sensibilidade para testar a sensibilidade dos achados. Por exemplo: “Quanto a taxa de transferência muda dependendo da variação nos tempos de processamento?”
Resumo do modelo de procedimento de simulação de evento discreto
A simulação de eventos discretos é uma técnica frequentemente aplicada a problemas muito complexos. E os modelos de simulação resultantes também podem se tornar muito complexos. Por esta razão é de suma importância a utilização de um modelo estruturado de procedimento de simulação de eventos discretos.
Neste artigo apresentei meu modelo de procedimento de simulação de eventos discretos. Ele fornece orientação estruturada para a execução de um estudo de simulação complexo, procedendo em fases. Cada fase tem um objetivo claro: A primeira fase visa definir uma estratégia clara de como abordar o problema. Durante esta fase, todos os dados relevantes já são coletados e analisados.
A segunda fase visa a construção do modelo de simulação. Uma boa abordagem aqui é decidir qual ferramenta de simulação usar primeiro. Em segundo lugar, um modelo conceitual deve ser desenvolvido. Isto pode ser feito usando, por exemplo, fluxogramas e diagramas de transição de estado. Por fim, o modelo conceitual é implementado usando a ferramenta de simulação, ou seja, escrevendo código etc.
A terceira fase garante que o modelo de simulação funcione como deveria e que represente suficientemente bem a realidade.
A quarta fase executa o plano do experimento de simulação. Este plano experimental de simulação deveria ter sido desenvolvido na primeira fase do modelo de procedimento de simulação de eventos discretos.
A quinta e última fase do modelo de procedimento de simulação a eventos discretos compreende a análise dos resultados da simulação. As conclusões devem ser tiradas nesta fase final, e isso pode exigir simulações adicionais. Podem ser necessárias execuções de simulação adicionais para, por exemplo, para fins de otimização ou para fins de análise de sensibilidade.
Cientista de dados com foco em simulação, otimização e modelagem em R, SQL, VBA e Python
Leave a Reply