最优性条件
-
基本概念引入
最优性条件是数学规划中用于判断一个解是否是最优解的一组必要条件或充分条件。在求解最优化问题时,我们不仅需要找到满足约束的点,还需要确认该点是否为目标函数的极值点(如最小值或最大值)。最优性条件为这种判断提供了理论依据。 -
无约束问题的一阶必要条件
对于无约束优化问题 \(\min f(x)\),若 \(x^*\) 是局部最优解且 \(f\) 在 \(x^*\) 处可微,则必须满足 一阶必要条件:梯度为零,即
\[ \nabla f(x^*) = 0. \]
这一条件的直观解释是:在极值点处,函数沿任何方向的变化率均为零。但梯度为零的点(驻点)可能是极小值、极大值或鞍点,需进一步判断。
-
无约束问题的二阶充分条件
若 \(f\) 在 \(x^*\) 处二阶可微,且满足 \(\nabla f(x^*) = 0\) 且 Hessian 矩阵 \(\nabla^2 f(x^*)\) 正定,则 \(x^*\) 是严格局部极小点。若 Hessian 矩阵负定,则为严格局部极大点。若 Hessian 不定,则 \(x^*\) 可能是鞍点。 -
约束问题的 KKT 条件
对于带等式和不等式约束的问题:
\[ \min f(x) \quad \text{s.t.} \quad g_i(x) \leq 0, \quad h_j(x) = 0, \]
最优解需满足 Karush-Kuhn-Tucker(KKT)条件,包括:
- 平稳性:\(\nabla f(x^*) + \sum \lambda_i \nabla g_i(x^*) + \sum \mu_j \nabla h_j(x^*) = 0\);
- 原始可行性:\(g_i(x^*) \leq 0, \quad h_j(x^*) = 0\);
- 对偶可行性:\(\lambda_i \geq 0\);
- 互补松弛条件:\(\lambda_i g_i(x^*) = 0\)。
KKT 条件是一阶必要条件,在约束规范(如线性无关约束规范)下成立。
-
凸问题中的充分性
若原问题是凸优化问题(即 \(f\) 凸,\(g_i\) 凸,\(h_j\) 线性),则 KKT 条件不仅是局部最优的必要条件,还是全局最优的充分条件。此时,满足 KKT 条件的点一定是全局极小点。 -
高阶条件与非光滑扩展
对于非光滑问题(如目标函数不可微),最优性条件需推广到次梯度条件(如 \(\mathbf{0} \in \partial f(x^*)\))。此外,二阶条件在约束问题中涉及 Lagrange 函数的 Hessian 矩阵在可行方向上的正定性,用于排除鞍点。