Julia - 求解最小化时抑制 Clp 优化器的输出
Julia - Suppressing output for Clp optimizer when solving minimization
我正在用 Julia 开发一个包,它使用 Clp 和 JuMP 来解决单纯形问题,这里是代码示例:
model = JuMP.Model(Clp.Optimizer)
@variable(model, x[1:size(c)[1]])
@constraint(model,A*x.==b)
@constraint(model,x.>=0)
@objective(model, Min, c'*x)
optimize!(model)
问题是,当使用 Clp 时,代码会打印迭代步骤。这是一个例子:
Coin0506I Presolve 500 (-62500) rows, 62500 (0) columns and 125000 (-62500) elements
Clp0006I 0 Obj 0 Primal inf 1.9995 (500)
Clp0006I 85 Obj 5.249611e-08 Primal inf 1.9070741 (461)
Clp0006I 170 Obj 1.3219003e-06 Primal inf 1.7932731 (424)
Clp0006I 255 Obj 2.1956446e-06 Primal inf 1.6079534 (387)
Clp0006I 338 Obj 4.6964461e-06 Primal inf 1.3793942 (354)
Clp0006I 423 Obj 5.8976838e-06 Primal inf 1.4504309 (331)
...
我的问题是,如何在不以“Suppressor.jl”的形式调用另一个包的情况下抑制它?
只需设置日志级别:
set_optimizer_attribute(model, "LogLevel", 0)
这将停止显示日志。
Clp.j v0.8.2 issues#1883 中存在错误,已修复。
您只需更新到 Clp.jl v0.8.3.
-- 莫里斯
我正在用 Julia 开发一个包,它使用 Clp 和 JuMP 来解决单纯形问题,这里是代码示例:
model = JuMP.Model(Clp.Optimizer)
@variable(model, x[1:size(c)[1]])
@constraint(model,A*x.==b)
@constraint(model,x.>=0)
@objective(model, Min, c'*x)
optimize!(model)
问题是,当使用 Clp 时,代码会打印迭代步骤。这是一个例子:
Coin0506I Presolve 500 (-62500) rows, 62500 (0) columns and 125000 (-62500) elements
Clp0006I 0 Obj 0 Primal inf 1.9995 (500)
Clp0006I 85 Obj 5.249611e-08 Primal inf 1.9070741 (461)
Clp0006I 170 Obj 1.3219003e-06 Primal inf 1.7932731 (424)
Clp0006I 255 Obj 2.1956446e-06 Primal inf 1.6079534 (387)
Clp0006I 338 Obj 4.6964461e-06 Primal inf 1.3793942 (354)
Clp0006I 423 Obj 5.8976838e-06 Primal inf 1.4504309 (331)
...
我的问题是,如何在不以“Suppressor.jl”的形式调用另一个包的情况下抑制它?
只需设置日志级别:
set_optimizer_attribute(model, "LogLevel", 0)
这将停止显示日志。
Clp.j v0.8.2 issues#1883 中存在错误,已修复。 您只需更新到 Clp.jl v0.8.3.
-- 莫里斯