如何使用 JuMP 更改变量的类型?

How to change the type of a variable using JuMP?

我正在使用 Julia/JuMP 编写算法。我之前定义了一个 MILP,但现在我想放宽一些整数限制。我该怎么做?

这是我的示例代码:

using JuMP
using Gurobi

model = Model(Gurobi.Optimizer)
@variable(model, 0 <= x[i=1:2], Int)
@constraint(model, x[1] + x[2] >= 0.5)
@objective(model, Min, 3*x[1] + x[2])

# *Here I want to relax the integer restriction on x[2]*

optimize!(model)
println(value.(x))

我找到了一个旧的post有同样的问题(),但是解决方案(使用函数setcategory())似乎在当前版本中不起作用跳MP.

您正在寻找 unset_integerhttps://jump.dev/JuMP.jl/stable/variables/#Integer-constraints-1

还有relax_integrality https://jump.dev/JuMP.jl/stable/variables/#JuMP.relax_integrality