【发布时间】:2019-05-16 15:55:00
【问题描述】:
我想用 Python 解决一个优化问题。我试图定义一个变量 x_{g,h},其中索引 g 属于集合 G,索引 h 属于集合 H(g),即索引 h 的集合因不同的索引 g 而异。有没有办法在 Pyomo 或 Gurobi-Python 中使用这些索引定义变量 x?
在 Pyomo 中,我尝试在循环中定义它,例如
for g in p.keys():
for h in range(0,p.rop[g].npairs,1):
model.x_gen_h = Var(g,h,within=NonNegativeReals)
我收到了这个错误:
TypeError: 'int' object is not iterable.
感谢任何帮助或评论!
【问题讨论】:
-
G 或 H(g) 中的一个实际上只是一个 int,而不是您认为的那样。你能分享完整的回溯吗?
-
感谢您的评论@Paritosh。我修改了问题以准确显示循环。我认为错误无关紧要。这一定与我们在 Pyomo 中如何定义变量有关。事实上,我的问题是:我们如何在 Pyomo 或 Gurobi 中定义变量时进行列表理解
标签: python optimization gurobi pyomo