制造仿真中基于实体系统停留时长的优先级分配问题
制造仿真中基于停留时长的优先级调度方案
需求梳理:
涉及C1-C5共5个实体,各自创建时间分别服从参数为50、45…80的指数分布;系统配置5个独立工位,要求每道工序将最高优先级分配给系统内停留时长最长的实体。先到先服务(FCFS)策略因指数分布的随机性,无法实现该调度目标。可行解决方案:
- 实时追踪实体停留时长:为每个实体添加
entry_timestamp属性,记录其进入系统的初始时间,每次调度前计算当前仿真时间与该时间戳的差值,得到实时停留时长。 - 实现**最长停留优先(LSP)**调度逻辑:
- 为每个工位配置优先队列,队列以实体停留时长的降序作为排序规则;
- 工位空闲时,直接选取队列头部的实体(停留时长最长)进行加工;
- 新实体进入系统或完成某道工序后,根据其当前停留时长插入对应工序的优先队列对应位置,维持队列有序性。
- 适配指数分布特性:指数分布的无记忆性导致实体创建顺序与停留时长无直接关联,LSP策略完全以实时停留时长为判定依据,彻底规避FCFS的缺陷。
- 实时追踪实体停留时长:为每个实体添加
核心实现要点:
- 在仿真模型中为实体新增时间戳属性,确保进入系统时自动赋值;
- 调度触发时通过
当前仿真时间 - entry_timestamp计算停留时长; - 利用仿真工具自带的优先级队列组件(或自定义排序逻辑),将优先级权重设为停留时长的负值(保证降序排列)。
内容的提问来源于stack exchange,提问作者Jiten Prasad
相关产品推荐
相关产品推荐

