文档列表
本页内容

周期性与时变参数

什么是周期?

实际流程在不同时段运行状态不同。比如客服在上班时间处理更多请求,制造业有轮班,零售有明显的淡旺季。

周期让你灵活定义特定模拟规则的生效时间。不用只设置一个全局值,而是能针对不同时间段设置参数:

  • 工作日与周末
  • 早班与晚班
  • 旺季与淡季
  • 营业时间与非营业时间

这样让模拟能精准还原不同时间段下的真实表现。


周期为何重要

举个简单例子:客户到达建模。

没有周期:

  • 24小时每小时到达10人

有周期:

  • 工作日09:00-18:00每小时25人
  • 工作日18:00-21:00每小时15人
  • 周末每小时5人
  • 夜间每小时2人

第二种方案能更真实反应实际波动,提高队列、资源和产能利用率预测准确性。


可用周期类型

ProcessMind 支持九种周期类型,每种类型用于定义规则何时生效:

类型参数描述
Always(无)规则始终生效,无变动
Default(无)时间未命中其他规则时作为兜底规则
Fixed PeriodstartDateTime, endDateTime一次性时间段(不循环)
Each DaystartTime, endTime每天相同时间段生效
Each WeekdaystartTime, endTime仅限周一到周五
Each Weekend DaystartTime, endTime仅限周六、周日
Each WeekstartDay, startTime, endDay, endTime每周循环,可跨多天
Each MonthstartDayOfMonth, startTime, endDayOfMonth, endTime每月循环模式
Each YearstartMonth, startDayOfMonth, startTime, endMonth, endDayOfMonth, endTime每年或季节性模式

周期类型详解

Always

最简单方式,规则始终生效,无变化。

适用场景: 参数与时间无关,或只需基础模拟时。


Default

兜底规则,在其他规则未命中时生效。

适用场景: 你希望针对特殊时段定义例外,其余时间统一参数。

务必添加 Default 规则

如有多条周期规则,请务必加 Default,保证所有时间段有参数,避免意外。


Each Day

该规则适用于每一天指定时间段。

参数:

  • startTime: 起始时间(如09:00)
  • endTime: 结束时间(如17:00)

示例: 普通营业时间09:00-17:00,含周末均适用。


Each Weekday

该规则只在周一至周五指定时间段内生效。

参数:

  • startTime: 起始时间
  • endTime: 结束时间

示例: 客服中心工作日08:00-18:00,周末规则不同。


Each Weekend Day

该规则仅在周六与周日指定时段生效。

参数:

  • startTime: 起始时间
  • endTime: 结束时间

示例: 周末支持服务时间缩短为10:00-16:00。


Each Week

该规则适用于每周跨多天的特别时段,适合不便按单独一天划分的业务。

参数:

  • startDay: 起始星期(Monday等)
  • startTime: 起始时间
  • endDay: 截止星期
  • endTime: 截止时间

示例: 周三14:00到周五12:00为高峰段。


Each Month

该规则适用每月指定日期范围。

参数:

  • startDayOfMonth: 起始日(1-31)
  • startTime: 起始日时间
  • endDayOfMonth: 截止日
  • endTime: 截止日时间

示例: 每月结算高峰期:25日08:00至月底23:59。


Each Year

该规则适用每年指定日期范围。

参数:

  • startMonth: 起始月
  • startDayOfMonth: 起始日
  • startTime: 起始时间
  • endMonth: 结束月
  • endDayOfMonth: 结束日
  • endTime: 结束时间

示例: 节假日零售高峰为每年11月15日00:00至12月31日23:59。


固定时段

该规则仅在特定日期和时间段内生效(非周期性)。用于一次性事件。

参数:

  • startDateTime:准确开始日期和时间
  • endDateTime:准确结束日期和时间

**示例:**2025年3月15日至22日产品上线周,需设置专属处理规则。


组合多条规则

周期规则的强大之处在于可组合使用。你可为不同时间场景设定不同参数,模拟时会自动判定当前应用哪条规则。

示例:多班次处理用时

以制造业流程为例,不同班次下的处理时间如下:

规则名称执行周期处理时间分布
日班每个工作日,08:00-16:00Normal(30 min, 5 min)
晚班每个工作日,16:00-00:00Normal(45 min, 10 min)
周末班组每个周末日,10:00-18:00Normal(60 min, 15 min)
夜间/默认默认Normal(90 min, 20 min)

日班最快(人员齐全,员工精力充沛),晚班较慢(监督减少),周末最慢(仅保留基本人员)。默认规则适用于夜间时段。

规则优先级

当多条规则可能同时匹配时:

  1. 按照配置文件中定义顺序依次判断
  2. 采用第一条匹配的规则(上方优先)
  3. 默认规则仅在无其他规则适用时生效

提示: 建议将具体规则排在通用规则之前,如需区分工作日和周末,请将“每个工作日”放在“每天”上方。


周期的应用场景

周期可应用于多种模拟参数:

参数周期应用案例
Case Arrivals工作高峰期到达量高,夜间较低
Processing Times人手充足时处理快,人少时变慢
Resource Capacity高峰增人手,夜间只留值班
Skip Chances节假日/周末用不同流程分支
Gateway Probabilities按时间改变网关决策

综合示例:客服中心

以下是实际案例,展示周期规则如何作用于客户支持流程模拟的不同参数:

到达率配置示例

周期到达率
Each Weekday 09:00-18:00Poisson(每小时50)
Each Weekday 18:00-22:00Poisson(每小时20)
Each Weekend Day 10:00-16:00Poisson(每小时15)
DefaultPoisson(每小时5)

工作高峰时人流多,晚上适中,周末和夜间较低。

处理时长配置

执行周期分布
每个工作日 09:00-17:00Triangular(10, 20, 45 min)
每个周末日Triangular(20, 40, 90 min)
默认Triangular(30, 60, 120 min)

高峰时段最快,周末和非高峰时段较慢。

人员配置

执行周期可用人数
每个工作日 09:00-18:0010人
每个工作日 18:00-22:004人
每个周末日 10:00-16:003人
默认1人

工作时间内人手充足,其他时段人手减少。

整体运行方式示例

周二上午10:00:

  • 到达速率为每小时50人
  • 处理采用快速三角分布
  • 可用人员为10人

周二晚上8:00:

  • 到达速率降至每小时20人
  • 处理采用默认(较慢)分布
  • 仅4人可用

周六下午2:00:

  • 到达速率为每小时15人
  • 处理采用周末分布
  • 仅3人可用

最佳实践

1. 先设默认规则

建议先定义 Default 规则,确保所有未被其他规则覆盖的时间段都有参数。

2. 先粗后细

先区分大时间段(如工作日与周末),再根据需求细化更具体规则(如各班次)。

3. 初期保持简单

先只区分工作日/周末,之后按需补充小时或季节等复杂规则。

4. 以数据为依据

尽量分析历史 data,理解实际业务模式后再设定规则。比如分时段 arrival 量、处理时长及排班。

5. 检查边界情况

确保规则在交接时间点逻辑准确:

  • 17:00换班如何切换?
  • 跨午夜是否处理正确?
  • 月末规则在大月小月效果是否一致?

6. 规则要写明注释

复杂周期设置后续难以理解。请备注每条规则的业务背景或用途,便于维护。


下一步

Resources
用周期建模不同时间段的资源容量变化。