我们可以为每个使用(nullable = true)
使用两个计划变量吗?
如果是这样,我们如何在Drools规则文件中处理它们?
我知道当我们使用一个计划变量时,我们用(nullable = true)定义它,然后在规则中我们使用 $ planningVariable!= null "的 PAS "例如,我试过这个并且效果很好,但是使用两个计划变量呢?
我们可以在 CurriculumCourse 上应用此功能吗?如果是这样,过度约束的数据应该在输出中显示为两个计划变量的未分配数据,或者只显示在其中一个中?
答案 0 :(得分:0)
是的,当然可以。但是像往常一样,你必须确保你的分数限制(=分数规则)惩罚/奖励你想要达到的目标。
例如,在CurriculumCourse上,如果Lecture
或room
为period
,我认为您有一个负面的媒介约束,会对null
进行惩罚。如果两者都是null
,请不要对它进行更多惩罚,否则最终将会有很多半分配的实体。但尽管如此,你仍然可能最终得到一些半分配的实体,所以要解决这个问题:
null
)作为半分配是无用的。可以从以下方面有效地进行额外解决: