如何在 Julia/JuMP 中用求和符号做 "for all"
How to do "for all" in sum notation in Julia/JuMP
我正在尝试使用 JuMP 为 Julia 中的线性优化问题添加约束。我正在使用 sum{}
函数,但是我在某些约束方面遇到了问题。有谁知道"for all"在JuMP中怎么写(倒A)?这是我到目前为止的代码:
using JuMP
m = Model()
c= [3 5 2 ; 4 3 5 ; 4 5 3 ; 5 4 3 ; 3 5 4]
@variable(m, x[i=1:5,j=1:3] >= 0)
@objective(m,Min,sum{c[i,j]*x[i,j],i=1:5,j=1:3})
for i=1:5
@constraint(m, sum{x[i,j],i,j=1:3} <= 480)
end
我想得到的是:
我正在尝试使用 for 循环来代替 "for all i from 1 to 5",但是我不断收到错误。还有其他方法吗?
在数学符号中,您对 i
求和,并对每个 j
求和。
在Julia/JuMP中,你可以认为“∀”是一个for
循环("for all"),
和 "Σ" 作为 sum{ }
:
using JuMP
m = Model()
c= [3 5 2;
4 3 5;
4 5 3;
5 4 3;
3 5 4]
# x_ij >= 0 ∀ i = 1,...,5, j = 1,...,3
@variable(m, x[i=1:5,j=1:3] >= 0)
@objective(m,Min,sum{c[i,j]*x[i,j],i=1:5,j=1:3})
# ∀j = 1,...,3
for j in 1:3
@constraint(m, sum{x[i,j],i=1:5} <= 480)
end
我正在尝试使用 JuMP 为 Julia 中的线性优化问题添加约束。我正在使用 sum{}
函数,但是我在某些约束方面遇到了问题。有谁知道"for all"在JuMP中怎么写(倒A)?这是我到目前为止的代码:
using JuMP
m = Model()
c= [3 5 2 ; 4 3 5 ; 4 5 3 ; 5 4 3 ; 3 5 4]
@variable(m, x[i=1:5,j=1:3] >= 0)
@objective(m,Min,sum{c[i,j]*x[i,j],i=1:5,j=1:3})
for i=1:5
@constraint(m, sum{x[i,j],i,j=1:3} <= 480)
end
我想得到的是:
我正在尝试使用 for 循环来代替 "for all i from 1 to 5",但是我不断收到错误。还有其他方法吗?
在数学符号中,您对 i
求和,并对每个 j
求和。
在Julia/JuMP中,你可以认为“∀”是一个for
循环("for all"),
和 "Σ" 作为 sum{ }
:
using JuMP
m = Model()
c= [3 5 2;
4 3 5;
4 5 3;
5 4 3;
3 5 4]
# x_ij >= 0 ∀ i = 1,...,5, j = 1,...,3
@variable(m, x[i=1:5,j=1:3] >= 0)
@objective(m,Min,sum{c[i,j]*x[i,j],i=1:5,j=1:3})
# ∀j = 1,...,3
for j in 1:3
@constraint(m, sum{x[i,j],i=1:5} <= 480)
end