变分法如何解决最优控制问题

本文是基于在此之前的一篇文章的后续。之前文章主要讲述最优控制问题的一个描述和变分法在泛函中的一些应用,在此不过多叙述。文章链接为:https://blog.csdn.net/qq_40241332/article/details/95941248 和 https://blog.csdn.net/qq_40241332/article/details/106182432

主要分为以下几个部分:

  • 具有等式约束下的条件问题
  • 末态时刻固定,末态无约束的最优控制问题
  • 末态时刻和末态固定的最优控制问题
  • 末态时刻固定,末态受约束的最优控制问题
  • 末态时刻未定的问题

1. 具有等式约束下的条件问题

问题描述如下所示:

寻找一条连续可微的极值曲线,使得性能泛函

J=\int^{t_f}_{t_0}F(t,\mathbf x(t),\dot{\mathbf x}(t))dt

达到极值,极值曲线\mathbf x(t)满足微分方程的等式约束

\Psi (t,\mathbf x(t),\dot{\mathbf x}(t))=0

其中\Psi(t,\mathbf x(t),\dot{\mathbf x}(t))m(m\leq n)关于t\mathbf x\dot{\mathbf x}的非线性向量函数。

定理 1.1 :如果n维向量函数x(t)能使等式约束变分问题取极值,则必然存在m维拉格朗日乘子向量函数\lambda(t),使得泛函

J_1=\int^{t_f}_{t_0}H(t,\mathbf x(t),\dot{\mathbf x}(t),\lambda(t))dt

达到无条件极值,即极值曲线x(t)是欧拉方程\frac{\partial H}{\partial \mathbf x}-\frac{d}{dt}\frac{\partial H}{\partial \dot{\mathbf x}}=0和等式约束条件\Psi (t,\mathbf x(t),\dot{\mathbf x}(t))=0的解,其中H(t,\mathbf x(t),\dot{\mathbf x}(t),\lambda(t))=F(t,\mathbf x(t),\dot{\mathbf x}(t))+\lambda^T(t)\Psi (t,\mathbf x(t),\dot{\mathbf x}(t))

理解:等式约束条件和欧拉方程,有m+n个方程,正好解出n+m个未知数\mathbf x(t)\lambda(t)

2. 末态时刻固定,末态无约束的最优控制问题

问题描述:求一容许控制u(t)\in U,t\in [t_0,t_f],在末态时刻t_f固定,状态x(t_f)无约束,初始状态x(t_0)=x_0以及被控系统

\dot{\mathbf x}(t)=\mathbf f(\mathbf x(t),\mathbf u(t),t)等式约束条件下,使得性能泛函J[\mathbf u(\cdot )]=S(\mathbf x(t_f),t_f)+\int^{t_f}_{t_0}L(t,\mathbf x(t),\mathbf u(t))dt的指标达到最小值。

Step 1:将动态系统状态方程改写成等式约束,引入拉格朗日乘子,结合原性能泛函,形成新的泛函。

\mathbf f(\mathbf x(t),\mathbf u(t),t)-\dot{\mathbf x}(t)=0

J_1[\mathbf u(\cdot)]=S(\mathbf x(t_f),t_f)+\int^{t_f}_{t_0}\{L(\mathbf x(t),\mathbf u(t),t)+\lambda^T(t)[\mathbf f(\mathbf x(t),\mathbf u(t),t)-\dot{\mathbf x}(t)]\}

Step 2:定义哈密顿函数,重新计算泛函

H(\mathbf x(t),\mathbf u(t),\lambda (t),t)=L(\mathbf x(t),\mathbf u(t),t)+\lambda^T(t)\mathbf f(\mathbf x(t),\mathbf u(t),t)

\begin{align*} J_1[\mathbf u(\cdot)]&=S(\mathbf x(t_f),t_f)+\int^{t_f}_{t_0}\{L(\mathbf x(t),\mathbf u(t),t)+\lambda^T(t)[\mathbf f(\mathbf x(t),\mathbf u(t),t)-\dot{\mathbf x}(t)]\}dt\\ &=S(\mathbf x(t_f),t_f)+\int^{t_f}_{t_0}\{H(\mathbf x(t),\mathbf u(t),\lambda^T(t),t)+\dot\lambda^T(t){\mathbf x}(t)\}dt+\lambda^T(t_0)\mathbf x(t_0)-\lambda^T(t_f)\mathbf x(t_f) \end{align*}

Step 3:求泛函的极值条件,可以采用欧拉方程\frac{\partial H}{\partial \mathbf x}-\frac{d}{dt}\frac{\partial H}{\partial \dot{\mathbf x}}=0来求极值条件,并通过边界条件来确定极值条件得到的方程解的积分常数。

考虑其初始状态固定,末态时刻固定,而末态状态自由,则泛函对其所有宗量的一阶变分表示如下

\delta J_1=\left.{\left(\frac{\partial S}{\partial \mathbf x}-\lambda \right )^T\delta \mathbf x}\right|_{t=t_f}+\int^{t_f}_{t_0}\left[\left(\frac{\partial H}{\partial \mathbf x} +\dot{\lambda }\right )^T\delta \mathbf x+\left(\frac{\partial H}{\partial \mathbf u} \right )^T\delta u \right ]dt

\dot{\lambda }(t)=-\frac{\partial H}{\partial \mathbf x}\lambda (t_f)=\frac{\partial S(\mathbf x(t_f),t_f)}{\partial \mathbf x(t_f)}时,可确定出\lambda(t)\delta J_1=\int^{t_f}_{t_0}\left(\frac{\partial H}{\partial \mathbf u} \right)^T\delta \mathbf udt,泛函求取极值的必要条件为\delat J_1=0

根据初始状态,可以求解得到最优控制函数\mathbf u^*(t)

总结:末态无约束最优控制问题的最优控制\mathbf u^*(t),最优状态轨线\mathbf x^*(t)和被选择的拉格朗日乘子函数\lambda (t)需要满足

  1. 规范方程:
    \dot{\mathbf x}(t)=\frac{\partial H}{\partial \lambda}=\mathbf f(\mathbf x(t),\mathbf u(t),t)
    \dot{\lambda}(t)=-\frac{\partial H}{\partial \mathbf x}=-\frac{\partial L}{\partial \mathbf x}-\frac{\partial \mathbf f^T}{\partial \mathbf x}\lambda(协态方程,共轭方程,伴随方程)
  2. 边界条件
    \mathbf x(t_0)=\mathbf x_0,\quad \lambda(t_f)=\frac{\partial S(\mathbf x(t_f),t_f)}{\partial \mathbf x(t_f)}
  3. 极值条件
    \frac{\partial H}{\partial \mathbf u}=0

3. 末态时刻和末态固定的最优控制问题

问题描述:初始状态和初始时刻肯定是给出的,而末态时刻t_f和末态固定\mathbf x(t_f)固定,则第二个问题的性能指标中S(\mathbf x(t_f),t_f)可以省去,则泛函性能指标被描述如下所示J[\mathbf u(\cdot )]=\int^{t_f}_{t_0}L(t,\mathbf x(t),\mathbf u(t))dt

问题比较简单,下面直接给出结论:

  1. 规范方程:
    \dot{\mathbf x}(t)=\frac{\partial H}{\partial \lambda}=\mathbf f(\mathbf x(t),\mathbf u(t),t)
    \dot{\lambda}(t)=-\frac{\partial H}{\partial \mathbf x}=-\frac{\partial L}{\partial \mathbf x}-\frac{\partial \mathbf f^T}{\partial \mathbf x}\lambda(协态方程,共轭方程,伴随方程)
  2. 边界条件
    \mathbf x(t_0)=\mathbf x_0,\quad \mathbf x(t_f)=x_f
  3. 极值条件
    \frac{\partial H}{\partial \mathbf u}=0

4. 末态时刻固定,末态受约束的最优控制问题

问题描述:对于被控系统\dot{\mathbf x}(t)=\mathbf f(\mathbf x(t),\mathbf u(t),t)末态时刻t_f固定,而末态\mathbf x(t_f)受等式\mathbf g(\mathbf x(t_f),t_f)=0约束,性能泛函如下所示

J[\mathbf u(\cdot )]=S(\mathbf x(t_f),t_f)+\int^{t_f}_{t_0}L(t,\mathbf x(t),\mathbf u(t))dt

其中\mathbf g(\mathbf x(t_f),t_f)=0的维数为p,为使得最优控制的解的存在,当性能指标泛函中L=0时,p\leq n-1;当L\neq 0时,p\leq n

Step 1:引入待定拉格朗日乘子向量\mu=\left[\mu_1,\mu_2,\cdots,\mu_p \right ]^T,定义如下新的辅助泛函

J_1[\mathbf u(\cdot )]=S(\mathbf x(t_f),t_f)+\mu^T\mathbf g(\mathbf x(t_f),t_f)+\int^{t_f}_{t_0}H(\mathbf x(t),\mathbf u(t),\lambda (t),t)-\lambda(t)^T\dot{\mathbf x}(t)dt

其中H(\mathbf x(t),\mathbf u(t),\lambda (t),t)=L(\mathbf x(t),\mathbf u(t),t)+\lambda^T(t)\mathbf f(\mathbf x(t),\mathbf u(t),t)

Step 2:令\bar{S}(\mathbf x(t_f),t_f)=S(\mathbf x(t_f),t_f)+\mu^T\mathbf g(\mathbf x(t_f),t_f),则性能泛函又可以写为

J[\mathbf u(\cdot )]=\bar S(\mathbf x(t_f),t_f)+\int^{t_f}_{t_0}H(\mathbf x(t),\mathbf u(t),\lambda (t),t)-\lambda(t)^T\dot{\mathbf x}(t)dt

Step 3:边界条件为\lambda(t_f)=\frac{\partial \bar S(\mathbf x(t_f),t_f)}{\partial \mathbf x(t_f)}=\frac{\partial S(\mathbf x(t_f),t_f)}{\partial \mathbf x(t_f)}+\frac{\partial \mathbf g^T(\mathbf x(t_f),t_f)}{\partial \mathbf x(t_f)}\mu

结论:

  1. 边界条件
    \lambda(t_f)=\frac{\partial \bar S(\mathbf x(t_f),t_f)}{\partial \mathbf x(t_f)}=\frac{\partial S(\mathbf x(t_f),t_f)}{\partial \mathbf x(t_f)}+\frac{\partial \mathbf g^T(\mathbf x(t_f),t_f)}{\partial \mathbf x(t_f)}\mu
    \mathbf g(\mathbf x(t_f),t_f)=0
    \mathbf x(t_0)=\mathbf x_0
  2. 规范方程
    \dot{\mathbf x}(t)=\frac{\partial H}{\partial \lambda}=\mathbf f(\mathbf x(t),\mathbf u(t),t)
    \dot{\lambda}(t)=-\frac{\partial H}{\partial \mathbf x}=-\frac{\partial L}{\partial \mathbf x}-\frac{\partial \mathbf f^T}{\partial \mathbf x}\lambda
  3. 极值条件
    \frac{\partial H}{\partial \mathbf u}=0

5. 末态时刻未定的问题

末态时刻未定,末态有三种情况,可以时自由的,也可以是固定的,也可以是受约束的。此处暂时先不考虑前两种情况,只考虑第三种情况,因为前两种情况可以由第三种情况衍生。

问题描述:对于被控系统\dot{\mathbf x}(t)=\mathbf f(\mathbf x(t),\mathbf u(t),t)末态时刻t_f不固定,而末态\mathbf x(t_f)受等式\mathbf g(\mathbf x(t_f),t_f)=0约束,性能泛函如下所示

J[\mathbf u(\cdot )]=S(\mathbf x(t_f),t_f)+\int^{t_f}_{t_0}L(t,\mathbf x(t),\mathbf u(t))dt

其中\mathbf g(\mathbf x(t_f),t_f)=0的维数为p,为使得最优控制的解的存在,当性能指标泛函中L=0时,p\leq n-1;当L\neq 0时,p\leq n

Step 1:引入待定拉格朗日乘子向量\mu=\left[\mu_1,\mu_2,\cdots,\mu_p \right ]^T,定义如下新的辅助泛函

J_1[\mathbf u(\cdot )]=S(\mathbf x(t_f),t_f)+\mu^T\mathbf g(\mathbf x(t_f),t_f)+\int^{t_f}_{t_0}H(\mathbf x(t),\mathbf u(t),\lambda (t),t)-\lambda(t)^T\dot{\mathbf x}(t)dt

其中H(\mathbf x(t),\mathbf u(t),\lambda (t),t)=L(\mathbf x(t),\mathbf u(t),t)+\lambda^T(t)\mathbf f(\mathbf x(t),\mathbf u(t),t)

Step 2:分部积分,则辅助泛函变为

\begin{align*} J_1[\mathbf u(\cdot )]=S(\mathbf x(t_f),t_f)+\mu^T\mathbf g(\mathbf x(t_f),t_f)+\lambda^T(t_0)\mathbf x(t_0)-\lambda^T(t_f)\mathbf x(t_f)+\int^{t_f}_{t_0}H(\mathbf x(t),\mathbf u(t),\lambda (t),t)-\lambda(t)^T\dot{\mathbf x}(t)dt \end{align*}

\bar{S}(\mathbf x(t_f),t_f)=S(\mathbf x(t_f),t_f)+\mu^T\mathbf g(\mathbf x(t_f),t_f),则性能泛函又可以写为

\begin{align*} J[\mathbf u(\cdot )]=\bar S(\mathbf x(t_f),t_f)+\lambda^T(t_0)\mathbf x(t_0)-\lambda^T(t_f)\mathbf x(t_f)+\int^{t_f}_{t_0}H(\mathbf x(t),\mathbf u(t),\lambda (t),t)-\lambda(t)^T\dot{\mathbf x}(t)dt \end{align*}

Step 3:对其所有变量进行一阶变分

\begin{aligned} \delta J_{1}=& \frac{\partial \bar{S}^{T}\left(\mathbf x\left(t_{f}\right), t_{f}\right)}{\partial \mathbf x\left(t_{f}\right)} \delta \mathbf x\left(t_{f}\right)+\frac{\partial \bar{S}^{T}\left(\mathbf x\left(t_{f}\right), t_{f}\right)}{\partial \mathbf x\left(t_{f}\right)} \dot{\mathbf x}\left(t_{f}\right) \delta t_{f}+\frac{\partial \bar{S}^{T}\left(\mathbf x\left(t_{f}\right), t_{f}\right)}{\partial t_{f}} \delta t_{f} \\ &-\lambda^{T}\left(t_{f}\right) \delta \mathbf x\left(t_{f}\right)-\left[\dot{\lambda}\left(t_{f}\right) \mathbf x\left(t_{f}\right)+\lambda\left(t_{f}\right) \dot{\mathbf x}\left(t_{f}\right)\right] \delta t_{f} \\ &+\left.\left[H(\mathbf x, \mathbf u, \lambda, t)+\lambda^{T} \mathbf x\right]\right|_{t=t_{f}} \delta t_{f} \\ &+\int_{t_{0}}^{t_{f}}\left[\left(\frac{\partial H}{\partial \mathbf x}+\dot{\lambda}\right)^{T} \delta \mathbf x+\frac{\partial H}{\partial \mathbf u^{T}} \delta \mathbf u\right] d t \end{aligned}

结论:

  1. 边界条件
    \lambda(t_f)=\frac{\partial \bar S(\mathbf x(t_f),t_f)}{\partial \mathbf x(t_f)}=\frac{\partial S(\mathbf x(t_f),t_f)}{\partial \mathbf x(t_f)}+\frac{\partial \mathbf g^T(\mathbf x(t_f),t_f)}{\partial \mathbf x(t_f)}\mu
    \mathbf g(\mathbf x(t_f),t_f)=0
    \mathbf x(t_0)=\mathbf x_0
  2. 规范方程
    \dot{\mathbf x}(t)=\frac{\partial H}{\partial \lambda}=\mathbf f(\mathbf x(t),\mathbf u(t),t)
    \dot{\lambda}(t)=-\frac{\partial H}{\partial \mathbf x}=-\frac{\partial L}{\partial \mathbf x}-\frac{\partial \mathbf f^T}{\partial \mathbf x}\lambda
  3. 极值条件
    \frac{\partial H}{\partial \mathbf u}=0
  4. 哈密顿函数在最优轨线的末端应有H\left(\boldsymbol{x}^{*}\left(t_{f}^{*}\right), \boldsymbol{u}^{*}\left(t_{f}^{*}\right), \lambda\left(t_{f}^{*}\right), t_{f}^{*}\right)=-\frac{\partial S\left(\boldsymbol{x}\left(t_{f}\right), t_{f}\right)}{\partial t_{f}}-\frac{\partial \boldsymbol{g}^{\tau}\left(\boldsymbol{x}\left(t_{f}\right), t_{f}\right)}{\partial t_{f}} \boldsymbol{\mu}

 

以上五个问题,主要在于变分法的运用,如果有不懂的,可以多看看变分法的那篇博客,也可留言。

 

 

 


版权声明:本文为qq_40241332原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。