pyomo - Pyomo 错误:TypeError:“MonomialTermExpression”对象不可迭代
问题描述
我不断收到此错误 - “TypeError:'MonomialTermExpression' 对象不可迭代” -来自我的 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)
解决方案
在玩了很多次之后,我意识到重新构造约束对象如下工作:
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)
推荐阅读
- lua - Lua 函数返回 Nil
- python - 试图用 Python 发送 xlsx
- regex - RegEx 仅在匹配第一个模式后才匹配模式
- javascript - 有没有办法将 svg 容器塑造成它的内容?
- ios - SwiftUI:如何将核心数据对象传递给视图?
- c++ - 将 cmake 片段转换为函数 - 不起作用
- javascript - Edge 的composedPath 的替代方案
- knife - 端点不支持 MaxEnvelopsizekb 的配置请求
- xamarin - Xamarin Forms 4.2.0 选项卡式页面选项卡文本颜色不再有效
- php - Wordpress 管理员过滤器 - 默认情况下如何加载选项?