我正在使用Gurobipy编写线性程序,但在编写约束之一时遇到了麻烦。我对如何对<0不等式求和感到困惑。
约束如下:https://imgur.com/a/FP0aAKl
我已经初始化了变量xC和xP(我称为xPone)。参数B也已经定义,并包含在名为B的字典中。我将m̂称为mone。
这是我当前的代码:
m = Model('LP')
m.addConstrs((xC_smp[s,m,p] == - quicksum (B[(s,n,m,p)] * xPone_slnmonep[s,l,n,mone,p])
for m in materials for s in sites for l in lines
for n in versions for p in periods for mone in materialones
if B[(s,n,m,p)] < 0), name='c7')
当前返回一个空集{}。我希望那里会有一些价值。如果有人可以指出问题,我将不胜感激。谢谢。
答案 0 :(得分:0)
这可以工作:
m.addConstrs( quicksum((xC_smp[s,m,p] for m in materials for s in sites for p in periods)) ==
- quicksum ((B[(s,n,m,p)] * xPone_slnmonep[s,l,n,mone,p] for m in materials
for s in sites for l in lines for n in versions
for p in periods for mone in materialones
if B[(s,n,m,p)] < 0), name='c7')