結果に表示される動作は、1つの期間(月曜日の午前9時など)にしか存在しない2つのコースが同じハードな制約があるにもかかわらず、とにかく期間。私がしたいことは、それらのうちの1つがnullに設定されているので、後でそれらを取得してユーザーに通知できることです。Optaplanner:ハード変数が破損した場合にプランニング変数をnullにする方法
この設定はありますか?そうでない場合は、どうすればこのようなケースを処理する必要がありますか?私のアプリケーションではハードな制約が崩れることが予想されますが、私にとって重要なことは、どのコースをスケジュールすることができないのかをユーザーに通知できることです。
ここだが、関連するハード制約ルールです:私が正しく理解していれば
rule "roomOccupancy"
when
Lecture(period != null, $leftPeriod:period, room != null, $leftRoom: room)
Lecture(eval($leftPeriod.overlaps(period) == true), $leftRoom == room)
then
scoreHolder.addHardConstraintMatch(kcontext, -1);
end