3. 参数优化问题的数学描述与求解框架

在电机控制系统中,参数优化并不是“把一组参数反复试到效果满意”这么简单。要让优化过程可复现、可比较、可解释,必须先把工程问题翻译成数学问题:明确哪些量可以调、哪些量不能动、希望改善什么、必须满足什么限制、多个目标之间如何取舍。这一节围绕目标函数设计、约束处理、多目标优化形式化以及算法选型原则展开,给出一个可以直接套用到电流环、速度环、弱磁控制或效率优化等场景的求解框架。

一、从工程需求到优化问题的三要素

一个标准的参数优化问题由三部分构成:决策变量、目标函数和约束条件。以表贴式永磁同步电机速度环PI参数优化为例,决策变量可以取 x = [Kp, Ki];目标函数可以取阶跃响应超调量与调节时间的加权和;约束条件则包括电流限幅、带宽上限、稳态误差要求等。写成一般形式:

min  f(x) = [f1(x), f2(x), ..., fm(x)]
s.t. gi(x) ≤ 0,  i = 1,2,...,p
     hj(x) = 0,  j = 1,2,...,q
     xL ≤ x ≤ xU

其中 x 是 n 维决策变量,f 是目标向量,g 和 h 分别是不等式与等式约束,xL、xU 是变量的物理上下界。这个形式看起来抽象,但它决定了后续所有工作的边界:变量选错,优化结果无法落地;目标写错,算法会“优化”出工程上无意义的参数;约束遗漏,可能得到数学最优但会触发过流保护的解。

二、目标函数设计:把“控制得好”变成可计算的量

目标函数是优化问题的“指挥棒”。在电机控制中,常见的目标来源包括时域性能、频域性能、能耗与温升、电流谐波、转矩脉动等。设计目标函数时,建议遵循三条原则:可测量或可仿真计算、对参数变化敏感、量纲统一或经过归一化。

以速度环阶跃响应为例,若只写“超调小、响应快”,算法无法执行。可以将其形式化为:

f1(x) = max(y(t)) - y_ref          // 超调量
f2(x) = t_settle                    // 调节时间
f3(x) = ∫|e(t)|dt                   // 绝对误差积分
f(x)  = w1·f1/f1_ref + w2·f2/f2_ref + w3·f3/f3_ref

其中 f1_ref、f2_ref、f3_ref 是基准值,用于把不同量纲的量归一化到相近数量级;w1、w2、w3 是权重,反映设计偏好。若更关注跟随性而不希望超调,可提高 w1;若更关注快速性,可提高 w2。需要强调的是,权重不是“拍脑袋”的,应结合具体工况:例如数控机床进给轴通常对超调更敏感,而风机泵类负载对调节时间容忍度更高。

对于效率优化场景,目标函数可以写成铜耗与铁耗的加权和:

f(x) = P_cu(id, iq) + k_fe · P_fe(ω, id, iq) + k_sw · P_sw(fsw)

此时决策变量可能是 id、iq 的分配比例或开关频率 fsw。目标函数必须与控制器实际可调量对应,否则优化结果无法写入控制器。

三、约束处理:把“不能碰的红线”写进问题

电机控制中的约束通常分为三类:物理约束、性能约束和安全约束。物理约束如电压极限圆、电流极限圆;性能约束如带宽不低于某值、稳态误差小于某阈值;安全约束如母线电流不超过额定值、温升不超过绝缘等级。处理约束的常用方法有三种:

  • 罚函数法:把约束违反量乘以罚因子加入目标函数,适合约束边界不严格或需要快速实现的场景。
  • 可行域投影法:在迭代中把越界变量投影回边界,适合变量上下界明确的参数优化。
  • 约束支配法:在多目标优化中,可行解优先于不可行解,适合NSGA-II等算法。

以电流极限圆为例,约束可写为 id² + iq² ≤ Imax²。若采用罚函数,则目标函数变为 F(x) = f(x) + M·max(0, id²+iq²-Imax²),其中 M 是罚因子。M过小会导致解越界,M过大会导致数值病态,通常取目标函数典型值的10~100倍作为初值,再根据迭代结果调整。

约束处理的一个实用技巧:先区分“硬约束”和“软约束”。硬约束必须严格满足,例如过流保护阈值;软约束可以适度违反,例如温升略高于设计值但仍在安全裕度内。硬约束用投影或严格罚函数,软约束用加权罚函数,能显著提高求解效率。

四、多目标优化形式化:Pareto前沿与偏好表达

当目标函数超过一个且彼此冲突时,不存在让所有目标同时最优的单一解,只能得到一组Pareto最优解。以速度环PI优化为例,超调量和调节时间往往此消彼长:增大 Kp 可缩短调节时间,但可能增大超调。此时优化结果是一条Pareto前沿,而不是一个点。

多目标优化的标准形式为:

min F(x) = [f1(x), f2(x), ..., fm(x)]
s.t. x ∈ Ω

其中 Ω 是可行域。解 x* 称为Pareto最优,当且仅当不存在另一个可行解 x 使所有目标都不劣于 x*,且至少一个目标严格更优。工程上,我们通常先求出一组Pareto解,再根据偏好选择最终参数。偏好表达方式包括:权重法、ε-约束法、参考点法。权重法简单但难以覆盖非凸前沿;ε-约束法把部分目标转为约束,适合目标数量较少的情况;参考点法适合设计者能给出“理想目标值”的场景。

参数优化问题求解框架 从工程需求到可执行优化模型的映射关系 工程需求 响应快、超调小 时域性能指标 效率高、损耗低 能耗与温升 不触发过流保护 安全与物理约束 参数可写入控制器 可执行性要求 多工况兼顾 鲁棒性需求 数学形式化 决策变量 x Kp, Ki, id, iq, fsw ... 物理上下界 xL ≤ x ≤ xU 目标函数 f(x) 超调量、调节时间、效率、转矩脉动 归一化 + 加权组合 约束条件 g(x), h(x) 电流极限圆、电压极限圆 带宽下限、温升上限 多目标形式 min [f1(x), f2(x), ..., fm(x)] 求解与决策 算法选型 梯度/无梯度/进化 Pareto前沿 非支配解集 偏好选择 权重/参考点/ε约束 参数固化 写入控制器并验证 结果复核 仿真+台架对比 核心原则:变量可落地、目标可计算、约束可执行、多目标可取舍、算法与问题匹配

五、优化算法选型的基本原则

算法选型不是“哪个先进用哪个”,而是看问题特征。可以从四个维度判断:目标函数是否可导、变量维度、约束复杂度、单次评估代价。

问题特征推荐算法类型典型场景
目标可导、变量少、约束简单梯度类(SQP、内点法)电流环PI参数连续优化
目标不可导、变量少无梯度类(Nelder-Mead、Powell)含死区、限幅的控制器参数
变量多、多目标、约束复杂进化类(NSGA-II、MOEA/D)速度环+电流环联合优化
单次评估代价高代理模型类(贝叶斯优化)需要有限元或台架实验的场景

选型时还要注意:如果单次仿真需要数分钟甚至更久,应优先考虑贝叶斯优化或代理模型,而不是直接上大规模进化算法;如果目标函数存在大量局部极值,梯度法容易陷入局部最优,可先用遗传算法做全局搜索,再用梯度法局部精修。对于电机控制这类安全相关系统,任何优化结果都必须经过仿真和台架双重验证,不能直接把算法输出写入量产控制器。

常见误区:把“优化算法”当成黑箱,忽略目标函数和约束的工程含义。实际上,目标函数设计占整个优化工作量的60%以上,算法只是求解工具。若目标函数不能反映真实需求,再先进的算法也只会给出“数学上漂亮、工程上无用”的参数。

六、一个可复用的求解流程

综合以上内容,参数优化问题的求解可以按以下流程推进:

  1. 明确决策变量:列出控制器中真正可调且对性能有影响的参数,确定上下界。
  2. 建立目标函数:选择可计算指标,归一化后加权组合;多目标时保留向量形式。
  3. 整理约束:区分硬约束与软约束,选择罚函数、投影或约束支配策略。
  4. 选择算法:根据可导性、维度、评估代价选择梯度、无梯度、进化或代理模型方法。
  5. 求解与筛选:得到Pareto前沿或最优解集,按偏好选出候选参数。
  6. 验证与固化:在仿真和台架上验证候选参数,确认满足约束后写入控制器。