pyomo 准确性; objective 规则未 return 预期值
pyomo accuracy; objective rule doesn´t return the expacted value
使用 pyomo 和 glpk 求解器我定义了以下目标规则:
def cost_rule(m):
return (sum(m.rd[i]*m.pRdImp*m.dt - m.vr[i]*m.pRdExp*m.dt for i in m.t) + m.cb + m.cPV + (150+10*m.kWp) )
m.cost = Objective(rule=cost_rule)
如果我知道在找到最小值后比较输出,我会得到不同的结果:
sum(m.rd[i]()*m.pRdImp()*m.dt() - m.vr[i]()*m.pRdExp()*m.dt() for i in t_t) + m.cPV() + m.cb() + (150+5*m.kWp())
Out[46]: 1136.468
m.cost()
Out[43]: 1173.178
(m.t 和 t_t 是表示一年中小时数的范围集)
这是一个大约 3% 的错误,任何想法可能来自哪里?如果我需要选择一个值,哪个值是正确的。
提前致谢!
表达方式不同。第一个的最后一项是 (150+10*m.kWp)
第二个的最后一项是 (150+5*m.kWp())
使用 pyomo 和 glpk 求解器我定义了以下目标规则:
def cost_rule(m):
return (sum(m.rd[i]*m.pRdImp*m.dt - m.vr[i]*m.pRdExp*m.dt for i in m.t) + m.cb + m.cPV + (150+10*m.kWp) )
m.cost = Objective(rule=cost_rule)
如果我知道在找到最小值后比较输出,我会得到不同的结果:
sum(m.rd[i]()*m.pRdImp()*m.dt() - m.vr[i]()*m.pRdExp()*m.dt() for i in t_t) + m.cPV() + m.cb() + (150+5*m.kWp())
Out[46]: 1136.468
m.cost()
Out[43]: 1173.178
(m.t 和 t_t 是表示一年中小时数的范围集) 这是一个大约 3% 的错误,任何想法可能来自哪里?如果我需要选择一个值,哪个值是正确的。
提前致谢!
表达方式不同。第一个的最后一项是 (150+10*m.kWp)
第二个的最后一项是 (150+5*m.kWp())