收藏 分享(赏)

最优化方法 尹秋响课件第五章.ppt

上传人:cjc2202537 文档编号:1025889 上传时间:2018-06-05 格式:PPT 页数:50 大小:1MB
下载 相关 举报
最优化方法 尹秋响课件第五章.ppt_第1页
第1页 / 共50页
最优化方法 尹秋响课件第五章.ppt_第2页
第2页 / 共50页
最优化方法 尹秋响课件第五章.ppt_第3页
第3页 / 共50页
最优化方法 尹秋响课件第五章.ppt_第4页
第4页 / 共50页
最优化方法 尹秋响课件第五章.ppt_第5页
第5页 / 共50页
点击查看更多>>
资源描述

1、本章要点:单纯形单纯形搜索法的基本思想共轭方向、共轭方向法的基本定理Powell共轭方向法的基本思想最速下降法的基本思想及特点Newton法基本思想及特点牛顿方向Marquardt法基本思想最小二乘问题共轭梯度法基本思想拟Newton法的基本思想,第五章 无约束非线性问题的解法,5.1 直接搜索法,优点:计算不太复杂;易于实施与快速调试;所需的准备时间较少,5.1.1 单纯形搜索法,1962年由Spendley, Hext和Himsworth提出,80年代得到证明,(一)单纯形,空间中最简单、其 “维数”与空间维数相同的图形,n维空间中具有n+1个顶点的 “n维超多面体” 称为n维单纯形,如果

2、各顶点间的距离(棱长)相等,则称为正规单纯形,(二)单纯形法的基本思想,初始单纯形,以 min f(x1, x2)为例 ,说明迭代过程,fH fG fL,反射PR,fRfR 扩张失败 PS =PR,PS,fS fG 压缩成功 PS,fS fG 压缩失败,对n元函数f(x),可取n维空间中n+1个点x(0),x(1),x(n),构成一个初始单纯形。,这n+1个点应使x(1)x(0), x(2)x(0), x(n)x(0)线性无关,否则是退化的单纯形,例如:对二维,三点不能在一条直线时; 对三维,四点不能在同一平面上,(三)单纯形搜索法的算法,给定一个最大迭代次数KM,令迭代次数计数变量K0,1、

3、给定初始点x(0), 用下列两种方法之一构造初始单纯形,棱长为h的正规单纯形,2、计算函数值fi = f (x(i),(i=0,1,2,n),并比较大小,找出最差点 x(H),次差 点x(G) 和最好点x(L),即,计算除去x(H)后的形心 x(F),3、按终止准则判断是否已达到精度要求,若已达到,停止计算,否则转4,4、求反射点x(R),5、将fR 与fL ,fG 和fH 作比较,(1)若fRfL ,反射成功,进行扩张,扩张点x(E) 若fEfL ,扩张成功,令 x(H)= x(E) ,转向2 否则,扩张失败,令 x(H)= x(R) ,转向2,(2)若fLfRfG ,反射成功,但改进不大,

4、不进行扩张, x(H)= x(R) ,转向2,(3)若fGfRfH ,反射不太成功,在x(F)与 x(R)之间压缩,(4)若fRfH , 反射失败,在x(H)与 x(F)之间压缩,6、若fSfH ,压缩成功,令 x(H)= x(S) ,转向2 否则,进行收缩。,几点说明:,1、关于初始步长h的选取 (一般可取0.5h15),(1) 开始取h为1.62;,(2) 进行到发现fH fL 已 很小,但尚未达到精度,这时取x(0)= x(L), 重新开始, 并取步长为: 当离精度要求已不远时,h=0.51; 当离精度要求还很远时,h 2。,2、终止准则 P109,3、扩张因子 r =1.22,例5.1

5、.1 用单纯形搜索法求解 min f(x) =6010x14x2x12 +x22x1x2 设x(0)=0, 0T , e(1) = 1, 0T, e(2) = 0, 1T, 取h=2, =0.5, =2, =1, 终止准则为|(fHfL)/fL|0.001,5.1.3 Powell共轭方向法(方向加速法), 1964年由Powell提出,后经Zangwoll(1967年)和Brent(1973年)改进, 是迄今为止最有效的直接搜索法。, 该算法有效地利用了迭代过程中的历史信息,建立起能加速收敛的方向, 有理论基础,以二次对称函数 f(x) = c + bTx + 1/2 xTAx 为模型进行研

6、究。,? 为什么选择二次函数作为模型 ?,1、在非线性目标函数中,最简单的是二次函数,故任何对一般函数有效 的方法首先应对二次函数有效;,2、在最优点附近,非线性函数可用一个二次函数作近似,故对二次函数 使用良好的方法,通常对一般函数也有效;,3、很多实际问题的目标函数是二次函数。,(一)共轭方向,设A是nn阶对称正定矩阵,p(0), p(1)为两个n维向量,若 成立 p(0)T A p(1) = 0 则称向量p(0)与p(1)为A共轭或A正交,称该两向量的方向为A共轭方向。,若 AI(单位矩阵),p(0)T p(1) = 0,即p(0)与p(1)是正交的。,“共轭”是“正交”概念的推广,=|

7、p(0)|.|p(1)|cos,例:,? 共轭方向有什么用 ?,(二)共轭方向法的基本定理,定理5.1.1:设A为nn阶对称正定矩阵,p(0), p(1),, p(n-1)为n个相互A共轭 的n维非零向量(即p(i)0, i=0,1, n-1, 且p( i )T A p( j ) = 0,i j), 则此向量系必线性无关。,推 论: 在n维空间中,互相共轭的非零向量的个数不超过n个。,定理5.1.2:若p(0), p(1), , p(n-1)是n个非零的A共轭向量,则二次目标函数 f(x) = c + bTx + 1/2 xTAx的最优点 x*为,! 可得到非二次函数最优点的一个近似点;其中A

8、是Hesse矩阵!,? 上式用于非二次函数,可否得到最优点 ?,定理5.1.3:,设A为n阶对称正定矩阵,对于二次目标函数f(x) = c + bTx + 1/2 xTAx,从任意初始点x(0)出发,逐次进行一维搜索,即 min f ( x( i )+ t p( i ) ) = f ( x( i )+ti p( i ) ) i0 若搜索方向p(0), p(1), , p(n-1)是非零的A共轭向量,则至多进行n次迭代必可得到极小点x* ,即有 x( i+1) =x( i ) +ti p( i ) , i =0,1,n1 x* = x( k ) , 0kn,上述搜索方法具有二次收敛性,? 对非二

9、次函数,采用上述方法,n 次迭代是否也可得到极小点 ?,? 如何简便地找出n个A共轭的向量 ?,定理5.1.4:,假设1. n元函数f(x) = c + bTx + 1/2 xTAx 中的矩阵A是对称正定的;2. 向量p(0), p(1), , p(m-1) (mn)是互相A共轭的;3. x(0), x(1)是不同的任意两点,分别从x(0), x(1)出发,依次沿p(0), p(1), , p(m-1) 作一维精确搜索,设最后一次一维搜索的极小点分别为x(0)*和x(1)*, 那么, 向量 p = x(0)*x(1)*与p(0), p(1), , p(m-1)互为A共轭。,已知前m个共轭方向,

10、就可以找到第m+1个共轭方向,(三)Powell共轭方向法的基本思想,一边搜索,一边找共轭方向,共分n个阶段,每一阶段都进行n+1次搜索,最后产生一个共轭方向,二维空间中的Powell方法示意,以二次函数f(x1 , x2 ) 为例,对于二次函数,x* 即为极小点,(四)Powell方法的原始算法,开始,几点说明,1、迭代中逐次产生的是共轭方向,是较好的搜索方向,所以Powell法又称 方向加速法;,2、原始算法仅有理论意义。,因为只有在每次搜索均为一维完全精确搜索的条件下,每个阶段产生的方向才是相互共轭的方向。,但实际一维搜索都是近似的,产生的方向不一定共轭,有时甚至是线性相关的,导致搜索空

11、间降维,这时将找不到真正的极小点。,对于一般函数, n个阶段迭代后一般得不到极小点,但由于共轭方向的个数只有n个, 如果继续按上述方法迭代, 产生的方向就不再是相互共轭方向了, 收敛速度会变慢.,(五)原始算法一种简便改进,重新开始:每进行n个阶段的迭代,或当收敛速度变慢时,以当前点为起点, 回到第一步重新开始,(六)改进的Powell算法,1. 基本思想 :,为克服搜索方向的线性相关问题,Powell对原始算法进行了改进。,? 如何判定方向组是“最相互共轭”的 ?,定理5.1.5 设A是n阶对称正定矩阵,方向组p(0), p(1), ,p(n-1) 按下式意义是规范化的: p( i )T A

12、 p( i ) = 1, ( i=0,1, n-1), 置Q p(0), p(1), ,p(n-1) ,则方向组p(0), p(1), ,p(n-1) 相互A共轭的充要条件为: 行列式 |Q| 的值达到它的最大值。,改进Powell算法的理论基础,在每个阶段产生新的方向p后, 更换方向组的方法不是一律去掉第一个方向p(0), 而是有选择地去掉某个方向 p(J), 原则是使新的方向组“ 最相互共轭”,5.2 梯度法,直接搜索法收敛速度一般比较慢,需要计算大量的函数值。梯度反映了函数值变化的规律,充分利用梯度信息构造算法,能加速收敛。,使用函数的梯度(一阶导数)或Hesse矩阵(二阶导数)的优化算

13、法称为梯度法,目标:求出平稳点 (满足f(x)=0的x * )。,由于 f(x)=0 一般是非线性方程组,解析法往往行不通, 所以梯度法通常也是逐次逼近的迭代法,假定: f(x)和 2f(x)连续存在,5.2.1 最速下降法(Cauchy法),1847年Cauchy提出。特点是直观易懂,但收敛速度慢,(一)基本思想,x(k+1) = x(k) + tk p(k),瞎子下山:由于他看不到哪里是山谷,不可能沿直接指向山谷的路线走,他只能在当前位置上,靠手杖作局部探索,哪里最陡就往哪里前进一步,然后在新的位置上再用手杖寻找最陡方向,再下降一步。这就是最速下降法的形象比喻。,多变量最优化迭代解法的一般

14、迭代公式,迭代公式 x(k+1) = x(k) tk f(x(k) ),(二)算法,开始,两维情形下最速下降法搜索路径,(三)最速下降法的搜索路径呈直角锯齿形,tk,1、优点:计算简单,需记忆的容量小;对初始点要求低,稳定性高;远离极小点时收敛快,常作为其它方法的第一步。,2、缺点:收敛速度较慢(线性或不高于线性)。原因是最速下降方向只有在该点附近有意义。,尤其当目标函数等值面是很扁的椭圆、椭球或类似图形时,收敛更慢。,例5.2.1 用最速下降法求函数 f (x1, x2)x12+4x22 的极小点,(迭代两次), 并验证相邻两个搜索方向是正交的。初始点取为x(0)=1,1T 。,解:梯度 f

15、 (x)2x1, 8x2 T 。,1. 第一次迭代: f ( x(0) )2, 8 T , x(1) = x(0) + t0 p(0) = x(0) t0 f (x(0) 1,1T t0 2, 8 T,用一维搜索求t0 ,对简单f(x),可用解析法求解:设0 (t)f ( x(1) )f ( 1,1T t2, 8 T )(12t)2+4(18t)2,0(t)520t680 t0 0.130769,x(1) =0.738462, 0.046152T,2. 第二次迭代: f ( x(1) )1.476924, 0.369216 T,1(t)f ( x(2) )(0.7384621.476924t)

16、2+4(0.046152+0.369216t)2,1(t)2.317625t+5.453173t0 t1 0.45005,x(2) =0.110762, 0.110767T,f ( x(2) )0.221524, 0.886136 T,3. 验证相邻两个搜索方向是正交的:,f (x(0)T f (x(1) =2, 8 1.476924, 0.369216 T =0.00012 0,f (x(1)T f (x(2) = 1.476924, 0.369216 0.221524, 0.886136 T =0.000001 0,5.2.2 Newton法(二阶方法),?由最速下降法可知,从全局角度来看

17、,负梯度方向一般不是一个特别好的方向,有没有更好的方向 ?,f(x)在x(k)处的二次近似函数,(一)基本Newton法,取 f(x; x(k)的平稳点作为f(x) 最优点的一个近似点,f (x; x(k) = f (x(k)+ 2f (x(k)x = 0,x x(k) = x = 2f (x(k)1f (x(k),Newton迭代公式,x(k+1) = x(k)2f (x(k)1f (x(k),或 x(k+1) = x(k)H(x(k)1g(x(k),! 当f(x)是二次函数时,一次迭代就可达到平稳点 !,! 当f(x)是单变量函数时,本方法即为Newton-Raphson法!,基本Newt

18、on法的算法,开始,例5.2.2 用基本Newton法求函数 f (x1, x2)8x12+4x1x2+5x22 的极小点。 初始点取为x(0)=10, 10T 。,解:f (x)16x1+4x2, 4x1+10x2 T,x(1) = x(0)H(x(0)1f (x(0),因为f(x)是二次函数,所以一步迭代就达到平稳点,又因为H(x(1)是正定矩阵,所以x(1)是极小点。,说明:,1、基本Newton法要求Hesse矩阵具有逆矩阵。,如果H(x(k)是正定的,则H(x(k)1必存在,从而算法是可行的,并且保证求得的平稳点是极小点。,然而在迭代过程中要求H(x(k)是正定的这一条件不一定能保证

19、,只有当初始点合适时才能满足。一般在极小点附近的Hesse矩阵容易为正定的。,所以基本Newton法在极小点附近才比较有效。,2、 Newton法的搜索方向H (x)1f (x)不一定是下降方向。,因为若是下降方向,则应有f (x)TH (x)1f (x)0,但由于H (x)1不一定是正定的,所以上式不一定成立,3、Newton法的最大优点是:当初始点选得合适时收敛很快,具有二阶收敛 速度,是目前算法中最快的一种。,对初始点要求高,一般要求初始点离极小点较近,否则不收敛。有时即使是收敛的,但因初始点离极大点或鞍点较近,会收敛于极大点或鞍点。,4、方向H (x)1f (x)称为Newton方向,

20、是一个好方向,对二次函数此方向 直指平稳点。,(二)修正Newton法,? 怎样才能使Newton法成为一个下降算法 ?,修正Newton迭代公式: x(k+1) = x(k) tk H(x(k)1f (x(k),沿Newton方向一维搜索得到的最优步长,保证了 f(x(k+1) f(x(k) ,且不必要求H(x)为正定矩阵。,? 出现 (1) H(x(k) 1不存在;或(2) tk =0 时怎么办 ?,改用最速下降法 ,即 p(k) = f (x(k),修正Newton法与基本Newton法的优点是: 收敛快,程序简单。前者更实用可靠。,缺点是要求计算Hesse矩阵及其逆矩阵,计算量大,尤其

21、当维数n较大时。,5.2.3 Marquart法,最速下降法的优点:对初始点要求不高,稳定性好;远离最优点时收敛较快。 缺点是离最优点较近时收敛很慢。,牛顿法的优缺点刚好与最速下降法相反。,1963年Marquardt提出将最速下降法与Newton法结合,开始用最速下降法,在接近最优点时用Newton法。,在迭代公式x(k+1) = x(k) +tk p(k)中,取步长tk1 ,搜索方向为p(k) 2f (x(k) +kI1f (x(k),其中 k同时起控制搜索方向和步长的作用,I为单位矩阵,(1) 开始阶段取很大,如0=104 ,,(2) 在迭代过程中,让k0,,p(k) 2f (x(k)1

22、f (x(k),(一)方法思想,具体在每一步是否缩小 k,要通过检验目标函数值来决定 :,若f(x(k+1) 1,重作第k步迭代。,(二)算法,开始,(三)评注 PP124,I 可推广为半正定矩阵,x(k+1) = x(k) + tkp(k),5.2.4 非线性最小二乘问题,(一)最小二乘问题,在工程实际问题中,经常遇到一类特殊的求极小值问题,其目标函数具有平方和形式:,例5.2.3 求解方程组fi(x)=0,(i=1,2, m)的问题可化为求解下列优化问题,例5.2.4 通过m组实验数据来建立物理量y与另外l个物理量t1, t2 , tl 之间的函数关系:,y = Y(t1, t2 , ,

23、tl ; x1, x2, , xn),“接近”的衡量标准常用平方和形式,即要确定其中n个待定参数x1,x2,xn ,使得经验公式的计算值 与实验值 尽可能地接近。,求解min F(x),为求解方便,引入向量函数 f(x)=f1(x),f2(x),fm(x)T,最小二乘问题化为: min F(x) = min f(x)Tf(x) = min |f(x)|2,(二)最小二乘问题的求解,可直接用前面介绍的单纯形法、Powell共轭方向法、最速下降法、Newton法、Marquart法求解,最小二乘法 (Gauss-Newton法),! 如用Newton法求解,则要求F(x)的Hesse矩阵,是否可以

24、不求H(x) !,由于最小二乘问题目标函数形式的特殊性,可用计算一阶导数来代替二阶导数的计算 :,F(x(k)=2J(x(k)Tf(x(k),Newton方向: p(k) =2F(x(k)1F(x(k),2F(x(k) 2J(x(k)TJ(x(k),迭代公式:x(k+1) = x(k) J(x(k)TJ(x(k)1 J(x(k)Tf(x(k),x(k+1) = x(k) J(x(k)TJ(x(k)1 J(x(k)Tf(x(k),修正Gauss-Newton迭代公式,tk,? ! 如果在某次迭代中J(x(k)TJ(x(k)变成奇异的,则Gauss-Newton法失效 !,可直接取负梯度方向J(x

25、(k)Tf(x(k) 为搜索方向,修正Gauss-Newton法的算法: P127,5.2.5 共轭梯度法,由Powell共轭方向法可知,共轭方向是好方向,是否有比Powell共轭方向 法更简单的方法构建共轭方向?,(一)FletcherReeves共轭梯度法的基本思想,任取初始点x(0) ,然后沿着逐次迭代产生的共轭方向p(k)进行一维搜索:,x(k+1) = x(k) + tk p(k),得到下一个迭代点。,当f(x)为二次函数时,至多经过n次迭代就可得到极小点,构造共轭方向p(0),p(n-1)的方法:,p(0) = f(x(0),p(k+1) = f(x(k1) + kp(k),即下一

26、个共轭方向是当前点处负梯度方向与已求得的最后一个共轭方向的线性组合。,! 要使得p(0),p(n-1)相互共轭, 显然k不能随便取 !,记 g(k) =f(x(k),以二次目标函数为模型,经推导得:(详细看P129下半页的内容,注意式5.2.19及5.2.20的推导),几点说明:,1、“ 重新开始”的策略,原因同Powell共轭梯度法(误差、共轭梯度的个数),2、何时执行重新开始步骤? 见PP131,(二)FR法的算法,开始,例5.2.6 用FR共轭梯度法解 min f (x)6010x1 4x2 +x12 +x22 x1x2 初始点取为x(0)=0, 0T 。,解:f (x)102x1x2,

27、 42x2x1 T,p(0) g(0) f (x (0)10, 4T,进行一维搜索,对简单f(x),可用解析法求解:f (x(1)= f (x(0)t p(0)= f (x)|x=10t, 4tT = 60116t+76t2,f (t)1520t1160 t0 0.76315789,x(1) = x(0) + t0 p(0) =7.63157894, 3.052631578T,g(1) f (x (1)2.21052631, 5.52631579T,a0= |g(1)|2 / |g(0 )|2 =35.42659277 / 116,p(1) = g(1) + 0p(0) =0.84349308

28、, 6.747922437T,再用解析法求最优步长 t1 得,t1 0.436781609,x(2) = x(1) + t1 p(1) =7.999999993, 5.999999997T,g(2) f (x (2)0, 0T,所以,x* = 8, 6T f * = 8,(三)其它的共轭梯度法(自学),(四)评注,1、共轭梯度法的优点是不必计算Hesse矩阵及其逆矩阵,程序简单,对大规模 问题很有吸引力。对一般函数为超线性收敛。,2、收敛速度依赖于一维搜索的精确性及Hesse矩阵的特征值的分布。,5.2.6 拟Newton法(变尺度法),Newton法的最大优点是靠近极小点时收敛速度快,主要缺

29、点是要计算Hesse矩阵及其逆矩阵,计算量大,? 有没有可能既保持Newton法快速的优点,又不计算Hesse矩阵及其逆矩阵 ?,1959年Davidon提出变尺度法,1963年经Fletcher和Powell改进,形成DFP法1970年Broyden等人提出更稳定的BFGS变尺度法。,(一)拟Newton法与变尺度法,若一个算法的一维搜索方向为,p(k) =H(k)f(x(k) H(k)g(k),其中H(k)称为尺度矩阵(nn阶),由于迭代过程中H(k)是变化的,该算法为变尺度法,如果一个变尺度法的尺度矩阵满足拟Newton条件 x(k+1)x(k) = H(k+1)f(x(k+1)f(x(

30、k)则称为拟Newton法,(二)拟Newton法的基本思想,Newton方向 p(k) =2f(x(k)1 f(x(k),? 不想求Hesse矩阵及其逆矩阵,有什么办法 ?,从形式上模仿,造一个方向: p(k) =H(k) f(x(k),尺度矩阵H(k) 既近似2f(x(k)1 ,计算又要方便!,H(k)应满足的条件:,(1).满足拟Newton条件:x(k+1)x(k) = H(k+1)f(x(k+1)f(x(k),(2).H(k)为正定矩阵,这样p(k)为下降方向,(3).由H(k)出发计算H(k+1)应简便:,(4).应使算法具有二次收敛性。,校正矩阵,H(k+1)H(k)E(k),(

31、三)DFP算法,其中 y(k) = g(k+1)g(k) s(k) = x(k+1)x(k),1、上述算法具有三个性质:,(1) 校正公式的分母总大于零, 校正公式总有物理意义;,(2) H(k)都是正定的,所以每次迭代方向都是下降方向;,(3) 对二次函数 f(x) = c+bTx+0.5xTAx (A为正定矩阵),迭代得到的搜索方向 p(0), p(1) , p(k1)相互 A共轭,所以DFP是一种共轭方向法; 且 H(n) = A1 ,说明H(k) 逐次逼近A1,2、DFP法的重新开始策略,由于计算的舍入误差及一维搜索精度不够,会破坏H(k)的正定性,导致算法失效。,(1)一维搜索后,如

32、果 f(x(k+1) f(x(k),意味着 p(k) 不是下降方向, H(k)不是正 定矩阵,则重新开始,重置H(k) = I;,(2)每迭代n+1次后重新开始,令x(0) = x(k+1) , H(0) = I,3、DFP法的算法,开始,小 结,5.4 方法的比较与选择,从收敛速度考虑:梯度法快于直接法,Newton法,拟Newton法(变尺度法),共轭梯度法,Powell共轭方向法,5.5 化工实例换热器系列的最优设计,某化工厂欲利用本厂废热,采用三个换热器将某物料由100加热到500,其流程及有关数据如下图所示,问如何选取各个温度才能使换热器系列的总传热面积F最小?已知条件如下:(1)所

33、有物流 wicpi105,其中w是流体流量,cp为流体比热,i为流体序 号,i1,2,(2)三个换热器的总传热系数分别为K1120,K280,K340;(3)换热器采用逆流换热方式,为简化起见,其换热温差采用算术平均 值,各数值已略去量纲。,换热器I: wcp(T1100)wcp(300T3), T3400T1,换热器II: wcp(T2T1)wcp(400T4), T4400T2T1,换热器III:wcp(500T2)wcp(600T5), T5100T2,换热器I:,换热器II:,换热器III:,1、建立数学模型: 对三个换热器分别进行热量衡算:,其中,三个换热器换热面积核算:,该问题的数学模型为:,2、选择优化方法求解,结果,T1=182.0176; T2=295.6012; T3= 217.9824; T4= 286.4164; T5=395.6012,F1= 579.3064; F2=1360; F3 =5110; F=7049.2,作业: PP452 7(迭代2次); 9(3) (迭代2次) PP453 12(迭代3次) 13 (用共轭梯度法),

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

当前位置:首页 > 高等教育 > 教育学

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


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

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

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