🔬

simpy

Seguro ⚙️ Comandos externos🌐 Acceso a red📁 Acceso al sistema de archivos

Construye Simulaciones de Eventos Discretos con SimPy

También disponible en: davila7

SimPy te permite modelar sistemas complejos con procesos, colas y recursos compartidos. Simula líneas de fabricación, operaciones de red, tráfico de redes y logística para optimizar el rendimiento antes de la implementación.

Soporta: Claude Codex Code(CC)
🥈 77 Plata
1

Descargar el ZIP de la skill

2

Subir en Claude

Ve a Configuración → Capacidades → Skills → Subir skill

3

Activa y empieza a usar

Pruébalo

Usando "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:

  • Resultados de Simulación: operación bancaria de 8 horas
  • Total de clientes atendidos: 147
  • Tiempo promedio de espera: 4.2 minutos
  • Tiempo máximo de espera: 18.7 minutos
  • Utilización de cajeros: 87%
  • La longitud de la cola alcanzó un máximo de 12 clientes alrededor de la hora 6

Usando "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:

  • Resultados del Análisis de Línea de Fabricación:
  • Piezas completadas: 23 en turno de 8 horas
  • Utilización por etapa: Corte 96%, Ensamblaje 72%, Inspección 36%
  • Cuello de botella identificado: Estación de corte
  • Tiempo de ciclo promedio por pieza: 32 minutos
  • Sugerencia: Agregar segunda máquina de corte para aumentar rendimiento en 35%

Usando "simpy". Model a cloud data center with 10 servers handling 3 types of jobs.

Resultado esperado:

  • Resultados de Asignación de Recursos:
  • Trabajos cortos: 450 completados, tiempo promedio de espera 0.3 min, utilización 45%
  • Trabajos medios: 180 completados, tiempo promedio de espera 2.1 min, utilización 78%
  • Trabajos largos: 45 completados, tiempo promedio de espera 8.4 min, utilización 92%
  • Asignación óptima: 3 servidores para trabajos cortos, 4 para medios, 3 para largos
  • Sobreaprovisionamiento actual: 2 servidores

Auditoría de seguridad

Seguro
v4 • 1/17/2026

Static 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.

9
Archivos escaneados
3,202
Líneas analizadas
3
hallazgos
4
Auditorías totales

Puntuación de calidad

68
Arquitectura
100
Mantenibilidad
87
Contenido
20
Comunidad
100
Seguridad
91
Cumplimiento de la especificación

Lo que puedes crear

Optimizar Líneas de Fabricación

Modelar flujos de producción para identificar cuellos de botella, equilibrar capacidad y minimizar tiempos de ciclo.

Simular Tráfico de Red

Analizar enrutamiento de paquetes, asignación de ancho de banda y latencia bajo diversas condiciones de carga.

Diseñar Sistemas de Colas

Simular flujo de clientes en bancos, hospitales o comercio minorista para determinar niveles óptimos de personal.

Prueba estos prompts

Simulación Básica de Colas
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.
Línea de Fabricación
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.
Simulación de Paquetes de Red
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.
Optimización de Recursos
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.

Mejores prácticas

  • Siempre usa gestores de contexto (declaración with) al solicitar recursos para asegurar una limpieza adecuada y prevenir interbloqueos
  • Establece random.seed() para resultados reproducibles al comparar diferentes escenarios de simulación
  • Monitoriza y recopila datos durante toda la simulación, no solo al final, para capturar comportamiento transitorio

Evitar

  • Olvidar declaraciones yield en funciones de procesos causará que los procesos se ejecuten instantáneamente sin temporización adecuada
  • Reutilizar eventos que ya han sido activados causará errores de simulación o comportamiento inesperado
  • Usar operaciones bloqueantes de Python como time.sleep() en lugar de env.timeout() rompe el modelo de temporización de la simulación

Preguntas frecuentes

¿Cuál es la diferencia entre Environment y RealtimeEnvironment?
Environment ejecuta simulaciones lo más rápido posible, mientras que RealtimeEnvironment sincroniza el tiempo de simulación con el tiempo real para aplicaciones en tiempo real o hardware-in-the-loop.
¿Cómo elijo el tipo de recurso adecuado para mi simulación?
Usa Resource para límites de capacidad básicos, PriorityResource para colas de prioridad, Container para materiales a granel como combustible o agua, y Store para almacenamiento de objetos con FIFO o filtrado.
¿Puedo interrumpir un proceso en ejecución en SimPy?
Sí, usa process.interrupt() para reanudar forzosamente un proceso pausado. Esto es útil para modelar preemption, tiempos de espera o eventos de cancelación externos.
¿Cómo recopilo estadísticas personalizadas durante una simulación?
Usa la clase ResourceMonitor de los scripts proporcionados o crea monitores personalizados aplicando parches a los métodos de recursos y rastreando eventos durante la ejecución de la simulación.
¿Cuál es la mejor manera de modelar procesos paralelos que necesitan sincronización?
Inicia múltiples procesos con env.process() y usa el operador yield con el operador & para esperar a que todos los procesos completen, o | para cualquier completación de proceso.
¿Cómo puedo exportar resultados de simulación para análisis externo?
Usa el método export_csv() en ResourceMonitor para guardar los datos recopilados, o crea funciones de exportación personalizadas usando los diccionarios de datos rastreados durante la simulación.

Detalles del desarrollador