内点反射信赖域混合算法的收敛性分析基础题
题目描述
考虑以下非线性规划问题:
\[\min_{x \in \mathbb{R}^n} f(x) \]
\[ \text{s.t.} \quad c_i(x) = 0, \quad i \in \mathcal{E}, \]
\[ \quad \quad c_i(x) \geq 0, \quad i \in \mathcal{I}, \]
其中 \(f: \mathbb{R}^n \to \mathbb{R}\) 和 \(c_i: \mathbb{R}^n \to \mathbb{R}\) 是二阶连续可微函数。假设我们采用内点反射信赖域混合算法求解该问题,该算法在迭代中结合了内点法的障碍函数思想、反射变换以保持严格可行性,以及信赖域框架控制步长的可靠性。你的任务是:详细阐述该混合算法的一次迭代步骤,并分析其收敛性的关键条件,即说明在什么假设下,算法产生的迭代序列的任意聚点都满足一阶必要最优性条件(KKT条件)。
解题过程
-
算法框架理解
内点反射信赖域混合算法是一种处理带不等式约束的内点法变体。核心思想是:- 通过障碍函数(如对数障碍函数)将不等式约束纳入目标,形成一系列无约束子问题。
- 在每一步求解子问题时,使用反射变换(例如,当变量接近边界时将其“反射”回可行域内部)来确保迭代点严格满足不等式约束(即 \(c_i(x) > 0\))。
- 采用信赖域方法控制子问题求解的步长,以保证模型的近似精度和全局收敛性。
-
算法单次迭代步骤分解
设当前迭代点为 \(x_k\),满足严格可行性:\(c_i(x_k) > 0, i \in \mathcal{I}\),当前障碍参数为 \(\mu_k > 0\),信赖域半径为 \(\Delta_k > 0\)。步骤1:构造障碍函数子问题
定义障碍函数:
\[ B(x; \mu_k) = f(x) - \mu_k \sum_{i \in \mathcal{I}} \ln c_i(x). \]
子问题为:
\[ \min_{x} B(x; \mu_k) \quad \text{s.t.} \quad c_i(x) = 0, i \in \mathcal{E}. \]
注意:子问题只保留等式约束,不等式约束已通过障碍项处理。
步骤2:构建二次模型并应用反射变换
在 \(x_k\) 处对障碍函数做二阶近似:
\[ m_k(p) = B(x_k; \mu_k) + \nabla B(x_k; \mu_k)^\top p + \frac{1}{2} p^\top \nabla^2 B(x_k; \mu_k) p. \]
但直接求解 \(m_k(p)\) 在信赖域 \(\|p\| \leq \Delta_k\) 下的极小化可能会使试探点 \(x_k + p\) 违反不等式约束(即 \(c_i(x_k + p) \leq 0\))。为此,引入反射变换:定义反射算子 \(R(x)\),当某个 \(c_i(x)\) 接近零时,将 \(x\) 沿边界法向“推回”可行域内部。在算法中,通常将反射作用融入子问题的约束中,即要求试探点满足 \(c_i(x_k + p) \geq \delta \mu_k\) 对某个小常数 \(\delta > 0\)。这等价于在二次模型中添加一个仿射约束线性化:
\[ c_i(x_k) + \nabla c_i(x_k)^\top p \geq \delta \mu_k, \quad i \in \mathcal{I}. \]
于是,当前步的带反射约束的信赖域子问题为:
\[ \min_{p} m_k(p) \quad \text{s.t.} \quad \|p\| \leq \Delta_k, \quad c_i(x_k) + \nabla c_i(x_k)^\top p \geq \delta \mu_k, \quad i \in \mathcal{I}, \]
同时保持等式约束线性化:\(c_i(x_k) + \nabla c_i(x_k)^\top p = 0, i \in \mathcal{E}\)。
步骤3:求解子问题并计算实际下降
解上述子问题得到试探步 \(p_k\),计算试探点 \(x_k^+ = x_k + p_k\)。
然后计算障碍函数的实际下降量:
\[ \text{ared}_k = B(x_k; \mu_k) - B(x_k^+; \mu_k), \]
和模型预测下降量:
\[ \text{pred}_k = m_k(0) - m_k(p_k). \]
比值 \(r_k = \frac{\text{ared}_k}{\text{pred}_k}\) 用于判断步长接受性和更新信赖域半径:
- 若 \(r_k \geq \eta_1\)(例如 \(\eta_1 = 0.1\)),接受步长:\(x_{k+1} = x_k^+\)。
- 否则拒绝步长:\(x_{k+1} = x_k\),并缩小信赖域半径 \(\Delta_k\)。
步骤4:更新障碍参数和信赖域半径
- 如果步长被接受且当前障碍子问题已充分求解(例如 \(\|\nabla B(x_{k+1}; \mu_k)\|\) 足够小),则减小障碍参数:\(\mu_{k+1} = \sigma \mu_k\),其中 \(0 < \sigma < 1\),并重置 \(\Delta_{k+1}\) 为较大值。
- 否则保持 \(\mu_{k+1} = \mu_k\),并根据比值 \(r_k\) 按标准信赖域规则调整 \(\Delta_{k+1}\)(例如,若 \(r_k\) 小则缩小,若接近1则扩大)。
-
收敛性关键条件分析
要证明算法产生的迭代序列的任意聚点 \(x^*\) 满足 KKT 条件,需要以下假设:假设1(光滑性与可行性):
\(f\) 和 \(c_i\) 二阶连续可微,且可行域内部非空(即存在严格可行点)。假设2(约束规范性):
在极限点 \(x^*\) 处,等式约束梯度 \(\nabla c_i(x^*), i \in \mathcal{E}\) 线性无关,且存在 \(p\) 使得 \(\nabla c_i(x^*)^\top p = 0, i \in \mathcal{E}\) 且 \(\nabla c_i(x^*)^\top p > 0, i \in \mathcal{I}^*\),其中 \(\mathcal{I}^*\) 是在 \(x^*\) 处起作用的不等式约束(即 \(c_i(x^*) = 0\))。这保证了 KKT 系统的非奇异性。假设3(障碍参数趋于零):
算法产生的障碍参数序列满足 \(\mu_k \to 0\),这通过“充分求解子问题后减小 \(\mu\)”的更新规则保证。假设4(反射约束的相容性):
反射约束 \(c_i(x_k) + \nabla c_i(x_k)^\top p \geq \delta \mu_k\) 在每次迭代中都是相容的(即存在可行 \(p\)),这通常由严格可行性和 \(\delta\) 足够小保证。假设5(子问题求解精度):
每次迭代求解的子问题步长 \(p_k\) 至少满足 Cauchy 点条件(即目标下降量不低于梯度方向在信赖域内的最优下降量的一定比例),这是标准信赖域收敛理论的要求。收敛性论证概要:
在以上假设下:- 由于障碍参数趋于零,障碍函数子问题的解逼近原问题的解。
- 反射约束确保迭代点始终严格可行(内点性质),避免了边界不可行导致的数值困难。
- 信赖域机制保证全局收敛性,即当 \(k \to \infty\) 时,\(\|\nabla B(x_k; \mu_k)\| \to 0\) 或收敛到稳定点。
- 结合 \(\mu_k \to 0\) 和约束规范性,可证明任意聚点 \(x^*\) 满足 KKT 条件:存在乘子 \(\lambda_i^*\) 使得
\[ \nabla f(x^*) - \sum_{i \in \mathcal{E} \cup \mathcal{I}} \lambda_i^* \nabla c_i(x^*) = 0, \]
$c_i(x^*) = 0, i \in \mathcal{E}$,
$c_i(x^*) \geq 0, \lambda_i^* \geq 0, \lambda_i^* c_i(x^*) = 0, i \in \mathcal{I}$.
- 关键点总结
- 内点法处理不等式约束,反射变换维持严格内点可行性。
- 信赖域控制步长可靠性,结合障碍参数递减策略,使子问题逼近原问题。
- 收敛性依赖问题的光滑性、约束规范性、障碍参数趋于零以及子问题求解的适当精度。
此分析展示了内点反射信赖域混合算法如何融合三种技术思想,并在一定条件下保证收敛到 KKT 点。