经典:最优控制的计算方法
最优控制的计算方法
一、直接法 二、间接法
1
最优控制的计算方法
在前面讨论变分法、极小值原理和动态规划时,我 们列举了一些例子。为了易于说明问题,这些例子都是 非常简单的,可以用手算来解决问题。但是在实际工作 中所遇到的最优控制问题,一般都是很复杂的,必须用 计算机求解。
因此,最优控制的计算方法就变得十分重要了。这 方面的内容十分丰富,由于篇幅所限,我们只介绍几种 典型的算法。
u1 (t )
次迭代 x (t ) 就几乎收敛
u 0 (t)
到最优值,u 1 (t ) 与最优
值还有差异,而且一般
0
图a 用梯度法寻找最优控制 x
1t
说来愈接近最优值收敛
愈慢。
10
x 0 (t)
x ' (t)和最优值
图b 最优状态的求解
t
11
1、梯度法
梯度法应用得比较多,它的优点是: (1)简单,编制程序容易; (2)计算稳定可靠。 缺点是: (1)在接近最优解时,迭代收敛很慢,为改善收敛性 可用共轭梯度法和二阶变分法等; (2)不能区分局部极小和全局极小; (3)对控制变量受约束,终端状态受约束的情 况不能 直接处理。对于这种有约束的情况可用约束梯度法或惩罚函 数法加以处理。
2、将u0(t) 0代入状态方程可得
积分上式可得
dx dt
x2 1 t c
x
代入初始条件: x(0) 10,确定积分常数 c 1 10
可得 x(t)x0(t) 10 10t1
9
1、梯度法
3、将 x 0 (t )代入协态方程,且由边界条件 0(1) 0 从
t=1倒向积分可得
0(t)1 [1 (1 1 0 t)2/1 2 1 ] 0(1 ) 0 2
5
1、梯度法
3、用UK(t)、XK(t)和横截条件求得的终端值(tf),从tf 到t0反向积分协态方程,求出协态向量K(tf)。
4、计算哈密顿函数H对U的梯度向量
gK
H (U )K
H
( U
)K
表示在 U
K、X
K、 K
处取值。当这些量非最优值
时, g K 0。
6
1、梯度法
5、修正控制向量 UK1UK KgK
转步骤2。另一停止计算的标准是
gK
7
1、梯度法
例、考虑下面的一阶非线性状态方程
x x2u x(0) 10
用梯度法寻找最优控制使下面的指标最小
J1 1(x2 u2)dt 20
解:哈密顿函数为
H1(x2u2)x2u
2
协态方程为 Hx2x
x
因x(1)自由,由横截条件得 0(1) 0
8
1、梯度法
1、选初始估计 u0(t) 0 。
与梯度法不同处仅在于用共轭梯度PK代替负梯度gK =
(F/X)K。问题是如何产生共轭梯度方向PK,K0,1,2, 。
14
2、共轭梯度法
令 P0 g0,即初始时共轭梯度与梯度方向相反、大小
要求寻找X使F(X)取极值。
13
2、共轭梯度法
定义:若Rn中两个向量X和Y满足
(X, Q)Y XTQ Y0
则称X和Y是Q共轭的。Q = I(单位阵)时,共轭就变为通常 的正交。
设向量 PK ,K0,1,2, 是两两Q共轭的,以 PK 为
寻找方向,可得共轭梯度法的迭代寻优程序:
X K 1X KK P K
要条件,而且要同时积分状态方程和协态方程,两种方程的积 分都从从t0到tf或从tf到t0 。常用的间接法有边界迭代法和拟线 性化法。
3
最优控制的计算方法
由极小值原理可知,最优控制问题的解必须满足以下几 个条件:
(i)正则方程 X H
H
X
(ii)哈密顿函数H取极小的必要条件
H 0 ( U无约束) U
K 是一个步长因子,它是待定的很多现成的优化方法可用。 如分数法,0.618法,抛物线法,立方近似法等。上式表明
迭代是沿着梯度 g K 的负方向进行的。
6、计算是否满足下列指标
J(UK1)J(UK)
J(UK) 是指定小量,若满足则停止计算,否则,令 KK1,
1、梯度法 这是一种直接方法,应用比较广泛。它的特点是:先猜 测任意一个控制函数U(t),它可能并不满足H 取极小的必要条 件,然后用迭代算法根据H 梯度减小的方向来改善U(t),使它 最后满足必要条件。 计算步骤如下: 1、先猜测[t0, tf]中的一个控制向量UK(t)=U0(t),K是迭代 步数,初始时K=0。U0 的决定要凭工程经验,猜得合理,计 算收敛得就快 2、在第K步,以估计值UK和给定的初始条件X(t0),从t0 到tf 顺向积分状态方程,求出状态向量XK(t)。
或
m H (i X * n ,* ,U ,t) H (X * ,* ,U * ,t)( U有约束)
U
(iii)边界条件(包括横截条件)
最优控制的计算方法一般是先求出满足上面三个条件中
某两个的解,然后用合适的迭代计算形式逐次改变这个解, 以达到满足剩下的另一个条件的解(即最优解)。
4
一、直接法
12
2、共轭梯度法 用共轭梯度法寻找最优控制时是沿着所谓共轭梯度向量 的方向进行的。为了说明共轭梯度的意义,我们先从求函数 极值问题的共轭梯度法开始,再推广到求泛函极值问题。 (1) 求函数极值的共轭梯度法 设F(X)是定义在Rn空间中的二次指标函数
F(X)1(X,Q)X aTXC 2
其中, X ( x 1 x 2 x n ) T ,a T ( a 1 a 2 a n ), C为常数, Q为正定阵。 (X,QX)XTQX是X和QX的内积。
4、由 H u ,得 (H )0 0(t)
u
u
5、 u 1 (t) u 0(t) ( H )0 1 [1 (1 1t)0 2/1]21 u 2
这里选步长因子 K 1 。如此继续下去,直至指标函数随
迭代变化很小为止。
10
1、梯度法
u
右图表示了控制和 状态的初始值和第一次
最优值
迭代值,可以看到第一
2
最优控制的计算方法
直接法的特点是,在每一步迭代中,U(t)不一定要满足H 取极小的必要条件,而是逐步改善它,在迭代终了使它满足这 个必要条件,而且,积分状态方程是从t0到tf ,积分协态方程
是从tf到t0,这样就避免了去寻找缺少的协态初值(t0)的困难。
常用的直接法有梯度法,二阶梯度法,共轭梯度法。 间接法的特点是,在每一步迭代中都要满足H取极小的必