增广拉格朗日法
字数 998 2025-10-30 11:52:44
增广拉格朗日法
-
基本思想与动机
增广拉格朗日法是一种求解约束优化问题的方法,尤其适用于等式约束问题。它的核心思想是通过在标准拉格朗日函数中增加一个惩罚项,将约束问题转化为一系列无约束子问题。这种方法结合了拉格朗日乘子法的收敛性和罚函数法的数值稳定性,能够避免罚函数法中惩罚参数趋于无穷时导致的数值困难。 -
问题形式与函数构造
考虑等式约束问题:
\[\min f(x) \quad \text{s.t.} \quad h_i(x) = 0 \ (i=1,\dots,m). \]
增广拉格朗日函数定义为:
\[L_\rho(x, \lambda) = f(x) + \sum_{i=1}^m \lambda_i h_i(x) + \frac{\rho}{2} \sum_{i=1}^m h_i(x)^2, \]
其中 \(\lambda_i\) 是拉格朗日乘子,\(\rho > 0\) 是惩罚参数。最后一项是惩罚项,用于强化约束满足。
- 方法的迭代过程
算法通过交替更新变量 \(x\) 和乘子 \(\lambda\) 进行:
- 步骤1(优化子问题):固定乘子 \(\lambda^k\),求解无约束问题
\[ x^{k+1} = \arg\min_x L_{\rho^k}(x, \lambda^k). \]
- 步骤2(乘子更新):根据约束违反程度更新乘子:
\[ \lambda_i^{k+1} = \lambda_i^k + \rho^k h_i(x^{k+1}) \quad (i=1,\dots,m). \]
- 步骤3(参数调整):可逐步增大 \(\rho^k\) 以加速收敛,但并非必需,因为乘子更新已能保证约束满足。
- 关键性质与优势
- 收敛性:在较温和条件下(如 \(f\) 凸、约束线性),即使 \(\rho\) 有界,算法也能收敛到精确解,而不像罚函数法需要 \(\rho \to \infty\)。
- 数值稳定性:惩罚项改善了拉格朗日函数的凸性,使子问题更易求解。
- 扩展性:可结合局部优化算法(如梯度法)高效求解子问题。
- 实际应用与变体
增广拉格朗日法广泛用于工程设计、经济建模等问题。其变体包括:
- 乘子交替方向法(ADMM):将变量分块,交替优化以处理大规模问题。
- 针对不等式约束:通过引入松弛变量将不等式转化为等式后应用该方法。