2015-02-23 26 views
2

我正在使用Optaplanner 6.1.0開發求解器,類似於車輛路徑問題。當我在700個安裝人員和200個預訂上運行解算器時,它將成功解決計劃問題。但是,當我使用較大的數據集(700個安裝程序和1220個預訂)時,我得到當我在較大的數據集上運行時,我得到'本地搜索階段以未初始化的解決方案開始'

導致:java.lang.IllegalStateException:本地搜索階段以未初始化的解決方案啓動。首先初始化解決方案。例如,首先運行構建啓發式階段。

但除外前右,

16:10:40378 INFO [DefaultConstructionHeuristicPhase] [HTTP監聽-1(4)]構建啓發式相位(0)結束:步驟總(194),所花費的時間(30693),最高分數(-1hard/-688803soft)。我在配置中使用<constructionHeuristicType>FIRST_FIT_DECREASING</constructionHeuristicType>

我用錯了嗎?

回答

1

也許計劃變量的值範圍爲空。特別是對於來自實體的價值範圍提供者,這更可能。隨時向jira提交該錯誤消息應該改進的情況。診斷待辦事項:註釋掉局部求解器階段,運行求解器(因此它只執行構造啓發式算法),然後迭代計劃實體並打印出每個計劃值的值。檢查那裏是否有空值。

事實上,你有194個步驟,而不是你CH中的200個步驟表明這一點。 (如果其他6個計劃實體不可移動,這不會觸發此例外(more info),所以這不是問題。)

+0

謝謝@geoffrey。我列出了計劃實體,其中一些計劃值爲空。我目前正在嘗試分配所有計劃實體,以便它們都不爲null,但似乎我只能對構造HeuristicType使用FIRST_FIT和FIRST_FIT_DECREASING。是否有解決方法,我可以在施工啓動階段開始之前手動分配計劃實體? – 2015-02-27 03:40:40

+0

我所做的是我增加了HardConstraintScore,因爲沒有任何先前的陳列從-1到-3,並且所有的計劃實體都被賦予了/有價值。 – 2015-02-27 08:19:44

+0

這一切聽起來都不可能,因爲CH將始終賦值,除非nullabe = true(在這種情況下LS不會被它所困擾)。你的值範圍內是否有空值? – 2015-02-27 08:51:16

相關問題