如何解决使用 JumP 获取不可约的不一致子系统 (IIS) - 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,c=1:7],equation1)
@constraint(model,const2[b=1:5,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)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。