Simpy离散事件仿真(1)——simpy库

1 simpy库简介

SimPy是基于标准Python语言的基于过程的离散事件仿真框架。SimPy中的进程由Python的generator函数定义,例如,可以用于对客户、车辆或智能体等活动组件进行建模。SimPy还提供各种类型的共享资源来模拟有限容量的拥塞点(如服务、收银台和通道)。

模拟可以“尽可能快”进行,以(以实时(现实时钟时间)或通过手动执行单步事件模式)。

虽然理论上可以使用SimPy进行连续模拟,但它在实现上面没有任何特性优势。此外,对于具有固定步长的模拟,如果您的流程彼此之间或共享资源之间不交互的话,您实际上并不需要SimPy进行模拟。

本文档包含一个教程、几个解释关键概念的指南,以及一些示例和API参考。

SimPy是根据MIT许可协议发行的。鼓励仿真开发人员与SimPy社区共享SimPy建模技术。

 

2 安装

SimPy需要Python 2.7、3.2、pypy2.0或更高版本。

您可以通过pip轻松安装SimPy:

pip install -U simpy

 

3 一个简单例子

SimPy的主要目标之一是易于使用。

下面是一个简单SimPy模拟的示例:在每个事件打印当前的仿真时间:

import simpy

def clock(env, name, tick):

    while True:

        print(name, env.now)

        yield env.timeout(tick)

env = simpy.Environment()
env.process(clock(env, 'fast', 0.5))

    <Process(clock) object at 0x7f3d88347080>

env.process(clock(env, 'slow', 1))

    <Process(clock) object at 0x7f3d88330eb8>

env.run(until=2)

    fast 0

    slow 0

    fast 0.5

    slow 1

    fast 1.0

    fast 1.5

 

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值