最优化共轭梯度法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2) 设已求得点 x(k? 1) ,若? f ( x(k? 1) ) ? 0 ,令 gk? 1 ? ? f ( x(k? 1) ) , 则下一个搜索方向 d(k? 1)按如下方式确定 :
令 d(k?1) ? ? gk?1 ? ? k d(k)
(1)
如何确定 ? k?
要求 d (k? 1) 和 d (k) 关于 A共轭。
x2
x (0)
d(1)
x
d (2)
x (1)
o
x1
即等值面上一点处的切 向量与由这一点指向极 小点的向量关于 A 共轭。
定理 2. 设有函数 f ( x) ? 1 xT Ax ? bT x ? c ,
2 其中 A是 n阶对称正定矩阵。d(1) , d(2) ,? , d(k) 是 一组A共轭向量。
是以 x 为中心的椭球面。
由于 ? f ( x) ? A( x ? x) ? 0 ,
而 ? 2 f ( x ) ? A,
因为A 正定,所以? 2 f ( x ) ? A ? 0 ,
x
因此 x 是 f ( x) 的极小点。
设 x(0) 是在某个等值面上的一 点, d(1) 是 Rn中的一个方向, x(0)沿着 d (1) 以最优步长搜索得到点 x(1) 。
k
?
? idi
?
0,
i?1
上式两边同时左乘 d jT A,则有
k
?
? i d jT Adi
?
0,
i?1
因为 d1 , d 2 ,? , d k 是 k 个 A共轭的向量,所以上式 可化简为
? j d jT Ad j ? 0 .
因为 d j ? 0 , 而 A是正定矩阵,所以 d jT Ad j ? 0,
以任意的 x(1) ? Rn为初始点,依次沿 d(1) , d (2) ,? , d(k) 进行搜索,
得到点 x(2) , x(3) ,? , x(k? 1) ,则 x (k? 1) 是函数 f ( x)在 x(1) ? Bk 上的
极小点,其中
Bk
? { x|x ?
k
?
?id(i),?i ?
R}
i?1
共轭梯度法
1. 共轭方向和共轭方向法
定义 设 A 是 n ? n 的对称正定矩阵,对于 Rn中的两个非零向量 d1 和 d 2,
若有 d1T Ad2 ? 0 ,则称 d1和d 2关于A共轭。 设 d1 , d2 ,? , dk 是 Rn 中一组非零向量,如果 它们两两关于 A 共轭,即 d iT Ad j ? 0 , i ? j , i , j ? 1, 2 ,? , k。 则称这组方向是关于 A共轭的,也称它们是一 组A共轭方向。
其中 x ? Rn , A是对称正定矩阵,b? Rn,c 是常数。
基本思想:将共轭性和最速下降方 向相结合,利用已知迭 代点 处的梯度方向构造一组 共轭方向,并沿此方向 进行搜索,求出 函数的极小点。
以下分析算法的具体步骤。
(1) 任取初始点 x(1),第一个搜索方向取为 d (1) ? ?? f ( x (1) ) ;
即求解
min f ( x(k) ? ? d (k) ) 。
?
记 ? (? ) ? f ( x(k) ? ?d(k) ) ,
令 ? ?(? ) ? ? f ( x(k) ? ? d(k) )T d(k) ? 0,
即有 [ A( x (k) ? ? d (k) ) ? b]T d (k) ? 0,
令 gk ? ? f ( x(k) ) ? Ax(k) ? b,则有
则 d (1)是点 x (1)所在等值面的切向量。
该等值面在点 x(1) 处的法向量为 ? f ( x(1) ) ? A( x(1) ? x).
则 d(1) 与 ? f ( x(1) ) 正交,
即 d (1)T ? f ( x(1) ) ? 0, 令 d(2) ? x ? x(1) , 所以 d(1)T Ad(2) ? 0,
?
min
?
f
( x(k)
?
?
d(k) )
直到某个 x(k) 满足 ? f ( x(k) ) ? 0。
注 由定理 2可知,利用共轭方向法 求解上述极小化问题, 至多经过
n 次迭代必可得到最优解 。
如何选取一组共轭方向?
2. 共轭梯度法
Fletcher ? R eeves 共轭梯度法 :
min f ( x) ? 1 xT Ax ? bT x ? c 2
所以
? j ? 0, j ? 1, 2 ,? , k。
因此 d1 , d 2 ,? , d k 线性无关。
几何意义
设有二次函数 f ( x) ? 1 ( x ? x)T A( x ? x) 2
其中 A 是 n ? n 对称正定矩阵, x 是一个定点。
则函数 f ( x) 的等值面 1 ( x ? x)T A( x ? x) ? c 2
注: 如果 A 是单位矩阵,则
d1T ?I ?d2 ? 0 ? d1T ?d 2 ? 0 ? d1 ? d2
共轭是正交的推广。
定理 1. 设 A是 n阶对称正定矩阵,d1 , d 2 ,? , d k 是 k 个 A共轭的非零
证明
向量,则这个向量组线 性无关。
设存在实数 ? 1 ,? 2 ,? ,? k ,使得
其中 A是正定矩阵,称下述算 法为共轭方向法 :
(1) 取定一组 A共轭方向 d(1) , d(2) ,? , d(n) ;
(2) 任取初始点 x(1) , 依次按照下式由 x(k)确定点 x(k? 1) ,
??
x(k?1) ? x(k) ? ? k d(k)
? ??
f
( x(k)
?
?k
d(k) )
则在(1)式两边同时左乘 d(k)T A,得
0 ? d (k)T Ad(k? 1) ? ? d ( k)T Agk? 1 ? ? kd ( k)T Ad ( k)
解得
?k
?
d(k)T A gk? 1 d(k)T Ad(k)
(2)
(3) 搜索步长的确定 :
Baidu Nhomakorabea
已知迭代点 x(k)和搜索方向 d(k) ,利用一维搜索确定最优 步长 ? k ,
是由 d (1) , d(2) ,? , d (k) 生成的子空间。特别地 ,当 k ? n时,x(n? 1)是
f ( x )在 R n上的唯一极小点。
推论 在上述定理条件下,必 有
? f ( x(k?1) )T d(i) ? 0 , i ? 1,2 ,? , k。
共轭方向法
对于极小化问题 min f ( x) ? 1 xT Ax ? bT x ? c , 2