Simulações Python: O que é SimPy, Pré-requisitos, Como executar simulações

Publicados: 2020-06-16

O mundo real funciona em diferentes partes dos sistemas, seja do ponto de vista infraestrutural ou tecnológico. Com a ajuda de simulações em Python , esses sistemas precisam ser otimizados por meio de modelos apoiados pelo framework SimPy. Os modelos são desenvolvidos com a ajuda de aproximar sistemas da vida real para prever a criação de um sistema complexo e, portanto, resolvê-lo por meio de algoritmos passo a passo.

Quando se trata de grandes empresas, analisar o sistema torna-se crucial para corrigi-lo e torná-lo robusto. Especialmente para serviços de emergência, como saúde e gerenciamento de aeroportos, é necessário monitorar as atividades dos indivíduos o tempo todo e estar preparado para lidar com situações desafiadoras. Isso só pode ser possível derivando insights de modelos de simulação Python.

Índice

O que é SimPy?

SimPy significa uma biblioteca de simulação de eventos especiais de código aberto baseada em métodos e orientada a objetos, preferida por empresas que lidam com gerenciamento de recursos 24 horas por dia, como passageiros, pacientes, veículos e ativos. Muitas vezes, esses sistemas vêm com restrições ou capacidades de tombamento, como balcões de check-out, recepções e rodovias.

Além desses serviços, o SimPy também ajuda na geração de análises gerais com a ajuda de variáveis ​​aleatórias em Python. Escrito inteiramente em Python, o SimPy pode ser executado em vários ambientes como Java Virtual Machine ou .NET.

Aqui está um exemplo de um trecho de simulação no SimPy:

env = simpy.Environment()

env.process(checkpoint_run(env, num_booths, check_time, passage_arrival))

env.run(até=10)

Como o ambiente e os parâmetros são definidos antes de executar o código, você precisa definir as variáveis ​​da seguinte forma:

  • env: Refere-se à situação em que a simulação é necessária para executar e analisar eventos.
  • num_booths: O número total de estandes equipados com verificações de ID.
  • check_time: O período para verificar o ID de cada passageiro.
  • passageiro_chegada: A frequência de passageiros esperando na fila.

Lembre-se de que essas variáveis ​​podem ser alteradas conforme e quando necessário para coletar dados adequados e baseados na realidade.

Agora que você sabe o que é necessário para elaborar uma simulação, aqui estão as etapas que podem ser úteis ao escrever o código para eventos semelhantes:

Etapa I: Definir o ambiente.

Passo II: Defina os padrões envolvidos.

Passo III: Execute a simulação.

Por enquanto, essas etapas são suficientes para começar antes de nos aprofundarmos nos outros processos envolvidos.

Leia mais: Guia do módulo de solicitações do Python: como usar a biblioteca de solicitações em Python?

Pré-requisitos Antes de Começar SimPy

Antes de começar com o SimPy, você precisaria de uma compreensão profunda dos fundamentos do Python, classes e geradores. Os geradores podem ser definidos como uma função Python discreta que retorna um objeto em iteração, que é anexado ao corpo da função, bem como suas variáveis ​​locais no início da função. É por causa desse iterador que a função ajuda na execução da instrução yield e gera o resultado da expressão fornecida.

As declarações de rendimento são as ferramentas que auxiliam na configuração do cronograma ou processo de qualquer evento. O evento pode ser um auto-gatilho (como até o próximo veículo sair) ou solicitar ou liberar qualquer recurso como um canal. Essas declarações são denominadas como:

  • solicitação de rendimento: Esta conta é usada para comandar o sistema para ser adicionado a uma lista de espera para qualquer recurso e colocá-lo em uso imediatamente.
  • yield hold: Essa instrução geralmente é usada para destacar qualquer tempo envolvido na execução de diferentes etapas em um método.
  • yield passivate: Esta instrução é usada para manter o processo em espera até que qualquer outra função o acione.
  • yield release: Esta declaração é usada no sistema para mantê-lo atualizado quando um processo é concluído, desencadeando assim as próximas etapas em espera na fila.

Agora que você tem uma ideia sobre o processo de trabalho do sistema, você também precisaria instalar o pacote em seu pedido com a estrutura inicial definida como SimPy. Este pacote principal o ajudaria a criar, gerenciar e executar todo o modelo de simulação. Com a ajuda de alguns módulos internos do Python, você pode compilar o tempo médio de espera envolvido, bem como obter os números aleatórios.

Os geradores de números aleatórios têm as seguintes funções:

  1. Definindo o módulo aleatório.
  2. Representando um gerador.
  3. Derivando uma variável aleatória: Como um número aleatório de 10 a 40: g. aleatória()

Confira: Salário do desenvolvedor Python na Índia

Aprenda cursos de ciência de dados das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.

Executando simulações em Python

Depois de terminar a codificação, você pode executar o programa com a ajuda de algumas classes e funções simples. Imagine um sistema de simulação para um teatro que precise entender o tempo médio de espera dos clientes.

Para melhorar com o SimPy, tudo o que você precisa fazer é fazer um brainstorming e criar simulações em Python com a ajuda de parâmetros, geradores, funções e classes. Como o ambiente de cada simulação varia de um caso para outro, aqui está uma rápida revisão dos processos envolvidos:

  • Configurando o algoritmo certo para qualquer simulação
  • Compondo o cenário em Python
  • Atribuindo e definindo funções com todos os recursos e métodos envolvidos
  • Otimizando os parâmetros na simulação para gerar resultados acionáveis

Leia também: 42 ideias e tópicos interessantes de projetos Python para iniciantes

Conclusão

Se você está curioso para aprender sobre Python, ciência de dados, confira o PG Diploma in Data Science do IIIT-B & upGrad, criado para profissionais que trabalham e oferece mais de 10 estudos de caso e projetos, workshops práticos práticos, orientação com especialistas do setor, 1-on-1 com mentores do setor, mais de 400 horas de aprendizado e assistência de trabalho com as principais empresas.

Quão útil é o SimPy em uma simulação?

SimPy é uma estrutura de simulação Python que é baseada em eventos discretos. Os processos são definidos no framework SimPy pelas funções geradoras do Python. Ele é usado para modelar os componentes ativos, como agentes, veículos ou clientes.

O SimPy é útil para todas as organizações e empresas que preferem lidar com gerenciamento de recursos 24 horas por dia, como ativos, veículos e pacientes. Muitas vezes é visto que esses sistemas possuem restrições ou capacidades de tombamento, como rodovias, recepções e balcões de check-out. As simulações podem ser realizadas com velocidade máxima com base no tempo do relógio de parede ou realizando manualmente os passos nos eventos.

Além desses serviços, o SimPy também ajuda as organizações a gerar análises gerais usando variáveis ​​aleatórias em Python. O SimPy é totalmente escrito em Python e pode ser executado em diferentes ambientes como .NET e Java Virtual Machine.

Como criar dados simulados em Python?

Muitas vezes precisamos de conjuntos de dados para praticar ou testar diferentes modelos para criar um conjunto de dados simulado para qualquer modelo com o uso do próprio Python. Isso nos ajuda na criação de dados simulados para regressão em Python.

O procedimento passo a passo para criar dados simulados em Python para regressão são:

1. Importando as bibliotecas - Nesta etapa, os conjuntos de dados e bibliotecas são importados para regressão.
2. Criação dos dados simulados - Os conjuntos de dados para regressão podem ser criados passando os parâmetros necessários para a regressão. A saída será obtida como um coeficiente de conjunto de dados, saída e recurso.
3. Imprimindo o conjunto de dados - Na última etapa, o conjunto de dados é impresso a partir de diferentes componentes, como coeficiente, saída e recurso.

Quanto um desenvolvedor Python ganha em média?

Se você é um desenvolvedor Python, pode esperar um salário médio de Rs. 500.000 por ano. Os salários definitivamente dependeriam muito de vários outros fatores, como localização geográfica, nível da empresa, experiência e muito mais. Você pode esperar uma faixa salarial de Rs. 200.000 a R$ 800.000 por ano para o papel de um desenvolvedor Python.