【黄金分割法介绍】黄金分割法是一种经典的优化算法,广泛应用于单变量函数的最优化问题中。它基于黄金分割比例(约为0.618),通过不断缩小搜索区间,逐步逼近最优解。该方法具有计算简单、收敛稳定等优点,尤其适用于连续可导或不可导的单峰函数。
一、黄金分割法简介
黄金分割法(Golden Section Search)是一种用于寻找单变量函数极值的数值方法。其核心思想是利用黄金分割比例将搜索区间不断缩窄,直到达到所需的精度。该方法不需要计算导数,因此适用于无法求导或计算导数复杂的函数。
黄金分割比例为:
$$
\phi = \frac{\sqrt{5} - 1}{2} \approx 0.618
$$
在每次迭代中,算法在当前区间内选取两个对称点,并根据函数值比较来决定保留哪一部分区间,从而逐步缩小范围。
二、黄金分割法步骤总结
步骤 | 内容 | ||
1 | 确定初始搜索区间 [a, b],并设定精度 ε | ||
2 | 计算两个内部点:x₁ = b - φ(b - a),x₂ = a + φ(b - a) | ||
3 | 计算 f(x₁) 和 f(x₂) 的值 | ||
4 | 比较 f(x₁) 与 f(x₂) 的大小,若 f(x₁) < f(x₂),则保留区间 [a, x₂];否则保留 [x₁, b] | ||
5 | 更新区间 [a, b],重复步骤 2-4,直到 | b - a | < ε |
6 | 取最终区间的中点作为近似最优解 |
三、黄金分割法特点
特点 | 描述 |
不需要导数 | 适用于不可导函数 |
收敛稳定 | 每次迭代都减少区间长度 |
简单易实现 | 计算量小,适合编程实现 |
仅适用于单变量 | 不适用于多变量优化问题 |
四、适用场景
黄金分割法常用于以下情况:
- 单变量函数的最小值或最大值求解
- 函数不可导或导数难以计算
- 对计算效率要求不高但需要稳定结果的场合
五、优缺点对比
优点 | 缺点 |
不依赖导数 | 收敛速度较慢 |
稳定性好 | 仅适用于单变量 |
实现简单 | 需要合理选择初始区间 |
六、示例说明
假设我们要求函数 $ f(x) = x^2 - 4x + 5 $ 在区间 [0, 4] 上的最小值。
1. 初始区间 [0, 4
2. 计算 x₁ = 4 - 0.618×(4 - 0) = 1.528,x₂ = 0 + 0.618×(4 - 0) = 2.472
3. 计算 f(1.528) ≈ 1.91,f(2.472) ≈ 2.01
4. 因为 f(x₁) < f(x₂),所以保留 [0, 2.472
5. 重复上述步骤,直到区间足够小
最终得到的近似最小值为 x ≈ 2,此时 f(x) = 1。
七、结语
黄金分割法作为一种传统的优化方法,在工程、经济、数学等领域有着广泛的应用。虽然其收敛速度不如梯度下降等方法,但在无需导数的情况下,仍是一个可靠的选择。对于实际应用者来说,理解其原理和适用条件是非常重要的。