Как сделать так, чтобы cplex не выводился на терминал

Я использую оптимизатор IBM cplex для решения проблемы оптимизации, и я не хочу, чтобы все распечатки терминала выполнялись оптимизатором. Есть ли член, который отключает это в классе IloCplex или IloModel? Это отпечатки про разрезы и итерации. Печать в терминал стоит дорого, и моя проблема в конечном итоге составит порядка миллионов переменных, и я не хочу тратить время на эти лишние результаты. Благодарю.

1 ответ

Решение

Используя cplex/ концерт, вы можете полностью отключить ведение журнала cplex на консоли с помощью

cpx.setOut(env.getNullStream())

Где cpx - это объект IloCplex. Вы также можете использовать функцию setOut для перенаправления журналов в файл.

Существует несколько параметров cplex для управления тем, что регистрируется, например, MIPInterval устанавливает количество узлов MIP, ищущих между строками. Например, переключение MIPDisplay в 0 отключит отображение разрезов, за исключением случаев, когда будут найдены новые решения, причем MIPDisplay из 5 будет отображать подробную информацию о каждой подзадаче lp.

Параметры, связанные с ведением журнала, включают MIPInterval MIPDisplay SimDisplay BarDisplay NetDisplay

Вы устанавливаете параметры с помощью функции setParam.

cpx.setParam(IloCplex::MIPInterval, 1000)
Другие вопросы по тегам