用途:SimPy 是基于标准 Python 的进程式离散事件仿真框架,用于建模实体(顾客、车辆、数据包等)随时间相互交互并竞争共享资源(服务器、机器、带宽等)的系统。
主要能力:使用 Python 生成器函数进行进程建模;共享资源管理(Resource、PriorityResource、PreemptiveResource、Container、Store、FilterStore、PriorityStore);事件驱动调度与同步(timeout、request、自定义事件、AllOf/AnyOf);与墙钟时间同步的实时仿真(simpy.rt.RealtimeEnvironment);监控与数据收集。
使用方式:创建环境 env = simpy.Environment(),用 env.process() 启动生成器进程,进程内用 yield env.timeout() 等待时间、用 with resource.request() as req: yield req 申请资源,最后 env.run(until=...) 运行。实时仿真用 import simpy.rt 并设置 factor。监控可借助资料中的 ResourceMonitor 等脚本,支持 report() 与 export_csv()。
适用场景:制造排产、医疗流程、通信网络、交通物流、呼叫中心、计算机系统调度等离散事件系统;也用于容量规划与系统验证。
限制:不适合固定时间步长的连续仿真、无资源共享的独立过程、纯数学优化。常见陷阱包括忘记 yield、事件只能触发一次、资源泄漏、阻塞调用、时间单位不一致与死锁。资料未提供收费、价格与平台信息。