《最优控制的计算方法》由会员分享,可在线阅读,更多相关《最优控制的计算方法(46页珍藏版)》请在金锄头文库上搜索。
1、最优控制的计算方法最优控制的计算方法一、直接法一、直接法二、间接法二、间接法1最优控制的计算方法最优控制的计算方法 在前面讨论变分法、极小值原理和动态规划时,我们在前面讨论变分法、极小值原理和动态规划时,我们在前面讨论变分法、极小值原理和动态规划时,我们在前面讨论变分法、极小值原理和动态规划时,我们列举了一些例子。为了易于说明问题,这些例子都是非常列举了一些例子。为了易于说明问题,这些例子都是非常列举了一些例子。为了易于说明问题,这些例子都是非常列举了一些例子。为了易于说明问题,这些例子都是非常简单的,可以用手算来解决问题。但是在实际工作中所遇简单的,可以用手算来解决问题。但是在实际工作中所遇
2、简单的,可以用手算来解决问题。但是在实际工作中所遇简单的,可以用手算来解决问题。但是在实际工作中所遇到的最优控制问题,一般都是很复杂的,必须用计算机求到的最优控制问题,一般都是很复杂的,必须用计算机求到的最优控制问题,一般都是很复杂的,必须用计算机求到的最优控制问题,一般都是很复杂的,必须用计算机求解。解。解。解。 因此,最优控制的计算方法就变得十分重要了。这方因此,最优控制的计算方法就变得十分重要了。这方因此,最优控制的计算方法就变得十分重要了。这方因此,最优控制的计算方法就变得十分重要了。这方面的内容十分丰富,由于篇幅所限,我们只介绍几种典型面的内容十分丰富,由于篇幅所限,我们只介绍几种典
3、型面的内容十分丰富,由于篇幅所限,我们只介绍几种典型面的内容十分丰富,由于篇幅所限,我们只介绍几种典型的算法。的算法。的算法。的算法。2最优控制的计算方法最优控制的计算方法直接法直接法直接法直接法的特点是,在每一步迭代中,的特点是,在每一步迭代中,的特点是,在每一步迭代中,的特点是,在每一步迭代中,U U( (t t) )不一定要满足不一定要满足不一定要满足不一定要满足H H 取极小的必要条件,而是逐步改善它,在迭代终了使它满足这取极小的必要条件,而是逐步改善它,在迭代终了使它满足这取极小的必要条件,而是逐步改善它,在迭代终了使它满足这取极小的必要条件,而是逐步改善它,在迭代终了使它满足这个必
4、要条件,而且,积分状态方程是从个必要条件,而且,积分状态方程是从个必要条件,而且,积分状态方程是从个必要条件,而且,积分状态方程是从t t0 0到到到到t tf f ,积分协态方程是,积分协态方程是,积分协态方程是,积分协态方程是从从从从t tf f到到到到t t0 0,这样就避免了去寻找缺少的协态初值,这样就避免了去寻找缺少的协态初值,这样就避免了去寻找缺少的协态初值,这样就避免了去寻找缺少的协态初值 ( (t t0 0) )的困难。常的困难。常的困难。常的困难。常用的直接法有梯度法,二阶梯度法,共轭梯度法。用的直接法有梯度法,二阶梯度法,共轭梯度法。用的直接法有梯度法,二阶梯度法,共轭梯度
5、法。用的直接法有梯度法,二阶梯度法,共轭梯度法。间接法间接法间接法间接法的特点是,在每一步迭代中都要满足的特点是,在每一步迭代中都要满足的特点是,在每一步迭代中都要满足的特点是,在每一步迭代中都要满足HH取极小的必取极小的必取极小的必取极小的必要条件,而且要同时积分状态方程和协态方程,两种方程的积要条件,而且要同时积分状态方程和协态方程,两种方程的积要条件,而且要同时积分状态方程和协态方程,两种方程的积要条件,而且要同时积分状态方程和协态方程,两种方程的积分都从从分都从从分都从从分都从从t t0 0到到到到t tf f或从或从或从或从t tf f到到到到t t0 0 。常用的间接法有边界迭代法
6、和拟线。常用的间接法有边界迭代法和拟线。常用的间接法有边界迭代法和拟线。常用的间接法有边界迭代法和拟线性化法。性化法。性化法。性化法。3最优控制的计算方法最优控制的计算方法( ( U U无约束无约束无约束无约束) )(ii ii)哈密顿函数)哈密顿函数)哈密顿函数)哈密顿函数HH取极小的必要条件取极小的必要条件取极小的必要条件取极小的必要条件或或或或 由极小值原理可知,最优控制问题的解必须满足以下几由极小值原理可知,最优控制问题的解必须满足以下几由极小值原理可知,最优控制问题的解必须满足以下几由极小值原理可知,最优控制问题的解必须满足以下几个条件:个条件:个条件:个条件:(iiiiii)边界条
7、件(包括横截条件)边界条件(包括横截条件)边界条件(包括横截条件)边界条件(包括横截条件)(i i)正则方程)正则方程)正则方程)正则方程( ( U U有约束有约束有约束有约束) ) 最优控制的计算方法一般是先求出满足上面三个条件中最优控制的计算方法一般是先求出满足上面三个条件中最优控制的计算方法一般是先求出满足上面三个条件中最优控制的计算方法一般是先求出满足上面三个条件中某两个的解,然后用合适的迭代计算形式逐次改变这个解,某两个的解,然后用合适的迭代计算形式逐次改变这个解,某两个的解,然后用合适的迭代计算形式逐次改变这个解,某两个的解,然后用合适的迭代计算形式逐次改变这个解,以达到满足剩下的
8、另一个条件的解(即最优解)。以达到满足剩下的另一个条件的解(即最优解)。以达到满足剩下的另一个条件的解(即最优解)。以达到满足剩下的另一个条件的解(即最优解)。4一、直接法一、直接法1 1、梯度法、梯度法、梯度法、梯度法这是一种直接方法,应用比较广泛。它的特点是:先猜这是一种直接方法,应用比较广泛。它的特点是:先猜这是一种直接方法,应用比较广泛。它的特点是:先猜这是一种直接方法,应用比较广泛。它的特点是:先猜测任意一个控制函数测任意一个控制函数测任意一个控制函数测任意一个控制函数U U( (t t) ),它可能并不满足,它可能并不满足,它可能并不满足,它可能并不满足H H 取极小的必要条取极小
9、的必要条取极小的必要条取极小的必要条件,然后用迭代算法根据件,然后用迭代算法根据件,然后用迭代算法根据件,然后用迭代算法根据H H 梯度减小的方向来改善梯度减小的方向来改善梯度减小的方向来改善梯度减小的方向来改善U(tU(t) ),使它,使它,使它,使它最后满足必要条件。最后满足必要条件。最后满足必要条件。最后满足必要条件。 计算步骤如下:计算步骤如下:计算步骤如下:计算步骤如下:1 1、先猜测、先猜测、先猜测、先猜测 t t0 0, , t tf f 中的一个控制向量中的一个控制向量中的一个控制向量中的一个控制向量U UK K( (t t)=)=U U0 0( (t t) ),K K是迭代是
10、迭代是迭代是迭代步数,初始时步数,初始时步数,初始时步数,初始时K K=0=0。U U0 0 的决定要凭工程经验,猜得合理,计的决定要凭工程经验,猜得合理,计的决定要凭工程经验,猜得合理,计的决定要凭工程经验,猜得合理,计算收敛得就快算收敛得就快算收敛得就快算收敛得就快2 2、在第、在第、在第、在第K K步,以估计值步,以估计值步,以估计值步,以估计值U UK K和给定的初始条件和给定的初始条件和给定的初始条件和给定的初始条件X X( (t t0 0) ),从,从,从,从t t0 0到到到到t tf f 顺向积分状态方程,求出状态向量顺向积分状态方程,求出状态向量顺向积分状态方程,求出状态向量
11、顺向积分状态方程,求出状态向量X XK K( (t t) )。51、梯度法、梯度法3 3、用、用、用、用U UK K( (t t) )、X XK K( (t t) )和横截条件求得的终端值和横截条件求得的终端值和横截条件求得的终端值和横截条件求得的终端值 ( (t tf f) ),从,从,从,从t tf f到到到到t t0 0反向积分协态方程,求出协态向量反向积分协态方程,求出协态向量反向积分协态方程,求出协态向量反向积分协态方程,求出协态向量 K K( (t tf f) )。 表示在表示在表示在表示在 、 、 处取值。当这些量非最优值时,处取值。当这些量非最优值时,处取值。当这些量非最优值时
12、,处取值。当这些量非最优值时, 。4 4、计算哈密顿函数、计算哈密顿函数、计算哈密顿函数、计算哈密顿函数HH对对对对U U的梯度向量的梯度向量的梯度向量的梯度向量61、梯度法、梯度法是一个步长因子,它是待定的数。选择是一个步长因子,它是待定的数。选择是一个步长因子,它是待定的数。选择是一个步长因子,它是待定的数。选择 使指标达到使指标达到使指标达到使指标达到极小。这是一维寻优问题,有很多现成的优化方法可用。极小。这是一维寻优问题,有很多现成的优化方法可用。极小。这是一维寻优问题,有很多现成的优化方法可用。极小。这是一维寻优问题,有很多现成的优化方法可用。如分数法,如分数法,如分数法,如分数法,
13、0.6180.618法,抛物线法,立方近似法等。上式表明法,抛物线法,立方近似法等。上式表明法,抛物线法,立方近似法等。上式表明法,抛物线法,立方近似法等。上式表明迭代是沿着梯度迭代是沿着梯度迭代是沿着梯度迭代是沿着梯度的负方向进行的。的负方向进行的。的负方向进行的。的负方向进行的。5 5、修正控制向量、修正控制向量、修正控制向量、修正控制向量6 6、计算是否满足下列指标、计算是否满足下列指标、计算是否满足下列指标、计算是否满足下列指标 是指定小量,若满足则停止计算,否则,令是指定小量,若满足则停止计算,否则,令是指定小量,若满足则停止计算,否则,令是指定小量,若满足则停止计算,否则,令 ,转
14、步骤转步骤转步骤转步骤2 2。另一停止计算的标准是。另一停止计算的标准是。另一停止计算的标准是。另一停止计算的标准是71、梯度法、梯度法例、考虑下面的一阶非线性状态方程例、考虑下面的一阶非线性状态方程例、考虑下面的一阶非线性状态方程例、考虑下面的一阶非线性状态方程用梯度法寻找最优控制使下面的指标最小用梯度法寻找最优控制使下面的指标最小用梯度法寻找最优控制使下面的指标最小用梯度法寻找最优控制使下面的指标最小因因因因x x(1)(1)自由,由横截条件得自由,由横截条件得自由,由横截条件得自由,由横截条件得解:哈密顿函数为解:哈密顿函数为解:哈密顿函数为解:哈密顿函数为协态方程为协态方程为协态方程为
15、协态方程为81、梯度法、梯度法1 1、选初始估计、选初始估计、选初始估计、选初始估计 。代入初始条件:代入初始条件:代入初始条件:代入初始条件: ,确定积分常数,确定积分常数,确定积分常数,确定积分常数2 2、将、将、将、将 代入状态方程可得代入状态方程可得代入状态方程可得代入状态方程可得积分上式可得积分上式可得积分上式可得积分上式可得可得可得可得可得9 4 4、由、由、由、由 ,得,得,得,得1、梯度法、梯度法3 3、将、将、将、将 代入协态方程,且由边界条件代入协态方程,且由边界条件代入协态方程,且由边界条件代入协态方程,且由边界条件 从从从从t t=1=1倒向积分可得倒向积分可得倒向积分
16、可得倒向积分可得这里选步长因子这里选步长因子这里选步长因子这里选步长因子 。如此继续下去,直至指标函数随。如此继续下去,直至指标函数随。如此继续下去,直至指标函数随。如此继续下去,直至指标函数随迭代变化很小为止。迭代变化很小为止。迭代变化很小为止。迭代变化很小为止。5 5、101、梯度法、梯度法右图表示了控制和右图表示了控制和右图表示了控制和右图表示了控制和状态的初始值和第一次状态的初始值和第一次状态的初始值和第一次状态的初始值和第一次迭代值,可以看到第一迭代值,可以看到第一迭代值,可以看到第一迭代值,可以看到第一次迭代次迭代次迭代次迭代 就几乎收敛就几乎收敛就几乎收敛就几乎收敛到最优值,到最
17、优值,到最优值,到最优值, 与最优与最优与最优与最优值还有差异,而且一般值还有差异,而且一般值还有差异,而且一般值还有差异,而且一般说来愈接近最优值收敛说来愈接近最优值收敛说来愈接近最优值收敛说来愈接近最优值收敛愈慢。愈慢。愈慢。愈慢。图图图图b b 最优状态的求解最优状态的求解最优状态的求解最优状态的求解图图图图a a 用梯度法寻找最优控制用梯度法寻找最优控制用梯度法寻找最优控制用梯度法寻找最优控制111、梯度法、梯度法梯度法应用得比较多,它的梯度法应用得比较多,它的梯度法应用得比较多,它的梯度法应用得比较多,它的优点优点优点优点是:是:是:是:(1 1)简单,编制程序容易;)简单,编制程序
18、容易;)简单,编制程序容易;)简单,编制程序容易;(2 2)计算稳定可靠。)计算稳定可靠。)计算稳定可靠。)计算稳定可靠。缺点缺点缺点缺点是:是:是:是:(1 1)在接近最优解时,迭代收敛很慢,为改善收敛性)在接近最优解时,迭代收敛很慢,为改善收敛性)在接近最优解时,迭代收敛很慢,为改善收敛性)在接近最优解时,迭代收敛很慢,为改善收敛性可用共轭梯度法和二阶变分法等;可用共轭梯度法和二阶变分法等;可用共轭梯度法和二阶变分法等;可用共轭梯度法和二阶变分法等;(2 2)不能区分局部极小和全局极小;)不能区分局部极小和全局极小;)不能区分局部极小和全局极小;)不能区分局部极小和全局极小;(3 3)对控
19、制变量受约束,终端状态受约束的情)对控制变量受约束,终端状态受约束的情)对控制变量受约束,终端状态受约束的情)对控制变量受约束,终端状态受约束的情 况不能况不能况不能况不能直接处理。对于这种有约束的情况可用约束梯度法或惩罚函直接处理。对于这种有约束的情况可用约束梯度法或惩罚函直接处理。对于这种有约束的情况可用约束梯度法或惩罚函直接处理。对于这种有约束的情况可用约束梯度法或惩罚函数法加以处理。数法加以处理。数法加以处理。数法加以处理。122 2、共轭梯度法、共轭梯度法、共轭梯度法、共轭梯度法用共轭梯度法寻找最优控制时是沿着所谓共轭梯度向量用共轭梯度法寻找最优控制时是沿着所谓共轭梯度向量用共轭梯度
20、法寻找最优控制时是沿着所谓共轭梯度向量用共轭梯度法寻找最优控制时是沿着所谓共轭梯度向量的方向进行的。为了说明共轭梯度的意义,我们先从求函数的方向进行的。为了说明共轭梯度的意义,我们先从求函数的方向进行的。为了说明共轭梯度的意义,我们先从求函数的方向进行的。为了说明共轭梯度的意义,我们先从求函数极值问题的共轭梯度法开始,再推广到求泛函极值问题。极值问题的共轭梯度法开始,再推广到求泛函极值问题。极值问题的共轭梯度法开始,再推广到求泛函极值问题。极值问题的共轭梯度法开始,再推广到求泛函极值问题。(1) (1) 求函数极值的共轭梯度法求函数极值的共轭梯度法求函数极值的共轭梯度法求函数极值的共轭梯度法其
21、中,其中,其中,其中,C C为常数,为常数,为常数,为常数, Q Q为正定阵。为正定阵。为正定阵。为正定阵。要求寻找要求寻找要求寻找要求寻找X X使使使使F F( (X X) )取极值。取极值。取极值。取极值。设设设设F F( (X X) )是定义在是定义在是定义在是定义在R Rn n空间中的二次指标函数空间中的二次指标函数空间中的二次指标函数空间中的二次指标函数是是是是X X和和和和QXQX的内积。的内积。的内积。的内积。132、共轭梯度法、共轭梯度法则称则称则称则称X X和和和和Y Y是是是是Q Q共轭的。共轭的。共轭的。共轭的。Q Q = = I I(单位阵)时,共轭就变为通常(单位阵)
22、时,共轭就变为通常(单位阵)时,共轭就变为通常(单位阵)时,共轭就变为通常的正交。的正交。的正交。的正交。定义定义定义定义:若:若:若:若R Rn n中两个向量中两个向量中两个向量中两个向量X X和和和和Y Y满足满足满足满足设向量设向量设向量设向量 , 是两两是两两是两两是两两Q Q共轭的,以共轭的,以共轭的,以共轭的,以 为为为为寻找方向,可得共轭梯度法的迭代寻优程序:寻找方向,可得共轭梯度法的迭代寻优程序:寻找方向,可得共轭梯度法的迭代寻优程序:寻找方向,可得共轭梯度法的迭代寻优程序:与梯度法不同处仅在于用共轭梯度与梯度法不同处仅在于用共轭梯度与梯度法不同处仅在于用共轭梯度与梯度法不同处
23、仅在于用共轭梯度P PK K代替负梯度代替负梯度代替负梯度代替负梯度 g gK K = = ( ( F F/ / X X) )KK。问题是如何产生共轭梯度方向。问题是如何产生共轭梯度方向。问题是如何产生共轭梯度方向。问题是如何产生共轭梯度方向 。142、共轭梯度法、共轭梯度法值由值由值由值由 和和和和 对对对对 共轭的关系来确定,即共轭的关系来确定,即共轭的关系来确定,即共轭的关系来确定,即令令令令 ,即初始时共轭梯度与梯度方向相反、大小,即初始时共轭梯度与梯度方向相反、大小,即初始时共轭梯度与梯度方向相反、大小,即初始时共轭梯度与梯度方向相反、大小相等。以后的共轭梯度可如下递归产生:相等。以
24、后的共轭梯度可如下递归产生:相等。以后的共轭梯度可如下递归产生:相等。以后的共轭梯度可如下递归产生:于是,得于是,得于是,得于是,得称为共轭系数。称为共轭系数。称为共轭系数。称为共轭系数。故故故故152、共轭梯度法、共轭梯度法 K K的计算是不方便的,因为要用到二阶导数阵的计算是不方便的,因为要用到二阶导数阵的计算是不方便的,因为要用到二阶导数阵的计算是不方便的,因为要用到二阶导数阵Q Q。而。而。而。而 分别为分别为分别为分别为X X 的第的第的第的第i i个和第个和第个和第个和第j j个分量,右端表示由个分量,右端表示由个分量,右端表示由个分量,右端表示由Q Q 的第的第的第的第i i行行
25、行行第第第第j j列元素构成的矩阵。计算这个二阶导数阵非常困难。为此,列元素构成的矩阵。计算这个二阶导数阵非常困难。为此,列元素构成的矩阵。计算这个二阶导数阵非常困难。为此,列元素构成的矩阵。计算这个二阶导数阵非常困难。为此,有必要推导不用有必要推导不用有必要推导不用有必要推导不用Q Q来计算来计算来计算来计算 K K 的公式。的公式。的公式。的公式。 通过推导(略),可得通过推导(略),可得通过推导(略),可得通过推导(略),可得上式计算上式计算上式计算上式计算 K K,只用到只用到只用到只用到F F( (X X) )在在在在X XK K和和和和X XK K 1 1两处的梯度,因此非常两处的
26、梯度,因此非常两处的梯度,因此非常两处的梯度,因此非常方便。上式对二次函数是精确的,对非二次函数,它只是一个方便。上式对二次函数是精确的,对非二次函数,它只是一个方便。上式对二次函数是精确的,对非二次函数,它只是一个方便。上式对二次函数是精确的,对非二次函数,它只是一个近似公式。近似公式。近似公式。近似公式。 162、共轭梯度法、共轭梯度法将共轭梯度法求将共轭梯度法求将共轭梯度法求将共轭梯度法求F F( (X X) )的极小解的算式归纳如下:的极小解的算式归纳如下:的极小解的算式归纳如下:的极小解的算式归纳如下:(d) (d) 递推逼近极值点解递推逼近极值点解递推逼近极值点解递推逼近极值点解(
27、b) (b) 计算共轭系数计算共轭系数计算共轭系数计算共轭系数(a) (a) 计算梯度计算梯度计算梯度计算梯度(c) (c) 计算共轭梯度计算共轭梯度计算共轭梯度计算共轭梯度 K K用一维寻优决定。用一维寻优决定。用一维寻优决定。用一维寻优决定。 172、共轭梯度法、共轭梯度法(2) (2) 用共轭梯度法解最优控制问题用共轭梯度法解最优控制问题用共轭梯度法解最优控制问题用共轭梯度法解最优控制问题求解最优控制问题的直接法是用迭代方法逐步改善控制求解最优控制问题的直接法是用迭代方法逐步改善控制求解最优控制问题的直接法是用迭代方法逐步改善控制求解最优控制问题的直接法是用迭代方法逐步改善控制量量量量u
28、 u( (t t) ),使它最后满足哈密顿函数,使它最后满足哈密顿函数,使它最后满足哈密顿函数,使它最后满足哈密顿函数H H 取极小的必要条件,故梯取极小的必要条件,故梯取极小的必要条件,故梯取极小的必要条件,故梯度向量为度向量为度向量为度向量为除了这些以外,其它在形式上与求函数极值的共轭梯度除了这些以外,其它在形式上与求函数极值的共轭梯度除了这些以外,其它在形式上与求函数极值的共轭梯度除了这些以外,其它在形式上与求函数极值的共轭梯度法一样。法一样。法一样。法一样。这里梯度向量这里梯度向量这里梯度向量这里梯度向量 是时间的函数,向量时间函数的内积定是时间的函数,向量时间函数的内积定是时间的函数
29、,向量时间函数的内积定是时间的函数,向量时间函数的内积定义为义为义为义为182、共轭梯度法、共轭梯度法共轭梯度法求最优控制步骤为共轭梯度法求最优控制步骤为共轭梯度法求最优控制步骤为共轭梯度法求最优控制步骤为(1) (1) 设已求出第设已求出第设已求出第设已求出第K K步估计的控制函数步估计的控制函数步估计的控制函数步估计的控制函数 可任选。可任选。可任选。可任选。(2) (2) 以以以以 为初值,从为初值,从为初值,从为初值,从 到到到到 积分状态方程,得出状态积分状态方程,得出状态积分状态方程,得出状态积分状态方程,得出状态轨迹轨迹轨迹轨迹 。(3) (3) 以以以以 为终值,从为终值,从为
30、终值,从为终值,从 到到到到 反向积分协态方程,求得反向积分协态方程,求得反向积分协态方程,求得反向积分协态方程,求得协态轨迹协态轨迹协态轨迹协态轨迹 。(4) (4) 计算梯度向量计算梯度向量计算梯度向量计算梯度向量(5) (5) 计算共轭系数计算共轭系数计算共轭系数计算共轭系数(6) (6) 计算共轭梯度计算共轭梯度计算共轭梯度计算共轭梯度192、共轭梯度法、共轭梯度法停止计算。否则令停止计算。否则令停止计算。否则令停止计算。否则令 ,回到步骤,回到步骤,回到步骤,回到步骤2 2。(8) (8) 当满足下面的不等式当满足下面的不等式当满足下面的不等式当满足下面的不等式用一维寻优决定用一维寻
31、优决定用一维寻优决定用一维寻优决定 ,即,即,即,即 (7) (7) 计算控制函数计算控制函数计算控制函数计算控制函数202、共轭梯度法、共轭梯度法要求用共轭梯度法决定最优控制要求用共轭梯度法决定最优控制要求用共轭梯度法决定最优控制要求用共轭梯度法决定最优控制 ,使,使,使,使 最小。最小。最小。最小。性能指标性能指标性能指标性能指标例例例例 设系统状态方程为设系统状态方程为设系统状态方程为设系统状态方程为协态方程为协态方程为协态方程为协态方程为解解解解 哈密顿函数为哈密顿函数为哈密顿函数为哈密顿函数为212、共轭梯度法、共轭梯度法故协态方程化为故协态方程化为故协态方程化为故协态方程化为横截条
32、件横截条件横截条件横截条件选选选选 ,代入状态方程和协态方程,可求得,代入状态方程和协态方程,可求得,代入状态方程和协态方程,可求得,代入状态方程和协态方程,可求得(1) (1) K K=0=0时的计算时的计算时的计算时的计算积分可得积分可得积分可得积分可得状态方程状态方程状态方程状态方程22共轭梯度共轭梯度共轭梯度共轭梯度 。2、共轭梯度法、共轭梯度法梯度向量梯度向量梯度向量梯度向量 0 0用一维寻优来决定。将用一维寻优来决定。将用一维寻优来决定。将用一维寻优来决定。将 代入状态方程和协态方程代入状态方程和协态方程代入状态方程和协态方程代入状态方程和协态方程(2) (2) K K=1=1时的
33、计算时的计算时的计算时的计算状态方程状态方程状态方程状态方程协态方程协态方程协态方程协态方程232、共轭梯度法、共轭梯度法积分得积分得积分得积分得242、共轭梯度法、共轭梯度法可求得可求得可求得可求得 的最优值为的最优值为的最优值为的最优值为于是于是于是于是由由由由积分上式可得积分上式可得积分上式可得积分上式可得协态方程协态方程协态方程协态方程由由由由252、共轭梯度法、共轭梯度法共轭系数共轭系数共轭系数共轭系数共轭梯度共轭梯度共轭梯度共轭梯度262、共轭梯度法、共轭梯度法(2) (2) K K=1=1时时,控制量为时时,控制量为时时,控制量为时时,控制量为同以上步骤,将同以上步骤,将同以上步
34、骤,将同以上步骤,将 代入状态方程和协态方程,求出代入状态方程和协态方程,求出代入状态方程和协态方程,求出代入状态方程和协态方程,求出对对对对 寻优,可得寻优,可得寻优,可得寻优,可得 ,于是,于是,于是,于是由由由由272、共轭梯度法、共轭梯度法所以,这个例子只要两步迭代即可得到最优解。一般所以,这个例子只要两步迭代即可得到最优解。一般所以,这个例子只要两步迭代即可得到最优解。一般所以,这个例子只要两步迭代即可得到最优解。一般说来,共轭梯度法比梯度法收敛快,但接近最优解后收敛说来,共轭梯度法比梯度法收敛快,但接近最优解后收敛说来,共轭梯度法比梯度法收敛快,但接近最优解后收敛说来,共轭梯度法比
35、梯度法收敛快,但接近最优解后收敛性仍是较慢的。一个补救办法是重新启动,即找出几个共性仍是较慢的。一个补救办法是重新启动,即找出几个共性仍是较慢的。一个补救办法是重新启动,即找出几个共性仍是较慢的。一个补救办法是重新启动,即找出几个共轭梯度方向轭梯度方向轭梯度方向轭梯度方向 后,令后,令后,令后,令 ,再重新,再重新,再重新,再重新迭代,寻找共轭梯度方向。迭代,寻找共轭梯度方向。迭代,寻找共轭梯度方向。迭代,寻找共轭梯度方向。可以证明可以证明可以证明可以证明 ,即为最优控制。这只要证明,即为最优控制。这只要证明,即为最优控制。这只要证明,即为最优控制。这只要证明即可。即可。即可。即可。28二、间
36、接法二、间接法1 1、边界迭代法、边界迭代法、边界迭代法、边界迭代法方法的特点是逐步改善对缺少的初始条件的估计,以满方法的特点是逐步改善对缺少的初始条件的估计,以满方法的特点是逐步改善对缺少的初始条件的估计,以满方法的特点是逐步改善对缺少的初始条件的估计,以满足规定的边界条件。它的原理如下。足规定的边界条件。它的原理如下。足规定的边界条件。它的原理如下。足规定的边界条件。它的原理如下。可解出可解出可解出可解出U U,将它表示为,将它表示为,将它表示为,将它表示为X X和和和和 的函数,即的函数,即的函数,即的函数,即利用哈密顿函数利用哈密顿函数利用哈密顿函数利用哈密顿函数HH取极小的方法取极小
37、的方法取极小的方法取极小的方法将所求得的将所求得的将所求得的将所求得的 代入正则方程,消去正则方程中代入正则方程,消去正则方程中代入正则方程,消去正则方程中代入正则方程,消去正则方程中的的的的U U。再引入增广状态。再引入增广状态。再引入增广状态。再引入增广状态正则方程正则方程正则方程正则方程291、边界迭代法、边界迭代法 、g g一般是非线性向量函数。正则方程有一般是非线性向量函数。正则方程有一般是非线性向量函数。正则方程有一般是非线性向量函数。正则方程有n n个已知初始条件个已知初始条件个已知初始条件个已知初始条件 X X( (t t0 0)=)=X X0 0和和和和n n个终端条件:个终
38、端条件:个终端条件:个终端条件:则正则方程可写成则正则方程可写成则正则方程可写成则正则方程可写成这是混合式的两点边值条件,用边界迭代法也很易处理。这是混合式的两点边值条件,用边界迭代法也很易处理。这是混合式的两点边值条件,用边界迭代法也很易处理。这是混合式的两点边值条件,用边界迭代法也很易处理。显然,显然,显然,显然, 是已知的,并设为是已知的,并设为是已知的,并设为是已知的,并设为 。定义定义定义定义301、边界迭代法、边界迭代法因因因因 未知,用一个估计值未知,用一个估计值未知,用一个估计值未知,用一个估计值 得到的解为得到的解为得到的解为得到的解为设由设由设由设由 、 出发积分正则方程,
39、求得解出发积分正则方程,求得解出发积分正则方程,求得解出发积分正则方程,求得解 ,从中抽出从中抽出从中抽出从中抽出n n个分量构成个分量构成个分量构成个分量构成 。显然。显然。显然。显然 的值将随的值将随的值将随的值将随 而而而而变,记成变,记成变,记成变,记成因因因因 估计得不一定准确,故估计得不一定准确,故估计得不一定准确,故估计得不一定准确,故 一般不等于给定值一般不等于给定值一般不等于给定值一般不等于给定值 。将。将。将。将 在在在在 处展开为台劳级数,保留一次处展开为台劳级数,保留一次处展开为台劳级数,保留一次处展开为台劳级数,保留一次项,得项,得项,得项,得其中,其中,其中,其中,
40、 是是是是 维矩阵,称为敏感矩阵或转移矩阵。维矩阵,称为敏感矩阵或转移矩阵。维矩阵,称为敏感矩阵或转移矩阵。维矩阵,称为敏感矩阵或转移矩阵。311、边界迭代法、边界迭代法式中,式中,式中,式中, 是是是是 的第的第的第的第i i行,第行,第行,第行,第j j 列元素。可得列元素。可得列元素。可得列元素。可得因因因因 一般是非线性函数,上式是一个近似式,为了求得正确一般是非线性函数,上式是一个近似式,为了求得正确一般是非线性函数,上式是一个近似式,为了求得正确一般是非线性函数,上式是一个近似式,为了求得正确的的的的 ,要用迭代求解。,要用迭代求解。,要用迭代求解。,要用迭代求解。321、边界迭代
41、法、边界迭代法其中,其中,其中,其中,K K是迭代次数,是迭代次数,是迭代次数,是迭代次数, 是松驰因子,是松驰因子,是松驰因子,是松驰因子, , 可改善可改善可改善可改善收敛性,收敛到最后时,将收敛性,收敛到最后时,将收敛性,收敛到最后时,将收敛性,收敛到最后时,将 取为取为取为取为1 1。在第。在第。在第。在第K K步,用步,用步,用步,用 作作作作为估值,积分正则方程,求得为估值,积分正则方程,求得为估值,积分正则方程,求得为估值,积分正则方程,求得 。令令令令 是第是第是第是第K K步的估值,则可得到下面的迭代式步的估值,则可得到下面的迭代式步的估值,则可得到下面的迭代式步的估值,则可
42、得到下面的迭代式 为指定的小值,则停止计算。否则用为指定的小值,则停止计算。否则用为指定的小值,则停止计算。否则用为指定的小值,则停止计算。否则用 代替代替代替代替 ,再积分正则方程,重复进行。再积分正则方程,重复进行。再积分正则方程,重复进行。再积分正则方程,重复进行。若若若若331、边界迭代法、边界迭代法计算步骤如下:计算步骤如下:计算步骤如下:计算步骤如下:(1) (1) 由由由由 解出解出解出解出 ,代入正则方程。,代入正则方程。,代入正则方程。,代入正则方程。(2) (2) 的第的第的第的第K K步估计值步估计值步估计值步估计值 和给定的和给定的和给定的和给定的 合在一合在一合在一合
43、在一起,从起,从起,从起,从 积分正则方程,求出积分正则方程,求出积分正则方程,求出积分正则方程,求出 ,抽出,抽出,抽出,抽出n n个个个个要求的分量的终值要求的分量的终值要求的分量的终值要求的分量的终值 ,若,若,若,若 ,停止计,停止计,停止计,停止计算,否则进行下一步。算,否则进行下一步。算,否则进行下一步。算,否则进行下一步。(4) (4) 迭代计算迭代计算迭代计算迭代计算 。(5) (5) 令令令令 回到步骤回到步骤回到步骤回到步骤2 2。(3) (3) 求敏感矩阵求敏感矩阵求敏感矩阵求敏感矩阵 。341、边界迭代法、边界迭代法这种这种这种这种方法的缺点方法的缺点方法的缺点方法的缺
44、点是:是:是:是:(1) (1) 第一次估计第一次估计第一次估计第一次估计 很困难,很困难,很困难,很困难,(2) (2) 终端值对终端值对终端值对终端值对 非常敏感时,非常敏感时,非常敏感时,非常敏感时, 与与与与 相差很相差很相差很相差很大,线性关系大,线性关系大,线性关系大,线性关系(3) (3) 敏感矩阵难于确定得很精确,对它求逆的运算也容敏感矩阵难于确定得很精确,对它求逆的运算也容敏感矩阵难于确定得很精确,对它求逆的运算也容敏感矩阵难于确定得很精确,对它求逆的运算也容易引入误差。易引入误差。易引入误差。易引入误差。不成立。不成立。不成立。不成立。351、边界迭代法、边界迭代法例例例例
45、 系统状态方程为系统状态方程为系统状态方程为系统状态方程为性能指标为性能指标为性能指标为性能指标为用边界迭代法寻找用边界迭代法寻找用边界迭代法寻找用边界迭代法寻找 ,使,使,使,使 最小。最小。最小。最小。解解解解 因终端因终端因终端因终端 , 自由,故自由,故自由,故自由,故设设设设 的初始估计值为零,迭代结果见表。的初始估计值为零,迭代结果见表。的初始估计值为零,迭代结果见表。的初始估计值为零,迭代结果见表。第第第第7 7次迭代时,次迭代时,次迭代时,次迭代时, 、 已为零,满足了边界条件。已为零,满足了边界条件。已为零,满足了边界条件。已为零,满足了边界条件。361、边界迭代法、边界迭代
46、法372 2、拟线性化法、拟线性化法、拟线性化法、拟线性化法方法的特点方法的特点方法的特点方法的特点:用迭代算法来改善对正则方程解的估计,:用迭代算法来改善对正则方程解的估计,:用迭代算法来改善对正则方程解的估计,:用迭代算法来改善对正则方程解的估计,使它逐步逼近正则方程的精确解。使它逐步逼近正则方程的精确解。使它逐步逼近正则方程的精确解。使它逐步逼近正则方程的精确解。n n个初始条件个初始条件个初始条件个初始条件将正则方程写成将正则方程写成将正则方程写成将正则方程写成n n个终端条件个终端条件个终端条件个终端条件 拟线性化法将非线性两点边值问题转化为线性两点边拟线性化法将非线性两点边值问题转
47、化为线性两点边拟线性化法将非线性两点边值问题转化为线性两点边拟线性化法将非线性两点边值问题转化为线性两点边值问题,因此变得容易求解。值问题,因此变得容易求解。值问题,因此变得容易求解。值问题,因此变得容易求解。设第设第设第设第K K步迭代解为步迭代解为步迭代解为步迭代解为 ,将正则方程在,将正则方程在,将正则方程在,将正则方程在 展开,展开,展开,展开,保留一次项,可得到保留一次项,可得到保留一次项,可得到保留一次项,可得到第第第第K K+1+1步的解步的解步的解步的解 ,有,有,有,有382、拟线性化法、拟线性化法满足给定边界条件满足给定边界条件满足给定边界条件满足给定边界条件则正则方程的展
48、开式可写成线性非齐次微分方程则正则方程的展开式可写成线性非齐次微分方程则正则方程的展开式可写成线性非齐次微分方程则正则方程的展开式可写成线性非齐次微分方程或或或或其中,系统矩阵其中,系统矩阵其中,系统矩阵其中,系统矩阵时,停止计算。时,停止计算。时,停止计算。时,停止计算。当满足当满足当满足当满足驱动函数向量驱动函数向量驱动函数向量驱动函数向量392、拟线性化法、拟线性化法用拟线性化法求用拟线性化法求用拟线性化法求用拟线性化法求 ,使,使,使,使 最小。最小。最小。最小。例例例例 系统方程为系统方程为系统方程为系统方程为性能指标为性能指标为性能指标为性能指标为解解解解 哈密顿函数为哈密顿函数为
49、哈密顿函数为哈密顿函数为代入正则方程中,得到代入正则方程中,得到代入正则方程中,得到代入正则方程中,得到402、拟线性化法、拟线性化法2 2n n 2 2n n维的系统矩阵维的系统矩阵维的系统矩阵维的系统矩阵n n 1 1维的驱动函数向量维的驱动函数向量维的驱动函数向量维的驱动函数向量412、拟线性化法、拟线性化法于是,在正则方程线性化后得到的非齐次时变微分方程中,于是,在正则方程线性化后得到的非齐次时变微分方程中,于是,在正则方程线性化后得到的非齐次时变微分方程中,于是,在正则方程线性化后得到的非齐次时变微分方程中,系数阵系数阵系数阵系数阵 和驱动项和驱动项和驱动项和驱动项 都已确定,解这个
50、非齐次时变微都已确定,解这个非齐次时变微都已确定,解这个非齐次时变微都已确定,解这个非齐次时变微分方程,并用边界条件分方程,并用边界条件分方程,并用边界条件分方程,并用边界条件 和和和和 以决定通解以决定通解以决定通解以决定通解中的未定常数,就完全确定了中的未定常数,就完全确定了中的未定常数,就完全确定了中的未定常数,就完全确定了 ,这就完成了一次迭代。,这就完成了一次迭代。,这就完成了一次迭代。,这就完成了一次迭代。当满足精度要求时,停止计算,求解结束。当满足精度要求时,停止计算,求解结束。当满足精度要求时,停止计算,求解结束。当满足精度要求时,停止计算,求解结束。 非齐次时变微分方程非齐次
51、时变微分方程非齐次时变微分方程非齐次时变微分方程42小结小结(1) (1) 最优控制的计算方法可分为直接法和间接法两大类。最优控制的计算方法可分为直接法和间接法两大类。最优控制的计算方法可分为直接法和间接法两大类。最优控制的计算方法可分为直接法和间接法两大类。直接法中我们列举了梯度法和共轭梯度法。间接法中列举了直接法中我们列举了梯度法和共轭梯度法。间接法中列举了直接法中我们列举了梯度法和共轭梯度法。间接法中列举了直接法中我们列举了梯度法和共轭梯度法。间接法中列举了边界迭代法和拟线性化法。边界迭代法和拟线性化法。边界迭代法和拟线性化法。边界迭代法和拟线性化法。(2) (2) 直接法的特点是:在每
52、步迭代中并不满足哈密顿函数直接法的特点是:在每步迭代中并不满足哈密顿函数直接法的特点是:在每步迭代中并不满足哈密顿函数直接法的特点是:在每步迭代中并不满足哈密顿函数HH取极小的必要条件,只是在迭代终了才满足这个条件;另取极小的必要条件,只是在迭代终了才满足这个条件;另取极小的必要条件,只是在迭代终了才满足这个条件;另取极小的必要条件,只是在迭代终了才满足这个条件;另外积分状态方程时是从外积分状态方程时是从外积分状态方程时是从外积分状态方程时是从t t0 0到到到到t tf f,而积分协态方程时是从,而积分协态方程时是从,而积分协态方程时是从,而积分协态方程时是从t tf f到到到到t t0 0
53、 。由于状态和协态的稳定性是相反的,所以这种双向积分,由于状态和协态的稳定性是相反的,所以这种双向积分,由于状态和协态的稳定性是相反的,所以这种双向积分,由于状态和协态的稳定性是相反的,所以这种双向积分,可使最优化过程非常稳定。可使最优化过程非常稳定。可使最优化过程非常稳定。可使最优化过程非常稳定。43小结小结(3) (3) 梯度法是利用梯度信息梯度法是利用梯度信息梯度法是利用梯度信息梯度法是利用梯度信息 HH/ / u u来不断改善对控制函数来不断改善对控制函数来不断改善对控制函数来不断改善对控制函数u u( (t t) )的估计,最后满足的估计,最后满足的估计,最后满足的估计,最后满足 H
54、H/ / u u=0=0的必要条件。这是一种简单又的必要条件。这是一种简单又的必要条件。这是一种简单又的必要条件。这是一种简单又稳定的算法,几乎对所有的稳定的算法,几乎对所有的稳定的算法,几乎对所有的稳定的算法,几乎对所有的u u( (t t) )的初始估计都有很好的收敛性。的初始估计都有很好的收敛性。的初始估计都有很好的收敛性。的初始估计都有很好的收敛性。但在远离最优解时收敛速度快,在接近最优解时收敛得慢但在远离最优解时收敛速度快,在接近最优解时收敛得慢但在远离最优解时收敛速度快,在接近最优解时收敛得慢但在远离最优解时收敛速度快,在接近最优解时收敛得慢(原因在于(原因在于(原因在于(原因在于
55、 HH/ / u u 0 0)。)。)。)。共轭梯度法比梯度法稍微复杂些,但收敛速度也快些。共轭梯度法比梯度法稍微复杂些,但收敛速度也快些。共轭梯度法比梯度法稍微复杂些,但收敛速度也快些。共轭梯度法比梯度法稍微复杂些,但收敛速度也快些。同样,在接近最优解时,共轭梯度法收敛速度变慢。要加速同样,在接近最优解时,共轭梯度法收敛速度变慢。要加速同样,在接近最优解时,共轭梯度法收敛速度变慢。要加速同样,在接近最优解时,共轭梯度法收敛速度变慢。要加速接近最优解时的收敛速度可用二阶变分法,不过这种方法的接近最优解时的收敛速度可用二阶变分法,不过这种方法的接近最优解时的收敛速度可用二阶变分法,不过这种方法的
56、接近最优解时的收敛速度可用二阶变分法,不过这种方法的计算复杂程度要增加很多。计算复杂程度要增加很多。计算复杂程度要增加很多。计算复杂程度要增加很多。 44小结小结(4) (4) 间接法的特点是:在每步迭代中都满足间接法的特点是:在每步迭代中都满足间接法的特点是:在每步迭代中都满足间接法的特点是:在每步迭代中都满足HH取极小的取极小的取极小的取极小的必要条件;另外,它同时从一个方向(从必要条件;另外,它同时从一个方向(从必要条件;另外,它同时从一个方向(从必要条件;另外,它同时从一个方向(从t t0 0到到到到t tf f或从或从或从或从t tf f到到到到t t0 0 )积分状态和协态方程。)
57、积分状态和协态方程。)积分状态和协态方程。)积分状态和协态方程。由于状态和协态的稳定性相反,这就使得对边界条件由于状态和协态的稳定性相反,这就使得对边界条件由于状态和协态的稳定性相反,这就使得对边界条件由于状态和协态的稳定性相反,这就使得对边界条件的初始估计非常敏感。尤其当终端时刻远远大于系统的最的初始估计非常敏感。尤其当终端时刻远远大于系统的最的初始估计非常敏感。尤其当终端时刻远远大于系统的最的初始估计非常敏感。尤其当终端时刻远远大于系统的最小时间常数时,收敛性可能很差。小时间常数时,收敛性可能很差。小时间常数时,收敛性可能很差。小时间常数时,收敛性可能很差。边界迭代法是在每步迭代中不断改善
58、对缺少的初始条边界迭代法是在每步迭代中不断改善对缺少的初始条边界迭代法是在每步迭代中不断改善对缺少的初始条边界迭代法是在每步迭代中不断改善对缺少的初始条件的估计去满足给定的终端条件(也可改善对缺少的终端件的估计去满足给定的终端条件(也可改善对缺少的终端件的估计去满足给定的终端条件(也可改善对缺少的终端件的估计去满足给定的终端条件(也可改善对缺少的终端条件的估计去满足给定的初始条件),这种方法对初始估条件的估计去满足给定的初始条件),这种方法对初始估条件的估计去满足给定的初始条件),这种方法对初始估条件的估计去满足给定的初始条件),这种方法对初始估计(如计(如计(如计(如 ( (t t0 0)
59、))是非常敏感的,只有在能获得良好的初始估)是非常敏感的,只有在能获得良好的初始估)是非常敏感的,只有在能获得良好的初始估)是非常敏感的,只有在能获得良好的初始估计时,才建议使用这种方法。计时,才建议使用这种方法。计时,才建议使用这种方法。计时,才建议使用这种方法。 45小结小结拟线性化法将非线性正则方程围绕上一步的估计解轨拟线性化法将非线性正则方程围绕上一步的估计解轨拟线性化法将非线性正则方程围绕上一步的估计解轨拟线性化法将非线性正则方程围绕上一步的估计解轨迹迹迹迹 线性化,递推解出线性化,递推解出线性化,递推解出线性化,递推解出 最后满足正则方程。最后满足正则方程。最后满足正则方程。最后满足正则方程。这种方法对初始估计这种方法对初始估计这种方法对初始估计这种方法对初始估计 可能不如边界迭代法对初始估可能不如边界迭代法对初始估可能不如边界迭代法对初始估可能不如边界迭代法对初始估计计计计 那么敏感。并且求线性微分方程的解也比较容易。那么敏感。并且求线性微分方程的解也比较容易。那么敏感。并且求线性微分方程的解也比较容易。那么敏感。并且求线性微分方程的解也比较容易。46