自在学

我们与你共同进步

  • 分类课程
  • 文章
  • 工作台
  • 订阅

  • 关于我们
  • 隐私政策
  • 使用条款

探索

  • 分类课程
  • 文章
  • 工作台
  • 订阅

网站信息

  • 关于我们
  • 隐私政策
  • 使用条款

加入社区

自在学学习社区微信二维码

微信扫码,交流学习

株洲市自在学教育科技有限公司© 2025 - 2026 版权所有

© 2025 - 2026 株洲市自在学教育科技有限公司 版权所有

湘公网安备43020302000292号|湘ICP备2025148919号-1
分类课程工作台文章订阅
分类课程工作台文章价格

优化与运筹基础:从模型到最优决策

  1. 01从问题到优化模型
  2. 02凸性:为什么局部信息能指向全局
  3. 03线性规划的几何与单纯形思想
  4. 04对偶与资源价值
  5. 05整数优化与离散决策
  6. 06网络优化:路径、流与割
  7. 07无约束数值优化:梯度与 Newton
  8. 08KKT 与约束最优性
  9. 09梯度算法的工程化使用
  10. 10综合决策与模型审计
正在加载课程章节内容
课程数学优化与运筹基础:从模型到最优决策KKT 与约束最优性

KKT 与约束最优性

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

约束边界上的最优点与可行方向锥

四个条件

考虑最小化问题

min⁡f(x)s.t. gi(x)≤0, hj(x)=0.\min f(x)\quad\text{s.t. }g_i(x)\le0,\ h_j(x)=0.minf(x)s.t. gi​(x)≤0, hj​(x)=0.

若 x∗x^*x∗ 与乘子 λi,νj\lambda_i,\nu_jλi​,νj​ 满足:

  1. 原可行:gi(x∗)≤0,hj(x∗)=0g_i(x^*)\le0,h_j(x^*)=0gi​(x∗)≤0,hj​(x∗)=0;
  2. 对偶可行:λi≥0\lambda_i\ge0λi​≥0;
  3. stationarity:∇f(x∗)+∑iλi∇gi(x∗)+∑jνj∇hj(x∗)=0\nabla f(x^*)+\sum_i\lambda_i\nabla g_i(x^*)+\sum_j\nu_j\nabla h_j(x^*)=0∇f(x∗)+∑i​λi​∇gi​(x∗)+∑j​νj​∇hj​(x∗)=0;
  4. 互补松弛:λigi(x∗)=0\lambda_i g_i(x^*)=0λi​gi​(x∗)=0;

它们合起来就是 KKT。等式乘子不受正负限制,因为等式两侧都能限制移动;不等式乘子必须非负,方向来自“只能从可行侧接近边界”。

KKT 四条件检查面板

active set 说的是哪几面墙在接触

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

active 与 inactive 约束在可行域边界上的对照

例题:最简单的边界最优

求 min⁡(x−3)2\min (x-3)^2min(x−3)2 s.t. x≤1x\le1x≤1。写成 g(x)=x−1≤0g(x)=x-1\le0g(x)=x−1≤0。候选最优点应在边界 x∗=1x^*=1x∗=1,因为无约束最小点 3 不可行。stationarity 为

2(x∗−3)+λ=0⇒−4+λ=0,2(x^*-3)+\lambda=0\Rightarrow -4+\lambda=0,2(x∗−3)+λ=0⇒−4+λ=0,

所以 λ=4≥0\lambda=4\ge0λ=4≥0;原可行、互补 4(1−1)=04(1-1)=04(1−1)=0 也成立。这个乘子把“目标还想向右走”和“约束把右侧挡住”平衡起来。

一维约束最优:目标梯度被 active 约束乘子抵消

为什么凸问题中的 KKT 足够证明全局最优

假设 fff 和每个 gig_igi​ 凸,hjh_jhj​ 仿射,且 KKT 成立。对任意可行 yyy,凸性给出

f(y)≥f(x∗)+∇f(x∗)T(y−x∗).f(y)\ge f(x^*)+\nabla f(x^*)^T(y-x^*).f(y)≥f(x∗)+∇f(x∗)T(y−x∗).

用 stationarity 替换梯度:

∇f(x∗)T(y−x∗)=−∑iλi∇gi(x∗)T(y−x∗)−sumjνj∇hj(x∗)T(y−x∗).\nabla f(x^*)^T(y-x^*) =-\sum_i\lambda_i\nabla g_i(x^*)^T(y-x^*)-sum_j\nu_j\nabla h_j(x^*)^T(y-x^*).∇f(x∗)T(y−x∗)=−i∑​λi​∇gi​(x∗)T(y−x∗)−sumj​νj​∇hj​(x∗)T(y−x∗).

凸约束的一阶不等式给 ∇gi(x∗)T(y−x∗)≤gi(y)−gi(x∗)≤−gi(x∗)\nabla g_i(x^*)^T(y-x^*)\le g_i(y)-g_i(x^*)\le -g_i(x^*)∇gi​(x∗)T(y−x∗)≤gi​(y)−gi​(x∗)≤−gi​(x∗);乘以 λi≥0\lambda_i\ge0λi​≥0 后,互补松弛使右侧为零。仿射等式项也为零,于是 f(y)≥f(x∗)f(y)\ge f(x^*)f(y)≥f(x∗)。因此 x∗x^*x∗ 是全局最优。

凸 KKT 证明确认任意可行点都不低于候选点

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

Slater 严格可行点与边界 active 点的关系

练习

  1. 对 min⁡x2\min x^2minx2 s.t. x≥2x\ge2x≥2,写成 g(x)=2−x≤0g(x)=2-x\le0g(x)=2−x≤0 并求 KKT 乘子。

最优点为 x∗=2x^*=2x∗=2。stationarity 为 2x−λ=02x-\lambda=02x−λ=0,所以 λ=4≥0\lambda=4\ge0λ=4≥0;约束 active,互补成立。凸性保证这是全局最优。

  1. 一个约束严格满足 gi(x∗)<0g_i(x^*)<0gi​(x∗)<0。由互补松弛能推出什么?

因为 λigi(x∗)=0\lambda_i g_i(x^*)=0λi​gi​(x∗)=0 且 gi(x∗)≠0g_i(x^*)\ne0gi​(x∗)=0,必有 λi=0\lambda_i=0λi​=0。该约束在一阶平衡中没有边际作用。

  1. KKT 满足但问题非凸时,能否直接断言全局最优?

不能。KKT 通常只提供局部必要条件;若目标和可行结构满足凸性,KKT 才能通过上面的支撑不等式证明全局充分性。

1
KKT 条件中哪些属于原可行性?
上一章无约束数值优化:梯度与 Newton下一章梯度算法的工程化使用