第4章 一维搜索法
- 格式:ppt
- 大小:1.30 MB
- 文档页数:44
无约束优化:不对定义域或值域做任何限制的情况下,求解目标函数的最小值。
这是因为实际应用中,许多情形被抽象为函数形式后均为凸函数,对于凸函数来说局部最小值点即为全局最小值点,因此只要能求得这类函数的一个最小值点,该点一定为全局最小值。
(直接法:又称数值方法,它只需计算目标函数驻点的函数数值,而不是求其倒数,如坐标轮换法,单纯型法等。
间接法:又称解析法,是应用数学极值理论的解析方法。
首先计算出目标函数的一阶或一阶、二阶导数,然后根据梯度及海赛矩阵提供的信息,构造何种算法,从而间接地求出目标函数的最优解,如牛顿法、最速下降法共轭梯度法及变尺度法。
)在优化算法中保证整体收敛的重要方法就是线搜索法与信赖域法,这两种算法既相似又有所不同。
根据不同的线搜索准则就延伸出不同的线搜索算法,譬如比较常见和经典的最速下降法,牛顿法,拟牛顿法以及共辄梯度法等。
一维搜索又称线性搜索(Line Search),就是指单变量函数的最优化,它是多变量函数最优化的基础,是求解无约束非线性规划问题的基本方法之一。
一维搜索技术既可独立的用于求解单变量最优化问题,同时又是求解多变量最优化问题常用的手段,虽然求解单变量最优化问题相对比较简单,但其中也贯穿了求解最优化问题的基本思想。
由于一维搜索的使用频率较高,因此努力提高求解单变量问题算法的计算效率具有重要的实际意义。
在多变量函数的最优化中,迭代格式X k+1=X k+a k d k其关键就是构造搜索方向d k和步长因子a k设Φ(a)=f(x k+ad k)这样从凡出发,沿搜索方向d k,确定步长因子a k,使Φ(a)<Φ(0)的问题就是关于步长因子a的一维搜索问题。
其主要结构可作如下概括:首先确定包含问题最优解的搜索区间,然后采用某种分割技术或插值方法缩小这个区间,进行搜索求解。
一维搜索通常分为精确的和不精确的两类。
如果求得a k使目标函数沿方向d k达到极小,即使得f (x k+a k d k)=min f (x k+ ad k) ( a>0)则称这样的一维搜索为最优一维搜索,或精确一维搜索,a k叫最优步长因子;如果选取a k使目标函数f得到可接受的下降量,即使得下降量f (x k)一f (x k+a k d k)>0是用户可接受的,则称这样的一维搜索为近似一维搜索,或不精确一维搜索,或可接受一维搜索。
【最新整理,下载后即可编辑】第四章 一维搜索法由第一章关于求解最优化问题概述中我们知道,从已知迭代点n k R X ∈出发按照基本迭代公式k k k k P t X X +=+1来求解最优化问题,其关键在于如何构造一个搜索方向n k R P ∈和确定一个步长1R t k ∈,使下一迭代点1+k X 处的目标函数值下降,即)()(1k k X f X f <+.现在我们来讨论,当搜索方向k P 已经确定的情况下,如何来确定步长k t ?步长因子的选取有多种方法,如取步长为常数,但这样选取的步长并不最好,如何选取最好步长呢?实际计算通常采用一维搜索来确定最优步长. 对无约束最优化问题)(min X f nR X ∈,当已知迭代点kX 和下降方向k P 时,要确定适当的步长k t 使=+)(1k X f)(k k k P t X f +比)(k X f 有所下降,即相当于对于参变量t 的函数)()(k k tP X f t +=ϕ要在区间],0[∞+上选取k t t =使)()(1k k X f X f <+,即)0()()()(ϕϕ=<+=k k k k k X f P t X f t .由于这种从已知点k X 出发,沿某一下降的探索方向k P 来确定步长k t 的问题,实质上是单变量函数()t ϕ关于变量t 的一维搜索选取问题,故通常叫做一维搜索.按这种方法确定的步长k t 又称为最优步长,这种方法的优点是,它使目标函数值在搜索方向上下降得最多.今后为了简便起见,我们用记号)(1k k k P X ls X ,=+ (4.1)表示从点k X 出发沿k P 方向对目标函数)(X f 作直线搜索所得到的极小点是1+k X .其中l 和s 分别是Linear search (直线搜索)两词的词首.在目标函数)(X f 已确定的条件下(4.1)等价于如下两式:⎪⎩⎪⎨⎧+==+=++kk k k tk k t k k k P t X X t tP X f P t X f 1)(min )(min )(,ϕ 下面进一步解释迭代点k k k k P t X X +=+1的空间位置.容易证明,若从k X 出发,沿k P 方向进行一维搜索得极小点k k k k P t X X +=+1,则该点1+=k X X 处的梯度方向)(1+∇k X f 与搜索方向k P 之间应满足0)(1=∇+k T k P X f .(4.2)事实上,设)()(k k tP X f t +=ϕ,对t 求导有k T k k P tP X f t )()(+∇='ϕ.令0)('=t ϕ,即0)(=+∇k T k k P tP X f ,所以0)(1=∇+k T k P X f .式(4.2)的几何意义是明显的.从某一点k X 出发沿k P 方向对目标函数)(X f 作直线搜索,所得到的极小点为1+k X .式(4.2)指出,梯度)(1+∇k X f 必与搜索方向k P 正交.又因为)(1+∇k X f 与目标函数过点1+k X 的等值面)()(1+=k X f X f 正交,所以进一步看到,搜索方向k P 与这个等值面在点1+k X 处相切(如图4.1所示).§4.1 搜索区间及其确定方法一、搜索区间设一维最优化问题为)(min max0t t t ϕ≤≤. (4.3)为了求解问题(4.3),我们引入如下的搜索区间概念.定义4.1 设])0[)(0[max **11t t t R R ,,,:∈∞+∈→ϕ,并且 )(min )(max0*t t t t ϕϕ≤≤=,若存在闭区间])0[])([0[][max t b a b a ,,,,⊂∞+⊂使][*b a t ,∈,则称][b a ,是问题(4.3)的搜索区间.简言之,一个一维最优化问题的搜索区间,就是包含该问题最优解的一个闭区间.通常,在进行一维搜索时,一般要先确定出问题的一个搜索区间,然后在此区间中进行搜索求解. 二、加步探索法下面,介绍一个确定问题(4.3)的搜索区间的简单方法.这个方法的思想是:先选定一个初始点])0[)(0[max 00t t t ,或,∈⊂∞+∈和初始步长00>h .然后,沿着t 轴的正方向探索前进一个步长,得到新点00h t +.若目标函数在新点处的值是下降了,即)()(000t h t ϕϕ<+,则下一步就从新点00h t +出发加大步长,再向前探索.若目标函数在新点处的 函数值上升,即)()(000t h t ϕϕ>+,图4.1则下一步仍以0t 为出发点以原步长开始向t 轴的负方向同样探索.当达到目标函数上升的点时,就停止探索,这时便得到问题(4.3)的一个搜索区间.这种以加大步长进行探索来寻找探索区间的方法叫做加步探索法.加步探索法算法的计算步骤:(1) 选取初始数据.选取初始点])0[)(0[max 00t t t ,或,∈⊂∞+∈,计算)(00t ϕϕ=.给出初始步长00>h ,加步系数1α>,令0=k . (2) 比较目标函数值.令k k k h t t +=+1,计算)(11++=k k t ϕϕ,若k k ϕϕ<+1,转(3).否则转(4).(3)加大探索步长.令k k h h α=+1,同时,令k t t =,1+=k k t t ,1k k ϕϕ+=,1k k =+,转(2).(4) 反向探索.若0=k ,转换探索方向,令1,+=-=k k k t t h h ,转(2).否则,停止迭代,令11min{}max{}k k a t t b t t ++==,,,输出][b a ,. 加步探索法算法的流程图如图4.2所示。
一维搜索方法:(方法比较)“成功—失败”法、二分法、0.618法(黄金分割法)、牛顿法、二次插值法、D.S.C法、Powell法、D.S.C—Powell组合法。
1、“成功—失败”法:主要思想:从一点出发,按一定的步长搜索新点,若成功,加大步长继续搜索,否则,缩短步长小步后退。
此方法可以求最优解所在区间,称为“搜索区间”。
2、二分法:主要思想:区间[a,b]的中间值x0,判断f(x)的导数在三个点处的值,舍去一部分区间再求f(x)的极小值。
3、0.618法:等比例收缩原则,每次留下来的区间长度是上次留下来的区间长度的w倍。
以及对称原则、去坏留好原则。
W=0.6184、牛顿法:基本思想:在极小值点附近用目标函数的二阶泰勒多项式近似代替目标函数,从而求得目标函数的极小值点的近似值。
5、二次插值法:牛顿法是在x k附近的目标函数用泰勒多项式近似代替,而此法是将f(x)用二次插值多项式p(x)近似代替。
把p(x)的极小值点作为f(x)极小值点的代替,从来求得函数的极小值。
6、D.S.C法:主要思想:利用成功—失败法寻找靠近极小值点的三点,进行二次插值。
优点是:收敛速度快,且不要求函数可微。
7、Powell法:基本思想:在搜索方向开始得到三点x0,x1,x2后,作二次插值,求得最小值x,在四点中去坏留好,在余下的三点中再作二次插值……8、D.S.C—Powell组合法:几种方法比较:D.S.C—Powell组合法是非常好的一种方法,它比任何一个单个方法都好D.S.C—Powell组合法与0.618法比较:D.S.C—Powell法中函数值的计算要比黄金分割法少得多,一般来讲它优于黄金分割法。
但:D.S.C—Powell法不一定能收敛到最优解。
最速下降法与修正牛顿法:对于正定二次函数,牛顿法一步可以求得最优解,对于非二次函数,牛顿法并不能保证有限次求得其最优解,但由于目标函数在极小值的附近近似于二次函数,故当初始点靠近极小值时,牛顿法收敛的速度比较快。