一些Optaplanner自定义疑问

时间:2018-03-12 12:46:09

标签: optaplanner optaweb-employee-rostering

我一直在评估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中的员工信息的一部分?

1 个答案:

答案 0 :(得分:1)

optashift-employee-rostering正处于非常活跃的发展阶段,现在主人往往不稳定(MAR-2018)。这将变得更好 - 罗马不是一天建成的。

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

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

enter image description here