最优控制中极小值原理及其应用

在实际物理系统中,控制向量总是受到一定的限制,容许控制值能在一定的控制域内取值,可以预料,用古典变分法难以处理上述问题。

注:本文总结自胡寿松教授的专著《最优控制理论与系统》第三章 极小值原理及其应用。文章中举的例题均用自己的方法写了一遍,没有依照书上的解法写。

全文的公式使用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)=xH
式中
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)=xH
式中
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)=λ1H=x1(t)+u(t)x˙2(t)=λ2H=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)=e1t1
③ 极值条件(即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,λ101,λ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=e1C2=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)=1e1t{λ1>0,0t<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,0t<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.5u(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)=xH=[1+λ(t)]
求出协态方程的表达式为
λ ( t ) = C e − t − 1 \lambda(t)=Ce^{-t}-1 λ(t)=Cet1
② 边界条件

可知
φ = 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)=Ce11=0C=e
得到
λ ( t ) = e 1 − t − 1 \lambda(t)=e^{1-t}-1 λ(t)=e1t1
③ 极值条件

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)=e1t1=1t=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,0t<0.3071,0.307t1
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,0t<0.307x(t)0.5,0.307t1
解得
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,0t<0.307c2et+0.5,0.307t1
因为初始条件 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=5c1=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.44c2=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,0t<0.3074.37et+0.5,0.307t1
最优性能为
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)=xH
式中
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)=xH
式中
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)=xH
式中
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]γTtfΨ[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,ut)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)=xH
式中
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)0ta},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)λvkλ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)λvkλm<00,m(t)λvkλ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,,N1
式中, 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=0N1L[x(k),u(k),x(k+1),k]=k=0N1Lk
式中 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)Lk1=0u(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)Lk1]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(N1),u(N1),x(N),N1]=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=04u2(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=14{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)]Lk1=21u2(k1)+λ(k)[x(k)+x(k1)+u(k1)]
② 离散泛函极值的必要条件

离散欧拉方程为
∂ 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)Lk1=λ(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)2cx(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)=10.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,,N1
性能指标为
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=0N1L[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=02[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 uH=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

就这么多,今天学习了连续系统和离散系统的极小值原理,对于应用来说已经足够了。至于后面的时间最优控制和燃料最优控制,等需要使用的时候再学习吧。掌握了最优控制的思想即可。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值