最优化方法_chapter3 一维搜索算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例 用图解法求解二维最优化问题
min[(x1 2)2 (x2 2)2 ]
ቤተ መጻሕፍቲ ባይዱs.
t.
x12 x1
x22 0,x2
1
0
解: 如图,目标函数的等高线是以[-2,-2]T为圆心 的同心圆,并且这族同心圆的外圈比内圈的目 标函数值大.因此该问题为在约束集中找一点, 使其落在半径最小的那个同心圆上.
X k1 X k tk Pk
来求解最优化问题,其关键在于如何构造一个搜索方 向Pk Rn和确定一个步长tk R1, 使下一迭代点 X k1 处的目标 函数值下降,即 f ( X k1) f ( X k ). 现在我们来讨论,当搜索 方向Pk已经确定的情况下,如何来确定步长t k?
定义 设由算法A产生的迭代点列{X
“||·||”的意义下收敛于点X*,即
lim
k
||
Xk }k在 某X * 种|| 0
,
若存在实数 0 及一个与迭代次数 k 无关的常
数 q 0 使得
lim
k
|| ||
X k 1 X Xk X*
* || ||
q
则算法A产生的迭代点列叫做具有 阶收敛速度,
上为一条直线,不等式约束在坐标平面上为 一半平面; • 当约束函数为非线性时,等式约束条件在坐 标平面上为一条曲线,不等式约束把坐标平 面分成两部分当中的一部分.
综上所述,当把约束条件中的每一个等 式所确定的曲线,以及每一个不等式所确定 的部分在坐标平面上画出之后,它们相交的 公共部分即为约束集合D.
t 的函数 (t) f (X k tPk ) 要在区间 [0, ]上选取 t tk 使
f (X k1) f (X k ) 即 (tk ) f (X k tk Pk ) f (X k ) (0) . 由于这种从已知点Xk出发,沿某一下降的探索方向Pk来
确定步长tk的问题,实质上是单变量函数φ(t)关于变量t的一 维搜索选取问题,故通常叫做一维搜索.
该定理说明,经过函数值的比较可以把单谷区 间缩短为一个较小的单谷区间.换句话说利用这个 定理可以把搜索区间无限缩小,从而求到极小点.
以下介绍的几种一维搜索方法都是利用这个定 理通过不断地缩短搜索区间的长度,来求得一维最 优化问题的近似最优解.
一维搜索问题引入
由求解最优化问题迭代基本过程中我们知道,从已知 迭代点X k Rn出发按照基本迭代格式:
X k ——前一次已取得的迭代点,在
开始计算时为迭代初始点 X 0 ; X k1 ——新的迭代点;
Pk ——第k次迭代计算的搜索方向;
t k ——第k次迭代计算的步长因子.
1 瞎子爬山 按照上式进行一系列迭代计算所根据的
思想是所谓的“爬山法”,就是将寻求函数 极小点(无约束或约束极小点)的过程比喻 为向“山”的顶峰攀登的过程,始终保持向 “高”的方向前进,直至达到“山顶”.当 然“山顶”可以理解为目标函数的极大值, 也可以理解为极小值,前者称为上升算法, 后者称为下降算法.这两种算法都有一个共 同的特点,就是每前进一步都应该使目标函 数有所改善,同时还要为下一步移动的搜索 方向提供有用的信息.如果是下降算法,则 序列迭代点的目标函数值必须满足下列关系
或算法A叫做是 阶收敛的,特别地 :
① 当 1, q 0,迭代点列{X k }称为具有线性收敛 速度或算法A称为线性收敛的.
② 当 1 2, q 0 ,或 1, q 0 时,迭代点列 {X k } 叫做具有超线性收敛速度或称算法A是超线性 收敛.
③ 当 2时,迭代点列{X k }叫做具有二阶收敛速 度或算法A是二阶收敛的.
另外,某区间上的单谷函数在该区间上不一定 是连续函数(如左图所示),而凸函数在所给区间 上必然是单谷函数.函数的单谷区间总是相应问题 的一个搜索区间(如左图所示),但反之不然(如 右图所示).
单谷区间和单谷函数有如下性质: 定理 设φ:R1→R1是[a,b]的单谷区间,任取t1,t2∈[a,b] 并且t2<t1. (1)若有(t2 ) (t1),则[a, t1] 是(t) 的单谷区间. (2)若有(t2 ) (t1),则[t2 , b]是(t) 的单谷区间.
步长因子的选取有多种方法,如取步长为常数,但 这样选取的步长并不最好,如何选取最好步长呢?实际计 算通常采用一维搜索来确定最优步长.
一维搜索问题
对无约束最优化问题
min f (X )
XRn
当已知迭代点X k 和下降方向 Pk 时要确定适当的步长t k 使 f ( X k1) f ( X k tk Pk )比 f ( X k )有所下降,即相当于对于参量
由于以后要介绍的一些维搜索方法,主要适用于上 述一维最优化问题在搜索区间中只有唯一的最优解的情 况,因此我们给出单谷区间与单谷函数概念.
定义 设 : R1 R1, 闭区间[a, b] R1,若存在点 t* [a, b] 使得(t)在 [a, t*]上严格递减,(t)在 [t*, b]上严格递增,则称
对于无约束优化问题通常采用的迭代终 止准则有以下几种:
①点距准则 相邻两迭代点之间的距离已达到充分小, 即:
|| X k1 X k ||
其中 是一个充分小正数,代表计算精度.
②函数下降量准则 相邻两迭代点的函数值下降量已达到充分小. 函数下降量准则(相对下降量/绝对下降量)
| f ( X k1 ) f ( X k ) |
3.3 搜索区间的确定
一维最优化问题为 min (t) 0t tmax
为了求解上述一维最优化问题,我们引入如下的搜索 区间概念.
•
定义 设 : R1 R1, t 若存在闭区间 [a,
* [0,
b] [0,
)(t* [0,
)([a, b]
tmax ])且(t
[0, tmax])
例 在坐标平面上画出约束集合
D {(x1,x2 )T | x12 x22 1,x1 0,x2 0}
解: 满足的区域为以原点为圆心,半径为1 的圆;满足的区域为第一象限的扇形.
2 等高线
我们知道t=f(x1,x2)在三维空间中表示一张曲 面, t=c (其中c为常数)在三维空间中表示平行于
标函数 f (X )作直线搜索,所得到
的极小点为Xk1 .式(*)指出,
梯度 f (X k1) 必与搜索方向 Pk 正交.又因为 f (X k1)与目标函数 过点 X k1 的等值面 f (X ) f (X k1) 正 交,所以进一步看到,搜索方 向Pk与这个等值面在点Xk+1处相 切(如图所示).
问题的最优解为:X * [x1,x2 ]T [0,0]T
二、最优化问题的迭代解法
最优化问题的迭代算法是指:从某一选定 的初始点出发,根据目标函数、约束函数在该 点的某些信息,确定本次迭代的一个搜索方向 和适当的步长,从而到达一个新点,用式子表示 即为:
X k1 X k tk Pk, k 0,1,2,...
事实上,设(t) f ( X k tPk ), 对t求导有
(t) f ( X k tPk )T Pk
令 '(t) 0, 即 f (X k tPk )T Pk 0 所以 f (X k1)T Pk 0
f
(
X
)T
k 1
Pk
0
的几何解释
从某一点 X k出发沿方向 Pk对目
*)
使t
min (t)
0t tmax
* [a, b],
则称 [a, b] 是一维最优化问题的搜索区间.
简言之,一个一维最优化问题的搜索区间,就是包含该
•等高线的形状完全 由曲面的形状所决定; 反之,由等高线的形 状也可以推测出曲面 的形状.
例 在坐标平面 x1,x2上画出目标函数 f (x1,x2) x12 x22 的等高线.
解: 因为当x1,x2取1,2,3时,曲线表示是以原点 为圆心,半径为1,2,3的圆.因此等高线是一族 以原点为圆心的同心圆.
插值法
3.1 最优化算法概述 一、二维最优化问题的图解法
二维最优化问题为:
min f (x1,x2 )
s. t.
gi (x1,x2 ) 0, i 1,2,...,l hj (x1,x2 ) 0, j 1,2,...,m
1 约束集合 • 当约束函数为线性时,等式约束在坐标平面
4 迭代基本过程
综上所述,优化算法的基本迭代过程如下:
① 选定初始点 X 0 ,置 k 0 . ② 按照某种规则确定搜索方向 Pk . ③ 按某种规则确定 tk 使得 f (X k tk Pk ) f (X k ) ④ 计算 X k1 X k tk Pk ⑤ 判定X k1是否满足停机准则.若满足,则打印
第三章 一维搜索算法
3.1 最优化算法概述 3.2 单峰函数及其性质 3.3 搜索区间的确定 3.4 黄金分割法 3.5 两分法 3.6 牛顿切线法 3.7 插值法
二维优化
图解法
约束集
一
维 搜
最优化问题
索
一维搜索
迭代法 进退法
等高线
瞎子爬山
收敛速度& 停机准则
黄金分割法 二分法
迭代法 基本过程
牛顿切线法
一般认为,具有超线性收敛或二阶收敛 的算法是较快速的算法.
3 停机准则
用迭代方法寻优时,其迭代过程总不能无限 制地进行下去,那么什么时候截断这种迭代呢? 这就是迭代什么时候终止的问题.
从理论上说,当然希望最终迭代点到达理论 极小点,或者使最终迭代点与理论极小点之间的 距离足够小时才终止迭代.但是这在实际上是办 不到的.因为对于一个待求的优化问题,其理论 极小点在哪里并不知道.所知道的只是通过迭代 计算获得的迭代点列,因此只能从点列所提供的 信息来判断是否应该终止迭代.
③梯度准则
目标函数在迭代点的梯度已达到充分小.
f ( X k1 )
这一准则对于定义域上的凸函数是完全正确的. 若是非凸函数,有可能导致误把驻点作为最优点.
定义: 满足f (X *) 0 的点称为驻点.(p14)
梯度为0的向量的点可能是局部最优点, 需要hessen矩阵进一步判定;凸函数的驻点必 是全局最优点。
Xk1 和 f ( X k1 ),停机;否则置 k k 1,转②.
开始 选定X0 确定P 确定t,使得f (X0+t P)< f (X0) X=X0+t P
X是否满足终止准则
Y
N
X0=X
输出X, f(X) 结束
3.2 单谷(峰)函数及其性质
设一维最优化问题为:
min (t)
0t tmax
f (X0 ) f (X1) ... f (X k ) f ( X k1)
如果是求一个约束的极小点,则每一次 迭代的新点都应该在约束可行域内,即
Xk D,k 0,1,2,...
下图为迭代过程
2 收敛速度
作为一个算法能够收敛于问题的最优解当然 是必要的,但光能收敛还不够,还必须能以较快 的速度收敛,这才是好的算法.
x1,x2平面的一个平面,这个平面上任何一点的高 度都等于常数c.
在三维空间中曲面t=f(x1,x2)与平面t=c有一 条交线L.交线在平面上的投影曲线是L’,可见曲
线上的点到平面[x1,x2]T的高度都等于常数c,也 即曲线上的函数值都具有相同的值.
•当常数取不同的值 时,重复上面的过程, 在平面上得到一族曲 线—等高线.
一维搜索问题几何解释
下面进一步解释迭代点X k1 X k tk Pk 的空间位置.
小点容X k易1 证X k明 ,tk Pk若, 则从该X k点出X发,X k沿1处Pk的方梯向度进方步向一维f 搜(X k索1)得与极搜 索方向Pk 之间应满足
f ( X k1)T Pk 0 (*)
[a, b]是函数(t)的单谷区间, (t)是 [a, b] 上单谷函数.
一个区间是某函数的单谷区间意味着,在该区 间中函数只有一个“凹谷”(极小值).例如,左图中 的[a,b]是φ(t)的单谷区间,也即φ(t)是[a,b]上的单谷 φ(t)函数.右图中的φ(t)不是[a,b]的单谷区间,即φ(t)不 是[a,b]上的单谷函数.