Gurobi Python:LinExpr加法参数E不支持类型(<class'tuple'>)

2024-05-23 22:32:20 发布

您现在位置:Python中文网/ 问答频道 /正文

Capacity Constraint

我正在尝试编写如图所示的约束。但得到以下错误:

> --------------------------------------------------------------------------- GurobiError                               Traceback (most recent call
> last) <ipython-input-112-d0e0b7b1cb5e> in <module>()
> ----> 1 Boiler_capacity = m.addConstrs((boiler_produced_thermal[t] <= boiler_thermal_max for t in time_slots), name = "Boiler_capacity")
> 
> model.pxi in gurobipy.Model.addConstrs
> (../../src/python/gurobipy.c:89458)()
> 
> model.pxi in gurobipy.Model.addConstr
> (../../src/python/gurobipy.c:87963)()
> 
> linexpr.pxi in gurobipy.LinExpr.__sub__
> (../../src/python/gurobipy.c:34728)()
> 
> linexpr.pxi in gurobipy.LinExpr.__add__
> (../../src/python/gurobipy.c:34333)()
> 
> linexpr.pxi in gurobipy.LinExpr.add
> (../../src/python/gurobipy.c:31162)()
> 
> GurobiError: Unsupported type (<class 'tuple'>) for LinExpr addition
> argument

我目前所做的努力:

^{pr2}$

其中:

锅炉产生的热量随索引时隙而变化

锅炉热最大值=21000被赋值为整数值。在

时隙=['k1'、'k2'、'k3'、'k4'、'k5']

此代码起作用:

如果使用分配给变量的值,则不使用变量名。它起作用了。但我不明白这背后的真正原因。在

 Boiler_capacity = m.addConstrs((boiler_produced_thermal[t] <= 21000 for t in time_slots), name = "Boiler_capacity")

有人能帮我理解这个问题吗?。在


Tags: inboilersrcfortimecapacitythermalgurobipy