Я создаю задачу оптимизации с множеством ограничений, используя библиотеку pyomo в Python, но я продолжаю получать ошибку в моем, казалось бы, простом определении цели, и не понимаю, почему.
Я создаю абстрактную модель, целью которой является минимизация затрат в (ab_mdl.c)
раза по сравнению с мощностью (ab_mdl.x)
за каждый час (i)
и каждый ресурс (j)
. Вот целевая функция, написанная ниже:
def TOU_rule(ab_mdl):
return(summation(ab_mdl.c[i]*ab_mdl.x[j,i]) for i in ab_mdl.hours for j in ab_mdl.num_of_cars)
ab_mdl.cost_obj=Objective(rule=TOU_rule)
Но когда я запускаю полный код, я получаю эту ошибку:
Невозможно обработать значение '. at 0x21427670>» в качестве константы, потому что он имеет неизвестный тип «генератор».
Я не понимаю, что именно не так с кодом, тем более что это относительно простая задача, и я следовал синтаксису подобных примеров, которые я видел, используя Pyomo. У кого-нибудь есть идеи, что мне делать дальше?