私は現在optaplannerのコースのカリキュラム例を読んでいると私はこれを理解するように見えることはできませんのための説明:Optaplannerカリキュラム例に、curriculumCourseScoreRules.drl
rule "conflictingLecturesSameCourseInSamePeriod"
when
// line 1
Lecture($leftId : id, $leftCourse : course, $period : period, period != null)
// line 2
Lecture(course == $leftCourse, period == $period, id > $leftId)
then
scoreHolder.addHardConstraintMatch(kcontext, -1);
end
質問は以下のとおりです。
- 違いは何ですか1行目の講義()と2行目の講義の間には?
- 私は、変数assignementsは、1行目に起こっているが、2行目では、course
と$leftCourse
、period
と$period
とid
と$leftId
の違いはこれまで何、私は任意の説明を見つけることができないように理解文書
これは、** **任意の** 2つの講義オブジェクトが与えられているということです。同じコースと期間を持つ2つの講義オブジェクトはありませんか? – Samuel
また、この行のためにどの講義が矛盾しているのかを「覚えている」と思うのは正しいですか? 'scoreHolder.addHardConstraintMatch(kcontext、-1);' – Samuel
両方に "yes"を指定する必要があります。そうしないと、ルールは無意味になります。 addHardConstraintMatchの呼び出しで行うことができる、 "舞台裏で"発したルールに参加している実際のファクトオブジェクトを取得する方法があります。 – laune