1、内容简介
略
75-可以交流、咨询、答疑
matlab FR共轭梯度法求解无约束问题
一维搜索 黄金搜索到单峰,单变量最小值
2、内容说明
略
Fletcher-Reeves共轭梯度法,简称FR法。
共轭梯度法的基本思想是把共轭性与最速下降方法相结合,利用已知点处的梯度构造一组共轭方向,并沿这组方向进行搜素,求出目标函数的极小点。根据共轭方向基本性质,这种方法具有二次终止性。
对于二次凸函数的共轭梯度法:
min f(x) = 1/2 xTAx + bTx + c,
其中x∈ Rn,A是对称正定矩阵,c是常数。
具体求解方法如下:
首先,任意给定一个初始点x(1),计算出目标函数f(x)在这点的梯度,若||g1|| = 0,则停止计算;否则,令
d(1) = -▽f(x(1)) = -g1。
沿方向d(1)搜索,得到点x(2)。计算在x(2)处的梯度,若||g2|| ≠ 0,则利用-g2和d(1)构造第2个搜索方向d(2),在沿d(2)搜索。
一般地,若已知点x(k)和搜索方向d(k),则从x(k)出发,沿d(k)进行搜索,得到
x(k+1) = x(k) + λkd(k) ,
其中步长λk满足
f(x(k) + λkd(k)) = min f(x(k)+λd(k))。
此时可求出λk的显示表达
计算f(x)在x(k+1)处的梯度。若||gk+1|| = 0,则停止计算;否则,用-gk+1和d(k)构造下一个搜索方向d(k+1),并使d(k+1)和d(k)关于A共轭。按此设想,令
d(k+1) = -gk+1 + βkd(k),
上式两端左乘d(k)TA,并令
d(k)TAd(k+1) = -d(k)TAgk+1 + βkd(k)TAd(k) = 0,
由此得到
βk = d(k)TAgk+1 / d(k)TAd(k)。
再从x(k+1)出发,沿方向d(k+1)搜索。
在FR法中,初始搜索方向必须取最速下降方向,这一点决不可忽视。因子βk可以简化为:βk = ||gk+1||2 / ||gk||2。
3、仿真分析
略
4、参考论文
略