无约束优化方法(最速下降法_牛顿法)
- 格式:doc
- 大小:243.31 KB
- 文档页数:12
实用标准文档
文案大全 第四章 无约束优化方法
——最速下降法,牛顿型方法
概述
在求解目标函数的极小值的过程中,若对设计变量的取值范围不加限制,则称这种最优化问题为无约束优化问题。尽管对于机械的优化设计问题,多数是有约束的,无约束最优化方法仍然是最优化设计的基本组成部分。因为约束最优化问题可以通过对约束条件的处理,转化为无约束最优化问题来求解。
为什么要研究无约束优化问题?
(1)有些实际问题,其数学模型本身就是一个无约束优化问题。
(2)通过熟悉它的解法可以为研究约束优化问题打下良好的基础。
(3)约束优化问题的求解可以通过一系列无约束优化方法来达到。
所以无约束优化问题的解法是优化设计方法的基本组成部分,也是优化方法的基础。
根据构成搜索方向所使用的信息性质的不同,无约束优化方法可以分为两类。
一:间接法——要使用导数的无约束优化方法,如梯度法、(阻尼)牛顿法、变尺度法、共轭梯度法等。
二:直接法——只利用目标函数值的无约束优化问题,如坐标轮换法、鲍威尔法单纯形法等。
无约束优化问题的一般形式可描述为:
求n维设计变量 12TnnXxxxRL
使目标函数 ()minfX
目前已研究出很多种无约束优化方法,它们的主要不同点在于构造搜索方向上的差别。
无约束优化问题的求解:
1、解析法
可以利用无约束优化问题的极值条件求得。即将求目标函数的极值问题变成求方程
0)(min*Xf
实用标准文档
文案大全 的解。也就是求X*使其满足
解上述方程组,求得驻点后,再根据极值点所需满足的充分条件来判定是否为极小值点。但上式是一个含有n个未知量,n个方程的方程组,在实际问题中一般是非线性的,很难用解析法求解,要用数值计算的方法。由第二章的讲述我们知道,优化问题的一般解法是数值迭代的方法。因此,与其用数值方法求解非线性方程组,还不如用数值迭代的方法直接求解无约束极值问题。
2、数值方法
数值迭代法的基本思想是从一个初始点)0(X出发,按照一个可行的搜索方向)0(d搜索,确定最佳的步长0使函数值沿)0(d方向下降最大,得到)1(X点。依此一步一步地重复数值计算,最终达到最优点。优化计算所采用的基本迭代公式为
),2,1,0()()()1(kdXXKKKK (4.2)
在上式中, ()Kdr是第是 k+1 次搜索或迭代方向,称为搜索方向(迭代方向)。
由上面的迭代公式可以看出,采用数值法进行迭代求优时,需要确定初始点)(kX、搜索方向)(kd和迭代步长K,称为优化方法迭代算法的三要素。第三章我们已经讨论了如何在搜索方向)(kd上确定最优步长K的方法,本章我们将讨论如何确定搜索方向)(kd。
最常用的数值方法是搜索方法,其基本思想如下图所示:
0)(0)(0)(*2*1*nxXfxXfxXf实用标准文档 文案大全
无约束优化方法可以分为两类。一类是通过计算目标函数的一阶或二阶导数值确定搜索方向的方法,称为间接法,如最速下降法、牛顿法、变尺度法和共轭梯度法。另一类是直接利用目标函数值确定搜索方向的方法,称为直接法,如坐标轮换法、鲍威尔法和单形替换法。各种无约束优化方法的区别在于确定其搜索方向0d的方法不同。
4.1最速下降法
最速下降法是一个求解极值问题的古老算法,1847年由柯西(Cauchy)提出。
4.1.1最速下降法的基本原理
由第二章优化设计的数学基础可知,梯度方向是函数增加最快的方向,负梯度方向是函数下降最快的方向,所以最速下降法以负梯度方向为搜索方向,每次迭代都沿着负梯度方向进行一维搜索,直到满足精度要求为止。因此,最速下降法又称为梯度法。由公式(4.2)
),2,1,0()()()1(kdXXKKKK
可知,若某次选代中己取得点)(kX,从该点出发,取负梯度方向
)()()()()(kkkXfXfd
为搜索方向。则最速下降法的迭代公式为
()(1)()()()(0,1,2,)()kKKKkfXXXkfXL (4.3)
当第k次的迭代初始点)(kX和搜索方向)(kd已经确定的情况下,原目标函数成为关于步长的一维函数。即
()()()()KKfXS 实用标准文档
文案大全 最优步长K可以利用一维搜索的方法求得
(1)()()()()min()()()min()kKkKkkfXfXdfXdrr
根据一元函数极值的必要条件和多元复合函数的求导公式,得
()()()()()()0TKkKfXdfXr
(1)()()()0TKKfXfX
或写成 (1)()[]0KTkddrr
由此可知,在最速下降法中相邻两个搜索方向互相正交。也就是说在用最速下降法迭代求优的过程中,走的是一条曲折的路线,该次搜索方向与前一次搜索方向垂直,形成“之”字形的锯齿现象,如图4.1所示。最速下降法刚开始搜索步长比较大,愈靠近极值点其步长愈小,收敛速度愈来愈慢。特别是对于二维二次目标函数的等值线是较扁的椭圆时,这种缺陷更加明显。因此所谓最速下降是指目标函数在迭代点附近出现的局部性质,从迭代过程的全局来看,负梯度方向并非是目标函数的最快搜索方向。
图4.1最速下降法的搜索路径
此外,最速下降法的迭代公式也可以写成下面的形式
(1)()()()(0,1,2,)KKkKXXfXkL (4.4) 实用标准文档
文案大全 将其与式4.3相比较,可知,此处K等于4.3式中步长除以函数在()KX点导数的模()()kfX,而此时的搜索方向()()()kkdfXr也不再是个单位向量。
4.1.2最速下降法的迭代过程
1) 给定初始点(0)X,收敛精度ε,并令计算次数0k;
2) 计算)(kX点的梯度()()KfX及梯度的模()()kfX,并令
)()()()()(kkkXfXfd
3) 判断是否满足精度指标()()kfX;若满足,)(kX为最优点,迭代停止,输出最优解*()kXX和*()()()kfXfX,否则进行下一步计算;
4) 以)(kX为出发点,沿)(kd进行一维搜索,求能使函数值下降最多的步长K,即
()()()()min()()kkkkKfXdfXdrr
5) 令(1)()()kkkKXXdr,k=k+1,转到步骤2)。
最速下降法的程序框图如图4.2所示。 实用标准文档
文案大全
4.2最速下降法的程序框图
例题4.1 用最速下降法求目标函数2212()(1)(1)fXxx的极小值,设初始点(0)T[0 0]X,计算精度210。
解 (1)计算初始点(0)X处目标函数的梯度和梯度的模
11(0)22(0)()2(1)2() 2(1)()2 ()22fXxxfXxfXxfX
(2)由于(0)()22fX,不满足精度指标,转下一步计算。
(3)确定搜索方向 开始
输入(0)X ,ε
0k
计算()()KfX 及搜索方向
)()()()()(kkkXfXfd
()()?kfX
一维搜索求最优步长k
(1)()()kkkKXXdr 1kk *()kXX*()()()kfXfX
结束 N Y 实用标准文档
文案大全 (0)(0)(0)12()1221()222fXdfXr
(4)计算新的迭代点
由公式(4.2)可得
(1)(0)(0)10220122XXdr
代入目标函数 (1)22()(1)(1)22fX
沿)(kd方向进行一维搜索(或对求导,并令其为零)
(1)()22(1)(1)2222dfXd
令(1)()0dfXd,,求得最优步长02。
(5)计算新迭代点
0(1)01212X
(6)计算新迭代点的梯度及梯度的模
1(1)22(1)0()2(1)0xfXx
(0)()0fX
因已满足精度要求,停止迭代,得最优解为
*11X,*()0fX
可见,对于目标函数的等值线为圆的情况,只要一次迭代就能达到极小值点*X。这是因为圆周上任意一点的负梯度方向总是指向圆心的,如图4.3所示。 实用标准文档
文案大全
图4.3例题4.1目标函数极小值的搜索过程
通过上面的分析可知最速下降法具有以下特点:
(1)理论明确,程序简单,对初始点要求不严格,每次迭代所需的计算量和存储量也较小,适用于计算机计算。
(2)对一般函数而言,最速下降法的收敛速度并不快,因为最速下降方向仅仅是指某点的一个局部性质。
(3)最速下降法相邻两次搜索方向的正交性,决定了迭代全过程的搜索路线呈锯齿状,在远离极小点时逼近速度较快,而在接近极小点时逼近速度较慢。
(4)最速下降法的收敛速度与目标函数的性质以及初始点的选择密切相关。对于等值线(面)为同心圆(球)的目标函数,一次搜索即可达到极小点。若目标函数为二次函数,等值线为椭圆,当初始点选在长轴或短轴上时,一次搜索也可达到极小值点。
最速下降法的收敛速度和变量的尺度关系很大,这一点可从最速下降法收敛速度的估计式上看出来。在适当条件下,有
式中 的海赛矩阵最大特征值上界; 其最小特征值下界。
当相邻两个迭代点之间满足上式时(右边的系数为小于等于1的正的常数),我们称相应的迭代方法是具有线性收敛速度的迭代法。因此,最速下降法是具有线性收敛速度的选代法。
鉴于应用最速下降法可以使目标函数在开头几步下降很快,所以它可与其它无约束优化方法配合使用。