首页 > 解决方案 > 命令行中施加的时间限制似乎并没有限制运行时间

问题描述

我正在尝试通过 bash 使用 OSICB 求解器运行 MiniZinc 模型,并使用以下命令行参数(受 30000 毫秒或 30 秒的时间限制):

minizinc --solver osicbc model.mzn data.dzn --time-limit 30000 --output-time

但就本次运行而言,执行命令到获取输出的整个过程大约需要一分钟,并且输出显示最后显示“Time Elapsed: 36.21s”。

这是在运行此模型时施加时间限制的正确方法,其中总时间包括从调用命令到在我的终端中显示输出的时间?

标签: linuxubuntu-18.04minizinctime-limiting

解决方案


MiniZinc --time-limit2.2.0 中引入了命令行标志,以允许用户限制编译器和求解器占用的组合时间。它还引入--solver-time-limit以限制求解器时间

请注意,这minizinc将使求解器有一些额外的时间来输出其最终解决方案。

如果您遇到这些标志不会将求解器限制在指定的时间,并且它们没有在给定限制的一秒内停止,那么这将表明存在错误,我会邀请您进行错误报告:https://github .com/MiniZinc/libminizinc/issues


推荐阅读