第三章无约束最优化优秀PPT.ppt
第三章无约束最优化现在学习的是第1页,共36页第五章第五章 无约束最优化无约束最优化 (f)min f(x)f:RnR 5.1 最优性条件最优性条件 设设 f 连续可微连续可微 必要条件:若必要条件:若x*l.opt.则则f(x*)=0 (驻点驻点)。当当 f 凸时,凸时,x*l.opt.f(x*)=0 注意:注意:f(x)f(x*)+Tf(x*)(x-x*),x.故故 f(x*)f(x),x.(由于由于Tf(x*)=0)5.2 最速下降法最速下降法 在迭代点在迭代点 x(k)取方向取方向 d(k)=f(x(k)精确一维搜索精确一维搜索 最最 速速 下降法:梯度方向函数值变化最快的方下降法:梯度方向函数值变化最快的方向向现在学习的是第2页,共36页第五章第五章 无约束最优化无约束最优化5.2 最速下降法(续)最速下降法(续)x(1),0,k=1|f(x(k)|0得 x(k+1)=x(k)+kd(k)k=k+1现在学习的是第3页,共36页第五章第五章 无约束最优化无约束最优化5.2 最速下降法(续)最速下降法(续)特点:全局收敛,线性收敛,易产生扭摆现象而造成早停。特点:全局收敛,线性收敛,易产生扭摆现象而造成早停。(当当x(k)距最优点较远时,速度快,而接近最优点时,距最优点较远时,速度快,而接近最优点时,速度下降速度下降)原因:原因:f(x)=f(x(k)+Tf(x(k)(x-x(k)+o|x-x(k)|当当 x(k)接近接近 l.opt.时时 f(x(k)0,于是高阶项,于是高阶项 o|x-x(k)|的影响可能超过的影响可能超过Tf(x(k)(x-x(k)。5.3 Newton法及其修正法及其修正一、一、Newton法:法:设设f(x)二阶可微,取二阶可微,取f(x)在在x(k)点附近的二阶点附近的二阶Taylor近似函数:近似函数:qk(x)=f(x(k)+Tf(x(k)(x-x(k)+12(x-x(k)T2f(x(k)(x-x(k)求驻点:求驻点:qk(x)=f(x(k)+2f(x(k)(x-x(k)=0现在学习的是第4页,共36页第五章第五章 无约束最优化无约束最优化Newton法法:(续)(续)当当2f(x(k)正定时,有极小点:正定时,有极小点:x(k+1)=x(k)-2f(x(k)-1 f(x(k)Newton迭代公式迭代公式 实用中常用实用中常用 2f(x(k)S=-f(x(k)解得解得s(k)x(k+1)=x(k)+s(k)x(1),0,k=12f(x(k)S=-f(x(k)得得s(k),x(k+1)=x(k)+s(k)|s(k)|0 使使 2f(x(k)+I 正定,正定,尽量小。尽量小。特点:全局二阶收敛。特点:全局二阶收敛。现在学习的是第9页,共36页第五章第五章 无约束最优化无约束最优化5.4 共轭梯度法共轭梯度法一、共轭梯度法的方向:一、共轭梯度法的方向:设设f(x)=(1/2)xTGx+bTx+c Gnn对称正定,对称正定,b Rn,从最速下降方向从最速下降方向开始,构造一组共轭方向:开始,构造一组共轭方向:设初始点设初始点x(1),取取d(1)=-f(x(1)(最速下降方向最速下降方向)设设k1,已得到已得到k个相互共轭的方向个相互共轭的方向d(1),d(2),d(k),以及,由以及,由x(1)开始依次开始依次沿上述方向精确一维搜索得到点沿上述方向精确一维搜索得到点x(2),,x(k),x(k+1).即有下式:即有下式:x(i+1)=x(i)+id(i),i=1,2,k 精确一维搜索保证方向导数为精确一维搜索保证方向导数为0:fT(x(i+1)d(i)=0,i=1,2,k 在在x(i+1)点构造新方向点构造新方向d(k+1)为为-f(x(k+1)与与d(1),d(2),d(k)的组合:的组合:现在学习的是第10页,共36页第五章第五章 无约束最优化无约束最优化5.4 共轭梯度法共轭梯度法一、共轭梯度法的方向:一、共轭梯度法的方向:(续)(续)使使d(k+1)与与d(1),d(2),d(k)都共轭:都共轭:d(k+1)TG d(j)=0 ,j=1,2,k Gram-Schmidt过程:过程:i,j=1,2,k 记记 y(j)=f(x(j+1)-f(x(j)=G(x(j+1)-x(j)=jGd(j).根据根据式,有式,有 d(i)T y(j)=j d(i)T G d(j)=0 ,ij 根据根据,有有 d(k+1)T y(j)=j d(k+1)T G d(j)=0 ,j=1,2,k 这里的这里的j应为应为i现在学习的是第11页,共36页第五章第五章 无约束最优化无约束最优化5.4 共轭梯度法共轭梯度法一、共轭梯度法的方向:一、共轭梯度法的方向:(续)(续)jk,ij 有有 f(x(j+1)T d(i)=0 由由式式 由由式式 f(x(j+1)T f(x(i)=0 i0d(1)=-f(x(1),k=1k=k+1k=1|f(x(k)|0得 k x(k+1)=x(k)+k d(k)k=n?x(1)=x(n+1)d(1)=-f(x(1),k=1求 kd(k+1)=-f(x(k+1)+kd(k)yNyN重新开始现在学习的是第15页,共36页第五章第五章 无约束最优化无约束最优化5.4 共轭梯度法共轭梯度法三、算法特点:三、算法特点:1、全局收敛(下降算法);线性收敛;、全局收敛(下降算法);线性收敛;2、每步迭代只需存储若干向量(适用于大、每步迭代只需存储若干向量(适用于大规模问题);规模问题);3、有二次终结性(对于正定二次函数,至、有二次终结性(对于正定二次函数,至多多n次迭代可达次迭代可达opt.)注:对不同的注:对不同的 k公式,对于正定二次函数是公式,对于正定二次函数是相等的,对非正定二次函数,有不同的效果,相等的,对非正定二次函数,有不同的效果,经验上经验上PRP效果较好。效果较好。现在学习的是第16页,共36页第五章第五章 无约束最优化无约束最优化5.5 变尺度法变尺度法一、变尺度法的基本思路:一、变尺度法的基本思路:(f)min f(x),f:R n R1、基本思想:、基本思想:用对称正定矩阵用对称正定矩阵H(k)近似近似2f(x(k),而而H(k)的产生从给定的产生从给定H(1)开始逐步修开始逐步修整得到。整得到。2、算法框图:、算法框图:x(1),H(1)对称0,k=1d(k)=-H(k)f(x(k)一维搜索得kx(k+1)=x(k)+k d(k)|x(k+1)-x(k)|0那么那么DFP法产生的法产生的 对称正定。对称正定。注:注:下列各情况下有下列各情况下有sTy0:1 f(x)为正定二次函数;为正定二次函数;2 精确一维搜索时;精确一维搜索时;3 前章介绍的不精确一维搜索时。前章介绍的不精确一维搜索时。可以证明:可以证明:DFP法在精确一维搜索前提下,超线性收敛。法在精确一维搜索前提下,超线性收敛。2、BFGS法法 若把前面的推导,平行地用在若把前面的推导,平行地用在y=Bs公式上,可得到公式上,可得到现在学习的是第24页,共36页第五章第五章 5.5 5.5 变尺度法变尺度法变尺度法变尺度法二、2、BFGS法(续)法(续)用此公式求方向时,需用到矩阵求逆或解方程:用此公式求方向时,需用到矩阵求逆或解方程:d=-B-1 f(x)或或 Bd=-f(x)由于每次只有秩由于每次只有秩2的变换,这里的计算量仍可以的变换,这里的计算量仍可以降下来。为了得到降下来。为了得到H-公式,可对上面公式,可对上面 求逆求逆(推导得):(推导得):BFGS法有变尺度法的全部优点,并且在一定条法有变尺度法的全部优点,并且在一定条件下可以证明在件下可以证明在BFGS法中使用前文中介绍的法中使用前文中介绍的不精确一维搜索有全局收敛性。不精确一维搜索有全局收敛性。现在学习的是第25页,共36页第五章第五章 5.5 变尺度法变尺度法三、三、Broyden族族 当在秩当在秩2公式中,公式中,、任意选取时可得到不同的公式,经过理论推导,任意选取时可得到不同的公式,经过理论推导,可得到下列结果:可得到下列结果:现在学习的是第26页,共36页第五章第五章 5.5 5.5 变尺度法变尺度法变尺度法变尺度法三、三、Broyden族(续)族(续)现在学习的是第27页,共36页第五章第五章 无约束最优化无约束最优化 5.6 直接算法直接算法 min f(x)一、单纯形法及可变多面体算法一、单纯形法及可变多面体算法1、单纯形法基本思路:、单纯形法基本思路:设设 x(0),x(1),x(n)是是R n中中n+1个点构成的一个当前的单纯形。个点构成的一个当前的单纯形。比较各点的函数值得到:比较各点的函数值得到:x max,x min使使 f(x max)=maxf(x(0),f(x(1),f(x(n)f(x min)=minf(x(0),f(x(1),f(x(n)取单纯形中除去取单纯形中除去x max点外,其他各点的形心:点外,其他各点的形心:去掉去掉x max,加入,加入x(n+1)得到新的单纯形。得到新的单纯形。重复上述过程。重复上述过程。现在学习的是第28页,共36页第五章第五章 5.6 直接算法直接算法一、一、1、单纯形法基本思路:、单纯形法基本思路:(续)(续)几点注意:几点注意:当当x(n+1)又是新单纯形的最大值点时,取次大值点进行反射;又是新单纯形的最大值点时,取次大值点进行反射;若某一个点若某一个点x出现在连续出现在连续m个单纯形中的时候,取各点与个单纯形中的时候,取各点与x连线连线的中点(的中点(n个)与个)与x点构成新的单纯形,继续进行。点构成新的单纯形,继续进行。经验上取经验上取 m 1.65n+0.05n2 例如:例如:n=2时,可取时,可取m 1.65 2+0.05 4=3.5 可取可取 m=4.12345789106111213现在学习的是第29页,共36页第五章第五章 5.6 直接算法直接算法一、一、1、单纯形法基本思路:、单纯形法基本思路:(续)(续)优点:不需求导数,不需要一维搜索。优点:不需求导数,不需要一维搜索。缺点:无法加速,收敛慢,效果差。缺点:无法加速,收敛慢,效果差。2、改进单纯形法:、改进单纯形法:(可变多面体算法)(可变多面体算法)设第设第k步迭代得到步迭代得到n+1个点:个点:x(0),x(1),x(n),得到,得到x max,x min及及 通过下列通过下列4步操作选新迭代点:步操作选新迭代点:1 反射:反射:取反射系数取反射系数 0,(单纯形法中单纯形法中=1)2 扩展:给定扩展系数扩展:给定扩展系数 1,计算。(加速)计算。(加速)现在学习的是第30页,共36页第五章第五章 5.6 直接算法直接算法一、2、改进单纯形法:、改进单纯形法:(续)(续)若若f(y(1)f(y(2),那么那么y(2)取代取代x max;否则,否则,y(1)取代取代x max。若。若maxf(x(i)|x(i)x max f(y(1)f(x min),y(1)取代取代x max。3 收缩:若收缩:若f(x max)f(y(1)f(x(i),x(i)x max,计算计算 ,以以y(3)取代取代x max。4 减半:若减半:若f(y(1)f(x max),重新取各点,使重新取各点,使 x(i)=x min+1 2(x(i)-x min)得到新单纯形。得到新单纯形。经验上:经验上:=1,0.40.6,2.33.0.有人建议有人建议:=1,=0.5,=2 。算法停机准则取:算法停机准则取:现在学习的是第31页,共36页第五章第五章 5.6 直接算法直接算法二、模式搜索法:二、模式搜索法:Hooke&Jeeves 19611、基本思想与主要过程:、基本思想与主要过程:利用两类移动(探测性移动和模式性移动)进行一步迭代:利用两类移动(探测性移动和模式性移动)进行一步迭代:探测性移动的目的:探求一个沿各坐标方向的新点并得到探测性移动的目的:探求一个沿各坐标方向的新点并得到 一一 个个“有前途有前途”的方向;的方向;模式性移动的目的:沿上述模式性移动的目的:沿上述“有前途有前途”方向加速移动。方向加速移动。主要过程:第主要过程:第k步迭代,设已得到步迭代,设已得到x(k)1探测性移动:探测性移动:给定步长给定步长k,设通过模式性移动得到,设通过模式性移动得到y(0),依次沿各坐标方向依次沿各坐标方向e(i)=(0,1,0,0)T i 移动移动k步长:步长:i=0,1,n-1 ,=y(i)+e(i+1)若若f()f(y(i),则则 y(i+1)=现在学习的是第32页,共36页第五章第五章 5.6 直接算法直接算法二、二、1、基本思想与主要过程:、基本思想与主要过程:(续)(续)否则取否则取 =y(i)+e(i+1)若若f()f(y(i),则则 y(i+1)=否则否则 y(i+1)=y(i)最后得到最后得到y(n)。若若f(y(n)f(x(k),令令x(k+1)=y(n).2模式性移动:模式性移动:x(k+1)-x(k)为一个有前途的方向,取为一个有前途的方向,取 y(0)=x(k+1)+(x(k+1)-x(k)=2 x(k+1)-x(k)f(y(0)f(x(k+1)?3 几点措施:几点措施:若探测性移动得到若探测性移动得到y(n)使使f(y(n)f(x(k),则跳过模式性移动而令则跳过模式性移动而令y(0)=x(k)重新进行探测性移动,初始重新进行探测性移动,初始y(0)=x(1);现在学习的是第33页,共36页第五章第五章 5.6 直接算法直接算法二、二、1、基本思想与主要过程:、基本思想与主要过程:(续)(续)若若y(n)=y(0)(即每一个坐标方向的移动都失败),减小(即每一个坐标方向的移动都失败),减小 k,重复上述过程。,重复上述过程。当进行到当进行到k充分小(充分小(k 0计算f=f(x)f1=f(y(0),i=1y(i)=y(i-1)+e(i)计算f2=f(y(i)f2f1?f1=f2in?yesyes1Noi=i+12Noy(i)=y(i-1)+(-)e(i)计算f2=f(y(i)f2f1?y(i)=y(i-1)yesNo现在学习的是第35页,共36页第五章第五章 5.6 直接算法直接算法二、二、2、算法:、算法:(续续)1f1f?Noyes=y(n),y(0)=2 -xx=,f=f(x)y(n)=x?Noy(0)=xYes?YesNo=0.1 2停;x为解现在学习的是第36页,共36页