4、优化问题分类:线性规划(LP)、二次规划(QP)、非线性规划(NLP)、混合整数规划(MIQP/MINLP)在MPC中的应用
模型预测控制(MPC)的核心在于每一控制周期内求解一个有限时域优化问题。这个优化问题的数学结构——目标函数形式、约束类型、决策变量属性——直接决定了求解器的选型、计算耗时、收敛特性以及最终的控制品质。本章将系统梳理LP、QP、NLP、MIQP/MINLP四类优化问题在MPC中的适用场景、数学特征、求解器匹配策略与工程调优要点,帮助工程师在“控制性能”与“实时可行性”之间做出理性权衡。
上图展示了MPC优化问题分类的全景决策逻辑。实际工程中,超过80%的线性MPC应用最终归结为QP问题,而LP多用于经济优化层或超高速回路,NLP和混合整数规划则用于处理强非线性或逻辑切换场景。下面逐一展开各类问题的数学本质、求解器匹配与实战调优方法。
4.1 线性规划(LP)在MPC中的应用
核心原理
LP问题的标准形式为:目标函数为线性函数,约束条件为线性等式或不等式。在MPC框架下,LP通常用于以下两类场景:(1)经济MPC(EMPC),以经济指标(如能耗、产量、利润)为优化目标,而非跟踪误差;(2)超高速回路,如电力电子变换器控制,采样周期在微秒到毫秒级,需要极简的优化模型。LP的数学表达为:
min J = c^T * u
s.t. A * u ≤ b
Aeq * u = beq
lb ≤ u ≤ ub
其中u为决策变量(通常为控制增量或操纵变量),c为成本系数向量。LP的全局最优解一定在可行域的顶点处取得,这为求解器提供了高效的搜索路径。
判断方法
- 目标函数线性化:如果MPC的目标函数可以写成值形式(如L1范数)或线性加权和,且预测模型为线性状态空间方程,则可转化为LP。
- 约束条件:所有约束(输入限幅、输出限幅、变化率约束)均为线性不等式。
- 无二次型惩罚:如果对控制误差的惩罚不需要平方项(即不需要抑制大幅偏差),LP是合适选择。
案例拆解:炼油厂催化裂化装置的经济MPC
某炼油厂FCCU装置采用经济MPC,目标为最大化汽油产率同时满足产品规格约束。原QP方案每周期求解耗时约35ms,在DCS系统上存在超时风险。工程师将目标函数从二次型跟踪误差改为线性经济指标(汽油价格×产率 - 能耗成本),并将预测模型保持线性。改造后LP求解耗时降至4ms,控制周期从1s缩短至200ms。关键参数对比:
| 指标 | QP方案 | LP方案 |
|---|---|---|
| 求解耗时 | 35ms | 4ms |
| 目标函数形式 | 二次型误差 | 线性经济指标 |
| 汽油产率提升 | 基准 | +1.2% |
| 能耗变化 | 基准 | -3.5% |
复盘发现,LP方案虽然牺牲了误差平方惩罚带来的“大偏差快速抑制”特性,但通过增加一个线性软约束项(对超限的惩罚系数),在保持经济最优的同时满足了安全约束。
4.2 二次规划(QP)——标准MPC的默认选择
核心原理
QP问题具有二次目标函数和线性约束,是线性MPC的标准数学形式。其目标函数通常为:
min J = (y-y_ref)^T * Q * (y-y_ref) + Δu^T * R * Δu
s.t. x(k+1) = A*x(k) + B*u(k)
y(k) = C*x(k)
u_min ≤ u ≤ u_max
Δu_min ≤ Δu ≤ Δu_max
y_min ≤ y ≤ y_max
QP的凸性(当Q≥0, R>0时)保证了全局最优解的存在性和唯一性,且求解算法(内点法、主动集法、交替方向乘子法ADMM)成熟高效。对于中等规模问题(决策变量数在10~200之间),现代求解器可在1~10ms内完成求解。
判断方法与求解器选型
| 问题规模(决策变量数) | 推荐求解器 | 算法类型 | 典型耗时 |
|---|---|---|---|
| 10~50 | qpOASES | 主动集法 | 0.1~1ms |
| 50~200 | OSQP | ADMM | 1~5ms |
| 200~1000 | HPIPM / FORCES Pro | 内点法/自定义 | 5~20ms |
| >1000 | GUROBI / CPLEX | 内点法/单纯形 | 20~100ms |
实战调优要点
- 权重矩阵整定:Q矩阵决定跟踪优先级,R矩阵抑制控制动作幅度。建议先令R=0.1*I,观察闭环响应,再逐步增大R直到控制动作不再抖动。
- 软约束处理:输出约束(如温度上限)应使用软约束(引入松弛变量ε),避免因模型失配导致可行域为空。松弛变量在目标函数中惩罚系数通常设为10^4~10^6。
- 温启动策略:利用上一周期的最优解作为当前周期的初始点,可减少约30%~50%的迭代次数。qpOASES和OSQP均支持温启动。
4.3 非线性规划(NLP)——处理强非线性系统的利器
核心原理
当被控对象具有显著非线性(如pH中和过程、聚合反应器、机器人动力学)时,线性预测模型无法满足控制精度要求,需直接在NLP框架下求解。NLP的数学形式为:
min J = Σ ||y(k+i) - y_ref||²_Q + ||Δu(k+i)||²_R
s.t. x(k+i+1) = f(x(k+i), u(k+i)) % 非线性状态方程
g(x, u) ≤ 0 % 非线性约束
NLP求解的核心挑战在于非凸性——可能存在多个局部最优解,且求解时间不确定。常用算法包括序列二次规划(SQP)、内点法(IPOPT)、以及基于自动微分的CasADi框架。
判断方法与降维策略
- 非线性程度评估:计算开环响应的增益变化。若在工作点附近增益变化超过20%,建议考虑NMPC。
- 模型简化优先:在可能的情况下,通过反馈线性化、精确线性化或子空间辨识将系统转化为线性模型,避免直接求解NLP。
- 多工作点线性化:在不同工况点分别建立线性模型,使用增益调度MPC(LPV-MPC),兼顾非线性和实时性。
案例拆解:连续搅拌反应釜(CSTR)的NMPC实现
某CSTR过程存在强放热反应,温度-浓度耦合严重非线性。线性MPC在工况偏移超过15%时出现振荡。工程师采用CasADi+IPOPT实现NMPC:
- 模型建立:使用一阶原理模型,包含物料平衡和能量平衡方程,共4个状态变量。
- 求解配置:预测时域N=20,控制时域M=3,IPOPT设置max_iter=100,tol=1e-4。
- 实时性优化:采用实时迭代(RTI)策略,将NLP求解拆分为准备阶段和反馈阶段,反馈阶段仅需一次SQP迭代。
实测结果:控制周期从1s延长至2s(因NLP求解需约300ms),但温度控制偏差从±3.5°C降至±0.8°C,产品合格率从92%提升至99.2%。代价是CPU占用率从15%升至60%,需选用更高性能控制器。
4.4 混合整数规划(MIQP/MINLP)——逻辑决策与模式切换
核心原理
当MPC需要处理离散决策变量时(如阀门开关、设备启停、模式切换),问题变为混合整数规划。MIQP(线性模型+二次目标+整数变量)和MINLP(非线性模型+整数变量)的求解复杂度远高于连续优化问题,属于NP-hard问题。其数学形式为:
min J = (y-y_ref)^T Q (y-y_ref) + Δu^T R Δu + λ^T z
s.t. x(k+1) = A*x(k) + B*u(k) + F*z(k) % z为整数变量
z ∈ {0,1}^m
u_min * z ≤ u ≤ u_max * z % 逻辑约束
求解策略
| 问题类型 | 求解方法 | 适用规模 | 实时性 |
|---|---|---|---|
| MIQP(小规模) | 分支定界 + QP求解器 | 整数变量≤10 | 10~100ms |
| MIQP(中规模) | 外逼近(OA) | 整数变量≤30 | 100ms~1s |
| MINLP | 分支定界 + NLP求解器 | 整数变量≤5 | 1~10s |
| 大规模 | 启发式/分解算法 | 整数变量>30 | 不保证实时 |
工程降维方法
- 逻辑变量松弛:将整数变量松弛为连续变量(0~1),求解后取整,适用于对最优性要求不高的场景。
- 显式MPC:离线计算所有可行域的分段仿射控制律,在线仅需查表。适用于整数变量≤5的小规模问题。
- 事件驱动重构:将模式切换视为外部事件,由上层调度器决策,MPC仅处理连续变量。
案例拆解:建筑能源系统的MIQP优化
某商业建筑暖通空调系统包含2台冷水机组(启停状态为整数变量)和1个蓄冷水池(连续变量)。目标为在电价分时计费下最小化日运行成本。MIQP问题包含2个整数变量、8个连续变量、预测时域24h(步长1h)。使用GUROBI求解:
# 关键参数设置
m.setParam('TimeLimit', 10) # 最长求解时间10s
m.setParam('MIPGap', 0.01) # 最优性间隙1%
m.setParam('Threads', 4) # 并行线程数
实际求解耗时约3.2s,MIPGap=0.8%,日运行成本较传统规则控制降低18.6%。但该问题无法在1s内实时求解,因此采用“滚动优化+事件触发”策略:每15分钟重新求解一次,并在电价变化或负荷突变时触发重算。
4.5 总结与选型决策框架
综合上述分析,MPC优化问题选型应遵循以下决策路径:
- 第一步:判断模型线性度——若系统在工作范围内近似线性,进入第2步;否则考虑NLP或LPV-MPC。
- 第二步:判断目标函数形式——若需要抑制大偏差且对误差平方敏感,选QP;若以经济指标为主且可接受线性目标,选LP。
- 第三步:判断是否存在逻辑/整数决策——若存在,评估整数变量数量,≤5可尝试MIQP,否则考虑分解策略。
- 第四步:实时性验证——在目标硬件上测试最坏情况求解时间,确保小于控制周期的80%。
| 问题类型 | 凸性 | 全局最优 | 典型求解时间 | 适用场景 |
|---|---|---|---|---|
| LP | 凸 | 是 | 0.1~5ms | 经济MPC、超高速回路 |
| QP | 凸(Q≥0) | 是 | 1~20ms | 标准跟踪MPC、LTI系统 |
| NLP | 非凸 | 否(局部最优) | 50~500ms | 强非线性、高精度控制 |
| MIQP/MINLP | 非凸(组合) | 是(理论上) | 100ms~10s | 逻辑切换、混合系统 |
最后需要强调,优化问题分类不仅是数学形式的选择,更是控制性能与计算资源之间的工程权衡。在绝大多数工业MPC应用中,QP是“性价比”最高的选择——它既能保证全局最优性,又能在嵌入式硬件上实现毫秒级求解。只有在QP无法满足控制品质要求时,才应升级至NLP或混合整数规划,并做好充分的实时性验证与故障保护设计。