Hasty Briefsbeta

双语

Rotating Workforce Scheduling in MiniZinc

7 months ago
  • #MiniZinc
  • #workforce-scheduling
  • #optimization
  • 轮班制排班(RWS)是劳动力调度的一种变体,它为员工群体制定周度排班表,并通过轮换机制确保每位员工经历所有不同的班表以实现公平性。
  • 文章描述了如何使用MiniZinc构建贴近现实的RWS模型:从基础约束条件起步,逐步添加连续休息日、最长连续工作天数、周末休息要求、夜班限制等复杂规则。
  • 基础模型部分介绍了MiniZinc的数据结构定义(日期、员工、班次)和核心约束条件——确保每日每班次有准确数量的在岗人员。
  • 增强版模型增加了四项现实约束:每周固定连续休息日、最长无休工作日数限制(≤5天)、每三周至少一个完整周末休息、以及夜班前后必须安排休息的特定规则。
  • 通过多求解器(Gecode、OR-Tools、Chuffed等)基准测试发现:Gecode在简单问题上表现优异,而OR-Tools CP-SAT更适合大规模复杂实例。
  • 尝试定制搜索策略的实验表明,其效果通常不如求解器默认的启发式算法。
  • 最终强调迭代式模型开发、求解器性能对比、以及实际因素(如多样化班次类型和员工偏好)考量在排班系统中的重要性。