把休息放在一个班次里面

时间:2016-06-01 23:15:00

标签: optaplanner

我正在解决一个问题,这个问题与示例中的护士名单相近。除了默认的shiftAssignment(计划实体) - >员工(计划变量)我在班次中有一个小的任务,它将N个等分的班次分开。因此,shiftAssignment与具有计划变量“技能”的N个不同的smallAssignment计划实体实例相关联,因为计划的一部分必须是将员工分配给不具有未分配选项的smallAssignment实例的技能,必须有技能或它将是一个休息。

另外还需要计划的是可以取代M个不同的小任务的中断,其中M介于1和小于N的数字之间。中断不具有固定的起始时间和长度这就是为什么它需要有计划。

处理这个问题的最佳方法是什么?

  1. 创建自定义移动,将M个不同的小型赋值实例中的变量“技能”的值设置为valueRange的特殊值。
  2. 通过创建N个不同的shiftAssignment实例来修复中断,因为每个中断可能性都有一个中断可能性,而不是创建跨越中断时间的连接的smallAssignment实例。
  3. 将结束位置作为最后一个阶段或单独的解算器
  4. 考虑不同的选择

0 个答案:

没有答案