有時,如果我將構建階段的“已用秒數(shù)”和“未改進的已用秒數(shù)”終止設置設置的時間太短,我最終會得到一些未初始化所有計劃變量的計劃實體。這導致我的搜索階段拋出有關未初始化的計劃變量 ( Local Search phase (1) needs to start from an initialized solution...) 的異常。這似乎(部分)違背了構建階段的目的。我覺得我在某處遺漏了一個警告?也許我過度配置了我的構建階段?這是我的構建階段的配置代碼。我使用 Java 來配置我的求解器而不是 XML。TerminationConfig terminationConfig = new TerminationConfig();ConstructionHeuristicPhaseConfig phaseConfig = new ConstructionHeuristicPhaseConfig();terminationConfig.setSecondsSpentLimit(60L);terminationConfig.setUnimprovedSecondsSpentLimit(30L);terminationConfig.setBestScoreLimit("0hard/0medium/0soft");phaseConfig.setConstructionHeuristicType(ConstructionHeuristicType.FIRST_FIT);phaseConfig.setTerminationConfig(terminationConfig);phaseConfigs.add(phaseConfig);有人能指出我正確的方向嗎?是否有“正確”的方法來保證所有規(guī)劃實體的所有規(guī)劃變量將在構建階段結束時初始化?
1 回答

嚕嚕噠
TA貢獻1784條經驗 獲得超7個贊
如果您想運行 LS,在 CH 完成之前終止 CH 是沒有意義的。讓它完成并在<localSearch>
而不是<solver>
(API 也支持這一點,當然)上放置一個終止,以避免它過早完成。
有很多方法可以使 CH 運行得更快,請參閱文檔。
另外,每個終端結合有AND
一個的<bestScoreFeasible>true</>
終止(=只能當一個可行的辦法是找到終止),還可以做你想做什么,我相信,即使是作為一個全球性<solver>
的終止。
添加回答
舉報
0/150
提交
取消