在上篇文章中的例子是属于没有约束条件的泛函极值问题,但是在实际的最优控制问题中,泛函J所依赖的函数往往会受到系统状态方程的约束。那么如果碰到这种问题的话,使用变分法是如何处理呢?
思路应该是这样的:应用拉格朗日乘子法,之后就可以将这种有约束条件的泛函极值问题转化为无约束条件的泛函极值问题。
拉格朗日问题
假如有一个系统,并列出其性能泛函如下:
首先,我们需要将其写成约束方程的形式:
引入一个拉格朗日乘子,构造一个增广泛函:
之后,可以将此增广泛函单独再定义为H函数,此H函数称作哈密尔顿函数(有的教材中叫做哈密顿函数):
也就是说,可以将加入拉格朗日乘子的增广函数H,再与x的微分结合,再写作H-。
H-是x,x的微分,u,乘子,还有时间t的函数,对所有的相关变量求欧拉方程,变可得到哈密顿正则方程与控制方程:
实例
接下来我们可以看一个例子来加深印象
首先,我们可以将此系统的状态方程以及边界写出来:
之后,构造哈密顿函数:
之后求出欧拉方程:
之后,可以写出各变量的通解,再根据边界条件,可以求出各通解的常数项,便可以得到最终的u: