Legendre伪谱法/勒让德伪谱法
本文主要介绍Legendre伪谱法的实现原理,介绍方式会尽可能采用数值演示,以便让读者能有一个更直观的感受。
第一部分 最优控制问题
本文继续来介绍Legendre伪谱法,给定如下最优控制问题
状态方程如下
约束条件如下
其中, 和 分别为初始和终端约束条件。
时间变换
在伪谱法中状态量是由其在LGL点处的值来近似的,而上面的原始定义中时间区间位于 不符合后续伪谱法的使用,因此首先采用时间变换
逆变换为
因此我们将时间由 ,尽管如此,为了方便起见,我们仍然采用上述记号来描述最优控制问题,得到如下
第二部分 Legendre伪谱法
我们首先选择LGL离散点 ,其中 , 选择为 阶Legendre多项式导数的根, 。
则状态量可以近似如下
在离散点处的导数计算如下
则式(8)变为配点方程(约束)如下
则式(7)变为
式(9)变为
式(10)在LGL点满足如下
综上,我们通过伪谱法将最优控制问题转换为了代数约束问题
其中,待优化变量包括
第三部分 问题求解
下面例子实现的代码以及第一篇文章的代码可以在下面的地址找到
例子1
例子来源于
最优控制问题:
系统动力学为:
初始终端条件:
采用Legendre伪谱法来进行求解,由于我们已经知道该最优控制问题存在解析解
由于状态量仅为3阶多项式,因此采用伪谱法求解时选择 即可,因此得到优化变量的个数为
计算结果如下
由上述计算结果可以看出,相比于之前实现过的直接打靶法来说,优化速度很快,且收敛精度很高。
除此以外,在文献[2]中给出了NLP问题拉格朗日乘子与最优控制问题中协态的映射关系,称为协态映射定理,具体的公式如下
因此,在采用伪谱法求解得到结果以后,还可以通过上述关系得到相应的协态值。实际上,伪谱法得到广泛应用的重要原因就是存在协态映射定理,这使得我们可以对必要条件进行验证,同时也可以给间接法提供初值。
协态计算的结果如下
与我们采用变分法必要条件求解得到的协态值是一致的。
例子2
例子来源于
最优控制问题:
边界条件满足:
采用Legendre伪谱法来进行求解,这次我们选择 来进行求解,结果如下
得到的状态量曲线如下
参考文献
[1] Elnagar G, Kazemi M A . The pseudospectral Legendre method for discretizing optimal control problems[J]. IEEE Transactions on Automatic Control, 1995, 40(10):P.1793-1796.
[2] Fahrooa F , Ross I . Costate Estimation by a Legendre Pseudospectral Method[C]// Guidance, Navigation, & Control Conference & Exhibit. 2001.
[3] Benson D . A Gauss pseudospectral transcription for optimal control[J]. massachusetts institute of technology, 2005.
[4] Huntington G T . Advancement and Analysis of a Gauss Pseudospectral Transcription for Optimal Control. 2008.
[5] Garg D . Advances in global pseudospectral methods for optimal control. 2011.
[6] Hall A O . A MATLAB GUI for a Legendre Pseudospectral Algorithm for Optimal Control Problems[J]. Thesis Collection, 1999.
[7] Daniel R. Herber (2021). Basic Implementation of Multiple-Interval Pseudospectral Methods to Solve Optimal Control Problems (https://github.com/danielrherber/basic-multiple-interval-pseudospectral), GitHub. Retrieved September 25, 2021.
[8] Rao A V , Benson D A , Darby C L , et al. Algorithm 902: GPOPS, A MATLAB software for solving multiple-phase optimal control problems using the gauss pseudospectral method[J]. Acm Transactions on Mathematical Software, 2010, 37(2):22.
评论(0)
您还未登录,请登录后发表或查看评论