1、l5.1最速下降法最速下降法 l5.2共轭梯度法共轭梯度法 l5.3牛顿法牛顿法 l5.4变尺度法变尺度法 l5.5步长加速法步长加速法 l5.6旋转方向法旋转方向法l5.7方向加速法方向加速法 l5.8信赖域方法信赖域方法 l5.9最小二乘法最小二乘法 l无约束最优化问题的求解方法:无约束最优化问题的求解方法:解析法解析法和和直接法直接法。l解析法需要计算函数的梯度,直接法仅通解析法需要计算函数的梯度,直接法仅通过比较目标函数值的大小来移动迭代点。过比较目标函数值的大小来移动迭代点。l一般来说,无约束最优化问题的求解是通一般来说,无约束最优化问题的求解是通过一系列过一系列一维搜索一维搜索来实
2、现。来实现。l如何选择搜索方向如何选择搜索方向是求解无约束最优化问是求解无约束最优化问题的题的核心问题核心问题,搜索方向的不同选择,形,搜索方向的不同选择,形成不同的求解方法。成不同的求解方法。5.1.1 最速下降法原理最速下降法原理5.1.2 最速下降法的计算步骤最速下降法的计算步骤clearsyms x1 x2;%定义符号变量定义符号变量fx=2*x12+x22;%定义符号函数定义符号函数X0=1,1;%初值初值g=jacobian(fx,x1,x2);%求符号函数的梯度求符号函数的梯度H=jacobian(g,x1,x2);%求符号函数的海塞矩阵求符号函数的海塞矩阵x1=X0(1,1);
3、x2=X0(1,2);%赋初值赋初值g0=eval(g);H0=eval(H);%求符号函数在求符号函数在x1=1、x2=1梯度、海塞矩阵梯度、海塞矩阵k=0;fprintf(n)while norm(g0)eps%停机判断条件停机判断条件 lamda=g0*g0/(g0*H0*g0);%求求lamda fprintf(k=%2d,lamda=%19.16f,x1=%19.16f,x2=%19.16f,fx=%19.16f,norm(p)=%19.16fn,k,lamda,x1,x2,eval(fx),norm(g0)X0=X0-lamda*g0;x1=X0(1,1);x2=X0(1,2);g
4、0=eval(g);H0=eval(H);k=k+1;end5.1.3 最速下降法的收敛性最速下降法的收敛性l由定理由定理5-1知,在最速下降法中,前后两次的搜知,在最速下降法中,前后两次的搜索方向垂直(见图索方向垂直(见图5-1)。)。l锯齿形的搜索轨迹使最速下降法效率低下。锯齿形的搜索轨迹使最速下降法效率低下。l最速下方向反映了目标函数的一种局部性质。从最速下方向反映了目标函数的一种局部性质。从局部看,最速下降方向的确是函数值下降最快的局部看,最速下降方向的确是函数值下降最快的方向,选择这样的方向进行搜索是有利的,方向,选择这样的方向进行搜索是有利的,l从全局看,由于锯齿现象的出现,当在极
5、小点附从全局看,由于锯齿现象的出现,当在极小点附近时,即使向着极小点移动不太大的距离,也要近时,即使向着极小点移动不太大的距离,也要经历不少的弯路,从而使收敛速度大为减慢。经历不少的弯路,从而使收敛速度大为减慢。l最速下降法不仅简单,而且具有全局收敛性,最速下降法不仅简单,而且具有全局收敛性,并且是并且是线性收敛线性收敛的。的。l为避免锯齿现象对收敛速度的影响,在计算初为避免锯齿现象对收敛速度的影响,在计算初期可使用最速下降法,在迭代一段时间以后,期可使用最速下降法,在迭代一段时间以后,改用其它更有效的方法,如牛顿法等。改用其它更有效的方法,如牛顿法等。l对一般的下降算法,只要搜索方向与迭代点
6、处对一般的下降算法,只要搜索方向与迭代点处的负梯度方向的夹角小于的负梯度方向的夹角小于90,使用精确一维,使用精确一维搜索和不精确一维搜索在一定的条件下,可以搜索和不精确一维搜索在一定的条件下,可以证明下降算法具有全局收敛性。证明下降算法具有全局收敛性。l共轭梯度法最初由共轭梯度法最初由Hesteness和和Stiefel于于1952年为求解年为求解线性方程组而提出,线性方程组而提出,1964年年Fietcher和和Reever在此基础在此基础上,首先提出了求解无约束最优化问题的上,首先提出了求解无约束最优化问题的共轭梯度法共轭梯度法。l共轭梯度法的共轭梯度法的基本思想基本思想:把共轭性与最速
7、下降法相结:把共轭性与最速下降法相结合,利用已知点处的梯度构造一组合,利用已知点处的梯度构造一组共轭方向共轭方向,并沿这,并沿这组方向进行一维搜索,求出目标函数的极小点。组方向进行一维搜索,求出目标函数的极小点。l该方法具有收敛速度快、存储空间小等特点,尤其是该方法具有收敛速度快、存储空间小等特点,尤其是对于对于正定二次函数正定二次函数能在有限步内达到极小点,即具有能在有限步内达到极小点,即具有二次终结性二次终结性。5.2.1 共轭方向与共轭方向法共轭方向与共轭方向法 复习复习 复习复习 复习复习 你能找到A共轭方向吗?P(0)和p(1)正交吗?(5-2)5.2.2 正定二次函数的共轭梯度法正
8、定二次函数的共轭梯度法 5.2.3 共轭梯度法的计算步骤共轭梯度法的计算步骤 5.2.4 非二次函数的共轭梯度法非二次函数的共轭梯度法 复习复习 5.2.5 共轭梯度法的收敛性共轭梯度法的收敛性5.3牛顿法牛顿法 l对一维搜索方法中的牛顿法加以推广,就得到了求解无约束优化问题的牛顿法。l该方法具有收敛速度快的特点,l在牛顿法基础上的改进算法如阻尼牛顿法在实际中被广泛应用。5.3.1牛顿法原理牛顿法原理利用二次函数近似目标函数。5.3.2牛顿法的特点与收敛性牛顿法的特点与收敛性牛顿法优点:牛顿法优点:牛顿法具有二阶收敛速度。对二次正定函数,仅牛顿法具有二阶收敛速度。对二次正定函数,仅需一步迭代即
9、可达到最优解,具有二次终结性。需一步迭代即可达到最优解,具有二次终结性。牛顿法缺点:牛顿法缺点:(1)牛顿法是局部收敛的,即初始点选择不当,可能会导致不)牛顿法是局部收敛的,即初始点选择不当,可能会导致不收敛;收敛;(2)牛顿法不是下降算法,当二阶)牛顿法不是下降算法,当二阶Hesse阵非正定时,不能保证阵非正定时,不能保证是下降方向;是下降方向;(3)二阶)二阶Hesse阵必须可逆,否则算法将无法进行下去;阵必须可逆,否则算法将无法进行下去;(4)对函数分析性质要求苛刻,计算量大,仅适合小规模优化)对函数分析性质要求苛刻,计算量大,仅适合小规模优化问题。问题。由于牛顿法有良好收敛速度,人们对
10、它的缺点进行了多方面改由于牛顿法有良好收敛速度,人们对它的缺点进行了多方面改进和修正。进和修正。5.3.3 牛顿法的改进牛顿法的改进 1.阻尼(广义)牛顿法阻尼(广义)牛顿法2.Goldstein-Price方法方法5.4 变尺度法变尺度法 5.4.1 变尺度法原理变尺度法原理 5.4.2 DFP变尺度法变尺度法 5.4.3 BFGS变尺度法与初始尺度矩阵的修正变尺度法与初始尺度矩阵的修正 5.4.4变尺度法的计算步骤变尺度法的计算步骤使用使用MATLAB软件实现软件实现DFP算法算法例例5-5 最优解搜索过程最优解搜索过程 例例5-5 三维图三维图 5.4.5 变尺度法的性质与收敛性变尺度法
11、的性质与收敛性 5.5步长加速法步长加速法 l解析法:最速下降法、共轭梯度法解析法:最速下降法、共轭梯度法、牛顿法、牛顿法 和变尺度和变尺度法需要计算目标函数的梯度。法需要计算目标函数的梯度。l直接法:不需要求目标函数的梯度。直接法:不需要求目标函数的梯度。5.5.1步长加速法的基本思想步长加速法的基本思想 l 又称又称模式搜索法模式搜索法(Pattern Search Method)。)。l由胡克(由胡克(Hooke)和基夫斯()和基夫斯(Jeeves)于)于1961年提出的。年提出的。l它不仅易于编制计算机程序,而且具有追循谷线加速移向最优它不仅易于编制计算机程序,而且具有追循谷线加速移向
12、最优点的性质。点的性质。l基本思想从几何上讲,就是寻找具有较小函数值的基本思想从几何上讲,就是寻找具有较小函数值的“山谷山谷”,力图使迭代产生的序列沿力图使迭代产生的序列沿“山谷山谷”逼近极小点。逼近极小点。5.5.2步长加速法的搜索过程步长加速法的搜索过程 l步长加速法由步长加速法由“探测移动探测移动”和和“模式搜索模式搜索”两个交替的动作构两个交替的动作构成。成。探测移动:依次沿探测移动:依次沿n个坐标轴进行,用以确定新的基点和有个坐标轴进行,用以确定新的基点和有利于函数值下降的方向。利于函数值下降的方向。模式搜索:沿相邻两个基点连线方向进行,试图顺着模式搜索:沿相邻两个基点连线方向进行,
13、试图顺着“山谷山谷”使函数值下降的更快(见图使函数值下降的更快(见图5-4)。)。5.5.3步长加速法的计算步骤步长加速法的计算步骤 5.6旋转方向法旋转方向法 5.6.1旋转方向法的基本思想旋转方向法的基本思想 5.6.2旋转方向法的搜索过程旋转方向法的搜索过程 5.6.3旋转方向法的计算步骤旋转方向法的计算步骤 请读者比较步长加速法和旋转方向法的区别5.7 方向加速方向加速(powell)法法 5.7.1 方向加速法的基本思想方向加速法的基本思想方向加速(Powell)法的基本思想:把整个搜索(计算)过程分为若干个阶段(轮),每个轮迭代由n+1次一维搜索组成。即在算法的每一轮中,先依次沿着
14、n个已知的方向搜索,得到一个最好点,然后沿该轮的初始点与该最好点连线方向进行搜索,求得这一轮的最好点。再用最后的搜索方向取代前n个方向之一,进行下一轮的迭代。Powell法的特点:理论体系严密,本质是共轭方向法 在一定条件下具有二次终结性5.7.2 基本基本powell法的计算步骤法的计算步骤 5.7.3 powell法的二次终结性法的二次终结性 5.7.4 改进的改进的powell法法 5.8 信赖域法信赖域法 5.8.1 信赖域法的基本思想信赖域法的基本思想 无约束最优化问题的一般求解策略是,给定点后,定义搜索方向,再从出发沿作一维搜索,得到新的点。信赖域方法另辟蹊径,其基本思想:给定点后
15、,确定一个变化范围,通常取以为中心的球域(称为信赖域),在此域内优化目标函数的二次逼近式,按一定的模式求出后继点。如果不满足精度要求,再定义以为中心的信赖域,并在此域内优化新的二次逼近式,直到满足精度要求为止。信赖域方法是Powell于1970年提出来的,是一种新的能保证全局收敛的算法。该方法不仅不需要进行线性搜索,而且也不必关心目标函数的Hesse阵的正定性。5.8.2 信赖域法的计算步骤信赖域法的计算步骤5.9最小二乘法最小二乘法 5.9.1线性最小二乘问题线性最小二乘问题 5.9.2 非线性最小二乘问题非线性最小二乘问题5.9.3 非线性最小二乘问题的阻尼非线性最小二乘问题的阻尼Causs-Newton法计法计算步骤算步骤