690 likes | 808 Views
第五章 无约束优化方法. 无约束优化问题是:求 n 维设计变量. 使目标函数 ,而对 没有任何限制条件。. 可以利用极值定义,将上式变成求以下方程. 本章介绍的是数值方法。其中最常用的是搜索方法,即给定初始点和搜索方向,沿着该方向寻找最优点。. 搜索方向的构成是关键。. 无约束极小算法的粗框图. 根据构成搜索方向所使用的信息性质的不同,无约束优化方法可以分成两类。一类是利用目标函数的一阶或二阶导数的无约束优化方法,另一类是指利用目标函数值的无约束优化方法。. 第一节 最速下降法. 最速下降法是以负梯度方向作为搜索方向,所以又称梯度法。.
E N D
无约束优化问题是:求n维设计变量 使目标函数 ,而对 没有任何限制条件。 可以利用极值定义,将上式变成求以下方程
本章介绍的是数值方法。其中最常用的是搜索方法,即给定初始点和搜索方向,沿着该方向寻找最优点。本章介绍的是数值方法。其中最常用的是搜索方法,即给定初始点和搜索方向,沿着该方向寻找最优点。 搜索方向的构成是关键。
根据构成搜索方向所使用的信息性质的不同,无约束优化方法可以分成两类。一类是利用目标函数的一阶或二阶导数的无约束优化方法,另一类是指利用目标函数值的无约束优化方法。根据构成搜索方向所使用的信息性质的不同,无约束优化方法可以分成两类。一类是利用目标函数的一阶或二阶导数的无约束优化方法,另一类是指利用目标函数值的无约束优化方法。
第一节 最速下降法 最速下降法是以负梯度方向作为搜索方向,所以又称梯度法。 根据一元函数极值的必要条件和多元复合函数求导公式,得
求目标函数 的极小点。 解 取初始值 则初始点处函数值及梯度分别为 沿负梯度方向进行一维搜索,有
为一维搜索最佳步长,应满足极值必要条件 从而算出一维搜索最佳步长 及第一次迭代设计点位置和函数值
若将上例的目标函数 引入变换 其等值线就由一族椭圆变成一族同心圆, 仍从 即 开始寻优 此时有
沿负梯度 方向进行一维搜索,有 为一维搜索最佳步长,可由极值条件算得
得到第一次迭代的结果就是最优解 最速下降法的收敛速度与变量的尺度关系很大,下面是最速下降收敛速度的估计式 式中 的海赛矩阵最大特征值上界; 其最小特征值下届。
一、特征值与特征向量的定义 定义2.1设A为复数域上的n阶矩阵,若存在复数 和非零n维列向量X使得 则称数 为A的一个特征值,X为A的属于(或对应于)特征值 的特征向量。 由(2-1)式得 由此可见,特征值 是使齐次方程组 有非零解 的 的值。 方程组(2-3)有非零解的充要条件是
对于等值线为椭圆的二次型函数 ,其海赛矩阵 两个特征值分别为 。因此 可见等值线为椭圆的长短轴相差越大,收敛就越慢。 两个特征值相等 ,因此 代入(4-4),有 得 即经过一次迭代便可到达极值点。
最速下降法是一个求解极值问题的古老算法,早在1847年就已由柯西(Cauchy)提出。此法直观、简单。由于它采用了函数的负梯度方向作为下一步的搜索方向,所以收敛速度较慢,越是接近极值点收敛越慢,这就是它的主要缺点。应用最速下降法可以使头几次迭代的收敛速度很快,所以它可与其他方法配合使用。最速下降法是一个求解极值问题的古老算法,早在1847年就已由柯西(Cauchy)提出。此法直观、简单。由于它采用了函数的负梯度方向作为下一步的搜索方向,所以收敛速度较慢,越是接近极值点收敛越慢,这就是它的主要缺点。应用最速下降法可以使头几次迭代的收敛速度很快,所以它可与其他方法配合使用。
第二节 牛顿型方法 一维情况下牛顿迭代公式 多维情况下牛顿迭代公式 根据极值的必要条件,得:
对二次函数来说,上述的泰勒展开式不是近似的,而是精确的。海森矩阵是一个常数阵。无论从任何点出发,只需一步就可找到极小点。对二次函数来说,上述的泰勒展开式不是近似的,而是精确的。海森矩阵是一个常数阵。无论从任何点出发,只需一步就可找到极小点。 二次收敛的概念:如果某一种迭代方法能够使二次型函数在有限次迭代内达到极小点,则称此迭代方法是二次收敛的。 从牛顿法迭代公式的推演中可以看到,迭代点的位置是按照极值条件去订的,其中并未含有沿下降方向搜索的概念。因此对于非二次函数,如果采用上述牛顿法迭代公式,有时会使函数值上升,为了解决这个问题,提出“阻尼牛顿法”
为沿牛顿方向进行一维搜索的最佳步长,可称为阻尼因子。为沿牛顿方向进行一维搜索的最佳步长,可称为阻尼因子。 可通过如下极小化过程求得 其中: 这样,原来的牛顿法就相当于阻尼牛顿法的步长因子 取成固定值1的情况。由于阻尼牛顿法每次迭代都在牛顿方向上进行一维搜索,这就避免了迭代后函数值上升的现象,从而保持了牛顿法二次收敛的特性,而对初始点的选取并没有苛刻的要求。
阻尼牛顿法的计算步骤如下: 1)给定初始点 ,收敛精度 ,置 。 2)计算 和 。 3)求 ,其中 为沿 进行一维搜索的最佳步长。 4)检查收敛精度。若 则 ,停机;否则,置 ,返回到2继续进行搜索。
牛顿法和阻尼牛顿法统称牛顿型方法。 这类方法的主要缺点是每次迭代都要计算函数的二阶导数矩阵,并对该矩阵求逆,当维数高时工作量更大。 针对上述的梯度法收敛速度慢,提出收敛速度更快的共轭梯度。 针对牛顿法的缺点提出了变尺度法。
作业:用牛顿迭代法求解最优解,用matlab实现。作业:用牛顿迭代法求解最优解,用matlab实现。 已知
第三节 变尺度法 一、尺度矩阵的概念 变量的尺度变换是放大或缩小各个坐标,通过尺度变换可以把函数的偏心程度降低到最低限度。尺度变换技巧能显著地改善几乎所有极小化方法的收敛性质。如: 求目标函数 的极小点。 若将上例的目标函数 引入变换
对于一般二次函数 如果进行尺寸变换 则在新的坐标系中,函数 的二次项变为 若矩阵G是正定的,则总存在矩阵Q,使得: (单位矩阵) 将函数的偏心降为0 用 右乘等式两边,得 再用Q左乘等式两边,得 所以
这说明二次函数矩阵G的逆阵,可以通过尺度变换矩阵Q来求得。这说明二次函数矩阵G的逆阵,可以通过尺度变换矩阵Q来求得。 牛顿方向便可写成 牛顿迭代公式变为
例子: 变换
则在变换后的坐标系中,矩阵G变为 只需通过一次迭代即可求得极小点
比较牛顿法迭代公式 和梯度法迭代公式 可以看出,差别在于牛顿法中多了 部分。 实际上是在x空间内测量距离大小的一种度量,称作尺度矩阵H 如在未进行尺度变换前,向量x长度的概念是 变换后向量x对于H尺度下的长度
这样的长度定义,在确定“长度”这个纯量大小是,使得某些方向起的作用比较大,另一些方向起的作用比较小。这样的长度定义,在确定“长度”这个纯量大小是,使得某些方向起的作用比较大,另一些方向起的作用比较小。 为使这种尺度有用,必须对一切非零向量的x均有 ,既然牛顿法迭代公式可用尺度变换矩阵 表示出来,即 它和梯度法的公式只差一个H,牛顿法就可以看成是经过尺度变换后的 剃度法。经过尺度变换,使函数的偏心率减小到0,函数的等值面变成球面,使设计空间中任意点处的梯度都通过极小点。(对二次函数)。
变尺度矩阵的建立 对于一般函数f(x),当用牛顿法寻求极小点时,其牛顿迭代公式为 为了避免在迭代公式中计算海赛矩阵的逆矩阵 ,可以用在迭代中逐步建立的变尺度矩阵 来替换 ,即构造一个矩阵序列 来逼近海赛逆矩阵序列 。
其中 是从 出发,沿方向 搜索而得到的最佳步长。 为了使变尺度矩阵 确实与 近似,并必须附加某些条件: 1)为了保证迭代公式具有下降性质,要求Hk中的每个矩阵都是对称正定的 若要求搜索方向 为下降方向,即要求 也就是 ,即 ,即 应为对称正定。 2)要求 之间的迭代具有简单的形式。显然 为最简单的形式,其中 为校正矩阵。上式称作校正公式。
3)要求 必须满足拟牛顿条件。 所谓拟牛顿条件可以推导: 设迭代过程已经进行了k+1步, ,均已求出,现在推导所需要的条件。当f(x)为具有正定矩阵G的二次函数时 因为具有正定海赛矩阵 的一般函数,在极小点附近可用二次函数很好的近似,所以 如果迫使 满足类似于上式的关系 那么 就可以很好地近似于 。
上述关系称拟牛顿条件 根据上述拟牛顿条件,不通过海赛矩阵求逆就可以构造一个矩阵 来逼近海赛矩阵的逆阵 ,这类方法统称作拟牛顿法。由于变尺度矩阵的建立应用了拟牛顿条件,所以变尺度法也是属于一种拟牛顿法。还可以证明,变尺度法对于具有正定矩阵G的二次函数,能产生对G共轭的搜索方向,因此变尺度法又可以看成是一种共轭方向法。
三、变尺度法的一般步骤 对一般多元函数f(x),用变尺度法求极小点 ,其一般步骤是: 1)选定初始点 和收敛精度 。 2)计算 ,选取初始对称正定矩阵 (例如 ),置 。 3)计算搜索方向 。 4)沿 方向进行一维搜索 ,计算 5)判断是否满足迭代终止准则,若满足则 ,停机。 6)当迭代n次后还没找到极小点时,重置 为单位矩阵I,并以当前设计点为初始点,返回到2进行下一轮迭代,否则转到7。
7)计算矩阵 ,置 返回到3。 对于校正矩阵 ,可由具体的公式来计算,不同的公式对应不同的变尺度法,但不论哪种变尺度法, 必须满足拟牛顿条件 满足上式的 有无穷多个,因此上述变尺度法(属于拟牛顿法)构成一族算法。
工程问题中绝大部分问题是约束问题。只要由约束条件决定的可行域是凸集,同时目标函数也是凸函数,否则将由于选择的初始点不同,而搜索到不同的局部最有点上。工程问题中绝大部分问题是约束问题。只要由约束条件决定的可行域是凸集,同时目标函数也是凸函数,否则将由于选择的初始点不同,而搜索到不同的局部最有点上。
约束优化的模型,通常如下: 根据求解方式的不同,可分为直接解法、间接解法。 直接解法通常用于仅含不等式约束的问题,他的基本思路是:在m个不等式约束所确定的可行域内,选择一个初始点,然后决定可行的搜索方向,以适当的步长沿该方向进行搜索,得到一个使目标函数值下降的可行的新点。 所谓可行搜索方向是指当设计点沿该方向作微量移动时,目标函数值将下降,且不会越出可行域。
直接法的特点是: 1)由于整个求解的工程在可行域内进行,因此,迭代过程不论何时终止,都可以获得一个比初始点好的设计点。 2)若目标函数为凸函数,可行域为凸集,则可保证获得全域最优解。否则,因存在多个局部最优解,当选择的初始点不相同是,可能搜索到不同的局部最优点。为此,常在可行域内选择几个差别较大的初始点分别进行计算,以便从求得的多个局部最优解中选择更好的最优解。 3)要求可行域为有界的非空集,即在有界可行域内存在满足全部约束条件的点,且目标函数有定义。
间接解法有不同的求解策略,其中一种解法的基本思路是将约束优化问题中的约束函数进行特殊的加权处理后,和目标函数结合起来,构成一个新的目标函数,即将原约束优化问题转化成为一个或一系列的无约束优化问题。间接解法有不同的求解策略,其中一种解法的基本思路是将约束优化问题中的约束函数进行特殊的加权处理后,和目标函数结合起来,构成一个新的目标函数,即将原约束优化问题转化成为一个或一系列的无约束优化问题。 ——转换后的新目标函数。
对新函数进行无约束极小化计算,由于在新目标函数中包含了各种约束条件,在求极值的过程中还将改变加权因子的大小。因此可以不断调整设计点,使其逐步逼近约束边界。从而间接地求得原约束问题的最优解。对新函数进行无约束极小化计算,由于在新目标函数中包含了各种约束条件,在求极值的过程中还将改变加权因子的大小。因此可以不断调整设计点,使其逐步逼近约束边界。从而间接地求得原约束问题的最优解。
例5-1求约束优化问题 的最优解。 解 该问题的约束最优解为 用间接解法求解时,可取 ,转换后的新目标函数为 可以用解析法求 即令 ,得到方程组 解此方程组,求得的无约束最优解为:
间接法是在优化过程中得到广泛应用的方法,主要原因有以下个方面:间接法是在优化过程中得到广泛应用的方法,主要原因有以下个方面: 1)由于无约束方法的研究日趋成熟,已经研究出不少有效的无约束最优化方法,使得间接解法有了可靠的基础。 2)可以有效地处理具有等式约束的约束优化问题。 3)间接解法存在的主要问题是:选取加权因子比较困难,加权因子选取不当,不但影响收敛速度和计算精度,甚至会导致计算失败。 求解约束优化问题的方法很多,我们将着重介绍属于直接解法的随机方向法,复合形法、可行方向法、广义简约梯度法,属于间接法的罚函数法和增广乘子法。