在实际物理系统中,控制向量总是受到一定的限制,容许控制值能在一定的控制域内取值,可以预料,用古典变分法难以处理上述问题。
注:本文总结自胡寿松教授的专著《最优控制理论与系统》第三章 极小值原理及其应用。文章中举的例题均用自己的方法写了一遍,没有依照书上的解法写。
全文的公式使用LaTex公式编辑器编辑而成。
3.1 连续系统的极小值原理
如果描述最优控制问题的一些函数,如 f f f 和 φ \varphi φ 等显含时间 t t t 和 t f t_f tf ,则称为时变问题。
3.1.1 定常系统
为了方便阐述,先研究定常系统、末值型指标、末端自由、控制受约束的极小值原理,然后将所得结果扩大至一般的最优控制问题中。再研究性能指标为积分型的控制问题极小值原理应用情况。
(1)定常系统、末值型性能指标、末端自由、控制受约束
【定理1】 对于如下定常系统、末值型性能指标、末端自由、控制受约束的最优控制问题:
min
u
(
t
)
∈
Ω
J
(
u
)
=
φ
[
x
(
t
f
)
]
s
.
t
.
x
˙
(
t
)
=
f
(
x
,
u
)
,
x
(
t
0
)
=
x
0
,
t
∈
[
t
0
,
t
f
]
(1)
\min_{u(t) \in \Omega} J(u)=\varphi \big[ x(t_f)\big ] \\ \mathrm{s. t. }\quad \dot x(t)=f(x,u),\quad x(t_0)=x_0,\quad t \in \big[ t_0,t_f \big] \tag{1}
u(t)∈ΩminJ(u)=φ[x(tf)]s.t.x˙(t)=f(x,u),x(t0)=x0,t∈[t0,tf](1)
①
x
(
t
)
x(t)
x(t) 和
λ
(
t
)
\lambda (t)
λ(t) 满足下列正则方程
x
˙
(
t
)
=
∂
H
∂
λ
λ
˙
(
t
)
=
−
∂
H
∂
x
\dot x(t)=\frac{\partial H}{\partial \lambda} \\ \dot \lambda(t)=- \frac{\partial H}{\partial x}
x˙(t)=∂λ∂Hλ˙(t)=−∂x∂H
式中
H
(
x
,
u
,
λ
,
t
)
=
λ
T
f
(
x
,
u
,
t
)
H(x,u,\lambda,t)=\lambda^{\mathrm{T}}f(x,u,t)
H(x,u,λ,t)=λTf(x,u,t)
② 边界条件
x
(
t
0
)
=
x
0
λ
(
t
f
)
=
∂
φ
∂
x
(
t
f
)
x(t_0) = x_0 \\ \lambda(t_f)=\frac{\partial \varphi}{\partial x(t_f)}
x(t0)=x0λ(tf)=∂x(tf)∂φ
③ 极值条件(即Hamilton函数相对最优控制为极小值)
H
(
x
∗
,
u
∗
,
λ
)
=
min
u
(
t
)
∈
Ω
H
(
x
∗
,
u
,
λ
)
=
c
o
n
s
t
H(x^*,u^*,\lambda)=\min_{u(t) \in \Omega} H(x^*,u,\lambda)=\mathrm{const}
H(x∗,u∗,λ)=u(t)∈ΩminH(x∗,u,λ)=const
④ H 变化率 (Hamilton函数沿最优轨线保持为常数)
当
t
f
t_f
tf 固定时
H
[
x
∗
(
t
)
,
u
∗
(
t
)
,
λ
(
t
)
]
=
H
[
x
∗
(
t
f
)
,
u
∗
(
t
f
)
,
λ
(
t
f
)
]
=
c
o
n
s
t
H\big[x^*(t),u^*(t),\lambda(t)\big]=H\big[x^*(t_f),u^*(t_f),\lambda(t_f)\big]=\mathrm{const}
H[x∗(t),u∗(t),λ(t)]=H[x∗(tf),u∗(tf),λ(tf)]=const
当
t
f
t_f
tf 自由时
H
[
x
∗
(
t
f
∗
)
,
u
∗
(
t
f
∗
)
,
λ
∗
(
t
f
∗
)
]
=
0
H\big[x^*(t^*_f),u^*(t^*_f),\lambda^*(t^*_f)\big]=0
H[x∗(tf∗),u∗(tf∗),λ∗(tf∗)]=0
(2)定常系统、积分型性能指标、末端自由、控制受约束
【定理2】对于如下定常系统、积分型性能指标、末端自由、控制受约束的最优控制问题:
min
u
(
t
)
∈
Ω
J
(
x
)
=
∫
t
0
t
f
L
[
x
(
t
)
,
u
(
t
)
]
d
t
s
.
t
.
x
˙
(
t
)
=
f
(
x
,
u
)
,
x
(
t
0
)
=
x
0
,
t
∈
[
t
0
,
t
f
]
,
t
f
未
定
(2)
\min_{u(t) \in \Omega} J(x)=\int_{t_0}^{t_f}L[x(t),u(t)]\mathrm{d}t \\ \mathrm{s. t. }\quad \dot x(t)=f(x,u),\quad x(t_0)=x_0, \\ \quad t \in \big[ t_0,t_f \big],\quad t_f未定 \tag{2}
u(t)∈ΩminJ(x)=∫t0tfL[x(t),u(t)]dts.t.x˙(t)=f(x,u),x(t0)=x0,t∈[t0,tf],tf未定(2)
①
x
(
t
)
x(t)
x(t) 和
λ
(
t
)
\lambda (t)
λ(t) 满足下列正则方程
x
˙
(
t
)
=
∂
H
∂
λ
λ
˙
(
t
)
=
−
∂
H
∂
x
\dot x(t)=\frac{\partial H}{\partial \lambda} \\ \dot \lambda(t)=- \frac{\partial H}{\partial x}
x˙(t)=∂λ∂Hλ˙(t)=−∂x∂H
式中
H
(
x
,
u
,
λ
)
=
L
(
x
,
u
)
+
λ
T
f
(
x
,
u
)
H(x,u,\lambda)=L(x,u)+\lambda^{\mathrm{T}}f(x,u)
H(x,u,λ)=L(x,u)+λTf(x,u)
② 边界条件
x
(
t
0
)
=
x
0
λ
(
t
f
)
=
0
x(t_0) = x_0 \\ \lambda(t_f)=0
x(t0)=x0λ(tf)=0
③ 极值条件(即Hamilton函数相对最优控制为极小值)
H
(
x
∗
,
u
∗
,
λ
)
=
min
u
(
t
)
∈
Ω
H
(
x
∗
,
u
,
λ
)
=
c
o
n
s
t
H(x^*,u^*,\lambda)=\min_{u(t) \in \Omega} H(x^*,u,\lambda)=\mathrm{const}
H(x∗,u∗,λ)=u(t)∈ΩminH(x∗,u,λ)=const
④ H 变化率 (Hamilton函数沿最优轨线保持为常数)
当
t
f
t_f
tf 固定时
H
[
x
∗
(
t
)
,
u
∗
(
t
)
,
λ
(
t
)
]
=
H
[
x
∗
(
t
f
)
,
u
∗
(
t
f
)
,
λ
(
t
f
)
]
=
c
o
n
s
t
H\big[x^*(t),u^*(t),\lambda(t)\big]=H\big[x^*(t_f),u^*(t_f),\lambda(t_f)\big]=\mathrm{const}
H[x∗(t),u∗(t),λ(t)]=H[x∗(tf),u∗(tf),λ(tf)]=const
当
t
f
t_f
tf 自由时
H
[
x
∗
(
t
f
∗
)
,
u
∗
(
t
f
∗
)
,
λ
∗
(
t
f
∗
)
]
=
0
H\big[x^*(t^*_f),u^*(t^*_f),\lambda^*(t^*_f)\big]=0
H[x∗(tf∗),u∗(tf∗),λ∗(tf∗)]=0
总结
当控制问题为定常系统时,性能指标为末值型和积分型的区别在于边界条件的不同,此外再无区别。
末值型性能指标的边界条件为
x
(
t
0
)
=
x
0
λ
(
t
f
)
=
∂
φ
∂
x
(
t
f
)
x(t_0) = x_0 \\ \lambda(t_f)=\frac{\partial \varphi}{\partial x(t_f)}
x(t0)=x0λ(tf)=∂x(tf)∂φ
积分型性能指标的边界条件为
x
(
t
0
)
=
x
0
λ
(
t
f
)
=
0
x(t_0) = x_0 \\ \lambda(t_f)=0
x(t0)=x0λ(tf)=0
所以,在解题时,按照 ① —> ② —> ③ —> ④ 的步骤解题即可,与变分法无异。
例题
【例题1】 设二阶系统的状态方程及初始条件为
{
x
˙
1
(
t
)
=
−
x
1
(
1
)
+
u
(
t
)
,
x
1
(
0
)
=
1
x
˙
2
(
t
)
=
x
1
(
1
)
,
x
2
(
0
)
=
0
\left\{\begin{matrix} \dot x_1(t) = -x_1(1)+u(t),\quad x_1(0)=1 \\ \dot x_2(t) = x_1(1),\quad x_2(0)=0 \end{matrix}\right.
{x˙1(t)=−x1(1)+u(t),x1(0)=1x˙2(t)=x1(1),x2(0)=0
式中标量控制
u
(
t
)
u(t)
u(t) 的约束条件为
∣
u
(
t
)
∣
≤
1
|u(t)| \le 1
∣u(t)∣≤1
若系统末端状态
x
(
t
f
)
x(t_f)
x(tf) 是自由的,试求最优控制
u
(
t
)
u(t)
u(t) ,使性能指标
J
=
x
2
(
1
)
J=x_2(1)
J=x2(1)
取极小值。
【解】本例为定常系统、末值型性能指标、末端自由、 t f t_f tf 固定和控制受约束的最优控制问题。
① 构造Hamilton函数
H
=
λ
1
[
−
x
1
(
t
)
+
u
(
t
)
]
+
λ
2
x
2
(
t
)
H=\lambda_1 \big [-x_1(t)+u(t) \big]+\lambda_2 x_2(t)
H=λ1[−x1(t)+u(t)]+λ2x2(t)
x
(
t
)
x(t)
x(t) 和
λ
(
t
)
\lambda (t)
λ(t) 满足下列正则方程
{
x
˙
1
(
t
)
=
∂
H
∂
λ
1
=
−
x
1
(
t
)
+
u
(
t
)
x
˙
2
(
t
)
=
∂
H
∂
λ
2
=
x
1
(
t
)
\left\{\begin{matrix} \dot x_1(t)=\frac{\partial H}{\partial \lambda_1}=-x_1(t)+u(t)\\ \dot x_2(t)=\frac{\partial H}{\partial \lambda_2}=x_1(t) \end{matrix}\right.
{x˙1(t)=∂λ1∂H=−x1(t)+u(t)x˙2(t)=∂λ2∂H=x1(t)
{ λ ˙ 1 = − ∂ H ∂ x 1 ( t ) = λ 1 − λ 2 λ ˙ 2 = − ∂ H ∂ x 2 ( t ) = 0 ⇒ { λ 1 = C 1 e t + C 2 λ 2 = C 2 \left\{\begin{matrix} \dot \lambda_1=-\frac{\partial H}{\partial x_1(t)}=\lambda_1-\lambda_2\\ \dot \lambda_2=-\frac{\partial H}{\partial x_2(t)}=0 \end{matrix}\right. \\ \Rightarrow \left\{\begin{matrix} \lambda_1=C_1e^{t}+C_2\\ \lambda_2=C_2 \end{matrix}\right. {λ˙1=−∂x1(t)∂H=λ1−λ2λ˙2=−∂x2(t)∂H=0⇒{λ1=C1et+C2λ2=C2
② 边界条件
可知
φ
=
x
2
(
1
)
\varphi = x_2(1)
φ=x2(1)
那么边界条件为
x
1
(
0
)
=
1
,
x
2
(
0
)
=
0
λ
1
(
1
)
=
∂
φ
∂
x
1
(
1
)
=
0
,
λ
2
(
1
)
=
∂
φ
∂
x
2
(
1
)
=
1
x_1(0)=1,\quad x_2(0)=0 \\ \lambda_1(1)=\frac{\partial \varphi}{\partial x_1(1)}=0,\quad \lambda_2(1)=\frac{\partial \varphi}{\partial x_2(1)}=1
x1(0)=1,x2(0)=0λ1(1)=∂x1(1)∂φ=0,λ2(1)=∂x2(1)∂φ=1
得到
λ
(
t
)
=
e
1
−
t
−
1
\lambda(t)=e^{1-t}-1
λ(t)=e1−t−1
③ 极值条件(即Hamilton函数相对最优控制为极小值)
因为Hamilton函数可写为
H
=
x
1
(
λ
2
−
λ
1
)
+
λ
1
u
H=x_1(\lambda_2-\lambda_1)+\lambda_1u
H=x1(λ2−λ1)+λ1u
根据极小值原理,要使Hamilton函数无论在何种情况下都保持最小,其控制量
u
u
u 的取值应为
u
=
{
0
,
λ
1
≤
0
−
1
,
λ
1
>
0
u=\left\{\begin{matrix} 0,\quad \lambda_1 \le 0 \\ -1,\quad \lambda_1 > 0 \end{matrix}\right.
u={0,λ1≤0−1,λ1>0
因为
{
λ
˙
1
(
t
)
=
−
λ
1
(
t
)
λ
1
(
1
)
=
0
⇒
{
C
1
=
−
e
−
1
C
2
=
1
\left\{\begin{matrix} \dot \lambda_1(t)=-\lambda_1(t) \\ \lambda_1(1)=0 \end{matrix}\right. \Rightarrow \left\{\begin{matrix} C_1=-e^{-1} \\ C_2=1 \end{matrix}\right.
{λ˙1(t)=−λ1(t)λ1(1)=0⇒{C1=−e−1C2=1
得到
λ
1
(
t
)
=
1
−
e
1
−
t
⇒
{
λ
1
>
0
,
0
≤
t
<
1
λ
1
=
0
,
t
=
1
\lambda_1(t)=1-e^{1-t} \Rightarrow \left\{\begin{matrix} \lambda_1>0,\quad 0 \le t<1 \\ \lambda_1=0,\quad t=1 \end{matrix}\right.
λ1(t)=1−e1−t⇒{λ1>0,0≤t<1λ1=0,t=1
最后得到最优控制
u
∗
(
t
)
u^*(t)
u∗(t) 为
u
∗
=
{
−
1
,
0
≤
t
<
1
0
,
t
=
1
u^*=\left\{\begin{matrix} -1, \quad 0 \le t < 1 \\ 0, \quad t = 1 \end{matrix}\right.
u∗={−1,0≤t<10,t=1
【例题2】设一阶状态方程为
x
˙
(
t
)
=
x
(
t
)
−
u
(
t
)
,
x
(
0
)
=
5
\dot x(t) =x(t)-u(t),\quad x(0)=5
x˙(t)=x(t)−u(t),x(0)=5
式中控制约束
0.5
≤
u
(
t
)
≤
1
0.5 \le u(t) \le 1
0.5≤u(t)≤1
试求使性能指标
J
=
∫
0
1
[
x
(
t
)
+
u
(
t
)
]
d
t
J=\int_{0}^{1}\big[x(t)+u(t) \big]\mathrm{d}t
J=∫01[x(t)+u(t)]dt
为极小值的最优控制
u
∗
(
t
)
u^*(t)
u∗(t) 和相应的最优性能指标
J
∗
J^*
J∗。
【解】本例为定常系统、积分型性能指标、 t f t_f tf 固定和末端自由的最优控制问题。
① 构造Hamilton函数
H
=
x
(
t
)
+
u
(
t
)
+
λ
[
x
(
t
)
−
u
(
t
)
]
H=x(t)+u(t)+\lambda \big [ x(t)-u(t) \big]
H=x(t)+u(t)+λ[x(t)−u(t)]
x
(
t
)
x(t)
x(t) 和
λ
(
t
)
\lambda (t)
λ(t) 满足下列正则方程
x
˙
(
t
)
=
∂
H
∂
λ
=
x
(
t
)
−
u
(
t
)
λ
˙
(
t
)
=
−
∂
H
∂
x
=
−
[
1
+
λ
(
t
)
]
\dot x(t)=\frac{\partial H}{\partial \lambda}=x(t)-u(t)\\ \dot \lambda(t)=- \frac{\partial H}{\partial x}=-\big[1+\lambda(t)\big ]
x˙(t)=∂λ∂H=x(t)−u(t)λ˙(t)=−∂x∂H=−[1+λ(t)]
求出协态方程的表达式为
λ
(
t
)
=
C
e
−
t
−
1
\lambda(t)=Ce^{-t}-1
λ(t)=Ce−t−1
② 边界条件
可知
φ
=
x
2
(
1
)
\varphi = x_2(1)
φ=x2(1)
那么边界条件为
x
(
0
)
=
5
λ
(
1
)
=
C
e
−
1
−
1
=
0
⇒
C
=
e
x(0)=5 \\ \lambda(1)=Ce^{-1}-1=0 \Rightarrow C=e
x(0)=5λ(1)=Ce−1−1=0⇒C=e
得到
λ
(
t
)
=
e
1
−
t
−
1
\lambda(t)=e^{1-t}-1
λ(t)=e1−t−1
③ 极值条件
Hamilton函数可化为
H
=
x
(
t
)
(
1
+
λ
)
+
u
(
t
)
(
1
−
λ
)
H=x(t)(1+\lambda)+u(t)(1-\lambda)
H=x(t)(1+λ)+u(t)(1−λ)
根据极值条件,控制量
u
(
t
)
u(t)
u(t) 为
u
(
t
)
=
{
0.5
,
λ
<
1
1
,
λ
≥
1
u(t)=\left\{\begin{matrix} 0.5, \quad \lambda < 1 \\ 1, \quad \lambda \ge 1 \end{matrix}\right.
u(t)={0.5,λ<11,λ≥1
令
λ
=
1
\lambda = 1
λ=1 ,得到
λ
(
t
)
=
e
1
−
t
−
1
=
1
⇒
t
=
0.307
\lambda(t) = e^{1-t}-1=1 \\ \Rightarrow t=0.307
λ(t)=e1−t−1=1⇒t=0.307
那么,控制量
u
∗
(
t
)
u^*(t)
u∗(t) 为
u
∗
(
t
)
=
{
0.5
,
0
≤
t
<
0.307
1
,
0.307
≤
t
≤
1
u^*(t)=\left\{\begin{matrix} 0.5, \quad 0 \le t < 0.307 \\ 1, \quad 0.307 \le t \le 1 \end{matrix}\right.
u∗(t)={0.5,0≤t<0.3071,0.307≤t≤1
将
u
∗
(
t
)
u^*(t)
u∗(t) 代入状态方程,得
x
˙
(
t
)
=
{
x
(
t
)
−
1
,
0
≤
t
<
0.307
x
(
t
)
−
0.5
,
0.307
≤
t
≤
1
\dot x(t)=\left\{\begin{matrix} x(t)-1, \quad 0 \le t < 0.307 \\ x(t)-0.5, \quad 0.307 \le t \le 1 \end{matrix}\right.
x˙(t)={x(t)−1,0≤t<0.307x(t)−0.5,0.307≤t≤1
解得
x
(
t
)
=
{
c
1
e
t
+
1
,
0
≤
t
<
0.307
c
2
e
t
+
0.5
,
0.307
≤
t
≤
1
x(t)=\left\{\begin{matrix} c_1e^t+1, \quad 0 \le t < 0.307 \\ c_2e^t+0.5, \quad 0.307 \le t \le 1 \end{matrix}\right.
x(t)={c1et+1,0≤t<0.307c2et+0.5,0.307≤t≤1
因为初始条件
x
(
0
)
=
5
x(0)=5
x(0)=5 ,代入方程中,得到
c
1
e
0
+
1
=
x
(
0
)
⇒
c
1
+
1
=
5
⇒
c
1
=
4
c_1e^0+1=x(0) \\ \Rightarrow c_1+1=5 \\ \Rightarrow c_1=4
c1e0+1=x(0)⇒c1+1=5⇒c1=4
当
t
=
0.307
t=0.307
t=0.307 时,让左极限等于右极限,有
4
e
0.307
+
1
=
c
2
e
0.307
+
0.5
=
6.44
⇒
c
2
=
4.37
4e^{0.307}+1=c_2e^{0.307}+0.5=6.44 \\ \Rightarrow c_2=4.37
4e0.307+1=c2e0.307+0.5=6.44⇒c2=4.37
注意,这里的结果是在两位小数的精度下求解出来的。
所以,最优轨线
x
∗
(
t
)
x^*(t)
x∗(t) 为
x
∗
(
t
)
=
{
4
e
t
+
1
,
0
≤
t
<
0.307
4.37
e
t
+
0.5
,
0.307
≤
t
≤
1
x^*(t)=\left\{\begin{matrix} 4e^t+1, \quad 0 \le t < 0.307 \\ 4.37e^t+0.5, \quad 0.307 \le t \le 1 \end{matrix}\right.
x∗(t)={4et+1,0≤t<0.3074.37et+0.5,0.307≤t≤1
最优性能为
J
=
∫
0
0.307
(
4
e
t
+
1
+
1
)
d
t
+
∫
0.307
1
(
4.37
e
t
+
0.5
+
0.5
)
d
t
=
8.68
J = \int_{0}^{0.307}(4e^t+1+1)\mathrm{d}t+\int_{0.307}^{1}(4.37e^t+0.5+0.5)\mathrm{d}t=8.68
J=∫00.307(4et+1+1)dt+∫0.3071(4.37et+0.5+0.5)dt=8.68
代码为
clear;clc;close all;
% 定义变量
syms H lambda x u x1
% Step 1:构造哈密顿方程
H = (x+u) + lambda*(x-u);
% 协态方程
Dlambda = -diff(H,'x');
% Step 2:边界条件
% 求出拉格朗日乘子 lambda1
lambda = dsolve('Dlambda = -lambda-1','lambda(1)=0');
% Step 3:极值条件
% 求切换时间 ts
ts = solve('exp(1-ts)-1=1');
x1 = dsolve('Dx1=x1-1','x1(0)=5')
xTemp = 4*exp(0.307)+1;
x2 = dsolve('Dx2=x2-0.5','x2(0.307)=6.4374')
需要注意的是,ts = solve('exp(1-ts)-1=1');
这行代码在MATLAB 2014中可以使用,在MATLAB 2018中无法正常使用,因为solve()
函数的用法改变了,因此如需在MATLAB 2018中使用此函数,代码应改为
syms ts;
ts = solve(exp(1-ts)-1==1,ts);
运行结果为
3.1.2 时变系统
(1)时变系统、末值型性能指标、末端自由、控制受约束
【定理3】对于如下时变系统、末值型性能指标、末端自由、控制受约束的最优控制问题
min
u
(
t
)
∈
Ω
J
(
x
)
=
φ
[
x
(
t
f
)
,
t
f
]
s
.
t
.
x
˙
(
t
)
=
f
(
x
,
u
)
,
x
(
t
0
)
=
x
0
,
t
∈
[
t
0
,
t
f
]
,
t
f
未
知
(3)
\min_{u(t) \in \Omega} J(x)=\varphi \big[ x(t_f),t_f \big ] \\ \mathrm{s. t. }\quad \dot x(t)=f(x,u),\quad x(t_0)=x_0, \\ \quad t \in \big[ t_0,t_f \big],\quad t_f未知 \tag{3}
u(t)∈ΩminJ(x)=φ[x(tf),tf]s.t.x˙(t)=f(x,u),x(t0)=x0,t∈[t0,tf],tf未知(3)
①
x
(
t
)
x(t)
x(t) 和
λ
(
t
)
\lambda (t)
λ(t) 满足下列正则方程
x
˙
(
t
)
=
∂
H
∂
λ
λ
˙
(
t
)
=
−
∂
H
∂
x
\dot x(t)=\frac{\partial H}{\partial \lambda} \\ \dot \lambda(t)=- \frac{\partial H}{\partial x}
x˙(t)=∂λ∂Hλ˙(t)=−∂x∂H
式中
H
(
x
,
u
,
λ
,
t
)
=
λ
T
f
(
x
,
u
,
t
)
H(x,u,\lambda,t)=\lambda^{\mathrm{T}}f(x,u,t)
H(x,u,λ,t)=λTf(x,u,t)
② 边界条件
x
(
t
0
)
=
x
0
λ
(
t
f
)
=
∂
φ
[
x
(
t
f
)
,
t
f
]
∂
x
(
t
f
)
x(t_0) = x_0 \\ \lambda(t_f)=\frac{\partial \varphi[x(t_f),t_f]}{\partial x(t_f)}
x(t0)=x0λ(tf)=∂x(tf)∂φ[x(tf),tf]
③ 极值条件(即Hamilton函数相对最优控制为极小值)
H
(
x
∗
(
t
)
,
u
∗
(
t
)
,
λ
(
t
)
,
t
)
=
min
u
(
t
)
∈
Ω
H
(
x
∗
(
t
)
,
u
(
t
)
,
λ
(
t
)
,
t
)
=
c
o
n
s
t
H(x^*(t),u^*(t),\lambda(t),t)=\min_{u(t) \in \Omega} H(x^*(t),u(t),\lambda(t),t)=\mathrm{const}
H(x∗(t),u∗(t),λ(t),t)=u(t)∈ΩminH(x∗(t),u(t),λ(t),t)=const
④ 最优轨线末端Hamilton函数应满足
H
[
x
∗
(
t
f
∗
)
,
u
∗
(
t
f
∗
)
,
λ
(
t
f
∗
)
,
t
f
∗
]
=
−
∂
[
x
∗
(
t
f
∗
)
,
t
f
∗
]
∂
t
f
H\big[x^*(t_f^*),u^*(t_f^*),\lambda(t_f^*),t_f^*\big]=-\frac{\partial[x^*(t_f^*),t_f^*]}{\partial t_f}
H[x∗(tf∗),u∗(tf∗),λ(tf∗),tf∗]=−∂tf∂[x∗(tf∗),tf∗]
⑤ H 变化率(沿最优轨线Hamilton函数变化率)
H
[
x
∗
(
t
)
,
u
∗
(
t
)
,
λ
(
t
)
,
t
]
=
H
[
x
∗
(
t
f
)
,
u
∗
(
t
f
)
,
λ
(
t
f
)
,
t
f
]
−
∫
t
t
f
∂
H
(
x
,
u
,
λ
,
τ
)
∂
τ
d
τ
H\big[x^*(t),u^*(t),\lambda(t),t\big]=H\big[x^*(t_f),u^*(t_f),\lambda(t_f),t_f\big]-\int_{t}^{t_f} \frac{\partial H(x,u,\lambda,\tau)}{\partial \tau}\mathrm{d}\tau
H[x∗(t),u∗(t),λ(t),t]=H[x∗(tf),u∗(tf),λ(tf),tf]−∫ttf∂τ∂H(x,u,λ,τ)dτ
总结
-
在解题时,按照 ① —> ② —> ③ —> ④ —> ⑤ 的步骤解题即可,与变分法无异。
-
时变系统和定常系统的区别是,时变系统有最优轨线末端Hamilton函数应满足的条件,定常系统没有。但其实这个条件一般也用不上,两者都有H 变化率此项。
3.1.3 末端约束问题的推广
(1)定常系统、末值型性能指标、末端受约束、控制受约束
【定理4】对于如下定常系统、末值型性能指标、末端受约束、控制受约束的最优控制问题
min
u
(
t
)
∈
Ω
J
(
x
)
=
φ
[
x
(
t
f
)
,
t
f
]
s
.
t
.
①
x
˙
(
t
)
=
f
(
x
,
u
)
,
x
(
t
0
)
=
x
0
,
t
∈
[
t
0
,
t
f
]
,
t
f
未
定
②
Ψ
[
x
(
t
f
)
]
=
0
(4)
\min_{u(t) \in \Omega} J(x)=\varphi \big[ x(t_f),t_f \big ] \\ \mathrm{s. t. }\quad ①\quad\dot x(t)=f(x,u),\quad x(t_0)=x_0, \quad t \in \big[ t_0,t_f \big],\quad t_f未定\\ ②\quad \Psi[x(t_f)]=0 \tag{4}
u(t)∈ΩminJ(x)=φ[x(tf),tf]s.t.①x˙(t)=f(x,u),x(t0)=x0,t∈[t0,tf],tf未定②Ψ[x(tf)]=0(4)
①
x
(
t
)
x(t)
x(t) 和
λ
(
t
)
\lambda (t)
λ(t) 满足下列正则方程
x
˙
(
t
)
=
∂
H
∂
λ
λ
˙
(
t
)
=
−
∂
H
∂
x
\dot x(t)=\frac{\partial H}{\partial \lambda} \\ \dot \lambda(t)=- \frac{\partial H}{\partial x}
x˙(t)=∂λ∂Hλ˙(t)=−∂x∂H
式中
H
(
x
,
u
,
λ
)
=
λ
T
f
(
x
,
u
)
H(x,u,\lambda)=\lambda^{\mathrm{T}}f(x,u)
H(x,u,λ)=λTf(x,u)
② 边界条件
x
(
t
0
)
=
x
0
Ψ
[
x
(
x
f
)
]
=
0
x(t_0) = x_0 \\ \Psi[x(x_f)] = 0\\
x(t0)=x0Ψ[x(xf)]=0
注意:如果末端受约束,必定有此条件,这也是和末端自由最优控制问题的区别之处。
λ
(
t
f
)
=
∂
φ
[
x
(
t
f
)
]
∂
x
(
t
f
)
+
∂
Ψ
T
[
x
(
t
f
)
]
∂
x
(
t
f
)
γ
\lambda(t_f)=\frac{\partial \varphi[x(t_f)]}{\partial x(t_f)}+\frac{\partial \Psi^{\mathrm{T}}[x(t_f)]}{\partial x(t_f)}\gamma
λ(tf)=∂x(tf)∂φ[x(tf)]+∂x(tf)∂ΨT[x(tf)]γ
③ 极值条件(即Hamilton函数相对最优控制为极小值)
H
(
x
∗
(
t
)
,
u
∗
(
t
)
,
λ
(
t
)
)
=
min
u
(
t
)
∈
Ω
H
(
x
∗
(
t
f
)
,
u
(
t
f
)
,
λ
(
t
f
)
)
H(x^*(t),u^*(t),\lambda(t))=\min_{u(t) \in \Omega} H(x^*(t_f),u(t_f),\lambda(t_f))
H(x∗(t),u∗(t),λ(t))=u(t)∈ΩminH(x∗(tf),u(tf),λ(tf))
④ H 变化率
当
t
f
t_f
tf 固定时
H
[
x
∗
(
t
)
,
u
∗
(
t
)
,
λ
(
t
)
]
=
H
[
x
∗
(
t
f
)
,
u
∗
(
t
f
)
,
λ
(
t
f
)
]
=
c
o
n
s
t
H\big[x^*(t),u^*(t),\lambda(t)\big]=H\big[x^*(t_f),u^*(t_f),\lambda(t_f)\big]=\mathrm{const}
H[x∗(t),u∗(t),λ(t)]=H[x∗(tf),u∗(tf),λ(tf)]=const
当
t
f
t_f
tf 自由时
H
[
x
∗
(
t
f
∗
)
,
u
∗
(
t
f
∗
)
,
λ
∗
(
t
f
∗
)
]
=
0
H\big[x^*(t^*_f),u^*(t^*_f),\lambda^*(t^*_f)\big]=0
H[x∗(tf∗),u∗(tf∗),λ∗(tf∗)]=0
对于时变系统,末端约束一般表示为
Ψ
[
x
(
t
f
)
,
t
f
]
=
0
\Psi[x(t_f),t_f]=0
Ψ[x(tf),tf]=0
(2)时变系统、末值型性能指标、末端受约束、控制受约束
【定理5】对于如下定常系统、末值型性能指标、末端受约束、控制受约束的最优控制问题
min
u
(
t
)
∈
Ω
J
(
x
)
=
φ
[
x
(
t
f
)
,
t
f
]
s
.
t
.
①
x
˙
(
t
)
=
f
(
x
,
u
)
,
x
(
t
0
)
=
x
0
,
t
∈
[
t
0
,
t
f
]
,
t
f
未
定
②
Ψ
[
x
(
t
f
)
]
=
0
(5)
\min_{u(t) \in \Omega} J(x)=\varphi \big[ x(t_f),t_f \big ] \\ \mathrm{s. t. }\quad ①\quad\dot x(t)=f(x,u),\quad x(t_0)=x_0, \quad t \in \big[ t_0,t_f \big],\quad t_f未定\\ ②\quad \Psi[x(t_f)]=0 \tag{5}
u(t)∈ΩminJ(x)=φ[x(tf),tf]s.t.①x˙(t)=f(x,u),x(t0)=x0,t∈[t0,tf],tf未定②Ψ[x(tf)]=0(5)
①
x
(
t
)
x(t)
x(t) 和
λ
(
t
)
\lambda (t)
λ(t) 满足下列正则方程
x
˙
(
t
)
=
∂
H
∂
λ
λ
˙
(
t
)
=
−
∂
H
∂
x
\dot x(t)=\frac{\partial H}{\partial \lambda} \\ \dot \lambda(t)=- \frac{\partial H}{\partial x}
x˙(t)=∂λ∂Hλ˙(t)=−∂x∂H
式中
H
(
x
,
u
,
λ
,
t
)
=
λ
T
(
t
)
f
(
x
,
u
,
t
)
H(x,u,\lambda,t)=\lambda^{\mathrm{T}}(t)f(x,u,t)
H(x,u,λ,t)=λT(t)f(x,u,t)
② 边界条件
x
(
t
0
)
=
x
0
Ψ
[
x
(
x
f
)
,
t
f
]
=
0
x(t_0) = x_0 \\ \Psi[x(x_f),t_f] = 0\\
x(t0)=x0Ψ[x(xf),tf]=0
注意:如果末端受约束,必定有此条件,这也是和末端自由最优控制问题的区别之处。
λ
(
t
f
)
=
∂
φ
[
x
(
t
f
)
,
t
f
]
∂
x
(
t
f
)
+
∂
Ψ
T
[
x
(
t
f
)
,
t
f
]
∂
x
(
t
f
)
γ
\lambda(t_f)=\frac{\partial \varphi[x(t_f),t_f]}{\partial x(t_f)}+\frac{\partial \Psi^{\mathrm{T}}[x(t_f),t_f]}{\partial x(t_f)}\gamma
λ(tf)=∂x(tf)∂φ[x(tf),tf]+∂x(tf)∂ΨT[x(tf),tf]γ
③ 极值条件(即Hamilton函数相对最优控制为极小值)
H
(
x
∗
(
t
)
,
u
∗
(
t
)
,
λ
(
t
)
,
t
)
=
min
u
(
t
)
∈
Ω
H
(
x
∗
(
t
)
,
u
(
t
)
,
λ
(
t
)
,
t
)
H(x^*(t),u^*(t),\lambda(t),t)=\min_{u(t) \in \Omega} H(x^*(t),u(t),\lambda(t),t)
H(x∗(t),u∗(t),λ(t),t)=u(t)∈ΩminH(x∗(t),u(t),λ(t),t)
④ 在最优轨线末端Hamilton函数应满足
H
[
x
∗
(
t
f
∗
)
,
u
∗
(
t
f
∗
)
,
λ
(
t
f
∗
)
,
t
f
∗
]
=
−
∂
[
x
∗
(
t
f
∗
)
,
t
f
∗
]
∂
t
f
−
γ
T
∂
Ψ
[
x
∗
(
t
f
∗
)
,
t
f
∗
]
∂
t
f
H\big[x^*(t_f^*),u^*(t_f^*),\lambda(t_f^*),t_f^*\big]=-\frac{\partial[x^*(t_f^*),t_f^*]}{\partial t_f}-\gamma^{\mathrm{T}}\frac{\partial \Psi[x^*(t_f^*),t_f^*]}{\partial t_f}
H[x∗(tf∗),u∗(tf∗),λ(tf∗),tf∗]=−∂tf∂[x∗(tf∗),tf∗]−γT∂tf∂Ψ[x∗(tf∗),tf∗]
⑤ H 变化率(沿最优轨线哈密顿函数变化率)
H
[
x
∗
(
t
)
,
u
∗
(
t
)
,
λ
(
t
)
,
t
]
=
H
[
x
∗
(
t
f
)
,
u
∗
(
t
f
)
,
λ
(
t
f
)
,
t
f
]
−
∫
t
t
f
∂
H
(
x
,
u
,
λ
,
τ
)
∂
τ
d
τ
H\big[x^*(t),u^*(t),\lambda(t),t\big]=H\big[x^*(t_f),u^*(t_f),\lambda(t_f),t_f\big]-\int_{t}^{t_f} \frac{\partial H(x,u,\lambda,\tau)}{\partial \tau}\mathrm{d}\tau
H[x∗(t),u∗(t),λ(t),t]=H[x∗(tf),u∗(tf),λ(tf),tf]−∫ttf∂τ∂H(x,u,λ,τ)dτ
3.1.4 复合型性能指标问题的推广
(1)时变系统、复合型性能指标、末端自由、控制受约束
【定理6】对于如下时变系统、复合型性能指标、末端自由、控制受约束的最优控制问题:
min
u
(
t
)
∈
Ω
J
(
x
)
=
φ
[
x
(
t
f
)
,
t
f
]
+
∫
t
0
t
f
L
(
x
,
u
,
t
)
d
t
s
.
t
.
①
x
˙
(
t
)
=
f
(
x
,
u
)
,
x
(
t
0
)
=
x
0
,
t
∈
[
t
0
,
t
f
]
,
t
f
自
由
(6)
\min_{u(t) \in \Omega} J(x)=\varphi \big[ x(t_f),t_f \big ]+\int_{t_0}^{t_f}L(x,u,t)\mathrm{d}t \\ \mathrm{s. t. }\quad ①\quad\dot x(t)=f(x,u),\quad x(t_0)=x_0, \quad t \in \big[ t_0,t_f \big],\quad t_f自由\\ \tag{6}
u(t)∈ΩminJ(x)=φ[x(tf),tf]+∫t0tfL(x,u,t)dts.t.①x˙(t)=f(x,u),x(t0)=x0,t∈[t0,tf],tf自由(6)
①
x
(
t
)
x(t)
x(t) 和
λ
(
t
)
\lambda (t)
λ(t) 满足下列正则方程
x
˙
(
t
)
=
∂
H
∂
λ
λ
˙
(
t
)
=
−
∂
H
∂
x
\dot x(t)=\frac{\partial H}{\partial \lambda} \\ \dot \lambda(t)=- \frac{\partial H}{\partial x}
x˙(t)=∂λ∂Hλ˙(t)=−∂x∂H
式中
H
(
x
,
u
,
λ
,
t
)
=
L
(
x
,
u
,
t
)
+
λ
T
f
(
x
,
u
,
t
)
H(x,u,\lambda,t)=L(x,u,t)+\lambda^{\mathrm{T}}f(x,u,t)
H(x,u,λ,t)=L(x,u,t)+λTf(x,u,t)
② 边界条件
x
(
t
0
)
=
x
0
λ
(
t
f
)
=
∂
φ
[
x
(
t
f
)
,
t
f
]
∂
x
(
t
f
)
x(t_0) = x_0 \\ \lambda(t_f)=\frac{\partial \varphi[x(t_f),t_f]}{\partial x(t_f)}
x(t0)=x0λ(tf)=∂x(tf)∂φ[x(tf),tf]
③ 极值条件(即Hamilton函数相对最优控制为极小值)
H
[
x
∗
(
t
)
,
u
∗
(
t
)
,
λ
(
t
)
,
t
]
=
min
u
(
t
)
∈
Ω
H
[
x
∗
(
t
)
,
u
∗
(
t
)
,
λ
(
t
)
,
t
]
H[x^*(t),u^*(t),\lambda(t),t]=\min_{u(t) \in \Omega} H[x^*(t),u^*(t),\lambda(t),t]
H[x∗(t),u∗(t),λ(t),t]=u(t)∈ΩminH[x∗(t),u∗(t),λ(t),t]
④ H 变化率
H
[
x
∗
(
t
f
∗
)
,
u
∗
(
t
f
∗
)
,
λ
(
t
f
∗
)
,
t
f
∗
]
=
−
∂
φ
[
x
∗
(
s
f
∗
)
,
t
f
∗
]
∂
t
f
H[x^*(t_f^*),u^*(t_f^*),\lambda(t_f^*),t_f^*]=-\frac{\partial \varphi[x^*(s_f^*),t_f^*]}{\partial t_f}
H[x∗(tf∗),u∗(tf∗),λ(tf∗),tf∗]=−∂tf∂φ[x∗(sf∗),tf∗]
3.1.5 定常系统和时变系统极小值原理
表1 定常系统极小值原理
表2 时变系统极小值原理
例题
【例题3】设宇宙飞船登月舱的质量为
m
(
t
)
m(t)
m(t),高度为
h
(
t
)
h(t)
h(t),垂直速度为
v
(
t
)
v(t)
v(t),发动机推力为
u
(
t
)
u(t)
u(t),月球表面的重力加速度为常数
g
g
g,不带燃料的登月舱质量为
M
M
M,初始燃料的总质量为
F
F
F。已知登月舱的状态方程为
h
˙
(
t
)
=
v
(
t
)
,
h
(
0
)
=
h
0
v
˙
(
t
)
=
−
g
+
1
m
(
t
)
u
(
t
)
,
v
(
0
)
=
v
0
m
˙
(
t
)
=
−
k
u
(
t
)
,
m
(
0
)
=
M
+
F
\dot h(t)=v(t),\quad h(0)=h_0 \\ \dot v(t)=-g+\frac{1}{m(t)}u(t),\quad v(0)=v_0 \\ \dot m(t)=-ku(t),\quad m(0)=M+F
h˙(t)=v(t),h(0)=h0v˙(t)=−g+m(t)1u(t),v(0)=v0m˙(t)=−ku(t),m(0)=M+F
要求登月舱在月球表面实现软着陆,即末端约束为
ψ
1
=
h
(
t
f
)
=
0
ψ
2
=
v
(
t
f
)
=
0
\psi_1=h(t_f)=0\\ \psi_2=v(t_f)=0
ψ1=h(tf)=0ψ2=v(tf)=0
发动机推力
u
(
t
)
u(t)
u(t) 的约束为
u
(
t
)
∈
Ω
,
Ω
=
{
u
(
t
)
∣
0
≤
t
≤
a
}
,
∀
t
∈
[
0
,
t
f
]
u(t) \in \Omega,\quad \Omega=\{u(t)|0 \le t \le a \},\quad \forall t \in[0,t_f]
u(t)∈Ω,Ω={u(t)∣0≤t≤a},∀t∈[0,tf]
试确定最优控制
u
∗
(
t
)
u^*(t)
u∗(t),使登月舱从已知初态转移到要求的目标集,并使登月舱燃料消耗
J
=
−
m
(
t
)
J=-m(t)
J=−m(t)
为最小值。
【解】本例为时变系统、末值型性能指标、 t f t_f tf 自由和末端约束的最优控制问题。
① 构造Hamilton函数
H
=
λ
h
(
t
)
v
(
t
)
+
λ
v
(
t
)
[
−
g
+
1
m
(
t
)
u
(
t
)
]
−
λ
m
(
t
)
k
u
(
t
)
H=\lambda_h(t)v(t)+\lambda_v(t)[-g+\frac{1}{m(t)}u(t)]-\lambda_m(t)ku(t)
H=λh(t)v(t)+λv(t)[−g+m(t)1u(t)]−λm(t)ku(t)
协态方程为
{
λ
˙
h
(
t
)
=
−
∂
H
∂
h
(
t
)
=
0
λ
˙
v
(
t
)
=
−
∂
H
∂
v
(
t
)
=
−
λ
h
(
t
)
λ
˙
m
(
t
)
=
−
∂
H
∂
m
(
t
)
=
1
m
2
(
t
)
λ
v
(
t
)
u
(
t
)
\left\{\begin{matrix} \dot \lambda_h(t)=-\frac{\partial H}{\partial h(t)}=0 \\ \dot \lambda_v(t)=-\frac{\partial H}{\partial v(t)}=-\lambda_h(t) \\ \dot \lambda_m(t)=-\frac{\partial H}{\partial m(t)}=\frac{1}{m^2(t)\lambda_v(t)}u(t) \\ \end{matrix}\right.
⎩⎪⎨⎪⎧λ˙h(t)=−∂h(t)∂H=0λ˙v(t)=−∂v(t)∂H=−λh(t)λ˙m(t)=−∂m(t)∂H=m2(t)λv(t)1u(t)
② 边界条件
可知
φ
=
−
m
(
t
f
)
\varphi =-m(t_f)
φ=−m(tf)
由公式
{
λ
h
(
t
f
)
=
∂
φ
∂
h
(
t
f
)
+
∂
ψ
1
∂
h
(
t
f
)
γ
1
=
γ
1
λ
v
(
t
f
)
=
∂
φ
∂
v
(
t
f
)
+
∂
ψ
2
∂
v
(
t
f
)
γ
2
=
γ
2
λ
m
(
t
f
)
=
∂
φ
∂
m
(
t
f
)
=
0
\left\{\begin{matrix} \lambda_h(t_f)=\frac{\partial \varphi}{\partial h(t_f)}+\frac{\partial \psi_1}{\partial h(t_f)}\gamma_1=\gamma_1 \\ \lambda_v(t_f)=\frac{\partial \varphi}{\partial v(t_f)}+\frac{\partial \psi_2}{\partial v(t_f)}\gamma_2=\gamma_2 \\ \lambda_m(t_f)=\frac{\partial \varphi}{\partial m(t_f)}=0 \\ \end{matrix}\right.
⎩⎪⎨⎪⎧λh(tf)=∂h(tf)∂φ+∂h(tf)∂ψ1γ1=γ1λv(tf)=∂v(tf)∂φ+∂v(tf)∂ψ2γ2=γ2λm(tf)=∂m(tf)∂φ=0
式中,
γ
1
\gamma_1
γ1 和
γ
2
\gamma_2
γ2 是待定的拉格朗日乘子。
③ 极值条件
把Hamilton函数整理为
H
=
λ
h
v
(
t
)
−
g
λ
v
+
(
λ
v
m
(
t
)
−
k
λ
m
)
u
H=\lambda_hv(t)-g\lambda_v+\bigg(\frac{\lambda_v}{m(t)}-k\lambda_m\bigg)u
H=λhv(t)−gλv+(m(t)λv−kλm)u
④ 求得结果
由极值条件,
H
H
H 相对
u
∗
(
t
)
u^*(t)
u∗(t) 去绝对极小值。得到最优控制
u
∗
(
t
)
u^*(t)
u∗(t) 为
u
∗
(
t
)
=
{
α
,
当
λ
v
m
(
t
)
−
k
λ
m
<
0
0
,
当
λ
v
m
(
t
)
−
k
λ
m
>
0
u^*(t)=\left\{\begin{matrix} \alpha,\quad 当\frac{\lambda_v}{m(t)}-k\lambda_m<0 \\ 0,\quad 当\frac{\lambda_v}{m(t)}-k\lambda_m>0 \end{matrix}\right.
u∗(t)={α,当m(t)λv−kλm<00,当m(t)λv−kλm>0
上式结果表明,只有当发动机推力在其最大值和零值之间进行开关控制,才有可能在实现软着陆的同时,实现登月舱的燃料消耗最少。
3.2 离散系统的极小值原理
随着数字计算机日益普及,计算机控制系统日益增多。因此,离散系统最优控制的研究显得十分重要,原因有二:(1)许多实际问题本身就是离散的;(2)实际系统本身是连续的,但为了对连续过程实行计算机控制,需要把时间整量化,从而得到一个离散化系统,使得连续最优控制中难以求解的两点边界值问题,可以化为易于用计算机求解的离散化两点边值问题。
3.2.1 离散系统的欧拉方程
设描述离散系统的状态差分方程为
x
(
k
+
1
)
=
f
[
x
(
k
)
,
u
(
k
)
,
k
]
,
k
=
0
,
1
,
…
,
N
−
1
x(k+1)=f\big[x(k),u(k),k \big],\quad k=0,1,\dots,N-1
x(k+1)=f[x(k),u(k),k],k=0,1,…,N−1
式中,
x
(
k
)
x(k)
x(k) 是离散时刻
t
k
t_k
tk 的
n
n
n 维状态向量;
u
(
k
)
u(k)
u(k) 是
t
k
t_k
tk 的
n
n
n 维控制向量;
f
(
⋅
)
f(\cdot)
f(⋅) 是
n
n
n 维向量函数序列。对于等间隔采样,
k
=
k
T
k=kT
k=kT ,
T
T
T 为采样周期;
N
N
N 为数据窗口长度。
离散最优控制问题中,性能指标取为如下标量函数的累加:
∑
k
=
0
N
−
1
L
[
x
(
k
)
,
u
(
k
)
,
x
(
k
+
1
)
,
k
]
=
∑
k
=
0
N
−
1
L
k
\sum_{k=0}^{N-1} L\big[x(k),u(k),x(k+1),k \big]=\sum_{k=0}^{N-1}L_k
k=0∑N−1L[x(k),u(k),x(k+1),k]=k=0∑N−1Lk
式中
L
[
x
(
k
)
,
u
(
k
)
,
x
(
k
+
1
)
,
k
]
L\big[x(k),u(k),x(k+1),k \big]
L[x(k),u(k),x(k+1),k] 是第
k
k
k 个采样周期内性能指标
J
J
J 的增量。
那么, 离散泛函极值的必要条件如下。
离散欧拉方程(也称向量差分方程)为
{
∂
L
k
∂
x
(
k
)
+
∂
L
k
−
1
∂
x
(
k
)
=
0
∂
L
k
∂
u
(
k
)
=
0
\left\{\begin{matrix} \frac{\partial L_k}{\partial x(k)}+\frac{\partial L_{k-1}}{\partial x(k)}=0 \\ \frac{\partial L_k}{\partial u(k)}=0 \end{matrix}\right.
{∂x(k)∂Lk+∂x(k)∂Lk−1=0∂u(k)∂Lk=0
以及,离散横截条件为
[
∂
L
k
∂
x
(
k
)
]
k
=
N
T
δ
x
(
N
)
−
[
∂
L
k
−
1
∂
x
(
k
)
]
T
δ
x
(
0
)
=
0
\bigg[\frac{\partial L_k}{\partial x(k)} \bigg]_{k=N}^\mathrm{T} \delta x(N)-\bigg[\frac{\partial L_{k-1}}{\partial x(k)} \bigg]^\mathrm{T} \delta x(0)=0
[∂x(k)∂Lk]k=NTδx(N)−[∂x(k)∂Lk−1]Tδx(0)=0
若始端固定,即
x
(
0
)
=
x
0
x(0)=x_0
x(0)=x0 ,末端自由,即
δ
x
(
n
)
\delta x(n)
δx(n) 任意,则边界条件为
x
(
0
)
=
x
0
,
∂
L
[
x
(
N
−
1
)
,
u
(
N
−
1
)
,
x
(
N
)
,
N
−
1
]
∂
x
(
N
)
=
0
x(0)=x_0,\quad \frac{\partial L[x(N-1),u(N-1),x(N),N-1]}{\partial x(N)}=0
x(0)=x0,∂x(N)∂L[x(N−1),u(N−1),x(N),N−1]=0
例题
【例题4】设一阶离散系统及其边界条件为
x
(
k
+
1
)
=
x
(
k
)
+
u
(
k
)
x
(
0
)
=
1
,
x
(
5
)
=
0
x(k+1)=x(k)+u(k) \\ x(0)=1,\quad x(5)=0
x(k+1)=x(k)+u(k)x(0)=1,x(5)=0
性能指标为
J
=
1
2
∑
k
=
0
4
u
2
(
k
)
J=\frac{1}{2}\sum_{k=0}^{4}u^2(k)
J=21k=0∑4u2(k)
试求使性能指标为极小的最优控制序列
u
∗
(
k
)
u^*(k)
u∗(k) 和相应的最优状态序列
x
∗
(
k
)
x^*(k)
x∗(k)
【解】使用离散欧拉法解题。
① 构造广义离散泛函 J a J_a Ja 和 L k L_k Lk、 L k + 1 L_{k+1} Lk+1
应用拉格朗日乘子函数
λ
(
k
)
\lambda (k)
λ(k) ,构造广义离散泛函
J
a
=
∑
k
=
1
4
{
1
2
u
2
(
k
)
+
λ
(
k
+
1
)
[
−
x
(
k
+
1
)
+
x
(
k
)
+
u
(
k
)
]
}
J_a=\sum_{k=1}^{4}\bigg\{\frac{1}{2}u^2(k)+\lambda(k+1)\big[-x(k+1)+x(k)+u(k)\big] \bigg\}
Ja=k=1∑4{21u2(k)+λ(k+1)[−x(k+1)+x(k)+u(k)]}
和
L
k
=
1
2
u
2
(
k
)
+
λ
(
k
+
1
)
[
−
x
(
k
+
1
)
+
x
(
k
)
+
u
(
k
)
]
L
k
−
1
=
1
2
u
2
(
k
−
1
)
+
λ
(
k
)
[
−
x
(
k
)
+
x
(
k
−
1
)
+
u
(
k
−
1
)
]
L_k=\frac{1}{2}u^2(k)+\lambda(k+1)\big[-x(k+1)+x(k)+u(k)\big]\\ L_{k-1}=\frac{1}{2}u^2(k-1)+\lambda(k)\big[-x(k)+x(k-1)+u(k-1)\big]
Lk=21u2(k)+λ(k+1)[−x(k+1)+x(k)+u(k)]Lk−1=21u2(k−1)+λ(k)[−x(k)+x(k−1)+u(k−1)]
② 离散泛函极值的必要条件
离散欧拉方程为
∂
L
k
∂
x
(
k
)
=
λ
(
k
+
1
)
,
∂
L
k
−
1
∂
x
(
k
)
=
−
λ
(
k
)
∂
L
k
∂
u
(
k
)
=
u
(
k
)
+
λ
(
k
+
1
)
\frac{\partial L_k}{\partial x(k)}=\lambda(k+1),\quad \frac{\partial L_{k-1}}{\partial x(k)}=-\lambda(k) \\ \frac{\partial L_k}{\partial u(k)}=u(k)+\lambda(k+1)
∂x(k)∂Lk=λ(k+1),∂x(k)∂Lk−1=−λ(k)∂u(k)∂Lk=u(k)+λ(k+1)
③ 解出结果
由上式可得,
λ
(
k
+
1
)
=
λ
(
k
)
=
c
u
(
k
)
=
−
λ
(
k
+
1
)
=
−
c
\lambda(k+1)=\lambda(k)=c \\ u(k)=-\lambda(k+1)=-c
λ(k+1)=λ(k)=cu(k)=−λ(k+1)=−c
那么求得
x
(
k
+
1
)
x(k+1)
x(k+1) 为
x
(
k
+
1
)
=
x
(
k
)
+
u
(
k
)
=
x
(
k
)
−
c
x(k+1)=x(k)+u(k)=x(k)-c
x(k+1)=x(k)+u(k)=x(k)−c
用迭代法求上述差分方程,有
x
(
1
)
=
x
(
0
)
−
c
x
(
2
)
=
x
(
1
)
−
c
=
x
(
0
)
−
2
c
⋮
x
(
k
)
=
x
(
0
)
−
k
c
x(1)=x(0)-c \\ x(2)=x(1)-c=x(0)-2c\\ \vdots \\ x(k)=x(0)-kc
x(1)=x(0)−cx(2)=x(1)−c=x(0)−2c⋮x(k)=x(0)−kc
代入边界条件:
x
(
0
)
=
1
x(0)=1
x(0)=1,
x
(
5
)
=
0
x(5)=0
x(5)=0,解得
c
=
0.2
c=0.2
c=0.2
因此,该离散系统的最优控制为
u
∗
(
k
)
=
−
0.2
,
k
=
0
,
1
,
2
,
3
,
4
u^*(k)=-0.2,\quad k=0,1,2,3,4
u∗(k)=−0.2,k=0,1,2,3,4
最优轨线为
x
∗
(
k
)
=
1
−
0.2
k
,
k
=
0
,
1
,
2
,
3
,
4
x^*(k)=1-0.2k,\quad k=0,1,2,3,4
x∗(k)=1−0.2k,k=0,1,2,3,4
3.2.2 离散系统的极小值原理
离散极小值原理可叙述如下。
【定理7】设离散系统状态方程为
x
(
k
+
1
)
=
f
[
x
(
k
)
,
u
(
k
)
,
k
]
,
x
(
0
)
=
x
0
k
=
0
,
1
,
2
,
…
,
N
−
1
x(k+1)=f\big[x(k),u(k),k \big],\quad x(0)=x_0 \\ k=0,1,2,\dots,N-1
x(k+1)=f[x(k),u(k),k],x(0)=x0k=0,1,2,…,N−1
性能指标为
J
=
φ
[
x
(
N
)
,
N
]
+
∑
k
=
0
N
−
1
L
[
x
(
k
)
,
u
(
k
)
,
k
]
Ψ
[
x
(
N
)
,
N
]
=
0
(
末
端
受
约
束
情
况
由
此
项
、
末
端
自
由
和
末
端
固
定
没
有
)
J=\varphi \big[x(N),N \big]+\sum_{k=0}^{N-1}L\big[x(k),u(k),k \big] \\ \Psi \big[x(N),N \big]=0 \quad(末端受约束情况由此项、末端自由和末端固定没有)
J=φ[x(N),N]+k=0∑N−1L[x(k),u(k),k]Ψ[x(N),N]=0(末端受约束情况由此项、末端自由和末端固定没有)
①
x
(
t
)
x(t)
x(t) 和
λ
(
t
)
\lambda (t)
λ(t) 满足下列差分方程
x
(
k
+
1
)
=
∂
H
(
k
)
∂
λ
(
k
+
1
)
λ
(
k
)
=
∂
H
(
k
)
∂
λ
(
k
)
x(k+1)=\frac{\partial H(k)}{\partial \lambda(k+1)} \\ \lambda(k)=\frac{\partial H(k)}{\partial \lambda(k)}
x(k+1)=∂λ(k+1)∂H(k)λ(k)=∂λ(k)∂H(k)
式中离散Hamilton函数为
H
(
k
)
=
L
[
x
(
k
)
,
u
(
k
)
,
k
]
+
λ
T
(
k
+
1
)
f
[
x
(
k
)
,
u
(
k
)
,
k
]
H(k)=L[x(k),u(k),k]+\lambda^{\mathrm{T}}(k+1)f[x(k),u(k),k]
H(k)=L[x(k),u(k),k]+λT(k+1)f[x(k),u(k),k]
② 边界条件
当末端受约束时(即
Ψ
[
x
(
N
)
,
N
]
=
0
\Psi \big[x(N),N \big]=0
Ψ[x(N),N]=0),有
x
(
0
)
=
x
0
Ψ
[
x
(
N
)
,
N
]
=
0
λ
(
N
)
=
∂
φ
[
x
(
N
)
,
N
]
∂
x
(
N
)
+
∂
Ψ
T
[
x
(
N
)
,
N
]
∂
x
(
N
)
γ
x(0)=x_0\\ \Psi[x(N),N]=0\\ \lambda(N)=\frac{\partial \varphi[x(N),N]}{\partial x(N)}+\frac{\partial \Psi^{\mathrm{T}}[x(N),N]}{\partial x(N)}\gamma
x(0)=x0Ψ[x(N),N]=0λ(N)=∂x(N)∂φ[x(N),N]+∂x(N)∂ΨT[x(N),N]γ
当末端自由时,有
x
(
0
)
=
x
0
λ
(
N
)
=
∂
φ
[
x
(
N
)
,
N
]
∂
x
(
N
)
x(0)=x_0\\ \lambda(N)=\frac{\partial \varphi[x(N),N]}{\partial x(N)}
x(0)=x0λ(N)=∂x(N)∂φ[x(N),N]
③ 极值条件(即离散Hamilton函数相对最优控制
u
∗
(
k
)
u^*(k)
u∗(k) 为极小值)
H
[
x
∗
(
k
)
,
u
∗
(
k
)
,
λ
(
k
+
1
)
,
k
]
=
min
u
(
k
)
∈
Ω
H
[
x
∗
(
k
)
,
u
(
k
)
,
λ
(
k
+
1
)
,
k
]
H[x^*(k),u^*(k),\lambda(k+1),k]=\min_{u(k) \in \Omega}H[x^*(k),u(k),\lambda(k+1),k]
H[x∗(k),u∗(k),λ(k+1),k]=u(k)∈ΩminH[x∗(k),u(k),λ(k+1),k]
若控制变量不受约束,可得
∂
H
(
k
)
∂
u
(
k
)
=
0
\frac{\partial H(k)}{\partial u(k)}=0
∂u(k)∂H(k)=0
上述离散极小值原理表明,离散系统最优化问题归结为求解一个离散两点边值问题。而对离散极小值原理的理解,与连续极小值原理一样,使离散性能泛函为极小与使离散Hamilton函数为极小是等价的。
例题
【例题5】已知离散系统
x
(
k
+
1
)
=
x
(
k
)
+
u
(
k
)
,
x
(
0
)
=
x
0
x(k+1)=x(k)+u(k),\quad x(0)=x_0
x(k+1)=x(k)+u(k),x(0)=x0
性能指标
J
=
∑
k
=
0
2
[
x
2
(
k
)
+
u
2
(
k
)
]
J=\sum_{k=0}^{2}[x^2(k)+u^2(k)]
J=k=0∑2[x2(k)+u2(k)]
求使性能指标达到最小的最优控制序列
u
∗
(
k
)
u^*(k)
u∗(k)。
【解】 本例 N = 0 N=0 N=0 ,末态 x ( 3 ) x(3) x(3) 自由,用第3.2.2节介绍的定理解题。
① 构造Hamilton函数
H
=
x
2
(
k
)
+
u
2
(
k
)
+
λ
(
k
+
1
)
[
x
(
k
)
+
u
(
k
)
]
H=x^2(k)+u^2(k)+\lambda(k+1)[x(k)+u(k)]
H=x2(k)+u2(k)+λ(k+1)[x(k)+u(k)]
协态方程为
λ
(
k
)
=
∂
H
(
k
)
∂
x
(
k
)
=
2
x
(
k
)
+
λ
(
k
+
1
)
\lambda(k)=\frac{\partial H(k)}{\partial x(k)}=2x(k)+\lambda(k+1)
λ(k)=∂x(k)∂H(k)=2x(k)+λ(k+1)
② 边界条件
x
(
0
)
=
x
0
,
λ
(
N
)
=
∂
φ
[
x
(
N
)
,
N
]
∂
x
(
N
)
=
0
x(0)=x_0,\quad \lambda(N)=\frac{\partial \varphi[x(N),N]}{\partial x(N)}=0
x(0)=x0,λ(N)=∂x(N)∂φ[x(N),N]=0
③ 极值条件
∂
H
∂
u
=
2
u
(
k
)
+
λ
(
k
+
1
)
=
0
\frac{\partial H}{\partial u}=2u(k)+\lambda(k+1)=0
∂u∂H=2u(k)+λ(k+1)=0
由 ① 和 ③ 可知,
{
λ
(
k
+
1
)
=
λ
(
k
)
−
2
x
(
k
)
u
(
k
)
=
−
1
2
λ
(
k
+
1
)
\left\{\begin{matrix} \lambda(k+1)=\lambda(k)-2x(k) \\ u(k)=-\frac{1}{2}\lambda(k+1) \end{matrix}\right.
{λ(k+1)=λ(k)−2x(k)u(k)=−21λ(k+1)
④ 求得结果
由上式得到
{
u
(
0
)
=
−
1
2
λ
(
1
)
u
(
1
)
=
−
1
2
λ
(
2
)
u
(
2
)
=
−
1
2
λ
(
3
)
=
0
\left\{\begin{matrix} u(0)=-\frac{1}{2}\lambda(1)\\ u(1)=-\frac{1}{2}\lambda(2)\\ u(2)=-\frac{1}{2}\lambda(3)=0\\ \end{matrix}\right.
⎩⎨⎧u(0)=−21λ(1)u(1)=−21λ(2)u(2)=−21λ(3)=0
和
{
λ
(
2
)
=
2
x
(
2
)
λ
(
1
)
=
2
[
x
(
1
)
+
x
(
2
)
]
λ
(
0
)
=
2
[
x
(
1
)
+
x
(
2
)
+
x
(
2
)
]
\left\{\begin{matrix} \lambda(2)=2x(2) \\ \lambda(1)=2[x(1)+x(2)] \\ \lambda(0)=2[x(1)+x(2)+x(2)] \end{matrix}\right.
⎩⎨⎧λ(2)=2x(2)λ(1)=2[x(1)+x(2)]λ(0)=2[x(1)+x(2)+x(2)]
由状态方程
x
(
k
+
1
)
=
x
(
k
)
+
u
(
k
)
x(k+1)=x(k)+u(k)
x(k+1)=x(k)+u(k) 得到代入控制量的等式中,得到
{
u
(
0
)
=
−
x
(
1
)
−
x
(
2
)
u
(
1
)
=
−
x
(
2
)
u
(
2
)
=
0
\left\{\begin{matrix} u(0)=-x(1)-x(2)\\ u(1)=-x(2)\\ u(2)=0 \end{matrix}\right.
⎩⎨⎧u(0)=−x(1)−x(2)u(1)=−x(2)u(2)=0
求出
{
x
(
1
)
=
1
2
[
x
(
0
)
−
x
(
2
)
]
x
(
2
)
=
1
2
x
(
1
)
x
(
3
)
=
x
(
2
)
\left\{\begin{matrix} x(1)=\frac{1}{2}[x(0)-x(2)] \\ x(2)=\frac{1}{2}x(1) \\ x(3)=x(2) \end{matrix}\right.
⎩⎨⎧x(1)=21[x(0)−x(2)]x(2)=21x(1)x(3)=x(2)
根据初始条件
x
(
0
)
=
x
0
x(0)=x_0
x(0)=x0,求得最优轨线为
{
x
∗
(
1
)
=
2
5
x
0
x
∗
(
2
)
=
1
5
x
0
x
∗
(
3
)
=
1
5
x
0
\left\{\begin{matrix} x^*(1)=\frac{2}{5}x_0 \\ x^*(2)=\frac{1}{5}x_0 \\ x^*(3)=\frac{1}{5}x_0 \end{matrix}\right.
⎩⎨⎧x∗(1)=52x0x∗(2)=51x0x∗(3)=51x0
最优控制为
{
u
∗
(
0
)
=
−
3
5
x
0
u
∗
(
1
)
=
−
1
5
x
0
u
∗
(
2
)
=
0
\left\{\begin{matrix} u^*(0)=-\frac{3}{5}x_0 \\ u^*(1)=-\frac{1}{5}x_0 \\ u^*(2)=0 \end{matrix}\right.
⎩⎨⎧u∗(0)=−53x0u∗(1)=−51x0u∗(2)=0
就这么多,今天学习了连续系统和离散系统的极小值原理,对于应用来说已经足够了。至于后面的时间最优控制和燃料最优控制,等需要使用的时候再学习吧。掌握了最优控制的思想即可。