共轭梯度法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

d
(1 ) T
Ad (1)
所以 x ( 2) x (1) 1 d (1) 5 2 8 T ( 2 , 2 )T ( 8 , 4 )T ( , ) 18 9 9 第 2次迭代: 8 16 g 2 ( , )T . 9 9 8 2 16 2 ( ) ( ) 2 || g2 || 9 9 4 . 1 81 || g1 || 2 82 42 d ( 2 ) g 2 1 d (1 )
证明
设存在实数 1 , 2 ,, k ,使得
i 1
id 0,
T
k
i
上式两边同时左乘 d j A ,则有
i 1 k
id
k
jT
Ad i 0 ,
因为 d 1 , d 2 ,, d 是 k 个 A 共轭的向量,所以上式可化简为
jd
j
jT
Ad j 0 .
jT
因为d 0 , 而 A是正定矩阵,所以 d
T
T
T
Ad
(k )
( 2)
(3) 搜索步长的确定 :
已知迭代点 x ( k )和搜索方向d ( k ) , 利用一维搜索确定最优步长 k ,
即求解
记 令 即有
min

f ( x ( k ) d ( k ) ) 。
( ) f ( x ( k ) d ( k ) ) ,
( ) f ( x ( k ) d ( k ) )T d ( k ) 0,
共轭梯度法
1. 共轭方向和共轭方向法
Rn中的两个非零向量d 1 和 d 2, 定义 设 A 是 n n 的对称正定矩阵,对于
若有 d 1 Ad 2 0 ,则称 d 1和d 2关于A共轭。
T
设 d 1 , d 2 ,, d k 是 Rn 中一组非零向量,如果 它们两两关于A
共轭,即 d i Ad j 0 , i j , i , j 1 , 2 ,, k 。
2

gi

|| gi 1 || 2 || g i ||
( 4)
总结
FR算法步骤:
1. 任取初始点 x (1) , 精度要求 ,令 k 1。
2. 令g1 f ( x (1) ) , 若 || g1 || , 停止, x (1)为所求极小点; 否则,令d (1) g1 , 利用公式(3)计算1 , 令x ( 2) x (1) 1 d (1)。 3. 令g k 1 f ( x ( k 1) ) , 若 || g k 1 || , 停止, x ( k 1)为所求极小点; 否则,令d ( k 1) g k 1 k d ( k ) , 其中 k 用公式(4)计算。
要求 d ( k 1) 和 d ( k ) 关于 A共轭。
则在( 1)式两边同时左乘 d ( k ) A ,得
T
0 d ( k ) Ad ( k 1) d ( k ) Agk 1 k d ( k ) A d ( k )
解得 k d ( k ) A g k 1 d
( k )T T
由于 f ( x ) A( x x ) 0 , 而
2 f ( x ) A,
因为A 正定,所以 2 f ( x ) A 0 ,
x
因此 x 是 f ( x ) 的极小点。
设 x ( 0 ) 是在某个等值面上的一点, d (1) 是 R n中的一个方向, x ( 0 )沿着 d (1) 以最优步长搜索得到点 x (1) 。 则 d (ຫໍສະໝຸດ )是点 x (1)所在等值面的切向量。
( 2 )T
x ( 3) x ( 2) 2 d ( 2)
(
2 8 T 9 40 , ) ( 1 , 4 )T 9 9 20 81
( 0 , 0 )T
g 3 ( 0 , 0 )T
x ( 3 )即为所求极小点。
3. 用于一般函数的共轭梯度法
min s.t . f ( x) x Rn
直到某个 x ( k ) 满足 f ( x ( k ) ) 0。
注 由定理2可知,利用共轭方向法 求解上述极小化问题, 至多经过
n 次迭代必可得到最优解 。
如何选取一组共轭方向?
2. 共轭梯度法
Fletcher R eeves 共轭梯度法:
min 1 T f ( x ) x Ax bT x c 2
以任意的 x (1) R n为初始点,依次沿 d (1) , d ( 2 ) ,, d ( k ) 进行搜索,
得到点 x ( 2) , x ( 3) ,, x ( k 1) , 则 x ( k 1) 是函数 f ( x )在 x (1) Bk 上的
极小点,其中
是由 d
(1)
Bk { x | x i d ( i ) , i R }
8 16 T 4 ( , ) ( 8 , 4 )T 9 9 81 40 ( 1 , 4 )T 81
2
T ( 2) g2 d
Ad ( 2 ) 40 8 16 1 ( , ) 81 9 9 4 9 20 4 0 1 40 2 ( ) (1, 4 ) 4 81 0 2 d
,d
( 2)
k
, , d
(k )
生成的子空间。特别地, 当 k n时, x ( n 1 )是
i 1
f ( x )在R n上的唯一极小点。
推论
在上述定理条件下,必有
f ( x ( k 1) )T d ( i ) 0 , i 1 , 2 , , k 。
共轭方向法
对于极小化问题 1 min f ( x ) x T Ax bT x c , 2 其中A是正定矩阵,称下述算 法为共轭方向法 :
(1) 取定一组 A 共轭方向d (1) , d ( 2 ) ,, d ( n ) ; ( 2) 任取初始点 x (1) , 依次按照下式由 x ( k )确定点 x ( k 1) ,
( k 1) (k ) (k ) x x d k f ( x ( k ) d ( k ) ) min f ( x ( k ) d ( k ) ) k
4 0 A . 0 2
f ( x ) ( 4 x1 , 2 x 2 )T .
第 1 次迭代:


d (1) g1 ( 8 , 4 )T ,
1
T (1 ) g1 d
8 (8,4) 4 5 4 0 8 18 ( 8, 4) 0 2 4
[ A ( x ( k ) d ( k ) ) b ]T d ( k ) 0,

g k f ( x ( k ) ) Ax ( k ) b,则有 [ g k Ad ( k ) ]T d ( k ) 0,
解得 k
T (k ) gk d
d
( k )T
Ad ( k )
o
d (1)T Ad ( 2) 0,
即等值面上一点处的切 向量与由这一点指向极小点的向量关于A 共轭。
定理 2. 设有函数
1 T x Ax bT x c , 2 其中 A 是 n 阶对称正定矩阵。 d (1) , d ( 2 ) ,, d ( k ) 是 一组A共轭向量。 f ( x)
对用于正定二次函数的共轭梯度法进行修改:
(1) 第一个搜索方向仍取最速下降方向,即d (1) f ( x (1) ) 。
其它搜索方向按下式计算:
d ( i 1) f ( x ( i 1) ) i d ( i ) ,
其中 i
|| f ( x ( i 1) ) || 2 || f ( x
(1 )
(4) 由定理3 , FR算法中 i的计算公式可以简化。
i
d ( i ) A g i 1 d
( i )T (i )
T
Ad d Ad ( i ) g i 1T A[ ( x ( i 1) x ( i ) ) / i ] d
( i )T

g i 1T A d ( i )
( 3)
1 T 定理 3 对于正定二次函数 f ( x ) x Ax bT x c , FR算法在 m n次 2 一维搜索后即终止,并 且对所有的( i 1 i m),下列关系成立
(1) d
( i )T
Ad ( j ) 0 , j 1 , 2 ,, i 1;
(2) gi T g j 0 , j 1 , 2 ,, i 1;
( 2) 设已求得点 x ( k 1) , 若f ( x ( k 1) ) 0 , 令 g k 1 f ( x ( k 1) ) ,
则下一个搜索方向 d ( k 1)按如下方式确定:
令 d ( k 1) g k 1 k d ( k )
(1)
如何确定 k?
该等值面在点x(1) 处的法向量为
f ( x (1) ) A( x (1) x ) . 则 d (1) 与 f ( x (1) ) 正交,
x2
x ( 0)
d (1)
x
即 d (1)T f ( x(1) ) 0, 令 d ( 2) x x(1) ,
所以
d
( 2)
x (1 ) x1
注 (1)由定理3 可知搜索方向d
( 3) g iT d ( i ) g iT g i 。
, d ( 2 ) ,, d ( m ) 是 A 共轭的。 (2) 算法中第一个搜索方向 必须取负梯度方向,否 则构造的搜索 方向不能保证共轭性。 T (i ) T 2 (3) 由定理3的(3)可知,g i d g i g i || g i || 0 , 所以 d ( i )是迭代点 x ( i ) 处的下降方向。
T
则称这组方向是关于 A共轭的,也称它们是一 组A共轭方向。
注: 如果A是单位矩阵,则
d
1T
I d 0d
2
1T
d2 0
d1 d 2
共轭是正交的推广。
d 1 , d 2 ,, d k 是 k 个 A 共轭的非零 定理 1. 设 A是 n阶对称正定矩阵,
向量,则这个向量组线性无关。
令 k : k 1。
4. 利用公式(3)计算 k ,令 x ( k 1) x ( k ) k d ( k ) , 转3。
例 用FR算法求解下述问题:
min
2 2 f ( x ) 2 x1 x2
初始点取为 x (1) ( 2 , 2 )T 。
解:
4 0 x1 1 f ( x ) ( x1 , x 2 ) , 2 0 2 x 2
(i )
) ||
所以
因此 d 1 , d 2 ,, d k 线性无关。
Ad j 0,
j 0 , j 1 , 2 , , k 。
几何意义
设有二次函数
1 f ( x ) ( x x )T A( x x ) 2 其中 A 是 n n 对称正定矩阵,x 是一个定点。 1 ( x x )T A( x x ) c 则函数 f ( x ) 的等值面 2 是以 x 为中心的椭球面。
其中 x R n , A是对称正定矩阵, b R n, c 是常数。
基本思想: 将共轭性和最速下降方 向相结合,利用已知迭 代点
处的梯度方向构造一组共轭方向,并沿此方向进行搜索,求出
函数的极小点。
算法的具体步骤:
(1) 任取初始点 x (1),第一个搜索方向取为 d (1) f ( x (1) ) ;
( i )T
A [ ( x ( i 1) x ( i ) ) / i ]
|| g i 1 || 2 d
( i )T
g i f ( x ( i ) ) A x ( i ) b .
i
g i 1T ( g i 1 g i ) d
( i )T
( g i 1 g i )
相关文档
最新文档