我有一个包含以下变量的线性程序。
X[i, j, k] for i,j,k in range(0,100)
Y[j, k] for j, k in range(0,100)
我想知道如何为 X 和 Y 的目标函数创建以下约束。
Constraint: (creates 100 constraints, 1 for each i)
for i in range(0,100):
solver.Add( sum( X[i,j,k] for j, k in range(0,100) ) == 1)
Objective:
solver.Minimize(solver.Sum(Y[j, k] for j,k in range(0,100) ))
如果我只迭代 j 而不是 j 和 k,这些就可以工作。我想知道是否有一种方法可以在单行总和上迭代多个列表。如果没有,有没有办法可以将 LP 变量存储到变量中,然后通过将这些变量相加来创建约束/目标?或者最好的方法是什么?谢谢
更换
for j,k in range(0,100)
由
for j in range(0,100) for k in range(0,100)