在optaplanner中奖励而非惩罚

时间:2017-04-27 06:35:11

标签: drools optaplanner

所以我有讲座和时间段,并且在特定的时间段内教授一些需要的讲座。我该怎么做?

scoreHolder.addHardConstraintMatch(kcontext, 10);是否将此解决为严格约束?正数10的值是否确保课程在特定时间段内的约束?

我知道Penalty模式,但我不想让很多CoursePeriodPenalty个对象。理想情况下,我希望只有一个CoursePeriodReward个对象说明CS101应该在时间段9:00-10:00

1 个答案:

答案 0 :(得分:0)

使用不可移动的计划实体锁定它们将无法正常工作,因为我怀疑您仍然希望OptaPlanner为您决定房间 - 目前optaplanner仅支持每个实体的MovableSelectionFilter,而不是每个变量(投票支持打开jira吧。

积极的硬约束肯定会奏效。您的分数将难以为您的用户解释,例如,难度为0的解决方案将不可行(要么它没有得到+10难点,要么在其他地方丢失了10个难点)。 / p>

或者你可以添加一个新的负面硬约束类型,说明!= desiredTimeslot是否会松散10分。

相关问题