2013-05-19 18 views
0

我想使用optaplanner 5.5.0爲收銀員制定一個時間表。計劃實體與移職示例(shiftAssignment)相同,但計劃變量(員工)可以爲空(可以有未分配的班次)。因此,TS完美地工作,但建設啓發式(第一飛度)什麼都不做(因爲在我的情況下,我認爲一個解決方案與所有空值是可行的,我想)。我應該怎麼做才能使建築啓發式工作?爲什麼建設啓發式工作時規劃變量是空的

回答

0

到至少6.0.0.Beta2,施工啓發式不支持@PlanningVariable(nullable=true)(這是新的,因爲6.0.0.Beta1)呢。

我正在重構構造啓發式方法,以便它們基於Selector架構和砂金工具。這將爲CH提供很多好處,包括支持nullable=true

+0

一種解決方法是在其中使用CustomSolverPhase並模仿First Fit(減少)。另一個解決方法是保持CH,但使用nullable = false並引入一個虛擬值(並使得您的分數約束規則足夠聰明,以將該虛擬值威脅爲空)。 –

0

6.0.0.CR1開始,構造啓發式支持可爲空的變量。它已經發布,請參閱optaplanner.org。

相關問題