非线性规划中的逐步二次响应面方法(Sequential Quadratic Response Surface Method)进阶题
题目描述:
考虑一个非线性约束优化问题:
最小化 f(x) = (x₁ - 2)⁴ + (x₁ - 2x₂)²
满足约束条件:
g₁(x) = x₁² - x₂ ≤ 0
g₂(x) = x₁² + x₂² - 8 ≤ 0
其中 x = (x₁, x₂) ∈ ℝ²。
要求使用逐步二次响应面方法(SQRSM)求解该问题,初始点设为 x⁽⁰⁾ = (0, 0),初始信赖域半径 Δ₀ = 1.0,收敛容差 ε = 10⁻⁴。
解题过程:
第一步:理解方法原理
逐步二次响应面方法是一种序列近似优化算法,其核心思想是:
- 在当前迭代点构造目标函数和约束函数的二次响应面(近似模型)
- 在信赖域内求解基于二次近似的子问题
- 根据实际函数改进与近似模型预测改进的比值来调整信赖域半径
- 重复直到收敛
第二步:构造初始响应面模型
在初始点 x⁽⁰⁾ = (0, 0) 处,我们需要计算函数值和梯度:
f(0,0) = (0-2)⁴ + (0-0)² = 16
∇f(x) = [4(x₁-2)³ + 2(x₁-2x₂), -4(x₁-2x₂)]
∇f(0,0) = [4(-2)³ + 2(0), -4(0)] = [-32, 0]
g₁(0,0) = 0 - 0 = 0,∇g₁(0,0) = [2x₁, -1] = [0, -1]
g₂(0,0) = 0 + 0 - 8 = -8,∇g₂(0,0) = [2x₁, 2x₂] = [0, 0]
由于我们只有梯度信息,初始Hessian矩阵可用单位矩阵或BFGS初始化,这里采用单位矩阵 B⁽⁰⁾ = I。
第三步:求解第一个子问题
在 x⁽⁰⁾ 处,二次近似子问题为:
最小化 m(d) = f(x⁽⁰⁾) + ∇f(x⁽⁰⁾)ᵀd + ½dᵀB⁽⁰⁾d
满足:
g₁(x⁽⁰⁾) + ∇g₁(x⁽⁰⁾)ᵀd ≤ 0
g₂(x⁽⁰⁾) + ∇g₂(x⁽⁰⁾)ᵀd ≤ 0
‖d‖ ≤ Δ₀ = 1.0
代入数值:
最小化 m(d) = 16 + [-32, 0]ᵀ[d₁, d₂] + ½[d₁, d₂]ᵀI[d₁, d₂]
= 16 - 32d₁ + ½(d₁² + d₂²)
约束:
0 + [0, -1]ᵀ[d₁, d₂] ≤ 0 → -d₂ ≤ 0 → d₂ ≥ 0
-8 + [0, 0]ᵀ[d₁, d₂] ≤ 0 → -8 ≤ 0(始终成立)
d₁² + d₂² ≤ 1
求解这个二次规划得:d⁽⁰⁾ ≈ [0.94, 0.34](满足 d₂ ≥ 0 且 ‖d‖ ≈ 1)
第四步:评估实际改进并更新
新点 x⁽¹⁾ = x⁽⁰⁾ + d⁽⁰⁾ = [0.94, 0.34]
实际函数值 f(x⁽¹⁾) = (0.94-2)⁴ + (0.94-2×0.34)² ≈ 1.08 + 0.07 = 1.15
预测改进 Δm = m(0) - m(d⁽⁰⁾) = 16 - m(d⁽⁰⁾)
m(d⁽⁰⁾) = 16 - 32×0.94 + ½(0.94²+0.34²) ≈ 16 - 30.08 + 0.49 = -13.59
Δm = 16 - (-13.59) = 29.59
实际改进 Δf = f(x⁽⁰⁾) - f(x⁽¹⁾) = 16 - 1.15 = 14.85
比值 ρ = Δf/Δm = 14.85/29.59 ≈ 0.50
由于 ρ > 0.25,接受该步,但比值不大,保持信赖域半径 Δ₁ = Δ₀ = 1.0
第五步:更新响应面模型
使用BFGS公式更新Hessian近似 B⁽¹⁾:
s = x⁽¹⁾ - x⁽⁰⁾ = [0.94, 0.34]
y = ∇f(x⁽¹⁾) - ∇f(x⁽⁰⁾)
∇f(x⁽¹⁾) = [4(0.94-2)³ + 2(0.94-0.68), -4(0.94-0.68)] ≈ [-7.24, -1.04]
y = [-7.24, -1.04] - [-32, 0] = [24.76, -1.04]
BFGS更新:B⁽¹⁾ = B⁽⁰⁾ + (yyᵀ)/(yᵀs) - (B⁽⁰⁾ssᵀB⁽⁰⁾)/(sᵀB⁽⁰⁾s)
第六步:迭代直至收敛
重复上述过程:
- 在当前点构造二次响应面模型
- 在信赖域内求解子问题
- 计算实际改进与预测改进的比值 ρ
- 根据 ρ 调整信赖域半径和决定是否接受该步
- 更新Hessian近似
经过多次迭代,算法会收敛到近似最优解 x* ≈ (1.65, 1.29),f(x*) ≈ 0.05,满足约束条件。
第七步:收敛判断
当连续两次迭代的函数值变化 |f(x⁽ᵏ⁺¹⁾) - f(x⁽ᵏ⁾)| < ε = 10⁻⁴,且约束违反度足够小时,算法终止。
逐步二次响应面方法通过序列二次近似有效地处理了非线性约束,结合信赖域机制保证了全局收敛性。