【发布时间】:2021-10-08 00:08:09
【问题描述】:
我想对这个约束进行编码。
下面代码中的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 结尾。
应该是 s[j=1]=1:6, s[j=2]=2:4, s[j=3]=2:5, s[j=4]=3:6 , s[j=5]1:4。
我不知道如何处理依赖于其他集合的这个集合。你能帮我正确编码我的约束吗?下面的代码不能正常工作。
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)
【问题讨论】:
标签: julia julia-jump