如何设置JuMP最小化模型的上限



我想为我的JuMP模型设置一个上限。也就是说,考虑到我是最小化的,JuMP不应该考虑所有值高于上限的节点和解决方案。我该怎么做?我可以在JuMP的文档或谷歌上搜索到什么?我试过bound,但什么也找不到。

JuMP不能解决问题。相反,它公式化它们,并将解决方案传递给解算器。您可能想阅读:https://jump.dev/JuMP.jl/stable/background/algebraic_modeling_languages/

您可以告诉某些解算器存在解的极限。例如,Gurobi有:https://www.gurobi.com/documentation/9.5/refman/cutoff.html#parameter:Cutoff

model = Model(Gurobi.Optimizer)
set_optimizer_attribute(model, "Cutoff", 1000)

请注意,这是Gurobi特有的。如果使用不同的解算器,则需要查看相应属性(可能不存在(的文档。

你为什么要这个?切断很少有帮助。

好吧,我找到了一种方法,我不知道这是否是推荐的方法,但至少它有效。

我的目标如下:

@objective(m, f(x,y))

假定f(x,y)是为阵列xy定义的

然后我在f:上设置了一个约束

threshold = 1000 # Or any other relevant value
@constrait(m, f(x,y) <= threshold)

最新更新