2015-07-28 80 views
1

是否可以在規則的後果部分使用硬和軟約束分數,但其中一個分數的值是否爲非零。例如在drool/optaplanner中同時使用硬/軟約束分數

scoreHolder.addHardConstraintMatch(kcontext, $weight * isHard); 
scoreHolder.addSoftConstraintMatch(kcontext, $weight * isSoft); 

其中isHard/isSoft其中之一是1另一個是零。

上面始終把執行的最後一條語句(這是softconstraint)

回答

2

也就是說a known issue in OptaPlanner 6.2.0 and lower的價值。問題在於AbstractScoreHolder,因爲它只將規則ID作爲關鍵字,而不是分數級別。

+1

從6.3.0.CR2(http://www.optaplanner.org/download/releaseNotes/releaseNotes6.3.html#_other_improvements,即將推出)開始,OptaPlanner將在Drools的後果部分支持多個約束匹配規則。有關更多信息,請參閱https://issues.jboss.org/browse/PLANNER-284。 – oskopek