文档介绍:共轭梯度法实验报告
篇一:共轭梯度法
大连民族学院
数学实验报告
课程: 最优化方法实验题目: 无约束最优化方法共轭梯度法系别: 理学院专业: 信息与计算科学姓名:班级: 信息101班指导教师完成学期:XX 年10月 13 日
1
2
3
4
5
篇二:运筹学实验报告(F-R共轭梯度法、Wolfe简约梯度法)
一、实验目的:
1、掌握求解无约束最优化问题的 F-R共轭梯度法,以及约束最优化问题 Wolfe简约梯度法。
2、学会用MATLAB编程求解问题,并对以上方法的计算过程和结果进行分析。
二、实验原理与(本文来自: 草范文网:共轭梯度法实验报告)步骤:1、F-R共轭梯度法
基本步骤是在点X 处选取搜索方向d, 使其与前一次
(k)
(k)
的搜索方向d
(k?1)
关于A共轭,即
d(k?1)?d(k),Ad(k?1)??0
(k)(k)(k?1)
然后从点X 出发,沿方向d求得f(X)的极小值点X ,
即
f(X(k?1))?minf(X(k)??d)
??0
(k)
如此下去, 得到序列{X}。不难求得?d
(k)
,Ad(k?1)??0的解为
(k)
X
(k?1)
?X
(k)
?b?AX(k),d(k)?(k)?d(k?1)(k?1)
?d,Ad?
(k)
d注意到的选取不唯一,我们可取
d(k)???f(X(k))??k?1d(k?1)
(k)(k?1)
由共轭的定义?d,Ad??0可得:
?r(k),Ad(k?1)?
?k?1??
?d(k?1),Ad(k?1)?
共轭梯度法的计算过程如下:
第一步:取初始向量X, 计算
?d(0)?r(0)???f(X(0))?b?AX(0)?
?r(0),Ad(0)??
??0??(0)(0)
?d,Ad??
?X(1)?X(0)??d(0)
0?
(0)
第k?1步:计算
?r(k)???f(X(k))?b?AX(k)
?(k)(k?1)
??????r,Ad
?k?1?d(k?1),Ad(k?1)???
?d(k)?r(k)??k?1d(k?1)?(k)(k)
?r,Ad???k??
??d(k),Ad(k)??(k?1)(k)(k)X?X??d?0?
2、Wolfe简约梯度法
Wolfe基本计算步骤:
第一步:取初始可行点x0∈Xl ,给定终止误差ε>0 ,令k:=0;
k
第二步:设IB是xk的m个最大分量的下标集,对矩阵A进行相应
分解 A=(Bk ,Nk);
第三步:计算?f x =
k
?Bf xk
?f xk N
,然后计算简约梯度
?1k
rN=?(BkNk)T?Bf xk +?Nf xk ;
第四步:构造可行下降方向 pk. 若||pk||≤ε,停止迭代,输
出xk。否则进行第五步。
第五步:进行有效一维搜索,求解min
f xk+tpk ,得到最优
解tk. 令xk+1=xk+ tkpk , k:=k+1, 转入第二步。
三、实验内容:
1、(运筹学P