KKT 与约束最优性
无约束时,下降方向可以朝任意方向走;有约束时,一部分方向被墙挡住。最优点不必让完整梯度为零,但它不能在任何可行的微小方向上继续下降。KKT 条件把这句话拆成四个可检查的部分。

四个条件
考虑最小化问题
minf(x)s.t. gi(x)≤0, hj(x)=0.
若 x∗ 与乘子 λi,νj 满足:
- 原可行:gi(x∗)≤0,hj(x∗;
它们合起来就是 KKT。等式乘子不受正负限制,因为等式两侧都能限制移动;不等式乘子必须非负,方向来自“只能从可行侧接近边界”。

active set 说的是哪几面墙在接触
若 gi(x∗)=0,约束 active;若严格小于零,约束 inactive。互补松弛说明 inactive 约束的乘子为零。active 约束才可能在 stationarity 中抵消目标梯度,但“可能”不等于“每个 active 都有正乘子”。退化时 active 集合和正乘子集合不必一一对应。

例题:最简单的边界最优
求 min(x−3)2 s.t. x≤1。写成 g(x)=x−1。候选最优点应在边界 ,因为无约束最小点 3 不可行。stationarity 为
2(x∗−3)+λ=0⇒−4+λ=0,
所以 λ=4≥0;原可行、互补 4(1−1)=0 也成立。这个乘子把“目标还想向右走”和“约束把右侧挡住”平衡起来。

为什么凸问题中的 KKT 足够证明全局最优
假设 f 和每个 gi 凸,hj 仿射,且 KKT 成立。对任意可行 y,凸性给出
f(y)≥f(x∗)+∇f(x∗)T(
用 stationarity 替换梯度:
∇f(x∗)T(y−x
凸约束的一阶不等式给 ∇gi(x∗)T(y−x;乘以 后,互补松弛使右侧为零。仿射等式项也为零,于是 。因此 是全局最优。

必要性则需要约束资格,例如 active 约束梯度与等式梯度线性无关;凸问题中常用 Slater 条件:存在一个点严格满足所有不等式、同时满足等式。条件失败时,局部最优仍可能存在,但不一定找得到 KKT 乘子。

练习
- 对 minx2 s.t. x≥2,写成 g(x)=2−x≤0 并求 KKT 乘子。
最优点为 x∗=2。stationarity 为 2x−λ=0,所以 λ=4≥0;约束 active,互补成立。凸性保证这是全局最优。
- 一个约束严格满足 gi(x∗)<0。由互补松弛能推出什么?
因为 λigi(x∗)=0 且 g,必有 。该约束在一阶平衡中没有边际作用。
- KKT 满足但问题非凸时,能否直接断言全局最优?
不能。KKT 通常只提供局部必要条件;若目标和可行结构满足凸性,KKT 才能通过上面的支撑不等式证明全局充分性。