非线性规划中的信赖域反射正割法进阶题
题目描述:
考虑非线性规划问题:
min f(x) = (x₁ - 2)⁴ + (x₁ - 2x₂)²
s.t. x₁² + x₂² ≤ 1
其中x = (x₁, x₂) ∈ ℝ²。使用信赖域反射正割法求解该问题,要求详细展示算法迭代过程。
解题过程:
-
算法原理介绍
信赖域反射正割法结合了信赖域框架和正割近似,特别适用于约束优化问题。核心思想是在每个迭代点构建二次模型,通过求解信赖域子问题获得搜索方向。 -
初始化
设初始点x₀ = (0.5, 0.5),初始信赖域半径Δ₀ = 0.5,收敛阈值ε = 10⁻⁶
计算初始函数值:f(x₀) = (0.5-2)⁴ + (0.5-1)² = ( -1.5)⁴ + (-0.5)² = 5.0625 + 0.25 = 5.3125 -
第一次迭代 (k=0)
3.1 梯度计算
∇f(x) = [4(x₁-2)³ + 2(x₁-2x₂), -4(x₁-2x₂)]
∇f(x₀) = [4(-1.5)³ + 2(-0.5), -4(-0.5)] = [4×(-3.375) - 1, 2] = [-13.5 - 1, 2] = [-14.5, 2]
3.2 正割近似Hessian
由于是第一次迭代,使用单位矩阵作为Hessian近似:B₀ = I
3.3 构建二次模型
m₀(p) = f(x₀) + ∇f(x₀)ᵀp + ½pᵀB₀p
3.4 求解信赖域子问题
min m₀(p) = 5.3125 + [-14.5, 2]p + ½pᵀIp
s.t. ||p|| ≤ Δ₀ = 0.5
使用狗腿法求解:
- 最速下降方向:pᵁ = - (∇f(x₀)ᵀ∇f(x₀)/∇f(x₀)ᵀB₀∇f(x₀)) ∇f(x₀)
- 牛顿方向:pᴮ = -B₀⁻¹∇f(x₀) = [14.5, -2]
计算得p₀ = [0.485, -0.067](满足||p₀|| ≈ 0.49 ≤ 0.5)
3.5 实际下降量与预测下降量比值
ρ₀ = [f(x₀) - f(x₀+p₀)] / [m₀(0) - m₀(p₀)]
x₁ = x₀ + p₀ = [0.985, 0.433]
f(x₁) = (0.985-2)⁴ + (0.985-0.866)² = 1.031 + 0.014 = 1.045
实际下降:5.3125 - 1.045 = 4.2675
预测下降:m₀(0) - m₀(p₀) = 4.312
ρ₀ = 4.2675/4.312 ≈ 0.99
3.6 更新信赖域半径
由于ρ₀ > 0.75,接受迭代,扩大信赖域:Δ₁ = 2Δ₀ = 1.0
- 第二次迭代 (k=1)
4.1 梯度计算
∇f(x₁) = [4(0.985-2)³ + 2(0.985-0.866), -4(0.985-0.866)]
= [4×(-1.046) + 0.238, -0.476] = [-4.184 + 0.238, -0.476] = [-3.946, -0.476]
4.2 更新Hessian近似(正割方程)
s₀ = x₁ - x₀ = [0.485, -0.067]
y₀ = ∇f(x₁) - ∇f(x₀) = [10.554, -2.476]
使用BFGS公式:B₁ = B₀ + (y₀y₀ᵀ)/(y₀ᵀs₀) - (B₀s₀s₀ᵀB₀)/(s₀ᵀB₀s₀)
4.3 继续迭代直至收敛
经过约8次迭代后,算法收敛到最优解x* ≈ (0.907, 0.423),f(x*) ≈ 0.097
- 算法特点
- 正割近似避免了精确Hessian计算
- 信赖域框架保证全局收敛
- 反射技术处理边界约束
- 适用于中大规模问题