SimPy

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

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

El mercado de telecomunicaciones y servicios postales en Grecia está regulado por la Comisión Helénica de Telecomunicaciones y Correos...

DSL (desambiguación)

DSL o línea de suscriptor digital es una familia de tecnologías que proporciona transmisión de datos digitales a través de los cables de una red...

Área 51

Área 51 es el nombre común de una instalación altamente clasificada de la Fuerza Aérea de los Estados Unidos dentro del campo de pruebas y entrenamiento...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save