Simulação de Eventos Discretos em Python
Dr Diogo Costa
Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific
Entender o sistema dinâmico
Definir objetivo(s) do modelo de eventos discretos
Identificar processos:
Identificar os recursos do SimPy (resource, container, store)
Definir a arquitetura do modelo:
Entender o sistema dinâmico
Objetivos do modelo
O que você quer otimizar?
Variáveis de estado para monitorar esses objetivos
Recursos compartilhados
simpy.Resource(env, capacity=4)
Exemplos
Containers
simpy.Container(env, capacity,
init=initial_capacity)
Recurso que se comporta como tanque ou cesto
Adiciona e remove quantidades:
.put() e .get()
Exemplos
Store
simpy.Store(env, capacity=4)
Recurso tipo loja com vários itens
Capacidade é ilimitada (padrão)
Espaços de capacidade para armazenar objetos arbitrários
Adiciona e remove itens:
.put() e .get()
Exemplos
O SimPy usa operadores bit a bit para concatenar dois eventos
Tipos de operadores em Python
Operadores bit a bit
a & b, a >> b, a ^ bNo SimPy
Operadores bit a bit relevantes no SimPy
__and__() ou &__or__() ou |Simulação de Eventos Discretos em Python