我正在使用Python中的pyomo库创建一个具有无数约束的优化问题,但是我在我看似简单的客观定义中仍然会遇到错误,并且不明白为什么。你知道吗
我正在创建一个抽象模型,其中的目标是最小化每小时和每种资源的成本(ab_mdl.c)
乘以功率(ab_mdl.x)
。目标函数如下:
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)
但是,当我运行完整的代码时,会出现以下错误:
Cannot treat the value '. at 0x21427670>' as a constant because it has unknown type 'generator'
我不明白代码到底出了什么问题,特别是因为这是一个相对简单的目标,而且我遵循了使用Pyomo的类似示例的语法。有人知道我下一步该做什么吗?你知道吗
也许这是你的问题中的一个输入错误,但如果不是,我认为你应该做3个改进,使你的代码工作。你知道吗
return(thing)
语句应该是return thing
编写的。这是因为return
是一个单独的单词,括号没有用处。在同一行中,
summation
不是正确的词,您必须使用sum
。maximize
或minimize
)。你知道吗然后,您的代码将是:
相关问题 更多 >
编程相关推荐