julia - 在 JuMP/Gurobi 中获取分支和绑定节点数
问题描述
我正在尝试使用 JuMP 接口和 Julia 中的 Gurobi 求解器来获取分支和绑定节点数。
我按照 JuMP 网站上的建议尝试了 getnodecount(m),但结果未定义。在做了更多的研究之后,我读到尝试:
MathProgBase.getnodecount(m)
一个简单的例子:
using Gurobi
using JuMP
using MathProgBase
m = Model(with_optimizer(Gurobi.Optimizer))
@variable(m, x, Bin)
@variable(m, y >=0)
@objective(m, Min, x*y)
optimize!(m)
println(value(x))
# getnodecount(m)
MathProgBase.getnodecount(m)
我希望节点计数为 0,但出现此错误:
LoadError: MethodError: no method matching getnodecount(::Model)
Closest candidates are:
getnodecount(!Matched::Gurobi.GurobiMathProgModel) at
/uliapro/JuliaPro_v1.1.1.1/packages/Gurobi/dlJep/src/MPB_wrapper.jl:759
解决方案
您似乎使用的是新的MathOptInterface
而不是MathProgBase
. 这就是为什么您没有得到 aGurobiMathProgModel
并因此出现错误的原因。在MathOptInterface
中,您可以执行以下操作来获取节点数。
MOI.get(model, MOI.NodeCount())
这将调用此处Gurobi.get_node_count(model::Model)
实现的方法。有关其他属性,请参阅MOI API 参考。
推荐阅读
- laravel - 如何生成 PayPal 订单支付链接到电子邮件
- java - 程序读取七个整数值并打印出每个值的出现次数
- python - python pandas中奇偶数的总和
- python - 如何从 foo.py 访问 show()?
- swift - 插入对象后不能更改主键
- excel - 使用 AWK 实现 Excel if-like 函数
- python - Ansible 正则表达式从字符串中删除项目
- sql - 根据 JSON 数组内容聚合行
- java - Maven 父级是否可以在其内部包含一个或多个子级?
部分? - javascript - 有没有办法从 Microsoft Graph 订阅响应中获取附件 url?