用途: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(5) 等待时间、用 with resource.request() as req: yield req 申请资源,最后 env.run(until=100) 或 env.run() 运行。实时仿真用 import simpy.rt 与 RealtimeEnvironment(factor=1.0)。资料还提供 basic_simulation_template.py 与 resource_monitor.py 脚本模板,以及 references 下的资源、事件、进程交互、监控、实时仿真文档。
适用场景:制造排程与产线、急诊与患者流、网络流量与带宽分配、交通物流、呼叫中心与零售结账、CPU 调度与 I/O 等。
限制与注意:进程函数必须 yield 事件才能暂停;事件只能触发一次;需用上下文管理器避免资源泄漏;避免阻塞调用;保持时间单位一致;防止死锁。资料未提供收费、价格、平台与效果信息。