基于MATLAB的鲍威尔法求极值问题
姓名:xxx 学号:xxx
(北京理工大学机械与车辆学院车辆工程,北京 100081)
摘要:无约束优化方法主要有七种,按照求导与否把这些方法分为间接法和直接法。牛顿法的成败与初始点选择有极大关系,其可靠性最差;坐标轮换法、单纯形法和最速下降法对于高维优化问题计算效率很低,有效性差;由于编制变尺度法程序复杂,其简便性不足。综合考虑后,鲍威尔法、共轭梯度法具有较好的综合性能。本文首先对鲍威尔法的原理进行阐述,根据其迭代过程给出流程图,并编写MATLAB程序。最后用此MATLAB程序求解实际的极值问题,并对求解结果进行简要分析。
1.鲍威尔法的基本思想
1.1其他优化方法对鲍威尔法形成的影响
通过对鲍威尔法的学习,可以很明显看出来其迭代思想中汲取了其他几种优化方法的核心思
想。为了更全面、更深入的学习鲍威尔法,很有必要对其他有影响的优化思想进行学习和梳理。
由最基本的数学基础知识可知,梯度方向是函数增加最快的方向,负梯度方向是函数下降最快的方向,于是,利用这个下降最快方向产生了最速下降法。每次迭代都沿着负梯度方向进行一维搜索,直到满足精度要求为止。其特点是相邻两个搜索方向互相正交,所以很明显的一个现象就是刚开始搜索步长比较大,愈靠近极值点其步长愈小,收敛速度愈慢,特别当二维二次目标函数的等值线是较扁的椭圆时,迭代速度更慢。这时,倘若目标函数是等值线长、短轴都平行于坐标轴的椭圆形,则通过坐标轮换法可以很高效的解决问题。通过两次分别沿坐标轴进行一维搜索,便可达到极值点。但对于目标函数的等值线椭圆的长、短轴倾斜于坐标轴时,坐标轮换法的搜索效率也显得极低。抛开这两种特殊情况,对于一般形态的目标函数,如果在某些明显可以直达最优点的情况下(一般为靠近极值点区域),迭代过程完全可以不沿负梯度方向搜索,取而代之的是到直达最优点的方向,一步到位。但这样的直达方向应该如何去呢?共轭梯度法由此产生。其基本原理是:任意形式的目标函数在极值点附近的特性都近似一个二次函数,其等值线在极值点附近为近似的同心椭圆簇,而同心椭圆簇有一个特性便是任意两条平行线与椭圆簇切点的连线必通过
椭圆的中心。而这个连线方向便是所寻的直达方向。通过对其迭代过程的分析,很明显可以看出需大量的求目标函数的一阶和二阶偏导数。对于一些实际的机械优化问题,目标函数可能复杂到难以求取其偏导数或者根本就不存在,求取极值问题就显得无从下手。所以,一个效率高的、适应性强的优化方法急需出现,而鲍威尔法便是这么一种综合的方法。
1964年,鲍威尔提出了对共轭方向法的改进方法——鲍威尔共轭方向法。一维搜索法、共轭方向和坐标轮换法的思想在鲍威尔法中体现的淋漓尽致。下面就对鲍威尔法的基本原理进行阐述。
1.2鲍威尔法的数学原理
通过前文可知,鲍威尔法也算一种共轭方向法,但与共轭梯度法相比,不需要对函数求导,而是在迭代过程中逐次构造出用于搜索的共轭方法。
1).对于二维无约束优化问题,采用鲍威尔法求解的迭代过程如图1-1所示。
任选一初始点,令,按照坐标轮换法,选择两个单位向量和,以此作为搜索方向进行第一轮搜索得到点。
2).用和的连线方向构成新的搜索方向。从点出发,沿方向一维搜索得到点,作为下一轮搜索的初始点。
3).从出发,依次沿和方向进行一维搜索,得到点和点。
4).用点和点的连线方向构成新的搜索方向。和matlab求导是从两个不同点出发沿相同方向搜索得到的,所以与和的连线方向互为共轭方向。从点出发,沿方向一维搜索得到点。因是从点出发依次沿两个互为共轭的方向和进行两次一维搜索得到的,所以就是该二维二次函数的极小点。
图1-1 二维情况下鲍威尔法的迭代过程
将上述二维优化问题扩展到n维的情况,得到鲍威尔法的基本迭代过程:从初始点出发依次
沿n个线性无关的方向组进行一维搜索得到一个终点,沿初始点和终点的连线方向一维搜索得到下一轮迭代的初始点,并以这个方向作为下一轮迭代方向组中的最后一个方向,同时去掉第一个方向,组成的新方向组进行第一轮迭代。若目标函数是个n维的正定二次函数,则经过这样的n轮迭代以后,就可以收敛到最优点。
但是这种方法有一个缺陷,通过这种方法产生的n个新方向,有可能是线性相关或近似线性相关的。因为新方向,如果其中出现了,则就可以表示为,,…,的线性组合,这样用新方向替换后,新的坐标轮换方向组就成为线性相关的一组向量,以后的各轮迭代计算将在维数下降了的空间内进行,这将导致算法收敛不到真正的最优点。
针对此现象,通过适当改进,产生了新的鲍威尔法。
1.3改进的鲍威尔法
发布评论