跳到正文
格致开物MATHWIKI

最优控制

最优控制在系统动力学、起点和约束既定时,选择一段随时间变化的控制输入,使整段运动的代价最小。它与只在一个时刻选一个数的普通优化不同:今天的控制会改变明天的状态,明天可用的控制又受这个状态限制。软着陆、库存调度和储能充放电都具有这种结构。

两步到达目标

一辆小车沿直线运动,以下用一个经过无量纲化的离散模型说明方法:xk+1=xk+uk,x0=0,两步后要求 x2=4,每步控制满足 |uk|≤3。假设使用控制的代价为 J=u02+u12。由状态递推,x1=u0、x2=u0+u1,所以终点要求等价于 u0+u1=4。

固定和为四时, u02+u12=(u0+u1)2+(u0−u1)22=8+(u0−u1)22≥8. 等号仅在 u0=u1=2 时成立,且两步控制都未超过三,故它是全局最优,轨迹为 0→2→4。若途中设有窄通道,要求 x1≤1,则 u0≤1;而 u1=4−u0≤3 又迫使 u0≥1。唯一可行控制变成 (u0,u1)=(1,3),代价十。只检查终点而忽略中途状态,会把不可通行的低代价轨迹误判为答案。

无途中限制时状态从零到二再到四,代价八;加入第一步位置不超过一的路径约束后轨迹从零到一再到四,代价十
终端条件相同,途中状态约束改变了最优控制与代价。

连续时间的标准形式

状态 x(t) 可以包含位置、速度、库存或电池电量;控制 u(t) 可以是推力、生产率或充电功率。一般模型由微分方程与约束组成: x˙(t)=f(x(t),u(t),t),x(0)=x0,u(t)∈U,x(t)∈X. 选择整段 u(t),使 J=Φ(x(T))+∫0TL(x(t),u(t),t)dt 最小。L 是运行代价,Φ 是终点代价;若终点必须等于指定值,要写成硬约束 x(T)=xT,不能仅靠一个较小的终点惩罚系数假装“已经到达”。目标函数每一项须能相加,例如若燃料与时间并列,要说明权重如何把不同单位转换成同一个可比较的量。

将时间分成 N 段、步长 Δt,一种直接离散近似是 xk+1=xk+Δtf(xk,uk,tk),再最小化 Φ(xN)+∑k=0N−1ΔtL(xk,uk,tk)。这相当于同时选择各步的控制和状态,并用递推等式绑住它们。若动力学变化快,欧拉离散误差可能使“离散可行”在连续系统里越界,需要缩小步长或采用更合适的积分法,并在原方程中重算轨迹。优化器的成功状态也不证明物理参数正确。

从模型到实际控制

上面的两步算例由平方恒等式直接证明最优;更复杂的模型可用动态规划、间接法的最优性条件,或离散后交给非线性规划求解。控制上下界、终端时间、路径障碍和状态测量误差应单独列出,不要只呈现目标函数。对于会持续收到新观测的系统,模型预测控制会每次重算未来一段计划、只执行第一段,再根据新状态继续优化;这里它是滚动控制方法的名称,不能把一次预先算出的开环轨迹误写成反馈策略。

验收应同时检查起点、终点、全时段控制上下界、路径约束和代价;再用扰动后的初始位置、质量或阻力做敏感性分析。如果状态不可直接观测,先要用状态估计处理测量不确定性,但估计误差仍须进入安全裕度或鲁棒控制分析。

参考资料与相关词条