2016-11-28 58 views
-1

如何在IDE中或通過數據文件爲MiniZinc中制定的優化問題提供啓動解決方案,例如,加快相應fd解算器(在此情況下爲Gecode)的求解過程, ?在MiniZinc中提供啓動解決方案

回答

0

像Gecode這樣的約束求解器沒有起點。簡而言之:他們考慮所有可能性並消除非解決方案(傳播)。

如果您想影響約束求解器找到解決方案的方式,那麼最相似的方法是影響求解器的搜索策略。在MiniZinc中,這可以使用搜索註釋完成:http://www.minizinc.org/doc-lib/doc-annotations-search.html

如果您仍想使用起始解決方案,那麼本地搜索可能更適合您的應用程序。有像奧斯卡CBLS這樣的本地搜索解決方案,支持MiniZinc/FlatZinc;然而,在這種情況下,他們工作的黑盒子,你不能提供變量的起始值。您將不得不直接調用解算器來執行此操作。

+0

非常感謝您的解釋。其實,我正在考慮一種強加客觀價值界限的方式,而不是直接限制相應的客觀價值領域。這會產生副作用,即解決方案過程始終返回至少一個解決方案。 – Ale

+0

聽起來像你正在對每種可能的解決方案施加違規價值並將此價值最小化。這將是本地搜索解算器將使用的一般方法。 – Dekker

相關問題