FR 共轭梯度法

使用 Fletcher–Reeves 共轭梯度法与 Armijo 线搜索求解二维优化问题
目标函数 f(x, y)
算法参数
Armijo 线搜索
查看 FR 共轭梯度法与 Armijo 准则的实现说明

FR 共轭梯度法(Fletcher–Reeves)
记 \(g_k = \nabla f(x^k)\),算法步骤为:
1. 给定初始点 \(x^0\),取搜索方向 \(d^0 = -g_0\)。
2. 用线搜索得到步长 \(t_k\),更新 \( x^{k+1} = x^k + t_k d^k. \)
3.  若 \(\lVert g_{k+1}\rVert < \varepsilon,\) 终止。
4. 按 FR 公式计算 \[ \beta_k = \frac{\lVert g_{k+1}\rVert^2}{\lVert g_k\rVert^2}, \] 并更新搜索方向 \[ d^{k+1} = -g_{k+1} + \beta_k d^k. \] 5. 每隔若干步将 \(d^{k+1}\) 重置为 \(-g_{k+1}\).

Armijo 回溯线搜索
对当前点 \(x^k\) 与方向 \(d^k\),定义 \(\phi(t) = f(x^k + t d^k).\) 取常数 \(\beta \in (0,1)\)、\(\sigma \in (0,\tfrac12)\),从初始步长 \(t_0\) 开始,反复令 \(t \leftarrow \beta t,\) 直到第一次满足 \[ \phi(t) \le \phi(0) + \sigma t\, \phi'(0), \] 此时得到 Armijo 步长 \(t_k\)。

迭代路径可视化
🟢 起点 | 🔴 终点 | 红色折线为迭代路径 | 鼠标拖拽平移,滚轮缩放
迭代详情表
点击"运行优化算法"开始计算
📊 已访问