如图6.10,图中给出的流程图为鲍威尔法所描述的版本,请注意,搜索将在S 方向按顺序进行:S ,S ,S ,…, S ,S ;S ; S ,S ,…, S ,S , S ;S ; S ,S ,…, S ,S , S , S ;S ,…直到找到最小点。在这里S 表明坐标方向u 和S 的第j个模式方向。如图6.10,以前的基准点都存储为矢量Z在区块A中,同时模式的方向通过减去以前的基准点与当前块B来构建,模式方向然后被用作最小化方向中的块C和块D。对于下一个周期,丢弃在上一个周期中使用的第一方向对当前模式方向有利,这通过更新搜索方向在E块中所示的数字来取得。
鲍威尔法的演变
因此,两点Z和X在B块中用于模式方向的建设是沿着S 方向在第一个周期里的极小值点,在第二个周期中的第一模式方向S ,在第三个周期中的第二模式方向S ,等等。
二次收敛 从图6.10可以看出,模式方向S ,S ,S ,…只不过是分别加入极小的沿S , S , S ,…方向被发现的线。因此,通过定理6.1,(S , S ),( S , S )等等对方向是共轭的。这样看来S , S , S ,…所有方向都是共轭的。通过定理6.2得到,任何涉及沿一组最小化共轭方向的搜索方法就是二次收敛。鲍威尔法也是二次收敛。通过用于构建共轭方向S , S ,…的方法,我们发现n个最小周期需要完成n个共轭方向的构建。在第i个周期,最小化通
鲍威尔法流程图
过沿构建好的共轭方向i和未完成的共轭(坐标)方向n—i来完成。因此,在n个周期后,所有n维搜索方向都相互共轭,并且二次方程式理论上可以在最小化一维n 上达到最低限度,这证明了鲍威尔法的二次收敛。
必须指出,与大多数的数字技术一样,许多实际问题的收敛可能不是同理论上表明的一样好。鲍威尔法可能需要更多的迭代来尽量减少除理论上估计数外的函数。这有如下几个原因:
1、 由于周期数n只适用于二次函数,它通常大于非二次函数的n个周期。
2、 在每一个一维最小化中发现了确切的最低假设,而二次收敛的试验正是建立在这种假设上的。然而,实际减少步长 将仅仅只是近似而已,后续方向也不会出现共轭。因此,该方法需要更多的迭代次数以实现整体收敛。
3、 以上所描述的鲍威尔法可以打破之前发现的最低点,这是因为搜索方向S 有可能在数值计算上形成依赖甚至完全依赖。
收敛判别法 收敛准则,一个普遍采用的方法,如鲍威尔法是停止每当最小化周期产生所需精度在所有变量中不到十分之一变化的过程。然而,鲍威尔给出了一个更加详细的收敛准则,这个准则更有可能避免过早的结束进程。
例6.7 用鲍威尔法求函数f(x ,x )=x - x +2x +2x x + x 在起始点X = 的极小值。
解:
方法一:单变量搜索
我们最大限度减少f沿着S =S = 到X 方向,为了找到正确的方向(+S 或者-S )来减小f值,我们采用调查长度 =0.01,f =f(X )=0.0,同时
f =f(X + S )=f(0.0,0.01)=-0.0099< f
f沿着+S 方向减小,为找到沿S 方向的最小化步长 ,我们最小化
f(X + S )=f(0.0, )= -
因为 =0, = ,我们得到X = X + S = 。
接下来我们尽量减少f沿着S = 到X = 方向,因此
f =f(X )=f(0.0,0.5)=-0.25
f =f(X + S )=f(0.01,0.50)=-0.2298> f