在Pyomo建模约束中错误评估功效

时间:2020-08-08 09:33:41

标签: python constraints pyomo

运行我的脚本进行动态数据协调时,出现以下错误:

错误评估约束54:无法评估pow(-68.9833,-0.666667)。 错误:求解器(ipopt)返回非零返回码(1) 错误:请参阅上面的求解器日志以获取诊断信息。

这是代码的相关部分:

def _dQcdt(model,i): # differential constraint for heat balance on cold fluid side

p=[2473.00, 1.33, 2419.00, 772.65, 14318.66] # physical parameters
Ac=p[0]*p[1]/3600
a=(p[4]/6)*((model.Thin[i]-model.Tcout[i])*(model.Thout[i]-model.Tcin[i])*0.5*(model.Thin[i]-model.Tcout[i]+model.Thout[i]-model.Tcin[i]))**(-2/3)
b=model.Thin[i]-model.Tcout[i]
c=model.Thout[i]-model.Tcin[i]
d=model.Thin[i]-model.Tcout[i]+model.Thout[i]-model.Tcin[i]   
dqdt=-a*model.Tcindot[i]*(b*d+b*c)+a*model.Thindot[i]*(c*d+b*c)
return Ac*(model.Tcout[i]*model.dVcdt[i]-model.Tcin[i]*model.dVcdt[i]-model.Vc[i]*model.Tcindot[i])-dqdt==0 
model.Qccon=pyo.Constraint(model.time,rule=_dQcdt)

我将所有变量限定为始终为正且不同于零,并且也将它们初始化。除功率基数的值外,没有其他任何改变。我还尝试为术语“ a”创建一个新变量,并对其进行限制,以避免产生负幂基。 非常感谢!

0 个答案:

没有答案
相关问题