linux - 命令行中施加的时间限制似乎并没有限制运行时间
问题描述
我正在尝试通过 bash 使用 OSICB 求解器运行 MiniZinc 模型,并使用以下命令行参数(受 30000 毫秒或 30 秒的时间限制):
minizinc --solver osicbc model.mzn data.dzn --time-limit 30000 --output-time
但就本次运行而言,执行命令到获取输出的整个过程大约需要一分钟,并且输出显示最后显示“Time Elapsed: 36.21s”。
这是在运行此模型时施加时间限制的正确方法,其中总时间包括从调用命令到在我的终端中显示输出的时间?
解决方案
MiniZinc --time-limit
2.2.0 中引入了命令行标志,以允许用户限制编译器和求解器占用的组合时间。它还引入--solver-time-limit
以限制求解器时间。
请注意,这minizinc
将使求解器有一些额外的时间来输出其最终解决方案。
如果您遇到这些标志不会将求解器限制在指定的时间,并且它们没有在给定限制的一秒内停止,那么这将表明存在错误,我会邀请您进行错误报告:https://github .com/MiniZinc/libminizinc/issues
推荐阅读
- c# - Unity C# - 带有 LayerMask 的 Physics.Raycast 方法似乎不会忽略给定的图层
- tensorflow - DQN 的迁移学习
- node.js - nodejs sqlite3 查询返回空 - 无法理解异步
- javascript - 获取响应本机中的php文件时如何修复获取返回404?
- laravel - Laravel Eloquent:有什么方法可以得到改变模型的原始关系?
- c# - Azure Web Job BlobTrigger - 重置 Scaninfo 以触发现有 Blob 的功能
- highcharts - highchart升级后如何修复工具提示
- arduino - 有没有办法使用 Arduino CLI 将 sketch.ino 编译为 .bin 文件?
- c++11 - C ++,使用指针和运算符地址重新创建memset
- api - 由于 Composer 内存限制错误,我无法安装任何软件包