Как отключить регистрацию JuMP (используя cplex)? - PullRequest
0 голосов
/ 24 апреля 2019

Как отключить продвижение журнала JuMP?Я хочу подавить вывод JuMP, используя модель как CPLEX.

1 Ответ

1 голос
/ 24 апреля 2019

Я не знаю, какую версию JuMP вы используете, но я думаю, что все, что вам нужно сделать, это передать опцию CPX_PARAM_SCRIND = 0 вашему решателю Cplex.

До v0.19 это должно быть что-то вроде

m = Model( solver=CplexSolver(CPX_PARAM_SCRIND = 0, ...other options ) )

С v0.19 и так далее, что-то вроде

const SOLVER = CPLEX.Optimizer(CPX_PARAM_SCRIND = 0, ...other options ) # to create an optimizer object
# OR while creating your model 
m = Model(with_optimizer(CPLEX.Optimizer, CPX_PARAM_SCRIND=0, ...other options))

Обратите внимание, что CPX_PARAM_SCRIND, кажется, переименован в в CPXPARAM_ScreenOutput в более новых версиях Cplex, и я не знаю, как CPLEX.jl справляется с этой ситуацией или вообще нуждается в обработке.Вы, вероятно, все еще можете использовать опцию CPX_PARAM_SCRIND непосредственно в новых версиях.

Если они не работают, вы можете попробовать перенаправить stdout непосредственно в Джулию.

tempout = stdout # save stream
redirect_stdout() # redirect to null
# ... run your solver here
redirect_stdout(tempout) #revert back
...