Я пытаюсь записать ограничение, как показано на рисунке.Но получаю следующую ошибку:
> --------------------------------------------------------------------------- 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
Что я пробовал до сих пор:
Boiler_capacity = m.addConstrs((boiler_produced_thermal[t] <= boiler_thermal_max for t in time_slots), name = "Boiler_capacity")
Где:
iler_produced_thermal - переменная с индексомвременной интервал
iler_thermal_max = 21000 присваивается целочисленное значение.
time_slots = ['k1', 'k2', 'k3', 'k4', 'k5']
Этот код работает:
Вместо использования имени переменной , если используется значение, присвоенное переменной.Оно работает.Но я не понял, какова причина этого.
Boiler_capacity = m.addConstrs((boiler_produced_thermal[t] <= 21000 for t in time_slots), name = "Boiler_capacity")
Может кто-нибудь помочь мне разобраться в проблеме?