Optaplanner使行无关紧要

时间:2014-10-09 13:39:29

标签: optaplanner

我试图解决计划问题。我是否有机会配置Move以使某些值无关紧要? 例如:n女王问题:只要它站在球场上,女王就会站在女巫的位置上。

1 个答案:

答案 0 :(得分:0)

如果从nqueensScoreRules.drl删除所有约束,你会得到这种情况 - 并添加一个约束来定义它在场上。

在实践中,我可以想到两个模型:

  • 如果Integer row计划变量确实没用,请将其打开为Boolean onField。那么约束是显而易见的,它应该是真的。虽然我怀疑这需要求解器才能解决:它可以通过简单的for循环轻松解决:)

  • 如果其他规则需要Integer row计划变量,则将其设为@PlanningVariable(nullable=true)并添加一个不应该为空的约束。这被称为“过度约束计划”(参见文档和PAS示例)。