提问者:小点点

如何在Pyomo中为约束使用数组


我试图在for循环中使用Pyomo中的约束定义<下面的例子简化了我的问题

for i in range(5):
    model.C[i] = Constraint(expr = model.x[i]<=10)

这到目前为止还不起作用,因为我找不到一种方法来声明模型。C作为数组,并将其作为模型的一部分
我可以看到一些使用规则属性的示例;然而,我想知道如果没有它,我是否能完成这项工作<有人能帮我吗?非常感谢。


共1个答案

匿名用户

我刚刚找到了解决办法。必须创建ConstraintList并使用命令add。

model.C = pyo.ConstraintList()
   for g in dados_ger.index:
   model.C.add(expr= (Pg[g]<=dados_ger.maximo[g]))