古典变分法
在控制向量
u
(
t
)
\mathbf{u}(t)
u(t)不受限的情况下,变分法和最大值原理是等效的,但是当
u
(
t
)
\mathbf{u}(t)
u(t)受限的情况下,最大值原理也是有效的,可以认为最大值原理是变分法的推广.
考虑一个
u
(
t
)
\mathbf{u}(t)
u(t)受限制的例子
例:一阶系统
x
˙
(
t
)
=
−
x
(
t
)
+
u
(
t
)
,
x
(
0
)
=
1
\dot{x}(t)=-x(t)+u(t), x(0)=1
x˙(t)=−x(t)+u(t),x(0)=1
其中
∣
u
(
t
)
∣
≤
1
|u(t)|\leq 1
∣u(t)∣≤1,求
u
(
t
)
u(t)
u(t)使指标函数
J
=
∫
0
1
x
(
t
)
d
t
J=\int_0^1x(t)dt
J=∫01x(t)dt有极小值。
解析:该问题为自由端问题,使用变分法求解,引入乘子
λ
(
t
)
\lambda(t)
λ(t),构造哈密顿函数
H
(
t
)
=
x
(
t
)
+
λ
(
t
)
(
−
x
(
t
)
+
u
(
t
)
)
H(t)=x(t)+\lambda(t)(-x(t)+u(t))
H(t)=x(t)+λ(t)(−x(t)+u(t))
伴随方程和边界条件为
λ
˙
(
t
)
=
−
∂
H
∂
x
=
λ
(
t
)
−
1
,
λ
(
1
)
=
0
\dot{\lambda}(t)=-\frac{\partial H}{\partial x}=\lambda(t)-1, \lambda(1)=0
λ˙(t)=−∂x∂H=λ(t)−1,λ(1)=0
由极值必要条件
∂
H
∂
u
=
λ
(
t
)
=
0
\frac{\partial H}{\partial u}=\lambda(t)=0
∂u∂H=λ(t)=0
可以发现,
λ
=
0
\lambda=0
λ=0无法满足微分方程
λ
˙
=
λ
−
1
\dot\lambda=\lambda-1
λ˙=λ−1,所以可知,极值存在边界上,导致变分法无效.
使用变分法求解最优控制,需要
H
H
H对
u
\mathbf{u}
u存在导数,但是如燃料控制问题
J
=
∫
t
0
T
∑
j
=
1
k
∣
u
j
∣
d
t
J=\int_{t_0}^T\sum_{j=1}^k|u_j|dt
J=∫t0Tj=1∑k∣uj∣dt
无法满足导数存在的条件.
最大(小)值原理
泛函极值问题的必要条件为
min
u
∈
U
H
(
x
,
u
,
λ
,
t
)
\min_{\bf{u}\in U}H(\pmb{x}, \pmb{u}, \pmb{\lambda}, t)
u∈UminH(xxx,uuu,λλλ,t)
设函数
f
(
x
,
u
,
t
)
,
φ
(
x
(
T
)
,
T
)
f(\pmb{x}, \pmb{u}, t), \varphi(\pmb{x}(T), T)
f(xxx,uuu,t),φ(xxx(T),T)和
L
(
x
,
u
,
t
)
L(\pmb{x}, \pmb{u}, t)
L(xxx,uuu,t)对变元
x
\pmb{x}
xxx与
t
t
t连续,并且对
x
\pmb{x}
xxx和
t
t
t有一阶连续偏导数,容许控制
u
(
t
)
\pmb{u}(t)
uuu(t)可以是连续分段函数,根据微分方程的理论可知,状态方程的解存在且唯一,并且是连续和分段可微分的.
定理(最小值原理):设
u
(
t
)
\pmb{u}(t)
uuu(t)是容许控制,
x
(
t
)
\pmb{x}(t)
xxx(t)是对应的积分轨线,为了使
u
∗
(
t
)
\pmb{u}^*(t)
uuu∗(t)为最优控制,
x
∗
(
t
)
\pmb{x}^*(t)
xxx∗(t)为最优轨线,必存在向量函数
λ
(
t
)
\pmb{\lambda}(t)
λλλ(t),使得
x
∗
(
t
)
\pmb{x}^*(t)
xxx∗(t)和
λ
(
t
)
\pmb{\lambda}(t)
λλλ(t)满足正则方程
{
x
˙
(
t
)
=
∂
H
∂
λ
λ
˙
(
t
)
=
−
∂
H
∂
x
\left\{ \begin{aligned} &\dot{x}(t)=\frac{\partial H}{\partial \pmb{\lambda}}\\ &\dot\lambda(t)=-\frac{\partial H}{\partial \pmb{x}} \end{aligned} \right.
⎩⎪⎪⎨⎪⎪⎧x˙(t)=∂λλλ∂Hλ˙(t)=−∂xxx∂H
且
H
H
H函数在任何时刻
t
t
t,相对于最优控制
u
∗
(
t
)
\pmb{u}^*(t)
uuu∗(t)存在最小值,即
min
u
∈
U
H
(
x
∗
(
t
)
,
λ
(
t
)
,
u
(
t
)
,
t
)
=
H
(
x
∗
(
t
)
,
λ
(
t
)
,
u
∗
(
t
)
,
t
)
\min_{u\in U}H(x^*(t), \pmb{\lambda}(t), \pmb{u}(t), t)=H(\pmb{x}^*(t), \pmb{\lambda}(t), \pmb{u}^*(t), t)
u∈UminH(x∗(t),λλλ(t),uuu(t),t)=H(xxx∗(t),λλλ(t),uuu∗(t),t)
最小值原理是最优控制所满足的必要条件,但是对于线性系统
x
˙
(
t
)
=
A
(
t
)
x
(
t
)
+
B
(
t
)
u
(
t
)
\dot{x}(t)=A(t)x(t)+B(t)u(t)
x˙(t)=A(t)x(t)+B(t)u(t)
其中
A
(
t
)
=
[
a
11
(
t
)
…
a
1
n
(
t
)
⋮
⋱
⋮
a
n
1
(
t
)
…
a
n
n
(
t
)
]
B
(
t
)
=
[
b
1
(
t
)
⋮
b
n
(
t
)
]
A(t)=\left[ \begin{matrix} &a_{11}(t) & \dots & a_{1n}(t)\\ &\vdots &\ddots & \vdots\\ &a_{n1}(t) & \dots & a_{nn}(t) \end{matrix} \right]\quad B(t)=\left[ \begin{matrix} b_1(t)\\ \vdots\\ b_n(t) \end{matrix} \right]
A(t)=⎣⎢⎡a11(t)⋮an1(t)…⋱…a1n(t)⋮ann(t)⎦⎥⎤B(t)=⎣⎢⎡b1(t)⋮bn(t)⎦⎥⎤
最小值原理也是使泛函
J
J
J取得最小值的充分条件.
例 1:同上例.
解析:引入乘子
λ
(
t
)
\lambda(t)
λ(t)构造哈密顿函数
H
=
x
(
t
)
−
λ
(
t
)
(
−
x
(
t
)
+
u
(
t
)
)
=
(
1
−
λ
)
x
(
t
)
+
λ
u
(
t
)
H=x(t)-\lambda(t)(-x(t)+u(t))=(1-\lambda)x(t)+\lambda u(t)
H=x(t)−λ(t)(−x(t)+u(t))=(1−λ)x(t)+λu(t)
得到伴随方程以及边界条件为
{
λ
˙
(
t
)
=
−
∂
H
∂
x
=
λ
(
t
)
−
1
λ
(
1
)
=
0
\left\{ \begin{aligned} &\dot{\lambda}(t)=-\frac{\partial H}{\partial x}=\lambda(t)-1\\ &\lambda(1)=0 \end{aligned} \right.
⎩⎨⎧λ˙(t)=−∂x∂H=λ(t)−1λ(1)=0
根据极小值原理,需要求出
H
H
H的极值,可控制项
λ
u
(
t
)
\lambda u(t)
λu(t)需要取值为负极值,所以
∣
u
∣
|u|
∣u∣取边界值
u
=
−
s
g
n
(
λ
)
=
{
−
1
λ
>
0
1
λ
<
0
u=-sgn(\lambda)=\begin{cases} -1& \lambda>0\\ 1 &\lambda<0 \end{cases}
u=−sgn(λ)={−11λ>0λ<0
根据伴随方程的解形式
λ
(
t
)
=
1
−
exp
(
t
−
1
)
>
0
,
0
≤
t
≤
t
\lambda(t)=1-\exp(t-1)>0, 0\leq t\leq t
λ(t)=1−exp(t−1)>0,0≤t≤t
可知
λ
(
t
)
>
0
\lambda(t)>0
λ(t)>0, 所以
u
∗
(
t
)
=
−
1
u^*(t)=-1
u∗(t)=−1,将
u
∗
(
t
)
=
−
1
u^*(t)=-1
u∗(t)=−1代入状态方程得到
x
˙
(
t
)
=
−
x
(
t
)
−
1
,
x
(
0
)
=
1
\dot{x}(t)=-x(t)-1, x(0)=1
x˙(t)=−x(t)−1,x(0)=1
通解形式为
x
(
t
)
=
k
1
x
−
t
+
k
2
x(t)=k_1x^{-t}+k_2
x(t)=k1x−t+k2,求解得到最优轨线为
x
∗
(
t
)
=
2
e
−
t
−
1
x^*(t)=2e^{-t}-1
x∗(t)=2e−t−1,得到最优性能指标为
J
∗
=
∫
0
1
x
∗
(
t
)
d
t
=
−
2
e
−
1
+
1
J^*=\int_0^1x^*(t)dt=-2e^{-1}+1
J∗=∫01x∗(t)dt=−2e−1+1
可以得到协态变量和控制变量的关系如图所示
例 2 设系统为
x
˙
=
−
x
(
t
)
+
u
(
t
)
,
x
(
0
)
=
1
\dot{x}=-x(t)+u(t), x(0)=1
x˙=−x(t)+u(t),x(0)=1
控制向量约束为
∣
u
(
t
)
∣
≤
1
|u(t)|\leq 1
∣u(t)∣≤1,求控制
u
(
t
)
u(t)
u(t)使得性能指标泛函
J
=
∫
0
1
(
x
−
1
2
u
)
d
t
J=\int_0^1(x-\frac{1}{2}u)dt
J=∫01(x−21u)dt
有极小值
解析:构造哈密顿函数
H
=
x
−
1
2
u
+
λ
(
−
x
+
u
)
=
(
1
−
λ
)
x
+
(
λ
−
1
2
)
u
H=x-\frac{1}{2}u+\lambda(-x+u)=(1-\lambda)x+(\lambda-\frac{1}{2})u
H=x−21u+λ(−x+u)=(1−λ)x+(λ−21)u
伴随方程及边界条件为
{
λ
˙
(
t
)
=
−
∂
H
∂
x
=
λ
−
1
λ
(
1
)
=
0
\left\{ \begin{aligned} &\dot{\lambda}(t)=-\frac{\partial H}{\partial x}=\lambda-1\\ &\lambda(1)=0 \end{aligned} \right.
⎩⎨⎧λ˙(t)=−∂x∂H=λ−1λ(1)=0
求解得到
λ
(
t
)
=
−
e
t
−
1
+
1
\lambda(t)=-e^{t-1}+1
λ(t)=−et−1+1
由最小值原理可以得到控制
u
(
t
)
u(t)
u(t)为
u
=
−
s
g
n
(
λ
−
1
2
)
u=-sgn(\lambda-\frac{1}{2})
u=−sgn(λ−21)
求出
λ
(
t
)
−
1
2
\lambda(t)-\frac{1}{2}
λ(t)−21的零点为
t
=
ln
e
2
t=\ln\frac{e}{2}
t=ln2e,可以得到
u
∗
(
t
)
=
{
−
1
0
≤
t
≤
ln
e
2
1
ln
e
2
<
t
≤
1
u^*(t)= \left\{ \begin{aligned} &-1 & 0\leq t\leq \ln\frac{e}{2}\\ &1 & \ln\frac{e}{2}<t\leq 1 \end{aligned} \right.
u∗(t)=⎩⎪⎨⎪⎧−110≤t≤ln2eln2e<t≤1
代入
u
∗
(
t
)
u^*(t)
u∗(t)到状态方程,得到
x
˙
=
−
x
+
u
=
{
−
x
−
1
0
≤
t
≤
ln
e
2
−
x
+
1
ln
e
2
<
t
≤
1
\dot{x}=-x+u=\left\{ \begin{aligned} &-x-1 & 0\leq t\leq \ln\frac{e}{2}\\ &-x+1 & \ln\frac{e}{2}<t\leq 1 \end{aligned} \right.
x˙=−x+u=⎩⎪⎨⎪⎧−x−1−x+10≤t≤ln2eln2e<t≤1
求解微分方程,且根据在
t
=
ln
e
2
t=\ln\frac{e}{2}
t=ln2e处连续得到
x
∗
(
t
)
=
{
2
e
−
t
−
1
0
≤
t
≤
ln
e
2
(
2
−
e
)
e
−
t
+
1
ln
e
2
<
t
≤
1
x^*(t)= \left\{ \begin{aligned} &2e^{-t}-1& 0\leq t\leq \ln\frac{e}{2}\\ &(2-e)e^{-t}+1 & \ln\frac{e}{2}<t\leq 1 \end{aligned} \right.
x∗(t)=⎩⎪⎨⎪⎧2e−t−1(2−e)e−t+10≤t≤ln2eln2e<t≤1
变分法与最小值原理关系
当
u
(
t
)
u(t)
u(t)无约束时,条件
min
u
∈
U
H
(
x
∗
,
λ
,
u
,
t
)
\min_{u\in U}H(x^*, \lambda, u, t)
u∈UminH(x∗,λ,u,t)
等价于
∂
H
∂
u
=
0
\frac{\partial H}{\partial u}=0
∂u∂H=0
且当
u
u
u不受限制时,伴随方程
λ
˙
(
t
)
=
−
∂
H
∂
x
\dot{\lambda}(t)=-\frac{\partial H}{\partial x}
λ˙(t)=−∂x∂H
和极值条件
∂
H
∂
u
=
0
\frac{\partial H}{\partial u}=0
∂u∂H=0
就是欧拉方程
∂
F
∂
x
−
d
d
t
∂
F
∂
x
˙
=
0
\frac{\partial F}{\partial x}-\frac{d}{dt}\frac{\partial F}{\partial \dot{x}}=0
∂x∂F−dtd∂x˙∂F=0
证明过程见《现代控制理论(第二版)》Page 283.
参考资料
用庞特里亚金极小值原理求解二阶系统的最优控制问题
现代控制理论(第二版)清华大学出版社 张嗣瀛 高立群
控制学领域书单推荐
最优控制综述
动态优化–汉密尔顿函数(最优控制)和HJB方程(动态规划)
Geogebra使用
Geogebra数学 知乎专栏