最优控制问题
-
核心概念引入
最优控制理论是现代运筹学与控制论交叉的核心分支。它研究的问题是,如何为一个随时间演变的动态系统,在满足特定约束条件下,寻找一个“控制输入”函数,使得描述系统性能的某个指标(称为“性能指标”或“代价函数”)达到最优(最小或最大)。我们从一个经典比喻入手:假设你要驾驶一辆汽车(动态系统)从A点出发到B点。你的操作(如方向盘转角、油门/刹车深度)就是“控制输入”。约束条件包括道路边界、速度上限、汽车的物理极限等。性能指标可能是总时间最短、油耗最小,或是舒适度最好。最优控制问题就是为你找出一条最优的“操作序列”(控制函数),让你在遵守交规和汽车物理限制的前提下,最完美地达成你的旅行目标。
-
数学模型框架(连续时间情形)
在连续时间背景下,一个标准的最优控制问题通常包含以下四个基本要素,通常表述为:- 系统动力学(状态方程):描述系统状态如何随时间变化,由控制输入驱动。这是一个微分方程:
\(\dot{x}(t) = f(x(t), u(t), t)\)
其中,\(x(t)\) 是 \(n\) 维状态向量(例如汽车的位置、速度),\(u(t)\) 是 \(m\) 维控制向量(例如方向盘、油门),\(f\) 是给定函数。已知初始状态 \(x(t_0) = x_0\)。
- 系统动力学(状态方程):描述系统状态如何随时间变化,由控制输入驱动。这是一个微分方程:
- 容许控制集:控制函数 \(u(t)\) 必须属于集合 \(U\),通常由物理限制或问题要求定义,例如 \(u_{\min} \le u(t) \le u_{\max}\)。
- 性能指标(代价函数):需要最小化(或最大化)的标量函数,通常由“终端代价”和“过程代价”两部分构成:
\(J(u) = \phi(x(t_f), t_f) + \int_{t_0}^{t_f} L(x(t), u(t), t) \, dt\)
其中,\(\phi\) 是终端时刻 \(t_f\) 的代价(如最终位置与目标点的偏差),\(L\) 是运行代价(如能耗、时间)。
- 性能指标(代价函数):需要最小化(或最大化)的标量函数,通常由“终端代价”和“过程代价”两部分构成:
- 终端约束:对系统最终状态和/或终端时间的约束,例如 \(x(t_f)\) 必须属于某个集合,或 \(t_f\) 固定/自由。
-
核心求解原理:最小值原理
这是求解最优控制问题的关键理论,由庞特里亚金等人提出,是变分法和拉格朗日乘子法在动态约束下的推广。其核心思想是引入一个称为“协态”(或“共轭状态”)的变量 \(\lambda(t)\),与状态变量 \(x(t)\) 维数相同。步骤如下:
a. 构造哈密顿函数:\(H(x, u, \lambda, t) = L(x, u, t) + \lambda^T f(x, u, t)\)。
这个函数将性能指标中的被积函数和系统动力学“耦合”在一起,\(\lambda\) 可以理解为状态变量的“影子价格”,表示该状态对总代价的边际影响。
b. 协态方程与横截条件:最优轨迹必须满足:
- 协态方程:\(\dot{\lambda}(t) = -\frac{\partial H}{\partial x}\) (一个微分方程)
- 横截条件:在终端时刻 \(t_f\),\(\lambda(t_f) = \frac{\partial \phi}{\partial x}\)(对于固定终端时间)或更一般的形式,用于确定终端协态值。
这两个方程与状态方程 \(\dot{x} = \frac{\partial H}{\partial \lambda} = f\) 一起,构成了一个两点边值问题。
c. 最小值原理:对于所有时间 \(t \in [t_0, t_f]\),最优控制 \(u^*(t)\) 在给定的容许控制集 \(U\) 内,必须最小化哈密顿函数:
\(u^*(t) = \arg \min_{u \in U} H(x^*(t), u, \lambda^*(t), t)\)。
这个条件至关重要,它通常能给出最优控制 \(u^*\) 作为状态 \(x^*\) 和协态 \(\lambda^*\) 的函数表达式(例如,在无约束时可通过 \(\partial H/\partial u = 0\) 求解)。
求解最优控制问题,本质上是联合求解由状态方程、协态方程、边界条件以及上述最小值条件构成的一系列方程。
- 一个经典特例:线性二次型调节器
这是最优控制中具有解析解的一类重要问题,其系统动力学是线性的,性能指标是状态的二次型和控制输入的二次型之和:
- 动力学:\(\dot{x}(t) = A(t)x(t) + B(t)u(t)\)
- 性能指标:\(J = \frac{1}{2} x^T(t_f)S_f x(t_f) + \frac{1}{2} \int_{t_0}^{t_f} [x^T(t)Q(t)x(t) + u^T(t)R(t)u(t)] dt\)
其中,\(S_f, Q\) 半正定(对状态的惩罚),\(R\) 正定(对控制能量的惩罚)。
应用最小值原理,可以推导出最优控制律具有优美的状态反馈形式:
\(u^*(t) = -R^{-1}(t)B^T(t)P(t)x(t)\)
其中,矩阵 \(P(t)\) 通过求解一个被称为“黎卡提微分方程”的非线性矩阵微分方程得到。这个结果意义深远:最优控制是当前状态的线性函数,易于在线计算,是现代控制理论中状态反馈设计的基石。
-
数值求解方法
对于大多数非线性问题,解析解不可得,需借助数值方法,主要分为两类:
a. 间接法:直接基于最小值原理。先推导出最优性必要条件(状态方程、协态方程、最小值条件、边界条件),将其转化为一个两点边值问题,然后用数值方法(如打靶法、多重打靶法、有限元法)求解。此法精度高,但推导复杂,对初始猜测敏感。
b. 直接法:将连续的最优控制问题“离散化”为一个非线性规划问题。具体做法是:将时间区间离散为多个点,将控制输入和状态变量在这些点上的值作为优化变量,用差分近似代替微分方程作为约束,性能指标用数值积分近似。然后用大规模非线性规划求解器(如序列二次规划、内点法)直接求解。此法更直观、鲁棒,是当前工程实践中的主流。 -
与动态规划的联系
最优控制问题是连续时间的无限维优化,而动态规划基于贝尔曼最优性原理,提供了从后向前递推的求解思路。对于连续时间问题,贝尔曼原理导出一个偏微分方程——哈密顿-雅可比-贝尔曼方程。在一定条件下,HJB方程的解与最小值原理等价。动态规划在理论上更完备(给出充分条件),但受“维数诅咒”限制。最小值原理给出的是必要条件,但常更易于分析和数值求解,二者相辅相成,构成了最优控制理论的基石。