Neste artigo, compartilharei um exemplo de animação de simulação de eventos discretos em Python. Mais especificamente, uma animação de simulação de transporte de caminhão para uma mina, usando SimPy e DesViz em Python. Este exemplo, e o módulo DesViz, foram desenvolvidos pelo Prof. Paul Corry e sua equipe e estou compartilhando novamente seu exemplo neste post. Usando o DesViz SimPy, os desenvolvedores de modelos podem animar seu modelo de simulação .
Abaixo está uma animação de um modelo de simulação de transporte de caminhão SimPy para operações de mineração.
O exemplo está documentado e disponível no repositório GitHub de Paul Corry: https://github.com/corryp/DesViz
Como o DesViz pode ser usado para animação de simulação em Python?
Citando diretamente da documentação do DesViz:
DesViz é uma coleção de classes e funções Python que facilitam a animação assíncrona para modelos de simulação de eventos discretos ( DES ). Ele é construído sobre o pacote Pyglet, que fornece a funcionalidade gráfica subjacente. DesViz permite que um modelo DES escreva um arquivo csv que é posteriormente interpretado pelo DesViz para configurar e mover sprites que representam objetos de fundo e de primeiro plano na simulação. Cada linha do arquivo csv fornece o tempo de simulação, uma instrução de animação e um conjunto de argumentos relacionados a essa instrução. Estas instruções fornecem um método compacto para especificar a aparência e os movimentos do sprite de maneira útil em um contexto DES .Documentação DesViz, por Paul Corry
Os desenvolvedores do SimPy podem usar o DesViz para animar seu modelo de simulação , em uma abordagem de duas etapas. Primeiro, eles devem usar a biblioteca DesViz para gerar e armazenar dados de animação. A seguir, a animação é usada para renderizar uma animação.
Aqui estão alguns exemplos do que você pode animar com DesViz:
- movimentos de ponto de pixel a ponto de pixel ou ao longo de caminhos predefinidos, com orientações automáticas de objetos
- ajustar as orientações dos objetos, ou seja, animar as rotações dos objetos
- definir relações mestre-escravo entre objetos para fins de animação, por exemplo, caminhão (mestre) e trailer (escravo)
- barras de progresso, estáticas ou anexadas a outro objeto (ou seja, movendo-se junto com o objeto associado)
- rotulagem, anotação e imagens de fundo
- velocidade de animação definida (intervalo de quadros, ou seja, fps – quadros por segundo)
Nos bastidores, DesViz preenche um banco de dados (arquivo csv) com instruções de animação definidas. Estas instruções devem ser implementadas na própria aplicação de simulação. O banco de dados subjacente é preenchido durante a execução da simulação e então usado para renderizar a própria animação. Para isso, DesViz oferece uma gama de classes, métodos e funções.
Conteúdo Relacionado
Se você estiver interessado em aprender mais sobre simulação de eventos discretos e implementação de modelo relacionado em Python, você pode estar interessado nas seguintes postagens do blog:
- Link: lista de software de simulação de eventos discretos
- Link : Métodos de simulação para analistas de SCM
- Link: Modelo de procedimento de simulação de eventos discretos
- Link : Job shop SimPy Python simulação
- Link : Visualizando estatísticas com salabim (DES, Python)
Se você estiver interessado em aprender mais sobre simulação e seus casos de uso na indústria de mineração, poderá se interessar pelos seguintes artigos:
- Link: Simulação de mina a céu aberto para melhor planejamento
- Link : Simulação e seus casos de uso na indústria de mineração
- Link : Enfrentando problemas de mistura na indústria de mineração
- Link : Resolvendo o problema da mistura de minério de ferro
- Link : Analytics na cadeia de valor da produção de aço
Cientista de dados com foco em simulação, otimização e modelagem em R, SQL, VBA e Python
Leave a Reply