用途:SimPy 是基于标准 Python 的进程式离散事件仿真框架,用于建模实体(顾客、车辆、数据包等)随时间相互交互并竞争共享资源(服务器、机器、带宽等)的系统。适合离散事件系统、资源争用、排队分析、流程优化、网络仿真、容量规划与系统验证;不适合固定时间步长的连续仿真、无资源共享的独立过程或纯数学优化。
主要能力:用 Python 生成器函数定义进程;提供 Resource、PriorityResource、PreemptiveResource、Container、Store、FilterStore、PriorityStore 等资源类型;支持事件驱动调度与同步,事件可用 & 等待全部、| 等待任一;支持与墙钟同步的实时仿真(simpy.rt.RealtimeEnvironment);提供监控与数据收集手段,含 ResourceMonitor、MultiResourceMonitor、ContainerMonitor 及 CSV 导出。
使用方式:创建 env = simpy.Environment(),用 env.process() 启动进程,进程内用 yield env.timeout(5) 等待时间、用 with resource.request() as req: yield req 申请资源,最后 env.run(until=100) 或 env.run() 运行。实时仿真用 import simpy.rt; env = simpy.rt.RealtimeEnvironment(factor=1.0)。
限制与注意:进程函数必须 yield 事件才能暂停;事件只能被触发一次;需用上下文管理器或显式释放避免资源泄漏;避免在进程中执行阻塞调用;保持时间单位一致;防止死锁,确保至少一个进程能推进;建议设置 random.seed() 保证可复现。具体安装命令、版本与收费信息暂未提供。