收藏 分享(赏)

04机械优化设计第四章(200156).ppt

上传人:saw518 文档编号:9928817 上传时间:2019-09-19 格式:PPT 页数:154 大小:5.01MB
下载 相关 举报
04机械优化设计第四章(200156).ppt_第1页
第1页 / 共154页
04机械优化设计第四章(200156).ppt_第2页
第2页 / 共154页
04机械优化设计第四章(200156).ppt_第3页
第3页 / 共154页
04机械优化设计第四章(200156).ppt_第4页
第4页 / 共154页
04机械优化设计第四章(200156).ppt_第5页
第5页 / 共154页
点击查看更多>>
资源描述

1、,1,4.1,概述,4.2,最速下降法,4.3,牛顿型方法,4.4,共轭方向及共轭方向法,重点,4.5,共轭梯度法,4.6,变尺度法,4.7,坐标轮换法,4.8,鲍威尔方法,4.9,单型替换法,第四章 无约束优化方法,2,第1章所列举的机械优化设计问题大都是在一定限制条件下追求某一指标为最小,属于约束优化问题。,为什么要研究无约束优化问题? 1)有些实际问题,其数学模型本身就是一个无约束问题; 2)通过熟悉它的解法可以为研究约束优化问题打下良好的基础; 3)约束优化问题的求解可用通过一系列无约束优化方法来达到。所以无约束优化问题的解法是优化设计方法的基本组成部分,也是优化方法的基础。,3,对于

2、多维无约束问题来说,古典极值理论中令一阶导数为零,但要求二阶可微,且要判断海赛矩阵为正定才能求得极小点,这种方法有理论意义,但无实用价值。和一维问题一样,若多元函数F(X)不可微,亦无法求解。但古典极值理论是无约束优化方法发展的基础。,4,1、无约束优化问题,求 维设计变量 使目标函数,,而对 没有任何限制条件。,4-1 概述,这就是把求函数极值的问题变成求解方程 的问题。即求X,使其满足,5,这是一个含有n个未知量,n个方程的方程组(一般是非线性的方程组),除了一些特殊情况外,求解析解比较困难,一般需要采用数值方法求解。但是,与其用数值计算方法求解非线性方程组,倒不如用数值计算方法直接求解无

3、约束极值问题。,6,(1)利用极值条件来确定极值点的位置。,(2)数值计算方法搜索方法,基本思想:从给定的初始点 出发,沿某一搜索方向,进行搜索,确定最佳步长,使函数值沿,下降,最大。依此方式不断进行,形成迭代的下降算法:,2、求解方法,目前已研究出很多种无约束优化方法,它们的主要不同点在于构造搜索方向上的差别。,在上式中,dk 是第是 k+1次搜索或迭代方 向,称为搜索方向(迭代方向)。,7,数值方法* 最常用的数值方法是搜索方法,其基本思想如下图所示:,8,3、无约束优化算法的粗框图,开始,一维搜索,本章重点,9,dk 和 ak的形成和确定方法不同就派生出不同的n维无约束优化问题的数值解法

4、。 根据构成搜索方向dk所使用的信息性质的不同,无约束优化方法可以分为两类。 利用目标函数的一阶或二阶导数信息构造搜索方向的无约束优化方法;只用目标函数值的信息构造搜索方向的无约束优化方法,10,最速下降法 牛顿法 共轭方向法 共轭梯度法 变尺度法,坐标轮换法 鲍威尔方法 单型替换法,无约束优化方法,利用目标函数的导数信息,利用目标函数值信息,用直接法寻找极小点时,不必求函数的导数,只要计算目标函数值。这类方法较适用于解决变量个数较少的(n 20)问题,一般情况下比间接法效率低。间接法除要计算目标函数值外,还要计算目标函数的梯度,有的还要计算其海赛矩阵。,11,1、基本思想,函数的负梯度方向是

5、函数值在该点下降最快的方向。将n维问题转化为一系列沿负梯度方向用一维搜索方法寻优的问题,即利用负梯度作为搜索方向,故称为最速下降法或梯度法。,搜索方向取该点的负梯度方向即 ,使函数值在该点附近的范围内下降最快。,4-2 最速下降法(梯度法),12,2、最速下降法的原理,(1)使 ,按此规律不断走步,形成迭代算法:,(2)其步长因子 取一维搜索的最佳步长,即,根据一元函数极值的必要条件和多元复合函数求导公式,得,或,13,由上式可知,在最速下降法中,相邻两个迭代点上的函数梯度相互垂直。而搜索方向就是负梯度方向,因此相邻两个搜索方向互相垂直。 梯度法的搜索路线: 最速下降法中,迭代点向函数极小点靠

6、近的过程,走的是曲折的路线。这一次的搜索方向与前一次的搜索方向互相垂直,形成“之”字形的直齿锯齿现象,如图所示,最速下降法的搜索路径,14,在接近极小点的位置,由于锯齿现象使每次迭代行进的距离缩短,因而收敛速度减慢,这种情况似乎与“最速下降”的名称相矛盾,这主要是因为梯度是函数的局部性质(从局部上看,在一点附近函数的下降是快的),但从整体上看则走了许多弯路,函数的下降并不算快。,15,方法特点 1)初始点可任选,每次迭代计算量小,存储量少,程序简短。即使从一个不好的初始点出发,开始的几步迭代,目标函数值下降很快,然后慢慢逼近局部极小点; 2)任意相邻两点的搜索方向是正交的,它的迭代路径为绕道逼

7、近极小点。当迭代点接近极小点时,步长变得很小,越走越慢。,16,最速下降法的程序框图,17,例:求目标函数,的极小点,解法1:取初始点,,则初始点处的函数值,及梯度分别为:,为一维搜索最佳步长,应满足极值必要条件,18,则第一次迭代设计点位置和函数值,经过10次迭代后,得到最优解:,该问题的目标函数的等值线为一族椭圆,迭代点走的是一段锯齿形路线,如下图。,19,等直线为椭圆的迭代过程,20,解法2:引入变化,,则目标函数,变为,,,经过坐标(尺度)变化后,只需要经过一次迭代,就可找到最优解:,Y0 (2,10),21,等直线为圆的迭代过程,22,讨论,可以看出二者的对角形矩阵不同,前者的等值线

8、为一族椭圆,后者的等值线为一族同心圆,这说明对角形矩阵是表示度量的矩阵或者是表示尺度的矩阵,最速下降法的收敛速度和变量的尺度有很大关系。,23,3、最速下降法收敛速度的估计式,的海赛矩阵最大特征值上界,的海赛矩阵最小特征值下界,在适当条件下,有,当相邻两个迭代点之间满足上式时(右边的系数为小于等于1的正的常数),我们称相应的迭代方法是具有线性收敛速度的迭代法。因此,最速下降法是具有线性收敛速度的选代法。,24,梯度法的特点:,(1)理论明确,程序简单,对初始点要求不严格; (2)对一般函数而言,梯度法的收敛速度并不快,因为最速下降法仅仅是指某点的一个局部性质; (3)梯度法相邻两次搜索方向的正

9、交性决定了迭代全过程的搜索路径呈锯齿形,在远离极小点时逼近速度较快,而在接近极小点时逼近速度较慢; (4)梯度法的收敛速度与目标函数的性质密切相关。对于等值线(面)为同心圆(球)的目标函数,一次搜索即可达到极小点。,25,基本思想:在 领域内用一个二次函数 来近似代替原目标函数,并将 的极小值作为目标函数 求优的下一个迭代点 。经多次迭代,使之逼近目标函数 的极小点。,4-3 牛顿型方法,原始牛顿法,26,对于多元函数,,设,为,极小点,的第一,个近似点,,泰勒展开,保留到二次项,得:,设,为,的极小点,它作为,极小点,的下一个近似点,根据极值必要条件:,即,海赛矩阵,1、牛顿法,-多元函数求

10、极值的牛顿法迭代公式。,27,对于二次函数 ,其展开到二次项的泰勒展开式就是其本身,海赛矩阵G是一个常矩阵,其中各元素均为常数。因此,无论从任何点出发,只需一步就可找到极小点。 如果某一迭代方法能使二次型函数在有限次迭代内达到极小点,称此迭代方法是二次收敛的。因此牛顿方法是二次收敛的。,28,例:,用牛顿法求 的极小值,解:取初始点,,则,代入牛顿法迭代公式可得:,从而经过一次迭代即求得极小点和函数极小值。,29,从牛顿法迭代公式的推演中可以看到,迭代点的位置是按照极值条件确定的,其中并未含有沿下降方向搜寻的概念。因此对于非二次函数,如果采用上述牛顿迭代公式,有时会使函数值上升 。,因此需要对

11、牛顿法进行改进,引人数学规划法的搜寻概念,产生了阻尼牛顿法。,30,把,看作一个搜索方向,,称其为牛顿方向,则阻尼牛顿法的迭代公式为:,阻尼因子,即沿牛顿方向进行一维搜索的最佳步长, 可通过如下极小化过程求得:,(1)阻尼牛顿法的迭代公式,在牛顿法中,迭代点的位置是按照极值条件确定,并未含有沿下降方向搜寻的概念,因此采用牛顿迭代公式,对于非二次函数,有时会使函数值上升。,阻尼牛顿法,31,可以看出原始牛顿法就相当于阻尼牛顿法的步长因子取成固定值1的情况。 阻尼牛顿法每次迭代都在牛顿方向上进行一维搜索,避免了迭代后函数值上升的现象,从而保持了牛顿法二次收敛的特性,而对初始点的选取并没有苛刻的要求

12、。,32,(2)阻尼牛顿法的计算步骤,1)给定初始点 ,收敛精度 ,置,2)计算,3)求,4)检查收敛精度。若,,则 ,停机;,否则置,返回到2),继续进行搜索。,33,(3)阻尼牛顿法的程序框图,34,1、原始牛顿法和阻尼牛顿法统称为牛顿型方法。牛顿法是二次收敛的,收敛速度较快; 2、这类方法的主要缺点计算复杂,工作量大,要求计算机存储量大: 1)每次迭代都要计算函数的海赛矩阵,并对该矩阵求逆,工作量非常大。 2)从计算机存储方面考虑,牛顿型方法所需的存储量也很大。一般计算量和存储量以n2比例增长。,牛顿法小结,35,基于以下两方面的原因, 给牛顿法的运用带来一定局限性 使用条件苛刻,对于二

13、阶不可微的f(X)也不适用。若迭代点的海赛矩阵为奇异,则无法求逆矩阵,不能构造牛顿法方向; 为了保证牛顿方向是目标函数下降方向,海赛矩阵的逆阵必须正定;,36,函数只有在函数极值点附近,才能很接近一个二次函数,在此范围之外用二次函数近似代替原目标函数,误差较大,并不能保证迭代一次就达到极小点。 对于非二次函数,采用牛顿法时初始点不能任取,初始点应选在X*附近,有一定难度而是要求离极小点较近。否则,可能不收敛或收敛到非极小点。 虽然阻尼牛顿法有上述缺点,但在特定条件下它具有收敛最快的优点,并为其他的算法提供了思路和理论依据。,37,梯度法与牛顿法的比较,一般迭代式:,梯度法:,牛顿法:,阻尼牛顿

14、法:,38,设G为nxn阶实对称正定矩阵,如果有两个n维向量 和 满足 ,则称向量 与 关于矩阵 G共轭,或称他们是G的共轭方向。,当G为单位矩阵时,,共轭方向的概念是在研究二次函数,当 为对称正定矩阵时引出的使搜索方向直指极小点。,为了克服最速下降法的锯齿现象,提高收敛速度,发展了一类共轭方向法。搜索方向是共轭方向。即将相邻两次搜索方向由正交变为共轭。,4-4 共轭方向和共轭方向法,1、共轭方向的概念,39,首先考虑二维情况,如果按最速下降法,选择负梯度方向为搜索方向,会产生锯齿现象。为避免锯齿的发生,取下一次的迭代搜索方向直接指向极小点,如果选定这样的搜索方向,对于二元二次函数只需进行两次

15、d0、d1直线搜索就可以求到极小点。,如果能选定这样的方向,则只需两步搜索得到极小点,即,40,结论:,两个向量,,,对,是共轭向量。,应满足什么条件?,对于二次函数 在 处取得极小点的必要条件,等式两边同左乘 得:,和 称为对G的共轭方向。,41,2、共轭方向的性质,性质1 若非零向量系d0,d1,d2,dm-1是对G共轭,则这m个向量是线性无关的。,性质2 在n维空间中互相共轭的非零向量的个数不超过n。,性质3 从任意初始点出发,顺次沿n个G的共轭方向d0,d1, d2,进行一维搜索,最多经过n次迭代就可以找到的二次函数f(x)极小点。 说明这种迭代方法具有二次收敛性。,42,1、共轭方向

16、法的步骤,(1)选定初始点,,下降方向,和收敛精度,,置,(2)沿,方向进行一维搜索,得,(3)判断,是否满足,若满足则打印 ,,停机,否则转4)。,(4)提供新的共轭方向,,使,(5)置,,转2)。,3、共轭方向法,43,2、共轭方向法程序框图,提供新的共轭方向 使,44,3、格拉姆斯密特向量系共轭化法(共轭方向的确定),1、选定线性无关向量系 ,如n个坐标轴的单位向量;,2、取 ,令 ,根据共轭条件得,3、递推可得:,45,例题 求的一组共轭向量组 。 解:选三个坐标轴上的单位向量 作为一组线性无关向量组,即,46,取设则有,47,故有设 则有,48,且故有经过验算有故 对 共轭。,49,

17、共轭方向法是二次收敛的;由于n维设计空间中最多只能有n个线性无关的向量,所以n维优化问题的共轭方向最多只有n个,因此,用共轭方向法进行n步搜索后,若仍不能满足精度要求,继续产生共轭方向进行迭代搜索就是没有意义的或效果很差。而是令 ,重新构造n个共轭方向,开始新一轮的共轭方向法搜索,这样处理一般效果较好。,50,1、共轭梯度法是共轭方向法中的一种,该方法中每一个共轭向量都是依赖与迭代点处的负梯度而构造出来。,对于二次函数,从点 出发,沿G某一共轭方向 作一维搜索,到达,而在点 、 处的梯度分别为:,4-5 共轭梯度法,51,点处的梯度,若 和,对G是共轭方向,则:,其中:,52,得出共轭方向与梯

18、度之间的关系。此式表明沿方向,结论:,因此,共轭梯度法可以利用这个性质做到不必计算矩阵G 就能求共轭方向。,53,2、共轭梯度法计算原理,从 出发,沿负梯度方向作一维搜索:,设与 共轭的下一个方向 是由 和点 的负梯度的线性组合构成,即:,共轭条件(与梯度的关系):,将式(1)代入(2)得:,(1),(2),54,因此可得共轭方向的递推公式:,55,3、共轭梯度法计算过程,(1)设初始点,计算X1点处的梯度 。,(2)求 的共轭方向d1 ,作为下一步的搜索方向。把d1 取成-g1与d0两个方向的线性组合,计算该点梯度,56,(3)在 g0、g1、g2所构成的正交系中,求与d0及d1均共轭的方向

19、d2。设 式中 待定系数。因为要求d2与d0和d1均共轭,根据共轭方向与梯度的关系,考虑到g0、g1、g2相互正交,从而有,57,设 ,得因此从而得出,58,再沿d2方向继续进行一维搜索,如此继续下去可求得共轭方向的递推公式为沿着这些共轭方向一直搜索下去,直到最后迭代点处梯度的模小于给定允许值为止。 若目标函数为非二次函数,经 n 次搜索还未达到最优点时,则以最后得到的点作为初始点,重新计算共轭方向,一直到满足精度要求为止。,59,4、共轭梯度法程序框图,60,,已知初始点1,1T,解: 1)第一次沿负梯度方向搜寻 计算初始点处的梯度,为一维搜索最佳步长,应满足,迭代精度 。,例题 4-4 求

20、下列问题的极值,61,得:,2)第二次迭代:,代入目标函数,62,得,因,收敛。,由,从而有:,63,方法讨论 从共轭梯度法的计算过程可以看出,第一个搜索方向取作负梯度方向,这就是最速下降法。其余各步的搜索方向是将负梯度偏转一个角度,也就是对负梯度进行修正。所以共轭梯度法实质上是对最速下降法进行的一种改进,故它又被称作旋转梯度法。,64,共轭梯度法的优点是程序简单,存储量少,具有最速下降法的优点,在收敛速度上比最速下降法快,具有二次收敛性。共轭方向的形成只与迭代点的梯度有关,与牛顿法相比,避免了求海赛矩阵及其逆阵的计算,大大减少了计算工作量。,对于N维二次函数,最多经过n次迭代可收敛到极小点。

21、若为非二次函数,则如在迭代n次后得到的Xn不是极小点,就应令 , ,重新构造n个共轭方向,重复以上迭代过程。,65,DFP变尺度法首先有戴维顿(Davidon)于1959年提出,又于1963年由弗莱彻(Fletcher)和鲍维尔加以发展和完善,成为现代公认的较好的算法之一。DFP法是基于牛顿法的思想又作了重要改进。这种算法仅用到梯度,不必计算海赛阵及其逆矩阵,但又能使搜索方向逐渐逼近牛顿方向,具有较快的收敛速度。,4-6 变尺度法,66,能否克服各自的缺点,综合发挥其优点?,2)阻尼牛顿法,1)梯度法,* 梯度法构造简单,只用到一阶偏导数,计算量小,初始点可任选,且开始几次迭代,目标函数值下降

22、很快;其主要缺点是迭代点接近X*时,即使对二次正定函数收敛也非常慢。,* 牛顿法收敛很快,对于二次函数只需迭代一次便达到最优点,对非二次函数也能较快迭代到最优点,但要计算二阶偏导数矩阵及其逆阵,对维数较高的优化问题,其计算工作和存储量都太大。,1、问题的提出,67,对于一般函数 ,当用牛顿法寻求极小点时,,其牛顿迭代公式为:,其中:,为了避免迭代公式中计算海赛矩阵的逆阵,用对称正定矩阵 近似 的逆,每迭代一次,尺度就改变一次。而 的产生从给定 开始逐步修整得到。,2、变尺度法的基本思想,68,变量的尺度变换是放大或缩小各个坐标。通过尺度变换可以把函数的偏心程度降低到最低限度。尺度变换技巧能显著

23、地改进几乎所有极小化方法的收敛性质。,例如在用最速下降法求 的极小,值时 ,需要进行10次迭代才能达到极小点,把 x2的尺度放大5倍,则目标函数等值线由一簇椭圆变成一簇同心圆。,消除了函数的偏心,用最速下降法只需一次迭代即可求得极小点。,3、尺度矩阵的概念,69,对于一般二次函数,如果进行尺度变化,若矩阵 是正定的,则总存在矩阵 使,目的:减少二次项的偏心,用矩阵Q-1右乘等式(1)两边,得:,用矩阵Q左乘等式(2)两边,得:,(2),函数偏心度为0,70,所以,上式说明:二次函数矩阵G的逆阵,可以通过尺度变换矩阵Q来求得。,-变尺度矩阵,牛顿迭代法公式变为:,71,牛顿迭代公式:,记:,搜索

24、方向:,迭代公式:,-变尺度矩阵,72,如在前面例子中,如取,其中,则在变换 后的坐标系中,矩阵G变为,73,74,75,那么牛顿型方法就可看成是经过尺度变换后的最速下降法。经过尺度变换,使函数的偏心率减小到零,函数的等值面变为球面(或超球面),使设计空间中任意点处函数的梯度都通过极小点,从而用最速下降法只需一次迭代就可达到极小点。 这就是对变换前的二次函数,在使用牛顿方法时,由于其牛顿方向直接指向极小点,因此只需一次迭代就能找到极小点的原因所在。,76,4、变尺度矩阵的建立,对于一般函数 ,当用牛顿法寻求极小点时,其牛顿迭代公式为其中 为了避免在迭代公式中计算海赛矩阵的逆 阵 ,可用在迭代中

25、逐步建立的变尺度矩阵 来替换 ,即构造一个矩阵序列 来逼近海赛逆矩阵序列 。每迭代一次,尺度就改变一次,这正是“变尺度”的含义。,77,为了使变尺度矩阵 确实与 Gk-1 近似,并具有容易计算的特点,必须对 附加某些条件。 为保证迭代公式具有下降性质,要求 中的每一个矩阵都是对称正定的。 因为若要求搜索方向 为下降方向,即要求 ,也就是 ,这样 ,即 应为对称正定。 要求 之间的迭代具有简单的形式。 显然Hk+1=Hk+Ek为最简单的形式,其中Ek 为校正矩阵。上式称作校正公式。,变尺度矩阵应满足的条件,78,要求Hk必须满足拟牛顿条件。 设迭代过程已进行到k+1步,xk+1,gk+1均已求出

26、。对于具有正定矩阵G的二次函数,可以求得 即 而对具有正定海赛矩阵Gk+1的一般函数,在极小点附近可用二次函数很好地近似,所以考虑到如果迫使Hk+1满足类似于上式的关系那么Hk就可以很好地近似于 。因此,把上面的关系式称作拟牛顿条件(或拟牛顿方程)。,79,为简便起见,令则拟牛顿条件可写成 根据上述拟牛顿条件,不通过海赛矩阵求逆就可以构造一个矩阵Hk+1来逼近海赛矩阵的逆阵,这类方法统称作拟牛顿法。 由于变尺度矩阵的建立应用了拟牛顿条件,所以变尺度法属于拟牛顿法的一种。 变尺度法对于具有正定矩阵G的二次函数,能产生对G共轭的搜索方向,因此变尺度法可以看成是一种共轭方向法。,拟牛顿条件,80,(

27、1)选定初始点 和收敛精度 ;,(2)计算 ,选取初始对称正定矩阵 ,,置 ;,(3)计算搜索方向 ;,(4)沿 方向进行一维搜索 ,计算,(5)判断是否满足迭代终止准则,若满足则 ,,停机,否则6);,(6)当迭代 次后还没有找到极小点时,重置 为单位矩阵,并以当前设计点位初始点 ;,(7)计算矩阵,,置,,返回到3。,5、变尺度法的一般步骤,81,对于校正矩阵Ek,可由具体的公式来计算,不同的公式对应不同的变尺度法。但不论哪种变尺度法,Ek必须满足拟牛顿条件即 或 满足上式的Ek 有无穷多个,因此上述变尺度法(属于拟牛顿法)构成一族算法。,82,变尺度法 计算程序框图,83,6、DFP算法

28、,84,85,例: 用DFP算法求下列问题的极值:,解: 1)取初始点 ,为了按DFP法构造第一次搜寻方向d0,需计算初始点处的梯度,取初始变尺度矩阵为单位矩阵H0=I,则第一次搜寻方向为,86,沿d0方向进行一维搜索,得,为一维搜索最佳步长,应满足,得:,2)再按DFP法构造点x1处的搜寻方向d1,需计算,87,第二次搜寻方向为,再沿d1进行一维搜索,得,代入校正公式,则H1=H0+E0=,88,为一维搜索最佳步长,应满足,3)判断x2是否为极值点,梯度:,海赛矩阵 :,89,梯度为零向量,海赛矩阵正定。可见点满足极值充要条件,因此为极小点。此函数的极值解为,90,方法小结 1:算法的下降性

29、:当初始矩阵H0选为对称正定矩阵时,DFP算法将保证以后的迭代矩阵Hk都是对称正定的,即使将DFP算法施用于非二次函数也是如此,从而保证算法总是下降的。 2、计算量:避免了牛顿法要计算G和G-1,从而克服了牛顿法计算量大的缺点; 3、收敛速度:DFP算法能够克服梯度法在迭代后期收敛慢的缺点,却也保留了梯度法在最初几步函数值下降快的优点,且有较快的收敛速度,其收敛速度介于梯度法和牛顿法之间;,91,4、适用范围: DFP算法是无约束优化方法最有效的方法之一,因为它不单纯是利用向量传递信息,还采用了矩阵来传递信息,适用于高维优化问题(如设计变量在20 个以上),收敛快,效果好; 5、算法稳定性:D

30、FP算法的稳定性不高,为了提高其稳定性,通常将进行n次迭代作为一个循环,在n次迭代后重置n维单位矩阵I,并以上一个循环的终点作为起点,进行下一轮迭代。,92,BFGS算法(Broyden-Fletcher-Gold frob-Shanno )DFP算法由于舍入误差和一维搜索不精确,有可能导致构造矩阵的正定性遭到破坏,以至算法不稳定。BFGS算法对于维数较高问题具有更好的稳定性。,前面介绍的几种优化方法,都需要计算目标函数的导数,而在实际工程的最优化问题中,目标函数的导数往往很难求出或者根本无法求出。下面所介绍的方法只需要计算目标函数值,无需求其导数,因此计算比较简单,其几何概念也比较清晰,属于

31、直接法的无约束最优化方法。这类方法适用于不知道目标函数的数学表达式而仅知其具体算法的情况。这也是直接法的一个优点。,93,4-7 坐标轮换法,概述 坐标轮换法是每次搜索只允许一个变量变化,其余变量保持不变,即沿各坐标方向轮流进行搜索的寻优方法。 坐标轮换法的基本构思是将一个n维优化问题转化为依次沿n个坐标方向反复进行一维搜索问题。 这种方法的实质是把n维问题的求优过程转化为对每个变量逐次进行一维求优的循环过程。每次一维搜索时,只允许n个变量的一个改动,其余(n-1)个变量固定不变。故坐标轮换法也常称单变量法或变量轮换法。,94,1、坐标轮换法的寻优过程,(1)从初始点 出发,沿第一个坐标方向搜

32、索,即,,得 按照一维搜索方法确定,最佳步长因子 满足,(2)从 出发,沿,方向搜索得,其中:步长因子 满足:,为一轮 终点。,(3)检验始终点的距离是否满足精度要求。满足结束;不满足 ,开始新一轮。,95,算法推广:对于 个变量的函数,若在第 轮沿第个 坐标,方向 进行搜索,其迭代公式为:,其中搜索方向取坐标方向,即,若,则,,否则,进行下,一轮搜索,一直到满足精度应要求为止。,96,2、坐标轮换法的程序框图,97,(1)计算量少,程序简单,不需要求函数导数的直接探索目标函数最优解的方法; (2)探索路线较长,问题的维数愈多,求解的效率愈低。当维数n10时,则不应采用此法。仅适用于n较少(n

33、 10)的目标函数求优;(3)此法的效能在很大程度上取决于目标函数的性质。,3、坐标轮换法的特点,98,如果目标函数为二元二次函数,其等值线为圆或长短轴平行于坐标轴的椭圆时,此法很有效。一般经过两次搜索即可达到最优点,如下图所示。,99,如果等值线为长短轴不平行于坐标轴的椭圆,则需多次迭代才能达到最优点,如下图所示。,100,如果等值线出现脊线,本来沿脊线方向一步可达到最优点,但因坐标轮换法总是沿坐标轴方向搜索而不能沿脊线搜索,所以就终止到脊线上而不能找到最优点。,101,从上述分析可以看出,采用坐标轮换法只能轮流沿着坐标方向搜索,尽管也能使函数值步步下降,但要经过多次曲折迂回的路径才能达到极

34、值点;尤其在极值点附近步长很小,收敛很慢,所以坐标轮换法不是一种很好的搜索方法。 但是,可以以坐标轮换法为基础上构造出更好的搜索策略,下面讨论的鲍威尔(Powell)方法就属这种情况。,102,概述 鲍威尔(Powell)法是直接利用函数值来构造共轭方向的一种共轭方向法,是一种十分有效的算法。1964年,鲍维尔提出这种算法。 基本思想:从某初始点出发,在不用求导的前提下,逐次形成n个共轭方向,再沿这n个共轭方向进行搜索,求得极值点。,4-8 鲍威尔方法(方向加速法),103,对于二次函数,基本思想:在不用导数的前提下,在迭代中逐次构造G的共轭方向。,1、共轭方向的生成,设 为从不同点出发,沿同

35、一方向 进行一维搜索而得到的两个极小点。,104,由梯度和等值面垂直的性质, 和 两点处的梯度 之间存在关系:,另一方面,对于上述二次函数,其 两点处的梯度可表示为:,将两式相减可得:,若取方向,结论:这说明要沿 方向分别对函数作两次一维搜索,得到两个极小点 ,那么这两点的连线所给出的方向 就是与 一起对G共轭的方向。,105,对于如下图所示的二维问题, 的等值线为一族椭圆,A、B为沿x1轴方向上的两个极小点,分别处于等值线与x1 轴方向的切点上,则根据上述分析,则 A、B 两点的连线AB就是与 x1 轴一起对 G共轭的方向。沿此共轭方向进行一维搜索就可找到函数 的极小点 x* 。,106,2

36、、基本算法(以二维情况为例),1)任选一初始点x0,再选两个线性无关的向量如坐标轴的单位向量e1=1,0T和e2=0,1T本作为初始搜索方向; 2)从x0出发,顺次沿e1,e2作一维搜索,得到 点,两点连线得一新方向,107,用d1代替e1形成两个线性无关向量d1,e2,作为下一轮迭代的搜索方向。再从 出发,沿d1 作一维搜索得点 ,作为下一轮迭代的初始点。 3)从 出发,顺次沿e2,d1作一维搜索,得到 点 ,两点连线得一新方向,沿 作一维搜索得点,基本迭代格式包括共轭方向产生和方向替换两个主要步骤。,108,O 把二维情况的基本算法扩展到n维,Powell的算法要点:,在每一轮迭代中总有一

37、个起始点(第一轮的起始点是任选)和n个线性独立的搜索方向。从起始点出发顺次沿n个方向作一维搜索得一终点,由始点和终点决定了一个新的搜索方向。 用这个方向替换原来n个方向中的一个,于是形成新的搜索方向组。替换的原则是去掉原方向组的第一个方向而将新方向排在原方向的最后。此外规定,从这一轮的搜索终点出发沿新的搜索方向作一维搜索而得到的极小点,作为下一轮迭代的始点。这样就形成算法的循环。,109,上述算法仅具有理论意义,这是因为在迭代的n个搜索方向有时会变成线性相关而不能形成共轭方向。这时组不成n维空间,可能求不到极小点,故上述算法有待改进。,由于这种方法在迭代中生成共轭方向,而共轭方向是较好的搜索方

38、向,故powell法又称为方向加速法。,110,三、改进的算法,在鲍维尔基本算法中,每一轮迭代都用连结始点和终点 所产生出的搜索方向去替换原来向量组中的第一个向量,而不管它的“好坏”。这是产生向量组线性相关的原因所在。,在改进的算法中首先判断原向量组是否需要替换。 如果需要替换,还要进一步判断原向量组中哪个向量最坏,然后再用新产生的向量替换这个最坏的向量,以保证逐次生成共轭方向。,111,为此,要解决两个关键问题: (1)d k1是否较好?是否应该进入新的方向组?即方向组是否进行更新?,(2)如果应该更新方向组, dk1不一定替换方向 ,而是有选择地替换某一方向 。,令在k轮循环中,(,),分

39、别称为一轮迭代的始点、终点和反射点 。,112,则在循环中函数下降最多的第m次迭代是,相应的方向为 。,因此,记:,计算n个函数值之差 f0-f1 ,f1-f2 fn-1-fn,记作:,113,Powell 判别条件,为了构成共轭性好的方向组,须遵循下列准则:,在k次循环中,根据是否满足以下Powell条件来确定是否对原方向组进行替换:,114,若满足上述判别条件,则下轮迭代应对原方向组进行替换,将 补充到原方向组的最后位置,而除掉 。即新方向组为 作为下轮迭代的搜索方向。下轮迭代的始点取为沿 方向进行一维搜索的极小点 。,若不满足判别条件,则下轮迭代仍用原方向组,并以 中函数值小者作为下轮迭

40、代的始点。,115,判断是否满足收敛准则。若满足则取 为极小点,否则应置 ,返回继续进行下一轮迭代。,这样重复迭代的结果,后面加进去的向量都彼此对G共轭,经n轮迭代即可得到一个由n个共轭方向所组成的方向组。对于二次函次,最多n次就可找到极小点,而对一般函数,往往要超过n次才能找到极小点(这里“n”表示设计空间的维数)。,116,鲍威尔法的程序框图(改进算法),117,118,119,120,121,122,123,124,125,126,例4 用改进的鲍威尔法求目标函数,解:(1)第1轮迭代计算,沿e1方向进行一维搜索,得,127,以 为起点,沿第二坐标轴方向 e2 进行一维搜索,得,128,

41、确定此轮中的最大下降量及其相应方向,反射点及其函数值,,,检验Powell条件,129,由于满足Powell条件,则淘汰函数值下降量最大的方向e1,下一轮的基本方向组为e2, 。,构成新的方向,此点为下轮迭代初始点。,按点距准则检验终止条件,需进行第二轮迭代计算。,130,(2)第2轮迭代计算,此轮基本方向组为e2, 起始点为 。,沿e2方向进行一维搜索得,以 为起点沿 方向一维搜索得,确定此轮中函数值最大下降量及其相应方向,131,反射点及其函数值,检验Powell条件,淘汰函数值下降量最大的方向e2,下一轮的基本方向组应为 , 。,构成新的方向,沿 方向进行一维搜索得,132,(3)第3轮

42、迭代计算,故最优解,检验终止条件,此轮基本方向组为 , ,起始点为 ,先后沿 , 方向,进行一维搜索,得,133,总结 鲍威尔方法是的鲍威尔在1964年提出的,以后又经过他本人的改进。该法是一种有效的共轭方向法; 它可以在有限步内找到二次函数的极小点。具有二次收敛性。对于具有连续二阶导数的非二次函数,用这种方法也是有效的。 是一种直接算法,计算简单,收敛速度较快,可靠性好。,134,4-9 单形替换法,函数的导数是函数性态的反映,它对选择搜索的方向提供了有用的信息。 如最速下降法、共轭梯度法、变尺度法和牛顿法等,都是利用函数一阶或二阶导数信息来建立搜索方向。 也可以在不计算导数的情况下,先算出

43、若干点处的函数值,从它们之间的大小关系中也可以看出函数变化的大概趋势,为寻求函数的下降方向提供依据。 单形替换法 也是一种不使用导数的求解无约束极小化问题的直接搜索方法,与前面几种方法不同的是,单纯形替换法不是利用搜索方向从一个点迭代到另一个更优的点,而是从一个单纯形迭代到另一个更优的单纯形。,135,定义:单纯形 n维空间中的由n+1个线性独立的点构成的有界的凸多面体。根据定义,可知,一维空间中的单纯形是线段,二维空间中的单纯形是三角形,而三维空间中的单纯形则是四面体。,单形替换法的基本思想 利用单纯形的顶点,计算其函数值并加以比较,从中确定有利的搜索方向和步长,找到一个较好的点取代单纯形中

44、较差的点,组成新的单纯形来代替原来的单纯形。使新单纯形不断地向目标函数的极小点靠近,直到搜索到极小点为止。,136,在单纯形替换算法中,从一个单纯形到另一个单纯形的迭代主要通过反射、扩张、收缩和缩边这4个操作来实现。下面以二维问题为例来对4种操作进行说明。 (参见下图),基本运算和搜索规则,137,(1)反射设除了最劣点X1以外的基余顶点的中心为X4,作X1关于点X4的对称点X5,称X5为X1的反射点。求反射点的过程称之为反射。,设当前的单纯形的顶点为X1,X2,X3,且有,138,即反射点比最好点还好,说明搜索方向正确,还可以往前迈进一步,也就是可以扩张。这时取扩张点式中 扩张因子,一般取

45、。如果 ,说明扩张有利,就以 代替 构成新单纯形 。,(2)扩张和收缩在得到反射点X5之后,计算X5点的函数值,可能出现一下四种情况:,139,否则说明扩张不利,舍弃 ,仍以 代替 构成新单纯形 。2. 即反射点比最好点差,但比次差点好,说明反射可行,则以反射点代替最差点,仍构成新单纯形 。,140,3. 即反射点比次差点差,但比最差点好,说明 走得太远,应缩回一些,即收缩。这时取收缩点式中 收缩因子,常取成0.5。如果 ,则用 代替 构成新单纯形 ,否则 不用。,141,4.如果出现 。表示反射完全失败,应退回到介于X4与X1之间的某个点X8。,上述两种从反射点向X1方向后退的过程都称之为收

46、缩。如果收缩点优于原来的最劣点X1,称收缩成功,并以收缩点取代原最劣点,构成新单纯形X7,X2,X3或X8,X2,X3;否则,称之为收缩失败,舍弃收缩点。,142,(3)缩边若沿X1 X4方向上所有点都比最差点差,则说明不能沿此方向搜索,则应压缩当前单纯形的边长:令最优点X3不动,而其余顶点向X3方向压缩,使边长缩短(通常缩短一半),以产生新单纯形。如下图所示,点X1压缩到点X9,点X2压缩到点X10,得新单纯形X9,X10,X3,这一过程称之为缩边。,143,计算步骤 根据以上原理对于多元函数 ,其计算步骤如下: 构造初始单纯形。选初始点 x0 ,从 x0 出发沿各坐标轴方向走步长 h,得 n 个顶点 与 x0 构成初始单纯形。这样可以保证此单纯形各棱是n 个线性无关的向量,否则就可能使搜索范围局限在某个较低维的空间内,有可能找不到极小点。 计算各顶点函数值,144,3. 比较函数值的大小,确定最好点 xL ,最差点xH 和次差点xG ,即有检验是否满足收敛准则如满足则 x*=xL ,停机,否则转5。,145,5. 计算除 xH 点之外各点的“重心”xn+1反射点,根据不同情况,分别进行扩张,收缩或缩边,构造新单纯形,然后返回3 ;,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报