为什么 GLPK 求解器在 JuMP 中不详细说明任何内容?

Why GLPK Solver doesn't verbose anything in JuMP?

我创建这个简单的代码作为演示:

using GLPK
using JuMP
m = Model(GLPK.Optimizer)
@variable(m, y[i=1:100], Bin)
@objective(m, Min, sum(y))
@constraint(m, [j=5:50], sum([y[i] for i in j:j+10]) >= 5)
optimize!(m)

请注意,此整数程序不代表任何内容,仅作为示例。之前的代码没有输出任何东西,而我记得使用 Gurobi 甚至 GLPK 和 Julia JuMP 用于输出有关它在当前求解过程中所处位置的数据。已经处理了多少个节点,算法已经运行ning了多长时间,当前最佳边界等等。请注意,它与我的整数程序的大小无关,因为它在我 运行 具有更多约束和变量的更大程序上也不会输出任何内容。

我也试过:

julia> get_optimizer_attribute(m, MOI.Silent())
false

这与以下内容一致,没有任何改变:

julia> unset_silent(m)
false

我是不是漏掉了什么?

我运行正在使用 Julia 1.5.2、JuMP v0.21.5 和 GLPK v0.14.4。

设置日志级别:

julia> set_optimizer_attribute(m, "msg_lev", GLPK.GLP_MSG_ALL)
3

julia> optimize!(m)
GLPK Simplex Optimizer, v4.64
46 rows, 100 columns, 506 non-zeros
     67: obj =  2.500000000e+001 inf =  2.000e+001 (5)
     74: obj =  2.600000000e+001 inf =  0.000e+000 (0)
*    77: obj =  2.500000000e+001 inf =  0.000e+000 (0)
OPTIMAL LP SOLUTION FOUND
GLPK Integer Optimizer, v4.64
46 rows, 100 columns, 506 non-zeros
100 integer variables, all of which are binary
Integer optimization begins...
+    77: mip =     not found yet >=              -inf        (1; 0)
+    77: >>>>>  2.500000000e+001 >=  2.500000000e+001   0.0% (1; 0)
+    77: mip =  2.500000000e+001 >=     tree is empty   0.0% (0; 1)
INTEGER OPTIMAL SOLUTION FOUND