0

我一直在评估 Optaplanner 与 optashift,最后(由于部署错误和 Openshift 依赖性)我决定使用 Optaplanner,即使我可能不得不处理我不熟悉的 Drool。

我一直在玩 Optaplanner 项目,我需要实现/参数化两个尚未找到如何处理的功能。

1.- 我有一个复杂的工作班次(6个工作日,2个休息日,6个工作,2个休息,6个工作和3个休息)。这可以在 import.xml 的 Pattern/PatternEntry 部分中参数化吗?如果我可以在某处说明总工作班次为 25 天,也许我可以假设 6+2 个时段(所以它会是 6+2+6+2+6+2,然后第 25 天有 1 个空闲日)。

2.- 我还必须考虑到他们在 27 天前做了什么来“继续”6、2、6、2、6、3 模式,但我不知道该怎么做。我想我应该为每个工人分配一个变量,以便指定 27 周期的哪一天应该开始。例如,iDayOfShift = 0,工人在 27 周期的第一天开始新的工作,但如果 iDayOfShift = 8,则意味着他正在开始第二个 6 个工作日的周期。这也可以配置为 import.xml 中员工信息的一部分吗?

4

1 回答 1

1

optashift-employee-rostering 处于非常活跃的开发阶段,并且 master 现在往往不稳定(MAR-2018)。这会变得更好——罗马不是一天建成的。

听起来 1) 更像是“旋转匹配”而不是“模式匹配”,在 optashift 中查看 Employee.rotationEmployee 的使用方式。

2)我不明白。但这就是 optashift-employee-rostering 在未来几个月内的目标:

在此处输入图像描述

于 2018-03-13T09:23:03.500 回答