You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Gekko的生物反应器最优控制长时间仿真收敛问题求助

生物反应器Gekko优化收敛问题

仿真时间较短(t≈20)时,模型可收敛(需精细时间步长dt<0.1),但延长至t=30时,持续出现以下错误:

EXIT: Converged to a point of local infeasibility. Problem may be infeasible

已尝试以下解决方法:

  • 切换不同求解器,设置m.options.SOLVER = 1、2、3
  • 将m.options.MAX_ITER增大至10000
  • 降低m.options.NODES至1(低阶离散化似乎有助于收敛)
  • 为操纵变量(MV)指定合理初始值,例如声明时设置:D = m.MV(value=0.1,lb=0.0,ub=0.1)

简化模型(3个状态变量、5个参数、2个MV)的优化效果较好,但延长时间后同样会失败。完整代码如下:

from gekko import GEKKO
import numpy as np
import matplotlib.pyplot as plt

#Parameters and IC
full_params = [0.027,2.12e-9,7.13e-3,168,168,0.035,1e-3]
full_x0 = [5e6,0.0,0.0,0.0,1.25e5,0.0]
mu,k1,k2,k3,k33,k4, f= full_params

#Initialize model
m = GEKKO()

#Time discretization
n_steps = 201
m.time = np.linspace(0,20,n_steps)

#Define MVs
D = m.MV(value=0.1,lb=0.0,ub=0.1)
D.STATUS = 1
D.DCOST = 0.0
Tin = m.MV(value=1e7,lb=0.0,ub=1e7)
Tin.STATUS = 1
Tin.DCOST = 0.0

#Define States
T = m.Var(value=full_x0[0])
Id = m.Var(value=full_x0[1])
Is = m.Var(value=full_x0[2])
Ic = m.Var(value=full_x0[3])
Vs = m.Var(value=full_x0[4])
Vd = m.Var(value=full_x0[5])

#Define equations
m.Equation(T.dt() == mu*T -k1*(Vs+Vd)*T + D*(Tin-T))
m.Equation(Id.dt() == k1*Vd*T -(k1*Vs -mu)*Id -D*Id)
m.Equation(Is.dt() == k1*Vs*T -(k1*Vd + k2)*Is -D*Is)
m.Equation(Ic.dt() == k1*(Vs*Id + Vd*Is) -k2*Ic -D*Ic)
m.Equation(Vs.dt() == k3*Is - (k1*(T+Id+Is+Ic) + k4 + D)*Vs)
m.Equation(Vd.dt() == k33*Ic + f*k3*Is - (k1*(T+Id+Is+Ic) + k4 + D)*Vd)

#Define objective function
J = m.Var(value=0) # objective (profit)
Jf = m.FV() # final objective
Jf.STATUS = 1
m.Connection(Jf,J,pos2="end")
m.Equation(J.dt() == D*(Vs + Vd))
m.Obj(-Jf)
m.options.IMODE = 6  # optimal control
m.options.NODES = 1  # collocation nodes
m.options.SOLVER = 3
m.options.MAX_ITER = 10000

#Solve
m.solve()

模型方程详情:
模型方程

恳请提供解决建议,例如如何实现参数缩放。


内容的提问来源于stack exchange,提问作者Pavan Inguva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 09:50:25