机械优化设计中的鲍威尔方法
鲍威尔( Powell)法是直接利用函数值来构造共轭方向的一种方法。
对函数f(x)= 1 x2Gx+bT +c 的极小化问题, 基本思想是: 在不用导数
2
的前提下,在迭代中逐次构造G 的共轭方向。
鲍威尔算法的基本思想:
性质一:同心椭圆簇;
性质二:平行切点的连线必
dj
dj
g k
g k
经过椭圆簇中心;
性质三:椭圆中心即为极小点。 。
+
1
d k
x kx k+
1
一.共轭方向的生成
如图 1,设 xk,xk+1 为从不同点出发, 沿同一方向 dj 进行一维搜索而到
的两个极小点。 根据梯度和等值面相垂直的性质, dj 和 xk, xk+1 两点
处的梯度 gk,gk+1 之间存在关系 :
dj)Tgk=0 (dj)Tgk+1=0:另一方面,对于上述二次函数,其 xk, xk+1
两点处的梯度可表示为:gk=Gxk+bgk+1 =Gxk+1 +b:因而有
dj)T(gk+1 -gk)=(dj)TG(x k+1-x k)=0,取 dk=xk+1 -xk 这说明只要沿 dj 方向分
别对函作两次一维搜索,得到两个极小点xk 和 xk+1 ,那么这两点的
连线所给出的方向dk 就是与 dj 一起对 G 共轭的方向。
一.基本算法
1)任选一初始点 x0,再选两个线性无关的向量,如坐标轴单位向量 e1=[1,0] T 和 e2=[0,1] T 作为初始搜索方向。
2)从 x0 出发,顺次沿 e1, e2 作一维搜索
,得 x1
0,x20 点,两点连线得一新方向
x2
d1
d1=x2
0-x0。用 d1 代替 e1 形成两个线性无
关向量 d1 ,e2
,作为下一轮迭代的搜索方向。
x *
再 x20
出发,沿 d1 作一维搜索得点 x01,
1
作为下一轮迭代的初始点。
d2
e2
3)从 x1 出发,顺次沿 ,e2。 d1 作一维搜索,
x 0e1
x
1
4)得到点 x1
1,x21,两点连线得一新方
:d2=x21-x11。
4)沿 d2d2 作一维搜索得点 .x2 ,即是二维问题的极小点x* 。 .
把二维情况的基本算法扩展到n 维,则鲍威尔基本算法的要点是:
在每一轮迭代中总有一个始点(第一轮的始点是任选的初始点)
n 个线性独立的搜索方向。 从始点出发顺次沿 n 个方向作一维搜索得一终点,由始点和终点决定了一个新的搜索方向。
用这个方向替换原来 n 个方向中的一个,于是形成新的搜索方向组。替换的原则是去掉原方向组的第一个方向而将新方向排在原方向的最后。此外规定,从这一轮的搜索终点出发沿新的搜索方向作一维搜索而得到的极小点, 作为下一轮迭代的始点。 这样就形成算法的循环。
二.改进的算法
在改进的算法中首先判断原向量组是否需要替换。如果需要替换,
还要进一步判断原向量组中哪个向量最坏,然后再用新产生的向量替
换这个最坏的向量,以保证逐次生成共轭方向。
记 f i=f(x ik)(i=1,2,3,,,n)
因而 F0=f0,
i=f m-1-f m, 相应的方向为
k
dm ,为了构成共轭性好的方
向组,须遵循下列准则:
在 k 次循环中,若满足条件
F
3
0
(F0-2F 2+F3)(F 0-F 2- m)2<0.5
m(F0-F 3) 2, 则选用新方向 dk,并在第
k
替换对应于
k
。否则,仍然用原方向组
k+1 迭代中用 d
m的方向 dm
进行第 k+1 迭代。这样重复迭代的结果, 后面加进去的向量都彼此对
G共轭,经 n 轮迭代即可得到一个由n 个共轭方向所组成的方向组。
对于二次函次,最多n 次就可找到极小点,而对一般函数,往往要超
n 次才能找到极小点(这里“ n”表示设计空间的维数) 。以上就是鲍威尔方法的基本概念,鲍威尔方法有如下几个优点:
1.无需求解目标函数一阶和二阶导数。
a)不明确目标函数表达式;b)目标函数复杂;
2.对目标函数解析性质不作苛刻要求。
a)属于直接求解方法; b)函数类型要求较少,适用面广;
3.收敛速度较快。直接法收敛速度较慢,但鲍威尔法寻找最速收敛方
向,故属直接法中最有效的方法。