首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Constraints JuMP中的依赖数组

Constraints JuMP中的依赖数组
EN

Stack Overflow用户
提问于 2021-10-08 00:08:09
回答 1查看 46关注 0票数 2

我想对这个约束进行编码。

下面代码中的d和a是集合S的子集,大小为N。例如:(N=5,T=3,S=6),d=[1,2,2,3,1] (d的元素是S的前三位数,d的大小是N)和a=[6,4,5,6,4] (a的元素是集合S的最后三位数,a的大小是N)。

在约束中,s应以d开头,以a结尾。

它应该类似于sj=1=1:6、sj=2=2:4、sj=3=2:5、sj=4=3:6、sj=51:4。

我不知道如何处理这个依赖于其他集合的集合。你能帮我正确地编写我的约束吗?以下代码不能正常工作。

代码语言:javascript
复制
N = 5
T=3
S=6
Cap=15
Q=rand(1:5,N)
d=[1,2,2,3,1]
a=[6,4,5,6,4]
@variable(model, x[j=1:N,t=1:T,s=1:S], Bin)
@constraint(model, [j= 1:N,t = 1:T, s = d[j]:a[j]], sum(x[j,t,s] * Q[j] for j=1:N) <= Cap)
EN

回答 1

Stack Overflow用户

发布于 2021-10-08 01:43:14

代码语言:javascript
复制
N, T, S = 5, 3, 6
Q = rand(1:5,N)
d = [1, 2, 2, 3, 1]
a = [6, 4, 5, 6, 4]

using JuMP
model = Model()
@variable(model, x[1:N, 1:T, 1:S], Bin)
@constraint(
    model, 
    [t = 1:T, s = 1:S],
    sum(x[j, t, s] * Q[j] for j in 1:N if d[j] <= s < a[j]) <= 15,
)

附注:没有必要发布多个评论和问题:https://discourse.julialang.org/c/domain/opt/13,你也应该考虑在Julia There上发表评论。在那里进行对话会更容易。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69489076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档