显示时间与Minizinc模型中的实际求解时间不同

时间:2018-02-21 18:46:59

标签: minizinc gecode

我写了一个大型minizinc模型,包括var变量和int_search语句,以便正确排序。它包含输出语句,其中我使用fix(var variables)语句来输出变量值,它包含一些使用内置函数sum,bool2int等的函数。 现在,当我运行模型时,它会在很长一段时间后(例如,5-6分钟)显示在屏幕上,但运行时间/解决时间(默认情况下,解算器的打印信息)仅显示20秒。 为什么会发生这种奇怪的事情?是因为输出语句也消耗时间吗?但是变量在那个时候得到了修复,为什么会这样呢?

1 个答案:

答案 0 :(得分:2)

额外的时间可能是由于该过程的第一步:即将MiniZinc(.mzn)文件转换为FlatZinc(.fzn);这是“扁平化步骤”。求解器显示的时间是从它开始读取FlatZinc文件开始的时间。

大型模型可能需要相当长的时间才能展平,正如您在此见到的那样。