Hi,
I am having trouble writing the following constraint in JuMP
I currently have it written as below but it is not returning the desired output.
@constraints model begin
constraint_1[n in n],
sum(w[i,n,np] for i in Ij for np in 1:length(n) if n <= np <= (n+d) ) <= 1.0
end
where np is nβ
Could someone please assist with the correct syntax?
A simple rule is that everything at the right of the β (universal quantifier, \forall) should be in your constraint_name[...] clause. so:
@constraints model begin
constraint_1[n in n, j in j],
sum(w[i,n,np] for i in I[j] for np in n:(n+d)) <= 1.0
end
Also, please stop using Sets with lowercase letters and iterate over them with the same lowercase letters, this is bad style.
2 Likes
Noted and thank you. It worked.
odow
March 1, 2021, 7:03pm
4
To clarify why itβs bad style, if you have [n in n, j in j] instead of [n in N, j in J], and you have something in the first constraint like for np in 1:length(n), it is using length(n) and not length(N).
3 Likes
I see. i have made the changes and it helped with other errors I was encountering. Thank you