什么是流程仿真?定义、方法、局限
过程仿真就是说把一个流程做成模型,并用随机抽取的到达和处理时间多次运行它,以测量结果:吞吐量、周转时间、排队、利用率和成本。常见有三种方法:用于排队场景的离散事件仿真、用于自主行动参与者的基于主体仿真,以及用于库存和反馈的系统动力学。对于业务流程,几乎总是第一种方法是正确的。效益产生于波动、排队和步骤串联决定结果的地方,也就是凡是用表格时答案会系统性地显得过于乐观的地方。
Inhaltsverzeichnis
定义
过程仿真是在模型中对一个流程进行人工执行。 与其描述应该发生什么,不如让事件真实地通过模型运行:带时钟、带等待队列、带随机抽取的持续时间。测量的是输出结果。
与电子表格计算的区别在于一个关键术语:等待时间。表格将处理时间相加。仿真反映出如果下一步正被占用,某个项会等待。在行政与服务流程中,等待时间通常占总通过时间的90到99%。因此表格精确计算了不重要的部分,却忽略了重要的部分。
三种方法
| 方法 | 所映射的内容 | 典型应用 |
|---|---|---|
| 事件驱动(DES) | 单个事项通过各个站点运行并在队列中等待 | 业务流程、制造、急诊、呼叫中心、物流 |
| 基于主体(ABS) | 具有规则和相互作用的自主决策参与者 | 客户行为、流行病、交通、市场 |
| 系统动力学(SD) | 聚合层面的存量、流量与反馈 | 战略、人力发展(多年)、市场动态 |
对于带有步骤、角色和审批的业务流程,事件驱动几乎总是合适的方法。当参与者做出会改变流程的自主决策(例如客户流失)时,基于主体的方法更有意义。系统动力学不用于单个事项的结果,而用于长期存量的演变。
一个仿真模型所需的内容
每个步骤需要五项信息,其他的不需要:
- 到达: 有多少事项到达,波动有多大?仅有平均值不足以说明问题;损失发生在高峰日。
- 处理时间范围: 不是“10分钟”,而是“5到15”。范围才是关键信息:它产生等待队列。
- 产能: 人员×有效工时,或当设备决定边界时的固定节拍。
- 分支: 有多少比例的事项走哪条路径,哪些事项离开流程(被拒、撤回、流失)?
- 日历与成本: 何时工作,以及该角色每小时成本是多少(全面成本,而非毛薪除以2080)。
仿真模型不需要:事件日志、系统接入或完整数据。估算值是允许的,前提是这些估算以假设的形式可见。一个假设公开的模型优于一个隐藏假设的表格。
一次运行如何进行
1. 将时钟置零。抽取第一次到达时间。
2. 跳到下一个事件(到达、处理结束、班次变更)。
3. 推进状态:队列、被占用的产能、计数器。
4. 计划下一个事件,从分布中抽取持续时间。
5. 返回步骤2,直至达到时间范围。
6. 将整个运行重复数百次,每次使用新的随机数。
步骤6是Monte Carlo重复。真正的结果由此产生:不是单一数字,而是一个分布。由此可读出P10、P50和P90:最佳情况、中位数以及您据此做承诺的情况。
最终得到的内容
- 吞吐量: 该流程每天能处理多少事项?
- 通过时间: 以区间表示,而非均值。P50和P90。
- 每个步骤的利用率: 影响瓶颈的数值。大约在85%以上会很昂贵,因为等待时间按 ρ/(1−ρ) 增长。
- 等待队列: 在何处有多少事项在排队?
- 成本: 每项事务的人力成本,推算到全年。
以及在前后比较中回答那个证明工作量合理的问题:如果我解决了瓶颈,瓶颈会迁移到哪里,它值多少钱?
何时值得进行仿真,何时不值得
值得:
- 流程存在等待队列,且等待时间占通过时间的大部分。
- 量或持续时间波动明显。
- 您想在实施前计算某项变更的影响。
- 有人需要为数字签字并会提出质询。
不值得:
- 流程远低于产能上限且无拥堵。这时处理时间即为通过时间,简单相加即可。
- 您想要的是文档而非计算。为此应使用绘图工具。
- 您想知道昨天实际发生了什么。为此应使用 Process Mining。仿真计算的是一种假设,而非记录。
常见误解
“仿真需要完美的数据。” 不需要。它需要诚实的范围。一个范围为五到十五分钟的模型能给出有用的区间;一个捏造的十分钟只会产生表面上的精确。
“仿真能预测未来。” 不能。它显示在特定假设下会发生什么。价值在于对两个状态在相同假设下的比较,而非绝对数值。
“越详细越好。” 不是。五到十个步骤几乎总是足够。瓶颈位于利用率最高的位置,这在粗略建模下与精细建模同样显而易见。每增加一项活动都会增加输入字段,却未必改变结果。
总结
- 过程仿真是对流程的人工执行,而不是描述。区别在于等待队列。
- 对于业务流程,事件驱动仿真是合适的方法。
- 每步五项信息足够;估算可用,但须公开。
- 结果是一个分布,不是单一数值:P10、P50、P90。
- 主要价值在于前后比较以及瓶颈的迁移。
常见问题
流程建模和流程仿真有什么区别?
建模描述结构:有哪些步骤、谁来执行、在哪里分支。仿真还需要行为信息:到达量、持续时间的波动、每个角色的产能、日历。没有这些信息的图表无法被计算,无论您用哪个工具打开都一样。
业务流程需要哪种方法?
离散事件仿真。它再现通过各个站点运行并在被占用的步骤前等待的单个作业。这正是审批、申请或处理流程的结构。只有在参与者做出会改变流程的自主决策时,基于主体的仿真才有意义;系统动力学解答的是关于存量和多年时间尺度的问题,而不是关于单个作业的问题。
仿真需要多少次运行?
直到结果区间在增加更多运行时不再显著移动为止,对于业务流程通常是数百次。比起精确次数,更重要的是要重复进行:单次运行相当于一个样本为一,关于流程的结论与仅观察单个工作日差不多。
我能在 Excel 中仿真流程吗?
可以做粗略估算,但不足以用于决策。Excel 可以把处理时间相加,但不会在被占用的步骤前形成排队。恰恰是那里产生了周期时间。借助附加工具可以补上 Monte Carlo;但步骤之间的串联仍然超出 Excel 的能力范围。
流程仿真和数字孪生是同一件事吗?
不是。数字孪生是一个持续从真实运行接收数据并反映其状态的模型。流程仿真是为某个问题建立的模型,基于假设运行,决策后就被丢弃。孪生需要连接和维护的成本;仿真只需一个下午的成本。
在您自己的流程上进行计算验证
FlowVisual 会把本文中的数字变成一个可运行的模型,使用您的数量、您的产能、您的利润率。
Guide: seven steps to the number