变尺度法及鲍威尔法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
k 1 X0
X n k X n 1
k
k 当f n k f n 1时 k 当f n k f n 1时
09:18:402015-7-9
8
8
(8)进行收敛判断: 若满足
( k 1) (k ) X0 X0 ( k 1) (k ) f (X0 ) f (X0 ) 1 ( k 1) f (X0 )
(10)检验鲍威尔条件,原方向组是否需要替换:
09:18:402015-7-9
7
7
若不满足判别条件:
) 由 X n( k ) 出发沿方向 S ( k ) 进行一维搜索,求出该方向的极小点 X ( k, ( k 1) ) X ( k; 并以 X ( k )作为k+1轮迭代的初始点,即令 X 0 (k ) 然后去掉方向 S m ,而将方向 S ( k ) 作为k+1轮迭代的最末一个方向, 即第k+1轮的搜索方向为: (k )
k X k Xn kSk
(6)检验精度,若 续进行下一步。
,则结束迭代,得
;否则继
09:18:402015-7-9
6
6
) X 0( k ) 的映射点 (7)沿共轭方向 S ( k 计算
) (k ) (k ) X n(k 2 X X 1 n 0
(8)计算第k 轮中各相邻极小点目标函数的差值,并找出其中的最 大差值及其相应的方向:
0.5 2 1.5 =0.0001 0.25 2 1.75
故需要进行下一次迭代
2.4.4 鲍威尔法
6)计算
1 F1 f ( X 0 ) 8, (1) F2 f ( X 2 ) 0.5605,
F3 f ( X )=2.75
(1)百度文库3
7)进行条件判断,条件成立,则需要按照原方向进行搜索, 由于,F2<F3,故第二轮迭代的初始点为
f0
S
k
2 fn
k
或
* X 可结束迭代计算,输出最优解:
* * f f (X )
否则,置 k k 1 ,转入下一轮继续进行循环迭代。 修正鲍威尔法的计算框图如图4-c所示。
09:18:422015-7-9
9
9
2.4.4 鲍威尔法
1、试用修正鲍威尔算法从
X (0) [2, 2]T
开始求目标函数
k) (k ) (k ) X i( k ) X i( 1 i Si
(i 1, 2,
, n)
(k ) (k ) ) (4)连接 X 0 、 X n ,构成新的共轭方向 S ( k,即
(k ) (k ) S (k ) X n X0
k (5)沿 S ( k )方向一维搜索求得步长 ,得
则X
(1) 2
0.5 0.25
解:第一次迭代 4)连接 X 0(1) , X 2(1) 构成共轭方向
2 0.5 1.5 (1) (1) S (1) X 2 X0 2 0.25 1.75
沿着 S (1) 计算 X 0(1) 的映射点
S1 S1( k 1) (k ) ( k 1) S2 S2 (k ) S m 1 (k ) S m 1 (k ) Sn (k ) S ( k 1) n S
k f k f X k f X k max f X k f X k fm -1 m m-1 m i 1 i
1≤i≤n,为第环方向组中沿各方向一维搜索所得的函数值下降最大者。
09:18:402015-7-9
33
两种情况:
1 0 (1) 1 (1) 2
(1) 1
f ( X ) f ( X ) 4.5,
(1) 0 (1) 1
(1) (1) (1) f ( X ) f ( X 2 1 2 ) 2.9375
(1) 所以 (1) m 1 4.5
S
(1) m
S
(1) 1
1 e1 0
X3
(1)
2X
(1) 2
X
(1) 0
1 1.5
5)计算本轮相邻二点函数值的下降量,并求其最大差值及 其相应的方向
f ( X ) 8, f ( X ) 3.5, f ( X ) 0.5625
1 0 (1) 1 (1) 2
2.4.4 鲍威尔法
f ( X ) 8, f ( X ) 3.5, f ( X ) 0.5625
若共轭方向不好,则不用它作为下一轮的迭代方向, 而仍采用原来的一组迭代方向; 若共轭方向好, 则可用它替换前轮迭代中使目标函数值下降最多的一个方向, 而不一定是替换第一个迭代方向。 这样得到的方向组,其收敛性更好。
09:18:402015-7-9 2 2
修正鲍威尔法对于是否用新的方向来替换原方向组的某一方向 的判别条件为:
f n 1 / 2
k
(2) (1) X0 X2
(2) 1
1 (2) 0 e1 , S2 e2 0 1
两种情况:
09:18:422015-7-9
16 16
2.4.4 鲍威尔法
8)进行终止迭代判定
X
(2) 0
X
(1) 0
2 代入函数 f ( X ) 2 x12 x2 x1 x2,得
g(1 ) 2 2+
1
(1) 2 1
4 2 2+
(1) 1
,
2.4.4 鲍威尔法
解:第一次迭代
求导,令
dg 11 d1
1
0得
(1) 1
(1) 1
= -1.5 即为最优步长
0.5 则X = 2
从
X1(1)
出发,沿
(1) 2
(1) S2
方向进行一维最优搜索
(1) 2 (1) 2
X
X
(1) 1
S
0.5 0.5 (1) 0 + 2 = (1) 2 1 2+ 2
(1) 同理,得最优步长为 2 -1.75
在第 k 轮搜索中,根据下述条件式是否满足分两种情况来处理:
k f0 k 2 f n k f n 1/ 2
k 为第k环的起始点函数值; f 0 k f X 0
(4-43)
k 为第k环的沿基本方向组依次搜索后的终点函数值; f n k f X n k k k k k k k f n 1 f X n 1 为 X 0 对 X n 映射点函数值, X n 1 2 X n X 0
鲍威尔法为啥 这么 难?!!!!
2. 修正鲍威尔法
改进的鲍威尔法放弃了原算法中不加分析地用新形成的方向 S ( k ) 替换上一轮搜索方向组中的第一个方向的作法 。
该算法规定:
在每一轮迭代完成产生共轭方向 ( k ) 后, S 在组成新的方向组时不一律舍去上一轮的第一个方向 S ( k ) , 1 而是先对共轭方向的好坏进行判别, 检验它是否与其他方向线性相关或接近线性相关。
2.4.4 鲍威尔法
解:第一次迭代
(1) 3)从 X 0 出发,先从 S1(1) 方向进行一维最优搜索
(1) X1(1) X 0 1(1) S1(1)
(1) 1 2+ 2 (1) 1 + 1 = 2 0 2
即x1 2+1(1) , x2 2,
2 f ( X ) 2x12 x2 x1 x2 的最优解,并用表格列出
各次的搜索方向。 解:第一次迭代
1)初始点为X 0(1) X (0) , 0.0001 2
2)取搜索方向为2个坐标轴的向量
S
(1) 1
2
1 (1) 0 e1 , S2 e2 0 1
若上述判别条件满足,则进人第k+1轮迭代时,仍采用第k轮迭代的方 向,初始点取 ( k 1) (k )
S1 S1 ( k 1) (k ) S 2 S2 ( k 1) (k ) Sn Sn
09:18:402015-7-9
4
4
修正的鲍威尔法的迭代计算步骤如下:
(1)给定初始点 X(o) 和收敛精度ε >0; (2)取 n 个坐标轴的单位向量 ei ( i =1,2,…,n )为初始搜索方向 Si(k) = ei ,置 k=1 ( k为迭代轮数) ; (k ) (3)从 X 0 出发,依次沿 Si( k ) (i 1, 2, , n)进行 n 次一维搜索, 得到 n 个一维极小点
(mk ) = max{ f ( X i(k1) ) f ( X i( k ) )} (i 1,2, , n)
1 m n (k ) (k ) (k ) Sm Xm 1 X m
(9)计算第k 轮初始点、终点和映射点的函数值
(k ) f0(k ) f ( X 0 ) (k ) fn( k ) f ( X n ) (k ) fn(k1) f ( X n 1 )
X n k X n 1
k
k 当f n k f n 1时 k 当f n k f n 1时
09:18:402015-7-9
8
8
(8)进行收敛判断: 若满足
( k 1) (k ) X0 X0 ( k 1) (k ) f (X0 ) f (X0 ) 1 ( k 1) f (X0 )
(10)检验鲍威尔条件,原方向组是否需要替换:
09:18:402015-7-9
7
7
若不满足判别条件:
) 由 X n( k ) 出发沿方向 S ( k ) 进行一维搜索,求出该方向的极小点 X ( k, ( k 1) ) X ( k; 并以 X ( k )作为k+1轮迭代的初始点,即令 X 0 (k ) 然后去掉方向 S m ,而将方向 S ( k ) 作为k+1轮迭代的最末一个方向, 即第k+1轮的搜索方向为: (k )
k X k Xn kSk
(6)检验精度,若 续进行下一步。
,则结束迭代,得
;否则继
09:18:402015-7-9
6
6
) X 0( k ) 的映射点 (7)沿共轭方向 S ( k 计算
) (k ) (k ) X n(k 2 X X 1 n 0
(8)计算第k 轮中各相邻极小点目标函数的差值,并找出其中的最 大差值及其相应的方向:
0.5 2 1.5 =0.0001 0.25 2 1.75
故需要进行下一次迭代
2.4.4 鲍威尔法
6)计算
1 F1 f ( X 0 ) 8, (1) F2 f ( X 2 ) 0.5605,
F3 f ( X )=2.75
(1)百度文库3
7)进行条件判断,条件成立,则需要按照原方向进行搜索, 由于,F2<F3,故第二轮迭代的初始点为
f0
S
k
2 fn
k
或
* X 可结束迭代计算,输出最优解:
* * f f (X )
否则,置 k k 1 ,转入下一轮继续进行循环迭代。 修正鲍威尔法的计算框图如图4-c所示。
09:18:422015-7-9
9
9
2.4.4 鲍威尔法
1、试用修正鲍威尔算法从
X (0) [2, 2]T
开始求目标函数
k) (k ) (k ) X i( k ) X i( 1 i Si
(i 1, 2,
, n)
(k ) (k ) ) (4)连接 X 0 、 X n ,构成新的共轭方向 S ( k,即
(k ) (k ) S (k ) X n X0
k (5)沿 S ( k )方向一维搜索求得步长 ,得
则X
(1) 2
0.5 0.25
解:第一次迭代 4)连接 X 0(1) , X 2(1) 构成共轭方向
2 0.5 1.5 (1) (1) S (1) X 2 X0 2 0.25 1.75
沿着 S (1) 计算 X 0(1) 的映射点
S1 S1( k 1) (k ) ( k 1) S2 S2 (k ) S m 1 (k ) S m 1 (k ) Sn (k ) S ( k 1) n S
k f k f X k f X k max f X k f X k fm -1 m m-1 m i 1 i
1≤i≤n,为第环方向组中沿各方向一维搜索所得的函数值下降最大者。
09:18:402015-7-9
33
两种情况:
1 0 (1) 1 (1) 2
(1) 1
f ( X ) f ( X ) 4.5,
(1) 0 (1) 1
(1) (1) (1) f ( X ) f ( X 2 1 2 ) 2.9375
(1) 所以 (1) m 1 4.5
S
(1) m
S
(1) 1
1 e1 0
X3
(1)
2X
(1) 2
X
(1) 0
1 1.5
5)计算本轮相邻二点函数值的下降量,并求其最大差值及 其相应的方向
f ( X ) 8, f ( X ) 3.5, f ( X ) 0.5625
1 0 (1) 1 (1) 2
2.4.4 鲍威尔法
f ( X ) 8, f ( X ) 3.5, f ( X ) 0.5625
若共轭方向不好,则不用它作为下一轮的迭代方向, 而仍采用原来的一组迭代方向; 若共轭方向好, 则可用它替换前轮迭代中使目标函数值下降最多的一个方向, 而不一定是替换第一个迭代方向。 这样得到的方向组,其收敛性更好。
09:18:402015-7-9 2 2
修正鲍威尔法对于是否用新的方向来替换原方向组的某一方向 的判别条件为:
f n 1 / 2
k
(2) (1) X0 X2
(2) 1
1 (2) 0 e1 , S2 e2 0 1
两种情况:
09:18:422015-7-9
16 16
2.4.4 鲍威尔法
8)进行终止迭代判定
X
(2) 0
X
(1) 0
2 代入函数 f ( X ) 2 x12 x2 x1 x2,得
g(1 ) 2 2+
1
(1) 2 1
4 2 2+
(1) 1
,
2.4.4 鲍威尔法
解:第一次迭代
求导,令
dg 11 d1
1
0得
(1) 1
(1) 1
= -1.5 即为最优步长
0.5 则X = 2
从
X1(1)
出发,沿
(1) 2
(1) S2
方向进行一维最优搜索
(1) 2 (1) 2
X
X
(1) 1
S
0.5 0.5 (1) 0 + 2 = (1) 2 1 2+ 2
(1) 同理,得最优步长为 2 -1.75
在第 k 轮搜索中,根据下述条件式是否满足分两种情况来处理:
k f0 k 2 f n k f n 1/ 2
k 为第k环的起始点函数值; f 0 k f X 0
(4-43)
k 为第k环的沿基本方向组依次搜索后的终点函数值; f n k f X n k k k k k k k f n 1 f X n 1 为 X 0 对 X n 映射点函数值, X n 1 2 X n X 0
鲍威尔法为啥 这么 难?!!!!
2. 修正鲍威尔法
改进的鲍威尔法放弃了原算法中不加分析地用新形成的方向 S ( k ) 替换上一轮搜索方向组中的第一个方向的作法 。
该算法规定:
在每一轮迭代完成产生共轭方向 ( k ) 后, S 在组成新的方向组时不一律舍去上一轮的第一个方向 S ( k ) , 1 而是先对共轭方向的好坏进行判别, 检验它是否与其他方向线性相关或接近线性相关。
2.4.4 鲍威尔法
解:第一次迭代
(1) 3)从 X 0 出发,先从 S1(1) 方向进行一维最优搜索
(1) X1(1) X 0 1(1) S1(1)
(1) 1 2+ 2 (1) 1 + 1 = 2 0 2
即x1 2+1(1) , x2 2,
2 f ( X ) 2x12 x2 x1 x2 的最优解,并用表格列出
各次的搜索方向。 解:第一次迭代
1)初始点为X 0(1) X (0) , 0.0001 2
2)取搜索方向为2个坐标轴的向量
S
(1) 1
2
1 (1) 0 e1 , S2 e2 0 1
若上述判别条件满足,则进人第k+1轮迭代时,仍采用第k轮迭代的方 向,初始点取 ( k 1) (k )
S1 S1 ( k 1) (k ) S 2 S2 ( k 1) (k ) Sn Sn
09:18:402015-7-9
4
4
修正的鲍威尔法的迭代计算步骤如下:
(1)给定初始点 X(o) 和收敛精度ε >0; (2)取 n 个坐标轴的单位向量 ei ( i =1,2,…,n )为初始搜索方向 Si(k) = ei ,置 k=1 ( k为迭代轮数) ; (k ) (3)从 X 0 出发,依次沿 Si( k ) (i 1, 2, , n)进行 n 次一维搜索, 得到 n 个一维极小点
(mk ) = max{ f ( X i(k1) ) f ( X i( k ) )} (i 1,2, , n)
1 m n (k ) (k ) (k ) Sm Xm 1 X m
(9)计算第k 轮初始点、终点和映射点的函数值
(k ) f0(k ) f ( X 0 ) (k ) fn( k ) f ( X n ) (k ) fn(k1) f ( X n 1 )