非线性规划中的改进内点法基础题
题目描述
考虑以下非线性规划问题:
\[\min f(x) = x_1^2 + 2x_2^2 - 2x_1x_2 - 2x_1 - 6x_2 \]
\[\text{s.t. } x_1 + x_2 \leq 2, \]
\[-x_1 + 2x_2 \leq 2, \]
\[x_1, x_2 \geq 0. \]
要求使用改进内点法(结合自适应障碍参数和预测-校正步骤)求解该问题,确保在约束边界附近稳定收敛。
解题步骤
1. 问题转换:引入障碍函数
内点法通过障碍函数将约束问题转化为无约束问题。对不等式约束 \(g_j(x) \leq 0\)(需转换为标准形式),定义对数障碍函数:
\[\Phi(x) = f(x) - \mu \sum_{j=1}^m \ln(-g_j(x)), \]
其中 \(\mu > 0\) 是障碍参数。将原约束改写为:
\[g_1(x) = x_1 + x_2 - 2 \leq 0, \]
\[g_2(x) = -x_1 + 2x_2 - 2 \leq 0, \]
\[g_3(x) = -x_1 \leq 0, \quad g_4(x) = -x_2 \leq 0. \]
障碍函数形式为:
\[\Phi(x, \mu) = x_1^2 + 2x_2^2 - 2x_1x_2 - 2x_1 - 6x_2 - \mu \sum_{j=1}^4 \ln(-g_j(x)). \]
2. 改进内点法的核心思想
传统内点法固定 \(\mu\) 求解无约束问题后减小 \(\mu\),但改进方法通过以下增强稳定性:
- 自适应调整 \(\mu\):根据当前点的可行性对偶间隙调整 \(\mu\),避免边界振荡。
- 预测-校正步骤:用牛顿方向预测最优解,再用校正步骤修正约束违反。
3. 计算梯度与海森矩阵
对 \(\Phi(x, \mu)\) 求梯度:
\[\nabla \Phi = \begin{bmatrix} 2x_1 - 2x_2 - 2 - \mu \left( \frac{1}{g_1} - \frac{1}{g_2} - \frac{1}{g_3} \right) \\ 4x_2 - 2x_1 - 6 - \mu \left( \frac{1}{g_1} + \frac{2}{g_2} - \frac{1}{g_4} \right) \end{bmatrix}, \]
其中 \(g_j = g_j(x)\)。海森矩阵为:
\[H(x, \mu) = \nabla^2 \Phi = \begin{bmatrix} 2 + \mu \left( \frac{1}{g_1^2} + \frac{1}{g_2^2} + \frac{1}{g_3^2} \right) & -2 \\ -2 & 4 + \mu \left( \frac{1}{g_1^2} + \frac{4}{g_2^2} + \frac{1}{g_4^2} \right) \end{bmatrix}. \]
4. 自适应障碍参数更新
定义对偶间隙 \(\delta = -\sum g_j(x) \lambda_j\)(其中 \(\lambda_j = \mu / (-g_j(x))\) 是拉格朗日乘子估计),更新规则:
\[\mu_{k+1} = \min\left(0.1 \mu_k, \ \mu_k \cdot \frac{\delta_k}{m}\right), \]
初始 \(\mu_0 = 1\),\(m=4\) 为约束数。若 \(\delta_k\) 小则大幅减小 \(\mu\),加速收敛。
5. 预测-校正牛顿步骤
预测步:求解牛顿方向 \(d_k\):
\[H(x_k, \mu_k) d_k = -\nabla \Phi(x_k, \mu_k). \]
校正步:为避免边界冲突,调整步长 \(\alpha_k\) 满足 \(g_j(x_k + \alpha_k d_k) < 0\),并修正梯度方向:
\[x_{k+1} = x_k + \alpha_k d_k + \beta_k c_k, \]
其中 \(c_k\) 是约束违反的修正向量(如向可行域中心投影),\(\beta_k\) 是自适应参数。
6. 迭代过程示例
取初始点 \(x_0 = (0.5, 0.5)\)(严格可行):
- 迭代1:计算 \(\nabla \Phi \approx [-3.33, -5.33]^T\),解牛顿方向 \(d_0\),步长 \(\alpha_0=0.8\) 确保可行性,更新 \(x_1 = (0.86, 0.94)\)。
- 迭代2-4:重复预测-校正,\(\mu\) 从 1 减至 0.01,\(x\) 趋近最优解 \(x^* \approx (1.33, 0.67)\)(通过 KKT 条件验证)。
7. 收敛性分析
改进内点法通过自适应 \(\mu\) 和校正步骤,在边界附近保持数值稳定性,最终收敛到满足 KKT 条件的解。对本题,最优解在 \(x_1 + x_2 = 2\) 的边界上,且目标函数值 \(f^* \approx -7.56\)。
总结
改进内点法通过动态障碍参数和预测-校正机制,平衡收敛速度与稳定性,特别适用于中等规模非线性规划。关键点是合理调整 \(\mu\) 和处理边界约束。