Ограничение по времени в командной строке, похоже, не ограничивает время выполнения - PullRequest
0 голосов
/ 14 октября 2018

Я пытаюсь запустить модель MiniZinc с решателем OSICBC через bash со следующими аргументами командной строки (с ограничением по времени 30000 мс или 30 с):

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

Но только для этого запуска весь процесс после выполнения команды для получения выходных данных занимает около минуты, и выходные данные показывают, что «истекшее время: 36,21 с» в конце.

Это правильный подходнавязать лимит времени для запуска этой модели, где общее время, затраченное на включение, включает время, с которого вызывается команда, на которой выводятся результаты в моем терминале?

1 Ответ

0 голосов
/ 15 октября 2018

Флаг командной строки --time-limit был введен в MiniZinc 2.2.0, чтобы позволить пользователю ограничить объединенное время, которое компилятор и решатель принимают.В нем также введены значения от --solver-time-limit до , ограничивающие время решателя .

Обратите внимание, что minizinc даст решателю дополнительное время для вывода окончательных решений.

Есливы чувствуете, что эти флаги не ограничивают решатель указанным временем, и они не останавливаются в течение секунды после заданного ограничения, тогда это может привести к ошибке, и я бы пригласил вас сделать отчет об ошибке: https://github.com/MiniZinc/libminizinc/issues

...