SimPy
SimPy es un marco de simulación de eventos discretos basado en procesos basado en Python estándar. Permite a los usuarios modelar componentes activos como clientes, vehículos o agentes como simples funciones de generador de Python. SimPy se lanza como software de código abierto bajo la licencia MIT. La primera versión fue lanzada en diciembre de 2002.
Su despachador de eventos se basa en los generadores de Python y se puede usar para redes asincrónicas o para implementar sistemas de múltiples agentes (con comunicación tanto simulada como real). Las simulaciones se pueden realizar "lo más rápido posible", en tiempo real (hora del reloj de pared) o recorriendo manualmente los eventos. Aunque teóricamente es posible hacer simulaciones continuas con SimPy, no tiene características para llevarlas a cabo. Sin embargo, SimPy es excesivo para simulaciones con un tamaño de paso fijo donde sus procesos no interactúan entre sí o con recursos compartidos; use un bucle while
simple en este caso.
Además, SimPy proporciona diferentes tipos de recursos compartidos para simular puntos de congestión que tienen una capacidad limitada, como servidores, mostradores de pago y túneles. En la versión 3.1 y posteriores, SimPy ofrece capacidades de monitoreo para ayudar a recopilar estadísticas sobre procesos y recursos.
Simpy 3.0 requiere Python 3, mientras que Simpy 4.0 requiere Python 3.6+. La distribución de SimPy contiene tutoriales, documentación y ejemplos.
Ejemplo
La siguiente es una simulación de SimPy que muestra un proceso de reloj que imprime el tiempo de simulación actual en cada paso:
, titulado importación simpático, titulado, titulado def reloj()env, Nombre, .):... mientras Cierto.:... impresión()Nombre, env.Ahora)... rendimiento env.tiempo fuera().)..., titulado env = simpático.para el Medio Ambiente(), titulado env.proceso()reloj()env, 'fast ', 0.5)Process(clock) objeto en 0x..., titulado env.proceso()reloj()env, Despacio. ', 1)Process(clock) objeto en 0x..., titulado env.Corre()hasta=2)rápidolento 0 rápido 0,5 lento 1 rápido 1.0 rápido 1,5
Contenido relacionado
Telecomunicaciones en Grecia
DSL (desambiguación)
Área 51