1、第四章 无约束优化方法,最速下降法 牛顿型方法 共轭方向及共轭方向法 共轭梯度法 变尺度法 坐标轮换法 Powell法,无约束优化方法是优化技术中基本的也是非常重要的内容。无约束优化问题的数学模型求上述问题最优解(x*,F*)的方法,称为无约束优化方法使用无约束优化方法,不仅可以直接求无约束优化设计问题的最优解,而且通过对无约束优化方法的研究给约束优化方法建立明确的概念、提供良好的基础某些优化设计方法就是先把约束优化设计问题转化为无约束问题后,再直接用无约束优化方法求解。,无约束优化理论研究开展得较早,构成的优化方法巳很多 ,也比较成熟,新的方法仍在陆续出现。本章的内容与目的 是讨论儿个常用无
2、约束优化方法的基本思想、方法构成、迭 代步骤以及终止准则等方面问题。,在n维无约束优化方法的算法中,用函数的一阶、二价导数进行求解的算法,称为解析法,如最速下降法、共轭梯度法、牛顿法及变尺度法等;,无约束优化方法总体分成两大类型:解析法或称间接法、 直接搜索法或简称直接法;,对于n维优化问题,如果只利用函数值求最优值的解法,称 为直接搜索法,如坐标轮换法、单形替换法及Powell法等;,解析法的收敛速率较高,直接法的可靠性较高。,无约束优化方法算法的基本过程是:从选定的某初始点x(k)出发,沿着以一定规律产生的搜索方向d(k) ,取适当的步长a(k) ,逐次搜寻函数值下降的新迭代点x(k+1)
3、,使之逐步通近最优点x* 。可以把初始点x(k) 、搜索方向d(k) 、迭代步长a(k) 称为优化方法算法的三要素。其中以搜索方向d(k)更为突出和重要,它从根本上决定若一个算法的成败、收敛速率的快慢等。所以一个算法的搜索方向成为该优化方法的基本标志,分析、确定搜索方向d(k)是研究优化方法的最根本的任务之一。各种无约束优化方法的区别就在于确定其搜索方向d(k) 的方法不同。,4.2 最速下降法函数最速下降方向,在优化设计理论中占有重要地位。 函数负梯度方向f(x) 必为函数最速下降方向。按此规律, 可以形成以下的迭代算法 xk+1=xk kf(xk) (k = 0, 1, 2, ) 由于最速
4、下降法是以负梯度方向作为搜索方向, 所以又称为梯度法。 步长k应取一维搜索的最佳步长。即有求极值,得因此,最速下降法中, 相邻两个迭代点上的函数梯 度互相垂直。 而搜索方向就是负梯度方向, 因此相 邻两个搜索方向互相垂直。,例4-1 求目标函数f(x)=x12+25x22的极小点。 解: 取初始点x0 = 2,2T 则初始点处函数值及梯度分别为沿负梯度方向进行一维搜索, 有0为一维搜索最佳步长, 应满足极值必要条件从而 0 = 0.02003072,并得到第一次迭代设计点位置和函数值到此完成最速下降法的第一次迭代。 如是经过10次迭代,可得到最优解目标函数的等值线为一族椭圆, 迭代点从x0走到
5、最优点经过的 是一段锯齿形路线。见图4-3.,将目标函数f(x)=x12+25x22引入变换y1=x1, y2=5x2 则函数f(x1, x2)成为 (y1, y2)= y12+y22, 其等值线变为一族同心圆,见图4-4。 仍从x0 = 2,2T即y0 = 2,10T出发进行最速下降法寻优, 此时有沿负梯度 方向进行一维搜索,有,0为一维搜索最佳步长,可由极值条件算出0 =26/52= 0.5 从而算得第一次走步后设/计点的位置及其相应的 目标函数值为仅一次迭代即获得最优解,可见上面两个二次型中间的对角形矩阵不同。即两个二次型函数的对角形矩阵刻画了椭圆的长短轴, 它们是表示度量的矩阵或者是表
6、示尺度的矩阵。 而最速下降法的收敛速度和变量尺度关系很大。在适当条件下,有M为目标函数的海赛矩阵最大特征值上界, m为最小特征值下界。 对于f(x)=x12+25x22,m = 2, M = 50 可见等值线为椭圆的长短轴相差越大, 收敛就越慢。 对于(y1, y2)= y12+y22, m = M = 2 即经过一次迭代可到达极值点,4.3 牛顿型方法一维情况的牛顿迭代公式 k+1 = k f (k)/ f (k) k = 0, 1, 2, 对于多元函数f(x), 设xk为f(x)极小点x*的一个近似点, 在xk处将f(x)进行泰勒展开, 保留到二次项, 得到式中-2f(xk)为函数在xk点
7、处的海赛矩阵。设xk+1为(x)的极小点, 它作为f(x)极小点x*的下一个近似点, 根据极值必要条件此即多元函数求极值的牛顿法迭代公式。对于二次函数f(x), 上述泰勒展开式是精确的,海赛矩阵为常矩阵,从任何点出发,只需一次迭代就可找到极小点,因此本方法是二次收敛的。,例4-2 用牛顿法求f(x)=x12+25x22的极小点。 解: 取初始点x0 = 2,2T 则初始点处函数梯度、海赛矩阵及其逆阵分别为代入牛顿法迭代公式,得从而经过一次迭代求得极小点x*=0 0T及函数极小值f(x*)=0. 同学们可以把初始点换成x0 = 4,5T计算一下看看结果。,阻尼牛顿法从牛顿法迭代公式可以看出,迭代
8、点的位置时按照极值条件确定,并未含有沿下降方向搜寻的概念。因此对于非二次函数,如果采用牛顿法迭代公式,有时会使函数值上升,出现f(xk+1)f(xk)的现象。为此,提出“阻尼牛顿法”。把d k = 2f(xk) 1 f(xk) 看作是一个搜索方向,称其为牛顿方向,则阻尼牛顿法采取如下的迭代公式式中 k 为沿牛顿方向进行一维搜索的最佳步长,成为阻尼因子。k可通过下述极小化过程求得阻尼牛顿法每次迭代都在牛顿方向上进行一维搜索,避免了迭代后函数值上升的现象,从而保持了牛顿法的二次收敛性,而对初始点的选择没有要求。,阻尼牛顿法的计算步骤 1)给定初始点x0,收敛精度,置k0。 2)计算f(xk) 、
9、2f(xk) 、2f(xk) 1和d k = 2f(xk) 1 f(xk) 。 3)求xk+1=xk kdk, 其中 k为沿dk进行一维搜索的最佳步长。 4)检查收敛精度。若|xk+1-xk| 则x* = xk+1,停机;否则,置k k+1, 回到步骤2)继续进行搜索。,牛顿法和阻尼牛顿法统称为牛顿型方法。这类方法的优点是收敛快。缺点也很突出,表现在以下3个方面。1)不能保证每次迭代都是函数值下降;2)若目标函数在点x(k)处的海赛矩阵奇异,其逆阵不存在,就不能构成牛顿方向,迭代无法进行。3)构造牛顿方向较困难。每次迭代需计算函数的梯度,海赛矩阵及其逆阵,这样计算和编制程序都很复杂,而且占用计
10、算机内存也大。因此需要找出一种方法,能像梯度法那样,只需计算目标函数,对初始点的要求不高,能较好地突破函数的非二次性而迅速趋近于极值点,同时又像牛顿法那样,一旦迭代点进入极值点的邻近区域时很快地收敛于最优点。,4.4 共轭方向和共轭方向法,为了克服最速下降法的锯齿现象以提高其收敛速度,发展了 一类共轭方向法。,一,共轭方向的基本概念,首先以二元二次函数为例予以说明共轭方向概念,设函数,式中,2*2阶对称 正定矩阵,二元二次函数的等值线为一组椭圆,任选初始点x0沿某个下降方向d0作一维搜索,得x1 = x0 + 0d0。0是沿d0方向搜索的最佳步长,即在x1点处函数f(x)沿d0方向的方向导数为
11、零。故有 d0与某一等值线相切于x1点。为了避免按最速下降法出现的锯齿现象,可取下一次的迭代搜索方向d1直指极小点x*,如图所示。既有x* = x1+ 1d1 1为d1方向上的最佳步长。,二次函数f(x)在x1点的梯度为f(x1)=Gx1 + b 当x1 x*时1 0,由于x*是函数f(x)的极小点,应有f(x*) = Gx*+b = 0 即 f(x*) = G(x1 + 1d1)+b = f(x1) + 1Gd1 = 0 等式两边同时左乘(d0)T, 整理,得(d0)TGd1=0 这就是为使 d1 直指极小点x*, d1所必须满足的条件。满足上式得两个向量d0, d1称为G的共轭向量,或者说
12、d0, d1对G是共轭的。,二、共轭方向的性质 定义 设G是nn阶对称正定矩阵,若维空间中有m个非零向量d0, d1, dm-1满足(di)TGdj = 0 (i, j = 0, 1, 2, ,m-1) (ij) (4-11) 则称d0, d1, dm-1对G共轭,或称它们是G的共轭方向。当G = I(单位矩阵)时,式(4-11)变成 (di)Tdj = 0 (ij) 即向量d0, d1, dm-1互相正交。由此知,共轭概念是正交概念的推广,正交是共轭的特例。性质1 若非零向量d0, d1, dm-1对G共轭,则这m个向量线性无关。性质2 在n维空间中相互共轭的非零向量的个数不超过n。性质3
13、从任意初始点x0出发,顺此沿n个G的共轭方向d0, d1, dm-1进行一维搜索,最多经过n次迭代就可以找到二次函数的极小点。此性质表明本迭代方法具有二次收敛性。,三、共轭方向法建立在性质3的基础上,提供了求二次函数极小点的原则方法。1)选定初始点x0, 下降方向d0和收敛精度,置k0。2)沿d k 方向进行一维搜索,得xk+1 = xk + kd k.3) 判断|f(xk+1)| 是否满足,满足则打印xk+1,停机,否则转4。4)提供新的共轭方向dk+1, 使(dj)T Gdk+1 = 0, j = 0, 1, 2, ,k.5) 置kk+1, 转2。,共扼方向法程序框图如图4-8所示。,格拉
14、姆-斯密特(Gram-Schmidt)向量系共轭化方法设已选定线性无关向量系v0, v1, , vn-1 (例如,它们是n个坐标轴上的单位向量),首先 取d0 = v0 令 d1 = v1 + 10d0其中10 是待定系数,它根据d1与d0共轭条件来确定,即从而求得与d0共轭的设已求得共轭向量d0, d1, ,dk, 现求dk+1。 令,为使dk+1与dj (j = 0, 1, 2, , k) 共轭,应有得于是,例4-3 求的一组共轭向量d0, d1, d2。解:选三个坐标轴上的单位向量e0、e1、e2作为一组线性无关向量系,取,设,得,设,得,计算表明,说明d0, d1, d2对G共轭。,上
15、述算法是针对二次函数的,对于非二次函数,在极小点可以用二次函数来近似上式中的海赛矩阵相当于二次函数中的矩阵G,但x*未知。当迭代点x0充分靠近x*时,可用G(x0)构造共轭向量系。下一节将讨论构造共轭向量系时如何避开海赛矩阵。,4.5 共轭梯度法,共轭梯度法是共轭方向法的一种,因为该方法中每一个共轭向量都是依赖于迭代点处的负梯度而构造出来的,所以称作共轭梯度法。对于二次函数,4.5 共轭梯度法 共轭梯度法是共轭方向法的一种,因为该方法中每一个共轭向量都是依赖于迭代点处的负梯度而构造出来的,所以称作共轭梯度法。对于二次函数从xk点出发,沿G的某一个共轭方向dk作一位搜索,到达dk+1点,即 xk
16、+1 = xk + kdk 在 xk、 xk+1点处的梯度gk、gk+1分别为所以有 (a) 若dj和dk对G是共轭的,则有 (dj)TGdk = 0 利用式(a)对两端左乘(dj)T,有 (b) 此即共轭方向与梯度之间的关系。,此式表示沿方向dk进行一维搜索,其终点xk+1与始点xk的梯度之差gk+1 gk 与dk的共轭方向dj正交。共轭梯度法就是利用这个性质做到不必计算矩阵G就能求得共轭方向的。此性质的几何说明如图4-9所示。,共轭梯度法的计算过程如下:1)设初始点x0, 第一个搜索方向取x0点的负梯度g0, 即d0 = g0 沿d0进行一维搜索,得x1 = x0 + 0d0, 并算出x1
17、点处的梯度g1。d1和g0正交, 有(d0)Tg1 = 0,从而g1Tg0 = 0, g1和g0组成平面正交系。2)求d1, 作为下一步的搜索方向。 取d1为-g1和d0两个方向的线性组合, 即 d1 = -g1 + 0d0 式中 0为待定常数。 由 (d1)T(g1-g0) = 0 有 (-g1 + 0d0 )T(g1-g0) = 0 考虑到g1Td0 = 0, g1Tg0 = 0,可得沿d1方向进行一维搜索, 得x2 = x1 + 1d1, 算出该点梯度g2, 有(d1)Tg2 = 0,(-g1 + 0d0)Tg2 = 0 因为d0 和d1共轭, 根据共轭方向与梯度的关系式有 (d0)T(
18、g2g1) = 0 (d0)Tg1 = 0, (d0)Tg2 = 0, 即g2, g0正交。 g1Tg2 = 0, 即g2, g1正交。所以g0, g1, g2构成一个正交系。 3) 求与d0, d1均共轭的方向d2. 设 d2 = -g2 +1g1 + 0g0 式中, 1, 0为待定系数。 根据共轭方向与梯度的关系, 有考虑到g0, g1, g2相互正交, 有设 1 = 1, 得,因此从而沿着这些共轭方向一直搜索下去, 直到最后迭代点处梯度的模小于给定允许值为止。 程序框图 见下页。,例4-4 用共轭梯度法求二次函数f(x1, x2) = x12 + 2x22 - 4x1 - 2x1x2的极
19、小点及极小值。 解 取初始点 x0 = 1 1T 则 取 沿d0 方向进行一维搜索,得其中的0 为最佳步长,可通过 求得 0 = 1 / 4。 则,第二个共轭方向沿d1进行一维搜索, 得其中1为最佳步长, 通过 求得1=1 则 计算x2点处的梯度即x2点满足极值必要条件, 再根据x2点的海赛矩阵,正定, 可知x2满足极值充分必要条件。 故x2是极小点, 即函数的极小值为f(x*) = 8共轭梯度法的计算过程可以看出, 第一个搜索方向是负梯度方向, 这就是最速下降法。其余各步的搜索方向是将负梯度偏转一个角度, 也就是对负梯度进行修正,称为旋转梯度法。,五、共轭梯度法的特点 共轭梯度法属于解析法,
20、其算法需求一阶导数,所用公式及算法简单,所需存储量少。该方法以正定二次函数的共轭方向理论为基础,对二次型函数可以经过有限步达到极小点,所以具有二次收敛性。但是对于非二次型函数,以及在实际计算中由于计算机舍入误差的影响,虽然经过n次迭代,仍不能达到极小点,则通常以重置负梯度方向开始,搜索直至达到预定精度,其收敛速度也是较快的。,补充题 用共轭梯度法求二次函数f(x1, x2) = x12 + 2x22 - 10x1 - x1x2 - 4x2 +60, x0 = 0 0T的极小点及极小值。,解 则 取 沿d0 方向进行一维搜索,得其中的0 为最佳步长,可通过 求得 0 = 0.7631。 则,第二
21、个共轭方向沿d1进行一维搜索, 得其中1为最佳步长, 通过 求得1=0.4367 则 x2点的海赛矩阵两次搜索即达极小点,正定, 可知x2满足极值充分必要条件。 故x2是极小点, 即函数的极小值为f(x*) = 8共轭梯度法的计算过程可以看出, 第一个搜索方向是负梯度方向, 这就是最速下降法。其余各步的搜索方向是将负梯度偏转一个角度, 也就是对负梯度进行修正,称为旋转梯度法。,4.6 DFP变尺度法,变尺度法也称拟牛顿法,它是基于牛顿法的思想而又作了重大改进的一类方法。我们所介绍的变尺度法是由Davidon于1959年提出又经Fletcher和Powell加以发展和完善的一种变尺度法,故称为D
22、FP变尺度法。一、变尺度法的基本思想 变尺度法的基本思想与牛顿法和梯度法有密切联系。观察梯度法和牛顿法的迭代公式 x(k+1)=x(k)-(k)g(k) 和 x(k+1)=x(k)-(k)Gk-1 g(k) 分析比较这两种方法可知:梯度法的搜索方向为-g(k) ,只需计算函数的一阶偏导数,计算量小,当迭代点远离最优点时,函数值下降很快,但当迭代点接近最优点时收敛速度极慢。,牛顿法的搜索方向为- Gk-1 g(k) ,不仅需要计算一阶偏导数,而且要计算二阶偏导数及其逆阵,计算量很大,但牛顿法具有二次收敛性,当迭代点接近最优点时,收敛速度很快。若迭代过程先用梯度法,后用牛顿法并避开牛顿法的海赛矩阵
23、的逆矩阵的烦琐计算,则可以得到一种较好的优化方法,这就是“变尺度法”产生的基本构想为此,综合梯度法和牛顿法的优点,提出变尺度法的基本思想。它不用计算二阶导数的矩阵和它的逆阵,而是设法构造一个对称正定矩阵Hk来代替海赛矩阵的逆阵G 1 ,并在迭代过程中, 使其逐渐逼近 G 1。因此,一旦达到极值点附近, 就可望达到牛顿法的收敛速度, 同时又避免了矩阵的求逆计算。由于对称矩阵Hk在迭代过程中是不断修正改变的, 它对梯度f(xk)起到改变尺度的作用, 因此称Hk为变尺度矩阵。,变尺度法的基本关系式需要构造一个矩阵Hk, 使其得到的搜索方向必须具有下降性、收敛性和计算的简便性-为保证所构造的近似矩阵H
24、k具有这些特点, 必须满足如下条件: (1)构造的矩阵Hk必须使dk为函数的下降方向;为此要求dk与f(xk)之间的夹角小于90o,即将 代入上式, 得到所以只要构造的矩阵Hk为对称正定矩阵, dk就是下降方向。,(2)拟牛顿条件为使构造矩阵Hk逐渐逼近还要满足拟牛顿条件。将目标函数展为二次泰勒近似式,其梯度是,设gk = f(xk), 则所以有,若用一矩阵Hk+1来逼近G1, 需要满足,称为拟牛顿条件或DFP条件。,令,则,(3)为适应迭代计算的需要, 希望变尺度矩阵有如下的递推形式, 即 Hk+1 = Hk + Ek, k = 0, 1, 2, 式中, Ek称为第k次的校正矩阵, 要求它只
25、依赖于当前的已知量xk+1, xk及梯度gk, gk+1。当k = 0时, 取H0 = I。在Hk+1满足DFP条件下, 经过数学上的推导,可得到,DFP算法的迭代步骤,任取初始点 给出迭代精度.计算初始点精度,选取初始正定矩阵 H0, 置k0,计算迭代方向 沿 方向做一维搜索求优化 步长 ,使,确定下一个迭代点,计算 的梯度 , sk = xk+1 xk, yk = gk+1 - gk,判断是否满足迭代终止准则, 满足则x* = xk+1, 停机, 否则转6. (6) 当迭代n次后仍没有找到极小点时, 重置Hk为单位矩阵I并以当前设计点为初始点, 返回到2进行下一轮迭代, 否则转7.,按DF
26、P公式计算构造矩阵置k k + 1, 返回到3.,变尺度法计算程序框图如图4-11所示。,(课外)例题4.6 用DFP尺度法求目标函数,的最优解。已知初始点 ,迭代精度=0.01,解:第一次迭代:,式中最优步长应用一维搜索方法在计算机上求解。为了 说明问题,又因为此例目标函数简单,所以用解析法来求:,为求极小,将上式对求导,并令f()=0,得:,于是:,第二次迭代:,确定 点的拟牛顿方向,按DFP公式计算构造矩阵,将数据代入得,则拟牛顿方向为,沿 方向进行一维搜索求最优点,求一维搜索步长,则:,迭代即可结束,输出优化解,讨论:,该题的理论最优点是 。按DFP搜索方向为 共轭的性质,本题为二元二
27、次函数在两次迭代后即达到最 优点,本题计算结果少有误差,这是由于一维搜索的不精 确性产生的。,若在已知H1的基础上,再用DFP公式递推下一次的构造 矩阵,可计算得,而计算目标函数海赛矩阵的逆阵有,坐标轮换法,坐标轮换法属于直接法,既可以用于无约束优化问题的求解,又可以经过适当处理用于约束优化问题求解。坐标轮换法是每次搜索只允许一个变量变化,其余变量保持不变,即沿坐标方向轮流进行搜索的寻优方法。它把多变量的优化问题轮流地转化成单变量(其余变量视为常量)的优化问题,因此又称这种方法为变量轮换法。此种方法只需目标函数的数值信息而不需要目标函数的导数。,一、坐标轮换法的迭代过程,以二元函数为例,如右图
28、所示。 从初始点x00出发, 沿第一个坐标方向搜索, 即d10 = e1 得 x10 = x00 +10d10按照一维搜索方法确定最佳步长因子10满足: ;然后从x10 出发沿d20 = e2 方向搜索得x20 = x10 + 20d20, 其中步长因子20满足:x20为一轮(k = 0)的终点。检验始、终点间距离是否满足精度要求, 即判断 | x20 x00| 的条件是否满足。 若满足则x* x20, 否则令x01x20, 重新依次沿坐标方向进行下一轮(k =1) 的搜索。,这种方法的收敛效果与目标函数等值线的形状有很大的关系。 如果目标函数为二元二次函数, 其等值线为圆或者长短轴平行于坐标
29、轴的椭圆时, 此法很有效。一般经过两次搜索即可达到最优点,如图a)所示。如果等值线为长短轴不平行于坐标轴的椭圆, 则需多次迭代才能达到最优点, 如图b)所示。 如果等值线出现脊线, 本来沿脊线方向一步可达到最有点, 但因坐标轮换法总是沿坐标轴方向进行搜索, 所以就终止到脊线上而不能找到最优点(如图C)。所以说坐标轮换法不是一种好的搜索方法。,坐标轮换法的程序框图如图4-13,4.8鲍威尔方法,鲍威尔方法是直接搜索法中一个十分有效的算法。该算法是沿着逐步产生的共轭方向进行搜索的,因此本质上是一种共轭方向法。这种方法不用对目标函数求导计算。当目标函数不易求导或导数不连续时,可以采用这种方法。,一、
30、共轭方向的生成设xk、xk+1为从不同点出发,沿同一方向dj进行一维搜索而得到的两个极小点,如图4-15所示。根据梯度和等值面垂直的性质,dj和xk、xk+1两点的梯度gk、gk+1之间存在关系另一方面,对于上述二次函数, 其xk、xk+1两点处的梯度可表示为两式相减,得从而有取方向dk = xk+1 xk, 如图4-15, 则dk和dj对G共轭。,对于二维问题,f(x)的等值线为一族椭圆,A、B为沿x1轴方向上的两个极小点,分别处于等值线与x1轴方向的切点上,如图4-16所示。根据上述分析,则A、B两点的连线AB就是与x1轴一起对G共轭的方向。沿此共轭方向进行一维搜索就可找到函数f(x)的极
31、小点x*。,二、基本算法 如图示4-17,针对二维情况进行描述。 1)任选一初始点x0,再选两个线性无关的向量,如坐标轴单位向量e1=1 0T和e2=0 1T作为初始搜索方向。 2)从x0出发,顺次沿e1、e2作一搜索得点x10、x20,两点连线得一新方向用d1代替e1形成两个线性无关向量e2、d1,作为下一轮迭代的搜索方向。再从x20出发,沿d1作一搜索得点x01,作为下一轮迭代的初始点。,3)从x1出发,顺次沿e2、d1作一维搜索,得到点x11、x21,两点连线得一新方向x01、x21两点是从不同点x0、x11出发,分别沿d1方向进行一维搜索而得的极小点,因此x01、x21两点连线的方向d
32、2同d1一起对G共轭。再从x21出发,沿d2作一维搜索得点x2。因为x2相当于从x0出发分别沿G的共轭方向d1、d2进行两次一维搜索而得到的点,所以x2点即是二维问题的极小点x*。把二维的基本算法扩展到n维,则鲍威尔基本算法要点如下:在每一轮迭代中总有一个始点(第一轮的始点是任选的)和n个线性独立的搜索方向。从始点出发顺次沿n个方向作一维搜索得一终点,由始点和终点决定一个新的搜索方向。用这个方向替换原来n个方向中的一个,于是形成新的搜索方向组。替换的原则是去掉原方向组的第一个方向而将新的方向排在原方向的最后。,鲍威尔改进算法在鲍威尔基本算法中,每一轮迭代都用连结始点和终点所产生出的搜索方向去替
33、换原向量组中的第一个向量,而不管它的“好坏”,这是产生向量组线性相关的原因所在。因此,改进算法首先判断原向量组是否需要替换,如是,则要进一步判断原向量组中哪个向量最坏,然后再用新产生的向量替换这个最坏向量,以保证逐次生成共轭方向。具体步骤如下: 1) 给定初始点x0(记作x00),选取初始方向组,它由n个线性无关的向量d10 ,d20,dn0(如n个坐标轴单位向量e1,e2,en)所组成,置k0。 2) 从x0k出发,顺次沿d1k,d2k , dnk 作一维搜索得 x1k , x2k , xnk。接着以xnk为起点,沿方向,移动一个xnk-x0k的距离,得到x0k 、 xnk、xn+1k分别称
34、为一轮迭代的始点、终点和反射点。始点、终点和反射点所对应的函数值分别表示为同时计算各中间点的函数值,并记为因此有F0=f0,F2=fn。 计算n个函数值之差 f0-f1,f1-f2,fn-1-fn。 记作 其中最大者记作,3) 根据是否满足判别条件F3F0和(F0-2F2+F3)(F0-F2-m)2 0.5m(F0-F3)2,来确定是否要对原方向组进行替换。若不满足判别条件,则下轮迭代仍用原方向组,并以xnk、xn+1k中函数值小者作为下轮迭代的始点。若是满足上述判别条件,则下轮迭代应对原方向组进行替换,将dn+1k补充到原方向组的最后位置,而除掉dmk。即新方向组为d1k ,d2k, dm-
35、1k ,dm+1k , dnk ,dn+1k 作为下轮迭代的搜索方向。下轮迭代的始点取为沿dn+1k方向进行一维搜索的极小点x0k+1。 4) 判断是否满足收敛准则。若满足则取x0k+1为极小点,否则应置kk+1,返回2,继续进行下一轮迭代。这样重复迭代后,后加入的向量都彼此对G共轭。经n轮迭代即可得到一个由n个共轭方向组成的方向组。对于二次函数,最多不超过n次就可找到极小点。对一般函数而言,却往往要超过n次才能找到。(“n”表示设计空间的维数),改进后的鲍威尔法程序框图如图4-18所示。,例4-6 用鲍威尔算法求函数的极小值。 解: 选初始点 , 初始搜索方向 , 。初始点处的函数值 。第一
36、轮迭代:1)沿d10 方向进行一维搜索,得最佳步长1可通过,得从而算出 点处的函数值及沿 走步后函数值的增量2)再沿 方向进行一维搜索,得最佳步长2的计算可根据进行得,从而算出第一轮终点x20处的函数值及沿d20走步后的函数值增量取沿d10、d20走步后函数值增量中的最大者终点x20的反射点及其函数值为3) 为确定下一轮迭代的搜索方向和起始点,需检查判别条件 F3F0 ,所以不满足判别条件。因而下轮迭代应继续使用原来的搜索方向e1、e2。因为F2F3 ,所以取x20为下轮迭代起始点。,第二轮迭代: 第二轮初始点及其函数值为1) 沿e1方向(即x1轴方向)进行一维搜索,相当于固定x2=0.826
37、,改变x1使函数f(x1,x2)的值极小。设计点x11位置可通过函数对x1的偏导数等于零求得,即得,X11点处的函数值及函数值增量增量分别为2)再沿e2方向(即X2轴方向)进行一维搜索,相当于固定x1=3.869,改变x2使函数f(x1,x2)的值极小。设计点x21位置可通过函数对x2的偏导数等于零求得,即得,第二轮终点x21处的函数值及沿x2方向函数值增量分别为取沿x1、x2方向走步后,函数值增量最大者为终点x21的反射点及其函数值分别为3)为确定下轮迭代的搜索方向和起始点,需检查判别条件F3F0和(F0-2F2+F1) (F0-F2-m)20.5m(F0-F3)2。经代入运算知该判别条件满
38、足,应进行方向替换。用新方向d31替换e1,下轮迭代搜索方向为e2、d31。,下轮迭代起始点x02为从x21出发,沿 d31方向进行一维搜索的极小点,可通过计算求得。通过 求得 因此,下轮迭代初始点及其函数值为可见已足够接近极值点x*=2.5 2.5T及极小值f(x*)=0。,(课外)例题4.2 试用鲍威尔修正算法求目标函数,的最优解。已知初始点 ,迭代精度=0.001,解:第一环迭代计算,沿第一坐标方向e1进行一维搜索,1=2,以 为起点,改沿第二坐标轴方向e2进行一维搜索,2=0.5,构成新方向,沿S1方向进行以为搜索得极小点与极小值,计算点距,需进行第二环迭代计算,第二环迭代计算,首先确
39、定上环中的最大函数下降量及其相应方向,映射点及其函数值,检查鲍威尔条件,于是可知,鲍威尔条件两式均不成立。第二环取基本方向组和起始 点为,沿e2方向作一维搜索得,以 为起点沿S1方向一维搜索得,构成新生方向,沿S2方向一维搜索得,检查迭代终止条件,需再作第三环迭代计算。,根据具体情况来分析,S1,S2实际上为共轭方向,见下图。 本题又是二次函数,有共轭方向的二次收敛性,上面结果就 是问题的最优解。可以预料,如果做第三环迭代,则一定各 以为搜索的步长为零,必有,故得最优解,4.9单形替换法,一、基本原理函数的导数是函数性态的反映,它对选择搜索方向提供了有用的信息。如最速下降法、共扼梯度法、变尺度
40、法和牛顿法等,都是利用函数一阶或二阶导数信息来建立搜索方向。在不计算导数的情况下,先算出若干点处的函数值,从它们之间的大小关系中也可以看出函数变化的大概趋势,为寻求函数的下降方向提供依据。这里所说的若干点,一般取在单纯形的顶点上。所谓单纯形是指在n维空间中具有n+1个顶点的多面体。利用单纯形的顶点,计算其函数值并加以比较,从中确定有利的搜索方向和步长,找到一个较好的点取代单纯形中较差的点,组成新的单纯形来代替原来的单纯形。使新单纯形不断地向目标函数的极小点靠近,直到搜索到极小点为止。这就是单形替换法的基本思想。,在线性规划中,我们将提到单纯形法,那是因为线性规划问题是在凸多面体顶点集上进行迭代
41、求解。这里是无约束极小化中的单形替换法,利用不断替换单纯形来寻找无约束极小点。虽然二者都用到单纯形,但决不可以把这两种方法混淆起来。为此我们将通常在无约束极小化中所说的单纯形法,称作单形替换法,以避免和线性规划中的单纯形法相混淆。现以二元函数f (xl, x2)为例,说明单形替换法的基本原理。,单形替换法计算框图如图4-21所示。,无约束优化问题的评价准则,为了比较各种优化方法的特性,必须建立合理 的评价准则。 无约束优化方法的评价准则主要包括以下几个方面: 1、可靠性。即在合理的精度要求下,在一定允许时间内能解出各种不同类型问题的成功率。能够解出的问题越多,则算法的可靠性越好。 2、有效性。
42、即算法的解题效率。它有两个衡量标准。其一是对同一题目,在相同精度和初始条件下,比较机时多少。其二是在相同精度下,计算同一题目所需要的函数的计算次数。 3、简便性。一方面指实现该算法的准备工作量的大小。另一方面指算法占用存储单元的数量。,下面讨论本章所介绍的几种优化方法的适用范围: 可靠性:牛顿法较差,因为它对目标函数要求太高,解题成功率较低。 有效性:坐标变换法和梯度法的计算效率较低,因为它们从理论上不具有二次收敛性。 简便性:牛顿法和变尺度法的程序编制较复杂,牛顿法还占用较多的存储单元。在选用无约束优化方法时,一方面要考虑优化方法的特点,另一方面要考虑目标函数的情况。 1、一般而言,对于维数较低或者很难求得导数的目标函数,使用坐标轮换法或鲍威尔法较合适。 2、对于二次性较强的目标函数,使用牛顿法效果好。 3、对于一阶偏导数易求的目标函数,使用梯度法可使程序编制简单,但精度不宜过高。 4、综合而言,鲍威尔法和DFP法具有较好的性能。,