用途:SimPy 是标准 Python 的进程式离散事件仿真框架,用于建模实体(客户、车辆、数据包等)随时间相互作用并竞争共享资源(服务器、机器、带宽等)的系统。适合事件发生间隔不规则的离散事件系统、资源竞争、排队分析、流程优化、网络仿真、容量规划和系统验证。资料明确说明不适合固定时间步长的连续仿真(可考虑 SciPy ODE 求解器)、无资源分享的独立过程以及纯数学优化。
主要能力:使用 Python 生成器函数定义过程;提供 Resource、PriorityResource、PreemptiveResource、Container、Store、FilterStore、PriorityStore 等资源类型;支持事件驱动调度与同步,事件可用 & 等待全部、| 等待任意;支持与环境时间同步的实时仿真(simpy.rt.RealtimeEnvironment,factor 控制映射);提供监控与数据收集脚本(如 scripts/resource_monitor.py 的 ResourceMonitor、MultiResourceMonitor、ContainerMonitor,支持统计与 CSV 导出)以及 basic_simulation_template.py 模板。
使用方式:用 simpy.Environment(initial_time=0) 创建环境,以 env.process() 启动过程,用 env.timeout() 等待时间,用 with resource.request() as req: 申请资源,最后 env.run(until=...) 运行。资料给出的快速示例:env = simpy.Environment(); env.process(process(env, 'Process 1')); env.run(until=10)。
限制与注意事项:过程函数必须使用 yield;事件只能触发一次;应使用上下文管理器或确保资源释放;避免在过程内使用阻塞调用;保持时间单位一致;需防止死锁;建议设置 random.seed() 保证可复现。
价格、平台支持范围、许可与性能等事实暂未提供。