跳转Julia方法获取不可约不一致子系统(IIS)

跳转Julia方法获取不可约不一致子系统(IIS),julia,linear-programming,gurobi,julia-jump,Julia,Linear Programming,Gurobi,Julia Jump,我正在尝试获取IIS中包含的约束,例如以下不可行问题 using JuMP, Gurobi model = direct_model(Gurobi.Optimizer()) # defining variables @variable(model, z) @variable(model, x1[a=1:10, b=1:5] => 0) @variable(model, x2[a=1:10, b=1:5, c=1:7] => 0) # and so on... # objectiv

我正在尝试获取IIS中包含的约束,例如以下不可行问题

using JuMP, Gurobi
model = direct_model(Gurobi.Optimizer())

# defining variables
@variable(model, z)
@variable(model, x1[a=1:10, b=1:5] => 0)
@variable(model, x2[a=1:10, b=1:5, c=1:7] => 0)
# and so on...

# objective and constraints

@objective(model, Max, z)

@constraint(model, const1[a=1:10, b=1:5, c=1:7], equation1)
@constraint(model, const2[b=1:5, c=1:7], equation2)
# and so on...

optimize!(model)

if termination_status(model) == MOI.INFEASIBLE_OR_UNBOUNDED
    @assert termination_status(model) == MOI.INFEASIBLE_OR_UNBOUNDED
    compute_conflict!(model)
    MOI.get(model, MOI.ConstraintConflictStatus(), const1)
end
但是,它总是返回一个错误

MethodError: no method matching get(::Model, ::MathOptInterface.ConstraintConflictStatus, ::Array{ConstraintRef{Model,MathOptInterface.ConstraintIndex{MathOptInterface.ScalarAffineFunction{Float64},MathOptInterface.EqualTo{Float64}},ScalarShape},3})
我这样做对吗

我使用的是JuliaPro_v1.53-1,JuMP v0.21.6,Gurobi v0.9.11

任何帮助或建议都将不胜感激


提前感谢

在社区论坛上回答:

const1
是一个数组。使用广播:

MOI.get.(model, MOI.ConstraintConflictStatus(), const1)

非常感谢您提供的信息和解决方案!