猿问

OptaPlanner:当未分配任务中的规划变量为空时,是否有可能知道哪个约束被破坏了?

我在 OptaPlanner 中使用 Drools 引擎。在某些任务未分配的情况下,当 OptaPlanner 将空值分配给计划变量时,我试图找出 Drools 中的哪条规则被破坏了。

我知道为什么它会为计划变量分配一个空值,就像在员工轮班问题的例子中一样,您宁愿不分配一些班次,也不愿让员工因更多班次而超载。

所以,我想知道哪个规则(或约束)导致了这种取消分配。


忽然笑
浏览 126回答 1
1回答

宝慕林4294392

使用ConstraintMatchTotal和IndictementAPI,您可以找出违反了哪些约束(= 规则)。但不可能普遍查明某些内容仍未分配的原因。除了责怪所有其他实体。有时您可以指出这一点——轮班需要一种技能,而没有员工具备这种技能。但通常它要复杂得多。
随时随地看视频慕课网APP

相关分类

Java
我要回答