【问题标题】:Pyomo Error: TypeError: 'MonomialTermExpression' object is not iterablePyomo 错误:TypeError:“MonomialTermExpression”对象不可迭代
【发布时间】:2020-03-23 00:31:27
【问题描述】:

我不断收到此错误 - “TypeError: 'MonomialTermExpression' object is not iterable” - 来自我的 AbstractModel 构造下面的约束组件。但是,我似乎不明白这个错误以及如何解决它。如果这个平台上的任何人能指出我正确的方向,我会很高兴。

谢谢。

model.Q = pyo.Var(initialize=0.000001, within=pyo.PercentFraction, name='Variable for MinMax MOMP')

def wt_rule1(model,i,j):
    for (i,j), val in model.w.extract_values().items():
        return (val*(sum(model.d[i,j]*model.x[i,j])-291)/291.0) <= model.Q
model.distConst = pyo.Constraint(model.A,rule=wt_rule1)

【问题讨论】:

    标签: pyomo


    【解决方案1】:

    在玩了很多次之后,我意识到重新构造约束对象如下:

    def wt_rule1(model,i,j):
        for (i,j), val in model.w.extract_values().items():
            return  (val*(sum(model.d[i,j]*model.x[i,j] for i in model.I for j in model.J)-291)/291) <= model.Q
    model.distConst = pyo.Constraint(model.A, rule=wt_rule1)
    
    

    【讨论】:

      猜你喜欢
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 2018-08-17
      • 2020-11-28
      • 2012-03-26
      • 1970-01-01
      • 2013-09-01
      • 2019-07-20
      相关资源
      最近更新 更多