如何在Gurobipy中编写此约束?

时间:2019-05-27 12:34:52

标签: python constraints linear-programming gurobi

我正在使用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')

当前返回一个空集{}。我希望那里会有一些价值。如果有人可以指出问题,我将不胜感激。谢谢。

1 个答案:

答案 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')