使用 JumP 获取不可简化的不一致子系统 (IIS) - Julia
Obtaining Irreducible Inconsistent Subsystem (IIS) with JumP - Julia
我正在尝试获取 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
然而,它总是returns一个
的错误
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)
我正在尝试获取 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
然而,它总是returns一个
的错误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)