最优化方法及控制应用.ppt
《最优化方法及控制应用.ppt》由会员分享,可在线阅读,更多相关《最优化方法及控制应用.ppt(197页珍藏版)》请在三一办公上搜索。
1、常用无约束最优化方法,3.1 最速下降法3.2 Newton法3.3 修正Newton法3.4 共轭方向法3.5 共轭梯度法3.6 变尺度法3.7 坐标轮换法3.8 单纯形法,常用无约束最优化方法,本章开始讨论多维无约束最优化问题其中 这个问题的求解是指在 中找一点,使得对于任意的 都有 成立,则点 就是问题(3.1)的全局最优点但是,大多数最优化方法只能求到局部最优点,即在 中找到一点,使得式(3.2)在 的某个领域中成立这个矛盾对于实际问题一般容易解决根据问题的实际意义多半可以判定用优化方法求出的局部最优解是否为全局最优解而在理论上这是个比较复杂的问题。,无约束优化方法是优化技术中极为重要
2、和基本的内容之一它不仅可以直接用来求解无约束优化问题,而且很多约束优化问题也常将其转化为无约束优化问题,然后用无约束优化方法来求解另外,有些无约束优化方法只需略加处理,即可用于求解约束优化问题,常用无约束最优化方法,无约束优化理论发展较早,比较成熟,方法也很多,新的方法还在陆续出现把这些方法归纳起来可以分成两大类:一类是仅用计算函数值所得到的信息来确定搜索方向,通常称它为直接搜索法,简称为直接法,另一类需要计算函数的一阶或二阶导数值所得到的信息来确定搜索方向,这一类方法称为间接法(解析法)直接法不涉及导数、Hesse矩阵,适应性强,但收敛速度较慢;间接法收敛速度快,但需计算梯度,甚至需要计算H
3、esse矩阵 一般的经验是,在可能求得目标函数导数的情况下还是尽可能使用间接方法;相反,在不可能求得目标函数的导数或根本不存在导数的情况下,当然就应该使用直接法,常用无约束最优化方法,对于问题(3.1)为了求其最优解,按最优化算法的基本思想是从一个给定的初始点 出发,通过基本迭代格式,按照特定的算法 产生一串点列,如果点列收敛,则该点列的极限点为问题(3.1)的最优解,最速下降法,一、最速下降法基本原理 在基本迭代格式 中,每次迭代搜索方向 取为目标函数 的负梯度方向,即,而每次迭代的步长 取为最优步长,由此所确定的算法 称为最速下降法。,最速下降法,为了求解问题(3.1),如图所示,假定我们
4、 已经迭代了 次 获得了第 个迭代点 现在从 出发,可选择的下降方向很多,一个非常自然的想法是沿最速下降方向(即负梯度方向)进行搜索应该是有利的,至少在 邻近的范围内是这样。因此,取搜索方向为.,最速下降法,为了使目标函数在搜索方向上获得最多的下降,沿 进行一维搜索,由此得到第 个迭代点,即,其中步长因子 按下式确定 也可记为显然,令 就可以得到一个点列,其中 是初始点,由计算者任意选定.当 满足一定的条件时,由式(5.3)所产生的点列 必收敛于的极小点以后为书写方便,记.因此在不发生混淆时,再记,最速下降法,二、最速下降法迭代步骤 已知目标函数 及其梯度,终止(1)选定初始点,计算 置(2)
5、作直线搜索:;计算(3)用终止准则检测是否满足:若满足,则打印最优 解 停机;否则,置 转(2),最速下降法,最速下降法算法流程如图所示,N,将最速下降法应用于正定二次函数 可以推出显式迭代公式.设第 次迭代点为 我们来求 的表达式 对式(5.4)关于 求梯度,有 因此,现在从 出发沿 作直线搜索以确定,于是,其中 是最优步长因子,最速下降法,又因式(4.2),有 再利用(5.5),(5.6),(5.7)可得:或 由此解出:代入(5.7)中得到 这就是最速下降法用于二次函数的显式迭代公式,最速下降法,最速下降法,例5.1 试用最速下降法求函数 的极小点.迭代两次,计算各迭代点的函数值,梯度及其
6、模,并验证相邻两个搜索方向是正交的设初始点为 解:与(5.4)比较,得 梯度表达式是,由,计算因为目标函数是二次的,可以使用式(5.8),所以有,最速下降法,因为 由此说明相邻两个搜索方向 是正交的,计算,最速下降法,三、最速下降法有关说明 最速下降法的优点是算法简单,每次迭代计算量小,占用内存量小,即使从一个不好的初始点出发,往往也能收敛到局部极小点.但它有一个严重缺点就是收敛速度 沿负梯度方向函数值下降很快的廉洁,容易使人们产生一种错觉,认为这一定是最理想的搜索方向,沿该方向搜索时收敛速度应该很快,然而事实证明,梯度法的收敛速度并不快,最速下降法,特别是对于等值线(面)具有狭长深谷形状的函
7、数,收敛速度更慢其原因是由于每次迭代后下一次搜索方向总是与前一次搜索方向相互垂直,如此继续下去就产生所谓的锯齿现象即从直观上看,在远离极小点的地方每次迭代可能使目标函数有较大的下降,但是在接近极小点的地方,由于锯齿现象,从而导致每次迭代行进距离缩短,因而收敛速度不快.,最速下降法,Newton法,如果目标函数 在 上具有连续的二阶偏导数,其Hesse矩阵 正定并且可以表达成为显式(今后为了简便起见,记,那么可以使用下述的Newton法这种方法一旦好用,收敛速度是很快的它是一维搜索Newton切线法的推广,一、Newton法基本原理为寻求收敛速度快的算法,我们考虑在应用基本迭代公 式 中,每轮迭
8、代在迭代的起始点 处用 一个适当的二次函数来近似该点处的目标函数,由此 用点 指向近似二次函数极小点的方向来构造搜索方向(如图所示),Newton法,下面具体讨论Newton法 设最优化问题为,其中 二阶可导,Hesse矩阵 正定不妨设经过 次迭代已获点,现将 在 处展开成二阶泰勒公式,于是有显然 是二次函数,特别由题设知 还是正定二次函数,所以 是凸函数且存在唯一全局极小点,Newton法,为求此极小点,令即可解得亦即对照基本迭代格式易知,式(5.9)中的搜索方向 步长因子,Newton法,换句话说从点 出发沿搜索方向 并取步长 即可得 的极小点.因此 是直指点 处近似二次函数 的极小点的方
9、向此时称 为从点 出发的Newton方向从初始点开始,每一轮从当前迭代点出发,沿Newton方向并取步长 的算法称为Newton法,Newton法,二、Newton法迭代步骤已知目标函数 及其梯度 Hesse矩阵,终止限(1)选定初始点 计算 置(2)计算(3)由方程 解出(4)计算(5)判别终止准则是否满足:若满足,则打印最优解 停机;否则置 转(2).,Newton法,Newton法的流程如图所示,Y,例5.2 试用Newton法求 的极小点,初始点取为 解:梯度为 Hesse矩阵为 其逆矩阵为 由迭代公式(5.13)得第1 迭代点为由于此时,停止迭代得因此,它就是极小点,Newton法,
10、从上述例5.2我们看到,用Newton法求解,只经一轮迭代就得到最优解这一结果并不是偶然的,因为从Newton方向的构造我们知道,对于正定二次函数,Newon方向就是指向其极小点的方向因此,用Newton法解目标函数为正定二次函数的无约束最优化问题,只需一次迭代就可得最优解,Newton法,对于目标函数是非二次函数的非约束最优化问题,一般地说,用Newton法通过有限轮迭代并不能保证可求得最优解但由于目标函数在最优解附近能近似于二次函数,因此当先取接近于最优解的初始点使用Newton法求解时,其收敛速度一般是快的事实上,可以证明在初始点离最优解不远的条件下,Newton法是二次收敛的但是当初始
11、点选得离最优解太远时,Newton法并不一定是收敛的方法,甚至连其下降性也很难保证,Newton法,三、Newton法有关说明 Newton法收敛速度非常快具有二次收敛的优点,但它存在下面四个严重的缺点:(1)尽管每次迭代不会使目标函数 上升,但仍不能保证 下降当Hesse矩阵非正定时,Newton法的搜索将会失败(2)对初始点要求严格一般要求比较接近或有利于接近极值点,而这在实际计算中是比较难办的,Newton法,(3)在进行某次迭代时可能求不出搜索方向由于搜索方向为若目标函数在 点Hesse矩阵为奇异,则求不出,因而不有构成牛顿方向,从而使迭代无法进行(4)牛顿方向构造困难,计算相当复杂,
12、除了求梯度以外还需计算Hesse矩阵及其逆矩阵,占用机器内存相当大,Newton法,修正Newton法,一、修正Newton法基本原理 为了克服Newton法的缺点,人们保留选Newton方向作为搜索方向,摒弃其步长恒取1,而用一维搜索确定最优步长,由此产生的算法称为修正Newton法(或阻力Newton法),修正Newton法,二、修正Newton法迭代步骤已知目标函数 及其梯度 Hesse矩阵 终止限(1)选取初始点 令(2)求梯度向量计算,若,停 止迭代输出 否则,转(3)(3)构造Newton方向计算,取(4)进行一维搜索求,使得 令,转(2),修正Newton法的流程如图所示,三、修
13、正Newton法有关说明 修正Newton法克服了Newton法的缺点特别是,当 迭代点接近于最优解时,此法具有收敛速度快的优点,对初始点的选择要求不严 但是,修正Newton法仍需要计算目标函数的Hesse矩 阵和逆矩阵,所以求解的计算量和存贮量均很大.另外,当目标函数的Hesse矩阵在某点处出现奇异时,迭代将 无法进行,因此修正Newton法仍有相当的局限性,修正Newton法,共轭方向法,构成各种不同最优化方法,往往取决于如何从基本迭代公式 中确定搜索方向在最速下降法中,由于取 从而导致搜索路线出现锯齿状,收敛速度降低;而在Newton法中,由于选取 收敛速度虽很快,但计算量很大,特别是
14、还要求Hesse矩阵正定,从而导致该算法对初始点选择要求过严下面我们将给大家介绍一种新的最优化方法,它的计算量小,收敛速度没有Newton法快,但比最速下降法快得多的新算法,称为共轭方向法,一、共轭方向法基本原理 首先介绍共轭方向概念及其些性质 定义5.1 设 是对称矩阵,对于非零向量 若有 则称 与 相互 共轭或 正交的 对于非零向量组 若有 则称 是 共轭方向组或 正交方向组,也称 它们是一组 的共轭方向,共轭方向法,在上述定义中若(阶单位矩阵),则式(5.10)和式(5.11)成为 和 由此可知,共轭概念是正交概念的推广,共轭方向是正交方向的推广定理5.1 设 是正定矩阵,是非零向量若
15、是 一组 共轭方向,则它们是线性无关的,3.4 共轭方向法,3.4 共轭方向法,证明 设有一组实数 使得 依次以 左乘上式得到 因为 是一组 的共轭方向,故有 又由于A是正定矩阵,所以对于 有 把以上两式用于式(5.12),便可推知 由此证明 是线性无关,3.4 共轭方向法,考虑以二次函数为目标函数的无约束极小化问题其中 是对称正定矩阵 有如下定理:定理5.2 设 是对称正定矩阵,是一 组A 的共轭方向.对于问题(5.13),若从任意点 出发依次沿 进行一维搜索,则至多经过n 轮迭代,可得问题(5.13)的最优解,3.4 共轭方向法,证明 设从点X0 出发依次按方向 进行一维搜索产生的迭代点是
16、其中最优步长 是通过下式来确定又由 和式(5.14)可推知即利用式(5.16)有,对上式右乘 可得因为 是 A共轭方向,故得 或另外,由式(5.15)可知,3.4 共轭方向法,因为所以由式(5.18)有由式(5.17)和上式,对于 我们得到特别地,当 时有 由于 是一组A的共轭方向,由定理5.1知它们是线性无关的,因而向量 可表示为这些向量的线性组合 其中 是实数,3.4 共轭方向法,所以由式(5.19)有 即有 于是得即Xn是f(X)的驻点又因为A是对称正定,故f(X)是凸函数,因而Xn是问题(5.13)的最优解这说明,至多经过n 次迭代必可求得(5.13)的最优解.,3.4 共轭方向法,通
17、常,我们把从任意点 出发,依次沿某组共轭方向进行一维搜索的求解最优化问题的方法,叫做共轭方向法为了直观起见,首先考虑二维情况现在我们把下降法用于形式为(5.13)的二元二次函数任选初始点 从 出发沿某个下降方向 作一维搜索得到(如图所示),3.4 共轭方向法,由式(4.2)知 而且向量 所在的直线必与某条等值线(椭圆)相切于 点下一次迭代,如果按最速下降法选择负梯度方向为搜索方向,那末将要发生锯齿现象.为了克服这种现象,我们设想,下一次迭代的搜索方向将直指极小点 如果能够选定这样的搜索方向,那么对于二元二次函数只须顺次进行两次直线搜索就可以求到极小点了下面来讨论这样的方向 应该满足什么条件,怎
18、样确定,3.4 共轭方向法,因为 直接指极小点 所以可写成 其中 是最优步长因子,显然,当 时,对(5.13)求导数,有 因为 是极小点,所以有 将式(5.21)代入此式中,由(5.22)可得等式两边同时左乘 并注意到式(5.20)和 于是,3.4 共轭方向法,这就是为使 直指极小点所必须满足的条件显然(5.23)中 和 是A的共轭向量由式(5.20),不难给出 的表达式两边同时左乘,有由此解出代回到式(5.24),得,3.4 共轭方向法,一般地,在 维空间中可以找出 个互相共轭的方向,对于 元正定二次函数,从任意初始点出发,顺次沿这 个共轭方向最多作 次直线搜索就可以求得目标函数的极小点这就
19、是共轭方向法的算法形成的基本思想,3.4 共轭方向法,对于 元正定二次目标函数,从任意初始点出发,如果经过有限次迭代就能够求得极小点,那么这种算法称为具有二次终止性例如Newton法对于二次函数只须经过一次迭代就可以求得极小点,因此是二次终止的;而最速下降法不具有二次终止性;共轭方向法(包括共轭梯度法,变尺度法等)是二次终止的一般来说,具有二次终止性的算法,在用于一般函数时,收敛速度较快,3.4 共轭方向法,二、共轭方向法迭代步骤 已知具有正定矩阵A 的二次目标函数 和终止限(1)选定初始点X0 和具有下降的方向P0,置 k=0(2)作直线搜索(3)判别 是否满足:若满足,则打印 停机;否则转
20、(4)(4)提供共轭方向 使得(5),转(2).,3.4 共轭方向法,共轭方向法的流程如图所示,三、共轭方向法有关说明 上述算法针对二次目标函数,但也可用于一般的非二次函数在求优过程中 因舍入误差不能满足 时,可取 为新的初始点,再重复前面的过程,3.4 共轭方向法,3.5 共轭梯度法,如果在共轭方向法中初始的共轭向量 恰好取为初始点 处的负梯度,而以下各共轭方向 由第 迭代点 处的负梯度 与已经得到的共轭向量 的线性组合来确定,那么就构成了一种具体的共轭方向法.因为每一个共轭向量都是依赖于迭代点处的负梯度而构造出来的,所以称为共轭梯度法,一、共轭梯度法基本原理设从任意点 出发,第一个搜索方向
21、取为 处的负梯度方向 当搜索得到点 后,设以下按 来产生搜索方向为了使选择 使所产生的 和 是A的共轭,以 右乘上式的两边,于是有,3.5 共轭梯度法,因为要使 和 是A 的共轭,应有 故由上式得综上所述,我们可以生成n个方向,3.5 共轭梯度法,式(5.25)中含有问题(5.13)的目标函数系数阵,这对于目标函数是非二次函数的问题是不方便的通过简化,一般地我们可以利用目标函数的梯度信息,来产生n 个共轭方向由此得共轭梯度法算法,3.5 共轭梯度法,二、共轭梯度法迭代步骤已知目标函数,终止限(1)选取初始点,给定终止限(2)求初始梯度计算,若,停止迭 代输出,否则转(3)(3)构造初始搜索方向
22、.取,令,转(4)(4)进行一维搜索求 使得 令,转(5),3.5 共轭梯度法,(5)求梯度向量计算,若,停止 迭代输出 否则转(6).(6)检验迭代次数若,令,转(3),否则,转(7)(7)构造共轭方向取 转(4),3.5 共轭梯度法,共轭梯度法的流程如图所示,例5.3 用共轭梯度法求 其中 选初始点 解:显然,3.5 共轭梯度法,所以新的搜索方向由此,有并且可推知因而得下一迭代点由于 停止迭代输出所求得,3.5 共轭梯度法,例5.3的迭代的路径如图所示,3.5 共轭梯度法,三、共轭梯度法有关说明实际上,可以把共轭梯度法看作是最速下降法的一种改进.当令 时,就变为最速下降法.共轭梯度法由于不
23、涉及矩阵,仅仅存储向量,因而存储量小,适合于维数较高的优化问题另外,共轭梯度法不要求精确的直线搜索.但是,不精确的直线搜索可能导致迭代出来的向量不再共轭,从而降低方法的效能.克服的办法是:重设初始点,即把经过 次迭代得到的 作为初始点重新迭代,3.5 共轭梯度法,我们知道Newton法最突出的优点是收敛速度快,在这一点上其它算法无法比拟的.因此,建议凡是Hesse矩阵比较容易求出的问题尽可能使用Newton法求解.然而Newton法还有一个严重缺陷,就是每次迭代都要计算目标函数的Hesse矩阵和它的逆矩阵,当问题的维数n较大时,计算量迅速增加,从而就抵消了Newton法的优点,3.6 变尺度法
24、,3.6 变尺度法,为此,人们开始寻找一种算法既可以保持Newton法收敛速度快的优点,又可以摆脱关于Hesse矩阵的计算,这就是本节要给大家介绍的变尺度算法 变尺度法是一种非常好的方法其中DFP算法和BFGS算法,可以说直到目前为止在不用Hesse矩阵的方法中是最好的算法,一、变尺度法基本原理 在Newton法中,由基本迭代格式 其中 令 于是有 其中 是初始点,和 分别是目标函数 在 点 的梯度和Hesse矩阵,3.6 变尺度法,为了消除这个迭代公式中的Hesse逆矩阵 可用某种近似矩阵 来替换它,即构造一个矩阵序列 去逼近Hesse逆矩阵序列 此时式(5.26)变为事实上,式中 无非是确
25、定了第 次迭代的搜索方向.为了取得更大的灵活性,我们考虑更一般的迭代公式 其中步长因子 通过从 出发沿 作直线搜 索来确定,3.6 变尺度法,式(5.27)是代表很广的一类迭代公式.例如,当(单位矩阵)时,它变为最速下降法的迭代 公式为使 确实与 近似并且有容易计算的特点,必须对 附加某些条件:第一,为保证迭代公式具有下降性质,要求 中的每 一个矩阵都是对称正定的理由是,为使搜索方向 是下降方向,只要 成立即可,即 成立 当 对称正定时,此式必然成立,从而保证式(5.27)具有下降性质,3.6 变尺度法,第二,要求 之间的迭代具有简单形式显然,是最简单的形式了其中 称为校正矩阵,式(5.28)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 优化 方法 控制 应用
链接地址:https://www.31ppt.com/p-5749090.html