最优化方法-一维搜索法
若 k1 k 转(3)。否则转(4)。
• (3)加大探索步长,令 hk1 hk , 同时令 t tk , tk tk1,k k1,
k k 1,转(2).
• (4)反向探索,若 k 0, 转换探索方向,令hk 1/ 4hk , t tk1
转(2);否则,停止迭代,令 a min{t,tk1}, b max{t,tk1}
之一。
综上所述,优化算法的基本迭代过程如下: ① 选定初始点 X 0 ,置 k 0 .
② 按照某种规则确定搜索方向 Pk .
③ 按某种规则确定 t k 使得 f ( X k tk Pk ) f ( X k )
④ 计算 X k 1 X k t k Pk
⑤
判定
X
是否满足终止准则.若满足,则打印
的速度收敛,这才是好的算法.
定义3.2 设由算法A产生的迭代点列 “||·||”的意义下收敛于点 X *,即
{
X
k
}在某种
,若存klim在 ||实X k数 X
*
|| 0
0
及一个与迭代次数
k 无关的
常数 q 0 使得
lim
k
|| ||
X k 1 X Xk X*
* || ||
f ( X 0 ) f ( X1) f ( X k ) f ( X k1)
如果是求一个约束的极小点,则每一次迭代的新 点都应该在约束可行域内,即
X 下图为迭代过程
k
D,k
0,1,2,
(二)收敛速度与计算终止准则
(1)收敛速度
作为一个算法A,能够收敛于问题的最优解当然
是必要的,但光能收敛还不够,还必须能以较快
存在
,且
,则称[t1 t2]是函数(t)
的最优解 的一个搜索区间。
搜索区间及其确定方法
•单峰区间和单峰函数有如下有用的性质: •定理3.1 设 : R1 R1, [a, b] 是的单峰区间,任取
t1, t2 [a, b] 并且 t2 t1 . (1)若有 (t2 ) (t1) ,则 [a, t1 ]是(t) 的单峰区间. (2)若有 (t2 ) (t1) ,则[t2 , b]是(t)的单峰区间.
优点是:它使目标函数值在搜索方向上下降得最多.
• 今后为了简便起见,我们用记号
Z ls(X , P)
3.1
表示从点 X k 出发沿方向 Pk 对目标函数作直线搜索所得 到的极小点是 X k1.
其中l和s分别是Linear search(直线搜索)两词的词首,
在目标函数 f (X )已确定的条件下(3.1)等价于如下两式:
来求解最优化问题,其关键在于如何构造一个搜索方向
Pk Rn 和确定一个步长 tk R1, 使下一迭代点 X k1 处的目 标函数值下降,即 f (Xk1) f (X k )。. 现在我们来讨论,当 搜索方向 Pk 已经确定的情况下,如何来确定步长 tk ? • 步长因子的选取有多种方法,如取步长为常数,但 这样选取的步长并不最好,如何选取最好步长呢?实际 计算通常采用一维搜索来确定最优步长。
搜索区间及其确定方法
• 二、进退探索法
• 下面,介绍一个确定极小值问题的搜索区间的简单方法.这个方 法的思想是:先选定一个初始点 t0 [0, ) 或 ( t0 [0, tmax ]) 和初始步长 h0 0, 然后,沿着轴的正方向探索前进一个步长,得
到新点 t0 3h0.
• 若目标函数在新点处的值是下降了,即 (t0 3h0 ) (t0 )则下
一维搜索法
• 式(4.2)的几何意义是明显的:
• 从某一点 X k出发沿方向 Pk对目 标函数 f (X )作直线搜索,所得到
的极小点为 Xk1.式(4.2)指出,
梯度f (X k1) 必与搜索方向 Pk 正交.又因为 f (X k1)与目标函数 过点 X k1 的等值面 正 f (X ) f (X k1) 交,所以进一步看到,搜索方 向 Pk 与这个等值面在点 处 Xk1 相切(如图所示).
一步就从新点t0 3h0出发加大步长(h0 2h)0 ,再向前探索。
• 若目标函数在新点处的值上升,即(t0 3h0 ) (t0 )则下一步仍
以 t0为出发点以原步长的1/4开始向 t 轴的负方向同样探索。如
果方向正确则加速,当达到目标函数上升的点时,就停止探索, 这时便得到极小值问题的一个搜索区间.
f Z
(X X
t0
P) min t0 P.
f
(X
tP)
min (t ),
一维搜索法
• 下面进一步解释迭代点 X k1 X k tk Pk 的空间位置。容 易证明,若从X k出发,沿Pk方向进步一维搜索得极小点
X k1 X k tk Pk , 则该点X X k1处的梯度方向 f (X k1)与搜索
| f ( X k 1 ) f ( X k ) | f ( X k 1 )
当 | f ( X k 1 ) | 1 时,可用函数相对下降量准则 | f ( X k 1 ) f ( X k ) |
③梯度准则
目标函数在迭代点的梯度已达到充分小,即 f ( X k 1 )
方向 Pk 之间应满足
f (Xk1)T Pk 0
4.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
即
(tk ) f (X k tk Pk ) f (X k ) (0) .
• 由于这种从已知点 X k 出发,沿某一下降的探索方向 Pk 来确定步长 tk 的问题,实质上是单变量函数 (t)关于变
量 t 的一维搜索选取问题,故通常叫做一维搜索.
一维搜索法
• 按这种方法确定的步长 tk又称为最优步长,这种方法的
对于无约束优化问题通常采用的迭代终止准则有以下 几种:
①点距准则
相邻两迭代点之间的距离已达到充分小,即 || X k 1 X k ||
式中 是一个充分小正数,代表计算精度.
②函数下降量准则
相邻两迭代点的函数值下降量已达到充分小.当 | f ( X k1) | 1 时,
可用函数绝对下降量准则
k 1
X k1 和 f ( X k 1 ),停机;否则置 k k 1,转②.
上述算法框图如右图
开始 选定X0 确定P 确定t,使得f (X0+t P)< f (X0) X=X0+t P
X是否满足终 止准则
Y
输出X, f(X)
N
X0=X
结束
搜索区间及其确定方法
• 单峰区间与单峰函数
定义3.4 设 : R1 R1, 闭区间 [a, b] R1, 若存在点 t* [a, b] 使得(t)在 [a, t*]上严格递减,(t)在 [t*, b] 上严格递增,则 称 [a, b] 是函数(t) 的单峰区间, (t) 是 [a, b] 上单峰函 数.
X k 1 X k tk Pk, k 0,1,2,
式中, X k
——前一次已取得的迭代点,在 开始计算时为迭代初始点X0 ;
X k1 ——新的迭代点;
Pk ——第k次迭代计算的搜索方向;
t k ——第k次迭代计算的步长因子.
按照上式进行一系列迭代计算所根据的思想 是所谓的“爬山法”,就是将寻求函数小点(无 约束或约束极小点)的过程比喻为向“山”的顶 峰攀登的过程,始终保持向“高”的方向前进, 直至达到“山顶”。当然“山顶”可以理目标函 数的极大值,也可以理解为极小值,前者称为上 升算法,后者称为下降算法。这两种算法都有一 个共同的特点,就是每前进一步都应该使目标函 数有所改善,同时还要为下一步移动的搜索方向 提供有用的信息。如果是下降算法,则序列迭代 点的目标函数值必须满足下列关系
q
则算法A产生的迭代点列叫做具有 阶收敛速
度,或算法A叫做是 阶收敛的,特别地:
① 当 1, q 0,迭代点列{X k }称为具有线性收敛 速度或算法A称为线性收敛的.
② 当 1 2, q 0,或 1, q 0 时,迭代点列{X k } 叫做具有超线性收敛速度或称算法A是超线性 收敛.
输出 [a, b].
加步探索法 算法的流程 图如图所示
搜索区间及其确定方法
• 另外,从定义3.3还可知,某区间上的单峰函数在该 区间上不一定是连续函数,而凸函数在所给区间上必然 是单峰函数(如左图所示).由定义3.3知,函数的单 峰区间总是相应问题的一个搜索区间(如左图所示), 但反之不然(如右图所示).
搜索区间及其确定方法
定义3.5 设 : R1 R1, 是 (t)在 上的最优解,如果
这一准则对于定义域上的凸函数是完全正确的.若是非凸函数,有 可能导致误把驻点作为最优点。 对于约束优化问题,不同的优化方法有各自的终止准则.
• 定义3.3 当一个算法用于n元正定二次函数求最优 解时,可以从任意初始点出发,至多经过n步迭 代求出最优解,就称此算法具有二次终止性。
• 如果算法具有二次终止性,则认为算法比较好。 • 二次终止性仅仅是判断一个算法优劣的衡量标准
一维搜索法
• 对无约束最优化问题
min f (X )
XRn
当已知迭代点 X k 和下降方向Pk 时,要确定适当的步长 tk使
f ( X k1) f ( X k tk Pk )比 f (X k ) 有所下降,即相当于对于参量 t
的函数
(t) f (X k tPk )