Workforce Scheduling API 提供了两个使用 SolveShiftGeneration 和 SolveShiftScheduling 方法的求解器。班次生成求解器会创建一组班次,以便在给定时间范围内最大限度地覆盖员工需求。相比之下,轮班安排求解器会将特定员工分配到一组预定的班次。每个求解器都可以独立使用。具体而言,在班次调度求解器中分配给员工的班次可以由用户指定,也可以使用偏移生成求解器生成。
Shift 生成求解器
班次生成求解器会选择一组班次,以便最大限度地减少满足给定需求概况所需的员工总数。
求解器的输入是一个请求,用于描述偏移模板和员工需求。Shift 模式模板决定了求解器在创建偏移时必须遵循的规则。员工需求描述的是加班时间的员工人数,最短为 1 分钟。
求解器的输出是一个响应,其中包含一系列班次以及每班次所需的员工人数。为方便起见,每当无法涵盖所有需求时,系统也会向用户提供需求覆盖范围违规行为列表。
特性
如需深入了解求解器的各项功能,请参阅 API 文档。下面总结了该分析器最受欢迎的功能。
Shift 模板
轮班模板主要确定任意指定日期轮班的时长和可能的开始时间。此外,可以指定每个轮班模板每天的最大员工人数以及每周的休息天数。
Shift 模板还可以指定事件模板列表,以表示预定的中断,例如休息或员工培训。事件模板可确定开始时间(相对于偏移开始时间)和事件的时长。
员工需求波动
对员工的需求可能会随着时间的推移而波动。具体而言,员工需求可被指定为短至 5 分钟或与计划的时间范围一样长的时间间隔。没有指定需求的时间段相当于需求为零的员工。
轮班安排求解器
轮班安排求解器可优化员工轮班的分配,以便满足时间安排约束条件(或最大限度地减少违规行为),并将员工偏好考虑在内。
求解器的输入是一个“请求”,其中会说明员工、班次、覆盖范围要求和预算要求。对于每位员工,您可以指定角色、技能和时间安排限制,以定义每位员工的有效日程安排。员工班次决定了员工可以工作的时间和地点,而覆盖率要求决定了一段时间内对不同员工角色(和技能)的需求。
求解器的输出是包含员工-轮班-角色分配的响应,汇总了每位员工的班次和分配给他们的角色(按班次)。
特性
如需深入了解求解器的各项功能,请参阅 API 文档。下面总结了该分析器最受欢迎的功能。
员工调度限制条件
指定特定员工的时间安排应满足的规则或限制。具体来说,它支持:
- 最短 / 最长工作时间
- 最短 / 最长连续天数
- 调整次数下限 / 上限
- 轮班之间的最短休息时间
- 资源限制条件
- 在特定轮班期间让班次被要求上班(或不上班)
员工偏好设置
指定员工在特定轮班中拥有的数字偏好设置,并将员工名单中的偏好总和最大化。
保修范围要求
指定在特定角色工作多个时间范围内工作的员工数。覆盖范围要求可以与指定的轮班列表保持一致,但也可以为所需工作员工数量定义更精细的时间范围。
预算要求
为员工指定按固定小时费率和加班小时费率,并结合全局预算限制的合同。预算可以是员工费用的最高值,也可以表明需要最大限度地降低此类费用。
限制条件优先级
每个员工时间安排限制条件、覆盖率要求和预算要求都被赋予了优先级(强制、高、中或低)。求解器必须满足所有具有强制性优先级的约束条件。求解器可能会违反具有任何其他优先级的约束条件,但会根据优先级顺序尽量减少这些违规行为。最大限度减少每个优先级中的约束违规情况后,求解器会考虑员工偏好。
如何入手
如需获取对 Workforce Scheduling API 的访问权限,请按照可信测试员说明进行操作,然后按照setup指南获取 API 密钥。在获得 API 访问权限后,请参阅 API 示例开始使用。如果您有任何疑问,请发送电子邮件至 or-workforce-scheduling+contact@google.com。