最优控制中的变分法

第2章 最优控制中的变分法

最优控制问题是在一定的约束条件下,寻求使性能达到极值时的控制函数。

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

全文的公式使用LaTex公式编辑器编辑而成

2.1 欧拉方程

2.1.1 无约束泛函极值的必要条件

无约束泛函极值问题为
min ⁡ x J ( x ) = ∫ t 0 t f L ( x , x ˙ , t ) d t (1) \min_xJ(x)=\int_{t_0}^{t_f} L(x,\dot{x},t)\mathrm{d}t \tag{1} xminJ(x)=t0tfL(x,x˙,t)dt(1)
【定理】 对于式 ( 1 ) (1) (1),使其取极值的必要条件,是轨线*x(t)*满足下列欧拉方程
∂ L ∂ x − d d t ∂ L ∂ x ˙ = 0 \frac{\partial L}{\partial x}-\frac{\mathrm{d}}{\mathrm{d}t} \frac{\partial L}{\partial \dot{x}}=0 xLdtdx˙L=0

2.1.2 有约束泛函极值的必要条件

有等式约束的泛函极值问题为
min ⁡ x J ( x ) = ∫ t 0 t f L ( x , x ˙ , t ) d t s . t . f ( x , x ˙ , t ) = 0 (2) \begin{matrix} \min_xJ(x)=\int_{t_0}^{t_f} L(x,\dot{x},t)\mathrm{d}t\\ \mathrm{s. t. }\quad f(x,\dot{x},t )=0 \end{matrix} \tag{2} minxJ(x)=t0tfL(x,x˙,t)dts.t.f(x,x˙,t)=0(2)
【定理】 对于式 ( 2 ) (2) (2),使其取极值的必要条件,是轨线 x(t) 满足下列欧拉方程
∂ L ∂ x − d d t ∂ L ∂ x ˙ = 0 \frac{\partial L}{\partial x}-\frac{\mathrm{d}}{\mathrm{d}t} \frac{\partial L}{\partial \dot{x}}=0 xLdtdx˙L=0
式中
L ( x , x ˙ , λ , t ) = g ( x , x ˙ , λ ) + λ T ( t ) f ( x , x ˙ , λ ) L(x,\dot{x},\lambda,t)=g(x,\dot{x},\lambda)+\lambda^\mathrm{T}(t)f(x,\dot{x},\lambda) L(x,x˙,λ,t)=g(x,x˙,λ)+λT(t)f(x,x˙,λ)
λ ∈ R n \lambda \in R^n λRn 为待定拉格朗日乘子向量。

2.1.3 无约束泛函极值的充分条件

使式 ( 1 ) (1) (1) 成立的充分条件是:除了欧拉方程应成立之外,下列等价勒让德条件之一应成立:
[ ∂ 2 L ∂ x 2 ∂ 2 L ∂ x ∂ x ˙ ( ∂ 2 L ∂ x ∂ x ˙ ) T ∂ 2 L ∂ x ˙ 2 ] (3) \begin{bmatrix} \frac{\partial^2 L}{\partial x^2} & \frac{\partial^2 L}{\partial x \partial \dot{x} } \\ (\frac{\partial^2 L}{\partial x \partial \dot{x} })^\mathrm{T} & \frac{\partial^2 L}{\partial \dot{x}^2} \end{bmatrix} \tag{3} [x22L(xx˙2L)Txx˙2Lx˙22L](3)

∂ 2 L ∂ x 2 − d d t ∂ 2 L ∂ x ∂ x ˙ ≥ 0 , ∂ 2 L ∂ x ˙ 2 > 0 (4) \frac{\partial^2 L}{\partial x^2}- \frac{\mathrm{d}}{\mathrm{d}t} \frac{\partial^2 L}{\partial x \partial \dot{x} }\geq 0, \quad \frac{\partial^2 L}{\partial \dot{x}^2}>0 \tag{4} x22Ldtdxx˙2L0,x˙22L>0(4)

∂ 2 L ∂ x 2 − d d t ∂ 2 L ∂ x ∂ x ˙ > 0 , ∂ 2 L ∂ x ˙ 2 ≥ 0 (5) \frac{\partial^2 L}{\partial x^2}- \frac{\mathrm{d}}{\mathrm{d}t} \frac{\partial^2 L}{\partial x \partial \dot{x} } > 0, \quad \frac{\partial^2 L}{\partial \dot{x}^2} \geq 0 \tag{5} x22Ldtdxx˙2L>0,x˙22L0(5)

2.1.4 有约束泛函极值的充分条件

使式 ( 2 ) (2) (2) 成立的充分条件是:除了欧拉方程应成立和约束条件满足之外,下列等价勒让德条件之一应成立:
[ ∂ 2 L ∂ x 2 ∂ 2 L ∂ x ∂ x ˙ ( ∂ 2 L ∂ x ∂ x ˙ ) T ∂ 2 L ∂ x ˙ 2 ] (6) \begin{bmatrix} \frac{\partial^2 L}{\partial x^2} & \frac{\partial^2 L}{\partial x \partial \dot{x} } \\ (\frac{\partial^2 L}{\partial x \partial \dot{x} })^\mathrm{T} & \frac{\partial^2 L}{\partial \dot{x}^2} \end{bmatrix} \tag{6} [x22L(xx˙2L)Txx˙2Lx˙22L](6)

∂ 2 L ∂ x 2 − d d t ∂ 2 L ∂ x ∂ x ˙ ≥ 0 , ∂ 2 L ∂ x ˙ 2 > 0 (7) \frac{\partial^2 L}{\partial x^2}- \frac{\mathrm{d}}{\mathrm{d}t} \frac{\partial^2 L}{\partial x \partial \dot{x} }\geq 0, \quad \frac{\partial^2 L}{\partial \dot{x}^2}>0 \tag{7} x22Ldtdxx˙2L0,x˙22L>0(7)

∂ 2 L ∂ x 2 − d d t ∂ 2 L ∂ x ∂ x ˙ > 0 , ∂ 2 L ∂ x ˙ 2 ≥ 0 (8) \frac{\partial^2 L}{\partial x^2}- \frac{\mathrm{d}}{\mathrm{d}t} \frac{\partial^2 L}{\partial x \partial \dot{x} } > 0, \quad \frac{\partial^2 L}{\partial \dot{x}^2} \geq 0 \tag{8} x22Ldtdxx˙2L>0,x˙22L0(8)

式中
L ( x , x ˙ , λ , t ) = g ( x , x ˙ , λ ) + λ T ( t ) f ( x , x ˙ , λ ) L(x,\dot{x},\lambda,t)=g(x,\dot{x},\lambda)+\lambda^\mathrm{T}(t)f(x,\dot{x},\lambda) L(x,x˙,λ,t)=g(x,x˙,λ)+λT(t)f(x,x˙,λ)
λ ∈ R n \lambda \in R^n λRn 为待定拉格朗日乘子向量。

2.2 横截条件

求解欧拉方程,需要由横截条件提供两点边界值1

在实际工程中,会出现很多种情况:

  • 初始时刻 t 0 t_0 t0 和末端时刻 t f t_f tf 自由;
  • 初始时刻 t 0 t_0 t0 和末端时刻 t f t_f tf 固定;
  • 初始时刻 t 0 t_0 t0 固定、末端时刻 t f t_f tf 自由;
  • 初始时刻 t 0 t_0 t0 自由、末端时刻 t f t_f tf 固定。

2.2.1 末端时刻固定时的横截条件

当末端时刻固定时,由泛函极值的必要条件可知,横截条件的一般表达式为
( ∂ L ∂ x ˙ ) T δ x ∣ t 0 t f = ( ∂ L ∂ x ˙ ) T ∣ t = t f δ x ( t f ) − ( ∂ L ∂ x ˙ ) T ∣ t = t 0 δ x ( t 0 ) = 0 (9) (\frac{\partial L}{\partial \dot{x}})^\mathrm{T}\delta x\bigg |^{t_f}_{t_0} =(\frac{\partial L}{\partial \dot{x}})^\mathrm{T}\bigg |_{t=t_f}\delta x(t_f) -(\frac{\partial L}{\partial \dot{x}})^\mathrm{T}\bigg |_{t=t_0}\delta x(t_0) =0 \tag{9} (x˙L)Tδxt0tf=(x˙L)Tt=tfδx(tf)(x˙L)Tt=t0δx(t0)=0(9)
只要不是两端固定问题,宗量变分 δ x ( t f ) \delta x(t_f) δx(tf) δ x ( t 0 ) \delta x(t_0) δx(t0) 不能同时为零,使泛函一次变分 δ J = 0 \delta J=0 δJ=0 缺少条件,就应当由极值的基本必要条件来补足:或是 ( ∂ L ∂ x ˙ ) T ∣ t f = 0 (\frac{\partial L}{\partial \dot{x}})^\mathrm{T}\bigg |_{t_f}=0 (x˙L)Ttf=0,或是 ( ∂ L ∂ x ˙ ) T ∣ t 0 = 0 (\frac{\partial L}{\partial \dot{x}})^\mathrm{T}\bigg |_{t_0}=0 (x˙L)Tt0=0.

如果把初始状态 x ( t 0 ) x(t_0) x(t0) 称为起点,把末端状态 x ( t f ) x(t_f) x(tf) 称为终点,有如下几个性质:

  • 起点固定时, x ( t 0 ) = x 0 , δ x ( t 0 ) = 0 x(t_0)=x_0,\quad \delta x(t_0)=0 x(t0)=x0,δx(t0)=0
  • 起点自由时, x ( t 0 ) ≠ 0 x(t_0) \ne 0 x(t0)=0
  • 终点固定时, x ( t f ) = x f , δ x ( t f ) = 0 x(t_f)=x_f,\quad \delta x(t_f)=0 x(tf)=xf,δx(tf)=0
  • 终点自由时, x ( t f ) ≠ x f x(t_f) \ne x_f x(tf)=xf

则得到末端时刻 t f t_f tf 固定时的各种横截条件表格。

在这里插入图片描述

2.2.2 末端时刻自由时的横截条件

末端时刻自由问题的实质是,末端时间 t f t_f tf 不固定,末端状态或自由、或受约束,属于变动端点问题。

经过一系列运算后,得到末端变动、 t f t_f tf 自由时泛函极值的必要条件
∂ L ∂ x − d d t ∂ L ∂ x ˙ = 0 \frac{\partial L}{\partial x}-\frac{\mathrm{d}}{\mathrm{d}t} \frac{\partial L}{\partial \dot{x}}=0 xLdtdx˙L=0
以及
( ∂ L ∂ x ˙ ) T ∣ t f δ x ( t f ) − ( ∂ L ∂ x ˙ ) T ∣ t 0 δ x ( t 0 ) + L ( x ∗ , x ˙ ∗ , t ) ∣ t f δ t f = 0 (10) (\frac{\partial L}{\partial \dot{x}})^\mathrm{T}\bigg |_{t_f}\delta x(t_f) -(\frac{\partial L}{\partial \dot{x}})^\mathrm{T}\bigg |_{t_0}\delta x(t_0)+L(x^*,\dot{x}^*,t)\bigg |_{t_f}\delta t_f =0 \tag{10} (x˙L)Ttfδx(tf)(x˙L)Tt0δx(t0)+L(x,x˙,t)tfδtf=0(10)
( 10 ) (10) (10) 称为横截条件,除提供求解欧拉方程所需的两点边界值外,还提供了一个确定最优末端时间 t f ∗ t_f^* tf 所需边界条件。

(1)起点固定、末端自由

x ( t 0 ) = x 0 , δ x ( t 0 ) = 0 x(t_0)=x_0,\quad \delta x(t_0)=0 x(t0)=x0,δx(t0)=0

整理得公式为
( L − x ˙ T ( t ) ∂ L ∂ x ˙ ) ∣ t f δ t f + ( ∂ L ∂ x ˙ ) T ∣ t f δ x f = 0 (11) \left(L-\dot{x}^\mathrm{T}(t)\frac{\partial L}{\partial \dot{x}}\right)\bigg |_{t_f}\delta t_f+ \left(\frac{\partial L}{\partial \dot{x}}\right)^\mathrm{T}\bigg |_{t_f}\delta x_f =0 \tag{11} (Lx˙T(t)x˙L)tfδtf+(x˙L)Ttfδxf=0(11)
δ t f \delta t_f δtf δ x f \delta x_f δxf 任意,即 δ t f ≠ 0 \delta t_f \ne 0 δtf=0 δ x f ≠ 0 \delta x_f \ne 0 δxf=0 ,故横截条件为
{ ( L − x ˙ T ( t ) ∂ L ∂ x ˙ ) ∣ t f δ t f = 0 ( ∂ L ∂ x ˙ ) = 0 x ( t 0 ) = x 0 \left\{\begin{matrix} \left(L-\dot{x}^\mathrm{T}(t)\frac{\partial L}{\partial \dot{x}}\right)\bigg |_{t_f}\delta t_f =0\\ \left(\frac{\partial L}{\partial \dot{x}}\right) = 0\\ x(t_0)=x_0 \end{matrix}\right. (Lx˙T(t)x˙L)tfδtf=0(x˙L)=0x(t0)=x0
(2)起点固定、末端受约束

设末端约束方程为
x ( t f ) = c ( t f ) x(t_f)=c(t_f) x(tf)=c(tf)
因为末端受约束,则 δ x f \delta x_f δxf 不能任意。那么横截条件在式 ( 11 ) (11) (11) 的基础上进一步演化为
( L − x ˙ T ( t ) ∂ L ∂ x ˙ ) ∣ t f δ t f + ( ∂ L ∂ x ˙ ) T ∣ t f c ˙ ( t f ) δ t f = [ L + ( c ˙ − x ˙ T ) ] ∣ t f δ t f = 0 \left(L-\dot{x}^\mathrm{T}(t)\frac{\partial L}{\partial \dot{x}}\right)\bigg |_{t_f}\delta t_f+ \left(\frac{\partial L}{\partial \dot{x}}\right)^\mathrm{T}\bigg |_{t_f}\dot{c}(t_f)\delta t_f =\left[L+(\dot{c}-\dot{x}^\mathrm{T})\right]\bigg |_{t_f}\delta t_f=0 (Lx˙T(t)x˙L)tfδtf+(x˙L)Ttfc˙(tf)δtf=[L+(c˙x˙T)]tfδtf=0
δ t f \delta t_f δtf 任意,即 δ t f ≠ 0 \delta t_f \ne 0 δtf=0,故横截条件为
{ [ L + ( c ˙ − x ˙ T ) ] ∣ t f = 0 x ( t f ) = c ( t f ) x ( t 0 ) = x 0 \left\{\begin{matrix} \left[L+(\dot{c}-\dot{x}^\mathrm{T})\right]\bigg |_{t_f} =0\\ x(t_f)=c(t_f)\\ x(t_0)=x_0 \end{matrix}\right. [L+(c˙x˙T)]tf=0x(tf)=c(tf)x(t0)=x0

2.2.3 初始时刻自由时的横截条件

初始时刻自由问题的实质时:末端固定 x ( t f ) = x f x(t_f)=x_f x(tf)=xf,初始时刻 t 0 t_0 t0 不固定,初始状态 x ( t 0 ) x(t_0) x(t0) 或自由、或受约束。例如,空对地导弹的攻击。

如果把初始状态 x ( t 0 ) x(t_0) x(t0) 称为起点,把末端状态 x ( t f ) x(t_f) x(tf) 称为终点,有如下几个性质:

  • 起点固定时, x ( t 0 ) = x 0 , δ x ( t 0 ) = 0 x(t_0)=x_0,\quad \delta x(t_0)=0 x(t0)=x0,δx(t0)=0
  • 起点自由时, x ( t 0 ) ≠ 0 x(t_0) \ne 0 x(t0)=0
  • 终点固定时, x ( t f ) = x f , δ x ( t f ) = 0 x(t_f)=x_f,\quad \delta x(t_f)=0 x(tf)=xf,δx(tf)=0
  • 终点自由时, x ( t f ) ≠ x f x(t_f) \ne x_f x(tf)=xf

则得到末端时刻 t f t_f tf 固定时的各种横截条件表格。

在这里插入图片描述

2.3 用变分法解最优控制问题

对于一般的最优控制问题,应广泛采用拉格朗日乘子法,引入哈密顿函数概念,将泛函条件极值问题转化为无约束泛函极值问题,以获得最优解的必要条件和充分条件。

2.3.1 末端时刻固定时的最优解

当末端时刻 t f t_f tf 固定时,最优控制问题可以归结为如下一般形式:
min ⁡ u ( t ) J = φ [ x ( t f ) ] + ∫ t 0 t f L ( x , u , t ) d t s .   t . f ( x , u , t ) − x ˙ ( t ) = 0 , x ( t 0 ) = x 0 Ψ [ x ( t f ) ] = 0 \min_{u(t)}J=\varphi[x(t_f)]+ \int_{t_0}^{t_f} L(x,u,t)\mathrm{d}t \\ \mathrm{s.\ t.} \quad f(x,u,t)-\dot{x}(t)=0, \quad x(t_0) =x_0 \\ \Psi [x(t_f)]=0 u(t)minJ=φ[x(tf)]+t0tfL(x,u,t)dts. t.f(x,u,t)x˙(t)=0,x(t0)=x0Ψ[x(tf)]=0
假设各向量维数同前。末端状态 x ( t f ) x(t_f) x(tf) 存在如下状态:

  • 末端状态受约束
  • 末端状态自由
  • 末端状态固定

若末端自由,则 Ψ [ x ( t f ) ] = 0 \Psi [x(t_f)]=0 Ψ[x(tf)]=0 不会出现;若末端固定,则因 δ x ( t f ) = 0 \delta x(t_f)=0 δx(tf)=0,那么横截条件 λ ( t f ) = ∂ φ ∂ x ( t f ) + ∂ Ψ T ∂ x ( t f ) γ \lambda(t_f)=\frac{\partial \varphi}{\partial x(t_f)} +\frac{\partial \Psi^\mathrm{T}}{\partial x(t_f)}\gamma λ(tf)=x(tf)φ+x(tf)ΨTγ 将不存在。

下面给出了末端时刻固定时最优解的必要条件

【定理】 对于如下最优控制问题
min ⁡ u ( t ) J = φ [ x ( t f ) ] + ∫ t 0 t f L ( x , u , t ) d t , t f 固 定 s .   t . f ( x , u , t ) − x ˙ ( t ) = 0 , x ( t 0 ) = x 0 Ψ [ x ( t f ) ] = 0 , ( 末 端 受 约 束 情 况 有 此 项 、 末 端 自 由 和 末 端 固 定 没 有 此 项 ) (12) \min_{u(t)}J=\varphi[x(t_f)]+ \int_{t_0}^{t_f} L(x,u,t)\mathrm{d}t,\quad t_f固定 \\ \mathrm{s.\ t.} \quad f(x,u,t)-\dot{x}(t)=0, \quad x(t_0) =x_0 \\ \Psi [x(t_f)]=0,\quad (末端受约束情况有此项、末端自由和末端固定没有此项) \tag{12} u(t)minJ=φ[x(tf)]+t0tfL(x,u,t)dttfs. t.f(x,u,t)x˙(t)=0,x(t0)=x0Ψ[x(tf)]=0(12)
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)
② 边界条件

a)若末端受约束,则有
x ( t 0 ) = x 0 λ ( t f ) = ∂ φ ∂ x ( t f ) + ∂ Ψ T ∂ x ( t f ) γ Ψ [ x ( t f ) ] = 0 x(t_0) = x_0 \\ \lambda(t_f)=\frac{\partial \varphi}{\partial x(t_f)} +\frac{\partial \Psi^\mathrm{T}}{\partial x(t_f)}\gamma \\ \Psi[x(t_f)]=0 x(t0)=x0λ(tf)=x(tf)φ+x(tf)ΨTγΨ[x(tf)]=0
按我理解,上式应写为
x i ( t 0 ) = x i 0 λ i ( t f ) = ∂ φ ∂ x i ( t f ) + ∂ Ψ T ∂ x i ( t f ) γ Ψ [ x ( t f ) ] = 0 x_i(t_0) = x_{i0} \\ \lambda_i(t_f)=\frac{\partial \varphi}{\partial x_i(t_f)} +\frac{\partial \Psi^\mathrm{T}}{\partial x_i(t_f)}\gamma \\ \Psi[x(t_f)]=0 xi(t0)=xi0λi(tf)=xi(tf)φ+xi(tf)ΨTγΨ[x(tf)]=0
式中, i i i 代表第 i i i 个微分方程(或动态系统方程)。

b)若末端自由,则有
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)φ
c)若末端固定,则有
x ( t 0 ) = x 0 x ( t f ) = x f x(t_0) = x_0 \\ x(t_f) = x_f x(t0)=x0x(tf)=xf
③ 极值条件

∂ H ∂ u = 0 \frac{\partial H}{\partial u}=0 uH=0

总结

  • 先找对应的模型,或是末端受约束,或是末端自由,或是末端固定

  • 按照“ ① 求解正则方程 —> ② 边界条件 —> ③ 极值条件”的顺序解题。解到 “③ 极值条件”一般可以求出 u ( t ) u(t) u(t) ,再把 u ( t ) u(t) u(t) 代回求解 λ ( t ) \lambda(t) λ(t) x ( t ) x(t) x(t) ,将末端时刻 t f t_f tf 代入方程中,可求出最优轨线 x ∗ ( t ) x^*(t) x(t) 和最优控制解 u ∗ ( t ) u^*(t) u(t)


例题

(最优控制理论与系统【胡寿松】, 第三版, pp35-36)试求被控系统
{ x ˙ 1 ( t ) = x 2 ( t ) x ˙ 2 ( t ) = u ( t ) \left\{\begin{matrix} \dot x_1(t) = x_2(t)\\ \dot x_2(t) = u(t) \end{matrix}\right. {x˙1(t)=x2(t)x˙2(t)=u(t)
由已知初态 x 1 ( 0 ) = 0 x_1(0)=0 x1(0)=0 x 2 ( 0 ) = 0 x_2(0)=0 x2(0)=0 出发,在 t f = 1 t_f=1 tf=1 时转移到目标集合
x 1 ( 1 ) + x 2 ( 1 ) = 1 x_1(1)+x_2(1)=1 x1(1)+x2(1)=1
且使性能指标
J = 1 2 ∫ 0 1 u 2 ( t ) d t J=\frac{1}{2}\int_{0}^{1}u^2(t)\mathrm{d}t J=2101u2(t)dt
为最小的最优控制 u ∗ ( t ) u^*(t) u(t) 及相应的最优轨迹 x ∗ ( t ) x^*(t) x(t)


【解】 本题是积分型性能指标、 t f t_f tf固定、末端受约束的最优化问题。按照总结中提到的解题步骤来解题。

① 求正则方程 x ( t ) x(t) x(t) λ ( t ) \lambda (t) λ(t)

构建哈密顿函数
H = 1 2 u 2 ( t ) + λ 1 x 2 ( t ) + λ 2 u ( t ) H = \frac{1}{2}u^2(t) + \lambda_1 x_2(t) + \lambda_2 u(t) H=21u2(t)+λ1x2(t)+λ2u(t)
求解正则方程
x ˙ 1 = ∂ H ∂ λ 1 = x 2 ( t ) , x ˙ 2 = ∂ H ∂ λ 2 = u ( t ) λ ˙ 1 = − ∂ H ∂ x 1 = 0 , λ ˙ 2 = − ∂ H ∂ x 2 = − λ 1 ( t ) \dot x_1 = \frac{\partial H}{\partial \lambda_1}=x_2(t), \quad \dot x_2 = \frac{\partial H}{\partial \lambda_2}=u(t) \\ \dot \lambda_1 = -\frac{\partial H}{\partial x_1}=0, \quad \dot \lambda_2 = -\frac{\partial H}{\partial x_2}=-\lambda_1(t) x˙1=λ1H=x2(t),x˙2=λ2H=u(t)λ˙1=x1H=0,λ˙2=x2H=λ1(t)
② 边界条件
x 1 ( 0 ) = 0 , x 2 ( 0 ) = 0 λ 1 ( 1 ) = ∂ φ ∂ x 1 ( 1 ) + ∂ Ψ T ∂ x 1 ( 1 ) γ = γ , λ 2 ( 1 ) = ∂ φ ∂ x 2 ( 1 ) + ∂ Ψ T ∂ x 2 ( 1 ) γ = γ x 1 ( 1 ) + x 2 ( 1 ) = 1 x_1(0)=0,\quad x_2(0)=0 \\ \lambda_1(1)=\frac{\partial \varphi}{\partial x_1(1)} +\frac{\partial \Psi^\mathrm{T}}{\partial x_1(1)}\gamma=\gamma,\quad \lambda_2(1)=\frac{\partial \varphi}{\partial x_2(1)} +\frac{\partial \Psi^\mathrm{T}}{\partial x_2(1)}\gamma=\gamma \\ x_1(1)+x_2(1)=1 x1(0)=0,x2(0)=0λ1(1)=x1(1)φ+x1(1)ΨTγ=γ,λ2(1)=x2(1)φ+x2(1)ΨTγ=γx1(1)+x2(1)=1
③ 极值条件
∂ H ∂ u = u ( t ) + λ ( t ) = 0 ⇒ u ( t ) = − λ ( t ) \frac{\partial H}{\partial u}=u(t)+\lambda(t)=0\Rightarrow u(t)=-\lambda(t) uH=u(t)+λ(t)=0u(t)=λ(t)
又因为
λ ˙ 1 ( t ) = 0 ⇒ λ 1 ( t ) = c 1 λ ˙ 2 ( t ) = − λ 1 ( t ) = − c 1 ⇒ λ 2 ( t ) = − c 1 t + c 1 \dot \lambda_1(t) = 0 \Rightarrow \lambda_1(t) = c_1 \\ \dot \lambda_2(t) = -\lambda_1(t) =-c_1 \Rightarrow \lambda_2(t) = -c_1 t + c_1 λ˙1(t)=0λ1(t)=c1λ˙2(t)=λ1(t)=c1λ2(t)=c1t+c1
得到
u ( t ) = − λ 2 ( t ) = − c 1 t + c 1 u(t) = -\lambda_2(t) = -c_1 t + c_1 u(t)=λ2(t)=c1t+c1
那么
x ˙ 2 ( t ) = u ( t ) = − c 1 t + c 1 ⇒ x 2 ( t ) = 1 2 c 1 t 2 − c 2 t + c 3 x ˙ 1 ( t ) = x 2 ( t ) = 1 2 c 1 t 2 − c 2 t + c 3 ⇒ x 1 ( t ) = 1 6 c 1 t 3 − 1 2 c 2 t 2 + c 3 t + c 4 \dot x_2(t)=u(t)=-c_1 t+c_1 \Rightarrow x_2(t)=\frac{1}{2}c_1t^2-c_2t+c_3 \\ \dot x_1(t)=x_2(t)=\frac{1}{2}c_1t^2-c_2t+c_3\Rightarrow x_1(t)=\frac{1}{6}c_1t^3-\frac{1}{2}c_2t^2+c_3t+c_4 x˙2(t)=u(t)=c1t+c1x2(t)=21c1t2c2t+c3x˙1(t)=x2(t)=21c1t2c2t+c3x1(t)=61c1t321c2t2+c3t+c4
④ 解方程

代入初值 x 1 ( 0 ) = 0 x_1(0)=0 x1(0)=0 x 2 ( 0 ) = 0 x_2(0)=0 x2(0)=0 以及末端状态 x 1 ( 1 ) + x 2 ( 1 ) = 1 x_1(1)+x_2(1)=1 x1(1)+x2(1)=1,得到
{ x 1 ( 0 ) = c 4 = 0 x 2 ( 0 ) = c 3 = 0 x 1 ( 1 ) + x 2 ( 1 ) = 1 6 c 1 − 1 2 c 2 + 1 2 c 1 − c 2 = 2 3 c 1 − 3 2 c 2 = 1 \left\{\begin{matrix} x_1(0)=c_4=0 \\ x_2(0)=c_3=0 \\ x_1(1)+x_2(1)=\frac{1}{6}c_1-\frac{1}{2}c_2+\frac{1}{2}c_1-c_2=\frac{2}{3}c_1-\frac{3}{2}c_2=1 \end{matrix}\right. x1(0)=c4=0x2(0)=c3=0x1(1)+x2(1)=61c121c2+21c1c2=32c123c2=1
又因为
λ 1 ( 1 ) = λ 2 ( 1 ) = γ \lambda_1(1)=\lambda_2(1)=\gamma λ1(1)=λ2(1)=γ
得到
c 1 = − c 1 × 1 + c 2 c_1=-c_1 \times1 + c_2 c1=c1×1+c2
解得
c 1 = 1 2 c 2 c_1=\frac{1}{2}c_2 c1=21c2
代回上式,得到 c 1 c_1 c1 c 2 c_2 c2 c 3 c_3 c3 c 4 c_4 c4的值为
{ c 1 = − 3 7 c 2 = − 6 7 c 3 = 0 c 4 = 0 \left\{\begin{matrix} c_1 = -\frac{3}{7} \\ c_2 = -\frac{6}{7} \\ c_3 = 0 \\ c_4 = 0 \end{matrix}\right. c1=73c2=76c3=0c4=0
⑤ 求解结果

最优轨线
{ x 1 ∗ ( t ) = − 1 14 t 3 + 3 7 t 2 x 2 ∗ ( t ) = − 3 14 t 2 + 6 7 t \left\{\begin{matrix} x_1^*(t)=-\frac{1}{14}t^3+\frac{3}{7}t^2 \\ x_2^*(t)=-\frac{3}{14}t^2+\frac{6}{7}t \end{matrix}\right. {x1(t)=141t3+73t2x2(t)=143t2+76t
最优控制
u ∗ ( t ) = − 3 7 t + 6 7 u^*(t)=-\frac{3}{7}t+\frac{6}{7} u(t)=73t+76

代码为

clear;clc;close all;
syms x1 x2 u
% 系统方程
Dx1 = x2;
Dx2 = u;
% 代价函数
syms g
g = 0.5*u^2;

% Step 1:构造Hamilton函数,求正则方程
syms lambda1 lambda2
H = g + lambda1*Dx1 + lambda1*Dx2;
% 求解正则方程
Dlambda1 = -diff(H,x1);
% Dlambda2 = -diff(H,x2);

% Step 2:边界条件
syms Psi gamma
Psi = x1 + x2 - 1;
lambda1(1) = diff(Psi,'x1')*gamma;
% lambda2(1) = diff(Psi,'x2')*gamma;

% Step 3:极值条件
dU = diff(H,'u');
% sol_u = solve(dU,u);

% Step 4:解方程
syms t c1 c2 c3 c4 gamma
Flambda1 = int(Dlambda1);
if Flambda1 == '0'
    Flambda1 = c1;
end
Int_lambda1 = Flambda1;
Dlambda2 = Int_lambda1;
Flambda2 = -int(Dlambda2,t) + c2;
Int_lambda2 = Flambda2;
sol_u = -Int_lambda2;

Dx2 = subs(Dx2,u,sol_u);
x2 = int(Dx2) + c3;
Dx1 = x2;
% x1 = int(Dx1) + c4;

eq1 = c1 == gamma;
eq2 = -c1 + c2 == gamma;
eq3 = (1/6)*c1 - (1/2)*c2 + (1/2)*c1 - c2 == 1;
s = solve(eq1,eq2,eq3,c1,c2,gamma);

c1 = s.c1;
c2 = s.c2;
c3 = 0;
c4 = 0;
x1 = (c1*t^3)/6 - (c2*t^2)/2 + c3*t + c4
x2 = (c1*t^2)/2 - c2*t + c3
lambda2 = -c1*t + c2;
u = -lambda2

仿真结果为

在这里插入图片描述

下面给出了末端时刻固定时最优解的充分条件

【定理】

对于如下最优控制问题
min ⁡ u ( t ) J = φ [ x ( t f ) ] + ∫ t 0 t f L ( x , u , t ) d t , t f 固 定 s .   t . f ( x , u , t ) − x ˙ ( t ) = 0 , x ( t 0 ) = x 0 Ψ [ x ( t f ) ] = 0 \min_{u(t)}J=\varphi[x(t_f)]+ \int_{t_0}^{t_f} L(x,u,t)\mathrm{d}t,\quad t_f固定 \\ \mathrm{s.\ t.} \quad f(x,u,t)-\dot{x}(t)=0, \quad x(t_0) =x_0 \\ \Psi [x(t_f)]=0 u(t)minJ=φ[x(tf)]+t0tfL(x,u,t)dttfs. t.f(x,u,t)x˙(t)=0,x(t0)=x0Ψ[x(tf)]=0
式中 t f t_f tf 固定。是性能泛函 J J J 取极小值的最优解的充分条件是下列等价勒让德条件之一成立:
[ ∂ 2 H ∂ x 2 ∂ 2 H ∂ u ∂ x ( ∂ 2 H ∂ x ∂ u ) T ∂ 2 H ∂ u 2 ] > 0 , ∂ 2 Θ [ x ( t f ) , γ ] ∂ x 2 ( t f ) ≥ 0 \begin{bmatrix} \frac{\partial^2 H}{\partial x^2} & \frac{\partial^2 H}{\partial u \partial x } \\ (\frac{\partial^2 H}{\partial x \partial u })^\mathrm{T} & \frac{\partial^2 H}{\partial u^2} \end{bmatrix}>0, \quad \frac{\partial^2 \Theta[x(t_f),\gamma]}{\partial x^2(t_f)} \geq 0 [x22H(xu2H)Tux2Hu22H]>0,x2(tf)2Θ[x(tf),γ]0

[ ∂ 2 H ∂ x 2 ∂ 2 H ∂ u ∂ x ( ∂ 2 H ∂ x ∂ u ) T ∂ 2 H ∂ u 2 ] ≥ 0 , ∂ 2 Θ [ x ( t f ) , γ ] ∂ x 2 ( t f ) > 0 \begin{bmatrix} \frac{\partial^2 H}{\partial x^2} & \frac{\partial^2 H}{\partial u \partial x } \\ (\frac{\partial^2 H}{\partial x \partial u })^\mathrm{T} & \frac{\partial^2 H}{\partial u^2} \end{bmatrix}\geq 0, \quad \frac{\partial^2 \Theta[x(t_f),\gamma]}{\partial x^2(t_f)} > 0 [x22H(xu2H)Tux2Hu22H]0,x2(tf)2Θ[x(tf),γ]>0

式中
H ( x , u , λ , t ) = L ( x , u , t ) + λ T ( t ) f ( x , u , t ) Θ [ x ( t f ) , γ ] = φ [ x ( t f ) ] + γ T Ψ [ x ( t f ) ] H(x,u,\lambda,t)=L(x,u,t)+\lambda^{\mathrm{T}}(t)f(x,u,t) \\ \Theta[x(t_f),\gamma]=\varphi[x(t_f)]+\gamma^{\mathrm{T}}\mathit{\Psi}[x(t_f)] H(x,u,λ,t)=L(x,u,t)+λT(t)f(x,u,t)Θ[x(tf),γ]=φ[x(tf)]+γTΨ[x(tf)]

2.3.2 末端时刻自由时的最优解

当末端时刻 t f t_f tf 自由时,末端状态又可区分为受约束自由固定三种情况。

当末端时刻 t f t_f tf 固定时,最优控制问题可以归结为如下一般形式:
min ⁡ u ( t ) J = φ [ x ( t f ) ] + ∫ t 0 t f L ( x , u , t ) d t s .   t . f ( x , u , t ) − x ˙ ( t ) = 0 , x ( t 0 ) = x 0 Ψ [ x ( t f ) ] = 0 \min_{u(t)}J=\varphi[x(t_f)]+ \int_{t_0}^{t_f} L(x,u,t)\mathrm{d}t \\ \mathrm{s.\ t.} \quad f(x,u,t)-\dot{x}(t)=0, \quad x(t_0) =x_0 \\ \Psi [x(t_f)]=0 u(t)minJ=φ[x(tf)]+t0tfL(x,u,t)dts. t.f(x,u,t)x˙(t)=0,x(t0)=x0Ψ[x(tf)]=0
假设各向量维数同前。末端状态 x ( t f ) x(t_f) x(tf) 存在如下状态:

  • 末端状态受约束
  • 末端状态自由
  • 末端状态固定

若末端自由,则 Ψ [ x ( t f ) ] = 0 \Psi [x(t_f)]=0 Ψ[x(tf)]=0 不会出现;若末端固定,则因 δ x ( t f ) = 0 \delta x(t_f)=0 δx(tf)=0,那么横截条件 λ ( t f ) = ∂ φ ∂ x ( t f ) + ∂ Ψ T ∂ x ( t f ) γ \lambda(t_f)=\frac{\partial \varphi}{\partial x(t_f)} +\frac{\partial \Psi^\mathrm{T}}{\partial x(t_f)}\gamma λ(tf)=x(tf)φ+x(tf)ΨTγ 将不存在。

下面给出了末端时刻自由时最优解的必要条件

【定理】 对于如下最优控制问题
min ⁡ u ( t ) J = φ [ x ( t f ) ] + ∫ t 0 t f L ( x , u , t ) d t , t f 固 定 s .   t . f ( x , u , t ) − x ˙ ( t ) = 0 , x ( t 0 ) = x 0 Ψ [ x ( t f ) ] = 0 , ( 末 端 受 约 束 情 况 有 此 项 、 末 端 自 由 和 末 端 固 定 没 有 此 项 ) (12) \min_{u(t)}J=\varphi[x(t_f)]+ \int_{t_0}^{t_f} L(x,u,t)\mathrm{d}t,\quad t_f固定 \\ \mathrm{s.\ t.} \quad f(x,u,t)-\dot{x}(t)=0, \quad x(t_0) =x_0 \\ \Psi [x(t_f)]=0,\quad (末端受约束情况有此项、末端自由和末端固定没有此项) \tag{12} u(t)minJ=φ[x(tf)]+t0tfL(x,u,t)dttfs. t.f(x,u,t)x˙(t)=0,x(t0)=x0Ψ[x(tf)]=0(12)
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)
② 边界条件

a)若末端受约束,则有
x ( t 0 ) = x 0 λ ( t f ) = ∂ φ ∂ x ( t f ) + ∂ Ψ T ∂ x ( t f ) γ Ψ [ x ( t f ) ] = 0 x(t_0) = x_0 \\ \lambda(t_f)=\frac{\partial \varphi}{\partial x(t_f)} +\frac{\partial \Psi^\mathrm{T}}{\partial x(t_f)}\gamma \\ \Psi[x(t_f)]=0 x(t0)=x0λ(tf)=x(tf)φ+x(tf)ΨTγΨ[x(tf)]=0
按我理解,上式应写为
x i ( t 0 ) = x i 0 λ i ( t f ) = ∂ φ ∂ x i ( t f ) + ∂ Ψ T ∂ x i ( t f ) γ Ψ [ x ( t f ) ] = 0 x_i(t_0) = x_{i0} \\ \lambda_i(t_f)=\frac{\partial \varphi}{\partial x_i(t_f)} +\frac{\partial \Psi^\mathrm{T}}{\partial x_i(t_f)}\gamma \\ \Psi[x(t_f)]=0 xi(t0)=xi0λi(tf)=xi(tf)φ+xi(tf)ΨTγΨ[x(tf)]=0
式中, i i i 代表第 i i i 个微分方程(或动态系统方程)。

b)若末端自由,则有
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)φ
c)若末端固定,则有
x ( t 0 ) = x 0 x ( t f ) = x f x(t_0) = x_0 \\ x(t_f) = x_f x(t0)=x0x(tf)=xf
③ 极值条件

∂ H ∂ u = 0 \frac{\partial H}{\partial u}=0 uH=0
④ 哈密顿函数在最优轨线末端满足

a)若末端受约束,则有
H ( t f ) = − ∂ φ ∂ t f − γ T ( t f ) ∂ Ψ ∂ t f H(t_f)=-\frac{\partial \varphi}{\partial t_f}-\gamma^{\mathrm{T}}(t_f)\frac{\partial \Psi}{\partial t_f} H(tf)=tfφγT(tf)tfΨ
b)若末端自由,则有
H ( t f ) = − ∂ φ ∂ t f H(t_f)=-\frac{\partial \varphi}{\partial t_f} H(tf)=tfφ
c)若末端固定,则有
H ( t f ) = − ∂ φ ∂ t f H(t_f)=-\frac{\partial \varphi}{\partial t_f} H(tf)=tfφ

总结

  • 先找对应的模型,或是末端受约束,或是末端自由,或是末端固定

  • 按照“ ① 求解正则方程 —> ② 边界条件 —> ③ 极值条件 —> ④ 哈密顿函数在最优轨线末端满足条件”的顺序解题。解到 “③ 极值条件”一般可以求出 u ( t ) u(t) u(t) ,解到 “④ 哈密顿函数在最优轨线末端满足条件”可以求出 u ( t ) u(t) u(t) 的真正表达式,再把 u ( t ) u(t) u(t) 代回求解 λ ( t ) \lambda(t) λ(t) x ( t ) x(t) x(t) ,将末端时刻 t f t_f tf 代入方程中,可求出最优轨线 x ∗ ( t ) x^*(t) x(t) 和最优控制解 u ∗ ( t ) u^*(t) u(t)


例题

(最优控制理论与系统【胡寿松】, 第三版, pp40-41)设一阶系统方程为
x ˙ ( t ) = u ( t ) \dot x(t)=u(t) x˙(t)=u(t)
性能指标取为
J = t f + 1 2 ∫ 0 t f u 2 ( t ) d t J=t_f+\frac{1}{2}\int_0^{t_f}u^2(t)\mathrm{d}t J=tf+210tfu2(t)dt
式中 t f t_f tf 自由。试确定最优控制 u ∗ ( t ) u^*(t) u(t),使系统由 x ( 0 ) = 1 x(0)=1 x(0)=1 转移到 x ( t f ) = 0 x(t_f)=0 x(tf)=0 ,并使性能指标为极小值。


【解】 本题是复合型性能指标、 t f t_f tf 自由、末端固定、控制变量取值无约束的最优化问题。按照总结中提到的解题步骤来解题。

① 求正则方程 x ( t ) x(t) x(t) λ ( t ) \lambda (t) λ(t)

构建哈密顿函数
H = 1 2 u 2 ( t ) + λ u ( t ) H = \frac{1}{2}u^2(t)+\lambda u(t) H=21u2(t)+λu(t)
求解正则方程
x ˙ = ∂ H ∂ λ 1 = u ( t ) λ ˙ = − ∂ H ∂ x = 0 ⇒ λ ( t ) = c 1 \dot x = \frac{\partial H}{\partial \lambda_1}=u(t) \\ \dot \lambda = -\frac{\partial H}{\partial x}=0 \Rightarrow \lambda(t)=c_1 x˙=λ1H=u(t)λ˙=xH=0λ(t)=c1
② 边界条件
x ( 0 ) = 0 , x ( t f ) = 0 x(0)=0,\quad x(t_f)=0 \\ x(0)=0,x(tf)=0
③ 极值条件
∂ H ∂ u = u ( t ) + λ ( t ) = 0 ⇒ u ( t ) = − λ ( t ) = − c 1 \frac{\partial H}{\partial u}=u(t)+\lambda(t)=0\Rightarrow u(t)=-\lambda(t)=-c_1 uH=u(t)+λ(t)=0u(t)=λ(t)=c1
④ 哈密顿函数在最优轨线末端满足

因为末端固定,所以
H ( t f ) = − ∂ φ ∂ t f = − 1 ⇒ 1 2 u 2 ( 1 ) + c 1 u ( 1 ) = − 1 ⇒ 1 2 c 1 2 + c 1 2 = − 1 ⇒ c 1 2 = 1 2 ⇒ c 1 = 2 H(t_f)=-\frac{\partial \varphi}{\partial t_f}=-1 \\ \Rightarrow \frac{1}{2}u^2(1)+c_1u(1)=-1 \\ \Rightarrow \frac{1}{2}c_1^2+c_1^2=-1 \\ \Rightarrow c_1^2=\frac{1}{2} \\ \Rightarrow c_1=\sqrt{2} H(tf)=tfφ=121u2(1)+c1u(1)=121c12+c12=1c12=21c1=2
那么

x ˙ ( t ) = − c 1 = − 2 ⇒ x ( t ) = − 2 t + c 2 \dot x(t)=-c_1=-\sqrt{2} \\ \Rightarrow x(t)=-\sqrt{2}t+c_2 x˙(t)=c1=2 x(t)=2 t+c2
因为
x ( 0 ) = c 2 = 1 x(0)=c_2=1 x(0)=c2=1
所以
x ( t ) = − 2 t + 1 x(t)=-\sqrt{2}t+1 x(t)=2 t+1

x ( t f ) = − 2 t f + 1 = 0 ⇒ t f = 1 2 x(t_f)=-\sqrt{2}t_f+1=0 \\ \Rightarrow t_f=\frac{1}{\sqrt{2}} x(tf)=2 tf+1=0tf=2 1
⑤ 求解结果

最优轨线
x ∗ ( t ) = − 2 t + 1 x^*(t)=-\sqrt{2}t+1 x(t)=2 t+1
最优控制
u ∗ ( t ) = − 2 u^*(t)=-\sqrt{2} u(t)=2
思考:按照步骤一步一步解即可,书上的解法反而让人感觉眼花缭乱,摸不着重点。

至此,使用变分法解最优控制问题便已全部介绍完毕。


  1. 初始时刻和末端时刻的值 ↩︎

  • 10
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值