庞特里亚金提出的“极大值原理”(Pontryagin Maximum Principle,PMP)是最优控制理论的三大基石之一。与哈密尔顿函数法的异同是,两者都旨在解决非线性常微分方程组下的最优控制问题,都是性能指标取极值的必要条件。Hamiltonian解决分段连续可导的控制 u ( t ) u(t) u(t),而PMP可以求解不连续可导的控制,特别是不等式约束下的最优控制问题。
前面,最优控制理论 二、哈密尔顿函数法已经列举了各种类型的等式约束,采用Hamiltonian求解的方法,如:
可是常见的不等式约束,Hamiltonian是难以解决的,如
对于这些问题,采用PMP是很有必要的。解决另外两种形式的不等式约束下的OCP问题,在后续章节我会写出来。本篇博客限于篇幅,仅讨论控制输入受限的极大值原理方法,即 C ( u ( t ) , t ) ≤ 0 C(u(t),t)\leq0 C(u(t),t)≤0。
由于PMP的推导过程很复杂,所以这里只给出结论。文献[1]的2.4节应该有证明。
对于控制系统:
x ˙ = f [ x ( t ) , u ( t ) , t ] ; x ( t o ) = x 0 t o ≤ t ≤ t f min u ( t ) ∈ U J = φ [ x ( t f ) , t f ] + ∫ t o t f L [ x ( t ) , u ( t ) , t ] d t \dot{x}=f[x(t), u(t), t] ; \quad x\left(t_{o}\right)=x_0\quad t_{o} \leq t \leq t_{f}\\ \min_{u(t)\in U}J=\varphi\left[x\left(t_{f}\right), t_{f}\right]+\int_{t_{o}}^{t_{f}} L[x(t), u(t), t] d t x˙=f[x(t),u(t),t];x(to)=x0to≤t≤tfu(t)∈UminJ=φ[x(tf),tf]+∫totfL[x(t),u(t),t]dt
t f t_f tf给定或自由,问题要求受约束的最优控制 u ( t ) ∈ U ⊂ R q u(t)\in U\subset\Reals^q u(t)∈U⊂Rq, U U U为闭集,(简单理解闭集和开集,举例,闭集是 { u ∣ ∥ u ∥ ≤ 1 } \{u|\Vert u\Vert\leq1\} {u∣∥u∥≤1},开集是 { u ∣ ∥ u ∥ < 1 } \{u|\Vert u\Vert\lt1\} {u∣∥u∥<1}。)实际上就是要满足形如下列形式的约束:
C ( u ( t ) , t ) ≤ 0 C(u(t),t)\leq0 C(u(t),t)≤0
对于这个问题,构造Hamilton函数如
H [ x ( t ) , u ( t ) , λ ( t ) , t ] ≜ L [ x ( t ) , u ( t ) , t ] + λ T ( t ) f [ x ( t ) , u ( t ) , t ] H[x(t), u(t), \lambda(t), t]\triangleq L[x(t), u(t), t]+\lambda^{\mathrm T}(t) f[x(t), u(t), t] H[x(t),u(t),λ(t),t]≜L[x(t),u(t),t]+λT(t)f[x(t),u(t),t]
沿最优轨线的状态方程、协态方程成立,表达为如下形式的Euler-Lagrange方程:
λ ˙ = − ∂ H ∂ x (协态方程) x ˙ = ∂ H ∂ λ (状态方程) \begin{aligned} \dot{\lambda}&=-\frac{\partial H}{\partial x} \ &\text{(协态方程)}\\ \dot{x}&=\frac{\partial H}{\partial \lambda} \ &\text{(状态方程)} \end{aligned} λ˙x˙=−∂x∂H =∂λ∂H (协态方程)(状态方程)
而控制方程有新的形式
H ( x ∗ ( t ) , u ∗ ( t ) , λ ∗ ( t ) , t ) = min u ∈ U H ( x ∗ ( t ) , u ( t ) , λ ∗ ( t ) , t ) (PMP) H(x^*(t),u^*(t),\lambda^*(t),t)=\min_{u\in U}H(x^*(t),u(t),\lambda^*(t),t) \tag{PMP} H(x∗(t),u∗(t),λ∗(t),t)=u∈UminH(x∗(t),u(t),λ∗(t),t)(PMP)
上式 ( PMP ) (\text{PMP}) (PMP)称为庞特里亚金的极小值原理,该式表明最优控制 u ∗ ( t ) u^*(t) u∗(t)是所有容许的控制 u ( t ) ∈ U u(t)\in U u(t)∈U当中使Hamilton函数取最小值的那个,即 u ∗ ( t ) = { u ∣ min u ( t ) H ( x ∗ , λ ∗ , u , t ) , u ∈ U } u^*(t)=\{u|\min_{u(t)}H(x^*,\lambda^*,u,t),u\in U\} u∗(t)={u∣minu(t)H(x∗,λ∗,u,t),u∈U}。这个控制方程和无约束问题的 ∂ H ∂ u ∗ = 0 \frac{\partial H}{\partial u^*}=0 ∂u∗∂H=0相比而言,将控制的集合推广到分段函数上,不必在整个区间内连续可导;相应地,在求解上需要分段求解 u ∗ ( t ) u^*(t) u∗(t)。
上面协态方程、状态方程、控制方程(PMP)、边界条件等公式,共同组成性能指标取极值的必要条件。
注:若Hamiltonian取
H [ x ( t ) , u ( t ) , λ ( t ) , t ] ≜ − L + λ T f H[x(t), u(t), \lambda(t), t]\triangleq -L+\lambda^{\mathrm T}f H[x(t),u(t),λ(t),t]≜−L+λTf
则沿最优控制的必要条件为
H ( x ∗ ( t ) , u ∗ ( t ) , λ ∗ ( t ) , t ) = max u ∈ U H ( x ∗ ( t ) , u ( t ) , λ ∗ ( t ) , t ) H(x^*(t),u^*(t),\lambda^*(t),t)=\max_{u\in U}H(x^*(t),u(t),\lambda^*(t),t) H(x∗(t),u∗(t),λ∗(t),t)=u∈UmaxH(x∗(t),u(t),λ∗(t),t)
这个形式被称为极大值原理,也是庞特里亚金最早提出来的形式。这个方程在求解时和 PMP \text{PMP} PMP等价,但是为了和前面章节的Hamiltonian保持一致,我们用极小值原理。 □ \square □
不同问题有不同的边界条件和横截条件,只有考虑全了,常微分方程组和两点边值问题才有可能定解。方程中 x ( t ) , λ ( t ) ∈ R n , u ( t ) ∈ R q x(t),\lambda(t)\in \Reals^n,u(t)\in\Reals^q x(t),λ(t)∈Rn,u(t)∈Rq总共有 2 n + q 2n+q 2n+q个未知的时变参数。协态方程和状态方程 x ( t ) , λ ( t ) x(t),\lambda(t) x(t),λ(t)是一阶常微分方程组,需要知道 2 n 2n 2n个边界条件才能求解;控制方程 u ( t ) u(t) u(t)是代数方程,由 x ( t ) x(t) x(t)和 λ ( t ) \lambda(t) λ(t)分段求解得到。时间自由问题&最小时间问题的终端时刻 t f t_f tf是未知数,需要多加一个边界条件。终端约束问题若有m个等式方程,则在 t f t_f tf时刻多了m个未知的Lagrange乘数 μ ∈ R m \mu\in\Reals^m μ∈Rm.
下面直接把第二章的表格粘贴过来,利用PMP仍然需要套用这些条件,或者说Hamilton函数法和庞特里亚金极小值原理的边界条件、横截条件相同。
问题描述 | 未知变量个数(不包含 u ( t ) u(t) u(t)) | 边界条件 | 横截条件 |
---|---|---|---|
t f , x f t_f,x_f tf,xf均给定 | 2 n 2n 2n | x ( t 0 ) = x 0 , x ( t f ) = x f x(t_0)=x_0,x(t_f)=x_f x(t0)=x0,x(tf)=xf | \ |
t f t_f tf给定, x f x_f xf自由 | 2 n 2n 2n | x ( t 0 ) = x 0 x(t_0)=x_0 x(t0)=x0 | λ ( t f ) = ∂ φ ( ⋅ ∗ , t f ) ∂ x \lambda(t_f)=\frac{\partial \varphi(\cdot^*,t_f)}{\partial x} λ(tf)=∂x∂φ(⋅∗,tf) |
t f t_f tf自由, x f x_f xf给定 | 2 n + 1 2n+1 2n+1 | x ( t 0 ) = x 0 , x ( t f ) = x f x(t_0)=x_0,x(t_f)=x_f x(t0)=x0,x(tf)=xf | H ( ⋅ ∗ , t f ) + ∂ φ ( ⋅ ∗ , t f ) ∂ t = 0 H(\cdot^*,t_f)+\frac{\partial \varphi(\cdot^*,t_f)}{\partial t}=0 H(⋅∗,tf)+∂t∂φ(⋅∗,tf)=0 |
t f , x f t_f,x_f tf,xf均自由 | 2 n + 1 2n+1 2n+1 | x ( t 0 ) = x 0 x(t_0)=x_0 x(t0)=x0 | λ ( t f ) = ∂ φ ∂ x ; H ( ⋅ ∗ , t f ) + ∂ φ ( ⋅ ∗ , t f ) ∂ t = 0 \lambda(t_f)=\frac{\partial \varphi}{\partial x};\\H(\cdot^*,t_f)+\frac{\partial \varphi(\cdot^*,t_f)}{\partial t}=0 λ(tf)=∂x∂φ;H(⋅∗,tf)+∂t∂φ(⋅∗,tf)=0 |
t f t_f tf给定, x f x_f xf自由,且有终端约束 ψ ( x f , t f ) = 0 \psi(x_f,t_f)=0 ψ(xf,tf)=0 | 2 n + m 2n+m 2n+m | x ( t 0 ) = x 0 ψ ( x f , t f ) = 0 x(t_0)=x_0\\ \psi(x_f,t_f)=0 x(t0)=x0ψ(xf,tf)=0 | λ ( t f ) = ∂ φ ∂ x + μ T ∂ ψ ∂ x \lambda(t_f)=\frac{\partial \varphi}{\partial x}+\mu^{\mathrm T}\frac{\partial\psi}{\partial x} λ(tf)=∂x∂φ+μT∂x∂ψ |
t f t_f tf给定, x f x_f xf自由,且有终端约束 ψ ( x f , t f ) = 0 \psi(x_f,t_f)=0 ψ(xf,tf)=0,(Lagrange型性能指标) | 2 n + m 2n+m 2n+m | x ( t 0 ) = x 0 ψ ( x f , t f ) = 0 x(t_0)=x_0\\ \psi(x_f,t_f)=0 x(t0)=x0ψ(xf,tf)=0 | λ ( t f ) = μ T ∂ ψ ∂ x \lambda(t_f)=\mu^{\mathrm T}\frac{\partial\psi}{\partial x} λ(tf)=μT∂x∂ψ |
t f , x f t_f,x_f tf,xf均自由,且有终端约束 ψ ( x f , t f ) = 0 \psi(x_f,t_f)=0 ψ(xf,tf)=0 | 2 n + m + 1 2n+m+1 2n+m+1 | x ( t 0 ) = x 0 ψ ( x f , t f ) = 0 x(t_0)=x_0\\ \psi(x_f,t_f)=0 x(t0)=x0ψ(xf,tf)=0 | λ ( t f ) = ∂ φ ∂ x + μ T ∂ ψ ∂ x ; ∂ φ ∂ t + μ T ∂ ψ ∂ t + ( ∂ φ ∂ x + μ T ∂ ψ ∂ x ) f + L = 0 , ( t = t f ) \lambda(t_f)=\frac{\partial \varphi}{\partial x}+\mu^{\mathrm T}\frac{\partial\psi}{\partial x};\\ \frac{\partial \varphi}{\partial t}+\mu^{\mathrm T} \frac{\partial \psi}{\partial t}+\left(\frac{\partial \varphi}{\partial x}+\mu^{\mathrm T} \frac{\partial \psi}{\partial x}\right) f+L=0,(t=t_{f}) λ(tf)=∂x∂φ+μT∂x∂ψ;∂t∂φ+μT∂t∂ψ+(∂x∂φ+μT∂x∂ψ)f+L=0,(t=tf) |
t f , x f t_f,x_f tf,xf均自由,且有终端约束 ψ ( x f , t f ) = 0 \psi(x_f,t_f)=0 ψ(xf,tf)=0,(Lagrange型性能指标) | 2 n + m + 1 2n+m+1 2n+m+1 | x ( t 0 ) = x 0 ψ ( x f , t f ) = 0 x(t_0)=x_0\\ \psi(x_f,t_f)=0 x(t0)=x0ψ(xf,tf)=0 | λ ( t f ) = ∂ φ ∂ x + μ T ∂ ψ ∂ x ; μ T [ ∂ ψ ∂ t + ∂ ψ ∂ x f ] + L = 0 , ( t = t f ) \lambda(t_f)=\frac{\partial \varphi}{\partial x}+\mu^{\mathrm T}\frac{\partial\psi}{\partial x};\\ \mu^{\mathrm T} [\frac{\partial \psi}{\partial t}+ \frac{\partial \psi}{\partial x} f]+L=0,(t=t_{f}) λ(tf)=∂x∂φ+μT∂x∂ψ;μT[∂t∂ψ+∂x∂ψf]+L=0,(t=tf) |
对下面这个问题
x ˙ ( t ) = x ( t ) + u ( t ) , x ( 0 ) = x 0 , 0 < t < t f min u ∈ R J ( x , u , t ) = ∫ 0 t f x 2 ( t ) + u 2 ( t ) d t \dot x(t)=x(t)+u(t),\ x(0)=x_0, \ 0\lt t\lt t_f\\ \min_{u\in\Reals}J(x,u,t)=\int_0^{t_f}x^2(t)+u^2(t)\text dt x˙(t)=x(t)+u(t), x(0)=x0, 0<t<tfu∈RminJ(x,u,t)=∫0tfx2(t)+u2(t)dt
这个问题不考虑控制约束,即控制在开集 U ∈ R U\in\Reals U∈R中且不受约束; t f t_f tf自由。这个问题可以看做无限时域线性二次型调节器问题的一种一维形式。下面采用极小值原理进行求解
H ( x ( t ) , λ ( t ) , u ( t ) , t ) = x 2 + u 2 + λ ( x + u ) H(x(t),\lambda(t),u(t),t)=x^2+u^2+\lambda(x+u) H(x(t),λ(t),u(t),t)=x2+u2+λ(x+u)
写出协态方程
λ ′ = − ∂ H ∂ x = − ( 2 x + λ ) \begin{aligned} \lambda'&=-\frac{\partial H}{\partial x}=-(2x+\lambda)\\ \end{aligned} λ′=−∂x∂H=−(2x+λ)
按照庞特里亚金极大值原理写出控制方程并变形:
H ( ∗ , u ∗ ( t ) , t ) ≤ H ( ∗ , u ( t ) , t ) ⇒ x ∗ 2 + u ∗ 2 + λ ∗ ( x ∗ + u ∗ ) ≤ x ∗ 2 + u 2 + λ ∗ ( x ∗ + u ) u ∗ 2 + λ ∗ u ∗ ≤ u 2 + λ ∗ + u = g ( u ) \begin{aligned} H(*,u^*(t),t)&\leq H(*,u(t),t)\\ \rArr x^{*2}+u^{*2}+\lambda^*(x^*+u^*)&\leq x^{*2}+u^{2}+\lambda^*(x^*+u)\\ u^{*2}+\lambda^*u^*&\leq u^{2}+\lambda^*+u=g(u) \end{aligned} H(∗,u∗(t),t)⇒x∗2+u∗2+λ∗(x∗+u∗)u∗2+λ∗u∗≤H(∗,u(t),t)≤x∗2+u2+λ∗(x∗+u)≤u2+λ∗+u=g(u)
等式左边小于等于右边的极小值,而右边的极小值,在极值点应有
∂ g ( u ) ∂ u = 0 ⇒ u m i n = − λ ∗ / 2 \frac{\partial g(u)}{\partial u}=0\rArr u_{min}=-\lambda^*/2 ∂u∂g(u)=0⇒umin=−λ∗/2
在无约束情况下,上式就是按照极小值条件求出的最优控制,即 u ∗ ( t ) = − λ ∗ ( t ) / 2 u^*(t)=-\lambda^*(t)/2 u∗(t)=−λ∗(t)/2. 将最优控制代入状态方程,
{ x ′ = x − λ / 2 λ ′ = − 2 x − λ x ( 0 ) = x 0 , λ ( t f ) = 0 \left\{\begin{matrix} x'=x-\lambda/2\\ \lambda'=-2x-\lambda\\ x(0)=x_0,\lambda(t_f)=0 \end{matrix}\right. ⎩ ⎨ ⎧x′=x−λ/2λ′=−2x−λx(0)=x0,λ(tf)=0
求解这个两点边值问题即可得到结果。如果进一步假设控制是反馈控制,即
u ( t ) = − k ( t ) x ( t ) u(t)=-k(t)x(t) u(t)=−k(t)x(t)
再考虑控制方程,并且定义一个变量 s ( t ) s(t) s(t)
λ ( t ) = 2 k ( t ) x ( t ) ≡ s ( t ) x ( t ) ⇒ s ( t ) = λ ( t ) x ( t ) \lambda(t)=2k(t)x(t)\equiv s(t)x(t)\rArr s(t)=\frac{\lambda(t)}{x(t)} λ(t)=2k(t)x(t)≡s(t)x(t)⇒s(t)=x(t)λ(t)
为了获得 s ( t ) s(t) s(t)对时间的微分方程以便求解它,把 s ( t ) s(t) s(t)对时间求全导数 s ′ = λ ′ x − λ x ′ x 2 s'=\frac{\lambda'}x-\frac{\lambda x'}{x^2} s′=xλ′−x2λx′然后代入协态方程 λ ′ = − 2 x − λ \lambda'=-2x-\lambda λ′=−2x−λ和状态方程 x ′ = x − λ / 2 x'=x-\lambda/2 x′=x−λ/2得到: − s ′ = 2 + 2 s − s 2 2 , s ( t f ) = λ ( t f ) / x = 0 -s'=2+2s-\frac{s^2}2,s(t_f)=\lambda(t_f)/x=0 −s′=2+2s−2s2,s(tf)=λ(tf)/x=0
上式就是Riccati方程,高等数学中有求解初值问题 s ( t ) s(t) s(t)的方法。它的矩阵形式为
− S ˙ ( t ) = A T S + S A − S B R − 1 B T S + Q , S ( t f ) = S f -\dot{S}(t)=A^{\mathrm T} S+S A-S B R^{-1} B^{\mathrm T} S+Q, \quad S(t_f)=S_f −S˙(t)=ATS+SA−SBR−1BTS+Q,S(tf)=Sf
事实上,利用PMP不仅可以解决控制受限的最优控制问题,而且也可以解决控制不受约束的问题,此时按照PMP推导出的结果和Hamilton函数方法的控制方程是完全等价的。
设最短时间、终端约束的最优控制问题如下
x ˙ ( t ) = f ( x ( t ) , t ) + B ( x ( t ) , t ) u ( t ) u ∈ R q , ∣ u j ( t ) ∣ < 1 , j = 1 , 2 , ⋯ , q x ( t 0 ) = x 0 , ψ ( x ( t f ) , t f ) = 0 , ψ ∈ R m min u ( t ) J = t f \dot x(t)=f(x(t),t)+B(x(t),t)u(t)\\ u\in\Reals^q,|u_j(t)|<1,j=1,2,\cdots,q\\ x(t_0)=x_0,\psi(x(t_f),t_f)=0,\psi\in\Reals^m\\ \min_{u(t)}J=t_f x˙(t)=f(x(t),t)+B(x(t),t)u(t)u∈Rq,∣uj(t)∣<1,j=1,2,⋯,qx(t0)=x0,ψ(x(tf),tf)=0,ψ∈Rmu(t)minJ=tf
此问题的性能指标仅由一个到达时刻 t f t_f tf构成。写出Hamilton函数
H = 1 + λ T ( f + B u ) = 1 + λ T f + u T ( B T λ ) = 1 + λ T f + ∑ j = 1 q u j ( λ T B ( : , j ) ) \begin{aligned} H&=1+\lambda^\mathrm T(f+Bu) =1+\lambda^\mathrm Tf+u^\mathrm T(B^\mathrm T\lambda)\\ &=1+\lambda^\mathrm Tf+\sum_{j=1}^qu_j(\lambda^\mathrm T B(:,j)) \end{aligned} H=1+λT(f+Bu)=1+λTf+uT(BTλ)=1+λTf+j=1∑quj(λTB(:,j))
其中 B ( : , j ) B(:,j) B(:,j)代表矩阵 B B B的第 j j j列所有元素, λ T B ( : , j ) = ( n ∗ 1 ) T ⋅ ( n ∗ 1 ) ∈ R \lambda^\mathrm T B(:,j)=(n*1)^\mathrm T\cdot(n*1)\in\Reals λTB(:,j)=(n∗1)T⋅(n∗1)∈R。这个系统的协态方程
λ ˙ = − ∂ H ∂ x = − ∂ f T ∂ x λ − ∑ j = 1 q u j ( ∂ B ( : , j ) T ∂ x λ ) = − [ ∂ f T ∂ x + ∑ j = 1 q u j ( ∂ B ( : , j ) T ∂ x ) ] λ \dot\lambda=-\frac{\partial H}{\partial x}= -\frac{\partial f^\mathrm T}{\partial x}\lambda-\sum_{j=1}^qu_j(\frac{\partial B(:,j)^\mathrm T}{\partial x}\lambda)\\=-[\frac{\partial f^\mathrm T}{\partial x}+\sum_{j=1}^qu_j(\frac{\partial B(:,j)^\mathrm T}{\partial x})]\lambda λ˙=−∂x∂H=−∂x∂fTλ−j=1∑quj(∂x∂B(:,j)Tλ)=−[∂x∂fT+j=1∑quj(∂x∂B(:,j)T)]λ
下面考察极小值原理,则对每个 u j , j = 1 , 2 , ⋯ , q u_j, j=1,2,\cdots,q uj,j=1,2,⋯,q,它的开关函数如下
u j ∗ = { − 1 , λ T B ( : , j ) > 0 1 , λ T B ( : , j ) < 0 o t h e r s , λ T B ( : , j ) = 0 u_j^*=\left\{\begin{matrix} -1,&\lambda^\mathrm T B(:,j)>0\\ 1,&\lambda^\mathrm T B(:,j)<0\\ others,&\lambda^\mathrm T B(:,j)=0 \end{matrix}\right. uj∗=⎩ ⎨ ⎧−1,1,others,λTB(:,j)>0λTB(:,j)<0λTB(:,j)=0
需要注意的是,最小时间控制问题,若开关函数对 ∀ t ∈ [ 0 , t f ] , λ T B ( : , j ) ≠ 0 \forall t\in[0,t_f],\lambda^\mathrm T B(:,j)\neq0 ∀t∈[0,tf],λTB(:,j)=0. 那么上面的第三项 others \text{others} others就没有了,用正负号符号函数 sign \text{sign} sign来表示这种形式的式子
u j ∗ = − sign { λ T B ( : , j ) } u_j^*=-\text{sign}\{\lambda^\mathrm T B(:,j)\} uj∗=−sign{λTB(:,j)}
这种形式的控制要么是最大值,要么是最小值,称为Bang-Bang控制。可证明在最大与最小之间的切换次数是有限的。
对于二次积分系统,若初始和终端条件给定,控制幅值受限,最小到达时间。问题如下
x ˙ 1 ( t ) = x 2 ( t ) , x ˙ 2 ( t ) = u ( t ) x ( 0 ) = [ x 1 , x 2 ] , x ( t f ) = [ 0 , 0 ] min ∣ u ( t ) ∣ ≤ 1 J = ∫ 0 t f 1 d t = t f \dot x_1(t)=x_2(t),\dot x_2(t)=u(t)\\ \mathbf x(0)=[x_1,x_2],\mathbf x(t_f)=[0,0]\\ \min_{|u(t)|\leq 1}J=\int_0^{t_f}1\text dt=t_f x˙1(t)=x2(t),x˙2(t)=u(t)x(0)=[x1,x2],x(tf)=[0,0]∣u(t)∣≤1minJ=∫0tf1dt=tf
这个问题可以看做最小时间控制问题的一维形式。首先构建Hamilton函数
H ( x ( t ) , λ ( t ) , u ( t ) , t ) = 1 + λ 1 x 2 + λ 2 u H(x(t),\lambda(t),u(t),t)=1+\lambda_1x_2+\lambda_2u H(x(t),λ(t),u(t),t)=1+λ1x2+λ2u
设最小燃料消耗问题如下
x ˙ ( t ) = f ( x ( t ) , t ) + B ( x ( t ) , t ) u ( t ) u ∈ R q , ∣ u j ( t ) ∣ < 1 , j = 1 , 2 , ⋯ , q x ( t 0 ) = x 0 , ψ ( x ( t f ) , t f ) = 0 , ψ ∈ R m min u ( t ) J = ∫ 0 t f ∑ j = 1 q w j ∣ u j ( t ) ∣ d t \dot x(t)=f(x(t),t)+B(x(t),t)u(t)\\ u\in\Reals^q,|u_j(t)|<1,j=1,2,\cdots,q\\ x(t_0)=x_0,\psi(x(t_f),t_f)=0,\psi\in\Reals^m\\ \min_{u(t)}J=\int_0^{t_f}\sum_{j=1}^qw_j|u_j(t)|\text dt x˙(t)=f(x(t),t)+B(x(t),t)u(t)u∈Rq,∣uj(t)∣<1,j=1,2,⋯,qx(t0)=x0,ψ(x(tf),tf)=0,ψ∈Rmu(t)minJ=∫0tfj=1∑qwj∣uj(t)∣dt
此问题的性能指标当中,各个控制分量的权重 w i > 0 w_i>0 wi>0为常数;终端时刻 t f t_f tf自由或固定。写出Hamilton函数
H = ∑ j = 1 q w j ∣ u j ( t ) ∣ + λ T ( f + B u ) = λ T f + ∑ j = 1 q w j ∣ u j ( t ) ∣ + u j [ λ T B ( : , j ) ] \begin{aligned} H&=\sum_{j=1}^qw_j|u_j(t)|+\lambda^\mathrm T(f+Bu)\\ &=\lambda^\mathrm Tf+\sum_{j=1}^qw_j|u_j(t)|+u_j[\lambda^\mathrm T B(:,j)] \end{aligned} H=j=1∑qwj∣uj(t)∣+λT(f+Bu)=λTf+j=1∑qwj∣uj(t)∣+uj[λTB(:,j)]
这个系统的协态方程与上面的问题一样
λ ˙ = − ∂ H ∂ x = − ∂ f T ∂ x λ − ∑ j = 1 q u j ( ∂ B ( : , j ) T ∂ x λ ) = − [ ∂ f T ∂ x + ∑ j = 1 q u j ( ∂ B ( : , j ) T ∂ x ) ] λ \dot\lambda=-\frac{\partial H}{\partial x}\\= -\frac{\partial f^\mathrm T}{\partial x}\lambda-\sum_{j=1}^qu_j(\frac{\partial B(:,j)^\mathrm T}{\partial x}\lambda)=-[\frac{\partial f^\mathrm T}{\partial x}+\sum_{j=1}^qu_j(\frac{\partial B(:,j)^\mathrm T}{\partial x})]\lambda λ˙=−∂x∂H=−∂x∂fTλ−j=1∑quj(∂x∂B(:,j)Tλ)=−[∂x∂fT+j=1∑quj(∂x∂B(:,j)T)]λ
下面考察极小值原理,则对每个 u j , j = 1 , 2 , ⋯ , q u_j, j=1,2,\cdots,q uj,j=1,2,⋯,q,需要考虑
∑ j = 1 q w j ∣ u j ∗ ( t ) ∣ + u j ∗ [ λ T B ( : , j ) ] ≤ ∑ j = 1 q w j ∣ u j ( t ) ∣ + u j [ λ T B ( : , j ) ] \sum_{j=1}^qw_j|u_j^*(t)|+u_j^*[\lambda^\mathrm T B(:,j)]\leq \sum_{j=1}^qw_j|u_j(t)|+u_j[\lambda^\mathrm T B(:,j)] j=1∑qwj∣uj∗(t)∣+uj∗[λTB(:,j)]≤j=1∑qwj∣uj(t)∣+uj[λTB(:,j)]
为了具体知道参数对于最优控制的影响,定义
g ( u j ) ≜ ∣ u j ( t ) ∣ + λ T B ( : , j ) w j u j = ∣ u j ( t ) ∣ + p j ⋅ u j g(u_j)\triangleq|u_j(t)|+\frac{\lambda^\mathrm T B(:,j)}{w_j}u_j=|u_j(t)|+p_j\cdot u_j g(uj)≜∣uj(t)∣+wjλTB(:,j)uj=∣uj(t)∣+pj⋅uj
上式定义的函数 g ( u j ) g(u_j) g(uj)的函数曲线是分段线性的,而且它分两段,具体的取值可以看下面的图
考虑到控制受限 ∣ u j ( t ) ∣ ≤ 1 |u_j(t)|\leq1 ∣uj(t)∣≤1,于是最优控制的取值如下
u j ∗ = { 1 , p j < − 1 ∃ u j ∈ [ 0 , 1 ] , p j = − 1 0 , p j ∈ ( − 1 , 1 ) ∃ u j ∈ [ − 1 , 0 ] , p j = 1 − 1 , p j > 1 u_j^*=\left\{\begin{matrix} 1,&p_j<-1\\ \exist u_j\in[0,1],&p_j=-1\\ 0,&p_j\in(-1,1)\\ \exist u_j\in[-1,0],&p_j=1\\ -1,&p_j>1\\ \end{matrix}\right. uj∗=⎩ ⎨ ⎧1,∃uj∈[0,1],0,∃uj∈[−1,0],−1,pj<−1pj=−1pj∈(−1,1)pj=1pj>1
其中的 p j = λ T B ( : , j ) / w j p_j=\lambda^\mathrm T B(:,j)/w_j pj=λTB(:,j)/wj.控制方程中的 ∃ u j ∈ [ 0 , 1 ] \exist u_j\in[0,1] ∃uj∈[0,1]代表控制处在这个区间,具体的求解方法属于奇异最优控制理论的范畴。在此暂时不给出。
注2: 若控制的约束为 u j ( t ) ∈ [ 0 , 1 ] u_j(t)\in[0,1] uj(t)∈[0,1],看图可得最小的Hamiltonian在这些点取得
u j ∗ = { 1 , p j < − 1 ∃ u j ∈ [ 0 , 1 ] , p j = − 1 0 , p j > − 1 u_j^*=\left\{\begin{matrix} 1,&p_j<-1\\ \exist u_j\in[0,1],&p_j=-1\\ 0,&p_j>-1\\ \end{matrix}\right. uj∗=⎩ ⎨ ⎧1,∃uj∈[0,1],0,pj<−1pj=−1pj>−1
系统模型不变,性能指标改变
x ˙ 1 ( t ) = x 2 ( t ) , x ˙ 2 ( t ) = u ( t ) x ( 0 ) = [ x 10 , x 20 ] , x ( t f ) = [ 0 , 0 ] , t f free min ∣ u ( t ) ∣ ≤ 1 J = ∫ 0 t f ∣ u ∣ d t \dot x_1(t)=x_2(t),\dot x_2(t)=u(t)\\ \mathbf x(0)=[x_{10},x_{20}],\mathbf x(t_f)=[0,0],t_f\text{ free}\\ \min_{|u(t)|\leq 1}J=\int_0^{t_f}|u|\text dt x˙1(t)=x2(t),x˙2(t)=u(t)x(0)=[x10,x20],x(tf)=[0,0],tf free∣u(t)∣≤1minJ=∫0tf∣u∣dt
这个问题可以看做最优燃料问题的一维形式。构建Hamilton函数、
H ( x ( t ) , λ ( t ) , u ( t ) , t ) = ∣ u ∣ + λ 1 x 2 + λ 2 u H(x(t),\lambda(t),u(t),t)=|u|+\lambda_1x_2+\lambda_2u H(x(t),λ(t),u(t),t)=∣u∣+λ1x2+λ2u
其协态方程和边界条件很容易写出,在此略去。根据极小值原理,控制方程有:
∣ u ∗ ∣ + λ 2 u ∗ ≤ ∣ u ∣ + λ 2 u = g ( u ) |u^*|+\lambda_2u^*\leq|u|+\lambda_2u=g(u) ∣u∗∣+λ2u∗≤∣u∣+λ2u=g(u)
u ∗ u^* u∗取函数 g ( u ) g(u) g(u)的最小值,而函数 g ( u ) g(u) g(u)只受 λ 2 \lambda_2 λ2影响,不同取值有不同的形态,而这结果与多维问题的图一样。
λ 2 < − 1 \lambda_2<-1 λ2<−1 | λ 2 ∈ ( − 1 , 0 ) \lambda_2\in(-1,0) λ2∈(−1,0) | λ 2 ∈ ( 0 , 1 ) \lambda_2\in(0,1) λ2∈(0,1) | λ 2 > 1 \lambda_2>1 λ2>1 |
---|---|---|---|
如图1 | 如图2 | 如图3 | 如图4 |
u ∗ = 1 u^*=1 u∗=1 | u ∗ = 0 u^*=0 u∗=0 | u ∗ = 0 u^*=0 u∗=0 | u ∗ = − 1 u^*=-1 u∗=−1 |
最优控制律为
u ∗ = { − sign ( λ 2 ) , ∣ λ 2 ∣ > 1 0 , ∣ λ 2 ∣ < 1 ∃ u ∈ [ 0 , 1 ] , λ 2 = − 1 ∃ u ∈ [ − 1 , 0 ] , λ 2 = 1 u^*=\left\{\begin{matrix} -\text{sign}(\lambda_2),&|\lambda_2|>1\\ 0,&|\lambda_2|<1\\ \exist u\in[0,1],&\lambda_2=-1\\ \exist u\in[-1,0],&\lambda_2=1\\ \end{matrix}\right. u∗=⎩ ⎨ ⎧−sign(λ2),0,∃u∈[0,1],∃u∈[−1,0],∣λ2∣>1∣λ2∣<1λ2=−1λ2=1
在 λ 2 = ± 1 \lambda_2=\pm1 λ2=±1时,控制并不是任意的,而是有进一步的判定条件。有关奇异弧段最优控制的相关方法,请参考具体文献。
极大值原理求解最优控制问题属于间接法,它的数值求解基本思路仍然是求解Hamilton系统,也就是包含状态 x ( t ) x(t) x(t),协态 λ ( t ) \lambda(t) λ(t)的变化。它与Hamilton函数法求解的主要区别是,状态方程和协态方程是间断性的,也就是在开关开2种系统方程之间切换,这样构成的问题属于多点边值问题。类似于前面最优控制理论 三、两点边值问题求解这一节的思路,主要求解步骤是猜测协态变量的初始值 λ ( t 0 ) \lambda(t_0) λ(t0),然后代入求解Bang-Bang控制的哈密尔顿系统,通过非线性方程求根方法得到准确的协态初值,积分这个ODE系统自然能得到最优控制的解析解 u ( x , λ ) u(x,\lambda) u(x,λ)。
[1] 邢继祥. 最优控制应用基础 Sec 2.4~Sec 2.8 [M]. 科学出版社, 2003.
[2] Bryson A E , Ho Y C ,Applied optimal control : optimization, estimation, and control Sec 3.8~Sec 3.12 [J]. IEEE Transactions on Systems Man & Cybernetics, 1975
[3] MIT OpenCourseWare 16.323 Principles of Optimal Control - Lecture 9: Constrained Optimal Control
[4] 百度文库-3. 极大值原理
[5] CSDN - An Introduction to Mathematical Optimal Control Theory-Notes v2.0.pdf- Ch.4 The Pontryagin Maximum Principle [M] Lawrence C. Evans (American Math Society, 2013) 原文链接