2014-10-09 62 views
0

我試圖解決計劃問題。有機會我可以配置一個Move來使一些值不相關嗎? 例如:n女王問題:只要它站在田地上,女王就站在女巫行列上。Optaplanner使行無關

回答

0

如果您從nqueensScoreRules.drl中刪除所有約束條件並添加一個約束條件來定義該字段,那麼您會遇到這種情況。

在實踐中,我能想到的2種模式,做到這一點:

  • 如果Integer row規劃變量真的是沒用的,打開它的Boolean onField。那麼約束是顯而易見的,它應該是真實的。雖然我懷疑這需要求解解決:這是一個簡單的for循環:)容易解決

  • 如果需要其他規則的Integer row規劃變量,然後使它@PlanningVariable(nullable=true)並添加一個約束,它應該是不爲空。這被稱爲「過度約束計劃」(請參閱​​文檔和PAS示例)。