julia - 为什么 GLPK Solver 在 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 用于输出有关当前求解过程中位置的数据。已经处理了多少节点,算法已经运行了多长时间,当前的最佳界限等等。请注意,它与我的整数程序的大小无关,因为它在我使用更多约束和变量运行的更大程序上也不会输出任何内容。
我也试过:
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
推荐阅读
- javascript - 反应:在信使网络视图中捕获图像
- java - 在 Android Studio 中使用 Java 抓取网页的无限滚动“加载更多”按钮
- c++ - 关于 WH_CBT 挂钩
- mysql - 如何在 Oracle 的单个结果记录中组合多行数据?
- sql - 避免条件的秒和毫秒部分
- excel - Sumif 在使用带有字符串输入的用户定义函数时返回零
- java - Web 服务调用在 BroadcastReceiver 上不起作用
- javascript - 如何使用 Swig 将 JavaScript 中的关联数组映射到 C++ 中的字符串映射?
- mysql - Mysql查询添加列
- javascript - Microsoft Bot 的自动测试