simpy
Criar Simulações de Eventos Discretos com SimPy
Também disponível em: davila7
O SimPy permite modelar sistemas complexos com processos, filas e recursos compartilhados. Simule linhas de manufatura, operações de rede, tráfego de logística e otimize o desempenho antes da implementação.
Baixar o ZIP da skill
Upload no Claude
Vá em Configurações → Capacidades → Skills → Upload skill
Ative e comece a usar
Testar
A utilizar "simpy". Create a SimPy simulation of customers arriving at a bank with 2 tellers. Customers arrive every 3-5 minutes and service takes 5-8 minutes. Run for 8 hours and show average wait time.
Resultado esperado:
- Simulation Results: 8-hour bank operation
- Total customers served: 147
- Average wait time: 4.2 minutes
- Maximum wait time: 18.7 minutes
- Teller utilization: 87%
- Queue length peaked at 12 customers around hour 6
A utilizar "simpy". Build a SimPy model of a 3-stage manufacturing line where parts go through cutting (10 min), assembly (15 min), and inspection (5 min). Each stage has 1 machine. Analyze throughput.
Resultado esperado:
- Manufacturing Line Analysis Results:
- Parts completed: 23 over 8-hour shift
- Stage utilization: Cutting 96%, Assembly 72%, Inspection 36%
- Bottleneck identified: Cutting station
- Average cycle time per part: 32 minutes
- Suggestion: Add second cutting machine to increase throughput by 35%
A utilizar "simpy". Model a cloud data center with 10 servers handling 3 types of jobs.
Resultado esperado:
- Resource Allocation Results:
- Short jobs: 450 completed, avg wait 0.3 min, utilization 45%
- Medium jobs: 180 completed, avg wait 2.1 min, utilization 78%
- Long jobs: 45 completed, avg wait 8.4 min, utilization 92%
- Optimal allocation: 3 servers short, 4 medium, 3 long jobs
- Current over-provisioning: 2 servers
Auditoria de Segurança
SeguroStatic analysis flagged 260 potential security issues, but evaluation confirms all are false positives. The 'external_commands' findings are markdown backticks used for code formatting, not shell execution. The 'weak cryptographic algorithm' flags refer to random.seed() for simulation reproducibility. No actual security risks exist in this legitimate SimPy discrete-event simulation skill.
Fatores de risco
⚙️ Comandos externos (6)
🌐 Acesso à rede (3)
📁 Acesso ao sistema de arquivos (2)
Pontuação de qualidade
O Que Você Pode Construir
Otimizar Linhas de Manufatura
Modelar fluxos de produção para identificar gargalos, balancear capacidade e minimizar tempos de ciclo.
Simular Tráfego de Rede
Analisar roteamento de pacotes, alocação de banda e latência sob várias condições de carga.
Projetar Sistemas de Filas
Simular fluxo de clientes em bancos, hospitais ou varejo para determinar níveis ótimos de pessoal.
Tente Estes Prompts
Create a SimPy simulation of customers arriving at a bank with 2 tellers. Customers arrive every 3-5 minutes and service takes 5-8 minutes. Run for 8 hours and show average wait time.
Build a SimPy model of a 3-stage manufacturing line where parts go through cutting (10 min), assembly (15 min), and inspection (5 min). Each stage has 1 machine. Analyze throughput.
Simulate packets arriving at a router with 100 Mbps bandwidth. Packets are 1-5 KB and arrive at 50 packets per second. Show queue length and packet loss under peak load.
Model a cloud data center with 10 servers handling 3 types of jobs: short (1-5 min), medium (10-20 min), long (30-60 min). Jobs arrive randomly. Find optimal server allocation per job type.
Melhores Práticas
- Sempre use gerenciadores de contexto (declaração with) ao solicitar recursos para garantir limpeza adequada e prevenir deadlocks
- Defina random.seed() para resultados reproduzíveis ao comparar diferentes cenários de simulação
- Monitore e colete dados durante toda a simulação, não apenas no final, para capturar comportamento transitório
Evitar
- Esquecer instruções yield em funções de processo fará com que processos executem instantaneamente sem temporização adequada
- Reutilizar eventos que já foram triggerados causará erros de simulação ou comportamento inesperado
- Usar operações bloqueantes do Python como time.sleep() em vez de env.timeout() quebra o modelo de temporização da simulação
Perguntas Frequentes
Qual é a diferença entre Environment e RealtimeEnvironment?
Como escolho o tipo certo de recurso para minha simulação?
Posso interromper um processo em execução no SimPy?
Como coleto estatísticas personalizadas durante uma simulação?
Qual é a melhor maneira de modelar processos paralelos que precisam de sincronização?
Como posso exportar resultados de simulação para análise externa?
Detalhes do Desenvolvedor
Autor
K-Dense-AILicença
MIT license
Repositório
https://github.com/K-Dense-AI/claude-scientific-skills/tree/main/scientific-skills/simpyReferência
main
Estrutura de arquivos