开启辅助访问
 找回密码
 立即注册

Karush-Kuhn-Tucker (KKT)条件

polly0228 回答数20 浏览数6797
专栏文章汇总

文章结构如下:
1: 等式约束优化问题
2: 不等式约束优化问题
3: 一台例子
<hr/>
注:本文来自台湾周志成老师《线性代数》及其博客
Karush-Kuhn-Tucker (KKT)条件是非线性规划(nonlinear programming)最佳解的必要条件。KKT条件将Lagrange乘数法(Lagrange multipliers)所处理涉及等式的约束优化问题推广至不等式。在实际应用上,KKT条件(方程组)一般不存在代数解,许多优化算法可供数值计算选用。这篇短文从Lagrange乘数法推导KKT条件并举一台简单的例子说明解法。
<hr/>1: 等式约束优化问题

给定一台目标函数 ,我们希望找到 ,在满足约束条件  的前提下,使得  有最小值。这个约束优化问题记为


为省事分析,假设  与 是连续可导函数。Lagrange乘数法是等式约束优化问题的典型解法。定义Lagrangian函数


其中  称为Lagrange乘数。Lagrange乘数法将原本的约束优化问题转换成等价的无约束优化问题


计算 对  与  的偏导数并设为零,可得最优解的必要条件:


其中第一式为定常方程式(stationary equation),第二式为约束条件。解开上面 个方程式可得  的stationary point  以及  的值(正负数皆可能)。
<hr/>2: 不等式约束优化问题

接下来我们将约束等式  推广为不等式  。考虑这个问题


约束不等式  称为原始可行性(primal feasibility),据此我们定义可行域(feasible region) 。假设  为满足约束条件的最佳解,分开两种情况讨论:
(1) ,最佳解位于  的内部,称为内部解(interior solution),这时约束条件是无效的(inactive);
(2) ,最佳解落在  的边界,称为边界解(boundary solution),此时约束条件是有效的(active)。
这两种情况的最佳解具有不同的必要条件。
(1)内部解:在约束条件无效的情形下, 不起作用,约束优化问题退化为无约束优化问题,因此驻点  满足
(2)边界解:在约束条件有效的情形下,约束不等式变成等式  ,这与前述Lagrange乘数法的情况相同。我们可以证明驻点  发生于 ,换句话说,存在  使得 ,但这里  的正负号是有其意义的。因为我们希望最小化  ,梯度 (函数  在点  的最陡上升方向)应该指向可行域  的内部(因为你的最优解最小值是在边界取得的),但 指向  的外部(即 的区域,因为你的约束是小于等于0),因此 ,称为对偶可行性(dual feasibility)
因此,不论是内部解或边界解, 恒成立,称为互补松弛性(complementary slackness)。整合上述两种情况,最佳解的必要条件包括Lagrangian函数  的定常方程式、原始可行性、对偶可行性,以及互补松弛性:


这些条件合称为Karush-Kuhn-Tucker (KKT)条件。如果我们要最大化  且受限于  ,那么对偶可行性要改成
上面结果可推广至多个约束等式与约束不等式的情况。考虑标准约束优化问题(或称非线性规划):


定义Lagrangian 函数


其中 是对应 的Lagrange乘数, $是对应 的Lagrange乘数(或称KKT乘数)。KKT条件包括


注:感谢评论区 追梦的lin 提出,在使用KKT条件时需要满足Regularity conditions (or constraint qualifications),维基在第三部分有了介绍:Karush-Kuhn-Tucker conditions 。比较常见的是Linearity constraint qualification (LCQ),即约束条件是仿射函数。
<hr/>3: 一台例子

考虑这个问题


其中 为实数。写出Lagrangigan函数


KKT 方程组如下:


求偏导可得 ,分别解出 。代入约束等式 。合并上面结果,


最后再加入约束不等式 。底下分开三种情况讨论。
(1) :不难验证 满足所有的KKT条件,约束不等式是无效的,  是内部解,目标函数的极小值是
(2) :如同1, 满足所有的KKT条件,  是边界解,因为  。
(3) :这时约束不等式是有效的, ,则 且  ,目标函数的极小值是
<hr/>4: 参考文献

周志成:《线性代数》,国立交通大学出版社
Karush-Kuhn-Tucker (KKT) 條件
使用道具 举报
| 来自北京
ihaveonlybelief | 来自北京
加油,不过有一些表述不是很习惯,比如 束缚不等式->约束不等式;互补驰与狐步松弛性
回复
使用道具 举报
渔舟 | 来自上海
诶呀尴尬了,评论的那会儿刚起床脑子不清醒 是互补松弛性……
回复
使用道具 举报
快乐卡卡 | 未知
Byod的凸优化对于kkt和互补松弛条件都有详细介绍
回复
使用道具 举报
amiwho | 来自北京
讲的不错
回复
使用道具 举报
yanhui7577 | 来自广东
没看懂……看不懂……
回复
使用道具 举报
33333OPQ | 来自吉林
谢谢,已修改
回复
使用道具 举报
取个名可真难 | 来自北京
哪里看不懂?可以写的在详细点
回复
使用道具 举报
culittlewhite | 来自北京
啊啊啊啊不是您写的不够详细!是我知识方面的不足!感谢作者大大的回复!!
回复
使用道具 举报
tongcdq | 来自上海
加油,我也是在学习ing
回复
使用道具 举报
123下一页
快速回复
您需要登录后才可以回帖 登录 | 立即注册

当贝投影