变分法是最优控制问题的三大基石之一,下面讨论一些变分法的常用理论。

性能指标

无约束最优控制问题,若固定起止时间,两端状态固定,即
x(0)=x0,x(tf)=xf,t[0,tf] x(0)=x_0, x(t_f)=x_f, t\in[0,t_f]
需要求出最优路径path(轨迹trajectory、最优实现):x(t)x^*(t)。而这个最优性的定义,是按照泛函型性能指标来表达的
minx(t)J(x,t)=ϕ(x(tf),tf)+0tfL(x,x˙,t)dt(1) \min_{x(t)}J(x,t)=\phi(x(t_f),t_f)+\int_0^{t_f}L(x,\dot{x} ,t)\text d t \tag{1}
由赋范线性空间X\Chi的某个子集映射到实数域R\Reals的映射称为泛函,即T:XRT: \Chi\mapsto\Reals。在这里指的是从路径x(t)JRx(t)\mapsto J\in\Reals的一个映射,即函数的函数。公式(1)(1)只有第一部分性能指标的最优控制问题称为Meyer型问题,仅有第二部分的称为Lagrange型问题,两种相加的称为Bolza问题。Bolza型问题可以转化成Lagrange型问题
J(x,t)=0tfdϕ(x,t)dt+L(x,x˙,t)dt+ϕ(x(0),0) J(x,t)=\int_0^{t_f}\frac{\text d\phi(x,t)}{\text d t}+L(x,\dot{x} ,t)\text d t+\phi(x(0),0)
所以一般我们都是从Lagrange型问题开始研究的。

泛函极值必要条件

对于上述问题,沿着最优路径x(t)x^*(t)对性能指标做变分δJ(x)\delta J(x^*),最优路径的必要条件是δJ(x)=0\delta J(x^*)=0.对Lagrange型性能指标展开,
δJ(δx)=0tf(Lxδx+Lx˙δx˙)dt=0 \delta J(\delta x^*) =\int_0^{t_f}({\frac {\partial L}{\partial x}\delta x}+ {\frac {\partial L}{\partial \dot x}\delta \dot x)\text d t}=0
并对第二项做分部积分 uv=d(uv)=udv+vduuv=\int \text d (uv)=u\int \text d v+v\int \text d u,
Lx˙δx˙dt=Lx˙δdxdtdt=Lx˙δdx=Lx˙δxδxdLx˙=Lx˙δxδxdLx˙dtdt\int L_{\dot{x}} \delta \dot x \text d t=\int L_{\dot{x}} \delta \frac{\text d x}{\text d t}\text d t=\int L_{\dot{x}} \delta \text d x=L_{\dot{x}}\delta x-\int{\delta x}\text d L_{\dot x}=L_{\dot{x}}\delta x-\int{\delta x}\frac{\text d L_{\dot x}}{\text d t}\text d t
,得到
Lx˙δx0tf+0tf(LxddtLx˙)δxdt=0(2) {\left. L_{\dot{x}}\delta x \right|}_0^{t_f}+\int_0^{t_f}(L_x-\frac{\text d}{\text d t}L_{\dot x}\text )\delta xd t=0\tag{2}
上式表示
Lx˙(x(tf),x˙(tf),tf)δx(tf)Lx˙(x0,x˙0,0)δx0=0[Lx(x(t),x˙(t),t)ddtLx˙(x(t),x˙(t),t)]δx=0\begin{aligned} L_{\dot x}(x(t_f),\dot x(t_f),t_f)\cdot\delta x(t_f)-L_{\dot x}(x_0,\dot x_0,0)\cdot\delta x_0=0\\ [L_x(x(t),\dot x(t),t)-\frac{\text d}{\text d t}L_{\dot x}(x(t),\dot x (t),t)\text ]\cdot\delta x=0 \end{aligned}
由于变分δx(t)\delta x(t)是任意的,且初始时刻状态固定,所以δx(t0)=0\delta x(t_0)=0.于是得到泛函极值的必要条件,即Euler方程
LxddtLx˙=0(3) L_x-\frac{\text d}{\text d t}L_{\dot x}=0\tag 3
以及横截条件。
Lx˙(xf)=0L_{\dot{x}}(x_f)=0
tft_f固定、终端状态x(tf)x(t_f)自由,即xfXfx_f\in X_f\neq \emptyset,则上式需要;否则不需要这个条件就可以求出最优路径x(t)x(t)

各种情况下的求解

tft_f固定,xfx_f固定

边界条件x(0),tf,x(tf)x(0),t_f,x(t_f)都知道,极值必要条件为公式(3)(3),维数n*1。n个未知变量,两端状态已知,则构成两点边值问题。这个问题最典型的例子是百度百科-最速下降曲线问题,该问题为约翰伯努利提出,被欧拉解决。
例1.1 求无约束最优化问题的最优路径
J(x)=0π/2[x˙2(t)x2(t)]dtx(0)=0,x(π/2)=1J(x)=\int_{0}^{\pi / 2}\left[\dot{x}^{2}(t)-x^{2}(t)\right] d t\\ x(0)=0,x(\pi/2)=1
首先列出Euler方程
0=Lx(x(t),x˙(t),t)ddt[Lx˙(x(t),x˙(t),t)]=2x(t)ddt[2x˙(t)]\begin{aligned} 0 &=\frac{\partial L}{\partial x}\left(x^{*}(t), \dot{x}^{*}(t), t\right)-\frac{d}{d t}\left[\frac{\partial L}{\partial \dot{x}}\left(x^{*}(t), \dot{x}^{*}(t), t\right)\right] \\ &=-2 x^{*}(t)-\frac{d}{d t}\left[2 \dot{x}^{*}(t)\right]\\ \end{aligned}
x(t)+x(t)=0x(t)+x''(t)=0
x(t)=aeı(t+ϕ),(ı2=1)x(t)=ae^{\imath (t+\phi)},(\imath^2=-1),考虑边界条件即可得到a=1,ϕ=π/2;&a=1,ϕ=π/2a=1,\phi=-\pi/2;\& a=-1,\phi=\pi/2,在实数域的解为x(t)=sin(t)x(t)=sin(t)

tft_f固定,xfx_f自由

必要条件为Euler方程——公式(3)(3),边界条件多了
Lx˙(xf)=0L_{\dot{x}}(x_f)=0

tft_f自由,xfx_f自由,两者无关。

tft_f自由,xfx_f自由,没有直接的代数关系。Euler方程和公式(3)(3)一样,边界条件多了
Lx˙(xf)=0L(x,x˙,tf)=0(4)\begin{aligned} L_{\dot{x}}(x_f)=0\\ L(x,\dot x ,t_f)=0\tag{4} \end{aligned}

tft_f自由,xfx_f自由,之间有代数约束。

两者之间的关系为
ψi(xf,tf)=0i=1,2,...m,(m<n)\psi_i(x_f,t_f)=0,i=1,2,...m, (m<n)
有m个终端约束,数目小于状态向量xx的维数n。此时,按照Lagrange乘数法,设一个常数向量μRm×1\mu\in\Reals^{m\times1},构造新的性能指标
J(x,t)=μTψ+0tfLdt=0tfL+μTdψdtdtJ(x,t)=\mu^T\psi+\int_0^{t_f}L\text d t=\int_0^{t_f}L+\mu^T\frac{\text d \psi}{\text d t}\text d t
定义被积函数为Hamilton函数,即
H(x,μ)=L+μTdψdt(5)H(x,\mu)=L+\mu^T\frac{\text d \psi}{\text d t}\tag{5}
则化为标准的Lagrange性无约束问题。对它仍有Euler方程,
HxddtHx˙=0(6) H_x-\frac{\text d}{\text d t}H_{\dot x}=0\tag 6
参考公式(4)(4),有以下两个边界条件
Hx˙(xf)=0H(x,x˙,tf)=0(7)\begin{aligned} H_{\dot{x}}(x_f)=0\\ H(x,\dot x ,t_f)=0\tag 7 \end{aligned}
展开,得到横截条件
Lx˙+μTψxT=0L+μTdψdt=0(8)\begin{aligned} L_{\dot{x}}+\mu^T\frac{\partial \psi}{\partial x^T}=0\\ L+\mu^T\frac{\text d \psi}{\text d t}=0 \tag{8} \end{aligned}
公式(8)(8)在终端时刻和终端状态成立(xf,tf)(x_f ,t_f).一共有n+1个条件。如果终端约束是显函数,则可以消去Largange乘数μ\mu.

例1.2 求椭圆外一点(x0,y0)(x_0,y_0)到椭圆x28+y24=1\frac{x^2} 8+\frac {y^2} 4=1上距离最近的曲线的表达式y(x)y(x)
最优控制理论 一、泛函极值问题

这里考虑到还没有引入状态过程约束,所以不假设最短路径是直线PQ,而是广义的形式y(x)y(x)。构建性能指标,任意小弧段长度
ds=dx2+dy2=1+y2dx\text d s=\sqrt{\text d x^2+\text d y^2}=\sqrt{1+y\prime^2}\text d x
曲线y(x)y(x)的长度
J(y(x),x)=x0xf1+y2dxJ(y(x),x)=\int_{x_0}^{x_f}\sqrt{1+y\prime^2}\text d x
已知条件y(x0)=y0y(x_0)=y_0,终点Q自变量xfx_f自由,状态变量y(xf)y(x_f)自由,终端约束方程
ψ(y(xf),xf)=x2+2y28=0\psi(y(x_f),x_f)=x^2+2y^2-8=0
以下按照公式(5)(8)(5)-(8)的流程进行计算。构建Hamilton函数
H(y(x),x)=L+μdψdx=1+y2+μ(2x+4yy)H(y(x),x)=L+\mu\frac{\text d\psi}{\text d x}=\sqrt{1+y\prime^2}+\mu(2x+4y y^\prime)
Euler方程
HyddxHy˙=4μyddx(y1+y2+4μy)=y(1+y2)3/2=0H_y-\frac{\text d}{\text d x}H_{\dot y}=4\mu y^\prime-\frac{\text d}{\text d x}(\frac{y'}{\sqrt{1+y\prime^2}}+4\mu y)=-\frac {y''}{(1+y'^2)^{3/2}}=0
y=ay'=a,表明曲线y(x)y(x)是直线。下面考虑边界条件,
y0=ax0+byf=axf+bxf2+2yf28=01+a2+μ(2xf+4yfa)=0a1+a2+4μyf=0\begin{aligned} y_0=a x_0+b\\ y_f=a x_f+b\\ x_f^2+2y_f^2-8=0\\ \sqrt{1+a^2}+\mu(2 x_f+4y_f a)=0\\ \frac a{\sqrt{1+a^2}}+4\mu y_f=0 \end{aligned}
5个方程,5个未知数,代数方程可以求解。例如,若(x0,y0)=(2,0)=F2(x_0,y_0)=(2,0)=F_2,则有唯一解a=b=0,yf=0,xf=22,μ=1/(8122)a=b=0,y_f=0,x_f=2\sqrt 2,\mu=1/(8-12\sqrt 2).

Lagrange乘子法

上面对待终端约束,我们应用了Lagrange乘数μ\mu;在例1.1中我们处理的,虽然知道是直线但还是用了曲线假设;为了处理最优路径问题中的约束,我们引入Lagrange乘子λ\lambda。由于它是一个变量,和状态变量相对应地,我们也称它为协态变量。
以下考虑两种常见的等式形式的路径约束,不论是什么类型,都用Lagrange乘子法。

代数方程约束

也称为几何约束
gi(x(t),t)=0,i=1,2,...m,(mn)g_i(x(t),t)=0,i=1,2,...m,(m\le n)
引入Lagrange乘子λ(t)Rm×1\lambda(t)\in\Reals^{m\times1},使性能指标变为
J(x,λ,t)=0tfL+λTgdt=0tfH(x,λ,t)dt(9)J(x,\lambda,t)=\int_0^{t_f}L+\lambda^Tg \text d t=\int_0^{t_f}H(x,\lambda,t)\text d t\tag 9
该系统仍可套用Euler方程(n维),此外方程自始至终满足几何约束的(m)个约束,则可解。

动力学方程约束

这里考虑一阶常微分方程形式的动态约束:
f(x(t),x˙(t),t)=0 f(x(t),\dot x(t),t)=0
终端时刻tft_f固定,终端状态xfx_f自由。对这个问题引入Lagrange乘子λ(t)Rm×1\lambda(t)\in\Reals^{m\times1},使性能指标变为
J(x,x˙,λ,t)=0tfL+λTfdt=0tfH(x,x˙,λ,t)dt(10)J(x,\dot x,\lambda,t)=\int_0^{t_f}L+\lambda^Tf \text d t=\int_0^{t_f}H(x,\dot x,\lambda,t)\text d t\tag {10}
可见公式(10)(10)与公式(9)(9)形式一样。对上式仍然采用变分法,此处注意状态变量δx(t)˙\delta \dot {x(t)}δx(t)\delta x(t)通过分部积分法可以联系起来,而乘子δλ(t)\delta \lambda(t)是独立的,所以对性能指标的变分包括2部分
δJ(δx,δλ)=t0tf{[Lx+λTfx]δx(t)+[Lx˙+λTfx]δx˙(t)+δλT(t)f}dt=0tf[(HxddtHx˙)δx+fTδλ(t)]dt\delta J(\delta x^*,\delta \lambda^*) =\int_{t_{0}}^{t_{f}}\left\{\left[L_{\mathbf{x}}+\mathbf{\lambda}^{T} \mathbf{f}_{\mathbf{x}}\right] \delta \mathbf{x}(t)+\left[L_{\dot{\mathbf{x}}}+\mathbf{\lambda}^{T} \mathbf{f}_{\mathbf{x}}\right] \delta \dot{\mathbf{x}}(t)+\delta \lambda^T(t) f \right\} \text d t \\ =\int_0^{t_f}\big [(H_x-\frac{\text d}{\text d t}H_{\dot x})\delta \mathbf{x}+ \mathbf{f}^{T} \delta \mathbf{\lambda}(t)\big]\text dt
考虑到变分的随意性,则有
HxddtHx˙=0f(x(t),x˙(t),t)=0(11)\begin{aligned}H_x-\frac{\text d}{\text d t}H_{\dot x}=0\\ \mathbf f(\mathbf x(t),\dot \mathbf x(t),t)=0\tag{11} \end{aligned}
该式可考虑其他边界条件,按第二部分所述。

其他重要的内容

泛函极值的充分条件

函数L(x)取极值的必要条件是Lx=0\frac{\partial L}{\partial x}=0,这样的点成为驻点(Stationary point)。满足一阶必要条件并不能使函数取最小值,例如下面的二次型函数
L(x1,x2)=[x1,x2][1,11,3][x1x2] L(x_1,x_2)=\left[\begin{array}{l} x_1,x_2\end{array}\right]\left[\begin{array}{r} -1,1 \\1,3 \end{array}\right]\left[\begin{array}{l} x_1\\x_2 \end{array}\right]
原点处Lx=[1,11,3][00]=[00]\frac{\partial L}{\partial x}=\begin{bmatrix}-1,1\\1,3 \end{bmatrix} \begin{bmatrix}0\\0 \end{bmatrix} =\begin{bmatrix}0\\0 \end{bmatrix},但显然x1<0,x2=0x_1<0,x_2=0时仍有更小的值。这样的点称为鞍点,等势面如下图
最优控制理论 一、泛函极值问题
多元函数的极值点使函数取最小值的充分条件是Hessian矩阵正定,即
2Lu20\frac{\partial^{2} L}{\partial u^{2}}\curlyeqsucc0

对于泛函极值问题,若有以下性能指标
minx(t)J(x,t)=0tfL(x,x˙,t)dt \min_{x(t)}J(x,t)=\int_0^{t_f}L(x,\dot{x} ,t)\text d t
则Euler方程(3)(3)是最优路径的必要条件,这样的解是驻值曲线。驻值曲线处性能指标取极小值的充分条件为
2Lx˙20(12)\frac{\partial^{2} L}{\partial \dot x^{2}}\curlyeqsucc0\tag{12}

角点处的必要条件

前面的最优路径都假设极值曲线x(t)x^*(t)是连续可导的,但最优控制问题中由于动力学层面的约束使得理论上的最优轨迹连续但不是处处可导的,而是在某些角点出现:
x(t1)=x(t1+);x˙(t1)x˙(t1+)x(t_1^-)=x(t_1^+); \dot x(t_1^-)\neq\dot x(t_1^+)
如下图所示的曲线
最优控制理论 一、泛函极值问题由于极值曲线分段可导,则分段满足Euler方程,
LxddtLx˙=0t[0,t1)(t1,tf] L_x-\frac{\text d}{\text d t}L_{\dot x}=0,t\in[0,t_1)\bigcup(t_1,t_f]
此外在角点处还满足必要条件:
Lx˙(t1)=Lx˙(t1+)L(t1)x˙TLx˙(t1)=L(t1+)x˙TLx˙(t1+)(13)\begin{aligned} L_{\dot x}(t_1^-)&=L_{\dot x}(t_1^+)\\ L(t_1^-)-\dot\mathbf x^TL_{\dot x}(t_1^-)&=L(t_1^+)-\dot\mathbf x^TL_{\dot x}(t_1^+) \tag{13} \end{aligned}
这个条件称为Weierstrass-Erdmann条件。

参考书

[1] 邢继祥. 最优控制应用基础[M]. 科学出版社, 2003.
[2] Bryson A E , Ho Y C ,Applied optimal control : optimization, estimation, and control[J]. IEEE Transactions on Systems Man & Cybernetics, 1975

相关文章:

  • 2022-02-17
  • 2021-10-19
  • 2021-11-02
  • 2021-12-02
  • 2021-12-02
猜你喜欢
  • 2022-12-23
  • 2021-12-30
  • 2021-08-25
  • 2022-12-23
  • 2021-05-26
  • 2021-05-03
  • 2021-11-11
相关资源
相似解决方案