9.4. 有关规划问题的约束
通常,计划问题至少有两个级别限制:
(负)硬约束 不能出现问题。
例如,一个老师无法同时教授两个不同的课时。
如果可以避免,则应该损坏 (负)软约束。
例如,Teacher A 不希望在星期五下午进行教学。
有些问题也有正的约束:
如果可能,应达到 正的软约束(或好处)。
例如,Teacher B 喜欢在上星期一早上教学。
一些基本问题只具有硬限制。有些问题有三个或更多限制级别,如 hard、medium 和 soft 约束。
这些限制定义了计划问题 的分数计算 (也称为适合性 功能)。规划问题的每个解决方案都会以分数为准。使用 OptaPlanner 时,分数限制以面向对象的语言编写,如 Java,或者在 Drools 规则中使用。
这种类型的代码非常灵活,可扩展。