Gurobi Python: неподдерживаемый тип () для дополнительного аргумента LinExpr Ошибка - PullRequest
0 голосов
/ 08 октября 2018

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

Что я пробовал до сих пор:

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")

Может кто-нибудь помочь мне разобраться в проблеме?

...