在动态最优控制中,目标函数是一个泛函数,求解动态最优化问题可以看做是求泛函极值的问题,求解泛函极值有一个方法,即变分法,本文章便介绍有关变分法的一些自己的学习理解。
变分法的基本概念
泛函
如果一个因变量的宗量不是独立自变量,而是另一些独立自变量的函数,则称该因变量为这个宗量的泛函。
当然,单纯的从这个概念上可能不太好理解,其实可以对比函数的概念:
例如上述从P1点到P2点有不同的路径可以到达,每一个路径对应一个函数y,y的宗量是x,即y是x的函数,所有的路径y构成一个集合,即为泛函J
泛函的变分
当理解了泛函大概是什么东西之后,就可以类比微分的概念,即函数的增量按照微分的概念可以分为线性变化的部分与高阶无穷小。那么泛函的变分也可以类比微分,同样也由线性部分与高阶无穷小组成:
欧拉方程
欧拉方程时求泛函极值的必要条件,假定一个曲线x(t)的起始点为x0,重点为xf,则使其性能泛函取极值的必要条件为:x(t)是二阶微分方程的解,这个二阶微分方程便是欧拉方程:
基本上需要用的概念就是这些,有其他相关的概念可以自行搜索或者看控制之类的数据,我相信百度或者教科书的解释要比我专业的多。单纯的从上述的概念上实际是并不能很好的去理解这个算法,我们可以来个实际的例子来加深印象。
可以先尝试一些简单的,也就是本文章讨论的部分,泛函所依赖的函数没有约束条件
求解的步骤可以按照如下步骤:
1.先将微分方程带入性能泛函
2.写出泛函的线性部分L
3.列出欧拉方程并求解
4.根据高数中求微分方程的知识得出极值曲线x*
5.根据微分方程得出其极值曲线对应的控制曲线u*