В Minizinc IDE есть параметр параллельного решателя («Количество потоков») в разделе конфигурации. Однако при компиляции из командной строки двоичный файл mzn2fzn
, похоже, не поддерживает параметр parallel. Можно ли решить параллельно из файла, скомпилированного из командной строки?
Параллельное решение в Minizinc из командной строки
Ответы (1)
Вы можете использовать MiniZinc через интегрированную среду разработки (IDE
) или через вызов командной строки. Я использую IDE 2.0.8
В IDE
используйте вкладку configuration
, чтобы указать количество потоков, которые будут использоваться для поиска/решения. В зависимости от выбранного бэкенда вы можете получить сообщение об ошибке, что многопоточность не поддерживается для соответствующего бэкенда.
Через командную строку вы можете либо вызывать компилятор и серверную часть по отдельности, либо использовать minizinc.exe
в качестве зонтичного инструмента для их последовательного вызова. Все инструменты имеют параметр командной строки --help
для объяснения параметров. minizinc.exe
принимает -p
или --parallel
для запуска бэкенда в многопоточном режиме, если он поддерживается.
minizinc
вместо бинарников mzn2fzn + backend, но похоже, что это отвечает на мой вопрос.
- person beardc; 08.01.2016
-p
принимается некоторыми серверными частями решателя MiniZinc. Однако компилятор MiniZinc является однопоточным. Это не должно быть проблемой, так как этап решения обычно требует гораздо больше вычислительной мощности, чем компиляция из MiniZinc в FlatZinc. - person Axel Kemper   schedule 07.01.2016