Linux 命令行中施加的时间限制似乎并不限制运行时间
我正在尝试通过bash使用OSICBC解算器运行minizing模型,并使用以下命令行参数(时间限制为30000ms或30s):Linux 命令行中施加的时间限制似乎并不限制运行时间,linux,ubuntu-18.04,minizinc,time-limiting,Linux,Ubuntu 18.04,Minizinc,Time Limiting,我正在尝试通过bash使用OSICBC解算器运行minizing模型,并使用以下命令行参数(时间限制为30000ms或30s): minizin--solver osicbc model.mzn data.dzn--time limit 30000--output time 但是,对于这次运行,执行命令以获取输出的整个过程大约需要一分钟,并且输出在最后显示“耗时:36.21s” 在运行此模型时,如果所花费的总时间包括调用命令的时间以及在我的终端中显示输出的时间,那么这是施加时间限制的正确方法吗
minizin--solver osicbc model.mzn data.dzn--time limit 30000--output time
但是,对于这次运行,执行命令以获取输出的整个过程大约需要一分钟,并且输出在最后显示“耗时:36.21s”
在运行此模型时,如果所花费的总时间包括调用命令的时间以及在我的终端中显示输出的时间,那么这是施加时间限制的正确方法吗 MiniZin2.2.0中引入了--time limit
命令行标志,允许用户限制编译器和解算器的组合时间。它还引入了--solver time limit
来限制解算器时间
请注意,minizing
将允许解算器有额外的时间输出其最终解
如果您体验到这些标志没有将解算器限制在指定的时间内,并且它们没有在给定限制的一秒钟内停止,那么这将提示一个错误,我将邀请您制作一个错误报告:感谢您提供详细的细分和澄清!再次回答我的一个与Minizine有关的问题:)出于好奇,
--solver time limit
标志是否也适用于osicbc
解算器?例如,当以以下方式调用时:minizin--solver osicbc--solver time limit 10000 model.mzn data.dzn
?我注意到,从中,一些解算器有自己的选项,例如--timeout
,而osicbc
似乎没有。.解算器可以有自己的命令行参数,尽管我认为findMUS的timeout
标志可能是一个错误。通过使用“标准标志”(standardlagas)(),可以支持超时之类的事情。如果解算器支持设置超时,将使用-t
标志给出超时。如果它不运行或试图运行更长时间,那么它将被MiniZinc驱动程序杀死。感谢您的澄清!这很有帮助:)