AttributeError:“生成器”对象没有属性“是表达式类型”

2024-10-03 17:21:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在Python中使用Pyomo解决一个两层问题。但是,当我尝试运行代码时,我得到以下错误: “生成器”对象没有属性“是表达式类型” 以下是我的代码:

print(type(M.sub.disutility_u_ij[i+1,j+1,k+1] * M.sub.ux_ijk[i+1,j+1,k+1] for i in range(len(u_ij)) for j in range(len(u_ij[i])) for k in range(3)))    #<class 'generator'>
print(type(M.sub.disutility_ru_ij[i+1,j+1,k+1] * M.sub.rx_ijk[i+1,j+1,k+1] for i in range(len(ru_ij)) for j in range(len(ru_ij[i])) for k in range(3)))   #<class 'generator'>
def sub_obj_rule(M):
    model = M.model()
    return sum((model.sub.disutility_u_ij[i+1,j+1,k+1] * model.sub.ux_ijk[i+1,j+1,k+1] + model.sub.disutility_ru_ij[a+1,b+1,k+1] * model.sub.rx_ijk[a+1,b+1,k+1]) for i in range(len(u_ij)) for j in range(len(u_ij[i])) for k in range(3) for a in range(len(ru_ij)) for b in range(len(ru_ij[a])))
M.sub.o = Objective(rule=sub_obj_rule,sense=minimize)

有人能帮我解决这个问题吗?我缺乏发电机方面的经验,这使我无法找出我做错了什么。提前谢谢


Tags: 代码informodellenrutyperange