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



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

我知道为什么它会为计划变量分配一个空值,例如在员工班次问题中,您宁愿希望一些班次未分配,而不是让员工负担更多班次。

因此,我想知道哪个规则(或约束(负责此类取消分配。

使用ConstraintMatchTotalIndictementAPI,您可以找出哪些约束(= 规则(被破坏了。

但无法大致确定某些内容仍未分配的原因。除了责怪所有其他实体。有时你可以精确定位它 - 轮班需要技能,没有员工拥有这种技能。但通常它要复杂得多。 我在这次演讲中谈到了这个谜团:https://www.youtube.com/watch?v=GnnMHkY6vKk

相关内容

最新更新