无约束优化方法11.ppt_第1页
无约束优化方法11.ppt_第2页
无约束优化方法11.ppt_第3页
无约束优化方法11.ppt_第4页
无约束优化方法11.ppt_第5页
已阅读5页,还剩152页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

,第四章 无约束优化方法,4.1,概述,4.2,最速下降法,4.3,牛顿型方法,4.4,共轭方向及共轭方向法,重点,4.5,共轭梯度法,4.6,变尺度法,4.7,坐标轮换法,4.8,鲍威尔方法,4.9,单型替换法,机械优化设计问题大都是在一定的限制条件下追求某一指标为最小,它们都属于约束优化问题。工程问题大都如此。 为什么要研究无约束优化问题? (1)有些实际问题,其数学模型本身就是一个无约束优化问题。 (2)通过熟悉它的解法可以为研究约束优化问题打下良好的基础。 (3)约束优化问题的求解可以通过一系列无约束优化方法来达到。所以无约束优化问题的解法是优化设计方法的基本组成部分,也是优化方法的基础。,4.1 概述,(4)对于多维无约束问题来说,古典极值理论中令一阶导数为零,但要求二阶可微,且要判断海赛矩阵为正定才能求得极小点,这种方法有理论意义,但无实用价值。和一维问题一样,若多元函数F(X)不可微,亦无法求解。但古典极值理论是无约束优化方法发展的基础。,目前已研究出很多种无约束优化方法,它们的主要不同点在于构造搜索方向上的差别。,无约束优化问题的数学模型是:,求n维设计变量,使目标函数,无约束优化问题的求解 解析法 对于此类问题的求解,可以直接应用目标函数极值条件来确定极值点。把求解目标函数极值的问题变成求解下列方程,这是一个含有 个未知量, 个方程的方程组(一般是非线性的方程组),除了一些特殊情况外,求解析解比较困难,一般需要采用数值方法求解。但是,与其用数值计算方法求解非线性方程组,倒不如用数值计算方法直接求解无约束极值问题。,数值方法* 最常用的数值方法是数学规划方法,其基本思想是从绐定的初始点 出发,沿某一搜索方向 进行搜索,确定最佳步长 使函数值沿方向 下降最大。按照这样的方式按下述公式不断进行,形成迭代的下降算法 在上式中, 是第是 次搜索或迭代方向,称为搜索方向(迭代方向)。,数值方法* 最常用的数值方法是搜索方法,其基本思想如下图所示:,无约束优化算法的粗框图,开始,一维搜索,本章重点,各种无约束优化方法的主要区别就在于确定其搜索方向 的方法不同,搜索方向的构成问题是无约束优化方法的关键。 和 的形成和确定方法不同就派生出不同的 维无约束优化问题的数值解法。 根据构成搜索方向 所使用的信息性质的不同,无约束优化方法可以分为两类。 利用目标函数的一阶或二阶导数信息构造搜索方向的无约束优化方法; 只用目标函数值的信息构造搜索方向的无约束优化方法,最速下降法,牛顿法,共轭方向法,共轭梯度法,变尺度法,坐标轮换法,鲍威尔方法,单型替换法,无约束优化方法,利用目标函数的导数信息,利用目标函数值信息,用直接法寻找极小点时,不必求函数的导数,只要计算目标函数值。这类方法较适用于解决变量个数较少的(n 20)问题,一般情况下比间接法效率低。间接法除要计算目标函数值外,还要计算目标函数的梯度,有的还要计算其海赛矩阵。,4.2 最速下降法,基于上述思想,形成如下迭代算法: 最速下降法是以负梯度方向作为搜索方向,所以最速下降法又称为梯度法。,最速下降法是一个求解极值问题的古老算法,1847年由柯西(Cauchy)提出。,最速下降法的基本思想 优化设计的目的是追求目标函数值 最小,因此如果从某点X 出发,其搜索方向 d 取该点的负梯度方向 (最速下降方向),那么就可以使函数值在该点附近的范围内下降最快。,为了使目标函数值沿搜索方向 能够获得最大的下降值,其步长因子 应取一维搜索的最佳步长。即有,根据一元函数极值的必要条件和多元复合函数求导公式,得,最佳步长的确定,由上式可知,在最速下降法中,相邻两个迭代点上的函数梯度相互垂直。而搜索方向就是负梯度方向,因此相邻两个搜索方向互相垂直。 梯度法的搜索路线: 最速下降法中,迭代点向函数极小点靠近的过程,走的是曲折的路线。这一次的搜索方向与前一次的搜索方向互相垂直,形成“之”字形的直齿锯齿现象,如图所示,在接近极小点的位置,由于锯齿现象使每次迭代行进的距离缩短,因而收敛速度减慢,这种情况似乎与“最速下降”的名称相矛盾,这主要是因为梯度是函数的局部性质(从局部上看,在一点附近函数的下降是快的),但从整体上看则走了许多弯路,函数的下降并不算快。,sk,梯度法的算法程序框图,例题,这个问题的目标函数的等值线为一簇椭圆,迭代点从 走的是一段锯齿形路线,见图4-3。,图4-3,将上例中目标函数 引入变换,其等值线由椭圆变成一簇同心圆。,仍从 即 出发进行最速下降法寻优。此时:,沿负梯度方向进行一维搜索:,则函数f(X)变为:,y1=x1, y2=5x2,由,从而算得一步计算后设计点的位置及其目标函数:,经变换后,只需一次迭代,就可找到最优解。,这是因为经过尺度变换:,等值线由椭圆变成圆。,梯度法小结,(1)理论明确,程序简单,对初始点要求不严格。 (2)对一般函数而言,梯度法的收敛速度并不快,因为最速下降方向仅仅是指某点的一个局部性质。 (3)梯度法相邻两次搜索方向的正交性,决定了迭代全过程的搜索路线呈直齿锯齿状,在远离极小点时逼近速度较快,而在接近极小点时逼近速度较慢。,(4)梯度法的收敛速度与目标函数的性质密切相关。 如目标函数的等值线所形成的椭圆族越扁,迭代次数就越多,搜索难于达到极小点; 对于等值线(面)为同心圆(球)的目标函数,或初始点选在椭圆族对称轴上等特例,一次搜索即可达到极小点。,最速下降法的收敛速度和变量的尺度关系很大,这一点可从最速下降法收敛速度的估计式上看出来。在适当条件下,有 式中 的海赛矩阵最大特征值上界; 其最小特征值下界。,当相邻两个迭代点之间满足上式时(右边的系数为小于等于1的正的常数),我们称相应的迭代方法是具有线性收敛速度的迭代法。因此,最速下降法是具有线性收敛速度的选代法。,鉴于应用最速下降法可以使目标函数在开头几步下降很快,所以它可与其它无约束优化方法配合使用。 即在开始阶段用梯度法求得一个较优的初始点,然后用其它收敛快的方法继续寻找极小点。,4-2 牛顿法及其改进,设 为 的极小点,原始牛顿法,这就是多元函数求极值的牛顿法迭代公式。,对于二次函数 ,其展开到二次项的泰勒展开式就是其本身,海赛矩阵G是一个常矩阵,其中各元素均为常数。因此,无论从任何点出发,只需一步就可找到极小点。 如果某一迭代方法能使二次型函数在有限次迭代内达到极小点,称此迭代方法是二次收敛的。因此牛顿方法是二次收敛的。,定步长,例42 求目标函数 的极小点。 解 取初始点,经过一次迭代即求得极小点,函数极小值,从牛顿法迭代公式的推演中可以看到,迭代点的位置是按照极值条件确定的,其中并未含有沿下降方向搜寻的概念。因此对于非二次函数,如果采用上述牛顿迭代公式,有时会使函数值上升 。,因此需要对牛顿法进行改进,引人数学规划法的搜寻概念,产生了阻尼牛顿法。,阻尼牛顿法,阻尼因子 ,沿牛顿方向进行一维搜索的最佳步长,由下式求得:,如果我们把 看作是 一个搜索方向,并称其为牛顿方向,则阻尼牛顿法采取如下的迭代公式,可以看出原始牛顿法就相当于阻尼牛顿法的步长因子取成固定值1的情况。 阻尼牛顿法每次迭代都在牛顿方向上进行一维搜索,避免了迭代后函数值上升的现象,从而保持了牛顿法二次收敛的特性,而对初始点的选取并没有苛刻的要求。,阻尼牛顿法程序框图,1、原始牛顿法和阻尼牛顿法统称为牛顿型方法。牛顿法是二次收敛的,收敛速度较快; 2、这类方法的主要缺点计算复杂,工作量大,要求计算机存储量大: 1)每次迭代都要计算函数的海赛矩阵,并对该矩阵求逆,工作量非常大。 2)从计算机存储方面考虑,牛顿型方法所需的存储量也很大。一般计算量和存储量以n2比例增长,牛顿法小结,基于以下两方面的原因, 给牛顿法的运用带来一定局限性 使用条件苛刻,对于二阶不可微的f(X)也不适用。若迭代点的海赛矩阵为奇异,则无法求逆矩阵,不能构造牛顿法方向; 为了保证牛顿方向是目标函数下降方向,海赛矩阵的逆阵必须正定;,函数只有在函数极值点附近,才能很接近一个二次函数,在此范围之外用二次函数近似代替原目标函数,误差较大,并不能保证迭代一次就达到极小点 对于非二次函数,采用牛顿法时初始点不能任取,初始点应选在X*附近,有一定难度而是要求离极小点较近。否则,可能不收敛或收敛到非极小点。 虽然阻尼牛顿法有上述缺点,但在特定条件下它具有收敛最快的优点,并为其他的算法提供了思路和理论依据。,一般迭代式:,梯度法:,原始牛顿法:,牛顿法:,梯度法与牛顿法,4.4 共轭方向及共轭方向法,概述 由于最速下降法存在“锯齿”现象,为了提高收敛速度,发展了一类共轭方向法。这类方法的搜索方向取的是共轭方向。 共轭方向是优化方法研究中的一个重要概念,许多效果较好的优化方法都是以共轭方向作为其搜索方向的。,考虑以上二次函数为二维的情况 由平面解析几何知识可知二元二次函数的等值线为一族椭圆。,共轭方向的概念是在研究二次函数 引入的(其中 G 为对称正定矩阵),任选取初始点x0沿某个下降方向d0作一维搜索,得x1,共轭方向的概念,因为 是沿d0方向搜索的最佳步长,即在点x1处函数f(x)沿方向d0的方向导数为零。考虑到点x1处方向导数与梯度之间的关系,故有,即: 与某一等值线相切于 点,如果按最速下降法,选择负梯度方向 为搜索方向,则将发生锯齿现象 。,现取下一次的迭代搜索方向d1直指极小点x*。,0d0,x,0,x1,x*,1,1,1d1,d1,如果能够选定这样的搜索方向,那么对于二元二次函数只需顺次进行d0、d1两次直线搜索就可以求到极小点x* ,即有,那么这样的d1方向应该满足什么条件呢 ?,0d0,x,0,x1,x*,1,1,1d1,d1,对于前述的二次函数:,当 时,,x*是f(x)极小点,应满足极值必要条件,故有,将等式两边同时左乘 得:,有,就是使d1直指极小点x* , d1所必须满足的条件 。,两个向量d0和d1称为G的共轭向量,或称d0和d1对G是共轭方向。,共轭方向的定义 设 为 对称正定矩阵,若 维空间中有 个非零向量 满足 则称 对 共轭,或称它们是 的共轭方向。 当 (单位矩阵)时,上式变成 故向量 互相正交。由此可见,共轭概念是正交概念的推广,正交是共轭的特例。,例子,共轭方向的性质,性质1 若非零向量系d0,d1,d2,dm-1是对G共轭,则这m个向量是线性无关的。,性质2 在n维空间中互相共轭的非零向量的个数不超过n。,性质3 从任意初始点出发,顺次沿n个G的共轭方向d0,d1, d2,进行一维搜索,最多经过n次迭代就可以找到的二次函数f(x)极小点。 说明这种迭代方法具有二次收敛性。,以共轭方向的性质3为基础可以建立共轭方向法,它提供了求二次函数极小点的原则方法。其步骤是: 选定初始点 ,下降方向 和收敛精度 ,置 。 沿 方向进行一维搜索,得 。 判断 是否满足,若满足则打印 ,程序结束;否则转4。 提供新的共轭方向 ,使 , 其中 置 ,转2。,共轭方向法,提供新的共轭方向 使,共轭方向法的程序框图(P67),在无约束方法中许多算法都是以共轭方向作为搜索方向,它们具有许多特点。根据构造共轭方向的原理不同,可以形成不同的共轭方向法。 (如共轭梯度法,鲍威尔(Powell)法等),共轭方向的形成 格拉姆斯密特(Gram-Schmidt)向量组共轭化方法(格拉姆斯密特向量组正交化方法的推广),例题 求 的一组共轭向量组 。 解:选三个坐标轴上的单位向量 作为一组线性无关向量组,即,取 设 则有,故有 设 则有,且 故有,经过验算有 故 对 共轭。,方法讨论 共轭方向主要是针对二次函数的,但也可以用于一般非二次函数。这是由于非二次函数在极小点附近可用二次函数来近似 上式中的海赛矩阵 相当于二次函数中的矩阵 ,但 未知。当迭代点 充分靠近 时,可用 构造共轭向量组。,共轭方向法是二次收敛的; 由于n维设计空间中最多只能有n个线性无关的向量,所以n维优化问题的共轭方向最多只有n个,因此,用共轭方向法进行n步搜索后,若仍不能满足精度要求,继续产生共轭方向进行迭代搜索就是没有意义的或效果很差。 而是令 ,重新构造n个共轭方向,开始新一轮的共轭方向法搜索,这样处理一般效果较好。,概述 共轭梯度法是共轭方向法中的一种,在该方法中每个共轭向量都是依赖于迭代点处的负梯度而构造出来的,因此称为共轭梯度法。 是一种效果好、用途广的方法。 在1964年有弗来彻和里伍斯两人提出。,4.5 共轭梯度法,共轭梯度法 为了利用梯度求共轭方向,首先来研究共轭方向与梯度之间的关系。考虑二次函数 从 点出发,沿 的某一共轭方向 作一维搜索,到达 点,即,或 在 点处的梯度 分别为 所以有 若 和 对 是共轭的,则有 故可利用上式两端同时乘以 ,即得 这就是共轭方向与梯度之间的关系。,该式表明沿方向 进行一维搜索,其终点 与始点 的梯度之差 与 的共轭方向 正交。因此,共轭梯度法可以利用这个性质做到不必计算矩阵 就来求共轭方向。 此性质的几何说明如下图所示,共轭梯度法的计算过程,在 所构成的正交系中,求与 及 均共轭的方向 。 设 式中 待定系数。 因为要求 与 和 均共轭,根据共轭方向与梯度的关系, 考虑到 相互正交,从而有,设 ,得 因此 从而得出,再沿 方向继续进行一维搜索,如此继续下去可求得共轭方向的递推公式为 沿着这些共轭方向一直搜索下去,直到最后迭代点处梯度的模小于给定允许值为止。 若目标函数为非二次函数,经 n 次搜索还未达到最优点时,则以最后得到的点作为初始点,重新计算共轭方向,一直到满足精度要求为止。,共轭梯度法的程序框图(P72),,已知初始点1,1T,例题 4-4 求下列问题的极值,解: 1)第一次沿负梯度方向搜寻 计算初始点处的梯度,为一维搜索最佳步长,应满足,迭代精度 。,得:,2)第二次迭代:,代入目标函数,得,因,收敛。,由,从而有:,方法讨论 从共轭梯度法的计算过程可以看出,第一个搜索方向取作负梯度方向,这就是最速下降法。其余各步的搜索方向是将负梯度偏转一个角度,也就是对负梯度进行修正。所以共轭梯度法实质上是对最速下降法进行的一种改进,故它又被称作旋转梯度法。,共轭梯度法的优点是程序简单,存储量少,具有最速下降法的优点,在收敛速度上比最速下降法快,具有二次收敛性。 共轭方向的形成只与迭代点的梯度有关,与牛顿法相比,避免了求海赛矩阵及其逆阵的计算,大大减少了计算工作量。,对于N维二次函数,最多经过n次迭代可收敛到极小点。若为非二次函数,则如在迭代n次后得到的Xn不是极小点,就应令 , ,重新构造n个共轭方向,重复以上迭代过程。,变尺度法是近几十年来无约束优化方法发展中最重要的研究成果; 是基于牛顿法和最速下降法的思想而又作了重要改进的一类方法; DFP变尺度法首先有戴维顿(Davidon)与1959年提出,又于1963年由弗莱彻(Fletcher)和鲍维尔加以发展和完善。至今仍被公认为是求解无约束优化问题的最有效的算法之一。,4.6 变尺度法,变尺度法的基本思想: 变尺度法的基本思想与最速下降法和牛顿法关系密切。下面有必要回顾一下前面介绍的这两种算法:,最速下降法,牛顿法,梯度法构造简单,只用到一阶偏导数,计算量小,初始点可任选,且开始几次迭代,目标函数值下降很快;其主要缺点是迭代点接近X*时,即使对二次正定函数收敛也非常慢。 牛顿法收敛很快,对于二次函数只需迭代一次便达到最优点,对非二次函数也能较快迭代到最优点,但要计算二阶偏导数矩阵及其逆阵,对维数较高的优化问题,其计算工作和存储量都太大。,能不能将两种算法的优点综合起来,扬长避短?,变尺度法的基本思想是:利用牛顿法的迭代公式,但又不直接计算 ,而是用一个对称正定矩阵 来近似代替 ,并且使 在迭代过程中不断改进,最后逼近 。,由以上分析可知,最速下降法和牛顿法各有优缺点,因此人们自然会想到,能否吸取二者之长,兼有二者各自优点,又能有效地克服二者的缺点,来建立一种新的算法,那么这种算法一定比最速下降法和牛顿法都有效,于是便产生和发展了变尺度法。,变尺度法迭代公式: 其中 : 尺度矩阵 变尺度法的关键在于构造,尺度矩阵的概念 变量的尺度变换是放大或缩小各个坐标。通过尺度变换可以把函数的偏心程度降低到最低限度。尺度变换技巧能显著地改进几乎所有极小化方法的收敛性质.。,例如在用最速下降法求 的极小,值时 ,需要进行10次迭代才能达到极小点,如作变换,y1=x1, y2=5x2,消除了函数的偏心,用最速下降法只需一次迭代即可求得极小点。,Hk 是需要构造nn的一个对称方阵 ,,如Hk=I, 则得到梯度法 ;,变尺度法的关键在于尺度矩阵Hk的产生 。,进行尺度变换,在新的坐标系中,函数f(x)的二次项变为:,目的:减少二次项的偏心,如G是正定,则总存在矩阵Q,使得:,用矩阵Q-1右乘等式(1)两边,得:,用矩阵Q左乘等式(2)两边,得:,所以,上式说明:二次函数矩阵G的逆阵,可以通过尺度变换矩阵Q来求得。,对于二次函数:,(1),(2),函数偏心度为0,在例42中,如取,求得:,最速下降法迭代公式为 对这两种方法进行比较,可以看出牛顿型方法的迭代式中多了 部分。 实际上是在 空间内测量距离大小的一种度量,称作尺度矩阵 H 。,牛顿法迭代公式:,在未进行尺度变换前,向量 长度的概念是 进行尺度变换后向量 对于 尺度下的长度 由此可见在确定长度的大小时,尺度矩阵可以使得某些方向起的作用比较大,另一些方向起的作用比较小。 为使这种尺度有用,必须对一切非零向量的 均有 ,即要求尺度矩阵 正定。,在引入了尺度矩阵的概念后,牛顿型方法的迭代公式可用尺度变换矩阵 表示,即 那么牛顿型方法就可看成是经过尺度变换后的最速下降法。经过尺度变换,使函数的偏心率减小到零,函数的等值面变为球面(或超球面),使设计空间中任意点处函数的梯度都通过极小点,从而用最速下降法只需一次迭代就可达到极小点。 这就是对变换前的二次函数,在使用牛顿方法时,由于其牛顿方向直接指向极小点,因此只需一次迭代就能找到极小点的原因所在。,对于一般函数 ,当用牛顿法寻求极小点时,其牛顿迭代公式为 其中 为了避免在迭代公式中计算海赛矩阵的逆阵 ,可用在迭代中逐步建立的变尺度矩阵 来替换 ,即构造一个矩阵序列 来逼近海赛逆矩阵序列 。每迭代一次,尺度就改变一次,这正是“变尺度”的含义。,变尺度矩阵的建立,为了使变尺度矩阵 确实与 近似,并具有容易计算的特点,必须对 附加某些条件。 为保证迭代公式具有下降性质,要求 中的每一个矩阵都是对称正定的。 因为若要求搜索方向 为下降方向,即要求 ,也就是 ,这样 , 即 应为对称正定。 要求 之间的迭代具有简单的形式。 显然 为最简单的形式,其中 为校正矩阵。上式称作校正公式。,变尺度矩阵应满足的条件,要求 必须满足拟牛顿条件。 设迭代过程已进行到 步, 均已求出。对于具有正定矩阵 的二次函数 , 可以求得 即 而对具有正定海赛矩阵 的一般函数,在极小点附近可用二次函数很好地近似,所以考虑到如果迫使 满足类似于上式的关系 那么 就可以很好地近似于 。因此,把上面的关系式称作拟牛顿条件(或拟牛顿方程)。,为简便起见,记 则拟牛顿条件可写成 根据上述拟牛顿条件,不通过海赛矩阵求逆就可以构造一个矩阵 来逼近海赛矩阵的逆阵,这类方法统称作拟牛顿法。 由于变尺度矩阵的建立应用了拟牛顿条件,所以变尺度法属于拟牛顿法的一种。 变尺度法对于具有正定矩阵 的二次函数,能产生对 共轭的搜索方向,因此变尺度法可以看成是一种共轭方向法。,对一般多元函数 ,用变尺度法求极小点 ,其一般步骤是: 选定初始点 和收敛精度 。 计算 ,选取初始对称正定矩阵 (例如 ),置 。 计算搜索方向 。 沿 方向进行一维搜索 ,计算,变尺度法的一般步骤,判断是否满足迭代终止准则,若满足则 ,停机,否则转6。 当迭代 次后还没找到极小点时,重置 为单位矩阵 ,并以当前设计点为初始点 ,返回到2进行下一轮迭代,否则转到7。 计算矩阵 ,置 返回到3。,变尺度法的程序框图(P77),对于校正矩阵 ,可由具体的公式来计算,不同的公式对应不同的变尺度法。但不论哪种变尺度法, 必须满足拟牛顿条件 即 或 满足上式的 有无穷多个,因此上述变尺度法(属于拟牛顿法)构成一族算法。,DFP算法(Davidon-Fletcher-Powell) DFP算法是戴维登(Davidon)于1959年提出的,后来由弗来彻(Fletcher)和鲍威尔(Powel)于1963年作了改进,故用三人名字的字头命名。 DFP算法中的校正矩阵 Ek 取下列形式:,从而可得变尺度法的校正公式,由上可知,DFP算法的计算步骤和变尺度法的一般步骤相 同,只是具体计算校正矩阵时应按上式进行。,例4-3: 用DFP算法求下列问题的极值:,解: 1)取初始点 ,为了按DFP法构造第一次搜寻方向d0,需计算初始点处的梯度,取初始变尺度矩阵为单位矩阵H0=I,则第一次搜寻方向为,沿d0方向进行一维搜索,得,为一维搜索最佳步长,应满足,得:,2)再按DFP法构造点x1处的搜寻方向d1,需计算,代入校正公式,=,第二次搜寻方向为,再沿d1进行一维搜索,得,为一维搜索最佳步长,应满足,3)判断x2是否为极值点,梯度:,海赛矩阵 :,梯度为零向量,海赛矩阵正定。可见点满足极值充要条件,因此为极小点。,方法小结 1:算法的下降性:当初始矩阵 选为对称正定矩阵时,DFP算法将保证以后的迭代矩阵 都是对称正定的,即使将DFP算法施用于非二次函数也是如此,从而保证算法总是下降的。 2、计算量:避免了牛顿法要计算G和G-1,从而克服了牛顿法计算量大的缺点;,3、收敛速度:DFP算法能够克服梯度法在迭代后期收敛慢的缺点,却也保留了梯度法在最初几步函数值下降快的优点,且有较快的收敛速度,其收敛速度介于梯度法和牛顿法之间; 4、适用范围: DFP算法是无约束优化方法最有效的方法之一,因为它不单纯是利用向量传递信息,还采用了矩阵来传递信息,适用于高维优化问题(如设计变量在20 个以上),收敛快,效果好; 5、算法稳定性:DFP算法的稳定性不高,为了提高其稳定性,通常将进行n次迭代作为一个循环,在n次迭代后重置n维单位矩阵I,并以上一个循环的终点作为起点,进行下一轮迭代。,2)BFGS算法(Broyden-Fletcher-Gold frob-Shanno ),DFP算法由于舍入误差和一维搜索不精确,有可能导致构造矩阵的正定性遭到破坏,以至算法不稳定。BFGS算法对于维数较高问题具有更好的稳定性。,前面介绍的5种优化方法,都需要计算目标函数的导数,而在实际工程的最优化问题中,目标函数的导数往往很难求出或者根本无法求出。下面所介绍的方法只需要计算目标函数值,无需求其导数,因此计算比较简单,其几何概念也比较清晰,属于直接法的无约束最优化方法。这类方法适用于不知道目标函数的数学表达式而仅知其具体算法的情况。这也是直接法的一个优点。,4.7 坐标轮换法,概述 坐标轮换法是每次搜索只允许一个变量变化,其余变量保持不变,即沿各坐标方向轮流进行搜索的寻优方法。 坐标轮换法的基本构思是将一个n维优化问题转化为依次沿n个坐标方向反复进行一维搜索问题。 这种方法的实质是把n维问题的求优过程转化为对每个变量逐次进行一维求优的循环过程。每次一维搜索时,只允许n个变量的一个改动,其余(n-1)个变量固定不变。故坐标轮换法也常称单变量法或变量轮换法。,坐标轮换法在搜索过程中可以不需要目标函数的导数,只需目标函数值信息,因此比前面讨论的利用目标函数导数信息建立搜索方向的方法要简单。 搜索路线,以二元函数 为例说明坐标轮换法的寻优过程,如右图所示。,从初始点 出发,沿第一个坐标方向搜索,即 得 按照一维搜索方法确走最佳步长因子 满足: ; 然后从 出发沿则 方向搜得: ,其中步长因子 满足: , 为第一轮( )的终点。,检验始、终点间距离是否满足精度要求,即判断 的条件是否满足。若满足则 ,否则令 ,重新依次沿坐标方向进行下一轮( )的搜索。,算法推广 对于 n 个变量的函数,若在第k轮沿第 i 个坐标方向进行搜索,其迭代公式为 其中搜索方向取坐标方向,即 。 收敛准则判断 若 ,则 ,否则 ,进行下一轮搜索,一直到满足精度要求为止。,坐标轮换法的程序框图(P82),(1)计算量少,程序简单,不需要求函数导数的直接探索目标函数最优解的方法; (2)探索路线较长,问题的维数愈多,求解的效率愈低。当维数n10时,则不应采用此法。仅适用于n较少(n 10)的目标函数求优;,坐标轮换法小结,(3)此法的效能在很大程度上取决于目标函数的性质。,如果目标函数为二元二次函数,其等值线为圆或长短轴平行于坐标轴的椭圆时,此法很有效。一般经过两次搜索即可达到最优点,如下图所示。,如果等值线为长短轴不平行于坐标轴的椭圆,则需多次迭代才能达到最优点,如下图所示。,如果等值线出现脊线,本来沿脊线方向一步可达到最优点,但因坐标轮换法总是沿坐标轴方向搜索而不能沿脊线搜索,所以就终止到脊线上而不能找到最优点。,从以上可以看出,采用坐标轮换法只能轮流沿着坐标方向搜索,尽管也能使函数值步步下降,但要经过多次曲折迂回的路径才能达到极值点;尤其在极值点附近步长很小,收敛很慢,所以坐标轮换法不是一种很好的搜索方法。 但是,可以以坐标轮换法为基础上构造出更好的搜索策略。,概述 鲍威尔(Powell)法是直接利用函数值来构造共轭方向的一种共轭方向法,是一种十分有效的算法。 1964年,鲍维尔提出这种算法。 基本思想:从某初始点出发,在不用求导的前提下,逐次形成n个共轭方向,再沿这n个共轭方向进行搜索,求得极值点。,4.8 鲍威尔方法,对函数:,基本思想:在不用导数的前提下,在迭代中逐次构造G的共轭方向。,1.共轭方向的生成,j,j,k,d,dj,x,x,k+1,设xk, xk+1为从不同点出发,沿同一方向dj进行一维搜索而得到的两个极小点。,梯度和等值面相垂直的性质, dj和 xk, xk+1两点处的梯度gk,gk+1之间存在关系:,j,k,k,d,dj,g,g,k+1,x,x,k+1,另一方面,对于上述二次函数,其xk, xk+1两点处的梯度可表示为:,因而有,取,这说明只要沿dj方向分别对函数作两次一维搜索,得到两个极小点xk和xk+1 ,那么这两点的连线所给出的方向dk就是与dj一起对G共轭的方向。,j,k,k,k,d,d,dj,g,g,k+1,x,x,k+1,对于如下图所示的二维问题, 的等值线为一族椭圆, 为沿 轴方向上的两个极小点,分别处于等值线与 轴方向的切点上,则根据上述分析,则 两点的连线 就是与 轴一起对 共轭的方向。沿此共轭方向进行一维搜索就可找到函数 的极小点 。,2.基本算法,二维情况描述鲍威尔的基本算法:,1)任选一初始点x0,再选两个线性无关的向量,如坐标轴单位向量e1=1,0T和e2=0,1T作为初始搜索方向。,2)从x0出发,顺次沿e1, e2作一维搜索,得 点,两点连线得一新方向d1,沿d2作一维搜索得点x2 。,即是二维问题的极小点x* 。,用 d1代替e1形成两个线性无关向量d1 ,e2 ,作为下一轮迭代的搜索方向。再 从出发,沿d1作一维搜索得点 ,作为下一轮迭代的初始点。,3)从出发 ,顺次沿e2,d1 作一维搜索,得到点 ,两点连线得一新方向:,方法的基本迭代格式包括共轭方向产生和方向替换两主要步骤。,把二维情况的基本算法扩展到n维,则鲍威尔基本算法的要点是: 在每一轮迭代中总有一个始点(第一轮的始点是任选的初始点)和n个线性独立的搜索方向。从始点出发顺次沿n个方向作一维搜索得一终点,由始点和终点决定了一个新的搜索方向。 用这个方向替换原来n个方向中的一个,于是形成新的搜索方向组。 替换的原则是去掉原方向组的第一个方向而将新方向排在原方向的最后。此外规定,从这一轮的搜索终点出发沿新的搜索方向作一维搜索而得到的极小点,作为下一轮迭代的始点。这样就形成算法的循环。,上述基本算法仅具有理论意义 。,因此上述基本算法有待改进!,因为在迭代中的n个搜索方向有时会变成线性相关而不能形成共轭方向。这时组不成n维空间,导致随后的迭代在降维的空间中进行,可能求不到原来问题真正的极小点。这种现象称为“退化”。,3.改进的鲍威尔算法,在鲍威尔基本算法中,每一轮迭代都用连结始点和终点所产生出的搜索方向去替换原向量组中的第一个向量,而不管它的“好坏”,这是产生向量组线性相关的原因所在。,在改进的算法中首先判断原向量组是否需要替换。 如果需要替换,还要进一步判断原向量组中哪个向量最坏,然后再用新产生的向量替换这个最坏的向量,以保证逐次生成共轭方向。,为此,要解决两个关键问题: 1)dk1是否较好?是否应该进入新的方向组?即方向组是否进行更新?,2)如果应该更新方向组, dk1不一定替换方向 ,而是有选择地替换某一方向 。,其中最大者记为:,记:,相应的方向为 。,因此,令在k次循环中:,(,),分别称为一轮迭代的始点、终点和反射点 。,为了构成共轭性好的方向组,须遵循下列准则:,在k次循环中,根据是否满足以下Powell条件来确定是否对原方向组进行替换:,Powell 判别条件,若满足上述判别条件,则下轮迭代应对原方向组进行替换,将 补充到原方向组的最后位置,而除掉 。即新方向组为 作为下轮迭代的搜索方向。下轮迭代的始点取为沿 方向进行一维搜索的极小点 。,若不满足判别条件,则下轮迭代仍用原方向组,并以 中函数值小者作为下轮迭代的始点。,判断是否满足收敛准则。若满足则取 为极小点,否则应置 ,返回继续进行下一轮迭代。,这样重复迭代的结果,后面加进去的向量都彼此对G共轭,经n轮迭代即可得到一个由n个共轭方向所组成的方向组。对于二次函次,最多n次就可找到极小点,而对一般函数,往往要超过n次才能找到极小点(这里“n”表示设计空间的维数)。,鲍威尔法的程序框图(改进算法)P85,例4-5 用改进的鲍威尔法求目标函数,解:(1)第1轮迭代计算,,,沿e1方向进行一维搜索,得,以 为起点,沿第二坐标轴方向 e2 进行一维搜索,得,确定此轮中的最大下降量及其相应方向,反射点及其函数值,,,检验Powell条件,由于满足Powell条件,则淘汰函数值下降量最大的方向e1,下一轮的基本方向组为e2, 。,构成新的方向,沿 方向一维搜索得极小点和极小值,,,此点为下轮迭代初始点。,按点距准则检验终止条件,需进行第二轮迭代计算。,(2)第2轮迭代计算,此轮基本方向组为e2, ,分别相当于 , ,起始点为 。,沿e2方向进行一维搜索得,以 为起点沿 方向一维搜索得,确定此轮中函数值最大下降量及其相应方向,反射点及其函数值,检验Powell条件,淘汰函数值下降量最大的方向e2,下一轮的基本方向组应为 , 。,构成新的方向,沿 方向进行一维搜索得,检验终止条件,(3)第3轮迭代计算,此轮基本方向组为 , ,起始点为 ,先后沿 , 方向,进行一维搜索,得,,,故最优解,检验终止条件,方法讨论 鲍威尔方法是的鲍威尔在1964年提出的,以后又经过他本人的改进。该法是一种有效的共轭方向法; 它可以在有限步内找到二次函数的极小点。具有二次收敛性。对于具有连续二阶导数的非二次函数,用这种方法也是有效的。 是一种直接算法,计算简单,收敛速度较快,可靠性好。,4.9 单形替换法,函数的导数是函数性态的反映,它对选择搜索的方向提供了有用的信息。 如最速下降法、共轭梯度法、变尺度法和牛顿法等,都是利用函数一阶或二阶导数信息来建立搜索方向。 也可以在不计算导数的情况下,先算出若干点处的函数值,从它们之间的大小关系中也可以看出函数变化的大概趋势,为寻求函数的下降方向提供依据。 单形替换法 也是一种不使用导数的求解无约束极小化问题的直接搜索方法,与前面几种方法不同的是,单纯形替换法不是利用搜索方向从一个点迭代到另一个更优的点,而是从一个单纯形迭代到另一个更优的单纯形。,定义: 单纯形 n维空间中的由n+1个线性独立的点构成的有界的凸多面体。 根据定义,可知,一维空间中的单纯形是线段,二维空间中的单纯形是三角形,而三维空间中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论