1、4.4 无约束优化方法,求解这类问题的方法,称为无约束优化方法。,无约束优化问题的一般数学表达式为:,无约束优化方法有很多种,但归纳可以分为两大类: 解析法(间接法) 直接法, 解析法 这类方法是需要利用函数的一阶偏导数甚至二阶偏导数构造搜索方向,如梯度法、共轭梯度法、牛顿法和变尺度法等。由于需要计算偏导数,故这类方法计算量大,但收敛较快。 直接法 这类方法是仅利用迭代点的函数值来构造搜索方向,如坐标轮换法、powell 共轭梯度法和单纯形法等。由于只需要计算函数值,对于无法求导或求导困难的函数,则这类方法就有突出的优越性,但是其收敛速度较慢。,4.4.1 坐标轮换法,是求解多维无约束优化问题
2、的一种直接法,它不需求函数导数而直接搜索目标函数的最优解。该法又称降维法。,该法将一个多维无约束优化问题转化为一系列一维优化问题来求解,即依次沿着坐标轴的方向进行一维搜索,求得极小点。当对 n 个变量 x1, x2 , xn 依次进行过一次搜索之后,即完成一轮计算。若未收敛到极小点,则又从前一轮的最末点开始,再作下一轮搜索,如此继续下去,直至收敛到最优点为止。坐标轮换法,就是由此而得名的。,坐标轮换法,坐标轮换法的基本原理:,现以二维优化问题为例,说明该法的搜索过程。,坐标轮换法搜索过程,先以 为初始点, 沿着坐标轴 方向进行一维搜索,求得极小点 ,然后固定 不变,改沿着坐标轴 方向进行一维搜
3、索,求得极小点 ,至此完成了该二维问题的一轮计算。由于未得到问题的最优点,需进行第二论迭代,即从前一轮的最末点 出发,重复前面的过程求得 点。如此继续下去,直到找到问题的最优解 。,根据上述原理,对于第k 轮计算,坐标轮换法的迭代计算公式为:,其中,搜索方向是轮流取 n 维空间各坐标轴的单位向量:,即,关于坐标轮换法的迭代步长, (1) 最优步长; (2) 加速步长。即在每一维,先选择一个初始步长,若沿该维正向第一步搜索成功(即该点函数搜索时值下降),则以倍增的步长继续沿该维向前搜索,步长的序列为,直到函数值出现上升时,则取前一点为本维极小点,然后改换为沿下一维方向进行搜索,依次循环继续前进,
4、直至到达收敛精度为止。,坐标轮换法的特点,计算简单,概念清楚; 但搜索线路较长,计算效率低; 其搜索方向总是平行于坐标轴,不适应函数的变化情况。 所以它只能用于低维(n10)优化问题的求解。,以二维优化问题为例,最优步长 的几何意义如右图所示。,求最优步长 举例:,1. 最优步长的几何意义,已知:,2. 最优步长的计算,最优步长的几何意义,求:在给定点处沿给定方向搜索的最优步长 。,解:,根据基本迭代公式,有,则,由上可见,原本 函数这时成为 的函数,即 。,为求得最优步长,可令,即,故得最优步长:,4.4.2 鲍威尔法,在上述坐标轮换法中,之所以收敛很慢,其原因在于:其搜索方向总是平行于坐标
5、轴,不适应函数的变化情况。,鲍威尔法(powell 法,又称共轭方向法):该算法是鲍威尔于1964年提出的,它是在坐标轮换法的基础上,通过构造共轭方向,以达到快速收敛的目的。并通过改进后,是一种比较有效的算法。,如图4-a所示:若把上一轮的搜索末点 (即这一轮搜索的起点 )和本轮搜索的末点 连接起来,形成一新的搜索方向,图4-a 共轭方向,并沿此方向进行一维搜索,则由此图可看到,它能极大地加快收敛速度,鲍威尔法正是利用这种原理来构成搜索方向并进行迭代计算的。,首先采用坐标轮换法进行第一轮迭代。然后以第一轮迭代的最末一个极小点和初始点,构成一个新的方向,并以此新的方向作为最末一个方向,而去掉第一
6、个方向,得到第二轮迭代的 n 个方向。仿此进行下去,直至求得问题的极小点。,现以二维优化问题为例,来说明鲍威尔法的迭代过程。,1. 基本鲍威尔法,基本鲍威尔法的基本原理:,图4-23 基本鲍威尔法的迭代过程,取初始点作为迭代计算的出发点,即令,先沿坐标轴 的方向作一维搜索,求得此方向上的极小点。,作一维搜索,求得该方向上的极小点 。,然后,再沿 坐标方向,二维问题基本鲍威尔法的迭代过程,如图4-23所示。,然后利用两次搜索得到的极小点 及 构成一个新的迭代方向 ,即,并沿此方向作一维搜索,得到该方向上一维极小点 ,至此完成第一轮搜索。,并沿此方向搜索得到 。,进行一维搜索,得到极小点: 、 ;
7、然后利用、 构成另一个迭代方向 ,即,进行第二轮迭代时, 去掉第一个方向,将方向 作为最末一个迭代方向,即从 出发,依次沿着方向 及,如果所考察的二维函数是二次的,即对于二维二次函数, 经过沿共轭方向 、 的两次一维搜索所得到的极小点 就是该目标函数的极小点 (即椭圆的中心)。,为形成第三轮迭代的方向,将 加到第二轮方向组之中,并去掉第二轮迭代的第一个方向 ,即令,即第三轮的迭代方向实际上是 和 ,由于 是连接两个平行线的方向 搜索得到的二极小点 、 所构成的,根据共轭方向的概念可知, 和 是互为共轭的方向。,而对于二维非二次函数,这个极小点还不是该函数的极小点,需要继续按照上述方向进行进一步
8、搜索。,由上述可知,共轭方向是在更替搜索方向反复作一维搜索中逐步形成的。对于二元函数,经过二轮搜索,就产生了两个互相共轭的方向。对于三元函数经过三轮搜索以后,就可以得到三个互相共轭的方向。,而对于n 元函数,经过n 轮搜索以后,一共可产生 n 个互相共轭的方向:,上述基本鲍威尔法的基本要求:各轮迭代中的方向组的向量应该是线性无关的。然而很不理想的是,上述方法每次迭代所产生的新方向可能出现线性相关,故使搜索运算蜕化到一个较低维的空间进行,从而导致计算不能收敛而无法求得真正的极小点。,该算法规定:在每一轮迭代完成产生共轭方向后,在组成新的方向组时不一律舍去上一轮的第一个方向,而是先对共轭方向的好坏
9、进行判别,检验它是否与其他方向线性相关或接近线性相关。,2. 修正鲍威尔法,改进的鲍威尔法放弃了原算法中不加分析地用新形成的方向替换上一轮搜索方向组中的第一个方向的作法 。,若共轭方向不好,则不用它作为下一轮的迭代方向,而仍采用原来的一组迭代方向;若共轭方向好,则可用它替换前轮迭代中使目标函数值下降最多的一个方向,而不一定是替换第一个迭代方向。这样得到的方向组,其收敛性更好。,修正鲍威尔法对于是否用新的方向来替换原方向组的某一方向的判别条件为:,在第 k 轮搜索中,若,(4-43),同时成立,则表明方向 与原方向组线性无关,因此可将新方向 作为下一轮的迭代方向,并去掉方向 而构成第k+1轮迭代
10、的搜索方向组;否则,仍用原来的方向组进行第k+1轮迭代。,上式中: 为第 k 轮起始点函数值; 为第 k 轮方向组一维搜索终点函数值;, 为对的映射点函数值;, 为第 k 轮方向组中沿诸方向一维搜索所得的各函数值下降量中之最大者,其相对应的方向记为 。,上式中各符号意义,如图4-b所示。,图4-b 修正鲍威尔法的方向淘汰,实践证明,上述修正鲍威尔法保证了非线性函数寻优计算可靠的收敛性。,修正的鲍威尔法的迭代计算步骤如下:,(1)给定初始点 X(o) 和收敛精度;,(2)取 n 个坐标轴的单位向量 ei ( i =1,2,n )为初始搜索方向Si(k) = ei ,置 k=1 ( k为迭代轮数)
11、 ;,(3)从出发,依次沿 进行 n 次一维搜索,得到 n 个一维极小点,(4)连接、 ,构成新的共轭方向 ,即,沿共轭方向 计算 的映射点,(5)计算第k 轮中各相邻极小点目标函数的差值,并找出其中的最大差值及其相应的方向:,(6)计算第k 轮初始点、终点和映射点的函数值,(7)用判别条件式(4-43)检验原方向组是否需要替换,若同时满足,由出发沿方向 进行一维搜索,求出该方向的极小点 ,并以 作为k+1轮迭代的初始点,即令 ;然后去掉方向 ,而将方向 作为k+1轮迭代的最末一个方向,即第k+1轮的搜索方向为:,若上述判别条件不满足,则进人第k+1轮迭代时,仍采用第k轮迭代的方向,即,(8)
12、进行收敛判断:,若满足,或,否则,置 ,转入下一轮继续进行循环迭代。,修正鲍威尔法的计算框图如图4-c所示。,可结束迭代计算,输出最优解:,图4-c 鲍威尔法的计算框图,4.4.3 梯度法,梯度法是求解多维无约束优化问题的解析法之一。,基于梯度是函数增大最快的方向,而负梯度则是函数下降最快的方向。沿该方向搜索,使函数值在该点附近下降最快。则梯度法就是取迭代点处的函数负梯度方向作为搜索方向,该法又称最速下降法。,梯度法的迭代格式:,(4-38),梯度法的基本思想:,按上式求得负梯度方向的一个极小点 ,作为原问题的一个近似最优解;若此解尚不满足精度要求,则再以 作为迭代起始点,以 处的负梯度方向
13、作为搜索方向,求得该方向的极小点 ,如此进行下去,直到求得的解满足收敛条件为止。,式中 为最优步长。,梯度法的迭代步骤,(1)任取初始点 ,选定收敛精度 0,令 。(2)计算 。(3)若 ,则迭代终止,取 ,否则进行步骤(4)。(4)用一维搜索求 ,得最优步长 。(5)令 , ,返回步骤(2)。,解:由梯度的定义,该目标函数的梯度为:,例2-A 已知一目标函数为,,,试求在点 的梯度。,则该函数在点的梯度为,梯度法的终止条件:,梯度法的特点: (1) 算法简单; (2) 前后两次迭代方向正交,所以搜索路线是呈直角锯齿形; (3) 开始搜索时,收敛速度较快,但当靠近极小点附近,收敛速度越来越慢,
14、这是梯度法的较大缺点。,4.4.4 牛顿法,原始牛顿法和阻尼牛顿法两种。,其迭代过程是在求目标函数 的极小值时,先将它在点 附近作泰勒展开,并取二次近似函数式;然后求出这个二次函数的极小点,并以该极小点作为原目标函数的极小点X* 的一次近似解;,该算法的基本思路:,它是以二次函数来逼近原目标函数。,牛顿法也是一种解析法,它是梯度法的进一步发展。,该法的搜索方向的构造:,是根据目标函数的负梯度和二阶偏导数矩阵来构造的。,牛顿法分为:,若此解不满足精度要求,则可以此近似解作为下一次迭代的初始点,仿照上面的做法,求出二次近似解;照此迭代下去,直至所求出的近似极小点满足精度要求。,现用二维问题来加以说
15、明,将目标函数 在给定点 作泰勒展开,并取二次近似式:,为求得二次近似式 的极小点 ,对上式求梯度,并令,解之可求得:,式中: 为海森(Hessian)矩阵的逆矩阵。,在一般情况下,不一定是二次函数,则所求得的极小点 也不一定是原目标函数 的真正极小点。但由于在点附近,函数 和 是近似的,因而 可作为 的近似极小点。为求得满足精度要求的近似极小点 ,可将 作为下一次迭代的起始点 ,即得,(4-39),由上式(4-39)可知,牛顿法的搜索方向为,上式就是原始牛顿法的迭代公式。,上式中的搜索方向称为牛顿方向,可见原始牛顿法的步长因子恒取: ,因此,原始牛顿法是一种定步长的迭代过程。,牛顿算法对于二
16、次函数是非常有效的,迭代一步就可达到极值点,而这一步根本不需要进行一维搜索。对于高次函数,只有当迭代靠近极值点附近,目标函数近似二次函数时,才会保证很快收敛,否则也可能导致算法失败。,为了克服这一缺点,便将迭代公式(4-39)修改为:,(4-41),上式为阻尼牛顿法的迭代公式。式中,步长因子 又称阻尼因子。,,则迭代停止 ,,0,令 。,修正牛顿法的迭代步骤如下:,(1)给定初始点,,收敛精度,(2)计算,,若,即为所求,否则进行(3)。(3)计算,及 。,(4)沿,进行一维搜索,确定最优步长 。,(5)令 ,,,返回(2)。,阻尼牛顿法保持了牛顿法收敛快的优点,又不要求初始点选得很好,因而在
17、实际应用中取得了较好的效果。其缺点仍然是需计算,及其逆阵,计算相当复杂,程序存储量大;而且对目标函数的要求严格,除了要求函数二阶连续可微外,为了保证函数的稳定下降,,必须处处正定,为了能求逆阵又要求,必须非奇异。,4.4.5 变尺度法,是在克服了梯度法收敛慢 和牛顿法计算量大 的缺点基础上而发展起来的一种最有效的解析法。现已得到广泛应用。,利用牛顿法的迭代形式,但并不直接计算 ,而是用一个对称正定矩阵 近似地代替 。它在迭代过程中不断地改进,最后逼近 。,这种算法,省去了海森矩阵的计算和求逆,使之计算量大为减少,并且还保持了牛顿法收敛快的优点。,变尺度法:,在变尺度法 中,较为常用的有:,变尺
18、度法特点:, DFP变尺度法 BFGS变尺度法。,变尺度法基本思想:,1. DFP变尺度法,DFP变尺度法是最为常用的一种变尺度算法。 该算法的迭代公式为:,(4-42),式中: 变尺度矩阵,是一nn阶对称正定矩阵,在迭代过程中,它是逐次形成并不断修正,即从一次迭代到另一次迭代是变化的,故称变尺度矩阵。,由式(4-42),不难看出:当 (单位矩阵)时:式 (4-42)变为梯度法的迭代公式;当 时:式 (4-42)就变为牛顿法的迭代公式。,由此可见,梯度法和牛顿法可以看作变尺度法的一种特例。,变尺度矩阵可用下式迭代:,式中, 称作校正矩阵,在DFP变尺度法中它可用下式来计算:,式中:,第 k 次
19、迭代中前后迭代点的向量差 ;,前后迭代点的梯度向量差 。,迭代开始(k0)规定: 。,上式称为DFP公式,由该式可以看出,变尺度矩阵 的确定取决于在第 k 次迭代中的下列信息:,不仅不需求海森矩阵 及其求逆矩阵的计算,而且保持了牛顿法收敛速度快和梯度法计算简单的优点。, 上次的变尺度矩阵 ,, 迭代点的向量差 和迭代点的梯度向量差 。,利用上式求得的校正矩阵 代入变尺度矩阵计算公式,可得到变尺度矩阵的DFP递推公式 :,上式 常称DFP公式。通过式(4-42)可确定新的搜索方向 ,进行第k+1次迭代的一维搜索。,因此,DFP变尺度法:,DFP变尺度法的迭代步骤为:,(1)给定初始点和收敛精度,
20、维数n;,(2)计算梯度,取A(0) = I (单位矩阵),置k =0,,(3)构造搜索方向,(4)沿 方向进行一维搜索,求最优步长 ,使,得到新迭代点,(5)计算 ,进行收敛判断:,若 ,则令 ,停止迭代,输出最优解; 否则,转下一步(6);,DFP变尺度法的计算框图,见图4-22。,并令 ,转步骤(3)。,(7)计算:,构造新的变尺度矩阵和搜索方向:,(6)检查迭代次数,若k = n,则令 ,并转入步骤(2);若k n,则转下步(7);,图4-22 DFP变尺度法 的计算框图,DFP变尺度法的优点,变尺度矩阵A(K) ,在开始的几步接近于I,因而类似于梯度法,具有计算量小,函数值下降快的优
21、点;在最后的几步A(K) 接近于H( X(K) )-1,因而类似于牛顿法收敛速度快的优点,但克服了其具有计算量大的缺点。,2. BFGS 变尺度法,计算实践表明:由于DFP变尺度法在计算变尺度矩阵的公式中,其分母含有近似矩阵 A(k),使之计算中容易引起数值不稳定,甚至有可能得到奇异矩阵A(k)。,BFGS变尺度法与DFP变尺度法的迭代步骤相同,不同之点,只是校正矩阵的计算公式不一样。BFGS变尺度法的变尺度矩阵迭代公式仍为,为了克服DFP变尺度法计算稳定性不够理想的缺点,Broydon 等人在 DFP法 的基础上提出了另一种变尺度法称为BFGS变尺度法。,但其中的校正矩阵的计算公式为,上式中,所使用的基本变量、 、 与DFP变尺度法相同。由上式可见,BFGS变尺度法的校正矩阵 的分母中不再含有近似矩阵 。,BFGS法 与 DFP法具有相同性质,这两种方法都是使每次迭代中目标函数值减少,并保持的对称正定性,则一定逼近海森矩阵的逆矩阵。,在于计算中它的数值稳定性强,所以它是目前变尺度法中最受欢迎的一种算法。,BFGS法的优点:,