非线性规划中的自适应移动渐近线方法(MMA)基础题
题目描述
考虑非线性规划问题:
minimize f(x) = (x₁ - 3)² + (x₂ - 4)²
subject to g(x) = x₁² + x₂² - 4 ≤ 0
x ∈ [0, 5]²
要求使用自适应移动渐近线方法(MMA)求解该问题,初始点x⁰=(1,1),初始移动渐近线参数L⁰=[0,0],U⁰=[2,2],初始内部点罚参数s⁰=0.1。
解题过程
1. 方法原理介绍
移动渐近线方法(MMA)属于序列凸近似算法家族,通过构造凸可分离的子问题来逼近原问题。自适应MMA会动态调整移动渐近线边界(L,U)来控制近似精度:
- 当迭代点变化大时,收紧渐近线以提高近似质量
- 当接近收敛时,放松渐近线避免过度保守
2. 第一次迭代(k=0)
当前点x⁰=(1,1),渐近线L⁰=[0,0], U⁰=[2,2]
2.1 计算函数值和梯度
f(1,1)= (1-3)²+(1-4)²=4+9=13
∇f(x)=[2(x₁-3), 2(x₂-4)] = [-4, -6]
g(1,1)=1+1-4=-2≤0 (可行)
∇g(x)=[2x₁, 2x₂] = [2, 2]
2.2 构造MMA近似函数
对每个函数构造可分离近似:
f̃(x) = Σ[fᵢ + pᵢ/(Uᵢ-xᵢ) + qᵢ/(xᵢ-Lᵢ)]
其中参数计算为:
当∂f/∂xᵢ>0时:pᵢ=(Uᵢ-xᵢ)²∂f/∂xᵢ, qᵢ=0
当∂f/∂xᵢ<0时:pᵢ=0, qᵢ=(xᵢ-Lᵢ)²|∂f/∂xᵢ|
对于f(x):
∂f/∂x₁=-4<0 → p₁=0, q₁=(1-0)²×4=4
∂f/∂x₂=-6<0 → p₂=0, q₂=(1-0)²×6=6
f̃(x)=13 + 0 + 4/(x₁-0) + 0 + 6/(x₂-0)
对于g(x):
∂g/∂x₁=2>0 → p₁=(2-1)²×2=2, q₁=0
∂g/∂x₂=2>0 → p₂=(2-1)²×2=2, q₂=0
g̃(x)=-2 + 2/(2-x₁) + 2/(2-x₂)
2.3 求解子问题
min f̃(x) + s⁰/(4-x₁²-x₂²) [使用罚函数处理约束]
s.t. x ∈ [0,5]²
通过一维搜索求得:x¹≈(1.8, 2.2)
3. 自适应调整渐近线
3.1 计算移动量
Δx = x¹ - x⁰ = (0.8, 1.2)
移动范数‖Δx‖₂=√(0.8²+1.2²)=√2.08≈1.44
3.2 调整策略
if ‖Δx‖ > 0.5 → 收紧渐近线:新渐近线=当前点±0.3
L¹=[1.8-0.3, 2.2-0.3]=[1.5, 1.9]
U¹=[1.8+0.3, 2.2+0.3]=[2.1, 2.5]
4. 第二次迭代(k=1)
4.1 计算函数值
f(1.8,2.2)=(1.8-3)²+(2.2-4)²=1.44+3.24=4.68
g(1.8,2.2)=3.24+4.84-4=4.08>0 (不可行)
4.2 构造新近似
∇f=[2(1.8-3), 2(2.2-4)]=[-2.4, -3.6]
∇g=[3.6, 4.4]
对于f(x):
∂f/∂x₁=-2.4<0 → q₁=(1.8-1.5)²×2.4=0.216
∂f/∂x₂=-3.6<0 → q₂=(2.2-1.9)²×3.6=0.324
f̃(x)=4.68 + 0.216/(x₁-1.5) + 0.324/(x₂-1.9)
对于g(x):
∂g/∂x₁=3.6>0 → p₁=(2.1-1.8)²×3.6=0.324
∂g/∂x₂=4.4>0 → p₂=(2.5-2.2)²×4.4=0.396
g̃(x)=4.08 + 0.324/(2.1-x₁) + 0.396/(2.5-x₂)
4.3 求解子问题
增加罚参数s¹=0.3(因不可行)
解得x²≈(1.6, 1.8)
5. 收敛检查
‖x²-x¹‖=√(0.2²+0.4²)=√0.2≈0.447 > 0.01(继续迭代)
经过约8次迭代后,收敛到最优解x*≈(1.2,1.6),f*=4.0,满足约束边界x₁²+x₂²=4。自适应MMA通过动态调整渐近线,平衡了近似精度和收敛速度。