3. 模型预测控制核心原理
模型预测控制(MPC)之所以能在生物过程这类强非线性、大滞后、多约束场景中发挥作用,核心并不在于某个单独的算法技巧,而在于四个机制协同构成的闭环结构:预测模型提供未来行为的“可推演能力”,滚动优化把无限时域问题切成有限时域反复求解,反馈校正用实测信息修正模型偏差,约束处理把物理与安全边界直接写进优化问题。理解这四者的分工与耦合,是后续实现、整定和排障的基础。
预测模型:把“未来”变成可计算的轨迹
预测模型是MPC的“眼睛”。它不必是精确的机理模型,但必须能在给定未来控制输入序列的前提下,输出未来若干采样时刻的被控变量预测值。生物过程常用三类模型:线性状态空间/传递函数模型、带参数辨识的离散差分模型,以及用于高保真场景的机理或混合模型。以补料分批发酵为例,若以补料速率 F(k) 为操纵变量、以溶解氧 DO(k) 或比生长速率相关量为被控变量,一个简化的离散预测模型可写成:
% 离散线性预测模型示例(采样周期 Ts = 0.1 h)
% x(k+1) = A x(k) + B u(k)
% y(k) = C x(k)
A = [0.92 0.05; 0 0.88];
B = [0.08; 0.12];
C = [1 0];
% 预测时域 P = 10,控制时域 M = 3
% 由 x(k) 递推得到 y(k+1|k) ... y(k+10|k)
预测时域 P 决定“看多远”,控制时域 M 决定“未来允许调整几步”。P 太短会看不到滞后效应,太长则计算量与模型误差累积都上升;M 太小会导致控制量变化剧烈,太大则优化自由度冗余。工程上常取 P 覆盖过程主要滞后加上升时间,M 取 2~5。
滚动优化:每个采样周期重解一次有限时域问题
滚动优化的本质是“只执行第一步,然后重新预测”。在第 k 个采样时刻,求解如下优化问题:
min Σ_{i=1}^{P} ||y(k+i|k) - r(k+i)||²_Q
+ Σ_{j=0}^{M-1} ||Δu(k+j|k)||²_R
s.t. u_min ≤ u(k+j|k) ≤ u_max
Δu_min ≤ Δu(k+j|k) ≤ Δu_max
y_min ≤ y(k+i|k) ≤ y_max
其中 Q 是跟踪误差权重,R 是控制增量权重。求解得到最优序列 Δu*(k), Δu*(k+1), …,但只把第一个 Δu*(k) 施加到过程,下一时刻用新的测量值重新求解。这种“滚动”机制使MPC天然具备处理时变和扰动能力,但也意味着每个采样周期都必须完成一次优化计算,实时性是硬约束。
反馈校正:用实测值修正预测偏差
预测模型永远存在失配。反馈校正的做法是:在 k 时刻测得实际输出 y(k),与上一时刻对 k 的预测值 ŷ(k|k−1) 比较,得到预测误差 e(k) = y(k) − ŷ(k|k−1)。将该误差以一定方式叠加到未来预测上,常用形式为:
% 反馈校正:误差加权修正未来预测
e = y_meas(k) - y_pred(k|k-1);
for i = 1:P
y_corr(k+i|k) = y_pred(k+i|k) + alpha^i * e;
end
% alpha 为误差衰减因子,通常 0.3 ~ 0.8
α 越接近1,校正越强、响应越快,但对噪声也更敏感;α 越小则更平滑。生物过程测量常含噪声与滞后,α 通常取 0.3~0.6,并配合滤波使用。没有反馈校正,MPC就退化为开环前馈,模型偏差会持续累积。
约束处理:把物理边界写进优化
约束是MPC区别于普通PID的关键优势。生物过程的典型约束包括:补料速率上下限、溶解氧不低于临界值、代谢副产物不超限、反应器体积不溢出、阀门开度范围等。约束分为硬约束与软约束:硬约束必须满足,否则问题不可行;软约束允许在极端工况下短暂越界,但通过惩罚项抑制。当硬约束导致不可行时,常用做法是引入松弛变量 ε:
% 软约束示例:允许 y 短暂越界,但惩罚越界量
y_min - eps <= y(k+i|k) <= y_max + eps
min ... + rho * eps^2
% rho 越大,越不允许越界
约束的优先级需要明确:安全类约束(如DO下限)应设为硬约束或高权重软约束,经济类约束可适当放宽。约束之间若互相冲突,优化器会返回不可行,此时需要按优先级放松或切换备用控制策略。
稳定性概念:不是“解出来”就稳定
MPC的稳定性不能仅靠“每步最优”保证。有限时域滚动优化在无终端约束时可能出现闭环不稳定。工程上常用的稳定化手段包括:终端等式约束(要求预测末端回到设定点)、终端不等式约束(末端进入不变集)、终端惩罚项(对末端状态加权),以及足够长的预测时域。对于生物过程,由于模型非线性强、工况变化大,更实用的做法是:在关键变量上设置终端区域,并配合约束收紧和增益调度,使闭环在主要操作区间内保持有界稳定。
四机制的耦合关系与工程判断
四者不是并列模块,而是互相制约的闭环。预测模型不准,滚动优化再精确也会偏;反馈校正过强,会把噪声放大成控制振荡;约束过紧,优化频繁不可行;稳定性保障不足,长时域运行可能发散。实际调试时建议按以下顺序排查:先确认预测模型在开环下能复现主要动态趋势,再检查反馈校正是否引入高频抖动,然后逐步收紧约束并观察优化器是否可行,最后用阶跃扰动和设定值跟踪测试闭环有界性。