非线性规划中的精确罚函数法基础题
题目描述:
考虑非线性规划问题:
minimize f(x) = x₁² + x₂²
subject to g(x) = x₁ + x₂ - 1 = 0
使用精确罚函数法求解该问题,其中罚函数形式为 P(x) = f(x) + μ|g(x)|,μ为罚参数。
解题过程:
-
问题分析
我们有一个简单的二次目标函数和线性等式约束。精确罚函数法的特点是当罚参数μ足够大时,罚函数的最优解就是原约束问题的最优解。 -
构造精确罚函数
精确罚函数为:P(x) = x₁² + x₂² + μ|x₁ + x₂ - 1| -
分区域讨论
由于含有绝对值项,我们需要分两个区域讨论:
区域1:x₁ + x₂ - 1 ≥ 0
此时罚函数为:P₁(x) = x₁² + x₂² + μ(x₁ + x₂ - 1)
区域2:x₁ + x₂ - 1 < 0
此时罚函数为:P₂(x) = x₁² + x₂² - μ(x₁ + x₂ - 1)
- 分别求解两个区域的无约束极小值
在区域1中:
∂P₁/∂x₁ = 2x₁ + μ = 0 ⇒ x₁ = -μ/2
∂P₁/∂x₂ = 2x₂ + μ = 0 ⇒ x₂ = -μ/2
代入约束条件检验:-μ/2 - μ/2 - 1 = -μ - 1 < 0(因为μ>0)
这与区域1的假设x₁+x₂-1≥0矛盾,所以区域1无解。
在区域2中:
∂P₂/∂x₁ = 2x₁ - μ = 0 ⇒ x₁ = μ/2
∂P₂/∂x₂ = 2x₂ - μ = 0 ⇒ x₂ = μ/2
代入约束条件检验:μ/2 + μ/2 - 1 = μ - 1
当μ ≥ 1时,满足区域2假设;当μ < 1时,不满足区域2假设。
-
边界点分析
在边界x₁+x₂-1=0上,我们需要单独考虑。将约束代入目标函数:
x₂ = 1 - x₁
f(x) = x₁² + (1-x₁)² = 2x₁² - 2x₁ + 1
df/dx₁ = 4x₁ - 2 = 0 ⇒ x₁ = 0.5, x₂ = 0.5
此时f(x) = 0.5 -
结果分析
当μ ≥ 1时,罚函数在区域2的极小点为(μ/2, μ/2),函数值为P = μ²/2 - μ(μ-1) = -μ²/2 + μ
当μ → +∞时,该点趋近于边界,但函数值趋近于-∞,这不是我们期望的结果。 -
修正分析
重新检查区域2的极值点:当μ ≥ 1时,点(μ/2, μ/2)不在区域2内(因为μ-1≥0,不满足x₁+x₂-1<0),所以区域2内无驻点。 -
正确解法
由于两个区域内部都无极小值点,极小值必然出现在边界x₁+x₂=1上。用拉格朗日乘子法求解原问题:
L(x,λ) = x₁² + x₂² + λ(x₁+x₂-1)
∂L/∂x₁ = 2x₁ + λ = 0
∂L/∂x₂ = 2x₂ + λ = 0
x₁+x₂ = 1
解得:x₁ = x₂ = 0.5, λ = -1
对于精确罚函数法,当μ > |λ| = 1时,罚函数的最小点就是原问题的最优解(0.5, 0.5)。
- 验证
当μ > 1时,精确罚函数在(0.5, 0.5)处取得最小值0.5,这正是原问题的最优解。