好的,我们将讲解一个在优化理论和博弈论中都非常基础且重要的概念。
最优性条件(续)—— 约束优化问题的二阶最优性条件
在之前的“最优性条件”词条中,我们重点讨论了一阶必要条件,例如KKT条件。一阶条件能帮助识别可能是最优解的“候选点”,但也可能将一些只是局部极值而非真正局部最小点的点包含进来(例如鞍点或局部最大点)。为了更准确地区分,我们需要引入二阶最优性条件。
第一步:回顾与动机——为什么需要二阶条件?
假设你在一维山坡上寻找最低点。KKT条件(在一元函数中即一阶导数为零)能帮你找到所有“平坦”的点,包括:
- 山谷底部(局部最小点)
- 山峰顶部(局部最大点)
- 平坦的拐点(如函数 \(f(x) = x^3\) 在 \(x=0\) 处)
显然,我们需要额外的信息来排除山峰和拐点。在微积分中,我们引入二阶导数测试:
- 如果 \(f''(x^*) > 0\),则 \(x^*\) 是局部最小点。
- 如果 \(f''(x^*) < 0\),则 \(x^*\) 是局部最大点。
- 如果 \(f''(x^*) = 0\),则无法确定。
约束优化问题的二阶最优性条件,正是这个思想在多维空间、且带有约束情况下的推广。它通过分析目标函数在可行点处的曲率,特别是沿着可行方向的曲率,来为局部最优性提供更充分的判别依据。
第二步:核心概念与定义
考虑标准的非线性规划问题:
\[\min f(x) \quad \text{s.t.} \quad g_i(x) \le 0, \ i=1,\dots,m, \quad h_j(x) = 0, \ j=1,\dots,p \]
其中 \(f, g_i, h_j: R^n \rightarrow R\) 是二阶连续可微的函数。
-
积极集(Active Set): 在可行点 \(x^*\) 处,定义积极不等式约束集合为 \(A(x^*) = \{i \mid g_i(x^*) = 0\}\)。这些是在 \(x^*\) 处“触碰到边界”的约束。
-
线性化零空间(Tangent Space of Linearized Constraints): 这是二阶条件分析的核心空间。考虑所有在 \(x^*\) 处满足一阶近似约束的微小移动方向 \(d \in R^n\)。
- 对于积极的不等式约束 \(g_i\),在 \(x^*\) 处的线性化要求移动方向 \(d\) 不会立即违反它,即 \(d\) 与梯度 \(\nabla g_i(x^*)\) 的内积不大于零。但为了局部最小性,我们通常关心的是那些沿着约束边界“切向”移动的方向,即积极约束的“临界锥”方向。
- 更精确的可行方向集定义如下:
\[ T(x^*) = \{ d \in R^n \mid \nabla g_i(x^*)^T d = 0, \ \forall i \in A(x^*) \text{ 且 } g_i \text{ 是线性的}; \ \nabla g_i(x^*)^T d \le 0, \ \forall i \in A(x^*) \text{ 且 } g_i \text{ 是非线性的}; \ \nabla h_j(x^*)^T d = 0, \ \forall j \} \]
这个集合 \(T(x^*)\) 称为线性化可行方向锥。当约束规格(如MFCQ)满足时,它很好地逼近了真实可行方向集合。
第三步:二阶必要条件
假设 \(x^*\) 是一个局部极小点,且满足某个约束规格(如MFCQ),则存在拉格朗日乘子 \(\lambda^*, \mu^*\) 使得KKT条件成立。那么,二阶必要条件表述为:
在由拉格朗日函数 \(L(x, \lambda, \mu) = f(x) + \sum \lambda_i g_i(x) + \sum \mu_j h_j(x)\) 定义的拉格朗日乘子下,对于所有满足以下严格互补方向的方向 \(d \in T(x^*)\):
- 对于所有积极不等式约束 \(i \in A(x^*)\),有 \(\lambda_i^* > 0 \Rightarrow \nabla g_i(x^*)^T d = 0\),
必有
\[d^T \nabla_{xx}^2 L(x^*, \lambda^*, \mu^*) d \ge 0. \]
其中 \(\nabla_{xx}^2 L\) 是拉格朗日函数关于变量 \(x\) 的海森矩阵。
通俗解释: 在局部最优点 \(x^*\),沿着任何在“线性化层面”可行的方向 \(d\) 移动,拉格朗日函数的曲率(由二阶导数海森矩阵衡量)必须是“向上弯曲”的(非负的)。这确保了目标函数 \(f\) 在任何微小可行扰动下,其值不会比 \(f(x^*)\) 更低,这与局部最优的定义相符。
第四步:二阶充分条件
二阶充分条件更强,它告诉我们如果一个点满足某些条件,那么它一定是一个严格的局部极小点。
假设在可行点 \(x^*\) 处存在乘子 \(\lambda^*, \mu^*\) 满足KKT条件,并且乘子满足严格互补松弛条件(即对所有积极不等式约束 \(i \in A(x^*)\),有 \(\lambda_i^* > 0\))。
定义临界锥 \(C(x^*)\):
\[C(x^*) = \{ d \in T(x^*) \mid \nabla g_i(x^*)^T d = 0, \ \forall i \in A(x^*) \text{ 且 } \lambda_i^* > 0 \} \]
注意,\(C(x^*)\) 是 \(T(x^*)\) 的一个子集,它只包含那些与具有正乘子的积极约束“严格相切”的方向。
二阶充分条件为: 对于所有非零方向 \(d \in C(x^*)\),都有
\[d^T \nabla_{xx}^2 L(x^*, \lambda^*, \mu^*) d > 0. \]
通俗解释: 在点 \(x^*\),KKT条件成立,且拉格朗日函数在所有“临界”的可行方向 \(d\) 上都具有“严格向上”的曲率(正定)。这意味着,从 \(x^*\) 出发,沿着任何一个可行的微小方向移动,目标函数值 \(f\) 都会严格增大,从而保证了 \(x^*\) 是一个严格的局部极小点。
第五步:总结与应用
- 关系: 二阶必要条件是局部极小点的必由之路,不满足它的一定不是局部极小点。二阶充分条件是局部极小点的充分保证,满足它的一定是严格的局部极小点。
- 与一阶条件的关系: 二阶条件是建立在一阶条件(KKT)成立的基础上的,是更精细的判别工具。
- 计算与应用:
- 首先,用算法(如SQP、内点法)找到一个满足KKT条件的候选点 \(x^*\) 及对应的乘子。
- 然后,计算在该点的拉格朗日函数海森矩阵 \(\nabla_{xx}^2 L(x^*, \lambda^*, \mu^*)\)。
- 识别出临界锥 \(C(x^*)\)。
- 检查海森矩阵在 \(C(x^*)\) 上是否正定(例如,可以通过将海森矩阵投影到 \(C(x^*)\) 的基向量张成的子空间上,然后检查投影后的矩阵是否正定)。如果正定,则根据二阶充分条件,可以确信找到了一个局部最优解。
- 局限性: 验证二阶条件,特别是临界锥上的曲率正定性,在计算上可能具有挑战性,尤其对于大规模问题。但在理论分析和某些算法的收敛性证明中,二阶条件至关重要。
通过结合一阶KKT条件和二阶曲率条件,我们为识别和验证非线性规划问题的局部最优解提供了一个完备的理论框架。