非线性规划中的多目标优化加权和法进阶题
题目描述
考虑一个双目标非线性规划问题:
最小化 f₁(x) = (x₁ - 2)² + (x₂ - 1)²
最小化 f₂(x) = (x₁ - 1)² + (x₂ - 3)²
受约束于:
g₁(x) = x₁ + x₂ - 2 ≤ 0
g₂(x) = x₁² - x₂ ≤ 0
x₁, x₂ ∈ ℝ
使用加权和法将该多目标问题转化为单目标问题,并分析权重变化对Pareto前沿的影响。
解题过程
第一步:理解多目标优化问题
- 我们有两个相互冲突的目标函数f₁和f₂
- f₁在点(2,1)处取得最小值0,f₂在点(1,3)处取得最小值0
- 由于约束条件的存在,这两个理想点可能不可行
- 我们需要找到Pareto最优解集,即无法在不损害另一个目标的情况下改进任何一个目标的解
第二步:加权和法转化
-
引入权重w ∈ [0,1],将多目标问题转化为单目标问题:
minimize F(x) = w·f₁(x) + (1-w)·f₂(x)
subject to: g₁(x) ≤ 0, g₂(x) ≤ 0 -
展开目标函数:
F(x) = w[(x₁-2)² + (x₂-1)²] + (1-w)[(x₁-1)² + (x₂-3)²]
= w(x₁² - 4x₁ + 4 + x₂² - 2x₂ + 1) + (1-w)(x₁² - 2x₁ + 1 + x₂² - 6x₂ + 9)
= x₁² + x₂² - [4w + 2(1-w)]x₁ - [2w + 6(1-w)]x₂ + [5w + 10(1-w)]
第三步:求解转化后的单目标问题
-
对于给定的w,这是一个带约束的二次规划问题
-
首先分析无约束情况下的最优解:
∂F/∂x₁ = 2x₁ - [4w + 2(1-w)] = 0 ⇒ x₁ = 2w + (1-w) = 1 + w
∂F/∂x₂ = 2x₂ - [2w + 6(1-w)] = 0 ⇒ x₂ = w + 3(1-w) = 3 - 2w -
无约束最优解为:x*(w) = (1+w, 3-2w)
第四步:约束处理与可行性分析
-
检查无约束解是否满足约束:
g₁(x*) = (1+w) + (3-2w) - 2 = 2 - w ≤ 0? 仅当w ≥ 2时不成立,但w ∈ [0,1],所以g₁(x*) = 2-w ≥ 1 > 0,总不满足
g₂(x*) = (1+w)² - (3-2w) = 1 + 2w + w² - 3 + 2w = w² + 4w - 2 -
由于g₁(x*) > 0对所有w ∈ [0,1]成立,无约束解不可行,最优解必在约束边界上
第五步:在约束边界上求解
-
考虑约束g₁(x) = 0(直线边界):
x₂ = 2 - x₁
代入目标函数F(x)得到单变量函数,求导找极值点 -
考虑约束g₂(x) = 0(抛物线边界):
x₂ = x₁²
同样代入目标函数求极值 -
实际求解时需要在两条约束边界上分别寻找最优解,然后比较目标函数值
第六步:权重变化对Pareto前沿的影响
- 当w = 1:完全偏好f₁,解会靠近f₁的最优点(2,1),但受约束限制
- 当w = 0:完全偏好f₂,解会靠近f₂的最优点(1,3),但受约束限制
- 当w从0连续变化到1,得到一系列Pareto最优解,构成Pareto前沿
- 加权和法只能找到凸部分的Pareto前沿,如果Pareto前沿非凸,某些解无法通过该方法获得
第七步:具体数值验证
通过数值方法(如序列二次规划)对不同w值求解,可以绘制出Pareto前沿,展示两个目标函数之间的权衡关系。