Pyomo建模约束中功率计算的误差

2024-09-28 17:06:31 发布

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

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

计算约束54时出错:无法计算pow(-68.9833,-0.66666 7)。 错误:解算器(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”创建一个新变量,对其进行限定,以避免负幂基。 多谢各位


Tags: 脚本model错误acthin算器动态数据pow