本页内容

模拟引擎的工作原理

Process Intelligence Process Intelligence 流程智能席位及以上等级可使用此功能。只有此等级或更高等级的席位可以使用。 比较方案 流程智能席位或更高席位等级可用

了解模拟引擎

ProcessMind使用**离散事件模拟(DES)**引擎对流程建模。了解引擎的工作原理,有助于您更有效地配置模拟并准确解读结果。您可以通过免费试用,在自己的流程中体验该引擎。

ProcessMind模拟配置和结果

什么是离散事件模拟?

在离散事件模拟中,系统状态只会在特定事件发生时改变:时钟从一个事件跳到下一个事件,事件之间不会发生变化。这种方法适用于业务流程,因为:

  • 活动有明确的开始和结束时间
  • 资源会在特定时刻分配和释放
  • 案例会在明确的时间点进入流程并完成

为什么采用离散事件?

与用于物理或流体动力学的连续模拟不同,业务流程无需逐时刻建模。贷款申请不会从“已提交”逐渐变为“已批准”,而是在特定事件发生时改变状态。

核心事件循环

模拟引擎按以下简单循环运行:

1. Initialize: Set up starting conditions
2. Get Next Event: Find the earliest scheduled event from the priority queue
3. Advance Time: Move simulation clock to that event's time
4. Process Event: Handle the event (start activity, complete activity, etc.)
5. Schedule New Events: Based on what happened, add new events
6. Repeat: Continue until end time or max events reached (5,000,000)
7. Output: Generate the complete event log

事件类型

模拟会生成并处理多种事件:

事件类型 发生情况
案例到达 新案例通过开始事件进入流程
活动开始 案例开始执行一项活动(分配资源)
活动完成 案例完成一项活动(释放资源)
网关评估 决策点确定要走的路径
案例完成 案例到达结束事件

案例生成与到达

案例通过BPMN模型中的开始事件进入模拟。到达模式由案例生成分布控制。

默认到达模式

默认情况下,案例按泊松分布到达,速率为每小时1个案例。这会产生符合许多业务流程实际情况的随机到达间隔。

自定义到达模式

您可以使用概率分布文档中介绍的分布,配置不同的到达模式。

案例在流程中的流转

顺序流

案例完成某个元素后,会立即沿着流出的顺序流继续前进。如果只有一条流出路径,案例会自动沿该路径前进。

网关行为

网关控制案例的分支和合并:

网关类型 行为
XOR(排他) 根据概率权重随机选择一条流出路径。概率会作为相对权重处理,并自动归一化。
AND(并行) 同时沿所有流出路径前进。案例会拆分为并行 token。
OR(包容) 随机选择路径,并确保至少选择一条。
事件驱动 从可用事件中随机选择。

设置概率

对于XOR网关,您可以为每条流出顺序流设置概率。这些概率是相对权重:

  • 如果将顺序流设为70、20和10,归一化后分别为70%、20%和10%
  • 如果设为7、2和1,结果相同
  • 未设置的顺序流使用剩余百分比

活动执行

案例到达任务(活动)后,引擎会按以下顺序处理:

1. 检查资源是否可用

所需资源是否有可用容量?

2. 必要时进入队列

如果资源不可用,案例会进入等待队列。ProcessMind默认采用**FIFO(先进先出)**顺序:按案例到达的先后顺序处理。

3. 分配资源

资源可用后,系统会为该案例预留所需数量的资源单位。

4. 抽取处理时间

引擎会从已配置的处理时间分布中抽取一个数值,以确定活动所需时长。

5. 安排完成事件

系统会在current_time + processing_time将完成事件加入事件队列。

6. 释放资源

完成事件触发后,资源会返回资源池,供其他案例使用。

最短处理时间

为确保时间戳唯一且行为符合实际,所有活动的最短时长均为1秒。即使分布设置为零时长,活动也至少需要1秒。

跳过概率

您可以为活动设置跳过概率(0至100%)。跳过活动时:

  • 案例立即前进到下一个元素
  • 不消耗资源
  • 不经过时间(最短1秒除外)
  • 事件日志中会记录该活动,时长为最短时长

这可用于模拟实际流程中偶尔跳过某些步骤的情况。

时间处理

模拟时钟

模拟会维护一个虚拟时钟,按事件逐步推进。如果下一个事件发生在上午10:35,而当前时间是上午10:30,时钟会直接跳到上午10:35。

时间单位

所有时间都会在内部转换为统一单位。您可以使用以下单位指定时长:

  • 秒
  • 分钟
  • 小时
  • 天

到达率单独设置,可按小时、天、周、月或年计算。

周期性与时间段

参数可以随模拟时间变化。例如:

  • 工作日和周末采用不同的到达率
  • 早班和午班采用不同的处理时间
  • 高峰时段采用不同的资源容量

配置详情请参阅周期性文档。

资源管理

资源池

每种资源都有明确的容量,即它能同时处理的案例数量。

队列管理

需求超过容量时,案例会在队列中等待。ProcessMind默认采用**FIFO(先进先出)**顺序,确保按到达顺序处理案例。

生成事件日志

模拟运行期间,每次活动执行都会记录在输出事件日志中:

字段 说明
案例ID 每个案例的唯一标识符(按顺序生成)
活动 BPMN元素的名称
开始时间戳 活动开始时间
完成时间戳 活动完成时间
资源 执行活动的资源
属性 此时案例的各项属性

此事件日志采用标准格式,可使用所有ProcessMind工具进行分析。

模拟限制

限制 数值 用途
最大事件数 5,000,000 防止模拟无限运行
最短时长 1秒 确保时间戳唯一

先从小规模开始,再逐步扩大

创建模拟时,建议先设置较短的时间段(几天或几周)来验证配置。确认模型运行正常后,再延长模拟时间。

后续步骤

资源
了解如何对资源和容量限制建模。

优化流程,构建互联架构,掌控全局。

无需信用卡,也无需等待,即刻开始。将组织的实际工作方式转化为清晰、互联的流程设计。

构建流程架构,明确职责归属与管控措施,并在各层级统一角色分工。

开始免费试用,为流程治理、管理和持续改进建立可靠的统一基础。